Commit graph

100 commits

Author SHA1 Message Date
Mathieu
260a3e5ce7 Fixes #11055 - Set locale via LC_ALL 2015-10-19 21:25:30 +02:00
Toshio Kuratomi
8233522a7a Reduce commenting as basic.py is copied to the remote host with every module transfer.
Move some comments to the unittest as we might look at that if we decide
to refactor the code.
2014-09-05 07:39:17 -07:00
Toshio Kuratomi
1afc8161a1 New password obfuscation in syslog messages that:
* makes speed acceptable for some datasets
* obfuscates multiple detected passwords
* obfuscates more characters to account for some corner cases when
  trying to detect passwords.

Fixes #8364
2014-09-04 17:57:52 -07:00
Toshio Kuratomi
4f55bcc298 Standardize on bytes internally to _log_invocation 2014-09-04 11:23:32 -07:00
Matt Martz
2b307985bc Don't use ternary if statements. Fixes #8784 2014-08-27 19:16:48 -05:00
James Cammarata
c21c66c740 Merge branch 'file_symbolic_mode' of https://github.com/pbitty/ansible into pbitty-file_symbolic_mode 2014-08-25 19:38:44 -05:00
James Cammarata
24c4277479 Remove tabs added from 677de07 2014-08-21 14:07:18 -05:00
James Cammarata
5e240fec71 Merge branch 'devel' of https://github.com/l1k/ansible into l1k-devel
Conflicts:
	test/integration/roles/test_copy/tasks/main.yml
2014-08-21 13:56:26 -05:00
James Cammarata
3a7aca6066 Fix no_log value for content in common file args settings
Also adds a test to ensure the content value is not logged.

Related to #8647
2014-08-19 10:47:18 -05:00
Lukas Wunner
677de07f44 Try optimistic chown, do not error out if not permitted to chown
Add unit test
2014-08-17 22:08:45 +02:00
James Cammarata
8dafacd4e9 Make env param a dict type instead of list
Also modifies param type checking code to remove whitespace from
around params before splitting them into k=v pairs.

