gpo: samba-gpupdate use s3 param for registry conf
authorDavid Mulder <dmulder@suse.com>
Mon, 18 Jul 2022 15:19:24 +0000 (09:19 -0600)
committerJeremy Allison <jra@samba.org>
Fri, 22 Jul 2022 20:40:51 +0000 (20:40 +0000)
Cause samba-gpupdate to use an s3 param so that
it can load settings from registry configuration.

Signed-off-by: David Mulder <dmulder@suse.com>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Fri Jul 22 20:40:51 UTC 2022 on sn-devel-184

python/samba/getopt.py
python/samba/gp/gpclass.py
source4/scripting/bin/samba-gpupdate

index 7b8d2ef46c5a66876f7c26e38654eb827084fb0f..a271cd8a7369f02b768f594e7b28b7e913d130d8 100644 (file)
@@ -93,6 +93,15 @@ class SambaOptions(optparse.OptionGroup):
         return self._lp
 
 
+class Samba3Options(SambaOptions):
+    """General Samba-related command line options with an s3 param."""
+
+    def __init__(self, parser):
+        SambaOptions.__init__(self, parser)
+        from samba.samba3 import param as s3param
+        self._lp = s3param.get_context()
+
+
 class VersionOptions(optparse.OptionGroup):
     """Command line option for printing Samba version."""
     def __init__(self, parser):
index 0c95cdb66c0dfdb61039b8783bba9667e625ef56..39a34a75cf075091f28786247fff5fab6592ed81 100644 (file)
@@ -32,7 +32,6 @@ import re
 from samba.net import Net
 from samba.dcerpc import nbt
 from samba.samba3 import libsmb_samba_internal as libsmb
-from samba.samba3 import param as s3param
 import samba.gpo as gpo
 from samba.param import LoadParm
 from uuid import UUID
@@ -406,14 +405,10 @@ def check_safe_path(path):
 
 
 def check_refresh_gpo_list(dc_hostname, lp, creds, gpos):
-    # the SMB bindings rely on having a s3 loadparm
-    s3_lp = s3param.get_context()
-    s3_lp.load(lp.configfile)
-
     # Force signing for the connection
     saved_signing_state = creds.get_smb_signing()
     creds.set_smb_signing(SMB_SIGNING_REQUIRED)
-    conn = libsmb.Conn(dc_hostname, 'sysvol', lp=s3_lp, creds=creds)
+    conn = libsmb.Conn(dc_hostname, 'sysvol', lp=lp, creds=creds)
     # Reset signing state
     creds.set_smb_signing(saved_signing_state)
     cache_path = lp.cache_path('gpo_cache')
index 8c4923aa68f06ab1c4c35aa9ad35967f4f86ef46..4b3f057f534b7c1bb1e15a8a423af90ea485bc95 100755 (executable)
@@ -57,7 +57,7 @@ from samba.gp.util.logging import logger_init
 
 if __name__ == "__main__":
     parser = optparse.OptionParser('samba-gpupdate [options]')
-    sambaopts = options.SambaOptions(parser)
+    sambaopts = options.Samba3Options(parser)
 
     # Get the command line options
     parser.add_option_group(sambaopts)