[SCM] Samba Shared Repository - branch master updated

Douglas Bagnall dbagnall at samba.org
Sat Aug 6 01:43:02 UTC 2022


The branch, master has been updated
       via  0fdd7e16a1d samba-tool gpo: clean up tmpdir after create
       via  5750d7a1d05 samba-tool: allow testparm to dump global section only
       via  1c6e59a7dfc pyparam: expose lpcfg_dump_globals()
       via  e0d96197fdd pytest/netcmd: test samba-tool testparm global section
      from  5075df4575d s3: smbd: Remove ugly SMB1-specific hack to filename_convert_dirfsp()

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 0fdd7e16a1d2c68e3fa4262c8e7355b0889c5b66
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Thu Mar 24 18:39:55 2022 +1300

    samba-tool gpo: clean up tmpdir after create
    
    'fetch' and 'backup' might also leave files in /tmp, but in those cases
    we want the files.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15006
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: David Mulder <dmulder at suse.com>
    
    Autobuild-User(master): Douglas Bagnall <dbagnall at samba.org>
    Autobuild-Date(master): Sat Aug  6 01:42:09 UTC 2022 on sn-devel-184

commit 5750d7a1d05bccf61b3ae0ea4dcb36e0c103cb26
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Thu Aug 4 15:44:45 2022 +1200

    samba-tool: allow testparm to dump global section only
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15070
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: David Mulder <dmulder at suse.com>

commit 1c6e59a7dfcc0758606db835082bfe789356e382
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Thu Aug 4 15:41:25 2022 +1200

    pyparam: expose lpcfg_dump_globals()
    
    This is needed by samba-tool testparm, in the next commit.
    
    BUG: https://bugzilla.samba.org/show_bug.cgi?id=15070
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: David Mulder <dmulder at suse.com>

commit e0d96197fdd9ea85bc320768b578a02b80bedbb9
Author: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
Date:   Fri Aug 5 10:48:06 2022 +1200

    pytest/netcmd: test samba-tool testparm global section
    
    Signed-off-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>
    Reviewed-by: David Mulder <dmulder at suse.com>

-----------------------------------------------------------------------

Summary of changes:
 python/samba/netcmd/gpo.py      |  4 ++++
 python/samba/netcmd/testparm.py |  5 ++++-
 python/samba/tests/netcmd.py    |  8 ++++++++
 source4/param/pyparam.c         | 33 +++++++++++++++++++++++++++++++++
 4 files changed, 49 insertions(+), 1 deletion(-)


Changeset truncated at 500 lines:

diff --git a/python/samba/netcmd/gpo.py b/python/samba/netcmd/gpo.py
index 3b21dc6128c..fe8afa7d9a0 100644
--- a/python/samba/netcmd/gpo.py
+++ b/python/samba/netcmd/gpo.py
@@ -1296,6 +1296,10 @@ class cmd_create(GPOCommand):
         else:
             self.samdb.transaction_commit()
 
+        if tmpdir is None:
+            # Without --tmpdir, we created one in /tmp/. It must go.
+            shutil.rmtree(self.tmpdir)
+
         self.outf.write("GPO '%s' created as %s\n" % (displayname, gpo))
 
 
diff --git a/python/samba/netcmd/testparm.py b/python/samba/netcmd/testparm.py
index b44dea1f141..41dbb4bd623 100644
--- a/python/samba/netcmd/testparm.py
+++ b/python/samba/netcmd/testparm.py
@@ -106,7 +106,10 @@ class cmd_testparm(Command):
                     try:
                         section = lp[section_name]
                     except KeyError:
-                        raise CommandError("Unknown section %s" % section_name)
+                        if section_name in ['global', 'globals']:
+                            lp.dump_globals()
+                        else:
+                            raise CommandError(f"Unknown section {section_name}")
                     else:
                         section.dump(lp.default_service, verbose)
                 else:
diff --git a/python/samba/tests/netcmd.py b/python/samba/tests/netcmd.py
index 4bcddd332e7..833ad418923 100644
--- a/python/samba/tests/netcmd.py
+++ b/python/samba/tests/netcmd.py
@@ -94,6 +94,14 @@ class TestParmTests(NetCmdTestCase):
                          "--section-name=tmp"],
                         retcode=None)
 
+    def test_section_globals(self):
+        # We can have '[global]' and '[globals]'
+        for name in ['global', 'globals']:
+            self.run_netcmd(cmd_testparm,
+                            [f"--configfile={self.smbconf.name}",
+                             f"--section-name={name}"],
+                            retcode=None)
+
     def test_no_such_section(self):
         out, err = self.run_netcmd(cmd_testparm,
                                    ["--configfile=%s" % self.smbconf.name,
diff --git a/source4/param/pyparam.c b/source4/param/pyparam.c
index e15592b5743..8f28083819a 100644
--- a/source4/param/pyparam.c
+++ b/source4/param/pyparam.c
@@ -289,6 +289,37 @@ static PyObject *py_lp_dump(PyObject *self, PyObject *args)
 	Py_RETURN_NONE;
 }
 
+static PyObject *py_lp_dump_globals(PyObject *self, PyObject *args)
+{
+	bool show_defaults = false;
+	const char *file_name = "";
+	const char *mode = "w";
+	FILE *f;
+	struct loadparm_context *lp_ctx = PyLoadparmContext_AsLoadparmContext(self);
+
+	if (!PyArg_ParseTuple(args, "|bss", &show_defaults, &file_name, &mode))
+		return NULL;
+
+	if (file_name[0] == '\0') {
+		f = stdout;
+	} else {
+		f = fopen(file_name, mode);
+	}
+
+	if (f == NULL) {
+		PyErr_SetFromErrno(PyExc_IOError);
+		return NULL;
+	}
+
+	lpcfg_dump_globals(lp_ctx, f, show_defaults);
+
+	if (f != stdout) {
+		fclose(f);
+	}
+
+	Py_RETURN_NONE;
+}
+
 static PyObject *py_lp_dump_a_parameter(PyObject *self, PyObject *args)
 {
 	char *param_name;
@@ -433,6 +464,8 @@ static PyMethodDef py_lp_ctx_methods[] = {
 		"Get the server role." },
 	{ "dump", py_lp_dump, METH_VARARGS,
 		"S.dump(show_defaults=False, file_name='', mode='w')" },
+	{ "dump_globals", py_lp_dump_globals, METH_VARARGS,
+	        "S.dump_globals(show_defaults=False, file_name='', mode='w')" },
 	{ "dump_a_parameter", py_lp_dump_a_parameter, METH_VARARGS,
 		"S.dump_a_parameter(name, service_name, file_name='', mode='w')" },
 	{ "log_level", py_lp_log_level, METH_NOARGS,


-- 
Samba Shared Repository



More information about the samba-cvs mailing list