projects
/
mirror
/
userdir-ldap.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Import from samosa: Added space to improve the readability
[mirror/userdir-ldap.git]
/
ud-groupadd
diff --git
a/ud-groupadd
b/ud-groupadd
index
e242567
..
4cb10ee
100755
(executable)
--- a/
ud-groupadd
+++ b/
ud-groupadd
@@
-9,15
+9,17
@@
from userdir_gpg import *;
# this, one is to fetch all the entires and pick the highest, the other
# is to randomly guess uids until one is free. This uses the former.
# Regrettably ldap doesn't have an integer attribute comparision function
# this, one is to fetch all the entires and pick the highest, the other
# is to randomly guess uids until one is free. This uses the former.
# Regrettably ldap doesn't have an integer attribute comparision function
-# so we can only cut the search down slightly
+# so we can only cut the search down slightly
+
+# [JT] This is broken with Woody LDAP and the Schema; for now just
+# search through all GIDs.
def GetFreeID(l):
def GetFreeID(l):
- HighestUID = 1000;
- Attrs = l.search_s(BaseDn,ldap.SCOPE_ONELEVEL,
- "gidnumber>="+str(HighestUID),["gidnumber"]);
+ Attrs = l.search_s(BaseDn,ldap.SCOPE_ONELEVEL,
+ "gidNumber=*",["gidNumber"]);
HighestUID = 0;
for I in Attrs:
HighestUID = 0;
for I in Attrs:
- ID = int(GetAttr(I,"gid
n
umber","0"));
- if ID > HighestUID and ID < 60000:
+ ID = int(GetAttr(I,"gid
N
umber","0"));
+ if ID > HighestUID and ID < 60000:
HighestUID = ID;
return HighestUID + 1;
HighestUID = ID;
return HighestUID + 1;
@@
-41,8
+43,8
@@
l = ldap.open(LDAPServer);
UserDn = "uid=" + AdminUser + "," + BaseDn;
l.simple_bind_s(UserDn,Password);
UserDn = "uid=" + AdminUser + "," + BaseDn;
l.simple_bind_s(UserDn,Password);
-while 1:
- Group = raw_input("Group name?");
+while 1:
+ Group = raw_input("Group name?
");
if Group == "":
sys.exit(1);
if Group == "":
sys.exit(1);
@@
-50,17
+52,14
@@
while 1:
if len(Attrs) == 0:
break;
print "Group already exists";
if len(Attrs) == 0:
break;
print "Group already exists";
-
-Id = GetFreeID(l);
+
+Id = GetFreeID(l);
print "Create group %s ID = %d"%(Group,Id);
print "Create group %s ID = %d"%(Group,Id);
-
-# Submit the add request
+
+# Submit the add request
Dn = "gid=" + Group + "," + BaseDn;
print "Updating LDAP directory..",
sys.stdout.flush();
l.add_s(Dn,[("gid",Group),
Dn = "gid=" + Group + "," + BaseDn;
print "Updating LDAP directory..",
sys.stdout.flush();
l.add_s(Dn,[("gid",Group),
- ("gidnumber",str(Id)),
- ("objectclass","top"),
- ("objectclass","posixGroup")]);
-
-
+ ("gidNumber",str(Id)),
+ ("objectClass",("top", "debianGroup"))]);