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/docs/docsite/rst/user_guide
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
..
shared_snippets
become.rst
command_line_tools.rst
index.rst
intro.rst
intro_adhoc.rst
intro_bsd.rst Remove use of simplejson throughout code base (#43548) 2018-08-10 11:13:29 -05:00
intro_dynamic_inventory.rst
intro_getting_started.rst
intro_inventory.rst
intro_patterns.rst
intro_windows.rst
module_defaults_config.rst
modules.rst
modules_intro.rst
modules_support.rst Prefer https:// links in the docs site 2018-08-01 08:20:40 -07:00
playbook_pathing.rst Core Docs Refactor and Redesign (#36067) 2018-02-13 07:23:55 -08:00
playbooks.rst Doc build warning/broken link clean-a-palooza (#37382) 2018-03-14 12:44:21 -07:00
playbooks_advanced_syntax.rst
playbooks_async.rst
playbooks_best_practices.rst
playbooks_blocks.rst
playbooks_checkmode.rst
playbooks_conditionals.rst
playbooks_debugger.rst
playbooks_delegation.rst
playbooks_environment.rst
playbooks_error_handling.rst
playbooks_filters.rst
playbooks_filters_ipaddr.rst
playbooks_intro.rst
playbooks_lookups.rst
playbooks_loops.rst doc: minor language corrections to loop docs (#42854) 2018-08-22 15:00:25 -04:00
playbooks_module_defaults.rst
playbooks_prompts.rst
playbooks_python_version.rst
playbooks_reuse.rst
playbooks_reuse_includes.rst Prefer https:// links in the docs site 2018-08-01 08:20:40 -07:00
playbooks_reuse_roles.rst
playbooks_roles.rst
playbooks_special_topics.rst
playbooks_startnstep.rst
playbooks_strategies.rst
playbooks_tags.rst
playbooks_templating.rst
playbooks_tests.rst
playbooks_variables.rst
playbooks_vault.rst
plugin_filtering_config.rst
quickstart.rst Update documentation based on 301 permanent redirects (#43675) 2018-08-13 14:54:14 -05:00
vault.rst Fix places in docs that refer to modules without namespace 2018-04-18 08:43:34 -07:00
windows.rst
windows_dsc.rst
windows_faq.rst
windows_setup.rst
windows_usage.rst
windows_winrm.rst