s3-py-passdb: Fix handling of uninitialized gid values
authorAmitay Isaacs <amitay@gmail.com>
Fri, 18 Nov 2011 03:35:56 +0000 (14:35 +1100)
committerAmitay Isaacs <amitay@samba.org>
Fri, 18 Nov 2011 05:18:33 +0000 (06:18 +0100)
Uninitialized gid value is set to -1 and return as such from python
passdb api.

Autobuild-User: Amitay Isaacs <amitay@samba.org>
Autobuild-Date: Fri Nov 18 06:18:33 CET 2011 on sn-devel-104

source3/passdb/py_passdb.c
source4/scripting/python/samba/tests/samba3.py
source4/scripting/python/samba/upgrade.py

index 39ecf86094b925dd95b8f8c85a46f2b2642b0b27..46f2e90f3d366230114d2aa39262854d462d0142 100644 (file)
@@ -975,7 +975,7 @@ static PyObject *py_groupmap_get_gid(PyObject *obj, void *closure)
        GROUP_MAP *group_map = (GROUP_MAP *)pytalloc_get_ptr(obj);
        PyObject *py_gid;
 
-       py_gid = PyInt_FromLong(group_map->gid);
+       py_gid = Py_BuildValue("i", group_map->gid);
        return py_gid;
 }
 
index 782cf37461d32e75bd18e8d74f791f08f9bba2a4..e8852cd5e61ea0160c51c3bb37c57e67b43e9f77 100644 (file)
@@ -151,7 +151,7 @@ class PassdbTestCase(TestCaseInTempDir):
     def test_get_group(self):
         group = self.pdb.getgrsid(dom_sid("S-1-5-32-544"))
         self.assertEquals("Administrators", group.nt_name)
-        self.assertEquals(4294967295, group.gid)
+        self.assertEquals(-1, group.gid)
         self.assertEquals(5, group.sid_name_use)
 
     def test_groupsids(self):
index 11999608aa1a66ec254d11295da18738b90d6289..bf912018eb31afa08e8dc4f5c2ea1c8c73b54e93 100644 (file)
@@ -674,7 +674,7 @@ Please fix this account before attempting to upgrade again
     logger.info("Importing groups")
     for g in grouplist:
         # Ignore uninitialized groups (gid = -1)
-        if g.gid != 0xffffffff:
+        if g.gid != -1:
             add_idmap_entry(result.idmap, g.sid, g.gid, "ID_TYPE_GID", logger)
             add_group_from_mapping_entry(result.samdb, g, logger)