Есть проблема, вот только не пойму баг это или фича, кто-нибудь с этим сталкивался?
Есть заголовок оформленный по rfc 2045:
=?windows-1251?B?x+Dj7uvu4u7qIO/o8fzs4Cwg7vTu8Ozr5e3t++kg7+4gUkNGIDIwNA==?=
=?windows-1251?B?NSDoIPDg4e7y4P756Okg7eUg7/Dg4ujr/O3u?=
Строка разбивается на две следующей последовательностью символов:
\r\n\t
qmail-pop3d при разборе строки делает следующее:
void blast(ssfrom,limit)
substdio *ssfrom;
unsigned long limit;
{
int match;
int inheaders = 1;
for (;;) {
if (getln(ssfrom,&line,&match,'\n') != 0) die();
if (!match && !line.len) break;
if (match) --line.len; /* no way to pass this info over POP */
if (limit) if (!inheaders) if (!--limit) break;
if (!line.len)
inheaders = 0;
else
if (line.s[0] == '.')
put(".",1);
put(line.s,line.len);
put("\r\n",2);
if (!match) break;
}
put("\r\n.\r\n",5);
flush();
}
То есть доходит до '\n', удаляет его и вставляет '\r\n'.
В конце концов получается следующая абракадабра:
'\r\r\n\t' - что сносит голову почтовым клиентам.
Кто-нибудь лечил подобное поведение qmail-pop3d?