Add support for this attribute in ud-info taking into account that
[mirror/userdir-ldap.git] / ud-info
diff --git a/ud-info b/ud-info
index 282d6a4..73e040d 100755 (executable)
--- a/ud-info
+++ b/ud-info
@@ -24,6 +24,7 @@
 #   Copyright (c) 2008 Martin Zobel-Helas <zobel@debian.org>
 #   Copyright (c) 2008 Marc 'HE' Brockschmidt <he@debian.org>
 #   Copyright (c) 2008 Mark Hymers <mhy@debian.org>
+#   Copyright (c) 2008 Joey Schulze <joey@infodrom.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
@@ -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)]);