diff options
author | Guido Falsi <madpilot@FreeBSD.org> | 2016-04-06 20:11:24 +0000 |
---|---|---|
committer | Guido Falsi <madpilot@FreeBSD.org> | 2016-04-06 20:11:24 +0000 |
commit | 6c33de93f45e312779d65aef2013a254880ba69c (patch) | |
tree | 42fcc455497ded0c74737e8ffdca88bdc333489b /sysutils/py-salt/files | |
parent | Add 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.py | 116 | ||||
-rw-r--r-- | sysutils/py-salt/files/patch-salt__modules__win_dacl.py | 34 |
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: |