From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Envelope-To: Message-Id: <200103112055.XAA15827@relay.rinet.ru> X-Authentication-Warning: relay.rinet.ru: d140-114.cl.rinet.ru [195.91.140.114] didn't use HELO protocol Date: Sun, 11 Mar 2001 23:55:45 +0300 From: Andrey Brindeew To: sisyphus@linuxteam.iplabs.ru Subject: Re: [sisyphus] Re: [sisyphus] Выловлен и убит багв Sylpheed с пробелами в Subject In-Reply-To: <20010311234207.6933d213.vsu@mivlgu.murom.ru> References: <20010311225236.6d55e1eb.vsu@mivlgu.murom.ru> <3AAC49EC.F3FDCDA5@logic.ru> <20010311231421.1c9e5327.vsu@mivlgu.murom.ru> <3AAC4EAB.34462CD@logic.ru> <20010311234207.6933d213.vsu@mivlgu.murom.ru> X-Mailer: stuphead version 0.5.02 (GTK+ 1.2.8; Linux 2.2.18-abr; i686) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Sender: sisyphus-admin@linuxteam.iplabs.ru Errors-To: sisyphus-admin@linuxteam.iplabs.ru X-BeenThere: sisyphus@linuxteam.iplabs.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: sisyphus@linuxteam.iplabs.ru List-Help: List-Post: List-Subscribe: , List-Id: List-Unsubscribe: , List-Archive: Archived-At: List-Archive: List-Post: On Sun, 11 Mar 2001 23:42:07 +0300 Sergey Vlasov wrote: SV> Subject: Re: [sisyphus] Re: [sisyphus] $ SV> =?koi8-r?Q?=F7=D9=CC=CF=D7=CC=C5=CE=20=C9=20=D5=C2=C9=D4=20=C2=C1=C7=D7?= SV> $ SV> Sylpheed =?koi8-r?Q?=D3=20=D0=D2=CF=C2=C5=CC=C1=CD=C9=20=D7?= Subject$ SV> SV> ("$" добавлены в конце для показа пробелов). Т.е. стоит пробел в конце SV> строки и табуляция в начале. Sylpheed при декодировании вставляет после SV> [sisyphus] и перед Sylpheed два пробела подряд. SV> SV> Похоже, придется читать RFC и разбираться, где куда должны деваться SV> пробелы. По крайней мере, теперь они пропадают реже, но все равно SV> неприятно. Как бы не пришлось всю функцию переписывать :-( Позволю себе влезть в дискуссию. Когда я проделывал подобное на Perl (MIME-tools работают прекрасно, но вот поддержка RFC-1522 (AKA RFC-2047) там откровенно плохая), то смотрел просто - есть ли в строке символы из верхней половины таблицы. Если есть - то режем весь заголовок на пачки и каждую пачку энкодим, независимо от того, попали в нее символы, подлежащие энкодингу, или не попали. Пробелы должны учитываться наравне со всеми символами. Каждое 'encoded word' должно отделяться от другого пробелом, который не учитывается при раскодировании. Длина всего закодированного слова не может превышать 75 символов. Если учесть, то используем только base64-кодирование (как более экономное, по сравнению с quoted-printable), то получаем: =?charset?B?=?= Длина закодированных данных вместе с длиной чарсета не может превышать 67 символов. Вот вкратце этот РФЦ. 8) -- WBR, Andrey Brindeew. "No one person can understand Perl culture completely" (C) Larry Wall.