mirror of
https://github.com/samba-team/samba.git
synced 2025-07-30 19:42:05 +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:
committed by
Aurélien Aptel
parent
9d7a0bb3de
commit
30f6ac9c16
@ -507,26 +507,20 @@ def apply_gp(lp, creds, logger, store, gp_extensions):
|
|||||||
store.commit()
|
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):
|
def unapply_gp(lp, creds, logger, store, gp_extensions):
|
||||||
gp_db = store.get_gplog(creds.get_username())
|
gp_db = store.get_gplog(creds.get_username())
|
||||||
gp_db.state(GPOSTATE.UNAPPLY)
|
gp_db.state(GPOSTATE.UNAPPLY)
|
||||||
for gpo_guid in unapply_log(gp_db):
|
# Treat all applied gpos as deleted
|
||||||
gp_db.set_guid(gpo_guid)
|
del_gpos = gp_db.get_applied_settings(gp_db.get_applied_guids())
|
||||||
unapply_attributes = gp_db.list(gp_extensions)
|
store.start()
|
||||||
for attr in unapply_attributes:
|
for ext in gp_extensions:
|
||||||
attr_obj = attr[-1](logger, gp_db, lp, attr[0], attr[1])
|
try:
|
||||||
attr_obj.mapper()[attr[0]][0](attr[1]) # Set the old value
|
ext.process_group_policy(del_gpos, [])
|
||||||
gp_db.delete(str(attr_obj), attr[0])
|
except Exception as e:
|
||||||
gp_db.commit()
|
logger.error('Failed to unapply extension %s' % str(ext))
|
||||||
|
logger.error('Message was: ' + str(e))
|
||||||
|
continue
|
||||||
|
store.commit()
|
||||||
|
|
||||||
|
|
||||||
def parse_gpext_conf(smb_conf):
|
def parse_gpext_conf(smb_conf):
|
||||||
|
Reference in New Issue
Block a user