The branch, master has been updated
       via  2096d13 Fix some incorrect debug messages that look to be 
copy-paste issues.
       via  1b3d330 python.gpo.ADS_STRUCT: check type of loadparm argument
       via  a82ca08 samba_dnsupdate: Put samba.kcc import after path insert of 
bin/python
      from  795ec75 s3: libsmbclient: Fix hard-coded connection error return of 
ETIMEDOUT.

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


- Log -----------------------------------------------------------------
commit 2096d13274b679c282bdb85c63900eba0d76d1be
Author: Richard Sharpe <[email protected]>
Date:   Wed May 2 15:12:44 2018 -0700

    Fix some incorrect debug messages that look to be copy-paste issues.
    
    Signed-off-by: Richard Sharpe <[email protected]>
    Reviewed-by: Douglas Bagnall <[email protected]>
    
    Autobuild-User(master): Douglas Bagnall <[email protected]>
    Autobuild-Date(master): Thu May  3 08:16:26 CEST 2018 on sn-devel-144

commit 1b3d3304e5a55dbc4353ddade82da43e079e33ed
Author: Douglas Bagnall <[email protected]>
Date:   Fri Apr 13 12:29:05 2018 +1200

    python.gpo.ADS_STRUCT: check type of loadparm argument
    
    And add a test showning the segfault.
    
    Signed-off-by: Douglas Bagnall <[email protected]>
    Reviewed-by: Andrew Bartlett <[email protected]>

commit a82ca08f37658069aa547a98344b48aaf6b4a270
Author: Garming Sam <[email protected]>
Date:   Tue Mar 27 15:24:44 2018 +1300

    samba_dnsupdate: Put samba.kcc import after path insert of bin/python
    
    Signed-off-by: Garming Sam <[email protected]>
    Reviewed-by: Douglas Bagnall <[email protected]>

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

Summary of changes:
 libgpo/pygpo.c                        | 9 ++++++++-
 python/samba/tests/gpo.py             | 7 +++++++
 source3/libads/ldap.c                 | 6 +++---
 source4/scripting/bin/samba_dnsupdate | 2 +-
 4 files changed, 19 insertions(+), 5 deletions(-)


Changeset truncated at 500 lines:

diff --git a/libgpo/pygpo.c b/libgpo/pygpo.c
index db33602..60220a6 100644
--- a/libgpo/pygpo.c
+++ b/libgpo/pygpo.c
@@ -183,7 +183,14 @@ static int py_ads_init(ADS *self, PyObject *args, PyObject 
*kwds)
        }
 
        if (lp_obj) {
-               bool ok;
+               bool ok = py_check_dcerpc_type(lp_obj, "samba.param",
+                                              "LoadParm");
+               if (!ok) {
+                       PyErr_Format(PyExc_TypeError,
+                                    "Expected samba.param.LoadParm "
+                                    "for lp argument");
+                       return -1;
+               }
                lp_ctx = pytalloc_get_type(lp_obj, struct loadparm_context);
                if (lp_ctx == NULL) {
                        return -1;
diff --git a/python/samba/tests/gpo.py b/python/samba/tests/gpo.py
index bdcbcc6..796a5cb 100644
--- a/python/samba/tests/gpo.py
+++ b/python/samba/tests/gpo.py
@@ -50,6 +50,13 @@ class GPOTests(tests.TestCase):
             assert gpos[i].ds_path == ds_paths[i], \
               'ds_path did not match expected %s' % gpos[i].ds_path
 
+
+    def test_gpo_ads_does_not_segfault(self):
+        try:
+            ads = gpo.ADS_STRUCT(self.server, 42, self.creds)
+        except:
+            pass
+
     def test_gpt_version(self):
         global gpt_data
         local_path = self.lp.get("path", "sysvol")
diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c
index e8dcd1b..1384669 100644
--- a/source3/libads/ldap.c
+++ b/source3/libads/ldap.c
@@ -3454,18 +3454,18 @@ bool ads_has_samaccountname( ADS_STRUCT *ads, 
TALLOC_CTX *ctx, const char *machi
 
        status = ads_find_machine_acct(ads, &res, machine_name);
        if (!ADS_ERR_OK(status)) {
-               DEBUG(0,("ads_get_dnshostname: Failed to find account for %s\n",
+               DEBUG(0,("ads_has_samaccountname: Failed to find account for 
%s\n",
                        lp_netbios_name()));
                goto out;
        }
 
        if ( (count = ads_count_replies(ads, res)) != 1 ) {
-               DEBUG(1,("ads_get_dnshostname: %d entries returned!\n", count));
+               DEBUG(1,("ads_has_samaccountname: %d entries returned!\n", 
count));
                goto out;
        }
 
        if ( (name = ads_pull_string(ads, ctx, res, "sAMAccountName")) == NULL 
) {
-               DEBUG(0,("ads_get_dnshostname: No sAMAccountName 
attribute!\n"));
+               DEBUG(0,("ads_has_samaccountname: No sAMAccountName 
attribute!\n"));
        }
 
 out:
diff --git a/source4/scripting/bin/samba_dnsupdate 
b/source4/scripting/bin/samba_dnsupdate
index d6f77d4..508bd53 100755
--- a/source4/scripting/bin/samba_dnsupdate
+++ b/source4/scripting/bin/samba_dnsupdate
@@ -24,7 +24,6 @@ import fcntl
 import sys
 import tempfile
 import subprocess
-from samba.kcc import kcc_utils
 
 # ensure we get messages out immediately, so they get in the samba logs,
 # and don't get swallowed by a timeout
@@ -49,6 +48,7 @@ from samba.samdb import SamDB
 from samba.dcerpc import netlogon, winbind
 from samba.netcmd.dns import cmd_dns
 from samba import gensec
+from samba.kcc import kcc_utils
 import ldb
 
 samba.ensure_third_party_module("dns", "dnspython")


-- 
Samba Shared Repository

Reply via email to