Публикуван е релиз на пощенския сървър Exim 4.99, в който са внесени натрупаните поправки и са добавени нови възможности. Кодът на проекта е написан на C и се разпространява под лицензия GPLv2+. Според автоматизирано проучване на около 500 хиляди пощенски сървъра, дяловете на Exim са 56% (преди година 59.06%), Postfix се използва на 37.45% (34.68%) от пощенските сървъри, Sendmail — 3.53% (3.42%), MailEnable — 1.84% (1.81%), MDaemon — 0.40% (0.37%), Microsoft Exchange — 0.20% (0.17%).
Основни промени:
- Добавена е поддръжка за ESMTP командата „ATRN“ (Authenticated TURN), която позволява смяна на ролите на сървъра и клиента в процеса на доставка на съобщения. Командата може да се използва за организиране на доставка на писма към системи с динамични IP адреси или с непостоянен Интернет достъп. Подобна система може да се свърже към SMTP сървъра в роля на клиент и след това с помощта на командата ATRN да поеме ролята на сървър за приемане на натрупаните съобщения. Командата може да се използва само след успешно преминаване на удостоверяване и при наличие на разрешаващ ACL (acl_smtp_atrn).
- Повечето компоненти на Exim вече могат да бъдат събрани под формата на зареждаеми модули. Например, зареждаеми модули могат да бъдат оформени за lookup механизми JSON и LDAP, филтри, драйвери за удостоверяване и маршрутизиране, компоненти PAM, RADIUS, perl, SPF, DKIM, DMARC и ARC, както и всички видове транспорт, с изключение на SMTP.
- Реализирана е възможността за деактивиране на поддръжката на филтри Exim и Sieve на етапа на компилация.
- Добавена е поддръжка за DNS записи SRV (Service Location Record) за определяне на поддръжката на TLS (Transport Layer Security) от пощенските сървъри получатели.
- Добавена е експериментална опция за компилация „EXPERIMENTAL_SPF_PERL“, която включва алтернативна имплементация на механизма за удостоверяване SPF (Sender Policy Framework), използваща Perl модула Perl Mail::SPF вместо библиотеката libspf2, при която се наблюдават проблеми с поддръжката.
- Добавена е експериментална опция за компилация „EXPERIMENTAL_NMH“ с имплементация на lookup механизъм за проверка IP адреси в хранилището NMH (Net-Masked Hero).
- Добавена е настройка в конфигурационния файл „tls_early_banner_hosts“ за определяне на хостовете, към които ще бъде прилаган механизмът „TLS Early Data“ (0-RTT) за изпращане на SMTP банера на етапа преди завършване на споразумението за TLS свързване.
- Добавена е опция „sieve_inbox“ за задаване на името на mailbox файла, в който ще бъдат запазени съобщенията, пренасочвани с настройката „redirect_router“ в филтрите на езика Sieve.
- Добавена променлива «connection_id», съдържаща идентификатора на прието съединение. Променливата може да се използва при настройката на формата на изхода в логовете.
- Реализирани са събитията smtp:fail:protocol и smtp:fail:syntax, които позволяват проследяване на грешки, свързани с протокола и синтаксиса на SMTP командите.
- Транспортът «socks_proxy» вече може да приема стойност на празен низ, което ще се възприема като отсъствие на прокси.
- Добавени са променливите $dmarc_alignment_spf и $dmarc_alignment_dkim, отразяващи резултатите от проверките SPF и DKIM.
- Добавена е възможността за използване на IPv6 съединения при достъп до базите данни MySQL и PostgreSQL.
- Разрешено е използването на адреса на изпращача (envelope-from), зададен в параметрите на транспорта, за директни доставки (cutthrough deliveries) и проверки на съществуването на получателите.
- Добавена е възможността за използване на променливи и изрази за динамично формулиране на опциите «hosts_randomize» в маршрутизатора «manualroute» и транспорта «smtp». Подобно добавена е поддръжка за динамично формулиране на опциите «fallback_hosts» във всички маршрутизатори и транспорта «smtp».
- В конфигурационния файл е добавена опцията «log_ports» за филтриране на номерата на портовете, отразявани в логовете. Например, при задаване на «log_ports = !25 : !587» в логовете ще се извеждат записи за outgoing_port и incoming_interface, които не са свързани с портовете 25 и 587.
- Добавена е възможността за отразяване в логовете на информация за командите и отговорите, предадени при установяване на SMTP съединение, както и информация за използването на TLS при свързването (етикет «tls_on_connect»).
- Добавена е опцията «no_wr», която деактивира записването в кеша на резултатите от извършваните lookup-операции.
- Добавена е командна опция «-dS» за извеждане на отладъчна информация на етапа преди анализа на конфигурационния файл.
- В свързаните с неуспехи при аутентификацията съобщения в логовете са добавени етикети «H=» и «U=», отразяващи хоста и името на потребителя.
Източник: opennet.ru
