1
0
mirror of https://github.com/samba-team/samba.git synced 2025-07-29 15:42:04 +03:00

gpo: Use the new process_group_policy() for unapply

Signed-off-by: David Mulder <dmulder@suse.com>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Aurelien Aptel <aaptel@suse.com>
This commit is contained in:
David Mulder
2018-05-17 16:48:47 -06:00
committed by Aurélien Aptel
parent 9d7a0bb3de
commit 30f6ac9c16

View File

@ -507,26 +507,20 @@ def apply_gp(lp, creds, logger, store, gp_extensions):
store.commit()
def unapply_log(gp_db):
while True:
item = gp_db.apply_log_pop()
if item:
yield item
else:
break
def unapply_gp(lp, creds, logger, store, gp_extensions):
gp_db = store.get_gplog(creds.get_username())
gp_db.state(GPOSTATE.UNAPPLY)
for gpo_guid in unapply_log(gp_db):
gp_db.set_guid(gpo_guid)
unapply_attributes = gp_db.list(gp_extensions)
for attr in unapply_attributes:
attr_obj = attr[-1](logger, gp_db, lp, attr[0], attr[1])
attr_obj.mapper()[attr[0]][0](attr[1]) # Set the old value
gp_db.delete(str(attr_obj), attr[0])
gp_db.commit()
# Treat all applied gpos as deleted
del_gpos = gp_db.get_applied_settings(gp_db.get_applied_guids())
store.start()
for ext in gp_extensions:
try:
ext.process_group_policy(del_gpos, [])
except Exception as e:
logger.error('Failed to unapply extension %s' % str(ext))
logger.error('Message was: ' + str(e))
continue
store.commit()
def parse_gpext_conf(smb_conf):