1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/changelogs/fragments
Matthias Fuchs 7871027c9d Share the implementation of hashing for both vars_prompt and password_hash (#21215)
* Share the implementation of hashing for both vars_prompt and password_hash.
* vars_prompt with encrypt does not require passlib for the algorithms
  supported by crypt.
* Additional checks ensure that there is always a result.
  This works around issues in the crypt.crypt python function that returns
  None for algorithms it does not know.
  Some modules (like user module) interprets None as no password at all,
  which is misleading.
* The password_hash filter supports all parameters of passlib.
  This allows users to provide a rounds parameter, fixing #15326.
* password_hash is not restricted to the subset provided by crypt.crypt,
  fixing one half of #17266.
* Updated documentation fixes other half of #17266.
* password_hash does not hard-code the salt-length, which fixes bcrypt
  in connection with passlib.
  bcrypt requires a salt with length 22, which fixes #25347
* Salts are only generated by ansible when using crypt.crypt.
  Otherwise passlib generates them.
* Avoids deprecated functionality of passlib with newer library versions.
* When no rounds are specified for sha256/sha256_crypt and sha512/sha512_crypt
  always uses the default values used by crypt, i.e. 5000 rounds.
  Before when installed passlibs' defaults were used.
  passlib changes its defaults with newer library versions, leading to non
  idempotent behavior.

  NOTE: This will lead to the recalculation of existing hashes generated
        with passlib and without a rounds parameter.
        Yet henceforth the hashes will remain the same.
        No matter the installed passlib version.
        Making these hashes idempotent.

Fixes #15326
Fixes #17266
Fixes #25347 except bcrypt still uses 2a, instead of the suggested 2b.

* random_salt is solely handled by encrypt.py.
  There is no _random_salt function there anymore.
  Also the test moved to test_encrypt.py.
* Uses pytest.skip when passlib is not available, instead of a silent return.
* More checks are executed when passlib is not available.

* Moves tests that require passlib into their own test-function.

* Uses the six library to reraise the exception.

* Fixes integration test.

When no rounds are provided the defaults of crypt are used.
In that case the rounds are not part of the resulting MCF output.
2018-08-27 08:40:41 -07:00
..
32738-native-jinja-types.yaml Add changelog for Jinja2 native types (#44309) 2018-08-17 16:27:16 +02:00
42042-inventory_with_no_region.yaml fixes #42042 (#42939) 2018-07-27 10:02:34 -04:00
42170-acme-backend-selection.yaml ACME: use Cryptography (if a new enough version is available) instead of OpenSSL (#42170) 2018-08-12 19:12:01 +02:00
42647-win_updates.yaml return wu result from inner job (#42647) 2018-07-11 18:01:42 -07:00
42669-add_ssl_zabbix_inventory.yaml Zabbix inventory improvement (#42669) 2018-07-14 09:10:16 -04:00
43024-nclu-empty-net-commands.yaml NCLU Module: Improve performance by not operating on empty lines (#43024) 2018-07-20 11:38:29 -04:00
43931-strip-trailing-comments.yml Strip trailing comments from /etc/default/passwd (#43931) 2018-08-15 15:04:45 -04:00
44500-win_domain_computer.yaml Module win_domain_computer fix delete computer with child (#44500) 2018-08-27 15:54:16 +10:00
44508-win_lineinfile.yaml Switch to LiteralPath instead of Path. Closes #44508 (#44509) 2018-08-27 16:18:45 +10:00
44552-mail-py370-compat.yml Fix mail module for python 3.7.0 (#44550) (#44552) 2018-08-23 16:50:54 +10:00
add_file_lock_feature.yaml Simple file locking feature (#42024) 2018-07-10 14:13:27 -07:00
add_random_mac_filtter.yaml Add random_mac string filter (#39775) 2018-06-21 15:56:54 -05:00
admin-users-default-change.yaml Make admin_users only contain root and toor because admin is used for non-privileged accounts 2018-06-05 17:01:40 -07:00
alternative_facts.yml fix alt linux detection for new versions (#43723) 2018-08-10 15:16:33 -04:00
ansiballz_one_interpreter.yml AnsiballZ improvements 2018-07-26 20:07:25 -07:00
ansiballz_streamline_imports.yaml Remove an unnecessary import from the ansiballz wrapper (#41747) 2018-06-21 12:04:55 +10:00
any_unparsed_is_failed.yaml Introduce inventory.any_unparsed_is_failed configuration setting (#41171) 2018-06-06 09:28:58 +05:30
authorized_key_symlinks.yaml authorized_key 29891 use os.path.realpath to follow keyfile symlinks (#40417) 2018-08-13 16:06:33 -07:00
avoid_cwd_vars.yml avoid loading vars on unspecified basedir (cwd) (#42067) 2018-06-29 16:45:38 -07:00
aws_caller_facts_add_account_alias.yaml added account_alias in the response of module aws_caller_facts (#42345) 2018-08-22 17:21:12 -04:00
aws_core_is_boto3_error_code.yml Add AWS boto3 error code exception function is_boto3_error_code (#41202) 2018-06-12 12:15:16 -04:00
aws_rds_inventory_plugin_added.yaml RDS inventory plugin (#41919) 2018-08-23 19:42:32 -04:00
aws_s3_async_fix.yaml Fix async for aws_s3 - fixes #40281 (#40826) 2018-06-07 15:09:22 -04:00
aws_s3_decryption_fix.yaml aws_s3: don't decrypt file before uploading - fixes #39287 (#39634) 2018-06-06 16:16:16 -04:00
aws_s3_fix_custom_endpoints.yaml [aws] Remove walrus conditional in aws_s3 module when using custom s3_url (#36832) 2018-06-07 15:07:52 -04:00
basic_booleans_backward_compat.yaml Restore BOOLEANS import in basic.py (#42008) 2018-07-02 10:27:16 -04:00
batch_mode_elasticsearch_plugin.yaml Add the possiblity to force a plugin installation (#41688) 2018-06-27 12:36:51 -04:00
callback_plugin_merge.yml Merge various stdout callback plugins into 'default' (#41058) 2018-06-24 23:00:07 -05:00
clarify_error_message.yml better error messasge (#42770) 2018-07-19 12:13:09 -04:00
cleanup__file__.yaml Port modules away from __file__ 2018-07-09 15:51:20 -07:00
command_shell_check_mode.yaml Enable check_mode in command module (#40428) 2018-07-23 14:06:41 -07:00
connection_reset.yaml changed winrm _reset to reset and make ssh reset show warning (#42651) 2018-07-11 20:22:01 -07:00
console_color.yml Allow to specifically customize console's color 2018-07-24 13:21:58 -04:00
deepcopy-alternative.yaml Don't use copy.deepcopy in high workload areas, use naive_deepcopy (#44337) 2018-08-20 15:08:29 -05:00
deprecated-__file__.yaml AnsiballZ improvements 2018-07-26 20:07:25 -07:00
docker-default-ssl.yml Fix ssl_version default value. (#42955) 2018-07-20 11:32:04 -04:00
drop-python-2.6-controller.yaml Add note to the porting guide about why we're dropping python-2.6 controller support 2018-08-13 07:38:38 -07:00
ec2-facts.yaml Remove deprecated ec2_facts (#44536) 2018-08-22 16:48:22 -05:00
ec2_group_diff_mode_support.yml Add diff mode for ec2_group (#44533) 2018-08-23 19:43:18 -04:00
elasticsearch_plugin-showSTDERRonFailure.yaml elasticsearch_plugin - Show STDERR on module failures. (#41954) 2018-06-29 17:28:17 -04:00
elb_application_lb_fix_state_default.yml Fix dangerous elb_application_lb state (#44646) 2018-08-24 13:04:15 -04:00
ensure_text_source.yaml ensure 'text' source assumptions (#42522) 2018-07-10 09:45:37 -04:00
env_inject.yml handle env exception in gathering even no inject (#43569) 2018-08-10 15:11:20 -04:00
file_attributes.yaml Remove extra line in file_attributes.yaml 2018-06-14 09:56:36 -07:00
file_touch_check_mode.yaml Fix file module with check_mode - Fixes #42111 (#42115) 2018-06-29 11:19:34 -07:00
file_touch_diff.yaml Fix file state=touch not returning diff information 2018-06-20 14:51:27 -07:00
fips_md5_import.yaml basic.py: catch ValueError when trying to import hash algorithms (#44551) 2018-08-22 23:34:50 -07:00
fix-255-exit-code.yaml Separate some 255 exit codes that are not ssh errors 2018-07-09 15:51:20 -07:00
fix-config-from-environment.yaml Normalize config from environment as text strings 2018-08-01 19:42:35 -07:00
fix-open-url.yml Only assume GET if no data, otherwise POST (#43133) 2018-07-23 07:30:10 -07:00
fix-os_router.yaml Add missing changelog for PR #44418 (#44478) 2018-08-23 12:32:34 +10:00
fix-selectors-error-condition.yaml Fix the local and ssh plugins for a cornercase retrying a syscall 2018-08-13 07:17:11 -07:00
fix-swap-mount-module.yaml Fix for creation and removal of swap record in fstab (fixes #42706, #31437 and #30090) (#42837) 2018-07-31 17:09:38 -04:00
fix-world-readable-skip-message.yaml Only print warning when ansible.cfg is actually skipped (#43583) 2018-08-03 10:39:33 -07:00
fix_no_log_loop.yml fix tempating issues with no_log and loops (#44468) 2018-08-21 21:53:56 -04:00
flatten-better-type-check.yml Use newer is_sequence function instead of MutableSequence (#44331) 2018-08-21 10:42:11 -05:00
from_yaml_all_filter_plugin.yaml Add from_yaml_all to support multi document yaml strings (#43037) 2018-07-25 16:12:22 -04:00
galaxy_list_all_roles.yaml Pass path to GalaxyRole object (#43051) 2018-08-23 12:44:48 -04:00
gce-sort-fix.yaml Add changelog for gce_net sort fix 2018-06-16 13:10:23 -07:00
get_url.yaml Implement part of #27617 [expend checksum format to <algorithm>:(<checksum>|<url>)] (#43751) 2018-08-24 12:45:32 -04:00
grafana_5_dashboard_compatible.yaml Moved grafana 5 dashboard compatible changelog to fragments dir (#43593) 2018-08-02 19:07:42 +10:00
hashing-changes.yaml Share the implementation of hashing for both vars_prompt and password_hash (#21215) 2018-08-27 08:40:41 -07:00
ignore_unreachable.yml New keyword: ignore_unreachable (#43857) 2018-08-23 11:41:02 -04:00
inventory_dir_ext_compare_fix.yaml Make sure we are comparing bytes extensions in inventory plugins (#42475) 2018-07-09 12:24:51 -04:00
irc_py3_compat.yaml fix irc module to work with py3 (#42267) 2018-07-10 09:42:14 -04:00
lineinfile-empty-regexp.yml Add warning when using an empty regexp in lineinfile (#42013) 2018-06-29 17:15:43 -07:00
lxd-idempotent-config.yaml changelog for lxd idempotence fix 2018-08-05 15:29:40 -07:00
mass-remove-deprecated.yaml Mass nuke deprecated items that are easily removed. ci_complete (#44320) 2018-08-20 16:26:10 -05:00
missing_interpreter.yml more useful messages when module failure (#43576) 2018-08-02 13:30:57 -04:00
module_defaults_groups.yml Extend module_defaults by adding default groups for cloud modules (#44127) 2018-08-22 21:33:27 -04:00
more-world-readable-warning-skips.yaml Fix another corner case of too many warnings for world readable current working directory 2018-08-23 20:23:59 -07:00
no_log_fix_for_connection_exceptions.yaml Add changelog entry for the no_log fix 2018-06-12 10:25:30 -07:00
password_sanity_check.yml Give warning if user inputs not encrypted password to user module (#43615) 2018-08-13 12:45:37 -04:00
passwordstore-lookup-backup.yaml Add backup option to passwordstore lookup (and improve doc) (#39676) 2018-06-08 10:33:53 -04:00
pause-stdout-redirection.yaml Fix pause module so it does not stack trace when redirecting stdout. (#42217) 2018-07-06 17:19:55 -04:00
pause-try-except-curses.yaml Fix NameError in pause module (#42038) 2018-07-11 11:49:32 -04:00
preserve_delegate_nolog.yml preserve delegation info on no_log (#42577) 2018-07-11 20:41:37 -04:00
puppet_debugging_options.yaml Add additional puppet options (#42218) 2018-07-06 13:52:17 -04:00
remote_tmp_de-escalated_user.yaml Fix remote_tmp when become with non admin user (#42396) 2018-07-06 10:49:19 -07:00
remove-merge-multiple-tags.yaml Remove deprecated tags config option (#44479) 2018-08-21 14:57:06 -05:00
remove-simplejson.yaml Remove use of simplejson throughout code base (#43548) 2018-08-10 11:13:29 -05:00
remove-unused-ansible-remote-temp.yaml ANSIBLE_REMOTE_TMP was an implementation of unified temp that was later changed 2018-07-25 16:57:46 -07:00
s3.yaml Remove deprecated s3 module (#44537) 2018-08-22 16:48:09 -05:00
service.yml module_utils_service: Fix glob path of rc.d (#43018) 2018-07-31 11:56:11 -04:00
sns_topic_boto3_port.yaml sns_topic boto3 port (#39292) 2018-08-23 21:04:18 -04:00
syslog_facility-for-journald.yml Add syslog_facility parameter handling with systemd.journal (#41078) 2018-06-07 12:23:13 -07:00
template_output_encoding.yml Allow specifying the output encoding in the template module (#42171) 2018-07-25 13:10:40 -07:00
to-nice-json-separators.yaml Fixes #23078 - eliminate trailing whitespace in to_nice_json (#42633) 2018-08-22 14:55:30 -05:00
user-freebsd-createhome-name-fix.yaml fix a (forgotten?) change in moving createhome -> create_home (#42711) 2018-07-16 16:55:57 -04:00
user-module-backup-shadow.yaml Add backup feature to user module (#41854) 2018-08-15 16:22:26 -04:00
user_freebsd_always_changed_bugfix.yaml Only report change when home directory is different on FreeBSD (#42865) 2018-07-19 10:07:00 -04:00
v2.7.0-initial-commit.yaml Initial commit for 2.7.0 development. 2018-05-25 21:23:28 -07:00
vars_prompt-allow-prompting-for-play-vars.yaml Only template values in vars_prompt rather than all vars (#39304) 2018-08-13 12:54:31 -04:00
vault-errors.yaml Raise a nicer error when we cannot execute the editor (#44423) 2018-08-22 10:24:11 -05:00
vultr_modules_renamed.yml vultr: rename prefix vr_to vultr_ (#43994) 2018-08-13 10:21:50 +02:00
win_become_async_older_hosts.yml runas + async - get working on older hosts (#41772) 2018-06-26 14:40:49 +10:00
win_chocoalatey_install_tls12.yml win_chocolatey: add TLSv1.2 support for install phase (#41992) 2018-07-13 13:38:24 +10:00
win_chocolatey-bugfixes.yaml win_chocolatey: refactor module to fix bugs and add new features (#43013) 2018-07-24 07:52:13 +10:00
win_chocolatey-return-rc-always.yml win_chocolatey: always return the rc return value (#41883) 2018-06-25 08:23:31 +10:00
win_domain-dns-typo-fix.yml win_domain: fix typo in cmdlet call (#41993) 2018-06-27 11:29:45 +10:00
win_domain_controller-netlogon.yaml win_domain modules: ensure Netlogon service is still running after promotion (#43703) 2018-08-10 16:17:45 +10:00
win_iis_webapppool-output-fix.yml win_iis_webapppool: do not output some cmdlet outputs (#41884) 2018-06-26 11:19:09 +10:00
win_privilege_util.yaml Add Ansible.ModuleUtils.PrivilegeUtil and converted code to use it (#43179) 2018-07-30 14:48:54 -07:00
win_reboot-fixes.yml win_reboot: fix 2.6 issues and better handle post reboot reboot (#42330) 2018-07-11 09:12:29 +10:00
win_security_policy-empty-value.yaml win_security_policy: Allow setting a value to empty (#42051) 2018-07-13 14:08:14 +10:00
win_updates-async-fix.yml win_updates fix when win_updates is run with async (#41756) 2018-06-20 14:52:24 -07:00
win_user-validate-fixes.yaml win_user: use different method to validate credentials that does not rely on SMB/RPC (#43059) 2018-07-24 08:16:42 +10:00
winrm_kinit-remove-pass-log.yml Stop displaying kinit pass input on a failure (#41882) 2018-06-26 05:49:19 +10:00
wrcwd_ansible.cfg.yml fix changelog (#42272) 2018-07-03 14:31:19 -04:00
zypper-on-ubuntu.yaml Ensure that apt is always chosen on debian/ubuntu (#44413) 2018-08-20 15:59:56 -04:00