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.
ansible/test/units/module_utils
Sam Doran 0199b1cf05
[stable-2.9] Change default file permissions so they are not world readable (#70221) (#70825)
* [stable-2.9] Change default file permissions so they are not world readable (#70221)

* Change default file permissions so they are not world readable

CVE-2020-1736

Set the default permissions for files we create with atomic_move() to 0o0660. Track
which files we create that did not exist and warn if the module supports 'mode'
and it was not specified and the module did not call set_mode_if_different(). This allows the user to take action and specify a mode rather than using the defaults.

A code audit is needed to find all instances of modules that call atomic_move()
but do not call set_mode_if_different(). The findings need to be documented in
a changelog since we are not warning. Warning in those instances would be frustrating
to the user since they have no way to change the module code.

- use a set for storing list of created files
- just check the argument spac and params rather than using another property
- improve the warning message to include the default permissions.
(cherry picked from commit 5260527c4a)

Co-authored-by: Sam Doran <sdoran@redhat.com>

* Fix jboss test

* Fix lamdba_policy test

* Fix aws_lamdba test

* Fix warning for new default permissions when mode is not specified (#70976)

Follow up to #70221
Related to #67794
CVE-2020-1736

When set_mode_if_different() is called with mode of 'None', ensure we issue
a warning about the change in default permissions.

Add integration tests to ensure the warning works properly.

* Fix tests
- actually use custom module 🤦‍♂️
- verify file permission on created files
- use remote_tmp_dir so we're ready for split controller
- improve test module so we can skip the call to set_fs_attributes_if_different()
- fix tests for CentOS 6

(cherry-picked from commit dc79528cc6)

* Use new category in changelog fragments
5 years ago
..
acme crypto modules: fix sanity errors (#60046) 6 years ago
aws Move unit test compat code out of `lib/ansible/`. (#46996) 7 years ago
basic [stable-2.9] Change default file permissions so they are not world readable (#70221) (#70825) 5 years ago
cloud Move unit test compat code out of `lib/ansible/`. (#46996) 7 years ago
common [2.9] Prevent Ansible 2.9 to choke on collections using deprecation by date or collection_name for deprecation calls (#69935) 6 years ago
docker docker: fix sanity errors (#60047) 6 years ago
ec2 Update bare exceptions to specify Exception. 7 years ago
facts [stable-2.9] Handle Slackware OS version strings containing a plus (“+”) (#68142) (#70718) 5 years ago
gcp unit tests: remove unused imports (#59636) 7 years ago
hwc Unit tests: remove unused imports (#59740) 7 years ago
identity/keycloak keycloak: improve testability of authentification (#57611) 6 years ago
json_utils unit tests: remove unused imports (#59636) 7 years ago
net_tools unit tests: remove unused imports (#59636) 7 years ago
network Meraki - Enable API call rate limiting for requests (#54827) 6 years ago
parsing Consolidate boolean/mk_boolean conversion functions into a single location 9 years ago
postgresql Postgres module_utils: add get_connect_params + unit tests (#58067) 7 years ago
remote_management Adding dell ome device_info module (#53438) 7 years ago
urls get_url pass incorrect If-Modified-Since header(#67417) (#67419) 6 years ago
xenserver XenServer: Update docs with recent changes in XenAPI python lib and branding (#63728) (#63815) 6 years ago
__init__.py Add empty-init code-smell script. (#18406) 9 years ago
conftest.py Python 3.8 collections compatibility fixes. 7 years ago
test_api.py [2.9] api: time.clock compatible code (#70678) 5 years ago
test_database.py Fix unit test parametrize order on Python 3.5. 7 years ago
test_distribution_version.py Get minor version number for CentOS and Debian (#57814) 7 years ago
test_distro.py Update distro unit test (#55003) 7 years ago
test_hetzner.py Hetzner failover IP: refactoring (#56203) 7 years ago
test_known_hosts.py unit tests: remove unused imports (#59636) 7 years ago
test_kubevirt.py kubevirt: more unit tests (#57739) 7 years ago
test_netapp.py Improved netapp module utility for E-Series. (#59527) 6 years ago
test_text.py Porting tests to pytest (#33387) 8 years ago
test_utm_utils.py Add optional headers to utm modules (#49856) 7 years ago
test_vmware.py VMware: not ssl.SSLContext if validate_certs false (#57185) 6 years ago