From: Marcin Krol Date: Sat, 23 May 2026 12:08:35 +0000 (+0200) Subject: - updated to 3.11.3, dropped Berkeley DB support, LMDB is now default X-Git-Url: https://git.tld-linux.org/?a=commitdiff_plain;h=658f8b0c6f3a5d3c458dac7a17231d4a7b679f0c;p=packages%2Fpostfix.git - updated to 3.11.3, dropped Berkeley DB support, LMDB is now default --- diff --git a/postfix-conf_msg.patch b/postfix-conf_msg.patch index 9844b8b..e6f0a9d 100644 --- a/postfix-conf_msg.patch +++ b/postfix-conf_msg.patch @@ -1,7 +1,7 @@ -diff -urNp -x '*.orig' postfix-3.10.0.org/src/global/mail_params.c postfix-3.10.0/src/global/mail_params.c ---- postfix-3.10.0.org/src/global/mail_params.c 2025-02-01 22:43:40.000000000 +0100 -+++ postfix-3.10.0/src/global/mail_params.c 2025-02-19 22:39:32.053747827 +0100 -@@ -83,6 +83,7 @@ +diff -ur postfix-3.11.3.orig/src/global/mail_params.c postfix-3.11.3/src/global/mail_params.c +--- postfix-3.11.3.orig/src/global/mail_params.c 2026-03-10 23:57:57.000000000 +0100 ++++ postfix-3.11.3/src/global/mail_params.c 2026-05-23 13:41:56.464571281 +0200 +@@ -84,6 +84,7 @@ /* char *var_debug_peer_list; /* int var_debug_peer_level; /* int var_in_flow_delay; @@ -9,7 +9,7 @@ diff -urNp -x '*.orig' postfix-3.10.0.org/src/global/mail_params.c postfix-3.10. /* int var_fault_inj_code; /* char *var_bounce_service; /* char *var_cleanup_service; -@@ -323,6 +324,7 @@ char *var_import_environ; +@@ -336,6 +337,7 @@ char *var_export_environ; char *var_debug_peer_list; int var_debug_peer_level; @@ -17,20 +17,20 @@ diff -urNp -x '*.orig' postfix-3.10.0.org/src/global/mail_params.c postfix-3.10. int var_fault_inj_code; char *var_bounce_service; char *var_cleanup_service; -@@ -819,6 +821,7 @@ void mail_params_init() - VAR_SMTPUTF8_AUTOCLASS, DEF_SMTPUTF8_AUTOCLASS, &var_smtputf8_autoclass, 1, 0, - VAR_DROP_HDRS, DEF_DROP_HDRS, &var_drop_hdrs, 0, 0, - VAR_INFO_LOG_ADDR_FORM, DEF_INFO_LOG_ADDR_FORM, &var_info_log_addr_form, 1, 0, +@@ -879,6 +881,7 @@ + VAR_NBDB_LEVEL, DEF_NBDB_LEVEL, &var_nbdb_level, 1, 0, + VAR_NBDB_SERVICE, DEF_NBDB_SERVICE, &var_nbdb_service, 0, 0, + VAR_NBDB_CUST_MAP, DEF_NBDB_CUST_MAP, &var_nbdb_cust_map, 0, 0, + VAR_REJECT_REPLY_MSG_ACCESS_DENIED, DEF_REJECT_REPLY_MSG_ACCESS_DENIED, &var_reject_reply_msg_access_denied, 1, 0, 0, }; static const CONFIG_STR_FN_TABLE function_str_defaults_2[] = { -diff -urNp -x '*.orig' postfix-3.10.0.org/src/global/mail_params.h postfix-3.10.0/src/global/mail_params.h ---- postfix-3.10.0.org/src/global/mail_params.h 2025-02-19 22:39:31.869745563 +0100 -+++ postfix-3.10.0/src/global/mail_params.h 2025-02-19 22:39:32.053747827 +0100 -@@ -4509,6 +4509,13 @@ extern int var_sockmap_max_reply; - #define DEF_SMTPD_HIDE_CLIENT_SESSION "no" - extern int var_smtpd_hide_client_session; +diff -ur postfix-3.11.3.orig/src/global/mail_params.h postfix-3.11.3/src/global/mail_params.h +--- postfix-3.11.3.orig/src/global/mail_params.h 2026-05-23 13:39:32.567902719 +0200 ++++ postfix-3.11.3/src/global/mail_params.h 2026-05-23 13:41:56.464571281 +0200 +@@ -4651,6 +4651,13 @@ + #define DEF_NBDB_LOG_REDIRECT "yes" + extern bool var_nbdb_log_redirect; + /* + * SMTPD messages @@ -42,14 +42,14 @@ diff -urNp -x '*.orig' postfix-3.10.0.org/src/global/mail_params.h postfix-3.10. /* LICENSE /* .ad /* .fi -diff -urNp -x '*.orig' postfix-3.10.0.org/src/smtpd/smtpd.c postfix-3.10.0/src/smtpd/smtpd.c ---- postfix-3.10.0.org/src/smtpd/smtpd.c 2025-02-05 23:04:14.000000000 +0100 -+++ postfix-3.10.0/src/smtpd/smtpd.c 2025-02-19 22:39:32.053747827 +0100 -@@ -6894,6 +6894,7 @@ int main(int argc, char **argv) - VAR_MILT_MACRO_DEFLTS, DEF_MILT_MACRO_DEFLTS, &var_milt_macro_deflts, 0, 0, - VAR_SMTPD_MILTER_MAPS, DEF_SMTPD_MILTER_MAPS, &var_smtpd_milter_maps, 0, 0, - VAR_STRESS, DEF_STRESS, &var_stress, 0, 0, +diff -ur postfix-3.11.3.orig/src/smtpd/smtpd.c postfix-3.11.3/src/smtpd/smtpd.c +--- postfix-3.11.3.orig/src/smtpd/smtpd.c 2025-12-22 23:08:53.000000000 +0100 ++++ postfix-3.11.3/src/smtpd/smtpd.c 2026-05-23 13:41:56.464571281 +0200 +@@ -6978,6 +6978,7 @@ + VAR_HFROM_FORMAT, DEF_HFROM_FORMAT, &var_hfrom_format, 1, 0, + VAR_SMTPD_FORBID_BARE_LF_EXCL, DEF_SMTPD_FORBID_BARE_LF_EXCL, &var_smtpd_forbid_bare_lf_excl, 0, 0, + VAR_SMTPD_FORBID_BARE_LF, DEF_SMTPD_FORBID_BARE_LF, &var_smtpd_forbid_bare_lf, 1, 0, + VAR_REJECT_REPLY_MSG_ACCESS_DENIED, DEF_REJECT_REPLY_MSG_ACCESS_DENIED, &var_reject_reply_msg_access_denied, 1, 0, - VAR_UNV_FROM_WHY, DEF_UNV_FROM_WHY, &var_unv_from_why, 0, 0, - VAR_UNV_RCPT_WHY, DEF_UNV_RCPT_WHY, &var_unv_rcpt_why, 0, 0, - VAR_REJECT_TMPF_ACT, DEF_REJECT_TMPF_ACT, &var_reject_tmpf_act, 1, 0, + 0, + }; + static const CONFIG_RAW_TABLE raw_table[] = { diff --git a/postfix-config.patch b/postfix-config.patch index 3850268..3305430 100644 --- a/postfix-config.patch +++ b/postfix-config.patch @@ -1,6 +1,6 @@ -diff -ur postfix-3.10.6.orig/conf/main.cf postfix-3.10.6/conf/main.cf ---- postfix-3.10.6.orig/conf/main.cf 2025-10-23 21:51:44.000000000 +0200 -+++ postfix-3.10.6/conf/main.cf 2025-11-29 12:45:04.962284755 +0100 +diff -ur postfix-3.11.3.orig/conf/main.cf postfix-3.11.3/conf/main.cf +--- postfix-3.11.3.orig/conf/main.cf 2026-03-05 16:59:44.000000000 +0100 ++++ postfix-3.11.3/conf/main.cf 2026-05-23 13:40:40.004216037 +0200 @@ -62,7 +62,7 @@ # daemon programs (i.e. programs listed in the master.cf file). This # directory must be owned by root. @@ -28,24 +28,46 @@ diff -ur postfix-3.10.6.orig/conf/main.cf postfix-3.10.6/conf/main.cf #myorigin = $mydomain # RECEIVING MAIL -@@ -407,7 +407,7 @@ +@@ -285,7 +285,7 @@ + # + #mynetworks = 168.100.3.0/28, 127.0.0.0/8 + #mynetworks = $config_directory/mynetworks +-#mynetworks = hash:/etc/postfix/network_table ++#mynetworks = lmdb:/etc/postfix/network_table + + # The relay_domains parameter restricts what destinations this system will + # relay mail to. See the smtpd_relay_restrictions and +@@ -352,7 +352,7 @@ + # In the left-hand side, specify an @domain.tld wild-card, or specify + # a user@domain.tld address. + # +-#relay_recipient_maps = hash:/etc/postfix/relay_recipients ++#relay_recipient_maps = lmdb:/etc/postfix/relay_recipients + + # INPUT RATE CONTROL + # +@@ -407,8 +407,8 @@ # "postfix reload" to eliminate the delay. # #alias_maps = dbm:/etc/aliases -#alias_maps = hash:/etc/aliases -+alias_maps = hash:/etc/postfix/aliases - #alias_maps = hash:/etc/aliases, nis:mail.aliases +-#alias_maps = hash:/etc/aliases, nis:mail.aliases ++alias_maps = lmdb:/etc/postfix/aliases ++#alias_maps = lmdb:/etc/aliases, nis:mail.aliases #alias_maps = netinfo:/aliases -@@ -418,7 +418,7 @@ + # The alias_database parameter specifies the alias database(s) that +@@ -418,8 +418,8 @@ # #alias_database = dbm:/etc/aliases #alias_database = dbm:/etc/mail/aliases -#alias_database = hash:/etc/aliases -+alias_database = hash:/etc/postfix/aliases - #alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases +-#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases ++alias_database = lmdb:/etc/postfix/aliases ++#alias_database = lmdb:/etc/aliases, lmdb:/opt/majordomo/aliases # ADDRESS EXTENSIONS (e.g., user+foo) + # @@ -446,7 +446,7 @@ # UNIX-style mailboxes are kept. The default setting depends on the # system type. @@ -66,7 +88,7 @@ diff -ur postfix-3.10.6.orig/conf/main.cf postfix-3.10.6/conf/main.cf # The mailbox_transport specifies the optional transport in master.cf # to use after processing aliases and .forward files. This parameter -@@ -644,44 +644,22 @@ +@@ -644,44 +644,12 @@ # INSTALL-TIME CONFIGURATION INFORMATION # # The following parameters are used when installing a new Postfix version. @@ -91,21 +113,15 @@ diff -ur postfix-3.10.6.orig/conf/main.cf postfix-3.10.6/conf/main.cf # is not shared with other accounts, not even with the Postfix account. # -setgid_group = -+setgid_group = maildrop - +- -# html_directory: The location of the Postfix HTML documentation. -+# The unknown_address_reject_code parameter specifies the SMTP server -+# response when a client violates the reject_unknown_sender_domain -+# or reject_unknown_recipient_domain restrictions. - # +-# -html_directory = - -# manpage_directory: The location of the Postfix on-line manual pages. -+# Contrary to what Wietse thinks (450) this should be 550 - # +-# -manpage_directory = -+unknown_address_reject_code = 550 - +- -# sample_directory: The location of the Postfix sample configuration files. -# This parameter is obsolete as of Postfix 2.1. -# @@ -114,14 +130,26 @@ diff -ur postfix-3.10.6.orig/conf/main.cf postfix-3.10.6/conf/main.cf -# readme_directory: The location of the Postfix README files. -# -readme_directory = ++setgid_group = maildrop + + # shlib_directory: The location of the Postfix *.so library files and + # database plugins. +@@ -691,4 +659,11 @@ + # between multiple Postfix instances. + meta_directory = /etc/postfix + ++# The unknown_address_reject_code parameter specifies the SMTP server ++# response when a client violates the reject_unknown_sender_domain ++# or reject_unknown_recipient_domain restrictions. ++# Contrary to what Wietse thinks (450) this should be 550 ++unknown_address_reject_code = 550 ++ +biff = no inet_protocols = ipv4 - shlib_directory = /usr/lib/postfix/${mail_version} - meta_directory = /etc/postfix -diff -ur postfix-3.10.6.orig/src/global/mail_params.h postfix-3.10.6/src/global/mail_params.h ---- postfix-3.10.6.orig/src/global/mail_params.h 2025-10-24 16:41:15.000000000 +0200 -+++ postfix-3.10.6/src/global/mail_params.h 2025-11-29 12:43:48.478151951 +0100 -@@ -107,7 +107,7 @@ +diff -ur postfix-3.11.3.orig/src/global/mail_params.h postfix-3.11.3/src/global/mail_params.h +--- postfix-3.11.3.orig/src/global/mail_params.h 2026-03-10 23:57:57.000000000 +0100 ++++ postfix-3.11.3/src/global/mail_params.h 2026-05-23 13:39:32.567902719 +0200 +@@ -116,7 +116,7 @@ extern gid_t var_owner_gid; #define VAR_SGID_GROUP "setgid_group" @@ -130,15 +158,15 @@ diff -ur postfix-3.10.6.orig/src/global/mail_params.h postfix-3.10.6/src/global/ extern char *var_sgid_group; extern gid_t var_sgid_gid; -diff -ur postfix-3.10.6.orig/src/util/sys_defs.h postfix-3.10.6/src/util/sys_defs.h ---- postfix-3.10.6.orig/src/util/sys_defs.h 2025-01-03 19:19:26.000000000 +0100 -+++ postfix-3.10.6/src/util/sys_defs.h 2025-11-29 12:43:48.482151958 +0100 -@@ -61,7 +61,7 @@ - #define ALIAS_DB_MAP DEF_DB_TYPE ":/etc/mail/aliases" /* OpenBSD 2.7 */ +diff -ur postfix-3.11.3.orig/src/util/sys_defs.h postfix-3.11.3/src/util/sys_defs.h +--- postfix-3.11.3.orig/src/util/sys_defs.h 2026-05-15 19:31:55.000000000 +0200 ++++ postfix-3.11.3/src/util/sys_defs.h 2026-05-23 13:39:32.571902737 +0200 +@@ -62,7 +62,7 @@ + #define ALIAS_DB_MAP "$default_database_type:/etc/mail/aliases" /* OpenBSD 2.7 */ #endif #ifndef ALIAS_DB_MAP --#define ALIAS_DB_MAP DEF_DB_TYPE ":/etc/aliases" -+#define ALIAS_DB_MAP DEF_DB_TYPE ":/etc/postfix/aliases" +-#define ALIAS_DB_MAP "$default_database_type:/etc/aliases" ++#define ALIAS_DB_MAP "$default_database_type:/etc/postfix/aliases" #endif #define GETTIMEOFDAY(t) gettimeofday(t,(struct timezone *) 0) #define ROOT_PATH "/bin:/usr/bin:/sbin:/usr/sbin" diff --git a/postfix.spec b/postfix.spec index 8027f16..4439fc5 100644 --- a/postfix.spec +++ b/postfix.spec @@ -7,7 +7,6 @@ %bcond_without sasl # without SMTP AUTH support %bcond_without ssl # without SSL/TLS support %bcond_without cdb # without cdb map support -%bcond_without lmdb # lmdb map suppor %bcond_without epoll # disable epoll for 2.4 kernels Summary: Postfix Mail Transport Agent @@ -18,13 +17,13 @@ Summary(pl.UTF-8): Serwer SMTP Postfix Summary(pt_BR.UTF-8): Postfix - Um MTA (Mail Transport Agent) de alto desempenho Summary(sk.UTF-8): Agent prenosu pošty Postfix Name: postfix -Version: 3.10.8 +Version: 3.11.3 Release: 1 Epoch: 2 License: distributable Group: Networking/Daemons/SMTP Source0: ftp://ftp.porcupine.org/mirrors/postfix-release/official/%{name}-%{version}.tar.gz -# Source0-md5: ca4d82e7cabb7fb725ee00599e8b65fd +# Source0-md5: a96d050f085f600ce53a8c3a72f1df76 Source1: %{name}.aliases Source2: %{name}.cron Source3: %{name}.init @@ -44,10 +43,9 @@ Patch4: %{name}-link.patch Patch5: %{name}-scache_clnt.patch URL: http://www.postfix.org/ %{?with_sasl:BuildRequires: cyrus-sasl-devel} -BuildRequires: db-devel # getifaddrs() with IPv6 support BuildRequires: glibc-devel >= 6:2.3.4 -%{?with_lmdb:BuildRequires: lmdb-devel} +BuildRequires: lmdb-devel BuildRequires: libnsl-devel >= 1.3.0 %{?with_mysql:BuildRequires: mysql-devel} %{?with_ldap:BuildRequires: openldap-devel >= 2.0.12} @@ -81,6 +79,7 @@ Provides: group(maildrop) Provides: group(postfix) Provides: smtpdaemon Provides: user(postfix) +Obsoletes: postfix-dict-lmdb Obsoletes: smtpdaemon BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) @@ -174,18 +173,6 @@ This package provides support for LDAP maps in Postfix. %description dict-ldap -l pl.UTF-8 Ten pakiet dodaje obsługę map LDAP do Postfiksa. -%package dict-lmdb -Summary: LMDB map support for Postfix -Summary(pl.UTF-8): Obsługa map LMDB dla Postfiksa -Group: Networking/Daemons/SMTP -Requires: %{name} = %{epoch}:%{version}-%{release} - -%description dict-lmdb -This package provides support for LMDB maps in Postfix. - -%description dict-lmdb -l pl.UTF-8 -Ten pakiet dodaje obsługę map LMDB do Postfiksa. - %package dict-mysql Summary: MySQL map support for Postfix Summary(pl.UTF-8): Obsługa map MySQL dla Postfiksa @@ -279,11 +266,11 @@ Plik monitrc do monitorowania serwera Postfix. %build # export, as the same variables must be passed both to 'make makefiles' and 'make' -export CCARGS="-std=gnu17 %{!?with_epoll:-DNO_EPOLL} %{?with_ldap:-DHAS_LDAP} -DHAS_PCRE %{?with_sasl:-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl} %{?with_mysql:-DHAS_MYSQL -I/usr/include/mysql} %{?with_pgsql:-DHAS_PGSQL} %{?with_ssl:-DUSE_TLS} -DMAX_DYNAMIC_MAPS %{?with_cdb:-DHAS_CDB} %{?with_sqlite:-DHAS_SQLITE} %{?with_lmdb:-DHAS_LMDB} -LHAS_SDBM" +export CCARGS="-std=gnu17 -DNO_DB %{!?with_epoll:-DNO_EPOLL} %{?with_ldap:-DHAS_LDAP} -DHAS_PCRE %{?with_sasl:-DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl} %{?with_mysql:-DHAS_MYSQL -I/usr/include/mysql} %{?with_pgsql:-DHAS_PGSQL} %{?with_ssl:-DUSE_TLS} -DMAX_DYNAMIC_MAPS %{?with_cdb:-DHAS_CDB} %{?with_sqlite:-DHAS_SQLITE} -DHAS_LMDB -LHAS_SDBM" export AUXLIBS="%{rpmldflags} -lsasl -lssl -lcrypto" export AUXLIBS_CDB="%{?with_cdb:-lcdb}" export AUXLIBS_LDAP="%{?with_ldap:-lldap -llber}" -export AUXLIBS_LMDB="%{?with_lmdb:-llmdb}" +export AUXLIBS_LMDB="-llmdb" export AUXLIBS_MYSQL="%{?with_mysql:-lmysqlclient}" export AUXLIBS_PCRE="-lpcre" export AUXLIBS_PGSQL="%{?with_pgsql:-lpq}" @@ -295,7 +282,9 @@ export CC="%{__cc}" dynamicmaps=yes \ daemon_directory="%{_libdir}/postfix/sbin" \ shlib_directory="%{_libdir}/postfix" \ - manpage_directory="%{_mandir}" + manpage_directory="%{_mandir}" \ + default_database_type=lmdb \ + default_cache_db_type=lmdb %{__make} -j1 \ DEBUG="" \ @@ -411,12 +400,10 @@ echo %lang(pl) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/postfix/bounce.cf.pl %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/postfix/canonical %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/postfix/generic -#%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/postfix/regexp_table %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/postfix/relocated %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/postfix/transport %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/postfix/virtual %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/postfix/header_checks -#%ghost %{_sysconfdir}/postfix/*.db %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/postfix/dynamicmaps.cf %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/postfix/main.cf %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/postfix/main.cf.proto @@ -452,6 +439,7 @@ echo %attr(755,root,root) %{_libdir}/postfix/libpostfix-master.so %attr(755,root,root) %{_libdir}/postfix/libpostfix-tls.so %attr(755,root,root) %{_libdir}/postfix/libpostfix-util.so +%attr(755,root,root) %{_libdir}/postfix/postfix-lmdb.so %dir %{_libdir}/postfix/sbin %attr(755,root,root) %{_libdir}/postfix/sbin/anvil %attr(755,root,root) %{_libdir}/postfix/sbin/bounce @@ -463,10 +451,12 @@ echo %attr(755,root,root) %{_libdir}/postfix/sbin/lmtp %attr(755,root,root) %{_libdir}/postfix/sbin/local %attr(755,root,root) %{_libdir}/postfix/sbin/master +%attr(755,root,root) %{_libdir}/postfix/sbin/nbdb_reindexd %attr(755,root,root) %{_libdir}/postfix/sbin/nqmgr %attr(755,root,root) %{_libdir}/postfix/sbin/oqmgr %attr(755,root,root) %{_libdir}/postfix/sbin/pickup %attr(755,root,root) %{_libdir}/postfix/sbin/pipe +%attr(755,root,root) %{_libdir}/postfix/sbin/postfix-non-bdb-script %attr(755,root,root) %{_libdir}/postfix/sbin/postfix-script %attr(755,root,root) %{_libdir}/postfix/sbin/postfix-tls-script %attr(755,root,root) %{_libdir}/postfix/sbin/postfix-wrapper @@ -514,6 +504,7 @@ echo %{_mandir}/man5/generic.5* %{_mandir}/man5/header_checks.5* %{_mandir}/man5/lmdb_table.5* +%{_mandir}/man5/mongodb_table.5* %{_mandir}/man5/master.5* %{_mandir}/man5/memcache_table.5* %{_mandir}/man5/nisplus_table.5* @@ -543,13 +534,6 @@ echo %{_mandir}/man5/ldap_table.5* %endif -%if %{with lmdb} -%files dict-lmdb -%defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/postfix/postfix-lmdb.so -%{_mandir}/man5/lmdb_table.5* -%endif - %if %{with mysql} %files dict-mysql %defattr(644,root,root,755)