[exim-conf] механизм сборки exim 4.90 в виде порта для FreeBSD

Victor Ustugov victor на corvax.kiev.ua
Вт Янв 2 13:38:06 EET 2018


приветствую

реализован механизм сборки порта exim 4.90 для FreeBSD:

https://mta.org.ua/exim-4.88-conf/packages/ports-freebsd/exim-4.90/

относительно последнего упоминутого в рассылке механизм сборки exim
4.89_1 (о механизмах сборки exim 4.89_2 и exim 4.89.1 я не писал)
внесены следующие изменения:

- портирован патч
patch-src__exim-4.90-expand_smtp_accept_queue_per_connection.patch для
реализации экспандинга параметра настройки smtp_accept_queue_per_connection.

https://mta.org.ua/exim-4.88-conf/patches/exim-4.90-expand_smtp_accept_queue_per_connection/patch-src__exim-4.90-expand_smtp_accept_queue_per_connection.patch

- портирован патч patch-src__exim-4.90-rfc2231.patch для замены
реализации поддержки RFC2231 на собственную (много лет поддержка RFC2231
не была реализована, а когда её реализовали, то сделали это криво).

https://mta.org.ua/exim-4.88-conf/patches/exim-4.90-rfc2231/patch-src__exim-4.90-rfc2231.patch

- реализован патч
patch-src__exim-4.89.1-cancel-unconditional-disabling-of-ssl-session-cache.patch,
отменяющий безусловное отключение кеширования SSL сессий. без этого
наблюдаются ошибки доставки писем из OE (есть ещё у одного клиента такие
артефакты) и MSO 2013 через exim 4.89.1 (на exim 4.90 ещё не проверял)
непосредственно при нажатии кнопки отправки письма. в дальнейшем письмо
можно отправить путём нажатия кнопки "Доставить/получить".
для управления необходимостью использования данного патча создана
переменная сборки CANCEL_UNCONDITIONAL_DISABLING_OF_SSL_SESSION_CACHE с
пустым значением по умолчанию.
использовать данный патч целесообразно только в случае, если
пользователи почтовой системы используют MSO 2013 или OE.

https://mta.org.ua/exim-4.88-conf/patches/exim-4.89.1-cancel-unconditional-disabling-of-ssl-session-cache/patch-src__exim-4.89.1-cancel-unconditional-disabling-of-ssl-session-cache.patch

- реализован патч patch-src__exim-4.89.1-match-buffer-2048.patch,
позволяющий использовать регулярные выражения длиной 2014 байт в файлах,
в которые производятся лукапы типа wildlsearch. штатное ограничение 1024
байт.

https://mta.org.ua/exim-4.88-conf/patches/exim-4.89.1-match-buffer-2048/patch-src__exim-4.89.1-match-buffer-2048.patch

- реализовано наложение патчей на сами файлы порта. для этого введена
команда gmake patch_port (по аналогии с механизмами сборки exim из
портов OpenBSD, из macports в Mac OS X, из pkgsrc в Mac OS X, DragonFly
BSD, NetBSD, OpqnBSD, QNX, RHEL/CentOS/Fedora и Solaris). она позволяет
наложить на порт патчи из подкаталога patches-port:

https://mta.org.ua/exim-4.88-conf/packages/ports-freebsd/exim-4.90/patches-port/

выполнять gmake patch_port нужно один раз после обновления дерева портов.

в каталоге patches-port сейчас расположен лишь один патч, заменяющий в
Makefile порта в значении EXIM_DYNAMIC_LDFLAGS подстроку -export-dynamic
на -Wl,-export-dynamic

https://mta.org.ua/exim-4.88-conf/packages/ports-freebsd/exim-4.90/patches-port/Makefile.patch

сделано это в соответствии с рекомендациями, полученными тут:

Bug 47390 - [4.6 Regression] Linking with -export-dynamic broken
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47390

без данных изменений в значении EXIM_DYNAMIC_LDFLAGS при сборке exim из
порта я в конце сборки получаю сообщение:

/usr/bin/ld: warning: cannot find entry symbol xport-dynamic; defaulting
to 000000000041dee0


других проблем в сборке или работе exim 4.90 пока обнаружено не было, не
смотря на ощутимое количество подобных сообщений в exim-users и
exim-rusers. правда все они проверены не были (типа проблем с
PostgreSQL), но часть из этих сообщений была проверена (типа проблем с
крешем exim'а при использовании !verify = header_syntax на конкретном
письме) и проблемы не подтвердились (либо у авторов сообщений
использованы специфические комбинации настроек, либо слишком низкий
поток писем на сервере, на котором мной проводится тестирование exim 4.90).

-- 
Best wishes Victor Ustugov  mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:       https://victor.corvax.kiev.ua/corvax.asc
Skype ID: corvax_nb         JID: corvax_at_nb на jabber.corvax.kiev.ua



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