X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=ud-info;h=73e040de0dd8aef8c1b5b9b84c5820d12694556c;hb=4f92f011a785b43dce5d36a84e3344a1e2615b17;hp=a94ff91a328acdc8326193df17462a51bc34964a;hpb=86a2cb531c55baec854944024f243e4d9def08e9;p=mirror%2Fuserdir-ldap.git diff --git a/ud-info b/ud-info index a94ff91..73e040d 100755 --- a/ud-info +++ b/ud-info @@ -24,6 +24,7 @@ # Copyright (c) 2008 Martin Zobel-Helas # Copyright (c) 2008 Marc 'HE' Brockschmidt # Copyright (c) 2008 Mark Hymers +# Copyright (c) 2008 Joey Schulze # # 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 @@ -75,7 +76,8 @@ AttrInfo = {"cn": ["First Name", 101], "mailRBL": ["Mail RBLs",22], "mailRHSBL": ["Mail RHSBLs",23], "mailWhitelist": ["Mail Whitelist",24], - "VoIP": ["VoIP Address",25], + "mailSpamOptOut": ["Mail Spam Filtering",25], + "VoIP": ["VoIP Address",26], "comment": ["Comment",116], "userPassword": ["Crypted Password",117], "dnsZoneEntry": ["d.net Entry",118], @@ -109,6 +111,7 @@ AttrPrompt = {"cn": ["Common name or first name"], "mailRBL": ["SMTP time RBL lists"], "mailRHSBL": ["SMTP time RHSBL lists"], "mailWhitelist": ["SMTP time whitelist from other checks"], + "mailSpamOptOut": ["Mail Spam Filtering"], "member": ["LDAP Group Member for slapd ACLs"], "latitude": ["XEarth latitude in ISO 6709 format - see /usr/share/zoneinfo/zone.tab or etak.com"], "longitude": ["XEarth latitude in ISO 6709 format - see /usr/share/zoneinfo/zone.tab or etak.com"], @@ -249,6 +252,14 @@ def ChangeAttr(Attrs,Attr): Attrs[1][Attr] = [""]; return; + if (Attr == "mailSpamOptOut" and NewValue != "true" and NewValue != "false"): + if (NewValue == "1"): NewValue = "true" + else: + if (NewValue == "0"): NewValue = "false" + else: + print "Need a boolean value" + return + # Set a new value print "Setting.",; l.modify_s(UserDn,[(ldap.MOD_REPLACE,Attr,NewValue)]); @@ -299,10 +310,10 @@ def Lock(UserDn, Attrs, DisableMail=True): (ldap.MOD_REPLACE,"shadowExpire","1")]; if DisableMail: recs.append( (ldap.MOD_REPLACE,"mailDisableMessage","account locked") ) - Attrs[0][1]["shadowLastChange"] = [shadowLast]; + Attrs[0][1]["mailDisableMessage"] = ["account locked"]; l.modify_s(UserDn,recs); Attrs[0][1]["userPassword"] = ["{crypt}*LK*"]; - Attrs[0][1]["mailDisableMessage"] = ["account locked"]; + Attrs[0][1]["shadowLastChange"] = [shadowLast]; Attrs[0][1]["shadowExpire"] = ["1"]; # Main program starts here @@ -444,7 +455,7 @@ while(1): print "Set account to:" print " 1) retiring (lock account but do not disable mail):" - print " 2) retired (lock account and disable mail):" + print " 2) inactive (removed/emeritus/... - lock account and disable mail):" print " 3) memorial (lock account and disable mail):" print " 4) active (do not change other settings, you will have to deal with them)" print " q) return (no change)" @@ -454,7 +465,7 @@ while(1): if Resp == "1": newstatus = "retiring %s"%(time.strftime("%Y-%m-%d")) else: - newstatus = "retired %s"%(time.strftime("%Y-%m-%d")) + newstatus = "inactive %s"%(time.strftime("%Y-%m-%d")) l.modify_s(UserDn,[(ldap.MOD_REPLACE,"accountStatus",newstatus)]) Attrs[0][1]["accountStatus"] = [newstatus]