]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
gpo: Add gp_xml_ext parser for group policy
authorDavid Mulder <dmulder@suse.com>
Tue, 3 Nov 2020 17:44:27 +0000 (10:44 -0700)
committerJeremy Allison <jra@samba.org>
Sat, 19 Dec 2020 07:00:36 +0000 (07:00 +0000)
This adds an extension parser for parsing xml
files in the sysvol.

Signed-off-by: David Mulder <dmulder@suse.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
python/samba/gpclass.py

index ac73671eb5883b356e209e580cb24786fe06e732..1b29711f24575bc2ffadbc21739e1dd3a31820e0 100644 (file)
@@ -341,6 +341,15 @@ class gp_pol_ext(gp_ext):
         return ndr_unpack(preg.file, raw)
 
 
+class gp_xml_ext(gp_ext):
+    def read(self, data_file):
+        raw = open(data_file, 'rb').read()
+        try:
+            return etree.fromstring(raw.decode())
+        except UnicodeDecodeError:
+            return etree.fromstring(raw.decode('utf-16'))
+
+
 ''' Fetch the hostname of a writable DC '''