tags 311812 + patch pending thanks Hi,
Re: LaMont Jones 2008-07-25 <[EMAIL PROTECTED]>
> > * Add support for syslogd configuration files under /etc/syslog.d/.
> > (Closes: #370349, #462739)
>
> > Do you think this bug can now also be solved on the postfix side?
>
> >From reading the bug report, it would appear that he added support for
> additional syslog.conf-ish config files, not specifying additional log
> files. There is also another syslogd that seems to be more common in
> the wild.
The fix for inetutils-syslogd is indeed broken in the sense that it
doesn't fix this issue. sysklogd is also unfixable without an NMU as
/etc/default/syslogd is a conffile.
> In any case, I'm thinking I'll solve the issue by asking if the user
> wants to chroot postfix, and if so telling him that he needs to deal
> with making syslog happier, or (assuming it actually works) bind
> mounting /dev/log. If not chrooted, then the issue is non-existent.
I don't think un-chrooting postfix is worth the issue. Most users
won't care enough about mail logs, and even the broken mail logs
contain enough information for the occasional log reader.
Lenny will have rsyslog as default log daemon. The patch below
provides a fix for the socket-in-chroot problem for this syslog
daemon, and adds a note to postfix's README.Debian for the others.
IMHO that closes this bug.
I intend to upload the NMU after the weekend (LaMont has indicated he
was away for a few days).
diff -u postfix-2.5.5/debian/README.Debian postfix-2.5.5/debian/README.Debian
--- postfix-2.5.5/debian/README.Debian
+++ postfix-2.5.5/debian/README.Debian
@@ -27,0 +28,11 @@
+3. Note that the chrooted daemons open /dev/log before chrooting, so if your
+ syslog daemon is restarted, the daemons will be unable to reconnect to the
+ syslog socket, and hence being unable to log. The postfix package provides
+ a config snipped for the rsyslog daemon in /etc/rsyslog.d/postfix.conf to
+ also open a socket in /var/log/postfix/dev. For other syslog daemons, you
+ will also have to restart postfix after restarting the syslog daemon, or
+ configure it to open an additional socket.
+ a. For sysklogd (the default in Debian versions prior to Lenny), add
+ SYSLOG="-a /var/spool/postfix/dev/log" to /etc/default/syslog.
+ b. For inetutils-syslogd, add SYSLOGD_OPTS="-a /var/spool/postfix/dev/log" to
+ /etc/default/inetutils-syslogd.
diff -u postfix-2.5.5/debian/changelog postfix-2.5.5/debian/changelog
--- postfix-2.5.5/debian/changelog
+++ postfix-2.5.5/debian/changelog
@@ -1,3 +1,12 @@
+postfix (2.5.5-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Add rsyslog.d config snipped to create a /dev/log syslog socket in the
+ postfix chroot. Also, add a note about other syslog daemons to
+ README.Debian. Closes: #311812
+
+ -- Christoph Berg <[EMAIL PROTECTED]> Sun, 07 Sep 2008 14:02:15 +0200
+
postfix (2.5.5-1) unstable; urgency=low
[Wietse Venema]
diff -u postfix-2.5.5/debian/rules postfix-2.5.5/debian/rules
--- postfix-2.5.5/debian/rules
+++ postfix-2.5.5/debian/rules
@@ -135,6 +135,7 @@
install -m 0644 conf/main.cf.debian $(sharedir)/main.cf.debian
install -m 0644 conf/main.cf.tls $(sharedir)/main.cf.tls
install -m644 debian/postfix.ufw.profile
debian/postfix/etc/ufw/applications.d/postfix
+ install -m644 debian/rsyslog.conf
debian/postfix/etc/rsyslog.d/postfix.conf
install man/man1/*.1 ${base}/usr/share/man/man1
install man/man5/*.5 ${base}/usr/share/man/man5
diff -u postfix-2.5.5/debian/postfix.dirs postfix-2.5.5/debian/postfix.dirs
--- postfix-2.5.5/debian/postfix.dirs
+++ postfix-2.5.5/debian/postfix.dirs
@@ -5,6 +5,7 @@
etc/network/if-up.d
etc/network/if-down.d
etc/postfix/sasl
+etc/rsyslog.d
etc/ufw/applications.d
usr/bin
usr/sbin
@@ -18,6 +19,7 @@
etc/postfix
etc/resolvconf/update-libc.d
var/spool/postfix
+var/spool/postfix/dev
var/spool/postfix/etc
var/spool/postfix/lib
var/spool/postfix/usr
only in patch2:
unchanged:
--- postfix-2.5.5.orig/debian/rsyslog.conf
+++ postfix-2.5.5/debian/rsyslog.conf
@@ -0,0 +1,4 @@
+# Create an additional socket in postfix's chroot in order not to break
+# mail logging when rsyslog is restarted. If the directory is missing,
+# rsyslog will silently skip creating the socket.
+$AddUnixListenSocket /var/spool/postfix/dev/log
Christoph
--
[EMAIL PROTECTED] | http://www.df7cb.de/
signature.asc
Description: Digital signature

