How to make cyrus not change non US-ASCII characters to "X"
Alessandro Oliveira
alessandro.o at nunoferreira.com.br
Thu Nov 21 10:26:28 EST 2002
Is there any possibility to put this as an autoconf option?
maybe something like: "./configure --enable-strict-headers |
--disable-strict-headers" would do the trick,
or even better, a runtime configuration option !!!
what are the REAL consequences of having 8bit characters in the Subject
header ?
Thanks,
Alessandro Oliveira
>> A> Date: Wed, 20 Nov 2002 09:30:31 -0200
>> A> To: info-cyrus <info-cyrus at lists.andrew.cmu.edu>
>>
>> A> Hi,
>>
>> A> I'd like to know if there is a way to avoid this cyrus behavior, my
>> A> users are getting very angry with it.
>>
>> A> Thanks for any help,
>>
>> Yes, users do. And notice about strict 7-bit ASCII within headers
>> does not help.
>>
>> Same problem using Cyrillic. I have not found anything else and
>> used a simple hack. Locate the following 2 files in the source tree:
>> lmtpengine.c and message.c
>>
>> change them the following way ( by inserting `#if 0' and `#endif' )
>> and re-compile the entire software.
>>
>> This eliminates the substitution unconditionally.
>>
>>
>> lmtpengine.c:
>>
>> .....
>> /* ignore this whitespace, but we'll copy all the rest
>> in */
>> break;
>> } else {
>>
>> // HACK -- Violet
>> #if 0
>> if (c >= 0x80) {
>> if (reject8bit) {
>> /* We have been configured to reject all mail
>> of this
>> form. */
>> r = IMAP_MESSAGE_CONTAINS8BIT;
>> goto ph_error;
>> } else {
>> /* We have been configured to munge all mail
>> of this
>> form. */
>> c = 'X';
>> }
>> }
>> #endif
>> /* just an ordinary character */
>> body[off++] = c;
>> .....
>>
>> and message.c:
>>
>> .....
>> else {
>> sawcr = 0;
>> blankline = 0;
>> // HACK -- Violet
>> #if 0
>> if (inheader && *p >= 0x80) {
>> if (reject8bit) {
>> /* 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';
>> }
>> }
>> #endif
>> }
>> }
>>
>> fwrite(buf, 1, n, to);
>> }
>> .....
>>
> In 2.2 cvs you do this in message.c and spool.c
More information about the Info-cyrus
mailing list