Stop exporting locked accounts
[mirror/userdir-ldap.git] / ud-generate
index b00125c..b3f0b58 100755 (executable)
@@ -33,6 +33,7 @@ global Allowed;
 global CurrentHost;
 
 PasswdAttrs = None;
+disabledusers = []
 GroupIDMap = {};
 SubGroupMap = {};
 Allowed = None;
@@ -585,6 +586,7 @@ def GenDisabledAccounts(l,File):
 
    # Fetch all the users
    global PasswdAttrs;
+   global disabledusers
    if PasswdAttrs == None:
       raise "No Users";
 
@@ -604,6 +606,8 @@ def GenDisabledAccounts(l,File):
       if Line != "":
          F.write(Sanitize(Line) + "\n")
 
+      disabledusers.append(x)
+
   # Oops, something unspeakable happened.
   except:
    Die(File,F,None);
@@ -889,9 +893,10 @@ def HostToIP(Host):
         except socket.gaierror, (code):
             if code[0] != -2: raise
         IPAdresses = []
-        for addr in IPAdressesT:
-            if addr[0] == socket.AF_INET: IPAdresses += [addr[1], "::ffff:"+addr[1]]
-            else: IPAdresses += [addr[1]]
+        if not IPAdressesT is None:
+            for addr in IPAdressesT:
+               if addr[0] == socket.AF_INET: IPAdresses += [addr[1], "::ffff:"+addr[1]]
+               else: IPAdresses += [addr[1]]
         HostToIPCache[Host] = IPAdresses
     return HostToIPCache[Host]
 
@@ -1057,6 +1062,8 @@ GenKeyrings(l,GlobalDir);
 # Compatibility.
 GenForward(l,GlobalDir+"forward-alias");
 
+PasswdAttrs = filter(lambda x: not x in disabledusers, PasswdAttrs)
+
 while(1):
    Line = F.readline();
    if Line == "":