Новая версия почтового сервера Exim 4.94


После 6 месяцев разработки состоялся релиз почтового сервера Exim 4.94, в который внесены накопившиеся исправления и добавлены новые возможности. В соответствии с майским автоматизированным опросом около миллиона почтовых серверов, доля Exim составляет 57.59% (год назад 53.03%), Postfix используется на 34.70% (34.51%) почтовых серверов, Sendmail - 3.75% (4.05%), Microsoft Exchange - 0.42% (0.57%).

Изменения в новом выпуске могут привести к нарушению обратной совместимости. В частности, некоторые виды транспорта перестали работать с неочищенными данными (tainted, значения на основе данных, полученных от отправителя) при определении местоположения доставки. Например, проблемы могут возникнуть при использовании переменной $local\_part в настройке "check\_local\_user" при маршрутизации письма. Вместо $local\_part следует использовать новую очищенную переменную "$local\_part\_data". Кроме того, в операндах опции headers\_remove теперь разрешено использование масок, определяемых при помощи символа "\*", что может привести к нарушению работы конфигураций, в которых выполнялось удаление заголовков, заканчивающихся на символ звёздочки (вместо удаления конкретных заголовков будет выполнено удаление по маске).

Основные изменения:

  • Добавлена экспериментальная встроенная поддержка механизма SRS (Sender Rewriting Scheme), позволяющая переписать адрес отправителя при пересылке без нарушения проверок SPF (Sender Policy Framework) и обеспечив сохранение данных об отправителе для направления сервером сообщений в случае ошибки доставки. Суть метода в том, что при установке соединения передаются сведения об идентичности с изначальным отправителем, например при перезаписи alice@example.org на alice@example.com будет указано "SRS0=HHH=TT=example.org=alice@example.com". SRS актуален, например, при организации работы списков рассылки, в которых исходное сообщение перенаправляется другим получателям.
  • При использовании OpenSSL добавлена поддержка закрепления канала для аутентификаторов (ранее поддерживалось только для GnuTLS).
  • Добавлено событие "msg:defer".
  • Реализована поддержка аутентификатора gsasl на стороне клиента, которая протестирована только с обработчиком открытых паролей (plaintext). Работа методов SCRAM-SHA-256 и SCRAM-SHA-256-PLUS возможна только через сам gsasl.
  • Реализована поддержка аутентификатора gsasl на стороне сервера для шифрованных паролей, выступающая альтернативой ранее доступного режима plaintext.
  • Определения в именованных списках теперь могут помечаться префиксом "hide" для подавления вывода контента при выполнении команды "-bP".
  • В драйвер аутентификации через IMAP-сервер Dovecot добавлена экспериментальная поддержка интернет-сокетов (ранее поддерживались только unix-domain сокеты).
  • ACL выражение "queue\_only" теперь может указываться как "queue" и поддерживает опцию "first\_pass\_route", аналогичную опции командной строки "-odqs".
  • Добавлены новые переменные $queue\size и $local\_part\{pre,suf}fix\_v.
  • В основной блок конфигурации добавлена опция "sqlite\_dbfile" для использования при определении префикса строки поиска. Изменение нарушает обратную совместимость - старый метод задания префикса перестал работать при указании неочищенных (tainted) переменных в lookup-запросах. Новый метод ("sqlite\_dbfile") позволяет держать имя файла отдельно.
  • В lookup-блоки dsearch добавлены опции для возвращения полного пути и фильтрации типов файлов при сопоставлении.
  • В lookup-блоки pgsql и mysql добавлены опции для задания имени сервера отдельно от строки поиска.
  • Для lookup-блоков, осуществляющих выборку по одному ключу, добавлена опция для возвращения очищенной (de-tainted) версии ключа при наличии совпадений, вместо искомых данных.
  • Для всех успешных выборок list-match обеспечено выставление переменных $domain\_data и $localpart\_data (ранее вставлялись элементы списка, задействованные в выборке). Кроме того, применяемые при сопоставлении элементы списка теперь присваиваются переменным $0, $1 и т.д.
  • Добавлен оператор раскрытия "${listquote {‹char›} {‹item›}}".
  • В оператор раскрытия ${readsocket {}{}{}} добавлена опция для обеспечения кэширования результатов.
  • Добавлена настройка dkim\_verify\_min\_keysizes для перечисления минимально допустимых размеров открытых ключей.
  • Обеспечено раскрытие параметров "bounce\_message\_file" и "warn\_message\_file" до их первого использования.
  • Добавлена опция "spf\_smtp\_comment\_template" для настройки значения переменной "$spf\_smtp\_comment".

Источник: https://www.opennet.ru/opennews/art.shtml?num=53116


Comments 0