mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-16 06:24:54 +00:00
* Fix bug (#18355) where encrypted inventories fail This is first part of fix for #18355 * Make DataLoader._get_file_contents return bytes The issue #18355 is caused by a change to inventory to stop using _get_file_contents so that it can handle text encoding itself to better protect against harmless text encoding errors in ini files (invalid unicode text in comment fields). So this makes _get_file_contents return bytes so it and other callers can handle the to_text(). The data returned by _get_file_contents() is now a bytes object instead of a text object. The callers of _get_file_contents() have been updated to call to_text() themselves on the results. Previously, the ini parser attempted to work around ini files that potentially include non-vailid unicode in comment lines. To do this, it stopped using DataLoader._get_file_contents() which does the decryption of files if vault encrypted. It didn't use that because _get_file_contents previously did to_text() on the read data itself. _get_file_contents() returns a bytestring now, so ini.py can call it and still special case ini file comments when converting to_text(). That also means encrypted inventory files are decrypted first. Fixes #18355 |
||
|---|---|---|
| .. | ||
| cli | ||
| contrib | ||
| errors | ||
| executor | ||
| inventory | ||
| inventory_test_data/group_vars | ||
| mock | ||
| module_utils | ||
| modules | ||
| parsing | ||
| playbook | ||
| plugins | ||
| template | ||
| utils | ||
| vars | ||
| __init__.py | ||