freebsd-ports/mail/cyrus-imapd22/files/pass8bit.diff
Hajimu UMEMOTO ab95681b1a Add PASS8BITHACK option to pass 8bit in subject.
Cyrus doesn't accept this hack, and I really don't like it.

Requested by:	many
2004-12-06 15:59:17 +00:00

59 lines
2.1 KiB
Diff

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