mirror of
https://github.com/samba-team/samba.git
synced 2025-12-16 00:23:52 +03:00
samba-tool: gpo load/remove bytes
Signed-off-by: David Mulder <dmulder@suse.com> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Tested-by: Kees van Vloten <keesvanvloten@gmail.com>
This commit is contained in:
committed by
Andrew Bartlett
parent
dc6725336a
commit
ea619d704e
@@ -84,20 +84,26 @@ class RegistryGroupPolicies(object):
|
||||
for i in range(12):
|
||||
if str_regtype(i) == entry['type'].upper():
|
||||
return i
|
||||
return 0 # REG_NONE
|
||||
raise TypeError('Unknown type %s' % entry['type'])
|
||||
|
||||
def __set_data(self, rtype, data):
|
||||
# JSON can't store bytes, and have to be set via an int array
|
||||
if rtype == 3 and type(data) == list: # REG_BINARY
|
||||
return bytes(data)
|
||||
return data
|
||||
|
||||
def __pol_replace(self, pol_data, entry):
|
||||
for e in pol_data.entries:
|
||||
if e.keyname == entry['keyname'] and \
|
||||
e.valuename == entry['valuename']:
|
||||
e.data = entry['data']
|
||||
e.data = self.__set_data(e.type, entry['data'])
|
||||
break
|
||||
else:
|
||||
e = preg.entry()
|
||||
e.keyname = entry['keyname']
|
||||
e.valuename = entry['valuename']
|
||||
e.type = self.__determine_data_type(entry)
|
||||
e.data = entry['data']
|
||||
e.data = self.__set_data(e.type, entry['data'])
|
||||
entries = list(pol_data.entries)
|
||||
entries.append(e)
|
||||
pol_data.entries = entries
|
||||
|
||||
Reference in New Issue
Block a user