[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [Patch] Configurable boilerplate



Hi,

Nick wrote:
> I need two more things before I can apply it: - Documentation
> of how to use it, ideally as a patch to doc/mixminiond.conf.5,
> so that server admins can learn how the option works without
> reading the code.

Giving it a try:

===== Beginn =====

Index: mixminiond.conf.5
===================================================================
--- mixminiond.conf.5   (revision 1)
+++ mixminiond.conf.5   (working copy)
@@ -321,8 +321,12 @@
 What should the X-Abuse header of outgoing messages contain?
 .It Cm Comments
 What should the Comments header of outgoing messages contain?
-.It Cm Message
+.It Cm MessageHeader
 If provided, a message to put before the content of any outgoing messages.
+.It Cm MessageFooter
+If provided, a message to put after the content of any outgoing messages.
+.It Cm ArmorPlaintext
+Boolean: Do we want to armor printable ASCII messages in OpenPGP ASCII armor? Switching this off will turn off the "BEGIN TYPE III ANONYMOUS MESSAGE" wrapping for most outgoing messages.
 .It Cm FromTag
 What should the 'tag' portion of outgoing return addresses contain?  Defaults
 to "[Anon]".
@@ -368,7 +372,7 @@
 .It Cm RemoveContact
 A contact address that users can email to be removed from the address file.
 .It Cm Retry, SendmailCommand, SMTPServer, MaximumSize, AllowFromAddress, \
-X-Abuse, Comments, Message, FromTag, ReturnAddress
+X-Abuse, Comments, MessageHeader, MessageFooter, ArmorPlaintext, FromTag, ReturnAddress
 See the corresponding entries in the [Delivery/SMTP] section.
 .El
 .Ss The [Delivery/SMTP-Via-Mixmaster] Section

===== Ende =====

> - Fixes and cleanups to the unit tests to check for the new
> behavior. After I apply this and run "make test", I get 4 new
> unit test failures.

Agreed.

===== Beginn =====

Index: server/Modules.py
===================================================================
--- server/Modules.py   (revision 13)
+++ server/Modules.py   (revision 14)
@@ -1147,7 +1147,7 @@
         self.contact = sec['RemoveContact']
         self.retrySchedule = sec['Retry']
         self.allowFromAddr = sec['AllowFromAddress']
-        self.armorPlaintext = sec['ArmorPlaintext']
+        self.armorPlaintext = sec.get('ArmorPlaintext', 0)
         # validate should have caught these.
         assert (self.returnAddress and self.contact)
 
@@ -1279,7 +1279,7 @@
         self.contact = sec['RemoveContact']
         self.retrySchedule = sec['Retry']
         self.allowFromAddr = sec['AllowFromAddress']
-        self.armorPlaintext = sec['ArmorPlaintext']
+        self.armorPlaintext = sec.get('ArmorPlaintext', 0)
         # validate should have caught these.
         assert (self.addressFile and self.returnAddress and self.contact)
 
@@ -1451,7 +1451,7 @@
         self.fromTag = sec.get('FromTag', "[Anon]")
         self.subjectTag = sec.get('SubjectTag', "")
         self.allowFromAddr = sec['AllowFromAddress']
-        self.armorPlaintext = sec['ArmorPlaintext']
+        self.armorPlaintext = sec.get('ArmorPlaintext', 0)
 
         self.initializeHeaders(sec)
 
@@ -1536,7 +1536,7 @@
         self.fromTag = sec.get('FromTag', "[Anon]")
         self.subjectTag = sec.get('SubjectTag', "")
         self.allowFromAddr = sec['AllowFromAddress']
-        self.armorPlaintext = sec['ArmorPlaintext']
+        self.armorPlaintext = sec.get('ArmorPlaintext', 0)
         self.command = cmd[0]
         self.options = tuple(cmd[1]) + ("-l", self.server)
         self.returnAddress = "nobody"
Index: test.py
===================================================================
--- test.py     (revision 13)
+++ test.py     (revision 14)
@@ -5909,6 +5909,7 @@
                            'MixCommand' : ('ls', ['-z']),
                            "MaximumSize" : 32*1024,
                            "AllowFromAddress" : 1,
+                           "ArmorPlaintext" : 1,
                            }},
                          manager)
         queue = manager.queues['SMTP_MIX2']
@@ -5985,7 +5986,7 @@
 Enabled: yes
 SMTPServer: nowhere
 BlacklistFile: %s
-Message: Avast ye mateys!  Prepare to be anonymized!
+MessageHeader: Avast ye mateys!  Prepare to be anonymized!
 ReturnAddress: yo.ho.ho@xxxxxxxxxxxxx
 SubjectLine: Arr! This be a Type III Anonymous Message
 MaximumSize: 35K
@@ -6255,7 +6256,7 @@
         manager = self.getManager("""[Delivery/SMTP]
 Enabled: yes
 SMTPServer: nowhere
-Message: Avast ye mateys!  Prepare to be anonymized!
+MessageHeader: Avast ye mateys!  Prepare to be anonymized!
 ReturnAddress: yo.ho.ho@xxxxxxxxxxxxx
 SubjectLine: Arr! This be a Type III Anonymous Message
 MaximumSize: 1M

===== Ende =====

Ciao

Tobias

Attachment: pgptELFID6ktN.pgp
Description: PGP signature