summaryrefslogtreecommitdiff
path: root/sysutils/py-salt/files
diff options
context:
space:
mode:
authorGuido Falsi <madpilot@FreeBSD.org>2016-04-06 20:11:24 +0000
committerGuido Falsi <madpilot@FreeBSD.org>2016-04-06 20:11:24 +0000
commit6c33de93f45e312779d65aef2013a254880ba69c (patch)
tree42fcc455497ded0c74737e8ffdca88bdc333489b /sysutils/py-salt/files
parentAdd devel/p5-Time-ParseDate, which lets you do date and time (diff)
Import upstream patches which remove some spurious log entries
PR: 208520 Submitted by: Christer Edwards <christer.edwards at gmail.com> (maintainer) Obtained from: https://github.com/saltstack/salt/pull/32135 https://github.com/saltstack/salt/pull/32023 https://github.com/saltstack/salt/pull/32117
Notes
Notes: svn path=/head/; revision=412641
Diffstat (limited to 'sysutils/py-salt/files')
-rw-r--r--sysutils/py-salt/files/patch-salt__config.py116
-rw-r--r--sysutils/py-salt/files/patch-salt__modules__win_dacl.py34
2 files changed, 150 insertions, 0 deletions
diff --git a/sysutils/py-salt/files/patch-salt__config.py b/sysutils/py-salt/files/patch-salt__config.py
new file mode 100644
index 000000000000..9efdeb5d1f0d
--- /dev/null
+++ b/sysutils/py-salt/files/patch-salt__config.py
@@ -0,0 +1,116 @@
+diff --git a/salt/config.py b/salt/config.py
+index 071e06b..1f83c33 100644
+--- salt/config.py.orig
++++ salt/config.py
+@@ -63,7 +63,7 @@
+
+ VALID_OPTS = {
+ # The address of the salt master. May be specified as IP address or hostname
+- 'master': str,
++ 'master': (str, list),
+
+ # The TCP/UDP port of the master to connect to in order to listen to publications
+ 'master_port': int,
+@@ -541,7 +541,7 @@
+ 'file_recv': bool,
+ 'file_recv_max_size': int,
+ 'file_ignore_regex': list,
+- 'file_ignore_glob': bool,
++ 'file_ignore_glob': list,
+ 'fileserver_backend': list,
+ 'fileserver_followsymlinks': bool,
+ 'fileserver_ignoresymlinks': bool,
+@@ -833,7 +833,7 @@
+ 'file_recv': False,
+ 'file_recv_max_size': 100,
+ 'file_ignore_regex': [],
+- 'file_ignore_glob': None,
++ 'file_ignore_glob': [],
+ 'fileserver_backend': ['roots'],
+ 'fileserver_followsymlinks': True,
+ 'fileserver_ignoresymlinks': False,
+@@ -1348,26 +1348,30 @@ def _validate_opts(opts):
+ Check that all of the types of values passed into the config are
+ of the right types
+ '''
++ def format_multi_opt(valid_type):
++ try:
++ num_types = len(valid_type)
++ except TypeError:
++ # Bare type name won't have a length, return the name of the type
++ # passed.
++ return valid_type.__name__
++ else:
++ if num_types == 1:
++ return valid_type.__name__
++ elif num_types > 1:
++ ret = ', '.join(x.__name__ for x in valid_type[:-1])
++ ret += ' or ' + valid_type[-1].__name__
++
+ errors = []
+- err = ('Key {0} with value {1} has an invalid type of {2}, a {3} is '
++
++ err = ('Key \'{0}\' with value {1} has an invalid type of {2}, a {3} is '
+ 'required for this value')
+ for key, val in six.iteritems(opts):
+ if key in VALID_OPTS:
+- if isinstance(VALID_OPTS[key](), list):
+- if isinstance(val, VALID_OPTS[key]):
+- continue
+- else:
+- errors.append(
+- err.format(key, val, type(val).__name__, 'list')
+- )
+- if isinstance(VALID_OPTS[key](), dict):
+- if isinstance(val, VALID_OPTS[key]):
+- continue
+- else:
+- errors.append(
+- err.format(key, val, type(val).__name__, 'dict')
+- )
+- else:
++ if isinstance(val, VALID_OPTS[key]):
++ continue
++
++ if hasattr(VALID_OPTS[key], '__call__'):
+ try:
+ VALID_OPTS[key](val)
+ if isinstance(val, (list, dict)):
+@@ -1384,14 +1388,21 @@ def _validate_opts(opts):
+ VALID_OPTS[key].__name__
+ )
+ )
+- except ValueError:
++ except (TypeError, ValueError):
+ errors.append(
+- err.format(key, val, type(val).__name__, VALID_OPTS[key])
+- )
+- except TypeError:
+- errors.append(
+- err.format(key, val, type(val).__name__, VALID_OPTS[key])
++ err.format(key,
++ val,
++ type(val).__name__,
++ VALID_OPTS[key].__name__)
+ )
++ continue
++
++ errors.append(
++ err.format(key,
++ val,
++ type(val).__name__,
++ format_multi_opt(VALID_OPTS[key].__name__))
++ )
+
+ # RAET on Windows uses 'win32file.CreateMailslot()' for IPC. Due to this,
+ # sock_dirs must start with '\\.\mailslot\' and not contain any colons.
+@@ -1404,7 +1415,7 @@ def _validate_opts(opts):
+ '\\\\.\\mailslot\\' + opts['sock_dir'].replace(':', ''))
+
+ for error in errors:
+- log.warning(error)
++ log.debug(error)
+ if errors:
+ return False
+ return True
+
diff --git a/sysutils/py-salt/files/patch-salt__modules__win_dacl.py b/sysutils/py-salt/files/patch-salt__modules__win_dacl.py
new file mode 100644
index 000000000000..78ccbdbfea97
--- /dev/null
+++ b/sysutils/py-salt/files/patch-salt__modules__win_dacl.py
@@ -0,0 +1,34 @@
+diff --git a/salt/modules/win_dacl.py b/salt/modules/win_dacl.py
+index d57bb7b..d9ee27a 100644
+--- salt/modules/win_dacl.py
++++ salt/modules/win_dacl.py
+@@ -44,9 +44,10 @@ class daclConstants(object):
+ # in ntsecuritycon has the extra bits 0x200 enabled.
+ # Note that you when you set this permission what you'll generally get back is it
+ # ORed with 0x200 (SI_NO_ACL_PROTECT), which is what ntsecuritycon incorrectly defines.
+- FILE_ALL_ACCESS = (ntsecuritycon.STANDARD_RIGHTS_REQUIRED | ntsecuritycon.SYNCHRONIZE | 0x1ff)
+
+ def __init__(self):
++ self.FILE_ALL_ACCESS = (ntsecuritycon.STANDARD_RIGHTS_REQUIRED | ntsecuritycon.SYNCHRONIZE | 0x1ff)
++
+ self.hkeys_security = {
+ 'HKEY_LOCAL_MACHINE': 'MACHINE',
+ 'HKEY_USERS': 'USERS',
+@@ -88,7 +89,7 @@ def __init__(self):
+ ntsecuritycon.DELETE,
+ 'TEXT': 'modify'},
+ 'FULLCONTROL': {
+- 'BITS': daclConstants.FILE_ALL_ACCESS,
++ 'BITS': self.FILE_ALL_ACCESS,
+ 'TEXT': 'full control'}
+ }
+ }
+@@ -368,7 +369,7 @@ def add_ace(path, objectType, user, permission, acetype, propagation):
+ path: path to the object (i.e. c:\\temp\\file, HKEY_LOCAL_MACHINE\\SOFTWARE\\KEY, etc)
+ user: user to add
+ permission: permissions for the user
+- acetypes: either allow/deny for each user/permission (ALLOW, DENY)
++ acetype: either allow/deny for each user/permission (ALLOW, DENY)
+ propagation: how the ACE applies to children for Registry Keys and Directories(KEY, KEY&SUBKEYS, SUBKEYS)
+
+ CLI Example: