mirror of https://github.com/ansible/ansible.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
* 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
(cherry picked from commit
|
9 years ago | |
|---|---|---|
| .. | ||
| cli | 9 years ago | |
| contrib | 10 years ago | |
| errors | 10 years ago | |
| executor | 9 years ago | |
| inventory | 10 years ago | |
| inventory_test_data/group_vars | 11 years ago | |
| mock | 9 years ago | |
| module_utils | 9 years ago | |
| modules | 9 years ago | |
| parsing | 9 years ago | |
| playbook | 9 years ago | |
| plugins | 9 years ago | |
| template | 9 years ago | |
| utils | 10 years ago | |
| vars | 9 years ago | |
| __init__.py | 11 years ago | |