# This tries to search for a free UID. There are two possible ways to do
# 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 formar.
+# 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
def GetFreeID(l):
# Process options
ForceMail = 0;
-(options, arguments) = getopt.getopt(sys.argv[1:], "u:m")
+OldGPGKeyRings = GPGKeyRings;
+userdir_gpg.GPGKeyRings = [];
+(options, arguments) = getopt.getopt(sys.argv[1:], "u:ma")
for (switch, val) in options:
if (switch == '-u'):
AdminUser = val;
elif (switch == '-m'):
ForceMail = 1;
-
+ elif (switch == '-a'):
+ userdir_gpg.GPGKeyRings = OldGPGKeyRings;
+
print "Accessing LDAP directory as '" + AdminUser + "'";
Password = getpass(AdminUser + "'s password: ");
account = Res;
Attrs = l.search_s(BaseDn,ldap.SCOPE_ONELEVEL,"uid=" + account);
if len(Attrs) == 0:
+ privsub = "%s@debian.org"%(account);
break;
Res = raw_input("That account already exists, update [no]? ");
if Res == "yes":
Subst["__PRIVATE__"] = privsub;
Subst["__EMAIL__"] = email;
Subst["__PASSWORD__"] = CryptedPass;
-Subst["__LISTPASS__"] = string.strip(open(pwd.getpwuid(os.getuid())[5]+"/.debian-lists_passwd","r").read());
+#Subst["__LISTPASS__"] = string.strip(open(pwd.getpwuid(os.getuid())[5]+"/.debian-lists_passwd","r").read());
# Generate the LDAP request
Rec = [(ldap.MOD_REPLACE,"uid",account),
sys.exit(0);
# Do the subscription/welcome message
-if privsub != " ":
- Sub = TemplateSubst(Subst,open(TemplatesDir+"/list-subscribe","r").read());
- Child = os.popen("/usr/sbin/sendmail -t","w");
- Child.write(Sub);
- if Child.close() != None:
- raise Error, "Sendmail gave a non-zero return code";
+#if privsub != " ":
+# Sub = TemplateSubst(Subst,open(TemplatesDir+"/list-subscribe","r").read());
+# Child = os.popen("/usr/sbin/sendmail -t","w");
+# Child.write(Sub);
+# if Child.close() != None:
+# raise Error, "Sendmail gave a non-zero return code";
# Send the Welcome message
print "Sending Welcome Email"