From: David Mulder Date: Fri, 26 Feb 2021 16:46:15 +0000 (-0700) Subject: gpo: Add rsop output for vgp_openssh_ext X-Git-Tag: tevent-0.11.0~1661 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9a00edcc240b4bba17a0846019713e10bfc2448f;p=thirdparty%2Fsamba.git gpo: Add rsop output for vgp_openssh_ext Signed-off-by: David Mulder Reviewed-by: Jeremy Allison --- diff --git a/python/samba/vgp_openssh_ext.py b/python/samba/vgp_openssh_ext.py index 0252e9208bb..7a49395151c 100644 --- a/python/samba/vgp_openssh_ext.py +++ b/python/samba/vgp_openssh_ext.py @@ -82,3 +82,24 @@ class vgp_openssh_ext(gp_xml_ext): self.gp_db.store(str(self), attribute, f.name) self.gp_db.commit() f.close() + + def rsop(self, gpo): + output = {} + if gpo.file_sys_path: + xml = 'MACHINE/VGP/VTLA/SshCfg/SshD/manifest.xml' + path = os.path.join(gpo.file_sys_path, xml) + xml_conf = self.parse(path) + if not xml_conf: + return output + policy = xml_conf.find('policysetting') + data = policy.find('data') + configfile = data.find('configfile') + for configsection in configfile.findall('configsection'): + if configsection.find('sectionname').text: + continue + for kv in configsection.findall('keyvaluepair'): + if str(self) not in output.keys(): + output[str(self)] = {} + output[str(self)][kv.find('key').text] = \ + kv.find('value').text + return output