Package: postfix Version: 3.1.0-5+b1 Severity: normal Tags: patch Dear Maintainer,
In recent versions of postfix changes to /etc/resolv.conf by resolvconf are not propagated to the copy in the chroot. This can result in failed DNS lookups and consequent errors. The cause appears to be that resolvconf runs its hook scripts with PATH=/sbin:/bin and the postfix hook script exits after failing to run service (which is in /usr/sbin) to check the postfix service status. The attached patch fixes the issue by using the full path to service for each call. I would suggest also removing 2>&1 from the service calls, but did not make that change in the attached patch. Thanks, Kevin -- System Information: Debian Release: stretch/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable'), (101, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.7.4+kevinoid1 (SMP w/4 CPU cores) Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages postfix depends on: ii adduser 3.115 ii cpio 2.11+dfsg-5 ii debconf [debconf-2.0] 1.5.59 ii dpkg 1.18.10 ii init-system-helpers 1.44 ii libc6 2.23-5 ii libdb5.3 5.3.28-12 ii libicu57 57.1-4 ii libsasl2-2 2.1.26.dfsg1-15 ii libsqlite3-0 3.14.1-1 ii libssl1.0.2 1.0.2h-1 ii lsb-base 9.20160629 ii netbase 5.3 ii ssl-cert 1.0.38 Versions of packages postfix recommends: ii python3 3.5.1-4 Versions of packages postfix suggests: ii bsd-mailx [mail-reader] 8.1.2-0.20160123cvs-3 pn dovecot-common <none> ii icedove [mail-reader] 1:45.2.0-4+b1 ii libsasl2-modules 2.1.26.dfsg1-15 ii mutt [mail-reader] 1.7.0-1 pn postfix-cdb <none> pn postfix-doc <none> pn postfix-ldap <none> pn postfix-mysql <none> pn postfix-pcre <none> pn postfix-pgsql <none> ii procmail 3.22-25 ii resolvconf 1.79 pn sasl2-bin <none> pn ufw <none> -- Configuration Files: /etc/resolvconf/update-libc.d/postfix changed [not included] -- debconf information excluded
>From 847cb89c0b40ddde7b50bfc33b1f1422343dbdd0 Mon Sep 17 00:00:00 2001 Message-Id: <847cb89c0b40ddde7b50bfc33b1f1422343dbdd0.1474256222.git.ke...@kevinlocke.name> From: Kevin Locke <ke...@kevinlocke.name> Date: Sun, 18 Sep 2016 21:34:30 -0600 Subject: [PATCH] Use full path to service in update-libc.d resolvconf runs its hook scripts with PATH=/sbin:/bin. This causes the service invocation to fail with "command not found" (with the error message sent to /dev/null) and the script to unconditionally exit early. Fix it by using the full path to /usr/sbin/service. Signed-off-by: Kevin Locke <ke...@kevinlocke.name> --- debian/update-libc.d | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/debian/update-libc.d b/debian/update-libc.d index 44faba0..80b8f1f 100644 --- a/debian/update-libc.d +++ b/debian/update-libc.d @@ -2,12 +2,12 @@ # we only need to copy this in if the service is already running. # if it's not running, it'll get picked up by the init script on start. -service postfix status >/dev/null 2>&1 || exit 0 +/usr/sbin/service postfix status >/dev/null 2>&1 || exit 0 QUEUEDIR="$(/usr/sbin/postconf -h queue_directory 2>/dev/null || true)" if [ -n "$QUEUEDIR" ]; then cp /etc/resolv.conf ${QUEUEDIR}/etc/resolv.conf - service postfix reload >/dev/null 2>&1 || exit 0 + /usr/sbin/service postfix reload >/dev/null 2>&1 || exit 0 fi exit 0 -- 2.9.3