Fixes #8199
2014-08-15 11:04:27 -05:00
James Cammarata
600a4657b4 Catch error in atomic_move when creating temporary file
Fixes #8480
2014-08-14 13:26:24 -05:00
Lukas Wunner
f4053fcf3a Only chown on atomic move if invoked as root
Linux and BSD derivatives do not allow unprivileged users to
"give away" files to others for security reasons. (System V
derivatives allow that but they're rare nowadays.)
2014-08-14 16:56:11 +02:00
Michael DeHaan
d0205b2878 Merge pull request #8500 from sivel/rax-de-dupe
rax: Move additional shared code into module utils
2014-08-08 12:33:35 -04:00
Michael DeHaan
8c4161d4a1 Merge branch 'retf_py' of git://github.com/berendt/ansible into devel
Conflicts:
	lib/ansible/inventory/vars_plugins/group_vars.py
	plugins/callbacks/mail.py
2014-08-08 12:17:37 -04:00
Bekim Berisha
5272e1099d Keep docstring up to date with the code in basic module 2014-08-07 13:40:57 +02:00
Matt Martz
88acb48753 Add ANSIBLE_VERSION to module_utils/basic.py and manipulate the pyrax user-agent 2014-08-06 16:28:42 -05:00
James Cammarata
5d0bb33ede Make run_command process communication smarter
The run_command module function will now poll stdout/stderr for
data rather than using the builtin command communicate(), which can
hang under certain circumstances.

Fixes #7452
Fixes #7748
Fixes #8163
2014-08-04 15:32:41 -05:00
Michael DeHaan
645ab7baff Merge pull request #7950 from mesk41in/devel
Fix unsupported regexp parameter in assemble
2014-07-28 12:01:12 -04:00
Michael DeHaan
fb60e767a7 Taking alternate approach.
Revert "Fix hostname when get_distribution_version() returns a string."

This reverts commit 08f97c0b9d.
2014-07-28 11:35:33 -04:00
Michael DeHaan
628d828876 Merge pull request #8087 from neersighted/string_version
Fix hostname when get_distribution_version() returns a string.
2014-07-28 11:24:58 -04:00
Michael DeHaan
630f080cf0 Start of unit tests for split_args function, moved split_args to utils since not needed by modules (so far). 2014-07-24 20:15:04 -04:00
Michael DeHaan
b5d64fdb36 Some notes/comment upgrades on split_args. 2014-07-24 16:34:06 -04:00
James Cammarata
43154e5101 Using custom splitting function for module param counting 2014-07-24 14:42:35 -05:00
James Cammarata
84759faa09 Security fixes:
* Strip lookup calls out of inventory variables and clean unsafe data
  returned from lookup plugins (CVE-2014-4966)
* Make sure vars don't insert extra parameters into module args and prevent
  duplicate params from superseding previous params (CVE-2014-4967)
2014-07-21 11:20:49 -05:00
Ruggero Marchei
909955f2e2 fix get_distribution_version() on amazon linux 2014-07-15 18:04:46 +02:00
Bjorn Neergaard
08f97c0b9d Fix hostname when get_distribution_version() returns a string.
The distro version is a string ('jessie/sid') on Debian unstable and testing.
Because load_platform_subclass() evaluations every subclass as it loops,
comparing numbers when get_distribution_version() does not return a number will
break.

This patch fixes that by returning a number (`0`) when we have an invalid
version, instead of returning `None` or a string.
2014-07-10 11:27:03 -07:00
James Cammarata
81f35323e9 Revert "Fix get_distribution() for platforms that may have spaces"
This reverts commit 2493020d9f.
2014-07-02 09:44:44 -05:00
mesk41in
488aec3936 Fix unsupported regexp parameter in assemble 2014-06-27 13:54:59 +04:00
James Cammarata
3c3c710a58 Merge branch 'module_safe_eval' into fix_lineinfile_newlines 2014-06-20 00:16:52 -05:00
James Cammarata
2493020d9f Fix get_distribution() for platforms that may have spaces
The new CentOS 7 beta lists the distribution as "CentOS Linux", which
breaks the distribution detection and class loading. This patch fixes
that by taking just the first entry in the string when a space is
detected.
2014-06-18 13:10:39 -05:00
Ruggero Marchei
e3f5af377f move get_distribution_version() to basic.py 2014-06-17 10:22:14 +02:00
James Cammarata
b4d130d086 Add a new password pattern to the run_command filter 2014-06-12 07:42:25 -05:00
James Cammarata
849b0f87ce Fix error when using os.getlogin() without a tty 2014-06-03 09:36:19 -05:00
James Cammarata
e99df21647 Support checking for su user to atomic_move
Fixes #7553
2014-05-27 16:04:02 -05:00
James Cammarata
0ac74aaf59 Also set the environment variables when resetting the locale to C 2014-05-19 23:22:46 -05:00
James Cammarata
285d9878ae Reset locale to 'C' if the specified one is invalid
Fixes #7448
2014-05-19 10:26:06 -05:00
James Cammarata
df877f2e79 Check module_path permissions when creating ssh_wrapper for git
If the module directory is not writable/executable to the current user
(most likely because of a sudo to a non-root user), the ssh_wrapper
will be created in the default location for mkstemp() calls. To facilitate
the deletion of these new files, a new mechanism for cleaning up files
created by the module was also added.

Fixes #7375
2014-05-14 21:22:22 -05:00
James Cammarata
56515a38d5 Only chown on atomic move if the uid/gid don't match the src/tmp file
This is a corner case for remote file systems that don't support
chown() and where the source and destination for the atomic_move
are on that remote file system.

Fixes #7372
2014-05-14 09:59:12 -05:00
Christian Berendt
6676720ce5 fixed typos found by RETF rules in PY files
rules are avaialble at https://en.wikipedia.org/wiki/Wikipedia:AutoWikiBrowser/Typos
2014-05-03 18:40:05 +02:00
James Cammarata
54b1f820fb Modify the way we set the localization environment
Previously, we set the LANG (and LC_CTYPE) environment variables
directly in the module code and applied them with os.environ().
Instead, we are now pre-pending those variables to the environment
string used to execute the command which allows the user to
override the localization values by setting the environment values
directly (even on a per-task basis):

  - subversion: repo=file:///path/to/repos/svn_über dest=/tmp/svntest
    environment:
      LANG: "C"
      LC_CTYPE: "en_US.UTF-8"

So if a user wishes to default their LANG back to C, they can still
avoid unicode issues by doing the above.

Fixes #7060
2014-05-01 10:34:53 -05:00
Jiri Barton
9da06274a8 Set proper file permisions when a file is created with atomic_move
Fixes #7196
2014-04-29 08:41:22 -05:00
Michael DeHaan
9a6998aa17 While this code is unused, this remote module copy of this function should not be carried around in the source code. 2014-04-29 08:12:11 -04:00
James Cammarata
c115c34a1f Set the default LANG to en_US.UTF-8 and also set LC_CTYPE
Fixes #6737
2014-04-22 00:48:32 -05:00
James Cammarata
68c30548e0 Properly catch and decode unicode strings in module _log_invocation()
Fixes #7084
2014-04-21 11:33:23 -05:00
James Cammarata
3715482d7c Determine selinux context for NFS mount points correctly
Fixes #7009
2014-04-18 09:39:58 -05:00
James Cammarata
23c5f4524d Make sure args in run_command are encoded for shlex.split calls on py2.6 2014-04-15 13:04:41 -04:00
James Cammarata
9ca8c3262c Switch module safe_eval to ast.literal_eval 2014-04-08 09:05:07 -05:00
James Cammarata
82b24c162e Adding delimiter fixes to action_plugin + fixing local assembling with a delimiter
Also added a new integration test for assemble using local assembly
with a delimiter.
2014-04-03 16:32:35 -05:00
Harlan Lieberman-Berg
876b8085aa Add directory_mode to common file parameters to prevent errors. 2014-04-02 17:41:39 -04:00