community.general/lib/ansible/modules/files
chriskarel 991918e9d2 Fix idempotency for Unix permissions in zip files. (#24580)
* Fix idempotency for Unix permissions in zip files.

This fix prevents the unarchive module from reporting 'changed' when a zipfile contains items with Unix permissions that differ from the system default.

* Update zip unarchive tests.

Additional tests for the unarchive module with zip files:
- Test file in zip archive with non-default permissions
- Test file added to zip archive with Windows permissions

* Additional fix for mixed win/unix archives.

  Turns out my original fix fails under some mixed archives, as setting the umask to zero can be applied to those files.  This creates a per-file umask variable, so a mix of permission types don't cause problems.

* CI Checks

CI checks for archives with:
* non default Unix permissions
* Windows permissions


* Workaround for BSD differences.

Using Zipinfo due to lack of support in BSD unzip.
Permissions handling is also different in BSD -- always applies UMASK to file permissions.

* Added checks for creating directories and SSH keys for existing users.
2017-08-11 12:36:46 -07:00
..
__init__.py package files 2016-12-08 11:22:22 -05:00
acl.py Fix missing import and boilerplate 2017-08-03 08:39:15 -07:00
archive.py Fix missing import and boilerplate 2017-08-03 08:39:15 -07:00
assemble.py Fix missing import and boilerplate 2017-08-03 08:39:15 -07:00
blockinfile.py blockinfile: add --diff support in check mode (#27997) 2017-08-11 07:58:45 +02:00
copy.py Fix missing import and boilerplate 2017-08-03 08:39:15 -07:00
fetch.py Add boilerplate to fetch.py 2017-08-03 13:15:12 -07:00
file.py Don't do additional path expand in file module 2017-08-08 09:05:06 -07:00
find.py Fix missing import and boilerplate 2017-08-03 08:39:15 -07:00
ini_file.py Fix missing import and boilerplate 2017-08-03 08:39:15 -07:00
iso_extract.py iso_extract: Reimplement using 7zip (not requiring root) (#24937) 2017-08-04 14:38:42 -04:00
lineinfile.py Fix missing import and boilerplate 2017-08-03 08:39:15 -07:00
patch.py Fix missing import and boilerplate 2017-08-03 08:39:15 -07:00
replace.py Fix missing import and boilerplate 2017-08-03 08:39:15 -07:00
stat.py Fix missing import and boilerplate 2017-08-03 08:39:15 -07:00
synchronize.py Fix missing import and boilerplate 2017-08-03 08:39:15 -07:00
tempfile.py Fix missing import and boilerplate 2017-08-03 08:39:15 -07:00
template.py Fix missing import and boilerplate 2017-08-03 08:39:15 -07:00
unarchive.py Fix idempotency for Unix permissions in zip files. (#24580) 2017-08-11 12:36:46 -07:00
xattr.py Fix missing import and boilerplate 2017-08-03 08:39:15 -07:00
xml.py Add new maintainer 2017-08-10 17:11:55 +02:00