# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Some routines and configuration that are used by the ldap progams
-import termios, re, string, imp, ldap, sys, whrandom, crypt, rfc822;
+import termios, re, string, imp, ldap, sys, crypt, rfc822;
import userdir_gpg
try:
"nogroup": 65534
}
+# ObjectClasses for different object types
+UserObjectClasses = ("top", "inetOrgPerson", "debianAccount", "shadowAccount", "debianDeveloper")
+RoleObjectClasses = ("top", "debianAccount", "shadowAccount", "debianRoleAccount")
+GroupObjectClasses = ("top", "debianGroup")
+
# SSH Key splitting. The result is:
# (options,size,modulous,exponent,comment)
SSHAuthSplit = re.compile('^(.* )?(\d+) (\d+) (\d+) ?(.+)$');
return (None,None);
-def Group2GID(name):
- """Returns the numerical id of a common group"""
+def Group2GID(l, name):
+ """
+ Returns the numerical id of a common group
+ on error returns -1
+ """
for g in DebianGroups.keys():
if name == g:
return DebianGroups[g]
- return name
+
+ filter = "(gid=%s)" % name
+ res = l.search_s(BaseDn,ldap.SCOPE_ONELEVEL,filter,["gidNumber"]);
+ if res:
+ return int(GetAttr(res[0], "gidNumber"))
+
+ return -1