gpo: add list_gp_extensions for listing registered gp extensions
authorDavid Mulder <dmulder@suse.com>
Wed, 13 Jun 2018 20:46:30 +0000 (14:46 -0600)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 12 Jul 2018 20:11:23 +0000 (22:11 +0200)
Signed-off-by: David Mulder <dmulder@suse.com>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/gpclass.py

index 74feaf96927b0e6b16220aa363c6b543130d9261..391f4345f9713d274d0a6264c19a9cfe4aa1a7e0 100644 (file)
@@ -557,6 +557,19 @@ def register_gp_extension(guid, name, path,
 
     return True
 
+def list_gp_extensions(smb_conf=None):
+    _, parser = parse_gpext_conf(smb_conf)
+    results = {}
+    for guid in parser.sections():
+        results[guid] = {}
+        results[guid]['DllName'] = parser.get(guid, 'DllName')
+        results[guid]['ProcessGroupPolicy'] = \
+            parser.get(guid, 'ProcessGroupPolicy')
+        results[guid]['MachinePolicy'] = \
+            not int(parser.get(guid, 'NoMachinePolicy'))
+        results[guid]['UserPolicy'] = not int(parser.get(guid, 'NoUserPolicy'))
+    return results
+
 def unregister_gp_extension(guid, smb_conf=None):
     if not check_guid(guid):
         return False