Query the LDAP server if no locally defined group with that name was found
authorjoey <>
Sat, 11 Aug 2007 13:27:37 +0000 (13:27 +0000)
committerjoey <>
Sat, 11 Aug 2007 13:27:37 +0000 (13:27 +0000)
ud-useradd
userdir_ldap.py

index 075b20b..419ae6a 100755 (executable)
@@ -160,7 +160,7 @@ if Res != "":
 # GID
 Res = raw_input("Group ID Number [" + gidNumber + "]? ");
 if Res != "":
-   gidNumber = Group2GID(Res);
+   gidNumber = Group2GID(l, Res);
 
 # UID
 if uidNumber == 0:
index a048299..0ba37f4 100644 (file)
@@ -411,7 +411,7 @@ def GetUID(l,Name,UnknownMap = {}):
 
    return (None,None);
 
-def Group2GID(name):
+def Group2GID(l, name):
    """
    Returns the numerical id of a common group
    on error returns -1
@@ -419,4 +419,10 @@ def Group2GID(name):
    for g in DebianGroups.keys():
       if name == g:
          return DebianGroups[g]
+
+   filter = "(gid=%s)" % name
+   res = l.search_s(BaseDn,ldap.SCOPE_ONELEVEL,filter,["gidNumber"]);
+   if res:
+      return GetAttr(res[0], "gidNumber")
+
    return -1