[exim-dev] [Bug 992] New: Bug in $h_subject: decoding

Top Page
Delete this message
Reply to this message
Author: igor
Date:  
To: exim-dev
Subject: [exim-dev] [Bug 992] New: Bug in $h_subject: decoding
------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=992
           Summary: Bug in $h_subject: decoding
           Product: Exim
           Version: 4.71
          Platform: x86
        OS/Version: Linux
            Status: NEW
          Severity: bug
          Priority: medium
         Component: String expansion
        AssignedTo: nigel@???
        ReportedBy: lexore@???
                CC: exim-dev@???



Exim do not decode $h_subject, when it coded in quoted-printable form.
And do not decode $h_subject (or decode only last line), when $h_subject is
multiline and coded in base64 form.

I found it, when i write a script, which work with variables:
h_to, rh_to, h_from, rh_from, h_subject, rh_subject.
h_to and h_from correctly decoded from quoted-printable, or base64, but
h_subject - not.

I don't tested h_to and h_from for multiline base64.

I write settings:
acl_smtp_data = acl_data
acl_data:
warn    logwrite        = "subject_test: $h_subject:"


About quoted-printable.

From mail server mail.ru i send message with subject:
"муси муси пуси пуси муси муси пуси пуси
муси муси пуси пуси муси муси пуси пуси
муси муси пуси пуси муси муси пуси пуси
муси муси пуси пуси муси муси пуси пуси
муси муси пуси пуси муси муси пуси пуси
муси муси пуси пуси муси муси пуси пуси
муси муси пуси пуси муси муси пуси пуси
муси муси пуси пуси"

