Removed unused and obsolete whrandom module
[mirror/userdir-ldap.git] / ud-generate
index 1bf1951..b7ca633 100755 (executable)
@@ -4,8 +4,8 @@
 
 #   Copyright (c) 2000-2001  Jason Gunthorpe <jgg@debian.org>
 #   Copyright (c) 2003-2004  James Troup <troup@debian.org>
-#   Copyright (c) 2004-2005  Joey Schulze <joey@infodrom.org>
-#   Copyright (c) 2001-2006  Ryan Murray <rmurray@debian.org>
+#   Copyright (c) 2004-2005,7  Joey Schulze <joey@infodrom.org>
+#   Copyright (c) 2001-2007  Ryan Murray <rmurray@debian.org>
 #
 #   This program is free software; you can redistribute it and/or modify
 #   it under the terms of the GNU General Public License as published by
@@ -364,7 +364,8 @@ def GenPrivate(l,File):
          continue;
 
       # If the account is locked, do not write it
-      if (string.find(GetAttr(x,"userPassword"),"*LK*")  != -1):
+      if (string.find(GetAttr(x,"userPassword"),"*LK*")  != -1) \
+             or (string.find(GetAttr(x,"userPassword"),"*PK*")  != -1):
          continue;
 
       # If the account has no PGP key, do not write it
@@ -403,8 +404,7 @@ def GenMailDisable(l,File):
       Reason = None
       
       # If the account is locked, disable incoming mail
-      if (string.find(GetAttr(x,"userPassword"),"*LK*")  != -1) or \
-         x[1].has_key("keyFingerPrint") == 0:
+      if (string.find(GetAttr(x,"userPassword"),"*LK*")  != -1):
          Reason = "user account locked"
       else:
          if x[1].has_key("mailDisableMessage"):
@@ -500,7 +500,11 @@ def GenMailList(l,File,Key):
              if found == 0:
                  found = 1
                  Line = GetAttr(x,"uid")
+             else:
+                 Line += " "
              Line += ": " + z
+             if Key == "mailRHSBL":
+                 Line += "/$sender_address_domain"
 
          if Line != None:
              Line = Sanitize(Line) + "\n";
@@ -795,20 +799,22 @@ while(1):
      Allowed = None
    CurrentHost = Split[0];
 
+   DoLink(GlobalDir,OutDir,"ssh-rsa-shadow");
+   DoLink(GlobalDir,OutDir,"debianhosts");
+   DoLink(GlobalDir,OutDir,"ssh_known_hosts");
+
    sys.stdout.flush();
    GenPasswd(l,OutDir+"passwd",Split[1]);
    sys.stdout.flush();
    GenGroup(l,OutDir+"group");
    if ExtraList.has_key("[UNTRUSTED]"):
        continue;
-   GenShadow(l,OutDir+"shadow");
+   if not ExtraList.has_key("[NOPASSWD]"):
+     GenShadow(l,OutDir+"shadow");
        
    # Link in global things   
-   DoLink(GlobalDir,OutDir,"ssh-rsa-shadow");
    DoLink(GlobalDir,OutDir,"markers");
    DoLink(GlobalDir,OutDir,"mail-forward.cdb");
-   DoLink(GlobalDir,OutDir,"debianhosts");
-   DoLink(GlobalDir,OutDir,"ssh_known_hosts");
    DoLink(GlobalDir,OutDir,"mail-disable");
    DoLink(GlobalDir,OutDir,"mail-greylist");
    DoLink(GlobalDir,OutDir,"mail-callout");