How to make cyrus not change non US-ASCII characters to "X"

Alessandro Oliveira alessandro.o at nunoferreira.com.br
Thu Nov 21 11:03:59 EST 2002


Maybe the best solution would be a filter to change the message body 
encoding using quoted-printable instead of putting X everywhere, and 
change headers to also use the appropriate encoding. What do you think 
about this ?

Christian Schulte escreveu:

>> 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 ?
>>
>>>> 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
>>
> I thought that cyrus does not only replace non US-ASCII characters in 
> the mail-header. If a mail with a specified enconding of US-ASCII gets 
> send through LMTP all non US-ASCII characters in the mail body get 
> replaced to "X" also! My users were not interested in this behaviour 
> if that would only affect the header. The problem is that in e.g. 
> germany all umlauts like ä,ü,ö etc. get replaced in the body if 
> specified as US-ASCII. Of course the mail body specifies a wrong 
> character encoding if sent as US-ASCII but containing umlauts but even 
> a big free-mail-provider (www.web.de) in germany with millions of 
> users sends his newsletter in US-ASCII but with umlauts! I got it done 
> with these small source-changes but this will not change user from 
> sending mail in wrong encodings :-(

-- 
Best Regards,

Alessandro Oliveira
Nuno Ferreira Cargas Internacionais Ltda.
Phone: +55-11-3241-2000
Fax  : +55-11-3242-9891
-------------------------------------------------------------------

It's trivial to make fun of Microsoft products, but it takes a real 
man to make them work, and a god to make them do anything useful.






More information about the Info-cyrus mailing list