openSUSE Commits
Threads by month
- ----- 2024 -----
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
February 2021
- 1 participants
- 2358 discussions
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package pinentry for openSUSE:Factory checked in at 2021-02-01 13:25:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pinentry (Old)
and /work/SRC/openSUSE:Factory/.pinentry.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pinentry"
Mon Feb 1 13:25:41 2021 rev:60 rq:867309 version:1.1.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/pinentry/pinentry.changes 2019-07-31 14:14:01.542880310 +0200
+++ /work/SRC/openSUSE:Factory/.pinentry.new.28504/pinentry.changes 2021-02-01 13:26:02.497901277 +0100
@@ -1,0 +2,19 @@
+Wed Jan 27 17:20:58 UTC 2021 - Andreas Stieger <andreas.stieger(a)gmx.de>
+
+- actually build efl based pinentry
+- re-enable validation of upstream signing key
+
+-------------------------------------------------------------------
+Sun Jan 24 19:21:05 UTC 2021 - Dirk M��ller <dmueller(a)suse.com>
+
+- update to 1.1.1:
+ * A EFL-based pinentry has been contributed.
+ * Disable echoing in backspace key is pressed first
+ (GTK, Qt, TQt, and ncurses pinentries).
+ * Support line editing in TTY pinentry.
+ * Remove support for old GTK+2 (< 2.12.0).
+ * Various minor fixes.
+- drop pinentry-qt-Fix-use-of-dangling-pointer.patch (upstream)
+- drop pinentry-ncurses6.diff: obsolete
+
+-------------------------------------------------------------------
Old:
----
pinentry-1.1.0.tar.bz2
pinentry-1.1.0.tar.bz2.sig
pinentry-ncurses6.diff
pinentry-qt-Fix-use-of-dangling-pointer.patch
New:
----
pinentry-1.1.1.tar.bz2
pinentry-1.1.1.tar.bz2.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pinentry.spec ++++++
--- /var/tmp/diff_new_pack.sY073w/_old 2021-02-01 13:26:03.437902739 +0100
+++ /var/tmp/diff_new_pack.sY073w/_new 2021-02-01 13:26:03.437902739 +0100
@@ -1,7 +1,7 @@
#
# spec file for package pinentry
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,21 +19,19 @@
%define ncurses %(xxx="`readlink -f %{_includedir}/ncurses.h`"; echo $xxx)
%define nmajor %(grep NCURSES_VERSION_MAJOR < %{_includedir}/ncurses.h)
Name: pinentry
-Version: 1.1.0
+Version: 1.1.1
Release: 0
Summary: Collection of Simple PIN or Passphrase Entry Dialogs
License: GPL-2.0-or-later
Group: Productivity/Other
URL: https://www.gnupg.org/aegypten/
-Source: ftp://ftp.gnupg.org/gcrypt/pinentry/%{name}-%{version}.tar.bz2
-Source1: ftp://ftp.gnupg.org/gcrypt/pinentry/%{name}-%{version}.tar.bz2.sig
+Source: https://www.gnupg.org/ftp/gcrypt/pinentry/pinentry-%{version}.tar.bz2
+Source1: https://www.gnupg.org/ftp/gcrypt/pinentry/pinentry-%{version}.tar.bz2.sig
+# https://www.gnupg.org/signature_key.html
+# https://incenp.org/srv/dgouttegattat.asc
Source2: pinentry.keyring
Source3: pinentry
Patch1: pinentry-0.7.2-gtk+-2.4.diff
-# PATCH-FIX-SUSE make it build with ncurses ABI 6
-Patch7: pinentry-ncurses6.diff
-# PATCH-FIX-SUSE bsc#1141883 pinentry-qt crashes with QtCurve
-Patch8: pinentry-qt-Fix-use-of-dangling-pointer.patch
BuildRequires: fltk-devel >= 1.3
BuildRequires: libassuan-devel >= 2.1.0
BuildRequires: libgpg-error-devel >= 1.16
@@ -43,11 +41,11 @@
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Widgets)
+BuildRequires: pkgconfig(efl)
BuildRequires: pkgconfig(gcr-3)
BuildRequires: pkgconfig(gcr-base-3)
-BuildRequires: pkgconfig(gtk+-2.0) >= 2.4.0
+BuildRequires: pkgconfig(gtk+-2.0) >= 2.12.0
BuildRequires: pkgconfig(libsecret-1)
-Requires(post): %{install_info_prereq}
Provides: pinentry-dialog
%description
@@ -55,7 +53,7 @@
utilize the Assuan protocol as described by the Aegypten project.
%package qt5
-Summary: Collection of Simple PIN or Passphrase Entry Dialogs
+Summary: Simple PIN or Passphrase Entry Dialog for QT5
Group: Productivity/Other
Requires: pinentry
Provides: pinentry-dialog
@@ -66,11 +64,11 @@
Obsoletes: pinentry-qt4 <= 0.9.7
%description qt5
-This is a collection of simple PIN or passphrase entry dialogs which
-utilize the Assuan protocol as described by the Aegypten project.
+A simple PIN or passphrase entry dialog utilize the Assuan protocol
+as described by the Aegypten project, using the QT5 UI toolkit.
%package gtk2
-Summary: Collection of Simple PIN or Passphrase Entry Dialogs
+Summary: Simple PIN or Passphrase Entry Dialog for GTK2
Group: Productivity/Other
Requires: pinentry
Provides: pinentry-dialog
@@ -78,11 +76,11 @@
Provides: pinentry:%{_bindir}/pinentry-gtk-2
%description gtk2
-This is a collection of simple PIN or passphrase entry dialogs which
-utilize the Assuan protocol as described by the Aegypten project.
+A simple PIN or passphrase entry dialog utilize the Assuan protocol
+as described by the Aegypten project, using the GTK2 UI toolkit.
%package gnome3
-Summary: Collection of Simple PIN or Passphrase Entry Dialogs
+Summary: Simple PIN or Passphrase Entry Dialog for GNOME
Group: Productivity/Other
Requires: pinentry
Provides: pinentry-dialog
@@ -90,11 +88,11 @@
Provides: pinentry:%{_bindir}/pinentry-gnome3
%description gnome3
-This is a collection of simple PIN or passphrase entry dialogs which
-utilize the Assuan protocol as described by the Aegypten project.
+A simple PIN or passphrase entry dialog utilize the Assuan protocol
+as described by the Aegypten project, using GNOME libraries.
%package emacs
-Summary: Collection of Simple PIN or Passphrase Entry Dialogs
+Summary: Simple PIN or Passphrase Entry Dialog integrated into Emacs
Group: Productivity/Other
Requires: emacs
Requires: pinentry
@@ -103,8 +101,8 @@
Provides: pinentry:%{_bindir}/pinentry-emacs
%description emacs
-This is a collection of simple PIN or passphrase entry dialogs which
-utilize the Assuan protocol as described by the Aegypten project.
+A simple PIN or passphrase entry dialog utilize the Assuan protocol
+as described by the Aegypten project, integrated into Emacs.
%package fltk
Summary: Collection of Simple PIN or Passphrase Entry Dialogs
@@ -115,14 +113,24 @@
Provides: pinentry:%{_bindir}/pinentry-fltk
%description fltk
-This package contains a simple PIN or passphrase entry dialog built
-using the fltk GUI toolkit.
+A simple PIN or passphrase entry dialog utilize the Assuan protocol
+as described by the Aegypten project, using FLTK libraries.
+
+%package efl
+Summary: Simple PIN or Passphrase Entry Dialog for EFL
+Group: Productivity/Other
+Requires: pinentry
+Provides: pinentry-dialog
+Provides: pinentry-gui
+Provides: pinentry:%{_bindir}/pinentry-efl
+
+%description efl
+A simple PIN or passphrase entry dialog utilize the Assuan protocol
+as described by the Aegypten project, using Enlightenment Foundation Libraries.
%prep
%setup -q
%patch1 -p1
-%patch7
-%patch8 -p1
%build
# Regenerate moc's
@@ -148,8 +156,9 @@
--enable-pinentry-emacs \
--enable-inside-emacs \
--enable-pinentry-fltk \
+ --enable-pinentry-efl \
--without-ncurses-include-dir
-make %{?_smp_mflags}
+%make_build
# build text version without libsecret (bnc#934214)
cd ..
mkdir tui
@@ -164,8 +173,9 @@
--disable-pinentry-emacs \
--disable-inside-emacs \
--disable-pinentry-fltk \
+ --disable-pinentry-efl \
--without-ncurses-include-dir
-make %{?_smp_mflags}
+%make_build
%install
cd tui
@@ -195,20 +205,29 @@
%attr(755,root,root) %{_bindir}/pinentry-curses
%files qt5
-%attr(755,root,root) %{_bindir}/pinentry-qt5
-%attr(755,root,root) %{_bindir}/pinentry-qt4
+%license COPYING
+%{_bindir}/pinentry-qt5
+%{_bindir}/pinentry-qt4
%attr(755,root,root) %{_bindir}/pinentry-qt
%files gtk2
+%license COPYING
%attr(755,root,root) %{_bindir}/pinentry-gtk-2
%files gnome3
+%license COPYING
%attr(755,root,root) %{_bindir}/pinentry-gnome3
%files emacs
+%license COPYING
%attr(755,root,root) %{_bindir}/pinentry-emacs
%files fltk
+%license COPYING
%attr(755,root,root) %{_bindir}/pinentry-fltk
+%files efl
+%license COPYING
+%attr(755,root,root) %{_bindir}/pinentry-efl
+
%changelog
++++++ pinentry ++++++
--- /var/tmp/diff_new_pack.sY073w/_old 2021-02-01 13:26:03.473902795 +0100
+++ /var/tmp/diff_new_pack.sY073w/_new 2021-02-01 13:26:03.473902795 +0100
@@ -84,6 +84,10 @@
elif [ -n "$DISPLAY" -a -x /usr/bin/pinentry-fltk ]
then
export PINENTRY_BINARY="/usr/bin/pinentry-fltk"
+# otherwise test if pinentry-efl exists
+elif [ -n "$DISPLAY" -a -x /usr/bin/pinentry-efl ]
+then
+ export PINENTRY_BINARY="/usr/bin/pinentry-efl"
# use pinentry-tty for modem / serial
elif [ "$TERM" = "dumb" ]
then
++++++ pinentry-1.1.0.tar.bz2 -> pinentry-1.1.1.tar.bz2 ++++++
++++ 12911 lines of diff (skipped)
++++++ pinentry.keyring ++++++
++++ 3425 lines (skipped)
++++ between pinentry.keyring
++++ and /work/SRC/openSUSE:Factory/.pinentry.new.28504/pinentry.keyring
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package openssh for openSUSE:Factory checked in at 2021-02-01 13:25:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openssh (Old)
and /work/SRC/openSUSE:Factory/.openssh.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openssh"
Mon Feb 1 13:25:40 2021 rev:149 rq:867288 version:8.4p1
Changes:
--------
--- /work/SRC/openSUSE:Factory/openssh/openssh.changes 2021-01-26 14:49:43.407675456 +0100
+++ /work/SRC/openSUSE:Factory/.openssh.new.28504/openssh.changes 2021-02-01 13:25:59.881897206 +0100
@@ -1,0 +2,6 @@
+Wed Jan 27 14:09:08 UTC 2021 - Thorsten Kukuk <kukuk(a)suse.com>
+
+- Add support for /etc/ssh/ssh_config.d and /etc/ssh/sshd_config.d
+ (openssh-8.4p1-ssh_config_d.patch)
+
+-------------------------------------------------------------------
New:
----
openssh-8.4p1-ssh_config_d.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openssh.spec ++++++
--- /var/tmp/diff_new_pack.7h38H4/_old 2021-02-01 13:26:01.177899223 +0100
+++ /var/tmp/diff_new_pack.7h38H4/_new 2021-02-01 13:26:01.177899223 +0100
@@ -110,6 +110,7 @@
Patch42: openssh-link-with-sk.patch
Patch43: openssh-reenable-dh-group14-sha1-default.patch
Patch44: openssh-fix-ssh-copy-id.patch
+Patch45: openssh-8.4p1-ssh_config_d.patch
BuildRequires: audit-devel
BuildRequires: automake
BuildRequires: groff
@@ -308,6 +309,8 @@
install -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/pam.d/sshd
%endif
install -d -m 755 %{buildroot}%{_localstatedir}/lib/sshd
+install -d -m 755 %{buildroot}%{_sysconfdir}/ssh/ssh_config.d
+install -d -m 755 %{buildroot}%{_sysconfdir}/ssh/sshd_config.d
install -d -m 755 %{buildroot}%{_sysconfdir}/slp.reg.d/
install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/slp.reg.d/
install -D -m 0644 %{SOURCE10} %{buildroot}%{_unitdir}/sshd.service
@@ -445,7 +448,8 @@
%attr(0755,root,root) %{_sbindir}/sshd
%attr(0755,root,root) %{_sbindir}/rcsshd
%attr(0755,root,root) %{_sbindir}/sshd-gen-keys-start
-%dir %attr(755,root,root) %{_localstatedir}/lib/sshd
+%dir %attr(0755,root,root) %{_localstatedir}/lib/sshd
+%dir %attr(0755,root,root) %{_sysconfdir}/ssh/sshd_config.d
%verify(not mode) %attr(0640,root,root) %config(noreplace) %{_sysconfdir}/ssh/sshd_config
%if %{defined _distconfdir}
%attr(0644,root,root) %{_distconfdir}/pam.d/sshd
@@ -468,6 +472,7 @@
%endif
%files clients
+%dir %attr(0755,root,root) %{_sysconfdir}/ssh/ssh_config.d
%verify(not mode) %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/ssh/ssh_config
%attr(0755,root,root) %{_bindir}/ssh
%attr(0755,root,root) %{_bindir}/scp*
++++++ openssh-8.4p1-ssh_config_d.patch ++++++
diff -ur openssh-8.4p1.orig/ssh_config openssh-8.4p1/ssh_config
--- openssh-8.4p1.orig/ssh_config 2021-01-27 14:43:22.698144889 +0100
+++ openssh-8.4p1/ssh_config 2021-01-27 14:40:46.170143382 +0100
@@ -17,6 +17,12 @@
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.
+# To modify the system-wide ssh configuration, create a "*.conf" file under
+# "/etc/ssh/ssh_config.d/" which will be automatically included below.
+# Don't edit this configuration file itself if possible to avoid update
+# problems.
+Include /etc/ssh/ssh_config.d/*.conf
+
Host *
# ForwardAgent no
# ForwardX11 no
diff -ur openssh-8.4p1.orig/sshd_config openssh-8.4p1/sshd_config
--- openssh-8.4p1.orig/sshd_config 2020-09-27 09:25:01.000000000 +0200
+++ openssh-8.4p1/sshd_config 2021-01-27 14:21:23.070132184 +0100
@@ -10,6 +10,12 @@
# possible, but leave them commented. Uncommented options override the
# default value.
+# To modify the system-wide sshd configuration, create a "*.conf" file under
+# "/etc/ssh/sshd_config.d/" which will be automatically included below.
+# Don't edit this configuration file itself if possible to avoid update
+# problems.
+Include /etc/ssh/sshd_config.d/*.conf
+
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package iproute2 for openSUSE:Factory checked in at 2021-02-01 13:25:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/iproute2 (Old)
and /work/SRC/openSUSE:Factory/.iproute2.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "iproute2"
Mon Feb 1 13:25:38 2021 rev:117 rq:867285 version:5.10.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/iproute2/iproute2.changes 2020-11-23 18:45:56.649086493 +0100
+++ /work/SRC/openSUSE:Factory/.iproute2.new.28504/iproute2.changes 2021-02-01 13:25:58.293894735 +0100
@@ -1,0 +2,9 @@
+Wed Jan 27 18:25:04 UTC 2021 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 5.10
+ * iplink: add support for protodown reason
+ * ss: add support to expose various inet sockopts
+ * ss: add support for XDP statistics
+ * bridge: mdb: add support for source address
+
+-------------------------------------------------------------------
Old:
----
iproute2-5.9.0.tar.sign
iproute2-5.9.0.tar.xz
New:
----
iproute2-5.10.0.tar.sign
iproute2-5.10.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ iproute2.spec ++++++
--- /var/tmp/diff_new_pack.FagPe4/_old 2021-02-01 13:25:59.137896049 +0100
+++ /var/tmp/diff_new_pack.FagPe4/_new 2021-02-01 13:25:59.137896049 +0100
@@ -1,7 +1,7 @@
#
# spec file for package iproute2
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
%define _buildshell /bin/bash
Name: iproute2
-Version: 5.9.0
+Version: 5.10.0
Release: 0
Summary: Linux network configuration utilities
License: GPL-2.0-only
++++++ iproute2-5.9.0.tar.xz -> iproute2-5.10.0.tar.xz ++++++
++++ 4374 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package wayland for openSUSE:Factory checked in at 2021-02-01 13:25:37
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/wayland (Old)
and /work/SRC/openSUSE:Factory/.wayland.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "wayland"
Mon Feb 1 13:25:37 2021 rev:41 rq:867284 version:1.19.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/wayland/wayland.changes 2020-02-25 16:01:53.152030685 +0100
+++ /work/SRC/openSUSE:Factory/.wayland.new.28504/wayland.changes 2021-02-01 13:25:56.517891949 +0100
@@ -1,0 +2,7 @@
+Wed Jan 27 18:19:56 UTC 2021 - Jan Engelhardt <jengelh(a)inai.de>
+
+- Update to release 1.19
+ * This release mostly contains bug fixes and minor
+ protocol updates.
+
+-------------------------------------------------------------------
Old:
----
wayland-1.18.0.tar.xz
wayland-1.18.0.tar.xz.sig
New:
----
wayland-1.19.0.tar.xz
wayland-1.19.0.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ wayland.spec ++++++
--- /var/tmp/diff_new_pack.f6POZF/_old 2021-02-01 13:25:57.265893122 +0100
+++ /var/tmp/diff_new_pack.f6POZF/_new 2021-02-01 13:25:57.269893129 +0100
@@ -15,7 +15,7 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
-%define _version 1.18.0
+%define _version 1.19.0
%if 0%{?suse_version} >= 1500 && 0%{?suse_version} < 1550
%define eglversion 99~%_version
%else
++++++ wayland-1.18.0.tar.xz -> wayland-1.19.0.tar.xz ++++++
++++ 19079 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package pangomm1_4 for openSUSE:Factory checked in at 2021-02-01 13:25:35
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pangomm1_4 (Old)
and /work/SRC/openSUSE:Factory/.pangomm1_4.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pangomm1_4"
Mon Feb 1 13:25:35 2021 rev:6 rq:867242 version:2.46.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/pangomm1_4/pangomm1_4.changes 2020-12-23 14:20:36.829688710 +0100
+++ /work/SRC/openSUSE:Factory/.pangomm1_4.new.28504/pangomm1_4.changes 2021-02-01 13:25:55.145889797 +0100
@@ -1,0 +2,18 @@
+Wed Jan 27 13:58:48 UTC 2021 - Bj��rn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 2.46.0:
+ + Attribute: Add Overline and ShowFlags enums and some create*()
+ methods.
+ + Font, FontFace, FontFamily, FontMetrics: Add new methods.
+ + LayoutIter: Fix get_run().
+ + LayoutRun:
+ - Fix a memory leak in split().
+ - Make most methods public.
+ + GlyphString, Item: Wrap pango_shape_with_flags().
+ + Layout:
+ - Add set/get_line_spacing().
+ - Add get_const_line() and get_const_lines().
+ + Coverage: Deprecate create(bytes, n_bytes), max(), to_bytes().
+ + Build: Requires pango >= 1.45.1 because of Overline.
+
+-------------------------------------------------------------------
Old:
----
pangomm-2.42.2.tar.xz
New:
----
pangomm-2.46.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ pangomm1_4.spec ++++++
--- /var/tmp/diff_new_pack.HfFZi7/_old 2021-02-01 13:25:55.621890544 +0100
+++ /var/tmp/diff_new_pack.HfFZi7/_new 2021-02-01 13:25:55.621890544 +0100
@@ -1,7 +1,7 @@
#
# spec file for package pangomm1_4
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -21,13 +21,13 @@
%define _name pangomm
Name: pangomm1_4
-Version: 2.42.2
+Version: 2.46.0
Release: 0
Summary: C++ interface for pango
License: GPL-2.0-or-later AND LGPL-2.0-or-later
Group: Development/Libraries/C and C++
URL: http://www.gtkmm.org
-Source0: https://download.gnome.org/sources/pangomm/2.42/%{_name}-%{version}.tar.xz
+Source0: https://download.gnome.org/sources/pangomm/2.46/%{_name}-%{version}.tar.xz
Source99: baselibs.conf
BuildRequires: c++_compiler
@@ -39,7 +39,7 @@
BuildRequires: xsltproc
BuildRequires: pkgconfig(cairomm-1.0) >= 1.2.2
BuildRequires: pkgconfig(glibmm-2.4) >= 2.48.0
-BuildRequires: pkgconfig(pangocairo) >= 1.41.0
+BuildRequires: pkgconfig(pangocairo) >= 1.45.1
%description
pangomm provides a C++ interface to the pango library.
++++++ pangomm-2.42.2.tar.xz -> pangomm-2.46.0.tar.xz ++++++
++++ 18063 lines of diff (skipped)
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package glibmm2_4 for openSUSE:Factory checked in at 2021-02-01 13:25:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/glibmm2_4 (Old)
and /work/SRC/openSUSE:Factory/.glibmm2_4.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "glibmm2_4"
Mon Feb 1 13:25:33 2021 rev:14 rq:867241 version:2.66.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/glibmm2_4/glibmm2_4.changes 2020-12-05 20:37:07.338705112 +0100
+++ /work/SRC/openSUSE:Factory/.glibmm2_4.new.28504/glibmm2_4.changes 2021-02-01 13:25:53.993887990 +0100
@@ -1,0 +2,14 @@
+Wed Jan 27 14:20:13 UTC 2021 - Bj��rn Lie <bjorn.lie(a)gmail.com>
+
+- Update to version 2.66.0:
+ + Glib:
+ - Binding: Add set_manage() and Glib::manage().
+ - Deprecate BalancedTree in favour of std::map and
+ std::unordered_map.
+ + Gio:
+ - ListStore: Accept interfaces.
+ - MenuAttribute: Add new enum values.
+ - SettingsSchemaSource: Wrap new_from_directory() and
+ list_schemas().
+
+-------------------------------------------------------------------
Old:
----
glibmm-2.64.5.tar.xz
New:
----
glibmm-2.66.0.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ glibmm2_4.spec ++++++
--- /var/tmp/diff_new_pack.Okxvxe/_old 2021-02-01 13:25:54.581888912 +0100
+++ /var/tmp/diff_new_pack.Okxvxe/_new 2021-02-01 13:25:54.581888912 +0100
@@ -1,7 +1,7 @@
#
# spec file for package glibmm2_4
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -20,13 +20,13 @@
%define so_ver -2_4-1
%define _name glibmm
Name: glibmm2_4
-Version: 2.64.5
+Version: 2.66.0
Release: 0
Summary: C++ Interface for Glib
License: LGPL-2.1-or-later
Group: Development/Libraries/C and C++
URL: http://www.gtkmm.org/
-Source0: https://download.gnome.org/sources/glibmm/2.64/%{_name}-%{version}.tar.xz
+Source0: https://download.gnome.org/sources/glibmm/2.66/%{_name}-%{version}.tar.xz
Source99: baselibs.conf
BuildRequires: doxygen
++++++ glibmm-2.64.5.tar.xz -> glibmm-2.66.0.tar.xz ++++++
/work/SRC/openSUSE:Factory/glibmm2_4/glibmm-2.64.5.tar.xz /work/SRC/openSUSE:Factory/.glibmm2_4.new.28504/glibmm-2.66.0.tar.xz differ: char 26, line 1
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package gnome-software for openSUSE:Factory checked in at 2021-02-01 13:25:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-software (Old)
and /work/SRC/openSUSE:Factory/.gnome-software.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gnome-software"
Mon Feb 1 13:25:31 2021 rev:75 rq:867240 version:3.38.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/gnome-software/gnome-software.changes 2020-11-23 18:44:21.080987112 +0100
+++ /work/SRC/openSUSE:Factory/.gnome-software.new.28504/gnome-software.changes 2021-02-01 13:25:50.221882074 +0100
@@ -1,0 +2,5 @@
+Tue Jan 19 00:41:28 UTC 2021 - Stasiek Michalski <stasiek(a)michalski.cc>
+
+- Remove hard dependency on zypp appdata plugin if other PackageKit backend is used
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ gnome-software.spec ++++++
--- /var/tmp/diff_new_pack.io10j4/_old 2021-02-01 13:25:50.833883034 +0100
+++ /var/tmp/diff_new_pack.io10j4/_new 2021-02-01 13:25:50.837883040 +0100
@@ -65,7 +65,8 @@
# boo#1090042
Requires: fwupd
Requires: iso-codes
-Requires: libzypp-plugin-appdata
+Requires: PackageKit
+Requires: (libzypp-plugin-appdata if PackageKit-backend-zypp)
Recommends: flatpak
# bsc#1178768
%if 0%{?sle_version}
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Role-Tiny for openSUSE:Factory checked in at 2021-02-01 13:25:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Role-Tiny (Old)
and /work/SRC/openSUSE:Factory/.perl-Role-Tiny.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Role-Tiny"
Mon Feb 1 13:25:30 2021 rev:19 rq:867238 version:2.002004
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Role-Tiny/perl-Role-Tiny.changes 2021-01-14 15:04:55.866739311 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Role-Tiny.new.28504/perl-Role-Tiny.changes 2021-02-01 13:25:49.297880624 +0100
@@ -1,0 +2,10 @@
+Mon Jan 25 03:10:52 UTC 2021 - Tina M��ller <timueller+perl(a)suse.de>
+
+- updated to 2.002004
+ see /usr/share/doc/packages/perl-Role-Tiny/Changes
+
+ 2.002004 - 2021-01-24
+ - restore requiring base class when using create_class_with_roles, which was
+ accidentally lost in 2.002_000 (RT#134075)
+
+-------------------------------------------------------------------
Old:
----
Role-Tiny-2.002003.tar.gz
New:
----
Role-Tiny-2.002004.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Role-Tiny.spec ++++++
--- /var/tmp/diff_new_pack.0UVSjW/_old 2021-02-01 13:25:49.821881446 +0100
+++ /var/tmp/diff_new_pack.0UVSjW/_new 2021-02-01 13:25:49.825881452 +0100
@@ -18,7 +18,7 @@
%define cpan_name Role-Tiny
Name: perl-Role-Tiny
-Version: 2.002003
+Version: 2.002004
Release: 0
Summary: Roles: a nouvelle cuisine portion size slice of Moose
License: Artistic-1.0 OR GPL-1.0-or-later
++++++ Role-Tiny-2.002003.tar.gz -> Role-Tiny-2.002004.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Role-Tiny-2.002003/Changes new/Role-Tiny-2.002004/Changes
--- old/Role-Tiny-2.002003/Changes 2021-01-11 19:25:18.000000000 +0100
+++ new/Role-Tiny-2.002004/Changes 2021-01-24 03:48:57.000000000 +0100
@@ -1,5 +1,9 @@
Revision history for Role-Tiny
+2.002004 - 2021-01-24
+ - restore requiring base class when using create_class_with_roles, which was
+ accidentally lost in 2.002_000 (RT#134075)
+
2.002003 - 2021-01-11
- set dynamic_config to 0 and x_static_install to 1
- fixed filenames in dependents author test to not use colons
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Role-Tiny-2.002003/META.json new/Role-Tiny-2.002004/META.json
--- old/Role-Tiny-2.002003/META.json 2021-01-11 19:26:00.000000000 +0100
+++ new/Role-Tiny-2.002004/META.json 2021-01-24 03:49:17.000000000 +0100
@@ -4,7 +4,7 @@
"mst - Matt S. Trout (cpan:MSTROUT) <mst(a)shadowcat.co.uk>"
],
"dynamic_config" : 0,
- "generated_by" : "ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010",
+ "generated_by" : "ExtUtils::MakeMaker version 7.58, CPAN::Meta::Converter version 2.150010",
"license" : [
"perl_5"
],
@@ -58,7 +58,7 @@
},
"x_IRC" : "irc://irc.perl.org/#moose"
},
- "version" : "2.002003",
+ "version" : "2.002004",
"x_serialization_backend" : "JSON::PP version 4.04",
"x_static_install" : 1
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Role-Tiny-2.002003/META.yml new/Role-Tiny-2.002004/META.yml
--- old/Role-Tiny-2.002003/META.yml 2021-01-11 19:25:59.000000000 +0100
+++ new/Role-Tiny-2.002004/META.yml 2021-01-24 03:49:17.000000000 +0100
@@ -5,7 +5,7 @@
build_requires:
Test::More: '0.88'
dynamic_config: 0
-generated_by: 'ExtUtils::MakeMaker version 7.44, CPAN::Meta::Converter version 2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.58, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -25,6 +25,6 @@
bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Role-Tiny
license: http://dev.perl.org/licenses/
repository: git://github.com/moose/Role-Tiny.git
-version: '2.002003'
+version: '2.002004'
x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
x_static_install: 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Role-Tiny-2.002003/lib/Role/Tiny/With.pm new/Role-Tiny-2.002004/lib/Role/Tiny/With.pm
--- old/Role-Tiny-2.002003/lib/Role/Tiny/With.pm 2021-01-11 19:23:55.000000000 +0100
+++ new/Role-Tiny-2.002004/lib/Role/Tiny/With.pm 2021-01-24 03:48:45.000000000 +0100
@@ -3,7 +3,7 @@
use strict;
use warnings;
-our $VERSION = '2.002003';
+our $VERSION = '2.002004';
$VERSION =~ tr/_//d;
use Role::Tiny ();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Role-Tiny-2.002003/lib/Role/Tiny.pm new/Role-Tiny-2.002004/lib/Role/Tiny.pm
--- old/Role-Tiny-2.002003/lib/Role/Tiny.pm 2021-01-11 19:23:55.000000000 +0100
+++ new/Role-Tiny-2.002004/lib/Role/Tiny.pm 2021-01-24 03:48:45.000000000 +0100
@@ -2,7 +2,7 @@
use strict;
use warnings;
-our $VERSION = '2.002003';
+our $VERSION = '2.002004';
$VERSION =~ tr/_//d;
our %INFO;
@@ -197,6 +197,7 @@
sub create_class_with_roles {
my ($me, $superclass, @roles) = @_;
+ $me->_require_module($superclass);
$me->_check_roles(@roles);
my $new_name = $me->_composite_name($superclass, @roles);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Role-Tiny-2.002003/maint/Makefile.PL.include new/Role-Tiny-2.002004/maint/Makefile.PL.include
--- old/Role-Tiny-2.002003/maint/Makefile.PL.include 2020-12-02 08:51:19.000000000 +0100
+++ new/Role-Tiny-2.002004/maint/Makefile.PL.include 2021-01-24 03:10:03.000000000 +0100
@@ -1,4 +1,4 @@
-BEGIN { -e 'Distar' or system("git clone git://git.shadowcat.co.uk/p5sagit/Distar.git") }
+BEGIN { -e 'Distar' or system qw(git clone https://github.com/p5sagit/Distar.git) }
use lib 'Distar/lib';
use Distar;
use ExtUtils::MakeMaker;
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package perl-Path-Tiny for openSUSE:Factory checked in at 2021-02-01 13:25:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Path-Tiny (Old)
and /work/SRC/openSUSE:Factory/.perl-Path-Tiny.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Path-Tiny"
Mon Feb 1 13:25:27 2021 rev:25 rq:867233 version:0.116
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Path-Tiny/perl-Path-Tiny.changes 2020-08-04 20:16:15.852860321 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Path-Tiny.new.28504/perl-Path-Tiny.changes 2021-02-01 13:25:48.341879125 +0100
@@ -1,0 +2,12 @@
+Sat Jan 23 03:08:05 UTC 2021 - Tina M��ller <timueller+perl(a)suse.de>
+
+- updated to 0.116
+ see /usr/share/doc/packages/perl-Path-Tiny/Changes
+
+ 0.116 2021-01-22 10:32:22-05:00 America/New_York
+ - No changes from 0.115-TRIAL.
+ 0.115 2021-01-19 12:01:33-05:00 America/New_York (TRIAL RELEASE)
+ [Tests]
+ - Fixes tests on MSYS without symlinks enabled.
+
+-------------------------------------------------------------------
Old:
----
Path-Tiny-0.114.tar.gz
New:
----
Path-Tiny-0.116.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Path-Tiny.spec ++++++
--- /var/tmp/diff_new_pack.5x0or6/_old 2021-02-01 13:25:48.941880066 +0100
+++ /var/tmp/diff_new_pack.5x0or6/_new 2021-02-01 13:25:48.945880072 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-Path-Tiny
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,18 +16,16 @@
#
+%define cpan_name Path-Tiny
Name: perl-Path-Tiny
-Version: 0.114
+Version: 0.116
Release: 0
-%define cpan_name Path-Tiny
Summary: File path utility
License: Apache-2.0
-Group: Development/Libraries/Perl
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/%{cpan_name}-%{version}.…
Source1: cpanspec.yml
BuildArch: noarch
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Digest::SHA) >= 5.45
@@ -69,11 +67,11 @@
requires Perl 5.008001 or later.
%prep
-%setup -q -n %{cpan_name}-%{version}
+%autosetup -n %{cpan_name}-%{version}
%build
perl Makefile.PL INSTALLDIRS=vendor
-make %{?_smp_mflags}
+%make_build
%check
make test
@@ -84,7 +82,6 @@
%perl_gen_filelist
%files -f %{name}.files
-%defattr(-,root,root,755)
%doc Changes CONTRIBUTING.mkdn README
%license LICENSE
++++++ Path-Tiny-0.114.tar.gz -> Path-Tiny-0.116.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/Changes new/Path-Tiny-0.116/Changes
--- old/Path-Tiny-0.114/Changes 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/Changes 2021-01-22 16:32:49.000000000 +0100
@@ -1,5 +1,15 @@
Revision history for Path-Tiny
+0.116 2021-01-22 10:32:22-05:00 America/New_York
+
+ - No changes from 0.115-TRIAL.
+
+0.115 2021-01-19 12:01:33-05:00 America/New_York (TRIAL RELEASE)
+
+ [Tests]
+
+ - Fixes tests on MSYS without symlinks enabled.
+
0.114 2020-04-26 10:10:29-04:00 America/New_York
- No changes from 0.113-TRIAL.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/MANIFEST new/Path-Tiny-0.116/MANIFEST
--- old/Path-Tiny-0.114/MANIFEST 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/MANIFEST 2021-01-22 16:32:49.000000000 +0100
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.014.
+# This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.017.
CONTRIBUTING.mkdn
Changes
LICENSE
@@ -47,10 +47,10 @@
tidyall.ini
xt/author/00-compile.t
xt/author/critic.t
+xt/author/distmeta.t
xt/author/minimum-version.t
xt/author/pod-coverage.t
xt/author/pod-spell.t
xt/author/pod-syntax.t
xt/author/portability.t
xt/author/test-version.t
-xt/release/distmeta.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/META.json new/Path-Tiny-0.116/META.json
--- old/Path-Tiny-0.114/META.json 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/META.json 2021-01-22 16:32:49.000000000 +0100
@@ -4,7 +4,7 @@
"David Golden <dagolden(a)cpan.org>"
],
"dynamic_config" : 0,
- "generated_by" : "Dist::Zilla version 6.014, CPAN::Meta::Converter version 2.150010",
+ "generated_by" : "Dist::Zilla version 6.017, CPAN::Meta::Converter version 2.150010",
"license" : [
"apache_2_0"
],
@@ -112,11 +112,11 @@
"provides" : {
"Path::Tiny" : {
"file" : "lib/Path/Tiny.pm",
- "version" : "0.114"
+ "version" : "0.116"
},
"Path::Tiny::Error" : {
"file" : "lib/Path/Tiny.pm",
- "version" : "0.114"
+ "version" : "0.116"
}
},
"release_status" : "stable",
@@ -131,7 +131,7 @@
"web" : "https://github.com/dagolden/Path-Tiny"
}
},
- "version" : "0.114",
+ "version" : "0.116",
"x_authority" : "cpan:DAGOLDEN",
"x_contributors" : [
"Alex Efros <powerman(a)powerman.name>",
@@ -158,7 +158,7 @@
"Michael G. Schwern <mschwern(a)cpan.org>",
"Nigel Gregoire <nigelgregoire(a)gmail.com>",
"Philippe Bruhat (BooK) <book(a)cpan.org>",
- "Regina Verbae <regina-verbae(a)users.noreply.github.com>",
+ "regina-verbae <regina-verbae(a)users.noreply.github.com>",
"Roy Ivy III <rivy(a)cpan.org>",
"Shlomi Fish <shlomif(a)shlomifish.org>",
"Smylers <Smylers(a)stripey.com>",
@@ -167,8 +167,8 @@
"Yanick Champoux <yanick(a)babyl.dyndns.org>",
"\uae40\ub3c4\ud615 - Keedi Kim <keedi(a)cpan.org>"
],
- "x_generated_by_perl" : "v5.30.1",
- "x_serialization_backend" : "Cpanel::JSON::XS version 4.19",
+ "x_generated_by_perl" : "v5.32.0",
+ "x_serialization_backend" : "Cpanel::JSON::XS version 4.24",
"x_spdx_expression" : "Apache-2.0"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/META.yml new/Path-Tiny-0.116/META.yml
--- old/Path-Tiny-0.114/META.yml 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/META.yml 2021-01-22 16:32:49.000000000 +0100
@@ -18,7 +18,7 @@
ExtUtils::MakeMaker: '6.17'
perl: '5.008001'
dynamic_config: 0
-generated_by: 'Dist::Zilla version 6.014, CPAN::Meta::Converter version 2.150010'
+generated_by: 'Dist::Zilla version 6.017, CPAN::Meta::Converter version 2.150010'
license: apache
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -36,10 +36,10 @@
provides:
Path::Tiny:
file: lib/Path/Tiny.pm
- version: '0.114'
+ version: '0.116'
Path::Tiny::Error:
file: lib/Path/Tiny.pm
- version: '0.114'
+ version: '0.116'
recommends:
Unicode::UTF8: '0.58'
requires:
@@ -66,7 +66,7 @@
bugtracker: https://github.com/dagolden/Path-Tiny/issues
homepage: https://github.com/dagolden/Path-Tiny
repository: https://github.com/dagolden/Path-Tiny.git
-version: '0.114'
+version: '0.116'
x_authority: cpan:DAGOLDEN
x_contributors:
- 'Alex Efros <powerman(a)powerman.name>'
@@ -93,7 +93,7 @@
- 'Michael G. Schwern <mschwern(a)cpan.org>'
- 'Nigel Gregoire <nigelgregoire(a)gmail.com>'
- 'Philippe Bruhat (BooK) <book(a)cpan.org>'
- - 'Regina Verbae <regina-verbae(a)users.noreply.github.com>'
+ - 'regina-verbae <regina-verbae(a)users.noreply.github.com>'
- 'Roy Ivy III <rivy(a)cpan.org>'
- 'Shlomi Fish <shlomif(a)shlomifish.org>'
- 'Smylers <Smylers(a)stripey.com>'
@@ -101,6 +101,6 @@
- 'Toby Inkster <tobyink(a)cpan.org>'
- 'Yanick Champoux <yanick(a)babyl.dyndns.org>'
- '��������� - Keedi Kim <keedi(a)cpan.org>'
-x_generated_by_perl: v5.30.1
+x_generated_by_perl: v5.32.0
x_serialization_backend: 'YAML::Tiny version 1.73'
x_spdx_expression: Apache-2.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/Makefile.PL new/Path-Tiny-0.116/Makefile.PL
--- old/Path-Tiny-0.114/Makefile.PL 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/Makefile.PL 2021-01-22 16:32:49.000000000 +0100
@@ -1,4 +1,4 @@
-# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.014.
+# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v6.017.
use strict;
use warnings;
@@ -48,7 +48,7 @@
"lib" => 0,
"open" => 0
},
- "VERSION" => "0.114",
+ "VERSION" => "0.116",
"test" => {
"TESTS" => "t/*.t"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/README new/Path-Tiny-0.116/README
--- old/Path-Tiny-0.114/README 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/README 2021-01-22 16:32:49.000000000 +0100
@@ -2,7 +2,7 @@
Path::Tiny - File path utility
VERSION
- version 0.114
+ version 0.116
SYNOPSIS
use Path::Tiny;
@@ -1036,20 +1036,6 @@
This module was featured in the 2013 Perl Advent Calendar
<http://www.perladvent.org/2013/2013-12-18.html>.
-SUPPORT
- Bugs / Feature Requests
- Please report any bugs or feature requests through the issue tracker at
- <https://github.com/dagolden/Path-Tiny/issues>. You will be notified
- automatically of any progress on your issue.
-
- Source Code
- This is open source software. The code repository is available for
- public review and contribution under the terms of the license.
-
- <https://github.com/dagolden/Path-Tiny>
-
- git clone https://github.com/dagolden/Path-Tiny.git
-
AUTHOR
David Golden <dagolden(a)cpan.org>
@@ -1102,7 +1088,7 @@
* Philippe Bruhat (BooK) <book(a)cpan.org>
- * Regina Verbae <regina-verbae(a)users.noreply.github.com>
+ * regina-verbae <regina-verbae(a)users.noreply.github.com>
* Roy Ivy III <rivy(a)cpan.org>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/cpanfile new/Path-Tiny-0.116/cpanfile
--- old/Path-Tiny-0.114/cpanfile 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/cpanfile 2021-01-22 16:32:49.000000000 +0100
@@ -1,4 +1,4 @@
-# This file is generated by Dist::Zilla::Plugin::CPANFile v6.014
+# This file is generated by Dist::Zilla::Plugin::CPANFile v6.017
# Do not edit this file directly. To change prereqs, edit the `dist.ini` file.
requires "Carp" => "0";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/dist.ini new/Path-Tiny-0.116/dist.ini
--- old/Path-Tiny-0.114/dist.ini 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/dist.ini 2021-01-22 16:32:49.000000000 +0100
@@ -10,8 +10,10 @@
stopwords = AIX
stopwords = BENCHMARKING
stopwords = CRLF
-stopwords = SHA
+stopwords = Lustre
stopwords = NFS
+stopwords = SHA
+stopwords = UNC
stopwords = canonpath
stopwords = codepoints
stopwords = cwd
@@ -23,11 +25,12 @@
stopwords = openr
stopwords = openrw
stopwords = openw
+stopwords = perms
stopwords = realpath
+stopwords = stat
stopwords = stringifying
stopwords = subclasses
stopwords = touchpath
-stopwords = UNC
stopwords = unlinked
stopwords = utf
MetaNoIndex.package = flock
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/lib/Path/Tiny.pm new/Path-Tiny-0.116/lib/Path/Tiny.pm
--- old/Path-Tiny-0.114/lib/Path/Tiny.pm 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/lib/Path/Tiny.pm 2021-01-22 16:32:49.000000000 +0100
@@ -5,7 +5,7 @@
package Path::Tiny;
# ABSTRACT: File path utility
-our $VERSION = '0.114';
+our $VERSION = '0.116';
# Dependencies
use Config;
@@ -2156,7 +2156,7 @@
=head1 VERSION
-version 0.114
+version 0.116
=head1 SYNOPSIS
@@ -3285,32 +3285,13 @@
This module was featured in the L<2013 Perl Advent Calendar|http://www.perladvent.org/2013/2013-12-18.html>.
-=for :stopwords cpan testmatrix url bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
-
-=head1 SUPPORT
-
-=head2 Bugs / Feature Requests
-
-Please report any bugs or feature requests through the issue tracker
-at L<https://github.com/dagolden/Path-Tiny/issues>.
-You will be notified automatically of any progress on your issue.
-
-=head2 Source Code
-
-This is open source software. The code repository is available for
-public review and contribution under the terms of the license.
-
-L<https://github.com/dagolden/Path-Tiny>
-
- git clone https://github.com/dagolden/Path-Tiny.git
-
=head1 AUTHOR
David Golden <dagolden(a)cpan.org>
=head1 CONTRIBUTORS
-=for stopwords Alex Efros Aristotle Pagaltzis Chris Williams Dan Book Dave Rolsky David Steinbrunner Doug Bell Gabor Szabo Gabriel Andrade George Hartzell Geraud Continsouzas Goro Fuji Graham Knop Ollis Ian Sillitoe James Hunt John Karr Karen Etheridge Mark Ellis Martin H. Sluka Kjeldsen Michael G. Schwern Nigel Gregoire Philippe Bruhat (BooK) Regina Verbae Roy Ivy III Shlomi Fish Smylers Tatsuhiko Miyagawa Toby Inkster Yanick Champoux ��������� - Keedi Kim
+=for stopwords Alex Efros Aristotle Pagaltzis Chris Williams Dan Book Dave Rolsky David Steinbrunner Doug Bell Gabor Szabo Gabriel Andrade George Hartzell Geraud Continsouzas Goro Fuji Graham Knop Ollis Ian Sillitoe James Hunt John Karr Karen Etheridge Mark Ellis Martin H. Sluka Kjeldsen Michael G. Schwern Nigel Gregoire Philippe Bruhat (BooK) regina-verbae Roy Ivy III Shlomi Fish Smylers Tatsuhiko Miyagawa Toby Inkster Yanick Champoux ��������� - Keedi Kim
=over 4
@@ -3412,7 +3393,7 @@
=item *
-Regina Verbae <regina-verbae(a)users.noreply.github.com>
+regina-verbae <regina-verbae(a)users.noreply.github.com>
=item *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/t/00-report-prereqs.t new/Path-Tiny-0.116/t/00-report-prereqs.t
--- old/Path-Tiny-0.114/t/00-report-prereqs.t 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/t/00-report-prereqs.t 2021-01-22 16:32:49.000000000 +0100
@@ -3,7 +3,7 @@
use strict;
use warnings;
-# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.027
+# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.028
use Test::More tests => 1;
@@ -188,6 +188,6 @@
);
}
-pass;
+pass('Reported prereqs');
# vim: ts=4 sts=4 sw=4 et:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/t/filesystem.t new/Path-Tiny-0.116/t/filesystem.t
--- old/Path-Tiny-0.114/t/filesystem.t 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/t/filesystem.t 2021-01-22 16:32:49.000000000 +0100
@@ -4,11 +4,10 @@
use Test::More 0.96;
use File::Temp qw(tmpnam tempdir);
use File::Spec;
-use Config;
use Cwd;
use lib 't/lib';
-use TestUtils qw/exception/;
+use TestUtils qw/exception has_symlinks/;
use Path::Tiny;
@@ -344,8 +343,8 @@
my $file = $newtmp->child("foo.txt");
my $link = $newtmp->child("bar.txt");
$file->spew("Hello World\n");
+ skip "symlink unavailable", 1 unless has_symlinks();
eval { symlink $file => $link };
- skip "symlink unavailable", 1 unless $Config{d_symlink};
ok( $link->lstat->size, "lstat" );
is( $link->realpath, $file->realpath, "realpath resolves symlinks" );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/t/lib/TestUtils.pm new/Path-Tiny-0.116/t/lib/TestUtils.pm
--- old/Path-Tiny-0.114/t/lib/TestUtils.pm 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/t/lib/TestUtils.pm 2021-01-22 16:32:49.000000000 +0100
@@ -6,6 +6,7 @@
use Carp;
use Cwd qw/getcwd/;
+use Config;
use File::Temp 0.19 ();
use Exporter;
@@ -14,6 +15,7 @@
exception
pushd
tempd
+ has_symlinks
);
# If we have Test::FailWarnings, use it
@@ -21,6 +23,15 @@
eval { require Test::FailWarnings; 1 } and do { Test::FailWarnings->import };
}
+sub has_symlinks {
+ return $Config{d_symlink}
+ unless $^O eq 'msys';
+
+ # msys needs both `d_symlink` and a special environment variable
+ return unless $Config{d_symlink};
+ return $ENV{MSYS} =~ /winsymlinks:nativestrict/;
+}
+
sub exception(&) {
my $code = shift;
my $success = eval { $code->(); 1 };
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/t/recurse.t new/Path-Tiny-0.116/t/recurse.t
--- old/Path-Tiny-0.114/t/recurse.t 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/t/recurse.t 2021-01-22 16:32:49.000000000 +0100
@@ -3,10 +3,9 @@
use warnings;
use Test::More 0.92;
use File::Temp;
-use Config;
use lib 't/lib';
-use TestUtils qw/exception tempd/;
+use TestUtils qw/exception tempd has_symlinks/;
use Path::Tiny;
@@ -69,7 +68,7 @@
subtest 'with symlinks' => sub {
plan skip_all => "No symlink support"
- unless $Config{d_symlink};
+ unless has_symlinks();
my $wd = tempd;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/t/rel-abs.t new/Path-Tiny-0.116/t/rel-abs.t
--- old/Path-Tiny-0.114/t/rel-abs.t 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/t/rel-abs.t 2021-01-22 16:32:49.000000000 +0100
@@ -2,10 +2,9 @@
use strict;
use warnings;
use Test::More 0.96;
-use Config;
use lib 't/lib';
-use TestUtils qw/exception pushd tempd/;
+use TestUtils qw/exception pushd tempd has_symlinks/;
use Path::Tiny;
@@ -111,7 +110,7 @@
$deep->mkpath();
plan skip_all => "No symlink support"
- unless $Config{d_symlink};
+ unless has_symlinks();
my ( $path, $base, $expect );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/t/symlinks.t new/Path-Tiny-0.116/t/symlinks.t
--- old/Path-Tiny-0.114/t/symlinks.t 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/t/symlinks.t 2021-01-22 16:32:49.000000000 +0100
@@ -4,13 +4,12 @@
use Test::More 0.96;
use lib 't/lib';
-use TestUtils qw/exception/;
+use TestUtils qw/exception has_symlinks/;
-use Config;
use Path::Tiny;
use Cwd 'abs_path';
-plan skip_all => "No symlink support" unless $Config{d_symlink};
+plan skip_all => "No symlink support" unless has_symlinks();
subtest "relative symlinks with updir" => sub {
my $temp = Path::Tiny->tempdir;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/xt/author/distmeta.t new/Path-Tiny-0.116/xt/author/distmeta.t
--- old/Path-Tiny-0.114/xt/author/distmeta.t 1970-01-01 01:00:00.000000000 +0100
+++ new/Path-Tiny-0.116/xt/author/distmeta.t 2021-01-22 16:32:49.000000000 +0100
@@ -0,0 +1,6 @@
+#!perl
+# This file was automatically generated by Dist::Zilla::Plugin::MetaTests.
+
+use Test::CPAN::Meta;
+
+meta_yaml_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/xt/author/pod-spell.t new/Path-Tiny-0.116/xt/author/pod-spell.t
--- old/Path-Tiny-0.114/xt/author/pod-spell.t 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/xt/author/pod-spell.t 2021-01-22 16:32:49.000000000 +0100
@@ -54,6 +54,7 @@
Kim
Kjeldsen
Knop
+Lustre
Mark
Martin
Michael
@@ -64,7 +65,6 @@
Pagaltzis
Path
Philippe
-Regina
Rolsky
Roy
SHA
@@ -79,7 +79,6 @@
Tiny
Toby
UNC
-Verbae
Williams
Yanick
autarch
@@ -118,12 +117,14 @@
openrw
openw
pagaltzis
+perms
plicease
powerman
realpath
regina
rivy
shlomif
+stat
stringifying
subclasses
szabgab
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Path-Tiny-0.114/xt/release/distmeta.t new/Path-Tiny-0.116/xt/release/distmeta.t
--- old/Path-Tiny-0.114/xt/release/distmeta.t 2020-04-26 16:10:54.000000000 +0200
+++ new/Path-Tiny-0.116/xt/release/distmeta.t 1970-01-01 01:00:00.000000000 +0100
@@ -1,6 +0,0 @@
-#!perl
-# This file was automatically generated by Dist::Zilla::Plugin::MetaTests.
-
-use Test::CPAN::Meta;
-
-meta_yaml_ok();
1
0
Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package postfix for openSUSE:Factory checked in at 2021-02-01 13:25:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/postfix (Old)
and /work/SRC/openSUSE:Factory/.postfix.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "postfix"
Mon Feb 1 13:25:26 2021 rev:196 rq:867220 version:3.5.9
Changes:
--------
New Changes file:
--- /dev/null 2021-01-11 18:20:20.070723563 +0100
+++ /work/SRC/openSUSE:Factory/.postfix.new.28504/postfix-bdb.changes 2021-02-01 13:25:44.753873497 +0100
@@ -0,0 +1,5071 @@
+-------------------------------------------------------------------
+Wed Jan 27 15:14:50 UTC 2021 - Peter Varkoly <varkoly(a)suse.com>
+
+- bsc#1180473 - [Build 20201230] postfix has invalid default config
+ Fixing config.postfix and sysconfig.postfix
+
+-------------------------------------------------------------------
+Mon Jan 25 10:31:03 UTC 2021 - Paolo Stivanin <info(a)paolostivanin.com>
+
+- Update to 3.5.9:
+ * improves the reporting of DNSSEC problems that may affect
+ DANE security
+
+-------------------------------------------------------------------
+Wed Jan 20 15:19:13 UTC 2021 - Peter Varkoly <varkoly(a)suse.com>
+
+- postfix-bdb-lmdb should provide postfix-lmdb
+
+-------------------------------------------------------------------
+Tue Dec 8 13:36:35 UTC 2020 - Peter Varkoly <varkoly(a)suse.com>
+
+- bsc#1176650 L3: What is regularly triggering the "fillup"
+ command and changing modify-time of /etc/sysconfig/postfix?
+ o Remove miss placed fillup_only call from %verifyscript
+
+-------------------------------------------------------------------
+Thu Nov 26 15:30:10 UTC 2020 - Peter Varkoly <varkoly(a)suse.com>
+
+- Remove Berkeley DB dependency (JIRA#SLE-12191)
+ The pacakges postfix is build without Berkely DB support.
+ lmdb will be used instead of BDB.
+ The pacakges postfix-bdb is build with Berkely DB support.
+ o add patch for main.cf for postfix-bdb package
+ postfix-bdb-main.cf.patch
+
+-------------------------------------------------------------------
+Sun Nov 8 20:59:23 UTC 2020 - Michael Str��der <michael(a)stroeder.com>
+
+- Update to 3.5.8
+ * The Postfix SMTP client inserted <CR><LF> into message headers longer
+ than $line_length_limit (default: 2048), causing all subsequent header
+ content to become message body content.
+ * The postscreen daemon did not save a copy of the
+ postscreen_dnsbl_reply_map lookup result. This has no effect when the
+ recommended texthash: look table is used, but it could result in stale
+ data with other lookup tables.
+ * After deleting a recipient with a Milter, the Postfix recipient
+ duplicate filter was not updated; the filter suppressed requests
+ to add the recipient back.
+ * Memory leak: the static: maps did not free their casefolding buffer.
+ * With "smtpd_tls_wrappermode = yes", the smtps service was waiting for a
+ TLS handshake, after processing an XCLIENT command.
+ * The smtp_sasl_mechanism_filter implementation ignored table lookup
+ errors, treating them as 'not found'.
+ * The code that looks for Delivered-To: headers ignored headers longer
+ than $line_length_limit (default: 2048).
+
+-------------------------------------------------------------------
+Mon Aug 31 13:38:04 UTC 2020 - Michael Str��der <michael(a)stroeder.com>
+
+- Update to 3.5.7
+ * Fixed random certificate verification failures with
+ "smtp_tls_connection_reuse = yes", because tlsproxy(8) was using
+ the wrong global TLS context for connections that use DANE or
+ non-DANE trust anchors.
+
+-------------------------------------------------------------------
+Tue Aug 25 13:54:40 UTC 2020 - Thorsten Kukuk <kukuk(a)suse.com>
+
+- Move ldap into an own sub-package like all other databases
+- Move manual pages to correct sub-package
+
+-------------------------------------------------------------------
+Fri Aug 21 08:44:22 UTC 2020 - Thorsten Kukuk <kukuk(a)suse.com>
+
+- Use sysusers.d to create system accounts
+- Remove wrong %config for systemd directory content
+
+-------------------------------------------------------------------
+Sun Aug 9 06:55:01 UTC 2020 - Arjen de Korte <suse+build(a)de-korte.org>
+
+- Use the correct signature file for source verification
+- Rename postfix-3.5.6.tar.gz.sig to postfix-3.5.6.tar.gz.asc (to
+ prevent confusion, as the signature file from upstream with .sig
+ extension is incompatible with the build service)
+
+-------------------------------------------------------------------
+Sun Jul 26 21:22:39 UTC 2020 - Michael Str��der <michael(a)stroeder.com>
+
+- Update to 3.5.6 with following fixes:
+ * Workaround for unexpected TLS interoperability problems when Postfix
+ runs on OS distributions with system-wide OpenSSL configurations.
+ * Memory leaks in the Postfix TLS library, the largest one
+ involving multiple kBytes per peer certificate.
+
+-------------------------------------------------------------------
+Thu Jul 16 20:42:19 UTC 2020 - Arjen de Korte <suse+build(a)de-korte.org>
+
+- Add source verification (add postfix.keyring)
+
+-------------------------------------------------------------------
+Fri Jul 3 14:06:53 UTC 2020 - Thorsten Kukuk <kukuk(a)suse.com>
+
+- Use systemd_ordering instead of systemd_require.
+- Move /etc/postfix/system to /usr/lib/postfix/systemd [bsc#1173688]
+- Drop /var/adm/SuSEconfig from %post, it does nothing.
+- Rename postfix-SuSE to postfix-SUSE
+- Delete postfix-SUSE/README.SuSE, company name spelled wrong,
+ completly outdated and not used.
+- Delete postfix-SUSE/SPAMASSASSIN+POSTFIX.SuSE, company name
+ spelled wrong, outdated and not used.
+- sysconfig.mail-postfix: Fix description of MAIL_CREATE_CONFIG,
+ SuSEconfig is gone since ages.
+- update_chroot.systemd: Remove advice to run SuSEconfig.
+- Remove rc.postfix, not used, outdated.
+- mkpostfixcert: Remove advice to run SuSEconfig.
+
+-------------------------------------------------------------------
+Mon Jun 29 18:44:13 UTC 2020 - Michael Str��der <michael(a)stroeder.com>
+
+- Update to 3.5.4:
+ * The connection_reuse attribute in smtp_tls_policy_maps always
+ resulted in an "invalid attribute name" error.
+ * SMTP over TLS connection reuse always failed for Postfix SMTP
+ client configurations that specify explicit trust anchors (remote
+ SMTP server certificates or public keys).
+ * The Postfix SMTP client's DANE implementation would always send
+ an SNI option with the name in a destination's MX record, even
+ if the MX record pointed to a CNAME record. MX records that
+ point to CNAME records are not conformant with RFC5321, and so
+ are rare.
+ Based on the DANE survey of ~2 million hosts it was found that
+ with the corrected SMTP client behavior, sending SNI with the
+ CNAME-expanded name, the SMTP server would not send a different
+ certificate. This fix should therefore be safe.
+
+-------------------------------------------------------------------
+Mon Jun 15 16:09:57 UTC 2020 - Michael Str��der <michael(a)stroeder.com>
+
+- Update to 3.5.3:
+ * TLS handshake failure in the Postfix SMTP server during SNI
+ processing, after the server-side TLS engine sent a TLSv1.3
+ HelloRetryRequest (HRR) to a remote SMTP client.
+ * The command "postfix tls deploy-server-cert" did not handle a
+ missing optional argument. This bug was introduced in Postfix
+ 3.1.
+
+-------------------------------------------------------------------
+Sun May 17 19:57:57 UTC 2020 - Michael Str��der <michael(a)stroeder.com>
+
+- Update to 3.5.2:
+ * A TLS error for a database client caused a false 'lost connection'
+ error for an SMTP over TLS session in the same Postfix process.
+ This bug was introduced with Postfix 2.2.
+ * The same bug existed in the tlsproxy(8) daemon, where a TLS
+ error for one TLS session could cause a false 'lost connection'
+ error for a concurrent TLS session in the same process. This
+ bug was introduced with Postfix 2.8.
+ * The Postfix build now disables DANE support on Linux systems
+ with libc-musl such as Alpine, because libc-musl provides no
+ indication whether DNS responses are authentic. This broke DANE
+ support without a clear explanation.
+ * Due to implementation changes in the ICU library, some Postfix
+ daemons reported file access errrors (U_FILE_ACCESS_ERROR) after
+ chroot(). This was fixed by initializing the ICU library before
+ making the chroot() call.
+ * Minor code changes to silence a compiler that special-cases
+ string literals.
+ * Segfault (null pointer) in the tlsproxy(8) client role when the
+ server role was disabled. This typically happened on systems
+ that do not receive mail, after configuring connection reuse
+ for outbound SMTP over TLS.
+ * The date portion of the maillog_file_rotate_suffix default value
+ used the minute (%M) instead of the month (%m).
+
+-------------------------------------------------------------------
+Mon May 11 20:07:40 UTC 2020 - Arjen de Korte <suse+build(a)de-korte.org>
+
+- boo#1106004 fix incorrect locations for files in postfix-files
+
+-------------------------------------------------------------------
+Sun Apr 19 10:22:12 UTC 2020 - Michael Str��der <michael(a)stroeder.com>
+
+- Dropped deprecated-RES_INSECURE1.patch to make DNSSEC-secured
+ lookups and DANE mail transport work again
+- Update to 3.5.1:
+ * Support for the haproxy v2 protocol. The Postfix implementation
+ supports TCP over IPv4 and IPv6, as well as non-proxied
+ connections; the latter are typically used for heartbeat tests.
+ * Support to force-expire email messages. This introduces new
+ postsuper(1) command-line options to request expiration, and
+ additional information in mailq(1) or postqueue(1) output.
+ * The Postfix SMTP and LMTP client support a list of nexthop
+ destinations separated by comma or whitespace. These destinations
+ will be tried in the specified order.
+ * Incompatible changes:
+ * Logging: Postfix daemon processes now log the from= and to=
++++ 4874 more lines (skipped)
++++ between /dev/null
++++ and /work/SRC/openSUSE:Factory/.postfix.new.28504/postfix-bdb.changes
--- /work/SRC/openSUSE:Factory/postfix/postfix.changes 2021-01-26 14:41:17.910934719 +0100
+++ /work/SRC/openSUSE:Factory/.postfix.new.28504/postfix.changes 2021-02-01 13:25:45.337874413 +0100
@@ -1,0 +2,78 @@
+Wed Jan 27 15:14:50 UTC 2021 - Peter Varkoly <varkoly(a)suse.com>
+
+- bsc#1180473 - [Build 20201230] postfix has invalid default config
+ Fixing config.postfix and sysconfig.postfix
+
+-------------------------------------------------------------------
+Mon Jan 25 10:28:26 UTC 2021 - Paolo Stivanin <info(a)paolostivanin.com>
+
+- Update to 3.5.9
+ * improves the reporting of DNSSEC problems that may affect
+ DANE security
+
+-------------------------------------------------------------------
+Thu Jan 7 12:26:08 UTC 2021 - Arjen de Korte <suse+build(a)de-korte.org>
+
+- Only do the conversion from the hash/btree databases to lmdb when
+ the default database type changes from hash to lmdb and do not
+ stop and start the service (the old compiled databases can live
+ together with the new ones)
+ - convert-bdb-to-lmdb.sh
+- Clean up the specfile
+ * Remove < 1330 conditional builds
+ * Use generated postfix-files instead of the obsolete one from
+ postfix-SUSE.tar.gz
+ * Use dynamicmaps.cf.d instead of modifying dynamicmaps.cf upon
+ (de)installation of optional mysql, pgsql and ldap subpackages
+ * Use default location for post-install, postfix-tls-script,
+ postfix-wrapper and postmulti-script
+
+-------------------------------------------------------------------
+Mon Jan 4 12:17:03 UTC 2021 - Peter Varkoly <varkoly(a)suse.com>
+
+- Set lmdb to be the default db.
+- Convert btree tables to lmdb too. Stop postfix before converting from
+ bdb to lmdb
+- This package is without bdb support. That's why convert must be done
+ without any suse release condition.
+ o remove patch postfix-no-btree.patch
+ o add set-default-db-type.patch
+
+-------------------------------------------------------------------
+Fri Dec 25 20:32:04 UTC 2020 - Arjen de Korte <suse+build(a)de-korte.org>
+
+- Set database type for address_verify_map and postscreen_cache_map
+ to lmdb (btree requires Berkeley DB)
+ o add postfix-no-btree.patch
+
+-------------------------------------------------------------------
+Fri Dec 25 10:28:30 UTC 2020 - Arjen de Korte <suse+build(a)de-korte.org>
+
+- Set default database type to lmdb and fix update_postmaps script
+
+-------------------------------------------------------------------
+Thu Dec 24 14:09:32 UTC 2020 - Arjen de Korte <suse+build(a)de-korte.org>
+
+- Use variable substition instead of sed to remove .db suffix and
+ substitute hash: for lmdb: in /etc/postfix/master.cf as well.
+ Check before substitution if there is something to do (to keep
+ rpmcheck happy).
+
+-------------------------------------------------------------------
+Tue Dec 8 13:36:35 UTC 2020 - Peter Varkoly <varkoly(a)suse.com>
+
+- bsc#1176650 L3: What is regularly triggering the "fillup"
+ command and changing modify-time of /etc/sysconfig/postfix?
+ o Remove miss placed fillup_only call from %verifyscript
+
+-------------------------------------------------------------------
+Thu Nov 26 15:30:10 UTC 2020 - Peter Varkoly <varkoly(a)suse.com>
+
+- Remove Berkeley DB dependency (JIRA#SLE-12191)
+ The pacakges postfix is build without Berkely DB support.
+ lmdb will be used instead of BDB.
+ The pacakges postfix-bdb is build with Berkely DB support.
+ o add patch for main.cf for postfix-bdb package
+ postfix-bdb-main.cf.patch
+
+-------------------------------------------------------------------
Old:
----
postfix-3.5.8.tar.gz
postfix-3.5.8.tar.gz.asc
New:
----
postfix-3.5.9.tar.gz
postfix-3.5.9.tar.gz.asc
postfix-bdb-main.cf.patch
postfix-bdb.changes
postfix-bdb.spec
pre_checkin.sh
set-default-db-type.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ postfix-bdb.spec ++++++
#
# spec file for package postfix-bdb
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define pf_docdir %{_docdir}/postfix-doc
%define pf_config_directory %{_sysconfdir}/postfix
%define pf_daemon_directory %{_prefix}/lib/postfix/bin/
%define _libexecdir %{_prefix}/lib
%define pf_shlib_directory %{_prefix}/lib/postfix
%define pf_command_directory %{_sbindir}
%define pf_queue_directory var/spool/postfix
%define pf_sendmail_path %{_sbindir}/sendmail
%define pf_newaliases_path %{_bindir}/newaliases
%define pf_mailq_path %{_bindir}/mailq
%define pf_setgid_group maildrop
%define pf_readme_directory %{_docdir}/postfix-doc/README_FILES
%define pf_html_directory %{_docdir}/postfix-doc/html
%define pf_sample_directory %{_docdir}/postfix-doc/samples
%define pf_data_directory %{_localstatedir}/lib/postfix
%if 0%{?suse_version} < 1330
%define pf_uid 51
%define pf_gid 51
%define maildrop_gid 59
%define vmusr vmail
%define vmgid 303
%define vmid 303
%define vmdir /srv/maildirs
%endif
%define mail_group mail
%define conf_backup_dir %{_localstatedir}/adm/backup/postfix
%define unitdir %{_prefix}/lib/systemd
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir %{_localstatedir}/adm/fillup-templates
%endif
%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?is_opensuse} )
%bcond_without lmdb
%bcond_without libnsl
%else
%bcond_with lmdb
%bcond_with libnsl
%endif
%bcond_without ldap
Name: postfix-bdb
Version: 3.5.9
Release: 0
Summary: A fast, secure, and flexible mailer
License: IPL-1.0 OR EPL-2.0
Group: Productivity/Networking/Email/Servers
URL: http://www.postfix.org
Source0: http://cdn.postfix.johnriley.me/mirrors/postfix-release/official/postfix-%{…
Source1: http://cdn.postfix.johnriley.me/mirrors/postfix-release/official/postfix-%{…
Source2: postfix-SUSE.tar.gz
Source3: postfix-mysql.tar.bz2
#Source4: http://cdn.postfix.johnriley.me/mirrors/postfix-release/wietse.pgp#/postfix…
Source4: postfix.keyring
Source10: postfix-rpmlintrc
Source11: check_mail_queue
Source12: postfix-user.conf
Source13: postfix-vmail-user.conf
Patch1: postfix-no-md5.patch
Patch2: pointer_to_literals.patch
Patch3: ipv6_disabled.patch
Patch4: postfix-bdb-main.cf.patch
Patch5: postfix-master.cf.patch
Patch6: postfix-linux45.patch
Patch7: postfix-ssl-release-buffers.patch
Patch8: postfix-vda-v14-3.0.3.patch
Patch9: fix-postfix-script.patch
Patch10: postfix-avoid-infinit-loop-if-no-permission.patch
BuildRequires: ca-certificates
BuildRequires: cyrus-sasl-devel
BuildRequires: db-devel
BuildRequires: diffutils
BuildRequires: fdupes
BuildRequires: libicu-devel
BuildRequires: libopenssl-devel
BuildRequires: m4
BuildRequires: mysql-devel
%if %{with ldap}
BuildRequires: openldap2-devel
%endif
BuildRequires: pcre-devel
BuildRequires: pkgconfig
BuildRequires: postgresql-devel
BuildRequires: shadow
BuildRequires: zlib-devel
BuildRequires: pkgconfig(systemd)
Requires: iproute2
Requires(post): permissions
Requires(pre): %fillup_prereq
Requires(pre): permissions
Conflicts: exim
Conflicts: sendmail
Conflicts: postfix
Provides: smtp_daemon
%{?systemd_ordering}
%if %{with lmdb}
BuildRequires: lmdb-devel
%endif
%if %{with libnsl}
BuildRequires: libnsl-devel
%endif
%if 0%{?suse_version} >= 1330
BuildRequires: sysuser-tools
Requires: system-user-nobody
Requires: group(%{mail_group})
Requires(pre): group(%{mail_group})
%sysusers_requires
%else
Requires(pre): shadow
%endif
%description
Postfix aims to be an alternative to the widely-used sendmail program with bdb support
%if %{with lmdb}
%package lmdb
Summary: Postfix plugin to support LMDB maps
Group: Productivity/Networking/Email/Servers
Requires(pre): postfix-bdb = %{version}
Conflicts: postfix
Provides: postfix-lmdb = %{version}-%{release}
Obsoletes: postfix-lmdb < %{version}-%{release}
Conflicts: postfix-lmdb < %{version}-%{release}
%description lmdb
Postfix plugin to support LMDB maps. This library will be loaded
by starting postfix if you'll access a postmap which is stored in
lmdb.
%endif
%prep
%setup -n postfix-%{version} -a 2 -a 3
%patch1
%patch2
%patch3
%patch4
%patch5
%patch6
%patch7
%patch8
%patch9
%patch10
# ---------------------------------------------------------------------------
%build
unset AUXLIBS AUXLIBS_LDAP AUXLIBS_PCRE AUXLIBS_MYSQL AUXLIBS_PGSQL AUXLIBS_SQLITE AUXLIBS_CDB
export CCARGS="${CCARGS} %{optflags} -fcommon -Wno-comments -Wno-missing-braces -fPIC"
%ifarch s390 s390x ppc
export CCARGS="${CCARGS} -fsigned-char"
%endif
#
if pkg-config openssl ; then
export CCARGS="${CCARGS} -DUSE_TLS $(pkg-config --cflags openssl)"
export AUXLIBS="$AUXLIBS $(pkg-config --libs openssl)"
else
export CCARGS="${CCARGS} -DUSE_TLS"
export AUXLIBS="${AUXLIBS} -lssl -lcrypto"
fi
#
%if %{with ldap}
export CCARGS="${CCARGS} -DHAS_LDAP -DLDAP_DEPRECATED=1 -DUSE_LDAP_SASL"
export AUXLIBS_LDAP="-lldap -llber"
%endif
#
export CCARGS="${CCARGS} -DHAS_PCRE"
export AUXLIBS_PCRE="-lpcre"
#
export CCARGS="${CCARGS} -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I%{_includedir}/sasl"
if pkg-config libsasl2 ; then
export AUXLIBS="$AUXLIBS $(pkg-config --libs libsasl2)"
else
export AUXLIBS="$AUXLIBS -lsasl2"
fi
#
export CCARGS="${CCARGS} -DHAS_MYSQL $(mysql_config --cflags)"
export AUXLIBS_MYSQL="$(mysql_config --libs)"
#
if pkg-config --exists libpq ; then
export CCARGS="${CCARGS} -DHAS_PGSQL $(pkg-config libpq --cflags)"
export AUXLIBS_PGSQL="$(pkg-config libpq --libs)"
else
export CCARGS="${CCARGS} -DHAS_PGSQL -I$(pg_config --includedir)"
export AUXLIBS_PGSQL="-lpq"
fi
#
%if %{with lmdb}
export CCARGS="${CCARGS} -DHAS_LMDB -I/usr/local/include" \
export AUXLIBS_LMDB="-llmdb"
%endif
#
# TODO
#export AUXLIBS_SQLITE
#export AUXLIBS_CDB
#export AUXLIBS_SDBM
export PIE=-pie
# using SHLIB_RPATH to specify unrelated linker flags, because LDFLAGS is
# ignored
make makefiles pie=yes shared=yes dynamicmaps=yes \
shlib_directory=%{_prefix}/lib/postfix \
meta_directory=%{_prefix}/lib/postfix \
config_directory=%{_sysconfdir}/postfix \
SHLIB_RPATH="-Wl,-rpath,%{pf_shlib_directory} -Wl,-z,relro,-z,now"
make %{?_smp_mflags}
%if 0%{?suse_version} >= 1330
# Create postfix user
%sysusers_generate_pre %{SOURCE12} postfix
%sysusers_generate_pre %{SOURCE13} vmail
%endif
# ---------------------------------------------------------------------------
%install
mkdir -p %{buildroot}/%{_libdir}
mkdir -p %{buildroot}%{_sysconfdir}/postfix
cp conf/* %{buildroot}%{_sysconfdir}/postfix
# create our default postfix ssl DIR (/etc/postfix/ssl)
mkdir -p %{buildroot}%{_sysconfdir}/postfix/ssl/certs
# link cacerts to /etc/ssl/certs
ln -sf ../../ssl/certs %{buildroot}%{_sysconfdir}/postfix/ssl/cacerts
cp lib/libpostfix-* %{buildroot}/%{_libdir}
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}/%{_libdir}
sh postfix-install -non-interactive \
install_root=%{buildroot} \
config_directory=%{pf_config_directory} \
daemon_directory=%{pf_daemon_directory} \
command_directory=%{pf_command_directory} \
queue_directory=/%{pf_queue_directory} \
sendmail_path=%{pf_sendmail_path} \
newaliases_path=%{pf_newaliases_path} \
mailq_path=%{pf_mailq_path} \
manpage_directory=%{_mandir} \
setgid_group=%{pf_setgid_group} \
readme_directory=%{pf_readme_directory} \
data_directory=%{pf_data_directory}
ln -sf ../sbin/sendmail %{buildroot}%{_libexecdir}/sendmail
for i in qmqp-source smtp-sink smtp-source; do
install -m 755 bin/$i %{buildroot}%{_sbindir}/$i
done
mkdir -p %{buildroot}/sbin/conf.d
mkdir -p %{buildroot}%{_sysconfdir}/permissions.d
mkdir -p %{buildroot}/%{_libdir}/sasl2
mkdir -p %{buildroot}%{_sbindir}
mkdir -p %{buildroot}/%{conf_backup_dir}
mkdir -p %{buildroot}/%{pf_sample_directory}
mkdir -p %{buildroot}/%{pf_html_directory}
mkdir -p %{buildroot}%{_includedir}/postfix
mkdir -p %{buildroot}%{_sysconfdir}/pam.d
install -m 644 postfix-SUSE/smtp %{buildroot}%{_sysconfdir}/pam.d/smtp
mkdir -p %{buildroot}%{_fillupdir}
sed -e 's;@lib@;%{_lib};g' postfix-SUSE/sysconfig.postfix > %{buildroot}%{_fillupdir}/sysconfig.postfix
install -m 644 postfix-SUSE/sysconfig.mail-postfix %{buildroot}%{_fillupdir}/sysconfig.mail-postfix
sed -e 's;@lib@;%{_lib};g' \
-e 's;@conf_backup_dir@;%{conf_backup_dir};' \
-e 's;@daemon_directory@;%{pf_daemon_directory};' \
-e 's;@readme_directory@;%{pf_readme_directory};' \
-e 's;@html_directory@;%{pf_html_directory};' \
-e 's;@sendmail_path@;%{pf_sendmail_path};' \
-e 's;@setgid_group@;%{pf_setgid_group};' \
-e 's;@manpage_directory@;%{_mandir};' \
-e 's;@newaliases_path@;%{pf_newaliases_path};' \
-e 's;@sample_directory@;%{pf_sample_directory};' \
-e 's;@mailq_path@;%{pf_mailq_path};' postfix-SUSE/config.postfix > %{buildroot}%{_sbindir}/config.postfix
chmod 755 %{buildroot}%{_sbindir}/config.postfix
install -m 644 postfix-SUSE/dynamicmaps.cf %{buildroot}%{_sysconfdir}/postfix/dynamicmaps.cf
install -m 644 postfix-SUSE/ldap_aliases.cf %{buildroot}%{_sysconfdir}/postfix/ldap_aliases.cf
install -m 644 postfix-SUSE/helo_access %{buildroot}%{_sysconfdir}/postfix/helo_access
install -m 644 postfix-SUSE/permissions %{buildroot}%{_sysconfdir}/permissions.d/postfix
install -m 644 postfix-SUSE/sender_canonical %{buildroot}%{_sysconfdir}/postfix/sender_canonical
install -m 644 postfix-SUSE/relay %{buildroot}%{_sysconfdir}/postfix/relay
install -m 644 postfix-SUSE/relay_ccerts %{buildroot}%{_sysconfdir}/postfix/relay_ccerts
install -m 600 postfix-SUSE/sasl_passwd %{buildroot}%{_sysconfdir}/postfix/sasl_passwd
mkdir -p %{buildroot}%{_sysconfdir}/sasl2
install -m 600 postfix-SUSE/smtpd.conf %{buildroot}%{_sysconfdir}/sasl2/smtpd.conf
install -m 644 postfix-SUSE/openssl_postfix.conf.in %{buildroot}%{_sysconfdir}/postfix/openssl_postfix.conf.in
install -m 755 postfix-SUSE/mkpostfixcert %{buildroot}%{_sbindir}/mkpostfixcert
{
cat<<EOF
#
# -----------------------------------------------------------------------
# NOTE: Many parameters have already been added to the end of this file
# by config.postfix. So take care that you don't uncomment
# and set a parameter without checking whether it has been added
# to the end of this file.
# -----------------------------------------------------------------------
#
EOF
cat conf/main.cf
} > %{buildroot}%{_sysconfdir}/postfix/main.cf
%{buildroot}%{_sbindir}/postconf -c %{buildroot}%{_sysconfdir}/postfix \
-e "manpage_directory = %{_mandir}" \
"setgid_group = %{pf_setgid_group}" \
"mailq_path = %{pf_mailq_path}" \
"newaliases_path = %{pf_newaliases_path}" \
"sendmail_path = %{pf_sendmail_path}" \
"readme_directory = %{pf_readme_directory}" \
"html_directory = %{pf_html_directory}" \
"sample_directory = %{pf_sample_directory}" \
"daemon_directory = %{pf_daemon_directory}" \
"smtpd_helo_required = yes" \
"smtpd_delay_reject = yes" \
"disable_vrfy_command = yes" \
'smtpd_banner = $myhostname ESMTP'
#Set Permissions
install -m 644 postfix-SUSE/postfix-files %{buildroot}%{pf_shlib_directory}/postfix-files
# create paranoid permissions file
printf '%%-38s %%-18s %%s\n' %{_sbindir}/postdrop "root.%{pf_setgid_group}" "0755" >> %{buildroot}%{_sysconfdir}/permissions.d/postfix.paranoid
printf '%%-38s %%-18s %%s\n' %{_sbindir}/postqueue "root.%{pf_setgid_group}" "0755" >> %{buildroot}%{_sysconfdir}/permissions.d/postfix.paranoid
install -m 644 include/*.h %{buildroot}%{_includedir}/postfix/
# some rpmlint stuff
# remove unneeded examples/chroot-setup
for example in AIX42 BSDI* F* HPUX* IRIX* NETBSD1 NEXTSTEP3 OPENSTEP4 OSF1 Solaris*; do
rm examples/chroot-setup/${example}
done
cp -a examples/* %{buildroot}%{pf_sample_directory}
cp -a html/* %{buildroot}%{pf_html_directory}
cp -a auxiliary %{buildroot}%{pf_docdir}
rm %{buildroot}%{pf_docdir}/README_FILES/INSTALL
# Fix build for Leap 42.3.
rm -f %{buildroot}%{_sysconfdir}/postfix/*.orig
mkdir -p %{buildroot}%{_unitdir}
mkdir -p %{buildroot}%{pf_shlib_directory}/systemd
install -m 0644 postfix-SUSE/postfix.service %{buildroot}%{_unitdir}/postfix.service
install -m 0755 postfix-SUSE/config_postfix.systemd %{buildroot}%{pf_shlib_directory}/systemd/config_postfix
install -m 0755 postfix-SUSE/update_chroot.systemd %{buildroot}%{pf_shlib_directory}/systemd/update_chroot
install -m 0755 postfix-SUSE/update_postmaps.systemd %{buildroot}%{pf_shlib_directory}/systemd/update_postmaps
install -m 0755 postfix-SUSE/wait_qmgr.systemd %{buildroot}%{pf_shlib_directory}/systemd/wait_qmgr
install -m 0755 postfix-SUSE/cond_slp.systemd %{buildroot}%{pf_shlib_directory}/systemd/cond_slp
ln -sv %{_sbindir}/service %{buildroot}%{_sbindir}/rcpostfix
%fdupes %{buildroot}%{pf_docdir}
%fdupes %{buildroot}%{_mandir}
for path in %{buildroot}%{pf_shlib_directory}/libpostfix-*.so
do
test -e "$path" || continue
name=${path##*/}
cmp "$path" %{buildroot}%{_libdir}/$name || continue
rm -vf $path
ln -sf %{_libdir}/$name $path
done
# ---------------------------------------------------------------------------
install -m 755 %{SOURCE11} %{buildroot}%{_sbindir}/
%if 0%{?suse_version} >= 1330
mkdir -p %{buildroot}%{_sysusersdir}
install -m 644 %{SOURCE12} %{buildroot}%{_sysusersdir}/
install -m 644 %{SOURCE13} %{buildroot}%{_sysusersdir}/
%endif
#Clean up for postfix-bdb
rm -rf %{buildroot}/etc/postfix/ldap_aliases.cf
rm -rf %{buildroot}/usr/lib/debug/usr/lib/postfix/postfix-ldap.so-3.5.8-2.11.1.x86_64.debug
rm -rf %{buildroot}/usr/lib/debug/usr/lib/postfix/postfix-mysql.so-3.5.8-2.11.1.x86_64.debug
rm -rf %{buildroot}/usr/lib/debug/usr/lib/postfix/postfix-pgsql.so-3.5.8-2.11.1.x86_64.debug
rm -rf %{buildroot}/usr/lib/postfix/postfix-ldap.so
rm -rf %{buildroot}/usr/lib/postfix/postfix-mysql.so
rm -rf %{buildroot}/usr/lib/postfix/postfix-pgsql.so
rm -rf %{buildroot}/usr/lib/sysusers.d/postfix-vmail-user.conf
rm -rf %{buildroot}/usr/share/doc/packages/postfix-doc/
rm -rf %{buildroot}/%{_includedir}/postfix/
%if 0%{?suse_version} >= 1330
%pre -f postfix.pre
%else
%pre
getent group postfix >/dev/null || groupadd -g %{pf_gid} -o -r postfix
getent group maildrop >/dev/null || groupadd -g %{maildrop_gid} -o -r maildrop
getent passwd postfix >/dev/null || useradd -r -o -g postfix -u %{pf_uid} -s /bin/false -c "Postfix Daemon" -d /%{pf_queue_directory} postfix
usermod -a -G %{maildrop_gid},%{mail_group} postfix
%endif
%service_add_pre postfix.service
VERSIONTEST=$(test -x usr/sbin/postconf && usr/sbin/postconf proxy_read_maps 2>/dev/null || :)
if [ -z "$VERSIONTEST" -a -f %{pf_queue_directory}/pid/master.pid ]; then
if checkproc -p %{pf_queue_directory}/pid/master.pid usr/lib/postfix/master; then
echo "postfix is still running. You have to stop postfix in order to"
echo "install a newer version."
exit 1
fi
fi
# ---------------------------------------------------------------------------
%preun
%stop_on_removal postfix
%service_del_preun postfix.service
# ---------------------------------------------------------------------------
%post
# We never have to run suseconfig for postfix after installation
# We only start postfix own upgrade-configuration by update
if [ ${1:-0} -gt 1 ]; then
touch %{_localstatedir}/adm/postfix.configured
echo "Executing upgrade-configuration."
%{_sbindir}/postfix set-permissions upgrade-configuration setgid_group=%{pf_setgid_group} || :
if [ "$(%{_sbindir}/postconf -h daemon_directory)" != "%{pf_daemon_directory}" ]; then
%{_sbindir}/postconf daemon_directory=%{pf_daemon_directory}
fi
fi
%service_add_post postfix.service
%set_permissions %{_sbindir}/postqueue
%set_permissions %{_sbindir}/postdrop
%set_permissions %{_sysconfdir}/postfix/sasl_passwd
%set_permissions %{_sbindir}/sendmail
%{fillup_only postfix}
%{fillup_only -an mail}
/sbin/ldconfig
%verifyscript
%verify_permissions -e %{_sbindir}/postqueue
%verify_permissions -e %{_sbindir}/postdrop
%verify_permissions -e %{_sysconfdir}/postfix/sasl_passwd
%verify_permissions -e %{_sbindir}/sendmail
%postun
%service_del_postun postfix.service
/sbin/ldconfig
# ---------------------------------------------------------------------------
%files
%license LICENSE
%config %{_sysconfdir}/pam.d/*
%{_fillupdir}/sysconfig.postfix
%{_fillupdir}/sysconfig.mail-postfix
%{_sbindir}/config.postfix
%dir %{_sysconfdir}/postfix
%config %{_sysconfdir}/postfix/main.cf.default
%config(noreplace) %{_sysconfdir}/postfix/[^mysql]*[^mysql]
%config(noreplace) %{_sysconfdir}/postfix/access
%config(noreplace) %{_sysconfdir}/postfix/aliases
%config(noreplace) %{_sysconfdir}/postfix/canonical
%config(noreplace) %{_sysconfdir}/postfix/header_checks
%config(noreplace) %{_sysconfdir}/postfix/helo_access
%config(noreplace) %{_sysconfdir}/postfix/main.cf
%config(noreplace) %{_sysconfdir}/postfix/master.cf
%attr(0750,root,root) %config %{_sysconfdir}/postfix/post-install
%attr(0750,root,root) %config %{_sysconfdir}/postfix/postfix-tls-script
%attr(0750,root,root) %config %{_sysconfdir}/postfix/postfix-wrapper
%attr(0750,root,root) %config %{_sysconfdir}/postfix/postmulti-script
%config(noreplace) %{_sysconfdir}/postfix/postfix-files
%config(noreplace) %{_sysconfdir}/postfix/relay
%config(noreplace) %{_sysconfdir}/postfix/relay_ccerts
%config(noreplace) %{_sysconfdir}/postfix/sasl_passwd
%config(noreplace) %{_sysconfdir}/postfix/sender_canonical
%config(noreplace) %{_sysconfdir}/postfix/virtual
%dir %{_sysconfdir}/sasl2
%config(noreplace) %{_sysconfdir}/sasl2/smtpd.conf
%config %{_sysconfdir}/postfix/LICENSE
%config %{_sysconfdir}/postfix/TLS_LICENSE
%config %{_sysconfdir}/permissions.d/postfix
%config %{_sysconfdir}/permissions.d/postfix.paranoid
%attr(0644, root, root) %config %{_sysconfdir}/postfix/makedefs.out
%{pf_shlib_directory}/postfix-files
# create our default postfix ssl DIR (/etc/postfix/ssl)
%dir %{_sysconfdir}/postfix/ssl
%dir %{_sysconfdir}/postfix/ssl/certs
%{_sysconfdir}/postfix/ssl/cacerts
%dir %{pf_shlib_directory}/systemd
%attr(0755,root,root) %{pf_shlib_directory}/systemd/*
%{_unitdir}/postfix.service
%verify(not mode) %attr(2755,root,%{pf_setgid_group}) %{_sbindir}/postdrop
%verify(not mode) %attr(2755,root,%{pf_setgid_group}) %{_sbindir}/postqueue
%{_bindir}/mailq
%{_bindir}/newaliases
%attr(0755,root,root) %{_sbindir}/sendmail
%attr(0755,root,root) %{_sbindir}/postalias
%attr(0755,root,root) %{_sbindir}/postcat
%attr(0755,root,root) %{_sbindir}/postconf
%attr(0755,root,root) %{_sbindir}/postfix
%attr(0755,root,root) %{_sbindir}/postkick
%attr(0755,root,root) %{_sbindir}/postlock
%attr(0755,root,root) %{_sbindir}/postlog
%attr(0755,root,root) %{_sbindir}/postmap
%attr(0755,root,root) %{_sbindir}/postmulti
%attr(0755,root,root) %{_sbindir}/postsuper
%attr(0755,root,root) %{_sbindir}/qmqp-source
%attr(0755,root,root) %{_sbindir}/smtp-sink
%attr(0755,root,root) %{_sbindir}/smtp-source
%attr(0755,root,root) %{_sbindir}/mkpostfixcert
%attr(0755,root,root) %{_sbindir}/check_mail_queue
%attr(0755,root,root) %{_sbindir}/config.postfix
%{_sbindir}/rcpostfix
%{_libdir}/lib*
%{_libexecdir}/sendmail
%dir %{pf_shlib_directory}
%{pf_shlib_directory}/*[^.so]
%{pf_shlib_directory}/postfix-pcre.so
%{pf_shlib_directory}/libpostfix-dns.so
%{pf_shlib_directory}/libpostfix-global.so
%{pf_shlib_directory}/libpostfix-master.so
%{pf_shlib_directory}/libpostfix-tls.so
%{pf_shlib_directory}/libpostfix-util.so
%{pf_shlib_directory}/main.cf.proto
%{pf_shlib_directory}/master.cf.proto
%{conf_backup_dir}
%dir %attr(0700,postfix,root) %{pf_data_directory}
%exclude %{_mandir}/man5/ldap_table.5*
%exclude %{_mandir}/man5/lmdb_table.5*
%exclude %{_mandir}/man5/mysql_table.5*
%exclude %{_mandir}/man5/pgsql_table.5*
%{_mandir}/man?/*%{?ext_man}
%dir %attr(0755,root,root) /%{pf_queue_directory}
%dir %attr(0700,postfix,root) /%{pf_queue_directory}/active
%dir %attr(0700,postfix,root) /%{pf_queue_directory}/bounce
%dir %attr(0700,postfix,root) /%{pf_queue_directory}/corrupt
%dir %attr(0700,postfix,root) /%{pf_queue_directory}/defer
%dir %attr(0700,postfix,root) /%{pf_queue_directory}/deferred
%dir %attr(0700,postfix,root) /%{pf_queue_directory}/flush
%dir %attr(0700,postfix,root) /%{pf_queue_directory}/hold
%dir %attr(0700,postfix,root) /%{pf_queue_directory}/incoming
%dir %attr(0700,postfix,root) /%{pf_queue_directory}/private
%dir %attr(0700,postfix,root) /%{pf_queue_directory}/saved
%dir %attr(0700,postfix,root) /%{pf_queue_directory}/trace
%dir %attr(0730,postfix,maildrop) /%{pf_queue_directory}/maildrop
%dir %attr(0710,postfix,maildrop) /%{pf_queue_directory}/public
%if 0%{?suse_version} >= 1330
%{_sysusersdir}/postfix-user.conf
%endif
%if %{with lmdb}
%files lmdb
%{pf_shlib_directory}/postfix-lmdb.so
%{_mandir}/man5/lmdb_table.5%{?ext_man}
%endif
%changelog
++++++ postfix.spec ++++++
--- /var/tmp/diff_new_pack.E1P2gB/_old 2021-02-01 13:25:46.497876232 +0100
+++ /var/tmp/diff_new_pack.E1P2gB/_new 2021-02-01 13:25:46.501876239 +0100
@@ -31,15 +31,7 @@
%define pf_html_directory %{_docdir}/%{name}-doc/html
%define pf_sample_directory %{_docdir}/%{name}-doc/samples
%define pf_data_directory %{_localstatedir}/lib/%{name}
-%if 0%{?suse_version} < 1330
-%define pf_uid 51
-%define pf_gid 51
-%define maildrop_gid 59
-%define vmusr vmail
-%define vmgid 303
-%define vmid 303
-%define vmdir /srv/maildirs
-%endif
+%define pf_database_convert %{_rundir}/%{name}-needs-convert
%define mail_group mail
%define conf_backup_dir %{_localstatedir}/adm/backup/%{name}
%define unitdir %{_prefix}/lib/systemd
@@ -47,16 +39,10 @@
%if ! %{defined _fillupdir}
%define _fillupdir %{_localstatedir}/adm/fillup-templates
%endif
-%if 0%{?suse_version} >= 1320 || ( 0%{?suse_version} == 1315 && 0%{?is_opensuse} )
-%bcond_without lmdb
%bcond_without libnsl
-%else
-%bcond_with lmdb
-%bcond_with libnsl
-%endif
%bcond_without ldap
Name: postfix
-Version: 3.5.8
+Version: 3.5.9
Release: 0
Summary: A fast, secure, and flexible mailer
License: IPL-1.0 OR EPL-2.0
@@ -82,9 +68,10 @@
Patch8: %{name}-vda-v14-3.0.3.patch
Patch9: fix-postfix-script.patch
Patch10: %{name}-avoid-infinit-loop-if-no-permission.patch
+Patch11: set-default-db-type.patch
BuildRequires: ca-certificates
BuildRequires: cyrus-sasl-devel
-BuildRequires: db-devel
+#BuildRequires: db-devel
BuildRequires: diffutils
BuildRequires: fdupes
BuildRequires: libicu-devel
@@ -94,6 +81,7 @@
%if %{with ldap}
BuildRequires: openldap2-devel
%endif
+BuildRequires: lmdb-devel
BuildRequires: pcre-devel
BuildRequires: pkgconfig
BuildRequires: postgresql-devel
@@ -106,23 +94,19 @@
Requires(pre): permissions
Conflicts: exim
Conflicts: sendmail
+Conflicts: postfix-bdb
+Provides: postfix-lmdb = %{version}-%{release}
+Obsoletes: postfix-lmdb < %{version}-%{release}
Provides: smtp_daemon
%{?systemd_ordering}
-%if %{with lmdb}
-BuildRequires: lmdb-devel
-%endif
%if %{with libnsl}
BuildRequires: libnsl-devel
%endif
-%if 0%{?suse_version} >= 1330
BuildRequires: sysuser-tools
Requires: system-user-nobody
Requires: group(%{mail_group})
Requires(pre): group(%{mail_group})
%sysusers_requires
-%else
-Requires(pre): shadow
-%endif
%description
Postfix aims to be an alternative to the widely-used sendmail program.
@@ -148,11 +132,7 @@
Summary: Postfix plugin to support MySQL maps
Group: Productivity/Networking/Email/Servers
Requires(pre): %{name} = %{version}
-%if 0%{?suse_version} >= 1330
%sysusers_requires
-%else
-Requires(pre): shadow
-%endif
%description mysql
Postfix plugin to support MySQL maps. This library will be loaded by
@@ -180,18 +160,6 @@
maps with Postfix, you need this.
%endif
-%if %{with lmdb}
-%package lmdb
-Summary: Postfix plugin to support LMDB maps
-Group: Productivity/Networking/Email/Servers
-Requires(pre): %{name} = %{version}
-
-%description lmdb
-Postfix plugin to support LMDB maps. This library will be loaded
-by starting %{name} if you'll access a postmap which is stored in
-PostgreSQL.
-%endif
-
%prep
%setup -q -a 2 -a 3
%patch1
@@ -204,6 +172,7 @@
%patch8
%patch9
%patch10
+%patch11
# ---------------------------------------------------------------------------
@@ -249,15 +218,15 @@
export AUXLIBS_PGSQL="-lpq"
fi
#
-%if %{with lmdb}
export CCARGS="${CCARGS} -DHAS_LMDB -I/usr/local/include" \
export AUXLIBS_LMDB="-llmdb"
-%endif
#
# TODO
#export AUXLIBS_SQLITE
#export AUXLIBS_CDB
#export AUXLIBS_SDBM
+# Remove berkeley DB and set lmdb as default
+export CCARGS="${CCARGS} -DNO_DB -DDEF_DB_TYPE=\\\"lmdb\\\""
export PIE=-pie
# using SHLIB_RPATH to specify unrelated linker flags, because LDFLAGS is
@@ -268,17 +237,14 @@
config_directory=%{_sysconfdir}/%{name} \
SHLIB_RPATH="-Wl,-rpath,%{pf_shlib_directory} -Wl,-z,relro,-z,now"
make %{?_smp_mflags}
-%if 0%{?suse_version} >= 1330
# Create postfix user
%sysusers_generate_pre %{SOURCE12} postfix
%sysusers_generate_pre %{SOURCE13} vmail
-%endif
# ---------------------------------------------------------------------------
%install
mkdir -p %{buildroot}/%{_libdir}
mkdir -p %{buildroot}%{_sysconfdir}/%{name}
-cp conf/* %{buildroot}%{_sysconfdir}/%{name}
# create our default postfix ssl DIR (/etc/postfix/ssl)
mkdir -p %{buildroot}%{_sysconfdir}/%{name}/ssl/certs
# link cacerts to /etc/ssl/certs
@@ -327,7 +293,6 @@
-e 's;@sample_directory@;%{pf_sample_directory};' \
-e 's;@mailq_path@;%{pf_mailq_path};' %{name}-SUSE/config.%{name} > %{buildroot}%{_sbindir}/config.%{name}
chmod 755 %{buildroot}%{_sbindir}/config.%{name}
-install -m 644 %{name}-SUSE/dynamicmaps.cf %{buildroot}%{_sysconfdir}/%{name}/dynamicmaps.cf
install -m 644 %{name}-SUSE/ldap_aliases.cf %{buildroot}%{_sysconfdir}/%{name}/ldap_aliases.cf
install -m 644 %{name}-SUSE/helo_access %{buildroot}%{_sysconfdir}/%{name}/helo_access
install -m 644 %{name}-SUSE/permissions %{buildroot}%{_sysconfdir}/permissions.d/%{name}
@@ -367,7 +332,15 @@
"disable_vrfy_command = yes" \
'smtpd_banner = $myhostname ESMTP'
#Set Permissions
-install -m 644 %{name}-SUSE/%{name}-files %{buildroot}%{pf_shlib_directory}/%{name}-files
+sed -i -e 's/\(.*ldap.*\)/#\1/g' \
+ -e 's/\(.*mysql.*\)/#\1/g' \
+ -e 's/\(.*pgsql.*\)/#\1/g' \
+ -e 's/\(.*LICENSE.*\)/#\1/g' \
+ -e '/html_directory/d' \
+ -e '/manpage_directory/d' \
+ -e '/readme_directory/d' \
+ %{buildroot}%{pf_shlib_directory}/postfix-files
+mkdir -p %{buildroot}%{pf_shlib_directory}/postfix-files.d
# postfix-mysql
install -m 644 %{name}-mysql/main.cf-mysql %{buildroot}%{_sysconfdir}/%{name}/main.cf-mysql
install -m 640 %{name}-mysql/*_maps.cf %{buildroot}%{_sysconfdir}/%{name}/
@@ -405,97 +378,46 @@
rm -vf $path
ln -sf %{_libdir}/$name $path
done
-# ---------------------------------------------------------------------------
+
+# create dynamicmaps.cf.d entries for optional modules
+sed -n -e '/^#/p' -e '/mysql/p' %{buildroot}%{pf_shlib_directory}/dynamicmaps.cf > %{buildroot}%{pf_shlib_directory}/dynamicmaps.cf.d/%{name}-mysql.cf
+sed -i -e '/mysql/d' %{buildroot}%{pf_shlib_directory}/dynamicmaps.cf
+sed -n -e '/^#/p' -e '/pgsql/p' %{buildroot}%{pf_shlib_directory}/dynamicmaps.cf > %{buildroot}%{pf_shlib_directory}/dynamicmaps.cf.d/%{name}-pgsql.cf
+sed -i -e '/pgsql/d' %{buildroot}%{pf_shlib_directory}/dynamicmaps.cf
+%if %{with ldap}
+sed -n -e '/^#/p' -e "/ldap/p" %{buildroot}%{pf_shlib_directory}/dynamicmaps.cf > %{buildroot}%{pf_shlib_directory}/dynamicmaps.cf.d/%{name}-ldap.cf
+sed -i -e '/ldap/d' %{buildroot}%{pf_shlib_directory}/dynamicmaps.cf
+%endif
+
install -m 755 %{SOURCE11} %{buildroot}%{_sbindir}/
-%if 0%{?suse_version} >= 1330
mkdir -p %{buildroot}%{_sysusersdir}
install -m 644 %{SOURCE12} %{buildroot}%{_sysusersdir}/
install -m 644 %{SOURCE13} %{buildroot}%{_sysusersdir}/
-%endif
-
-%if 0%{?suse_version} >= 1330
-%pre -f postfix.pre
-%else
-%pre
-getent group %{name} >/dev/null || groupadd -g %{pf_gid} -o -r %{name}
-getent group maildrop >/dev/null || groupadd -g %{maildrop_gid} -o -r maildrop
-getent passwd %{name} >/dev/null || useradd -r -o -g %{name} -u %{pf_uid} -s /bin/false -c "Postfix Daemon" -d /%{pf_queue_directory} %{name}
-usermod -a -G %{maildrop_gid},%{mail_group} %{name}
-%endif
-%service_add_pre %{name}.service
-
-VERSIONTEST=$(test -x usr/sbin/postconf && usr/sbin/postconf proxy_read_maps 2>/dev/null || :)
-if [ -z "$VERSIONTEST" -a -f %{pf_queue_directory}/pid/master.pid ]; then
- if checkproc -p %{pf_queue_directory}/pid/master.pid usr/lib/%{name}/master; then
- echo "%{name} is still running. You have to stop %{name} in order to"
- echo "install a newer version."
- exit 1
- fi
-fi
# ---------------------------------------------------------------------------
-%if 0%{?suse_version} >= 1330
-%pre mysql -f vmail.pre
-%else
-%pre mysql
-#echo "PARAM_pre: "$1
-# on `rpm -ivh` PARAM is 1
-# on `rpm -Uvh` PARAM is 2
-if [ "$1" = "1" ]; then
- echo "Adding %{vmusr} user"
- if [ -z "`getent group %{vmusr} 2>/dev/null`" ]; then
- groupadd -r -g %{vmgid} %{vmusr}
- fi
- if [ -z "`getent passwd %{vmusr} 2>/dev/null`" ]; then
- useradd -c "maildirs chef" -d %{vmdir} -g %{vmusr} -u %{vmid} -r -s /bin/false %{vmusr}
- fi
+%pre -f postfix.pre
+# If existing default database type is hash, we need to convert the
+# databases because hash (and btree) is no longer supported after
+# the upgrade
+if [ -x %{_sbindir}/postconf ]; then
+ DEF_DB_TYPE=$(postconf default_database_type)
+ case $DEF_DB_TYPE in *hash)
+ touch %{pf_database_convert}
+ esac
fi
-%endif
-# ---------------------------------------------------------------------------
+%service_add_pre %{name}.service
%preun
-%stop_on_removal %{name}
%service_del_preun %{name}.service
-# ---------------------------------------------------------------------------
-
-%preun mysql
-#echo "PARAM_preun: "$1
-# on `rpm -e` PARAM is 0
-if [ "$1" = "0" ]; then
- FILE=etc/%{name}/dynamicmaps.cf
- if [ -e "$FILE" ] ; then
- if grep -q "^mysql[[:space:]]" ${FILE}; then
- echo "Removing mysql map entry from ${FILE}"
- sed "/^mysql[[:space:]]/d" ${FILE} > ${FILE}.$$ && \
- cp --remove-destination ${FILE}.$$ ${FILE} && \
- rm ${FILE}.$$
- fi
- else
- echo "Can not find \"$FILE\". Not updating the file." >&2
- fi
-fi
-# ---------------------------------------------------------------------------
-
-%preun postgresql
-if [ "$1" = 0 ] ; then
- FILE=etc/%{name}/dynamicmaps.cf
- if [ -e "$FILE" ] ; then
- if grep -q "^pgsql[[:space:]]" ${FILE}; then
- echo "Removing pgsql map entry from ${FILE}"
- sed "/^pgsql[[:space:]]/d" ${FILE} > ${FILE}.$$ && \
- cp --remove-destination ${FILE}.$$ ${FILE} && \
- rm ${FILE}.$$
- fi
- else
- echo "Can not find \"$FILE\". Not updating the file." >&2
- fi
-fi
-# ---------------------------------------------------------------------------
%post
# We never have to run suseconfig for postfix after installation
# We only start postfix own upgrade-configuration by update
+#
+# If the default database type of the previous installation was
+# hash, we also need to rebuild the databases in the new lmdb
+# format
if [ ${1:-0} -gt 1 ]; then
touch %{_localstatedir}/adm/%{name}.configured
echo "Executing upgrade-configuration."
@@ -503,50 +425,54 @@
if [ "$(%{_sbindir}/postconf -h daemon_directory)" != "%{pf_daemon_directory}" ]; then
%{_sbindir}/postconf daemon_directory=%{pf_daemon_directory}
fi
+ if [ -e %{pf_database_convert} ]; then
+ sed -i -E "s/(btree|hash):/lmdb:/g" %{pf_config_directory}/{main.cf,master.cf}
+ for i in $(find %{pf_config_directory} -name "*.db"); do
+ postmap ${i%.db}
+ done
+ for i in $(find %{_sysconfdir}/aliases.d/ -name "*.db"); do
+ postalias ${i%.db}
+ done
+ if [ -e %{_sysconfdir}/aliases.db ]; then
+ postalias %{_sysconfdir}/aliases
+ fi
+ rm %{pf_database_convert}
+ fi
fi
-
-%service_add_post %{name}.service
-
%set_permissions %{_sbindir}/postqueue
%set_permissions %{_sbindir}/postdrop
%set_permissions %{_sysconfdir}/%{name}/sasl_passwd
%set_permissions %{_sbindir}/sendmail
-
%{fillup_only postfix}
%{fillup_only -an mail}
-/sbin/ldconfig
+%service_add_post %{name}.service
+
+%postun
+%service_del_postun %{name}.service
%verifyscript
%verify_permissions -e %{_sbindir}/postqueue
%verify_permissions -e %{_sbindir}/postdrop
%verify_permissions -e %{_sysconfdir}/%{name}/sasl_passwd
%verify_permissions -e %{_sbindir}/sendmail
-%{fillup_only postfix}
-
-%postun
-%service_del_postun %{name}.service
-/sbin/ldconfig
# ---------------------------------------------------------------------------
-%post postgresql
-FILE=etc/%{name}/dynamicmaps.cf
-if ! grep -q "^pgsql[[:space:]]" ${FILE}; then
- echo "Adding pgsql map entry to ${FILE}"
- echo "pgsql %{pf_shlib_directory}/dict_pgsql.so dict_pgsql_open" >> ${FILE}
-fi
-# ---------------------------------------------------------------------------
+%pre mysql -f vmail.pre
-%post mysql
-FILE=etc/%{name}/dynamicmaps.cf
-if ! grep -q "^mysql[[:space:]]" ${FILE}; then
- echo "Adding mysql map entry to ${FILE}"
- echo "mysql %{pf_shlib_directory}/dict_mysql.so dict_mysql_open" >> ${FILE}
-fi
-# ---------------------------------------------------------------------------
+%post mysql -p /sbin/ldconfig
+%postun mysql -p /sbin/ldconfig
+
+%post postgresql -p /sbin/ldconfig
+%postun postgresql -p /sbin/ldconfig
+
+%if %{with ldap}
+%post ldap -p /sbin/ldconfig
+%postun ldap -p /sbin/ldconfig
+%endif
%files
-%license LICENSE
+%license LICENSE TLS_LICENSE
%config %{_sysconfdir}/pam.d/*
%{_fillupdir}/sysconfig.%{name}
%{_fillupdir}/sysconfig.mail-%{name}
@@ -561,24 +487,19 @@
%config(noreplace) %{_sysconfdir}/%{name}/helo_access
%config(noreplace) %{_sysconfdir}/%{name}/main.cf
%config(noreplace) %{_sysconfdir}/%{name}/master.cf
-%attr(0750,root,root) %config %{_sysconfdir}/%{name}/post-install
-%attr(0750,root,root) %config %{_sysconfdir}/%{name}/%{name}-tls-script
-%attr(0750,root,root) %config %{_sysconfdir}/%{name}/%{name}-wrapper
-%attr(0750,root,root) %config %{_sysconfdir}/%{name}/postmulti-script
-%config(noreplace) %{_sysconfdir}/%{name}/%{name}-files
%config(noreplace) %{_sysconfdir}/%{name}/relay
%config(noreplace) %{_sysconfdir}/%{name}/relay_ccerts
%config(noreplace) %{_sysconfdir}/%{name}/sasl_passwd
%config(noreplace) %{_sysconfdir}/%{name}/sender_canonical
%config(noreplace) %{_sysconfdir}/%{name}/virtual
-
+%ghost %{_sysconfdir}/%{name}/*.lmdb
+%ghost %{_sysconfdir}/aliases.lmdb
%dir %{_sysconfdir}/sasl2
%config(noreplace) %{_sysconfdir}/sasl2/smtpd.conf
-%config %{_sysconfdir}/%{name}/LICENSE
-%config %{_sysconfdir}/%{name}/TLS_LICENSE
+%exclude %{_sysconfdir}/%{name}/LICENSE
+%exclude %{_sysconfdir}/%{name}/TLS_LICENSE
%config %{_sysconfdir}/permissions.d/%{name}
%config %{_sysconfdir}/permissions.d/%{name}.paranoid
-%attr(0644, root, root) %config %{_sysconfdir}/%{name}/makedefs.out
%{pf_shlib_directory}/%{name}-files
# create our default postfix ssl DIR (/etc/postfix/ssl)
%dir %{_sysconfdir}/%{name}/ssl
@@ -612,20 +533,25 @@
%{_libdir}/lib*
%{_libexecdir}/sendmail
%dir %{pf_shlib_directory}
-%{pf_shlib_directory}/*[^.so]
%{pf_shlib_directory}/%{name}-pcre.so
+%{pf_shlib_directory}/%{name}-lmdb.so
%{pf_shlib_directory}/lib%{name}-dns.so
%{pf_shlib_directory}/lib%{name}-global.so
%{pf_shlib_directory}/lib%{name}-master.so
%{pf_shlib_directory}/lib%{name}-tls.so
%{pf_shlib_directory}/lib%{name}-util.so
+%{pf_shlib_directory}/dynamicmaps.cf
%{pf_shlib_directory}/main.cf.proto
+%{pf_shlib_directory}/makedefs.out
%{pf_shlib_directory}/master.cf.proto
+%dir %{pf_daemon_directory}
+%{pf_daemon_directory}/*
+%dir %{pf_shlib_directory}/dynamicmaps.cf.d
+%dir %{pf_shlib_directory}/postfix-files.d
%{conf_backup_dir}
%dir %attr(0700,%{name},root) %{pf_data_directory}
%exclude %{_mandir}/man5/ldap_table.5*
-%exclude %{_mandir}/man5/lmdb_table.5*
%exclude %{_mandir}/man5/mysql_table.5*
%exclude %{_mandir}/man5/pgsql_table.5*
%{_mandir}/man?/*%{?ext_man}
@@ -643,9 +569,7 @@
%dir %attr(0700,%{name},root) /%{pf_queue_directory}/trace
%dir %attr(0730,%{name},maildrop) /%{pf_queue_directory}/maildrop
%dir %attr(0710,%{name},maildrop) /%{pf_queue_directory}/public
-%if 0%{?suse_version} >= 1330
%{_sysusersdir}/postfix-user.conf
-%endif
%files devel
%{_includedir}/%{name}/
@@ -659,26 +583,21 @@
%config(noreplace) %attr(640, root, %{name}) %{_sysconfdir}/%{name}/*_maps.cf
%config(noreplace) %{_sysconfdir}/%{name}/main.cf-mysql
%{pf_shlib_directory}/%{name}-mysql.so
+%{pf_shlib_directory}/dynamicmaps.cf.d/%{name}-mysql.cf
%{_mandir}/man5/mysql_table.5%{?ext_man}
-%if 0%{?suse_version} >= 1330
%{_sysusersdir}/postfix-vmail-user.conf
-%endif
%files postgresql
%{pf_shlib_directory}/%{name}-pgsql.so
+%{pf_shlib_directory}/dynamicmaps.cf.d/%{name}-pgsql.cf
%{_mandir}/man5/pgsql_table.5%{?ext_man}
%if %{with ldap}
%files ldap
%config(noreplace) %{_sysconfdir}/%{name}/ldap_aliases.cf
%{pf_shlib_directory}/%{name}-ldap.so
+%{pf_shlib_directory}/dynamicmaps.cf.d/%{name}-ldap.cf
%{_mandir}/man5/ldap_table.5%{?ext_man}
%endif
-%if %{with lmdb}
-%files lmdb
-%{pf_shlib_directory}/%{name}-lmdb.so
-%{_mandir}/man5/lmdb_table.5%{?ext_man}
-%endif
-
%changelog
++++++ postfix-3.5.8.tar.gz -> postfix-3.5.9.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/HISTORY new/postfix-3.5.9/HISTORY
--- old/postfix-3.5.8/HISTORY 2020-11-05 00:11:27.000000000 +0100
+++ new/postfix-3.5.9/HISTORY 2021-01-17 15:54:57.000000000 +0100
@@ -24882,3 +24882,26 @@
subsequent header content to become message body content.
Reported by Andreas Weigel, fix by Viktor Dukhovni. File:
smtp/smtp_proto.c.
+
+20210116
+
+ Feature: when a Postfix program makes a DNS query that
+ requests DNSSEC validation (usually for Postfix DANE support)
+ but the DNS response is not DNSSEC validated, Postfix will
+ send a DNS query configured with the "dnssec_probe" parameter
+ to determine if DNSSEC support is available, and logs a
+ warning if it is not. By default, the probe has type "ns"
+ and domain name ".". The probe is sent once per process
+ lifetime. Files: dns/dns.h, dns/dns_lookup.c, dns/dns_sec.c,
+ test_dns_lookup.c, global/mail_params.[hc], mantools/postlink.
+
+ The makedefs script no longer disables DNSSEC when Postfix
+ is built with libc-musl. Instead Postfix will rely on the
+ new dnssec_probe feature, and will log a warning when Postfix
+ requests DNSSEC validation, but the infrastructure does not
+ validate DNSSEC signatures. File: makedefs.
+
+ The default "smtp_tls_dane_insecure_mx_policy = dane" was
+ causing unnecessary dnssec_probe activity. The default is now
+ "dane" when smtp_tls_security_level is "dane", otherwise it is
+ "may". File: global/mail_params.h.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/RELEASE_NOTES new/postfix-3.5.9/RELEASE_NOTES
--- old/postfix-3.5.8/RELEASE_NOTES 2020-05-16 23:20:59.000000000 +0200
+++ new/postfix-3.5.9/RELEASE_NOTES 2021-01-16 23:24:24.000000000 +0100
@@ -25,9 +25,50 @@
the software under the license of their choice. Those who are more
comfortable with the IPL can continue with that license.
+Runtime detection of DNSSEC support
+-----------------------------------
+
+The Postfix build system will no longer automatically disable DNSSEC
+support when it determines that Postfix will use libc-musl. This removes
+the earlier libc-musl workaround for Postfix 3.2.15, 3.3.10, 3.4.12,
+and 3.5.2.
+
+Now, when a Postfix process requests DNSSEC support (typically, for
+Postfix DANE support), the process may do a runtime test to determine if
+DNSSEC validation is available. DNSSEC support may be broken because of
+local configuration, libc incompatibility, or other infrastructure issues.
+
+Background: DNSSEC validation is needed for Postfix DANE support;
+this ensures that Postfix receives TLSA records with secure TLS
+server certificate info. When DNSSEC validation is unavailable,
+mail deliveries using opportunistic DANE will not be protected by
+server certificate info in TLSA records, and mail deliveries using
+mandatory DANE will not be made at all.
+
+The dnssec_probe parameter specifies the DNS query type (default:
+"ns") and DNS query name (default: ".") that Postfix may use to
+determine whether DNSSEC validation is available. Specify an empty
+value to disable this feature.
+
+By default, a Postfix process will send a DNSSEC probe after 1) the
+process made a DNS query that requested DNSSEC validation, 2) the
+process did not receive a DNSSEC validated response to this query
+or to an earlier query, and 3) the process did not already send a
+DNSSEC probe.
+
+When the DNSSEC probe has no response, or when the response is not
+DNSSEC validated, Postfix logs a warning that DNSSEC validation may
+be unavailable. Examples:
+
+warning: DNSSEC validation may be unavailable
+warning: reason: dnssec_probe 'ns:.' received a response that is not DNSSEC validated
+warning: reason: dnssec_probe 'ns:.' received no response: Server failure
+
+This feature was backported from Postfix 3.6.
+
libc-musl workaround for Postfix 3.2.15, 3.3.10, 3.4.12, and 3.5.2
------------------------------------------------------------------
-
+
Security: this release disables DANE support on Linux systems with
libc-musl, because libc-musl provides no indication whether DNS
responses are authentic. This broke DANE support without a clear
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/html/lmtp.8.html new/postfix-3.5.9/html/lmtp.8.html
--- old/postfix-3.5.8/html/lmtp.8.html 2020-03-08 16:09:09.000000000 +0100
+++ new/postfix-3.5.9/html/lmtp.8.html 2021-01-17 00:19:54.000000000 +0100
@@ -365,6 +365,13 @@
The email address form that will be used in non-debug logging
(info, warning, etc.).
+ Available in Postfix 3.5.9 and later:
+
+ <b><a href="postconf.5.html#dnssec_probe">dnssec_probe</a> (ns:.)</b>
+ The DNS query type (default: "ns") and DNS query name (default:
+ ".") that Postfix may use to determine whether DNSSEC validation
+ is available.
+
<b>MIME PROCESSING CONTROLS</b>
Available in Postfix version 2.0 and later:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/html/postconf.5.html new/postfix-3.5.9/html/postconf.5.html
--- old/postfix-3.5.8/html/postconf.5.html 2020-05-09 17:51:27.000000000 +0200
+++ new/postfix-3.5.9/html/postconf.5.html 2021-01-17 16:10:20.000000000 +0100
@@ -3031,6 +3031,66 @@
</DD>
+<DT><b><a name="dnssec_probe">dnssec_probe</a>
+(default: ns:.)</b></DT><DD>
+
+<p> The DNS query type (default: "ns") and DNS query name (default:
+".") that Postfix may use to determine whether DNSSEC validation
+is available.
+</p>
+
+<p> Background: DNSSEC validation is needed for Postfix DANE support;
+this ensures that Postfix receives TLSA records with secure TLS
+server certificate info. When DNSSEC validation is unavailable,
+mail deliveries using <i>opportunistic</i> DANE will not be protected
+by server certificate info in TLSA records, and mail deliveries
+using <i>mandatory</i> DANE will not be made at all. </p>
+
+<p> By default, a Postfix process will send a DNSSEC probe after
+1) the process made a DNS query that requested DNSSEC validation,
+2) the process did not receive a DNSSEC validated response to this
+query or to an earlier query, and 3) the process did not already
+send a DNSSEC probe. <p>
+
+<p> When the DNSSEC probe has no response, or when the response is
+not DNSSEC validated, Postfix logs a warning that DNSSEC validation
+may be unavailable. </p>
+
+<p> Example: </p>
+
+<pre>
+warning: DNSSEC validation may be unavailable
+warning: reason: <a href="postconf.5.html#dnssec_probe">dnssec_probe</a> 'ns:.' received a response that is not DNSSEC validated
+warning: reason: <a href="postconf.5.html#dnssec_probe">dnssec_probe</a> 'ns:.' received no response: Server failure
+</pre>
+
+<p> Possible reasons why DNSSEC validation may be unavailable: </p>
+
+<ul>
+
+<li> The local /etc/resolv.conf file specifies a DNS resolver that
+does not validate DNSSEC signatures (that's
+$<a href="postconf.5.html#queue_directory">queue_directory</a>/etc/resolv.conf when a Postfix daemon runs in a
+chroot jail).
+
+<li> The local system library does not pass on the "DNSSEC validated"
+bit to Postfix, or Postfix does not know how to ask the library to
+do that.
+
+</ul>
+
+<p> By default, the DNSSEC probe asks for the DNS root zone NS
+records, because resolvers should always have that information
+cached. If Postfix runs on a network where the DNS root zone is not
+reachable, specify a different probe, or specify an empty <a href="postconf.5.html#dnssec_probe">dnssec_probe</a>
+value to disable the feature. </p>
+
+<p> This feature was backported from Postfix 3.6 to Postfix versions
+3.5.9, 3.4.19, 3.3.16. 3.2.21. </p>
+
+
+</DD>
+
<DT><b><a name="dont_remove">dont_remove</a>
(default: 0)</b></DT><DD>
@@ -12377,7 +12437,7 @@
</DD>
<DT><b><a name="smtp_tls_dane_insecure_mx_policy">smtp_tls_dane_insecure_mx_policy</a>
-(default: dane)</b></DT><DD>
+(default: see "postconf -d" output)</b></DT><DD>
<p> The TLS policy for MX hosts with "secure" TLSA records when the
nexthop destination security level is <b>dane</b>, but the MX
@@ -12401,6 +12461,12 @@
"Verified", because the MX host name could have been forged. </dd>
</dl>
+<p> The default setting for Postfix ≥ 3.6 is "dane" with
+"<a href="postconf.5.html#smtp_tls_security_level">smtp_tls_security_level</a> = dane", otherwise "may". This behavior
+was backported to Postfix versions 3.5.9, 3.4.19, 3.3.16. 3.2.21.
+With earlier
+Postfix versions the default setting was always "dane". </p>
+
<p> Though with "insecure" MX records an active attacker can
compromise SMTP transport security by returning forged MX records,
such attacks are "tamper-evident" since any forged MX hostnames
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/html/smtp.8.html new/postfix-3.5.9/html/smtp.8.html
--- old/postfix-3.5.8/html/smtp.8.html 2020-03-08 16:09:09.000000000 +0100
+++ new/postfix-3.5.9/html/smtp.8.html 2021-01-17 00:19:54.000000000 +0100
@@ -365,6 +365,13 @@
The email address form that will be used in non-debug logging
(info, warning, etc.).
+ Available in Postfix 3.5.9 and later:
+
+ <b><a href="postconf.5.html#dnssec_probe">dnssec_probe</a> (ns:.)</b>
+ The DNS query type (default: "ns") and DNS query name (default:
+ ".") that Postfix may use to determine whether DNSSEC validation
+ is available.
+
<b>MIME PROCESSING CONTROLS</b>
Available in Postfix version 2.0 and later:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/makedefs new/postfix-3.5.9/makedefs
--- old/postfix-3.5.8/makedefs 2020-05-06 16:10:47.000000000 +0200
+++ new/postfix-3.5.9/makedefs 2021-01-16 16:10:00.000000000 +0100
@@ -228,19 +228,6 @@
*) echo usage: $0 [system release] 1>&2; exit 1;;
esac
-case "$SYSTEM" in
- Linux)
- case "`PATH=/bin:/usr/bin ldd /bin/sh`" in
- *-musl-*)
- case "$CCARGS" in
- *-DNO_DNSSEC*) ;;
- *) echo Warning: libc-musl breaks DANE/TLSA security. 1>&2
- echo This build will not support DANE/TLSA. 1>&2
- CCARGS="$CCARGS -DNO_DNSSEC";;
- esac;;
- esac;;
-esac
-
case "$SYSTEM.$RELEASE" in
SCO_SV.3.2) SYSTYPE=SCO5
# Use the native compiler by default
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/man/man5/postconf.5 new/postfix-3.5.9/man/man5/postconf.5
--- old/postfix-3.5.8/man/man5/postconf.5 2020-05-09 17:52:30.000000000 +0200
+++ new/postfix-3.5.9/man/man5/postconf.5 2021-01-17 16:10:20.000000000 +0100
@@ -1897,6 +1897,60 @@
service performs DNS white/blacklist lookups.
.PP
This feature is available in Postfix 2.8 and later.
+.SH dnssec_probe (default: ns:.)
+The DNS query type (default: "ns") and DNS query name (default:
+".") that Postfix may use to determine whether DNSSEC validation
+is available.
+.PP
+Background: DNSSEC validation is needed for Postfix DANE support;
+this ensures that Postfix receives TLSA records with secure TLS
+server certificate info. When DNSSEC validation is unavailable,
+mail deliveries using \fIopportunistic\fR DANE will not be protected
+by server certificate info in TLSA records, and mail deliveries
+using \fImandatory\fR DANE will not be made at all.
+.PP
+By default, a Postfix process will send a DNSSEC probe after
+1) the process made a DNS query that requested DNSSEC validation,
+2) the process did not receive a DNSSEC validated response to this
+query or to an earlier query, and 3) the process did not already
+send a DNSSEC probe.
+.PP
+When the DNSSEC probe has no response, or when the response is
+not DNSSEC validated, Postfix logs a warning that DNSSEC validation
+may be unavailable.
+.PP
+Example:
+.PP
+.nf
+.na
+.ft C
+warning: DNSSEC validation may be unavailable
+warning: reason: dnssec_probe 'ns:.' received a response that is not DNSSEC validated
+warning: reason: dnssec_probe 'ns:.' received no response: Server failure
+.fi
+.ad
+.ft R
+.PP
+Possible reasons why DNSSEC validation may be unavailable:
+.IP \(bu
+The local /etc/resolv.conf file specifies a DNS resolver that
+does not validate DNSSEC signatures (that's
+$queue_directory/etc/resolv.conf when a Postfix daemon runs in a
+chroot jail).
+.IP \(bu
+The local system library does not pass on the "DNSSEC validated"
+bit to Postfix, or Postfix does not know how to ask the library to
+do that.
+.br
+.PP
+By default, the DNSSEC probe asks for the DNS root zone NS
+records, because resolvers should always have that information
+cached. If Postfix runs on a network where the DNS root zone is not
+reachable, specify a different probe, or specify an empty dnssec_probe
+value to disable the feature.
+.PP
+This feature was backported from Postfix 3.6 to Postfix versions
+3.5.9, 3.4.19, 3.3.16. 3.2.21.
.SH dont_remove (default: 0)
Don't remove queue files and save them to the "saved" mail queue.
This is a debugging aid. To inspect the envelope information and
@@ -7921,7 +7975,7 @@
TLS connection reuse" for background details.
.PP
This feature is available in Postfix 3.4 and later.
-.SH smtp_tls_dane_insecure_mx_policy (default: dane)
+.SH smtp_tls_dane_insecure_mx_policy (default: see "postconf \-d" output)
The TLS policy for MX hosts with "secure" TLSA records when the
nexthop destination security level is \fBdane\fR, but the MX
record was found via an "insecure" MX lookup. The choices are:
@@ -7942,6 +7996,12 @@
"Verified", because the MX host name could have been forged.
.br
.br
+The default setting for Postfix >= 3.6 is "dane" with
+"smtp_tls_security_level = dane", otherwise "may". This behavior
+was backported to Postfix versions 3.5.9, 3.4.19, 3.3.16. 3.2.21.
+With earlier
+Postfix versions the default setting was always "dane".
+.PP
Though with "insecure" MX records an active attacker can
compromise SMTP transport security by returning forged MX records,
such attacks are "tamper\-evident" since any forged MX hostnames
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/man/man8/smtp.8 new/postfix-3.5.9/man/man8/smtp.8
--- old/postfix-3.5.8/man/man8/smtp.8 2020-03-08 16:09:08.000000000 +0100
+++ new/postfix-3.5.9/man/man8/smtp.8 2021-01-17 00:19:54.000000000 +0100
@@ -356,6 +356,12 @@
.IP "\fBinfo_log_address_format (external)\fR"
The email address form that will be used in non\-debug logging
(info, warning, etc.).
+.PP
+Available in Postfix 3.5.9 and later:
+.IP "\fBdnssec_probe (ns:.)\fR"
+The DNS query type (default: "ns") and DNS query name (default:
+".") that Postfix may use to determine whether DNSSEC validation
+is available.
.SH "MIME PROCESSING CONTROLS"
.na
.nf
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/mantools/postlink new/postfix-3.5.9/mantools/postlink
--- old/postfix-3.5.8/mantools/postlink 2020-01-26 18:34:39.000000000 +0100
+++ new/postfix-3.5.9/mantools/postlink 2021-01-16 23:31:12.000000000 +0100
@@ -695,6 +695,7 @@
s;\bsmtp_per_record_deadline\b;<a href="postconf.5.html#smtp_per_record_deadline">$&</a>;g;
s;\bsmtp_send_dummy_mail_auth\b;<a href="postconf.5.html#smtp_send_dummy_mail_auth">$&</a>;g;
s;\bsmtp_balance_inet_protocols\b;<a href="postconf.5.html#smtp_balance_inet_protocols">$&</a>;g;
+ s;\bdnssec_probe\b;<a href="postconf.5.html#dnssec_probe">$&</a>;g;
s;\bsmtp_tls_connection_reuse\b;<a href="postconf.5.html#smtp_tls_connection_reuse">$&</a>;g;
s;\blmtp_tls_connection_reuse\b;<a href="postconf.5.html#lmtp_tls_connection_reuse">$&</a>;g;
s;\bsmtpd_enforce_tls\b;<a href="postconf.5.html#smtpd_enforce_tls">$&</a>;g;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/proto/postconf.proto new/postfix-3.5.9/proto/postconf.proto
--- old/postfix-3.5.8/proto/postconf.proto 2020-05-09 17:51:27.000000000 +0200
+++ new/postfix-3.5.9/proto/postconf.proto 2021-01-17 16:10:15.000000000 +0100
@@ -16815,7 +16815,7 @@
This feature is available in Postfix 3.1 and later.
</p>
-%PARAM smtp_tls_dane_insecure_mx_policy dane
+%PARAM smtp_tls_dane_insecure_mx_policy see "postconf -d" output
<p> The TLS policy for MX hosts with "secure" TLSA records when the
nexthop destination security level is <b>dane</b>, but the MX
@@ -16839,6 +16839,12 @@
"Verified", because the MX host name could have been forged. </dd>
</dl>
+<p> The default setting for Postfix ≥ 3.6 is "dane" with
+"smtp_tls_security_level = dane", otherwise "may". This behavior
+was backported to Postfix versions 3.5.9, 3.4.19, 3.3.16. 3.2.21.
+With earlier
+Postfix versions the default setting was always "dane". </p>
+
<p> Though with "insecure" MX records an active attacker can
compromise SMTP transport security by returning forged MX records,
such attacks are "tamper-evident" since any forged MX hostnames
@@ -17698,3 +17704,59 @@
such games to circumvent Postfix access policies. </p>
<p> This feature is available in Postfix 3.5 and later. </p>
+
+%PARAM dnssec_probe ns:.
+
+<p> The DNS query type (default: "ns") and DNS query name (default:
+".") that Postfix may use to determine whether DNSSEC validation
+is available.
+</p>
+
+<p> Background: DNSSEC validation is needed for Postfix DANE support;
+this ensures that Postfix receives TLSA records with secure TLS
+server certificate info. When DNSSEC validation is unavailable,
+mail deliveries using <i>opportunistic</i> DANE will not be protected
+by server certificate info in TLSA records, and mail deliveries
+using <i>mandatory</i> DANE will not be made at all. </p>
+
+<p> By default, a Postfix process will send a DNSSEC probe after
+1) the process made a DNS query that requested DNSSEC validation,
+2) the process did not receive a DNSSEC validated response to this
+query or to an earlier query, and 3) the process did not already
+send a DNSSEC probe. <p>
+
+<p> When the DNSSEC probe has no response, or when the response is
+not DNSSEC validated, Postfix logs a warning that DNSSEC validation
+may be unavailable. </p>
+
+<p> Example: </p>
+
+<pre>
+warning: DNSSEC validation may be unavailable
+warning: reason: dnssec_probe 'ns:.' received a response that is not DNSSEC validated
+warning: reason: dnssec_probe 'ns:.' received no response: Server failure
+</pre>
+
+<p> Possible reasons why DNSSEC validation may be unavailable: </p>
+
+<ul>
+
+<li> The local /etc/resolv.conf file specifies a DNS resolver that
+does not validate DNSSEC signatures (that's
+$queue_directory/etc/resolv.conf when a Postfix daemon runs in a
+chroot jail).
+
+<li> The local system library does not pass on the "DNSSEC validated"
+bit to Postfix, or Postfix does not know how to ask the library to
+do that.
+
+</ul>
+
+<p> By default, the DNSSEC probe asks for the DNS root zone NS
+records, because resolvers should always have that information
+cached. If Postfix runs on a network where the DNS root zone is not
+reachable, specify a different probe, or specify an empty dnssec_probe
+value to disable the feature. </p>
+
+<p> This feature was backported from Postfix 3.6 to Postfix versions
+3.5.9, 3.4.19, 3.3.16. 3.2.21. </p>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/src/dns/Makefile.in new/postfix-3.5.9/src/dns/Makefile.in
--- old/postfix-3.5.8/src/dns/Makefile.in 2019-12-15 01:01:17.000000000 +0100
+++ new/postfix-3.5.9/src/dns/Makefile.in 2021-01-09 02:23:37.000000000 +0100
@@ -1,10 +1,10 @@
SHELL = /bin/sh
SRCS = dns_lookup.c dns_rr.c dns_strerror.c dns_strtype.c dns_rr_to_pa.c \
dns_sa_to_rr.c dns_rr_eq_sa.c dns_rr_to_sa.c dns_strrecord.c \
- dns_rr_filter.c dns_str_resflags.c
+ dns_rr_filter.c dns_str_resflags.c dns_sec.c
OBJS = dns_lookup.o dns_rr.o dns_strerror.o dns_strtype.o dns_rr_to_pa.o \
dns_sa_to_rr.o dns_rr_eq_sa.o dns_rr_to_sa.o dns_strrecord.o \
- dns_rr_filter.o dns_str_resflags.o
+ dns_rr_filter.o dns_str_resflags.o dns_sec.o
HDRS = dns.h
TESTSRC = test_dns_lookup.c test_alias_token.c
DEFS = -I. -I$(INC_DIR) -D$(SYSTYPE)
@@ -76,7 +76,7 @@
done
cd $(INC_DIR); chmod 644 $(HDRS)
-test_dns_lookup: test_dns_lookup.c $(LIB) $(LIBS)
+test_dns_lookup: test_dns_lookup.c all $(LIB) $(LIBS)
$(CC) $(CFLAGS) -o $@ $@.c $(LIB) $(LIBS) $(SYSLIBS)
dns_rr_to_pa: $(LIB) $(LIBS)
@@ -346,6 +346,18 @@
dns_sa_to_rr.o: ../../include/vstring.h
dns_sa_to_rr.o: dns.h
dns_sa_to_rr.o: dns_sa_to_rr.c
+dns_sec.o: ../../include/check_arg.h
+dns_sec.o: ../../include/mail_params.h
+dns_sec.o: ../../include/msg.h
+dns_sec.o: ../../include/myaddrinfo.h
+dns_sec.o: ../../include/mymalloc.h
+dns_sec.o: ../../include/sock_addr.h
+dns_sec.o: ../../include/split_at.h
+dns_sec.o: ../../include/sys_defs.h
+dns_sec.o: ../../include/vbuf.h
+dns_sec.o: ../../include/vstring.h
+dns_sec.o: dns.h
+dns_sec.o: dns_sec.c
dns_str_resflags.o: ../../include/check_arg.h
dns_str_resflags.o: ../../include/myaddrinfo.h
dns_str_resflags.o: ../../include/name_mask.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/src/dns/dns.h new/postfix-3.5.9/src/dns/dns.h
--- old/postfix-3.5.8/src/dns/dns.h 2020-04-16 19:07:58.000000000 +0200
+++ new/postfix-3.5.9/src/dns/dns.h 2021-01-16 23:37:12.000000000 +0100
@@ -244,7 +244,12 @@
(lflags), (ltype))
/*
- * Request flags.
+ * The dns_lookup() rflag that requests DNSSEC validation.
+ */
+#define DNS_WANT_DNSSEC_VALIDATION(rflags) ((rflags) & RES_USE_DNSSEC)
+
+ /*
+ * lflags.
*/
#define DNS_REQ_FLAG_STOP_OK (1<<0)
#define DNS_REQ_FLAG_STOP_INVAL (1<<1)
@@ -309,6 +314,18 @@
*/
const char *dns_str_resflags(unsigned long);
+ /*
+ * dns_sec.c.
+ */
+#define DNS_SEC_FLAG_AVAILABLE (1<<0) /* got some DNSSEC validated reply */
+#define DNS_SEC_FLAG_DONT_PROBE (1<<1) /* probe already sent, or disabled */
+
+#define DNS_SEC_STATS_SET(flags) (dns_sec_stats |= (flags))
+#define DNS_SEC_STATS_TEST(flags) (dns_sec_stats & (flags))
+
+extern int dns_sec_stats; /* See DNS_SEC_FLAG_XXX above */
+extern void dns_sec_probe(int);
+
/* LICENSE
/* .ad
/* .fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/src/dns/dns_lookup.c new/postfix-3.5.9/src/dns/dns_lookup.c
--- old/postfix-3.5.8/src/dns/dns_lookup.c 2020-04-16 19:07:58.000000000 +0200
+++ new/postfix-3.5.9/src/dns/dns_lookup.c 2021-01-16 17:24:08.000000000 +0100
@@ -171,6 +171,12 @@
/* Pointer to storage for the reply RCODE value. This gives
/* more detailed information than DNS_FAIL, DNS_RETRY, etc.
/* DIAGNOSTICS
+/* If DNSSEC validation is requested but the response is not
+/* DNSSEC validated, dns_lookup() will send a one-time probe
+/* query as configured with the \fBdnssec_probe\fR configuration
+/* parameter, and will log a warning when the probe response
+/* was not DNSSEC validated.
+/* .PP
/* dns_lookup() returns one of the following codes and sets the
/* \fIwhy\fR argument accordingly:
/* .IP DNS_OK
@@ -463,7 +469,7 @@
*/
#define XTRA_FLAGS (RES_USE_EDNS0 | RES_TRUSTAD)
- if (flags & RES_USE_DNSSEC)
+ if (DNS_WANT_DNSSEC_VALIDATION(flags))
flags |= (RES_USE_EDNS0 | RES_TRUSTAD);
/*
@@ -510,6 +516,8 @@
_res.options |= saved_options;
reply_header = (HEADER *) reply->buf;
reply->rcode = reply_header->rcode;
+ if ((reply->dnssec_ad = !!reply_header->ad) != 0)
+ DNS_SEC_STATS_SET(DNS_SEC_FLAG_AVAILABLE);
if (h_errno != 0) {
if (why)
vstring_sprintf(why, "Host or domain name not found. "
@@ -561,13 +569,8 @@
/*
* Initialize the reply structure. Some structure members are filled on
- * the fly while the reply is being parsed. Coerce AD bit to boolean.
+ * the fly while the reply is being parsed.
*/
-#if RES_USE_DNSSEC != 0
- reply->dnssec_ad = (flags & RES_USE_DNSSEC) ? !!reply_header->ad : 0;
-#else
- reply->dnssec_ad = 0;
-#endif
SET_HAVE_DNS_REPLY_PACKET(reply, len);
reply->query_start = reply->buf + sizeof(HEADER);
reply->answer_start = 0;
@@ -885,7 +888,9 @@
CORRUPT(DNS_RETRY);
if ((status = dns_get_fixed(pos, &fixed)) != DNS_OK)
CORRUPT(status);
- if (!valid_rr_name(rr_name, "resource name", fixed.type, reply))
+ if (strcmp(orig_name, ".") == 0 && *rr_name == 0)
+ /* Allow empty response name for root queries. */ ;
+ else if (!valid_rr_name(rr_name, "resource name", fixed.type, reply))
CORRUPT(DNS_INVAL);
if (fqdn)
vstring_strcpy(fqdn, rr_name);
@@ -973,7 +978,7 @@
/*
* The Linux resolver misbehaves when given an invalid domain name.
*/
- if (!valid_hostname(name, DONT_GRIPE)) {
+ if (strcmp(name, ".") && !valid_hostname(name, DONT_GRIPE)) {
if (why)
vstring_sprintf(why,
"Name service error for %s: invalid host or domain name",
@@ -1010,6 +1015,10 @@
(void) dns_get_answer(orig_name, &reply, T_SOA, rrlist, fqdn,
cname, c_len, &maybe_secure);
}
+ if (DNS_WANT_DNSSEC_VALIDATION(flags)
+ && !DNS_SEC_STATS_TEST(DNS_SEC_FLAG_AVAILABLE | \
+ DNS_SEC_FLAG_DONT_PROBE))
+ dns_sec_probe(flags); /* XXX Clobbers 'reply' */
return (status);
}
@@ -1019,6 +1028,10 @@
*/
status = dns_get_answer(orig_name, &reply, type, rrlist, fqdn,
cname, c_len, &maybe_secure);
+ if (DNS_WANT_DNSSEC_VALIDATION(flags)
+ && !DNS_SEC_STATS_TEST(DNS_SEC_FLAG_AVAILABLE | \
+ DNS_SEC_FLAG_DONT_PROBE))
+ dns_sec_probe(flags); /* XXX Clobbers 'reply' */
switch (status) {
default:
if (why)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/src/dns/dns_sec.c new/postfix-3.5.9/src/dns/dns_sec.c
--- old/postfix-3.5.8/src/dns/dns_sec.c 1970-01-01 01:00:00.000000000 +0100
+++ new/postfix-3.5.9/src/dns/dns_sec.c 2021-01-12 00:32:06.000000000 +0100
@@ -0,0 +1,144 @@
+/*++
+/* NAME
+/* dns_sec 3
+/* SUMMARY
+/* DNSSEC validation availability
+/* SYNOPSIS
+/* #include <dns.h>
+/*
+/* DNS_SEC_STATS_SET(
+/* int flags)
+/*
+/* DNS_SEC_STATS_TEST(
+/* int flags)
+/*
+/* void dns_sec_probe(
+/* int rflags)
+/* DESCRIPTION
+/* This module maintains information about the availability of
+/* DNSSEC validation, in global flags that summarize
+/* process-lifetime history.
+/* .IP DNS_SEC_FLAG_AVAILABLE
+/* The process has received at least one DNSSEC validated
+/* response to a query that requested DNSSEC validation.
+/* .IP DNS_SEC_FLAG_DONT_PROBE
+/* The process has sent a DNSSEC probe (see below), or DNSSEC
+/* probing is disabled by configuration.
+/* .PP
+/* DNS_SEC_STATS_SET() sets one or more DNS_SEC_FLAG_* flags,
+/* and DNS_SEC_STATS_TEST() returns non-zero if any of the
+/* specified flags is set.
+/*
+/* dns_sec_probe() generates a query to the target specified
+/* with the \fBdnssec_probe\fR configuration parameter. It
+/* sets the DNS_SEC_FLAG_DONT_PROBE flag, and it calls
+/* dns_lookup() which sets DNS_SEC_FLAG_AVAILABLE if it receives
+/* a DNSSEC validated response. Preconditions:
+/* .IP \(bu
+/* The rflags argument must request DNSSEC validation (in the
+/* same manner as dns_lookup() rflags argument).
+/* .IP \(bu
+/* The DNS_SEC_FLAG_AVAILABLE and DNS_SEC_FLAG_DONT_PROBE
+/* flags must be false.
+/* LICENSE
+/* .ad
+/* .fi
+/* The Secure Mailer license must be distributed with this software.
+/* AUTHOR(S)
+/* Wietse Venema
+/* Google, Inc.
+/* 111 8th Avenue
+/* New York, NY 10011, USA
+/*--*/
+
+#include <sys_defs.h>
+
+ /*
+ * Utility library.
+ */
+#include <msg.h>
+#include <mymalloc.h>
+#include <split_at.h>
+#include <vstring.h>
+
+ /*
+ * Global library.
+ */
+#include <mail_params.h>
+
+ /*
+ * DNS library.
+ */
+#include <dns.h>
+
+int dns_sec_stats;
+
+/* dns_sec_probe - send a probe to establish DNSSEC viability */
+
+void dns_sec_probe(int rflags)
+{
+ const char myname[] = "dns_sec_probe";
+ char *saved_dnssec_probe;
+ char *qname;
+ int qtype;
+ DNS_RR *rrlist = 0;
+ int dns_status;
+ VSTRING *why;
+
+ /*
+ * Sanity checks.
+ */
+ if (!DNS_WANT_DNSSEC_VALIDATION(rflags))
+ msg_panic("%s: DNSSEC is not requested", myname);
+ if (DNS_SEC_STATS_TEST(DNS_SEC_FLAG_DONT_PROBE))
+ msg_panic("%s: DNSSEC probe was already sent, or probing is disabled",
+ myname);
+ if (DNS_SEC_STATS_TEST(DNS_SEC_FLAG_AVAILABLE))
+ msg_panic("%s: already have validated DNS response", myname);
+
+ /*
+ * Don't recurse.
+ */
+ DNS_SEC_STATS_SET(DNS_SEC_FLAG_DONT_PROBE);
+
+ /*
+ * Don't probe.
+ */
+ if (*var_dnssec_probe == 0)
+ return;
+
+ /*
+ * Parse the probe spec. Format is type:resource.
+ */
+ saved_dnssec_probe = mystrdup(var_dnssec_probe);
+ if ((qname = split_at(saved_dnssec_probe, ':')) == 0 || *qname == 0
+ || (qtype = dns_type(saved_dnssec_probe)) == 0)
+ msg_fatal("malformed %s value: %s format is qtype:qname",
+ VAR_DNSSEC_PROBE, var_dnssec_probe);
+
+ why = vstring_alloc(100);
+ dns_status = dns_lookup(qname, qtype, rflags, &rrlist, (VSTRING *) 0, why);
+ if (!DNS_SEC_STATS_TEST(DNS_SEC_FLAG_AVAILABLE))
+ msg_warn("DNSSEC validation may be unavailable");
+ else if (msg_verbose)
+ msg_info(VAR_DNSSEC_PROBE
+ " '%s' received a response that is DNSSEC validated",
+ var_dnssec_probe);
+ switch (dns_status) {
+ default:
+ if (!DNS_SEC_STATS_TEST(DNS_SEC_FLAG_AVAILABLE))
+ msg_warn("reason: " VAR_DNSSEC_PROBE
+ " '%s' received a response that is not DNSSEC validated",
+ var_dnssec_probe);
+ if (rrlist)
+ dns_rr_free(rrlist);
+ break;
+ case DNS_RETRY:
+ case DNS_FAIL:
+ msg_warn("reason: " VAR_DNSSEC_PROBE " '%s' received no response: %s",
+ var_dnssec_probe, vstring_str(why));
+ break;
+ }
+ myfree(saved_dnssec_probe);
+ vstring_free(why);
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/src/dns/test_dns_lookup.c new/postfix-3.5.9/src/dns/test_dns_lookup.c
--- old/postfix-3.5.8/src/dns/test_dns_lookup.c 2016-02-22 00:06:59.000000000 +0100
+++ new/postfix-3.5.9/src/dns/test_dns_lookup.c 2021-01-16 17:24:08.000000000 +0100
@@ -77,6 +77,9 @@
int ch;
int lflags = DNS_REQ_FLAG_NONE;
+ if (var_dnssec_probe == 0)
+ var_dnssec_probe = mystrdup(DEF_DNSSEC_PROBE);
+
msg_vstream_init(argv[0], VSTREAM_ERR);
while ((ch = GETOPT(argc, argv, "f:npv")) > 0) {
switch (ch) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/src/global/mail_params.c new/postfix-3.5.9/src/global/mail_params.c
--- old/postfix-3.5.8/src/global/mail_params.c 2020-05-13 01:32:37.000000000 +0200
+++ new/postfix-3.5.9/src/global/mail_params.c 2021-01-16 16:51:12.000000000 +0100
@@ -152,6 +152,8 @@
/* char *var_maillog_file_comp;
/* char *var_maillog_file_stamp;
/* char *var_postlog_service;
+/*
+/* char *var_dnssec_probe;
/* DESCRIPTION
/* This module (actually the associated include file) defines
/* the names and defaults of all mail configuration parameters.
@@ -362,6 +364,8 @@
char *var_maillog_file_stamp;
char *var_postlog_service;
+char *var_dnssec_probe;
+
const char null_format_string[1] = "";
/*
@@ -689,6 +693,7 @@
VAR_MAILLOG_FILE_COMP, DEF_MAILLOG_FILE_COMP, &var_maillog_file_comp, 1, 0,
VAR_MAILLOG_FILE_STAMP, DEF_MAILLOG_FILE_STAMP, &var_maillog_file_stamp, 1, 0,
VAR_POSTLOG_SERVICE, DEF_POSTLOG_SERVICE, &var_postlog_service, 1, 0,
+ VAR_DNSSEC_PROBE, DEF_DNSSEC_PROBE, &var_dnssec_probe, 0, 0,
0,
};
static const CONFIG_BOOL_TABLE first_bool_defaults[] = {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/src/global/mail_params.h new/postfix-3.5.9/src/global/mail_params.h
--- old/postfix-3.5.8/src/global/mail_params.h 2020-05-09 17:51:27.000000000 +0200
+++ new/postfix-3.5.9/src/global/mail_params.h 2021-01-17 14:11:47.000000000 +0100
@@ -1617,7 +1617,7 @@
/* SMTP only */
#define VAR_SMTP_TLS_INSECURE_MX_POLICY "smtp_tls_dane_insecure_mx_policy"
-#define DEF_SMTP_TLS_INSECURE_MX_POLICY "dane"
+#define DEF_SMTP_TLS_INSECURE_MX_POLICY "${{$smtp_tls_security_level} == {dane} ? {dane} : {may}}"
extern char *var_smtp_tls_insecure_mx_policy;
/*
@@ -4202,6 +4202,13 @@
#define DEF_INFO_LOG_ADDR_FORM INFO_LOG_ADDR_FORM_NAME_EXTERNAL
extern char *var_info_log_addr_form;
+ /*
+ * DNSSEC probing, to find out if DNSSEC validation is available.
+ */
+#define VAR_DNSSEC_PROBE "dnssec_probe"
+#define DEF_DNSSEC_PROBE "ns:."
+extern char *var_dnssec_probe;
+
/* LICENSE
/* .ad
/* .fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/src/global/mail_version.h new/postfix-3.5.9/src/global/mail_version.h
--- old/postfix-3.5.8/src/global/mail_version.h 2020-11-07 22:27:54.000000000 +0100
+++ new/postfix-3.5.9/src/global/mail_version.h 2021-01-17 16:23:45.000000000 +0100
@@ -20,8 +20,8 @@
* Patches change both the patchlevel and the release date. Snapshots have no
* patchlevel; they change the release date only.
*/
-#define MAIL_RELEASE_DATE "20201107"
-#define MAIL_VERSION_NUMBER "3.5.8"
+#define MAIL_RELEASE_DATE "20210117"
+#define MAIL_VERSION_NUMBER "3.5.9"
#ifdef SNAPSHOT
#define MAIL_VERSION_DATE "-" MAIL_RELEASE_DATE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-3.5.8/src/smtp/smtp.c new/postfix-3.5.9/src/smtp/smtp.c
--- old/postfix-3.5.8/src/smtp/smtp.c 2020-03-08 15:53:22.000000000 +0100
+++ new/postfix-3.5.9/src/smtp/smtp.c 2021-01-16 17:30:07.000000000 +0100
@@ -330,6 +330,12 @@
/* .IP "\fBinfo_log_address_format (external)\fR"
/* The email address form that will be used in non-debug logging
/* (info, warning, etc.).
+/* .PP
+/* Available in Postfix 3.5.9 and later:
+/* .IP "\fBdnssec_probe (ns:.)\fR"
+/* The DNS query type (default: "ns") and DNS query name (default:
+/* ".") that Postfix may use to determine whether DNSSEC validation
+/* is available.
/* MIME PROCESSING CONTROLS
/* .ad
/* .fi
++++++ postfix-SUSE.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-SUSE/config.postfix new/postfix-SUSE/config.postfix
--- old/postfix-SUSE/config.postfix 2019-08-09 16:49:41.000000000 +0200
+++ new/postfix-SUSE/config.postfix 2021-01-27 16:11:35.035521646 +0100
@@ -12,7 +12,7 @@
if [ -d /run ]; then
export RUN="/run"
fi
-
+DEF_DB_TYPE=$(/usr/sbin/postconf -h default_database_type)
cpifnewer(){
# remove files, that do no longer exist
if [ -d $2 -a "$(echo $2/*)" != "$2/*" ]; then
@@ -266,16 +266,16 @@
# Some default settings, that seem to be useable, at least to me
$PCONF -e "mail_spool_directory = /var/mail"
- $PCONF -e "canonical_maps = hash:/etc/postfix/canonical"
+ $PCONF -e "canonical_maps = $DEF_DB_TYPE:/etc/postfix/canonical"
# virtual_alias_domains (default: $virtual_alias_maps)
- #$PCONF -e "virtual_alias_domains = hash:/etc/postfix/virtual"
- $PCONF -e "relocated_maps = hash:/etc/postfix/relocated"
+ #$PCONF -e "virtual_alias_domains = $DEF_DB_TYPE:/etc/postfix/virtual"
+ $PCONF -e "relocated_maps = $DEF_DB_TYPE:/etc/postfix/relocated"
if [ "$(echo "$POSTFIX_TRANSPORT_MAPS" | tr 'A-Z' 'a-z' )" != "" ]; then
$PCONF -e "transport_maps = $POSTFIX_TRANSPORT_MAPS"
else
- $PCONF -e "transport_maps = hash:/etc/postfix/transport"
+ $PCONF -e "transport_maps = $DEF_DB_TYPE:/etc/postfix/transport"
fi
- $PCONF -e "sender_canonical_maps = hash:/etc/postfix/sender_canonical"
+ $PCONF -e "sender_canonical_maps = $DEF_DB_TYPE:/etc/postfix/sender_canonical"
$PCONF -e "masquerade_exceptions = root"
$PCONF -e "masquerade_classes = envelope_sender, header_sender, header_recipient"
if [ -n "${FQHOSTNAME}" ]; then
@@ -428,7 +428,7 @@
case "$POSTFIX_BASIC_SPAM_PREVENTION" in
medium)
echo 1>&2 "Setting up medium SPAM protection..."
- $PCONF -e "smtpd_sender_restrictions = hash:/etc/postfix/access, reject_unknown_sender_domain"
+ $PCONF -e "smtpd_sender_restrictions = $DEF_DB_TYPE:/etc/postfix/access, reject_unknown_sender_domain"
if test -n "$POSTFIX_RBL_HOSTS"; then
rblhosts=$(echo ${POSTFIX_RBL_HOSTS//,/ })
clnt_restrictions=""
@@ -450,7 +450,7 @@
;;
hard)
echo 1>&2 "Setting up hard SPAM protection..."
- $PCONF -e "smtpd_sender_restrictions = hash:/etc/postfix/access, reject_unknown_sender_domain"
+ $PCONF -e "smtpd_sender_restrictions = $DEF_DB_TYPE:/etc/postfix/access, reject_unknown_sender_domain"
if test -n "$POSTFIX_RBL_HOSTS"; then
rblhosts=$(echo ${POSTFIX_RBL_HOSTS//,/ })
clnt_restrictions=""
@@ -506,7 +506,7 @@
sender_restrictions=$(echo ${POSTFIX_SMTPD_SENDER_RESTRICTIONS/\ \+/,/ })
$PCONF -e "smtpd_sender_restrictions = $sender_restrictions"
else
- $PCONF -e "smtpd_sender_restrictions = hash:/etc/postfix/access, reject_unknown_sender_domain"
+ $PCONF -e "smtpd_sender_restrictions = $DEF_DB_TYPE:/etc/postfix/access, reject_unknown_sender_domain"
fi
if [ -n "$POSTFIX_SMTPD_RECIPIENT_RESTRICTIONS" ]; then
rcpt_restrictions=$(echo ${POSTFIX_SMTPD_RECIPIENT_RESTRICTIONS/\ \+/,/ })
@@ -524,7 +524,7 @@
using \"off\" instead!"
fi
echo 1>&2 "Setting SPAM protection to \"off\"..."
- $PCONF -e "smtpd_sender_restrictions = hash:/etc/postfix/access"
+ $PCONF -e "smtpd_sender_restrictions = $DEF_DB_TYPE:/etc/postfix/access"
$PCONF -e "smtpd_client_restrictions ="
$PCONF -e "smtpd_helo_required = no"
$PCONF -e "smtpd_helo_restrictions ="
@@ -536,7 +536,7 @@
if [ "$( echo "$POSTFIX_SMTP_AUTH" | tr 'A-Z' 'a-z' )" != "no" ]; then
$PCONF -e "smtp_sasl_auth_enable = yes"
$PCONF -e "smtp_sasl_security_options = $POSTFIX_SMTP_AUTH_OPTIONS"
- $PCONF -e "smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd"
+ $PCONF -e "smtp_sasl_password_maps = $DEF_DB_TYPE:/etc/postfix/sasl_passwd"
else
$PCONF -e "smtp_sasl_auth_enable = no"
$PCONF -e "smtp_sasl_security_options = "
@@ -627,7 +627,7 @@
else
$PCONF -e "smtpd_tls_key_file ="
fi
- $PCONF -e "relay_clientcerts = hash:/etc/postfix/relay_ccerts"
+ $PCONF -e "relay_clientcerts = $DEF_DB_TYPE:/etc/postfix/relay_ccerts"
$PCONF -e "smtpd_tls_ask_ccert = yes"
$PCONF -e "smtpd_tls_received_header = yes"
touch -m -d "1 minute ago" $TMPDIR/main.cf
@@ -681,7 +681,11 @@
else
$PCONF -e "smtp_tls_key_file ="
fi
- $PCONF -e "smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache"
+ if [ $DEF_DB_TYPE = "hash" ]; then
+ $PCONF -e "smtp_tls_session_cache_database = btree:/var/lib/postfix/smtp_tls_session_cache"
+ else
+ $PCONF -e "smtp_tls_session_cache_database = $DEF_DB_TYPE:/var/lib/postfix/smtp_tls_session_cache"
+ fi
else
$PCONF -e "smtp_tls_CAfile ="
$PCONF -e "smtp_tls_CApath ="
@@ -690,9 +694,9 @@
$PCONF -e "smtp_tls_session_cache_database ="
fi
- ALLMAPS="hash:/etc/aliases"
+ ALLMAPS="$DEF_DB_TYPE:/etc/aliases"
for i in $(get_alias_maps); do
- ALLMAPS="${ALLMAPS}, hash:$i"
+ ALLMAPS="${ALLMAPS}, $DEF_DB_TYPE:$i"
done
$PCONF -e "alias_maps = $ALLMAPS"
@@ -730,6 +734,8 @@
my $pf_relay_domains = $ENV{POSTFIX_RELAY_DOMAINS};
+my $def_db_type = $ENV{DEF_DB_TYPE};
+
open(MNCF,"<$mncf") || die "unable to open $mncf: $!";
while( <MNCF> ) {
@@ -737,13 +743,13 @@
if( /\#?(virtual_alias_maps\s=\s).*/ ) {
if ($with_mysql ne "yes" && $with_ldap ne "yes") {
- $line = $1."hash:/etc/postfix/virtual";
+ $line = $1."$def_db_type:/etc/postfix/virtual";
} elsif ($with_ldap eq "yes" && $with_mysql ne "yes") {
- $line = $1."hash:/etc/postfix/virtual ldap:/etc/postfix/ldap_aliases.cf";
+ $line = $1."$def_db_type:/etc/postfix/virtual ldap:/etc/postfix/ldap_aliases.cf";
} elsif ($with_mysql eq "yes" && $with_ldap ne "yes") {
- $line = $1."hash:/etc/postfix/virtual mysql:/etc/postfix/mysql_virtual_alias_maps.cf mysql:/etc/postfix/mysql_virtual_alias_domain_maps.cf mysql:/etc/postfix/mysql_virtual_alias_domain_catchall_maps.cf";
+ $line = $1."$def_db_type:/etc/postfix/virtual mysql:/etc/postfix/mysql_virtual_alias_maps.cf mysql:/etc/postfix/mysql_virtual_alias_domain_maps.cf mysql:/etc/postfix/mysql_virtual_alias_domain_catchall_maps.cf";
} elsif ($with_mysql eq "yes" && $with_ldap eq "yes") {
- $line = $1."hash:/etc/postfix/virtual ldap:/etc/postfix/ldap_aliases.cf mysql:/etc/postfix/mysql_virtual_alias_maps.cf mysql:/etc/postfix/mysql_virtual_alias_domain_maps.cf mysql:/etc/postfix/mysql_virtual_alias_domain_catchall_maps.cf";
+ $line = $1."$def_db_type:/etc/postfix/virtual ldap:/etc/postfix/ldap_aliases.cf mysql:/etc/postfix/mysql_virtual_alias_maps.cf mysql:/etc/postfix/mysql_virtual_alias_domain_maps.cf mysql:/etc/postfix/mysql_virtual_alias_domain_catchall_maps.cf";
}
} elsif( /\#?(virtual_uid_maps\s=.*)/ ) {
if ($with_mysql ne "yes") {
@@ -819,9 +825,9 @@
}
} elsif ( /^(relay_domains\s=\s).*/ ) {
if ($with_mysql ne "yes") {
- $line = $1."\$mydestination hash:/etc/postfix/relay $pf_relay_domains";
+ $line = $1."\$mydestination $def_db_type:/etc/postfix/relay $pf_relay_domains";
} else {
- $line = $1."\$mydestination hash:/etc/postfix/relay mysql:/etc/postfix/mysql_relay_domains_maps.cf $pf_relay_domains";
+ $line = $1."\$mydestination $def_db_type:/etc/postfix/relay mysql:/etc/postfix/mysql_relay_domains_maps.cf $pf_relay_domains";
}
} else {
$line = $_;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-SUSE/sysconfig.postfix new/postfix-SUSE/sysconfig.postfix
--- old/postfix-SUSE/sysconfig.postfix 2019-03-25 18:13:09.000000000 +0100
+++ new/postfix-SUSE/sysconfig.postfix 2021-01-27 16:11:35.035521646 +0100
@@ -186,15 +186,15 @@
## Type: string
## Default: ""
# Defaults by config.postfix:
-# without MySQL: $mydestination hash:/etc/postfix/relay
-# with MySQL: $mydestination hash:/etc/postfix/relay mysql:/etc/postfix/mysql_relay_domains_maps.cf
+# without MySQL: $mydestination lmdb:/etc/postfix/relay
+# with MySQL: $mydestination lmdb:/etc/postfix/relay mysql:/etc/postfix/mysql_relay_domains_maps.cf
#
# Here you can add further *maps.cf files if needed
#
POSTFIX_RELAY_DOMAINS=""
## Type: string
-## Default: hash:/etc/postfix/transport
+## Default: lmdb:/etc/postfix/transport
#
# The list of transport_maps postfix should look for
#
@@ -251,9 +251,9 @@
#
# Example:
# POSTFIX_SMTPD_CLIENT_RESTRICTIONS="permit_mynetworks,
-# check_client_access hash:/etc/postfix/pop-before-smtp,
-# check_client_access hash:/etc/postfix/relay,
-# check_client_access hash:/etc/postfix/access,
+# check_client_access lmdb:/etc/postfix/pop-before-smtp,
+# check_client_access lmdb:/etc/postfix/relay,
+# check_client_access lmdb:/etc/postfix/access,
# reject_unknown_client_hostname,
# reject_unauth_pipelining"
#
@@ -272,7 +272,7 @@
#
# Example:
# POSTFIX_SMTPD_HELO_RESTRICTIONS="permit_mynetworks,
-# check_helo_access hash:/etc/postfix/helo_access,
+# check_helo_access lmdb:/etc/postfix/helo_access,
# reject_invalid_helo_hostname,
# reject_non_fqdn_helo_hostname,
# reject_unknown_helo_hostname,
@@ -281,20 +281,20 @@
POSTFIX_SMTPD_HELO_RESTRICTIONS=""
## Type: string
-## Default: "hash:/etc/postfix/access, reject_unknown_sender_domain"
+## Default: "lmdb:/etc/postfix/access, reject_unknown_sender_domain"
## Config: postfix
#
# Fill "POSTFIX_SMTPD_SENDER_RESTRICTIONS" for completion of this RESTRICTION
#
# A comma or space separated list of restrictions
# Note: if set to ...
-# medium: "hash:/etc/postfix/access, reject_unknown_sender_domain"
-# hard : "hash:/etc/postfix/access, reject_unknown_sender_domain"
+# medium: "lmdb:/etc/postfix/access, reject_unknown_sender_domain"
+# hard : "lmdb:/etc/postfix/access, reject_unknown_sender_domain"
#
# Example:
# POSTFIX_SMTPD_SENDER_RESTRICTIONS="
-# check_sender_access hash:/etc/postfix/access,
-# check_sender_a_access hash:/etc/postfix/access,
+# check_sender_access lmdb:/etc/postfix/access,
+# check_sender_a_access lmdb:/etc/postfix/access,
# reject_non_fqdn_sender,
# reject_unknown_sender_domain,
# reject_unauth_pipelining"
@@ -314,7 +314,7 @@
#
# Example:
# POSTFIX_SMTPD_RECIPIENT_RESTRICTIONS="permit_mynetworks,
-# check_recipient_access hash:/etc/postfix/access,
+# check_recipient_access lmdb:/etc/postfix/access,
# reject_non_fqdn_recipient,
# reject_unauth_destination,
# reject_unknown_recipient_domain,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/postfix-SUSE/update_postmaps.systemd new/postfix-SUSE/update_postmaps.systemd
--- old/postfix-SUSE/update_postmaps.systemd 2017-07-27 12:40:51.000000000 +0200
+++ new/postfix-SUSE/update_postmaps.systemd 2020-12-25 11:57:50.000000000 +0100
@@ -4,7 +4,7 @@
# Author: Peter Varkoly
# Please send feedback to http://www.suse.de/feedback/
#
-# /etc/postfix/system/update_postmaps
+# /usr/lib/postfix/systemd/update_postmaps
#
@@ -13,22 +13,34 @@
if [ -n "${POSTFIX_UPDATE_MAPS/[yY][Ee][Ss]/}" ]; then
return
fi
+# find extension based on default database type
+case $(postconf default_database_type) in
+ *hash)
+ e="db"
+ ;;
+ *lmdb)
+ e="lmdb"
+ ;;
+ *)
+ # not supported
+ return
+ ;;
+esac
# Update the postmaps
for i in $POSTFIX_MAP_LIST; do
p=${i#*:}
[ x$p = x$i ] && p=644
m=/etc/postfix/${i%:*};
- d=$m.db
+ d=$m.$e
if [ -e $m -a $m -nt $d ]; then
postmap $m;
fi
chmod $p $d
done
for i in /etc/aliases /etc/aliases.d/*; do
- m=${i/.db//}
- d=$m.db
+ m=${i%.$e}
+ d=$m.$e
if [ -e $m -a $m -nt $d ]; then
postalias $m;
fi
done
-
++++++ postfix-bdb-main.cf.patch ++++++
Index: conf/main.cf
===================================================================
--- conf/main.cf.orig
+++ conf/main.cf
@@ -567,6 +567,7 @@ unknown_local_recipient_reject_code = 55
#
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
+smtpd_banner = $myhostname ESMTP
# PARALLEL DELIVERY TO THE SAME DESTINATION
#
@@ -673,4 +674,140 @@ sample_directory =
# readme_directory: The location of the Postfix README files.
#
readme_directory =
+
+############################################################
+#
+# before changing values manually consider editing
+# /etc/sysconfig/postfix
+# and run
+# config.postfix
+#
+# if you miss a feature of config.postfix then just send a
+# mail to chris(a)computersalat.de
+# patches for new feature(s) are also welcome :)
+#
+############################################################
+
+biff = no
+content_filter =
+delay_warning_time = 0h
+disable_dns_lookups = no
+disable_mime_output_conversion = no
+disable_vrfy_command = yes
+inet_interfaces = all
inet_protocols = ipv4
+masquerade_classes = envelope_sender, header_sender, header_recipient
+masquerade_domains =
+masquerade_exceptions =
+mydestination = $myhostname, localhost.$mydomain
+myhostname = localhost
+mynetworks_style = subnet
+relayhost =
+
+alias_maps =
+canonical_maps =
+relocated_maps =
+sender_canonical_maps =
+transport_maps =
+mail_spool_directory = /var/mail
+message_strip_characters =
+defer_transports =
+mailbox_command =
+mailbox_transport =
+mailbox_size_limit = 0
+message_size_limit = 0
+strict_8bitmime = no
+strict_rfc821_envelopes = no
+smtpd_delay_reject = yes
+smtpd_helo_required = no
+
+smtpd_client_restrictions =
+
+smtpd_helo_restrictions =
+
+smtpd_sender_restrictions =
+
+smtpd_recipient_restrictions =
+
+
+############################################################
+# SASL stuff
+############################################################
+smtp_sasl_auth_enable = no
+smtp_sasl_security_options =
+smtp_sasl_password_maps =
+smtpd_sasl_auth_enable = no
+# cyrus : smtpd_sasl_type = cyrus
+# smtpd_sasl_path = smtpd
+# dovecot : smtpd_sasl_type = dovecot
+# smtpd_sasl_path = private/auth
+smtpd_sasl_type = cyrus
+smtpd_sasl_path = smtpd
+############################################################
+# TLS stuff
+############################################################
+#tls_append_default_CA = no
+relay_clientcerts =
+#tls_random_source = dev:/dev/urandom
+
+smtp_use_tls = no
+#smtp_tls_loglevel = 0
+smtp_enforce_tls = no
+smtp_tls_CAfile =
+smtp_tls_CApath =
+smtp_tls_cert_file =
+smtp_tls_key_file =
+#smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
+#smtp_tls_session_cache_timeout = 3600s
+smtp_tls_session_cache_database =
+
+smtpd_use_tls = no
+#smtpd_tls_loglevel = 0
+smtpd_tls_CAfile =
+smtpd_tls_CApath =
+smtpd_tls_cert_file =
+smtpd_tls_key_file =
+smtpd_tls_ask_ccert = no
+smtpd_tls_exclude_ciphers = RC4
+smtpd_tls_received_header = no
+############################################################
+# Start MySQL from postfixwiki.org
+############################################################
+relay_domains = $mydestination, hash:/etc/postfix/relay
+#virtual_alias_domains =
+#virtual_alias_maps = hash:/etc/postfix/virtual
+#virtual_uid_maps = static:303
+#virtual_gid_maps = static:303
+#virtual_minimum_uid = 303
+#virtual_mailbox_base = /srv/maildirs
+#virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
+#virtual_mailbox_limit = 0
+#virtual_mailbox_limit_inbox = no
+#virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
+## For dovecot LMTP replace 'virtual' with 'lmtp:unix:private/dovecot-lmtp'
+#virtual_transport = virtual
+## Additional for quota support
+#virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
+#virtual_mailbox_limit_override = yes
+### Needs Maildir++ compatible IMAP servers, like Courier-IMAP
+#virtual_maildir_filter = yes
+#virtual_maildir_filter_maps = hash:/etc/postfix/vfilter
+#virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
+#virtual_maildir_limit_message_maps = hash:/etc/postfix/vmsg
+#virtual_overquota_bounce = yes
+#virtual_trash_count = yes
+#virtual_trash_name = ".Trash"
+############################################################
+# End MySQL from postfixwiki.org
+############################################################
+# Rewrite reject codes
+############################################################
+#unknown_address_reject_code = 550
+#unknown_client_reject_code = 550
+#unknown_hostname_reject_code = 550
+#unverified_recipient_reject_code = 550
+#soft_bounce = yes
+############################################################
+#debug_peer_list = example.com
+#debug_peer_level = 3
+
++++++ postfix-main.cf.patch ++++++
--- /var/tmp/diff_new_pack.E1P2gB/_old 2021-02-01 13:25:47.965878535 +0100
+++ /var/tmp/diff_new_pack.E1P2gB/_new 2021-02-01 13:25:47.969878541 +0100
@@ -1,8 +1,46 @@
-Index: conf/main.cf
-===================================================================
---- conf/main.cf.orig
-+++ conf/main.cf
-@@ -567,6 +567,7 @@ unknown_local_recipient_reject_code = 55
+--- conf/main.cf-orig 2020-11-26 19:22:10.273349060 +0100
++++ conf/main.cf 2020-11-26 19:22:57.917974110 +0100
+@@ -278,7 +278,7 @@
+ #
+ #mynetworks = 168.100.189.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_recipient_restrictions description in
+@@ -343,7 +343,7 @@
+ # In the left-hand side, specify an @domain.tld wild-card, or specify
+ # a user(a)domain.tld address.
+ #
+-#relay_recipient_maps = hash:/etc/postfix/relay_recipients
++#relay_recipient_maps = lmdb:/etc/postfix/relay_recipients
+
+ # INPUT RATE CONTROL
+ #
+@@ -398,8 +398,8 @@
+ # "postfix reload" to eliminate the delay.
+ #
+ #alias_maps = dbm:/etc/aliases
+-#alias_maps = hash:/etc/aliases
+-#alias_maps = hash:/etc/aliases, nis:mail.aliases
++#alias_maps = lmdb:/etc/aliases
++#alias_maps = lmdb:/etc/aliases, nis:mail.aliases
+ #alias_maps = netinfo:/aliases
+
+ # The alias_database parameter specifies the alias database(s) that
+@@ -409,8 +409,8 @@
+ #
+ #alias_database = dbm:/etc/aliases
+ #alias_database = dbm:/etc/mail/aliases
+-#alias_database = hash:/etc/aliases
+-#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases
++#alias_database = lmdb:/etc/aliases
++#alias_database = lmdb:/etc/aliases, lmdb:/opt/majordomo/aliases
+
+ # ADDRESS EXTENSIONS (e.g., user+foo)
+ #
+@@ -567,6 +567,7 @@
#
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
@@ -10,7 +48,7 @@
# PARALLEL DELIVERY TO THE SAME DESTINATION
#
-@@ -673,4 +674,140 @@ sample_directory =
+@@ -673,4 +674,140 @@
# readme_directory: The location of the Postfix README files.
#
readme_directory =
@@ -97,7 +135,7 @@
+smtp_tls_CApath =
+smtp_tls_cert_file =
+smtp_tls_key_file =
-+#smtp_tls_policy_maps = hash:/etc/postfix/tls_policy
++#smtp_tls_policy_maps = lmdb:/etc/postfix/tls_policy
+#smtp_tls_session_cache_timeout = 3600s
+smtp_tls_session_cache_database =
+
@@ -113,9 +151,9 @@
+############################################################
+# Start MySQL from postfixwiki.org
+############################################################
-+relay_domains = $mydestination, hash:/etc/postfix/relay
++relay_domains = $mydestination, lmdb:/etc/postfix/relay
+#virtual_alias_domains =
-+#virtual_alias_maps = hash:/etc/postfix/virtual
++#virtual_alias_maps = lmdb:/etc/postfix/virtual
+#virtual_uid_maps = static:303
+#virtual_gid_maps = static:303
+#virtual_minimum_uid = 303
@@ -131,9 +169,9 @@
+#virtual_mailbox_limit_override = yes
+### Needs Maildir++ compatible IMAP servers, like Courier-IMAP
+#virtual_maildir_filter = yes
-+#virtual_maildir_filter_maps = hash:/etc/postfix/vfilter
++#virtual_maildir_filter_maps = lmdb:/etc/postfix/vfilter
+#virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
-+#virtual_maildir_limit_message_maps = hash:/etc/postfix/vmsg
++#virtual_maildir_limit_message_maps = lmdb:/etc/postfix/vmsg
+#virtual_overquota_bounce = yes
+#virtual_trash_count = yes
+#virtual_trash_name = ".Trash"
++++++ pre_checkin.sh ++++++
#!/bin/bash
echo -n "Generating postfix-bdb "
cp postfix.changes postfix-bdb.changes
VERSION=$(awk '/^Version/ {print $2; exit;} {next;};' < postfix.spec)
perl -pi -e "s/^Version:.*/Version: $VERSION/" postfix-bdb.spec
echo "Done."
++++++ set-default-db-type.patch ++++++
--- src/util/sys_defs.h.orig 2021-01-04 13:12:06.272285413 +0100
+++ src/util/sys_defs.h 2021-01-04 13:12:38.412720371 +0100
@@ -51,7 +51,7 @@
#define HAS_FSYNC
#define HAS_DB
#define HAS_SA_LEN
-#define NATIVE_DB_TYPE "hash"
+#define NATIVE_DB_TYPE "lmdb"
#if (defined(__NetBSD_Version__) && __NetBSD_Version__ >= 104250000)
#define ALIAS_DB_MAP DEF_DB_TYPE ":/etc/mail/aliases" /* sendmail 8.10 */
#endif
@@ -232,7 +232,7 @@
#define HAS_FSYNC
#define HAS_DB
#define HAS_SA_LEN
-#define NATIVE_DB_TYPE "hash"
+#define NATIVE_DB_TYPE "lmdb"
#define ALIAS_DB_MAP DEF_DB_TYPE ":/etc/aliases"
#define GETTIMEOFDAY(t) gettimeofday(t,(struct timezone *) 0)
#define ROOT_PATH "/bin:/usr/bin:/sbin:/usr/sbin"
@@ -289,7 +289,7 @@
#define HAS_FSYNC
/* might be set by makedef */
#ifdef HAS_DB
-#define NATIVE_DB_TYPE "hash"
+#define NATIVE_DB_TYPE "lmdb"
#define ALIAS_DB_MAP DEF_DB_TYPE ":/etc/aliases"
#else
#define HAS_DBM
@@ -761,7 +761,7 @@
#define DEF_MAILBOX_LOCK "fcntl, dotlock" /* RedHat >= 4.x */
#define HAS_FSYNC
#define HAS_DB
-#define NATIVE_DB_TYPE "hash"
+#define NATIVE_DB_TYPE "lmdb"
#define ALIAS_DB_MAP DEF_DB_TYPE ":/etc/aliases"
#ifndef NO_NIS
#define HAS_NIS
@@ -841,7 +841,7 @@
#define DEF_MAILBOX_LOCK "dotlock" /* verified RedHat 3.03 */
#define HAS_FSYNC
#define HAS_DB
-#define NATIVE_DB_TYPE "hash"
+#define NATIVE_DB_TYPE "lmdb"
#define ALIAS_DB_MAP DEF_DB_TYPE ":/etc/aliases"
#ifndef NO_NIS
#define HAS_NIS
@@ -874,7 +874,7 @@
#define DEF_MAILBOX_LOCK "fcntl, dotlock" /* RedHat >= 4.x */
#define HAS_FSYNC
#define HAS_DB
-#define NATIVE_DB_TYPE "hash"
+#define NATIVE_DB_TYPE "lmdb"
#define ALIAS_DB_MAP DEF_DB_TYPE ":/etc/aliases"
#ifndef NO_NIS
#define HAS_NIS
@@ -1199,7 +1199,7 @@
#define INTERNAL_LOCK MYFLOCK_STYLE_FCNTL
#define DEF_MAILBOX_LOCK "fcntl, dotlock"
#define HAS_FSYNC
-#define NATIVE_DB_TYPE "hash"
+#define NATIVE_DB_TYPE "lmdb"
#define ALIAS_DB_MAP DEF_DB_TYPE ":/etc/aliases"
/* Uncomment the following line if you have NIS package installed */
/* #define HAS_NIS */
--- src/global/mail_params.h.orig 2020-05-09 17:51:27.000000000 +0200
+++ src/global/mail_params.h 2020-12-25 21:04:11.428544623 +0100
@@ -2826,7 +2826,7 @@ extern int var_vrfy_pend_limit;
extern char *var_verify_service;
#define VAR_VERIFY_MAP "address_verify_map"
-#define DEF_VERIFY_MAP "btree:$data_directory/verify_cache"
+#define DEF_VERIFY_MAP "lmdb:$data_directory/verify_cache"
extern char *var_verify_map;
#define VAR_VERIFY_POS_EXP "address_verify_positive_expire_time"
@@ -3594,7 +3594,7 @@ extern char *var_multi_cntrl_cmds;
* postscreen(8)
*/
#define VAR_PSC_CACHE_MAP "postscreen_cache_map"
-#define DEF_PSC_CACHE_MAP "btree:$data_directory/postscreen_cache"
+#define DEF_PSC_CACHE_MAP "lmdb:$data_directory/postscreen_cache"
extern char *var_psc_cache_map;
#define VAR_SMTPD_SERVICE "smtpd_service_name"
--- man/man1/postmap.1.orig 2021-01-05 10:57:44.915488687 +0100
+++ man/man1/postmap.1 2021-01-05 11:10:12.377571721 +0100
@@ -63,7 +63,7 @@
By default the lookup key is mapped to lowercase to make
the lookups case insensitive; as of Postfix 2.3 this case
folding happens only with tables whose lookup keys are
-fixed\-case strings such as btree:, dbm: or hash:. With
+fixed\-case strings such as dbm:. With
earlier versions, the lookup key is folded even with tables
where a lookup field can match both upper and lower case
text, such as regexp: and pcre:. This resulted in loss of
@@ -210,9 +210,9 @@
The \fBpostmap\fR(1) command can query any supported file type,
but it can create only the following file types:
.RS
-.IP \fBbtree\fR
-The output file is a btree file, named \fIfile_name\fB.db\fR.
-This is available on systems with support for \fBdb\fR databases.
+.IP \fBlmdb\fR
+The output file is a lmdb file, named \fIfile_name\fB.lmdb\fR.
+This is available on systems with support for \fBlmdb\fR databases.
.IP \fBcdb\fR
The output consists of one file, named \fIfile_name\fB.cdb\fR.
This is available on systems with support for \fBcdb\fR databases.
@@ -220,9 +220,6 @@
The output consists of two files, named \fIfile_name\fB.pag\fR and
\fIfile_name\fB.dir\fR.
This is available on systems with support for \fBdbm\fR databases.
-.IP \fBhash\fR
-The output file is a hashed file, named \fIfile_name\fB.db\fR.
-This is available on systems with support for \fBdb\fR databases.
.IP \fBfail\fR
A table that reliably fails all requests. The lookup table
name is used for logging only. This table exists to simplify
@@ -267,12 +264,6 @@
this program.
The text below provides only a parameter summary. See
\fBpostconf\fR(5) for more details including examples.
-.IP "\fBberkeley_db_create_buffer_size (16777216)\fR"
-The per\-table I/O buffer size for programs that create Berkeley DB
-hash or btree tables.
-.IP "\fBberkeley_db_read_buffer_size (131072)\fR"
-The per\-table I/O buffer size for programs that read Berkeley DB
-hash or btree tables.
.IP "\fBconfig_directory (see 'postconf -d' output)\fR"
The default location of the Postfix main.cf and master.cf
configuration files.
--- man/man1/postalias.1.orig 2021-01-05 10:58:04.579753235 +0100
+++ man/man1/postalias.1 2021-01-05 11:08:10.135919006 +0100
@@ -34,7 +34,7 @@
By default the lookup key is mapped to lowercase to make
the lookups case insensitive; as of Postfix 2.3 this case
folding happens only with tables whose lookup keys are
-fixed\-case strings such as btree:, dbm: or hash:. With
+fixed\-case strings such as dbm:. With
earlier versions, the lookup key is folded even with tables
where a lookup field can match both upper and lower case
text, such as regexp: and pcre:. This resulted in loss of
@@ -122,9 +122,9 @@
The \fBpostalias\fR(1) command can query any supported file type,
but it can create only the following file types:
.RS
-.IP \fBbtree\fR
-The output is a btree file, named \fIfile_name\fB.db\fR.
-This is available on systems with support for \fBdb\fR databases.
+.IP \fBlmdb\fR
+The output is a lmdb file, named \fIfile_name\fB.lmdb\fR.
+This is available on systems with support for \fBlmdb\fR databases.
.IP \fBcdb\fR
The output is one file named \fIfile_name\fB.cdb\fR.
This is available on systems with support for \fBcdb\fR databases.
@@ -132,9 +132,6 @@
The output consists of two files, named \fIfile_name\fB.pag\fR and
\fIfile_name\fB.dir\fR.
This is available on systems with support for \fBdbm\fR databases.
-.IP \fBhash\fR
-The output is a hashed file, named \fIfile_name\fB.db\fR.
-This is available on systems with support for \fBdb\fR databases.
.IP \fBfail\fR
A table that reliably fails all requests. The lookup table
name is used for logging only. This table exists to simplify
@@ -187,12 +184,6 @@
.IP "\fBconfig_directory (see 'postconf -d' output)\fR"
The default location of the Postfix main.cf and master.cf
configuration files.
-.IP "\fBberkeley_db_create_buffer_size (16777216)\fR"
-The per\-table I/O buffer size for programs that create Berkeley DB
-hash or btree tables.
-.IP "\fBberkeley_db_read_buffer_size (131072)\fR"
-The per\-table I/O buffer size for programs that read Berkeley DB
-hash or btree tables.
.IP "\fBdefault_database_type (see 'postconf -d' output)\fR"
The default database type for use in \fBnewaliases\fR(1), \fBpostalias\fR(1)
and \fBpostmap\fR(1) commands.
1
0