(It's russian words, mail.ru send it in cp-1251 charset).

In logfile i have:
Jun 1 17:03:49 ns exim[12395]: 1OJR8E-0003Dv-Q2 Subject: ***SPAM***
=?windows-1251?Q?=EC=F3=F1=E8_=EC=F3=F1=E8_=EF=F3=F1=E8_
=EF=F3=F1=E8_=EC=F3=F1=E8_=EC=F3=F1=E8_=EF=F3=F1=E8_=EF=F3=F1=E8_=EC=F3=F1=E8_=EC=F3=F1=E8_=EF=F3=F1=E8_=EF=F3=F1=E8_=EC=F3=F
1=E8_=EC=F3=F1=E8_=EF=F3=F1=E8_=EF=F3=F1=E8_=EC=F3=F1=E8_=EC=F3=F1=E8_=EF=F3=F1=E8_=EF=F3=F1=E8_=EC=F3=F1=E8_=EC=F3=F1=E8_=EF
=F3=F1=E8_=EF=F3=F1=E8_=EC=F3=F1=E8_=EC=F3=F1=E8_=EF=F3=F1=E8_=EF=F3=F1=E8_=EC=F3=F1=E8_=EC=F3=F1=E8_=EF=F3=F1=E8_=EF=F3=F1=E
8_=EC=F3=F1=E8_=EC=F3=F1=E8_=EF=F3=F1=E8_=EF=F3=F1=E8_=EC=F3=F1=E8_=EC=F3=F1=E8_=EF=F3=F1=E8_=EF=F3=F1=E8_=EC=F3=F1=E8_=EC=F3
=F1=E8_=EF=F3=F1=E8_=EF=F3=F1=E8_=EC=F3=F1=E8_=EC=F3=F1=E8_=EF=F3=F1=E8_=EF=F3=F1=E8_=EC=F3=F1=E8_=EC=F3=F1=E8_=EF=F3=F1=E8_=
EF=F3=F1=E8_=EC=F3=F1=E8_=EC=F3=F1=E8_=EF=F3=F1=E8_=EF=F3=F1=E8_=EC=F3=F1=E8_=EC=F3=F1=E8_=EF=F3=F1=E8_=EF=F3=F1=E8_?=

It's h_subject, not rh_subject.
I think it's wrong - h_subject must be fully decoded.

About multiline base64.

From mail server gmail.com i send message with subject:
"я мама я мама я мама я мама я папа я папа я
папа я папа я мама я мама я мама я мама я
папа я папа я папа я папа я мама я мама я
мама я мама я папа я папа я папа я папа 76555"

(It's russian words, gmail.com send it in utf8 charset).

In logfile i have:
Jun 1 18:15:16 ns exim[28076]: 1OJSFQ-0007Iq-4R "subject_test:
=?UTF-8?B?0Y8g0LzQsNC80LAg0Y8g0LzQsNC80LAg0Y8g0LzQsNC80LAg0Y8g0LzQsNC80LAg0Y8g?=\n

=?UTF-8?B?0L/QsNC/0LAg0Y8g0L/QsNC/0LAg0Y8g0L/QsNC/0LAg0Y8g0L/QsNC/0LAg0Y8g0LzQsNC80LAg0Y8g?=\n

=?UTF-8?B?0LzQsNC80LAg0Y8g0LzQsNC80LAg0Y8g0LzQsNC80LAg0Y8g0L/QsNC/0LAg0Y8g0L/QsNC/0LAg0Y8g?=\n

=?UTF-8?B?0L/QsNC/0LAg0Y8g0L/QsNC/0LAg0Y8g0LzQsNC80LAg0Y8g0LzQsNC80LAg0Y8g0LzQsNC80LAg0Y8g?=\n

=?UTF-8?B?0LzQsNC80LAg0Y8g0L/QsNC/0LAg0Y8g0L/QsNC/0LAg0Y8g0L/QsNC/0LAg0Y8g0L/QsNC/0LAgNzY1?=\n
55"

When i send message with short subject:
"проверка 123 проверка"

In logfile i have:
Jun 1 18:32:42 ns exim[7083]: 1OJSWI-0001qF-JN "subject_test:
\320\277\321\200\320\276\320\262\320\265\321\200\320\272\320\260 123
\320\277\321\200\320\276\320\262\320\265\321\200\320\272\320\260"

It means, that exim correctly decode subject, when it take one line, and does
not decode correctly subject, when it take more, than one line.
I think, its wrong too.

And i found, that when subject coded in base64, and length of coded string more
than 76 symbols, it not decoded too.
In logfile i see:
Jun 1 18:29:48 ns exim[4519]: 1OJSTT-0001At-Hm "subject_test:
=?windows-1251?B?0e7h5fHl5O7i4O3o5Tog4e7r/Pju6SD44O3xIOjr6CDt5ezo7fPl7O7lIOfr7j8gze7i7uUg6PHx6+Xk7uLg7ejlIO/u8PLg6+AgUmFib3RhLnJ1?="
or
Jun 1 18:19:29 ns exim[30758]: 1OJSJV-000806-NV "subject_test:
=?UTF-8?B?UmU6ID0/VVRGLTg/Qj8wWUxRdU5DLzBMQWcwTC9SZ05DKzBMTFF0ZEdBMExyUXNDRFJnZEN5MFkvUXQ5QzRJTkMyMExEUmhkQzkwWVBSZ3RHTUlBPT0/PQoJ0LHRiyDRgNCw0LrQtdGC0L7QuSBIT0lNQU1BSE9J?="

About mail server:

# exim -bV
Exim version 4.71 #1 built 30-Apr-2010 10:44:57
Copyright (c) University of Cambridge, 1995 - 2007
Berkeley DB: Berkeley DB 4.7.25: (2009-10-13)
Support for: crypteq iconv() PAM Perl TCPwrappers GnuTLS Content_Scanning DKIM
Old_Demime Experimental_SPF Experimental_SRS Experimental_DCC C&W_DSN_1.3
Lookups: lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmnz dnsdb dsearch
mysql passwd
Authenticators: cram_md5 dovecot plaintext spa
Routers: accept dnslookup ipliteral manualroute queryprogram redirect
Transports: appendfile/maildir/mailstore/mbx autoreply pipe smtp
Fixed never_users: 0
Size of off_t: 4
GnuTLS compile-time version: 2.8.3
GnuTLS runtime version: 2.8.3
Configuration file is /etc/exim/exim.conf

# uname -a
Linux ns 2.6.20-gentoo-r8 #2 SMP Mon Jul 9 17:27:01 Local time zone must be
set--see zic m i686 Intel(R) Xeon(R) CPU 5130 @ 2.00GHz GenuineIntel GNU/Linux

# eix exim
[I] mail-mta/exim
     Installed versions:  4.71(10:45:03 30.04.2010)(dcc dkim dnsdb dovecot-sasl
dsn exiscan-acl gnutls mbx mysql pam perl spf srs ssl syslog tcpd -X -ipv6
-ldap -lmtp -maildir -nis -postgres -radius -sasl -sqlite)



--
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email