[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