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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
--- cyrus-imapd-2.2.10/imap/message.c.munge8bit 2004-02-27 18:44:55.000000000 +0100
+++ cyrus-imapd-2.2.10/imap/message.c 2004-07-27 18:20:13.725563440 +0200
@@ -227,6 +227,7 @@
int n;
int sawcr = 0, sawnl;
int reject8bit = config_getswitch(IMAPOPT_REJECT8BIT);
+ int munge8bit = config_getswitch(IMAPOPT_MUNGE8BIT);
int inheader = 1, blankline = 1;
while (size) {
@@ -262,7 +263,7 @@
/* We have been configured to reject all mail of this
form. */
if (!r) r = IMAP_MESSAGE_CONTAINS8BIT;
- } else {
+ } else if (munge8bit) {
/* We have been configured to munge all mail of this
form. */
*p = 'X';
--- cyrus-imapd-2.2.10/imap/spool.c.munge8bit 2004-03-04 17:09:34.000000000 +0100
+++ cyrus-imapd-2.2.10/imap/spool.c 2004-07-27 18:20:13.726563149 +0200
@@ -140,6 +140,7 @@
state s = NAME_START;
int r = 0;
int reject8bit = config_getswitch(IMAPOPT_REJECT8BIT);
+ int munge8bit = config_getswitch(IMAPOPT_MUNGE8BIT);
const char **skip = NULL;
if (namelen == 0) {
@@ -266,7 +267,7 @@
form. */
r = IMAP_MESSAGE_CONTAINS8BIT;
goto ph_error;
- } else {
+ } else if (munge8bit) {
/* We have been configured to munge all mail of this
form. */
c = 'X';
--- cyrus-imapd-2.2.10/lib/imapoptions.munge8bit 2004-07-21 21:07:45.000000000 +0200
+++ cyrus-imapd-2.2.10/lib/imapoptions 2004-07-27 18:20:13.722564314 +0200
@@ -458,6 +458,12 @@
{ "mboxlist_db", "skiplist", STRINGLIST("flat", "berkeley", "skiplist")}
/* The cyrusdb backend to use for the mailbox list. */
+{ "munge8bit", 1, SWITCH }
+/* If enabled, lmtpd munges messages with 8-bit characters. These characters
+ are changed to . If \fBreject8bit\fR is enabled, setting \fBmunge8bit\fR
+ has no effect. (A proper soultion to non-ASCII characters in headers is
+ offered by RFC 2047 and its predecessors.) */
+
# xxx badly worded
{ "mupdate_connections_max", 128, INT }
/* The max number of connections that a mupdate process will allow, this
@@ -670,9 +676,7 @@
{ "reject8bit", 0, SWITCH }
/* If enabled, lmtpd rejects messages with 8-bit characters in the
- headers. Otherwise, 8-bit characters are changed to `X'. (A
- proper soultion to non-ASCII characters in headers is offered by
- RFC 2047 and its predecessors.) */
+ headers. */
{ "rfc2046_strict", 0, SWITCH }
/* If enabled, imapd will be strict (per RFC 2046) when matching MIME
--- cyrus-imapd-2.2.10/man/deliver.8.munge8bit 2004-06-21 20:40:10.000000000 +0200
+++ cyrus-imapd-2.2.10/man/deliver.8 2004-07-27 18:20:13.719565188 +0200
@@ -147,8 +147,10 @@
Accept messages using the LMTP protocol.
.SH NOTES
Depending on the setting of \fBreject8bit\fR in \fBimapd.conf(5)\fR, deliver
-either rejects messages with 8-bit-set characters in the headers or
-changes these characters to `X'.
+either rejects/accepts messages with 8-bit-set characters in the headers.
+If we accept messages with 8-bit-set characters in the headers, then depending
+on the setting of \fBmunge8bit\fR, these characters are either left un-touched
+or changed to .
This is because such characters can't be interpreted since the
character set is not known, although some communities not well-served by
US-ASCII assume that those characters can be used to represent characters not
|