X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=ud-generate;h=56ce0366ad7317197b7e0608daa4909294fff5e2;hb=a3437bcd185d533199ebd7c3e0f69b816cc904af;hp=18e4c6e2df035fef004638d6d7d26f9b567424fe;hpb=9d35dc5360141709edea838f0eb012f2514a01bf;p=mirror%2Fuserdir-ldap.git diff --git a/ud-generate b/ud-generate index 18e4c6e..56ce036 100755 --- a/ud-generate +++ b/ud-generate @@ -45,7 +45,7 @@ CurrentHost = "" UUID_FORMAT = '[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}' EmailCheck = re.compile("^([^ <>@]+@[^ ,<>@]+)?$") -BSMTPCheck = re.compile(".*mx 0 (gluck)\.debian\.org\..*",re.DOTALL) +BSMTPCheck = re.compile(".*mx 0 (gluck|master)\.debian\.org\..*",re.DOTALL) PurposeHostField = re.compile(r".*\[\[([\*\-]?[a-z0-9.\-]*)(?:\|.*)?\]\]") DNSZone = ".debian.net" Keyrings = ConfModule.sync_keyrings.split(":") @@ -511,27 +511,24 @@ def GenForward(File): raise Done(File, F, None) -def GenAllForward(File): +def GenCDB(File, Key): Fdb = None try: OldMask = os.umask(0022) Fdb = os.popen("cdbmake %s %s.tmp"%(File, File), "w") os.umask(OldMask) - + # Fetch all the users global DebianUsers - + # Write out the email address for each user for x in DebianUsers: - if x[1].has_key("emailForward") == 0: + if not Key in x[1]: continue - - # Do not allow people to try to buffer overflow busted parsers - Forward = GetAttr(x, "emailForward") - + Value = GetAttr(x, Key) User = GetAttr(x, "uid") - Fdb.write("+%d,%d:%s->%s\n" % (len(User), len(Forward), User, Forward)) - + Fdb.write("+%d,%d:%s->%s\n" % (len(User), len(Value), User, Value)) + Fdb.write("\n") # Oops, something unspeakable happened. except: @@ -619,11 +616,11 @@ def GenDisabledAccounts(File): if Pass.find("*LK*") != -1 or Pass.startswith("!"): # Format is : Line = "%s:%s" % (GetAttr(x, "uid"), "Account is locked") + DisabledUsers.append(x) if Line != "": F.write(Sanitize(Line) + "\n") - DisabledUsers.append(x) # Oops, something unspeakable happened. except: @@ -1026,7 +1023,8 @@ PasswdAttrs = l.search_s(BaseDn, ldap.SCOPE_ONELEVEL, "uid=*",\ "allowedHost", "sshRSAAuthKey", "dnsZoneEntry", "cn", "sn",\ "keyFingerPrint", "privateSub", "mailDisableMessage",\ "mailGreylisting", "mailCallout", "mailRBL", "mailRHSBL",\ - "mailWhitelist", "sudoPassword", "objectClass", "accountStatus"]) + "mailWhitelist", "sudoPassword", "objectClass", "accountStatus",\ + "mailContentInspectionAction"]) if PasswdAttrs is None: raise UDEmptyList, "No Users" @@ -1045,13 +1043,15 @@ else: GlobalDir = GenerateDir + "/" GenDisabledAccounts(GlobalDir + "disabled-accounts") -PasswdAttrs = filter(not IsRetired, PasswdAttrs) -DebianUsers = filter(IsGidDebian, PasswdAttrs) +PasswdAttrs = filter(lambda x: not IsRetired(x), PasswdAttrs) +#DebianUsers = filter(lambda x: IsGidDebian(x), PasswdAttrs) +DebianUsers = PasswdAttrs CheckForward() GenMailDisable(GlobalDir + "mail-disable") -GenAllForward(GlobalDir + "mail-forward.cdb") +GenCDB(GlobalDir + "mail-forward.cdb", 'emailForward') +GenCDB(GlobalDir + "mail-contentinspectionaction.cdb", 'mailContentInspectionAction') GenPrivate(GlobalDir + "debian-private") #GenSSHKnown(l,GlobalDir+"authorized_keys", 'authorized_keys') GenMailBool(GlobalDir + "mail-greylist", "mailGreylisting") @@ -1131,6 +1131,7 @@ while(1): if not ExtraList.has_key("[NOMARKERS]"): DoLink(GlobalDir, OutDir, "markers") DoLink(GlobalDir, OutDir, "mail-forward.cdb") + DoLink(GlobalDir, OutDir, "mail-contentinspectionaction.cdb") DoLink(GlobalDir, OutDir, "mail-disable") DoLink(GlobalDir, OutDir, "mail-greylist") DoLink(GlobalDir, OutDir, "mail-callout")