summaryrefslogtreecommitdiff
path: root/mail/cyrus-imapd24/files/pass8bit.diff
blob: 74389a491c3024c668b8ab7acb0123f787534a4d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Index: imap/message.c
diff -u -p imap/message.c.orig imap/message.c
--- imap/message.c.orig	Sat Feb 28 02:44:55 2004
+++ imap/message.c	Thu Oct  7 20:21:04 2004
@@ -227,6 +227,7 @@ unsigned size;
     int n;
     int sawcr = 0, sawnl;
     int reject8bit = config_getswitch(IMAPOPT_REJECT8BIT);
+    int pass8bit = config_getswitch(IMAPOPT_PASS8BIT);
     int inheader = 1, blankline = 1;
 
     while (size) {
@@ -262,7 +263,7 @@ unsigned size;
 			/* We have been configured to reject all mail of this
 			   form. */
 			if (!r) r = IMAP_MESSAGE_CONTAINS8BIT;
-		    } else {
+		    } else if (!pass8bit) {
 			/* We have been configured to munge all mail of this
 			   form. */
 			*p = 'X';
Index: imap/spool.c
diff -u -p imap/spool.c.orig imap/spool.c
--- imap/spool.c.orig	Fri Mar  5 01:09:34 2004
+++ imap/spool.c	Thu Oct  7 20:20:57 2004
@@ -140,6 +140,7 @@ static int parseheader(struct protstream
     state s = NAME_START;
     int r = 0;
     int reject8bit = config_getswitch(IMAPOPT_REJECT8BIT);
+    int pass8bit = config_getswitch(IMAPOPT_PASS8BIT);
     const char **skip = NULL;
 
     if (namelen == 0) {
@@ -266,7 +267,7 @@ static int parseheader(struct protstream
 			   form. */
 			r = IMAP_MESSAGE_CONTAINS8BIT;
 			goto ph_error;
-		    } else {
+		    } else if (!pass8bit) {
 			/* We have been configured to munge all mail of this
 			   form. */
 			c = 'X';
Index: lib/imapoptions
diff -u lib/imapoptions.orig lib/imapoptions
--- lib/imapoptions.orig	Thu Jul 22 04:07:45 2004
+++ lib/imapoptions	Thu Oct  7 20:00:04 2004
@@ -95,6 +95,12 @@
 { "afspts_mycell", NULL, STRING }
 /* Cell to use for AFS PTS lookups.  Defaults to the local cell. */
 
+{ "pass8bit", 0, SWITCH }
+/* If enabled, lmtpd accepts messages with 8-bit characters in the
+   headers without changing to `X'.  This option is strongly not
+   recommended.  (A proper soultion to non-ASCII characters in headers
+   is offered by RFC 2047 and its predecessors.) */
+
 { "allowallsubscribe", 0, SWITCH }
 /* Allow subscription to nonexistent mailboxes.  This option is
    typically used on backend servers in a Murder so that users can