[exim-conf] патч для игнорирования пустых параметров в mime заголовках

Victor Ustugov victor на corvax.kiev.ua
Пт Ноя 14 21:14:33 EET 2014


Victor Ustugov wrote:

> в русскоязычном exim-users подняли вопрос падений exim при разборе mime
> заголовков:
> 
> http://mailground.net/pipermail/exim-users/2014-November/001431.html
> 
> оказалось, что дело в пустых значениях параметров.
> 
> в данном случае для тестов можно использовать предложенный Михаилом
> Голубом текст письма:

тестировать можно на любом письме с параметром в MIME поле без значения
после знака равно. в качестве названий параметров могут фигурировать
параметры из mime_parameter_list, описанном в src/mime.h, а именно:

name
filename
charset
boundary

> --_----------=_141563016432980
> Content-Type: text/plain; charset=
> Content-Transfer-Encoding: quoted-printable

> в качестве workaround можно использовать патч, игнорирующий пустые
> параметры заголовков mime:
> 
> http://mta.org.ua/exim-4.83-conf/patches/exim-4.84-ignore-null-mime-parameters/patch-src__exim-4.84-ignore-null-mime-parameters.patch
> 
> т. е. параметр charset= с пустым значением будет воспринят как
> отсутствие параметра charset.

после того, как Lena на lena.kiev.ua из exim-rusers написала о проблеме в
exim-dev на exim.org, Jeremy Harris указал на то, что он думает, что данная
проблема была исправлена в коммите 93cad488.

Lena на lena.kiev.ua показала в exim-rusers ссылки на два исправленных файла:

https://raw.githubusercontent.com/Exim/exim/93cad488cb2c9a31aea345c8910a9f9c5815071c/src/src/mime.h
https://raw.githubusercontent.com/Exim/exim/93cad488cb2c9a31aea345c8910a9f9c5815071c/src/src/mime.c

на основе этих файлов был сделан альтернативный патч, теперь уже на
основании исправлений разработчиков:

http://mta.org.ua/exim-4.83-conf/patches/exim-4.84-ignore-null-mime-parameters-2/patch-src__exim-4.84-ignore-null-mime-parameters-2.patch

> в моих механизмах сборки exim этот патч будет наложен безусловно (по
> крайней мере пока ошибку не исправят разработчики).
>
> и т. к. в этом патче затрагивается фрагмент кода, которые также
> модифицировался патчем patch-src__rfc2231-4.83.patch, реализующим
> поддержку RFC2231, этот патч был переделан:
> 
> http://mta.org.ua/exim-4.83-conf/patches/exim-4.84-rfc2231-only-after-ignore-null-mime-parameters/patch-src__exim-4.84-rfc2231-only-after-ignore-null-mime-parameters.patch

для использования патча
patch-src__exim-4.84-ignore-null-mime-parameters-2.patch пришлось и патч
patch-src__rfc2231-4.83.patch адаптировать заново:

http://mta.org.ua/exim-4.83-conf/patches/exim-4.84-rfc2231-only-after-ignore-null-mime-parameters-2/patch-src__exim-4.84-rfc2231-only-after-ignore-null-mime-parameters-2.patch

> если будет необходимо накладывать патч для поддержки RFC2231 без
> наложения патча для игнорирования пустых параметров в mime заголовках,
> то нужно будет использовать предыдущий вариант:
> 
> http://mta.org.ua/exim-4.83-conf/patches/exim-4.83-rfc2231/patch-src__rfc2231-4.83.patch
> 
> в механизме сборки exim 4.84 из порта FreeBSD уже использованы оба эти
> патча (patch-src__exim-4.84-ignore-null-mime-parameters.patch и
> patch-src__exim-4.84-rfc2231-only-after-ignore-null-mime-parameters.patch):
> 
> http://mta.org.ua/exim-4.83-conf/packages/ports-freebsd/exim-4.84_1/

я разместил механизм сборки exim в моим первоначальным патчем
patch-src__exim-4.84-ignore-null-mime-parameters.patch в отдельном каталоге:

http://mta.org.ua/exim-4.83-conf/packages/ports-freebsd/exim-4.84_1a/

механизм сборки с патчем на основании исправлений разработчиков я
разместил также в отдельном каталоге:

http://mta.org.ua/exim-4.83-conf/packages/ports-freebsd/exim-4.84_1b/

в каталоге
http://mta.org.ua/exim-4.83-conf/packages/ports-freebsd/exim-4.84_1/
остался механизм с неисправленной проблемой.


т. к. код из patch-src__exim-4.84-ignore-null-mime-parameters-2.patch
будет в составе exim 4.85, то логичнее было бы пересобирать exim под
FreeBSD из каталога exim-4.84_1b


Сева Стахов пока на связь не вышел. возможно он добавит изменения из
патча patch-src__exim-4.84-ignore-null-mime-parameters-2.patch в порт
FreeBSD до выхода exim 4.85.

-- 
Best wishes Victor Ustugov  mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:       http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 371808614          JID: corvax_at_nb на jabber.corvax.kiev.ua
nic-handle: CRV-UANIC



Подробная информация о списке рассылки exim-conf