Re: cyrus & 8bit headers
Nick Mamashin <nick@sochi-online.com> writes:
> Некоторые письма, в заголовках которых присутствуют русские буковки,
> cyrus превращает в XXX. Как я понял из документации это не глюк,
> а фича в соответствии с rfc 2047. RFC это конечно хорошо
> но письма с сабжем а-ля 'XXX XXXX XX' выглядят не очень хорошо.
> Как тутошний народ борится с этой проблемой - только с помощью
> редактирования сырцов cyrus или есть более красивый способ ?
>
Именно редактированием. Вот патч.
diff -uNr cyrus-imapd-1.5.19/debian/imapd.conf cyrus-imapd-1.5.19.new/debian/imapd.conf
--- cyrus-imapd-1.5.19/debian/imapd.conf Tue Sep 17 14:29:30 2002
+++ cyrus-imapd-1.5.19.new/debian/imapd.conf Wed Aug 28 16:18:06 2002
@@ -24,3 +24,7 @@
# umask used by Cyrus programs
umask: 077
+
+# reject8bit set to 2 will cause to accept broken mail headers
+# value of 1 will reject messages, value of 0 will subst with 'X'
+reject8bit: 2
diff -uNr cyrus-imapd-1.5.19/imap/message.c cyrus-imapd-1.5.19.new/imap/message.c
--- cyrus-imapd-1.5.19/imap/message.c Thu Oct 29 23:16:31 1998
+++ cyrus-imapd-1.5.19.new/imap/message.c Wed Aug 28 16:10:42 2002
@@ -209,7 +209,7 @@
int r = 0;
int n;
int sawcr = 0, sawnl;
- int reject8bit = config_getswitch("reject8bit", 0);
+ int reject8bit = config_getint("reject8bit", 0);
int inheader = 1, blankline = 1;
while (size) {
@@ -241,14 +241,15 @@
sawcr = 0;
blankline = 0;
if (inheader && *p >= 0x80) {
- if (reject8bit) {
+ if (reject8bit == 1) {
/* We have been configured to reject all mail of this
form. */
if (!r) r = IMAP_MESSAGE_CONTAINS8BIT;
} else {
/* We have been configured to munge all mail of this
form. */
- *p = 'X';
+ /* ugly hack */
+ if(reject8bit == 0) *p = 'X' ;
}
}
}
--
Mon at phobos.loc
Der kalte Mond in voller Pracht...
The Moon is Waxing Gibbous (85% of Full)
Reply to: