Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package clamav RC bug fix. The two changes in this upload are likely to save us a bunch of upgrade bugs later. unblock clamav/0.98.5+dfsg-2
diff -Nru clamav-0.98.5+dfsg/debian/changelog clamav-0.98.5+dfsg/debian/changelog --- clamav-0.98.5+dfsg/debian/changelog 2014-11-20 01:02:46.000000000 -0500 +++ clamav-0.98.5+dfsg/debian/changelog 2014-12-03 23:09:13.000000000 -0500 @@ -1,3 +1,12 @@ +clamav (0.98.5+dfsg-2) unstable; urgency=medium + + * Automatically extend the clamav-daemon.socket systemd unit to create the + TCP socket, when clamd is configured to use TCP. (Closes: #771911) + * Also accept AF_INET6 sockets in clamd, as they are now supported. + Systemd uses AF_INET6 for TCP sockets without specified address. + + -- Andreas Cadhalpun <andreas.cadhal...@googlemail.com> Wed, 03 Dec 2014 23:26:21 +0100 + clamav (0.98.5+dfsg-1) unstable; urgency=medium [ Sebastian Andrzej Siewior ] diff -Nru clamav-0.98.5+dfsg/debian/clamav-daemon.postinst.in clamav-0.98.5+dfsg/debian/clamav-daemon.postinst.in --- clamav-0.98.5+dfsg/debian/clamav-daemon.postinst.in 2014-11-20 00:44:11.000000000 -0500 +++ clamav-0.98.5+dfsg/debian/clamav-daemon.postinst.in 2014-12-03 16:31:08.000000000 -0500 @@ -36,6 +36,8 @@ CLAMAVCONF=/etc/clamav/clamd.conf DEBROTATEFILE=/var/lib/clamav/clamdrotate.debconf CLAMAVROTATEFILE=/etc/logrotate.d/clamav-daemon + DEBSYSTEMDLISTENCONF=/var/lib/clamav/extend.conf + CLAMAVSYSTEMDLISTENCONF=/etc/systemd/system/clamav-daemon.socket.d/extend.conf # Update the configuration file db_get clamav-daemon/debconf || true @@ -234,12 +236,32 @@ echo "#Please read /usr/share/doc/clamav-daemon/README.Debian.gz for details" >> $DEBCONFFILE if [ "$sock" = "tcp" ]; then echo "TCPSocket $TCPSocket" >> $DEBCONFFILE - [ "$TCPAddr" = "any" ] || echo "TCPAddr $TCPAddr" >> $DEBCONFFILE + echo "[Socket]" > "$DEBSYSTEMDLISTENCONF" + if [ "$TCPAddr" = "any" ]; then + echo "ListenStream=$TCPSocket" >> "$DEBSYSTEMDLISTENCONF" + else + echo "TCPAddr $TCPAddr" >> $DEBCONFFILE + echo "ListenStream=$TCPAddr:$TCPSocket" >> "$DEBSYSTEMDLISTENCONF" + fi + # Finish the configuration file update, by applying changes to the real configuration file. + mkdir -p `dirname $CLAMAVSYSTEMDLISTENCONF` 2>/dev/null || true + ucf_cleanup "$CLAMAVSYSTEMDLISTENCONF" + ucf_upgrade_check "$CLAMAVSYSTEMDLISTENCONF" "$DEBSYSTEMDLISTENCONF" /var/lib/ucf/cache/:etc:systemd:system:clamav-daemon.socket.d:extend.conf + rm -f "$DEBSYSTEMDLISTENCONF" + if [ -e "$CLAMAVSYSTEMDLISTENCONF".dpkg-old ]; then + echo "Removing old systemd ListenStream override for clamav-daemon" + rm -f "$CLAMAVSYSTEMDLISTENCONF".dpkg-old + fi else echo "LocalSocket $LocalSocket" >> $DEBCONFFILE echo "FixStaleSocket $FixStaleSocket" >> $DEBCONFFILE echo "LocalSocketGroup $LocalSocketGroup" >> $DEBCONFFILE echo "LocalSocketMode $LocalSocketMode" >> $DEBCONFFILE + if [ -e "$CLAMAVSYSTEMDLISTENCONF" ]; then + echo "Disabling old systemd ListenStream override for clamav-daemon" + mv "$CLAMAVSYSTEMDLISTENCONF" "$CLAMAVSYSTEMDLISTENCONF".dpkg-old + ucf -p "$CLAMAVSYSTEMDLISTENCONF" + fi fi if [ -n "$TemporaryDirectory" ]; then diff -Nru clamav-0.98.5+dfsg/debian/clamav-daemon.postrm clamav-0.98.5+dfsg/debian/clamav-daemon.postrm --- clamav-0.98.5+dfsg/debian/clamav-daemon.postrm 2014-11-20 00:44:11.000000000 -0500 +++ clamav-0.98.5+dfsg/debian/clamav-daemon.postrm 2014-12-03 16:31:08.000000000 -0500 @@ -31,7 +31,8 @@ case "$1" in purge) UCFLIST="/etc/logrotate.d/clamav-daemon \ - /etc/clamav/clamd.conf" + /etc/clamav/clamd.conf \ + /etc/systemd/system/clamav-daemon.socket.d/extend.conf" for i in $UCFLIST; do if [ -x "/usr/bin/ucf" ]; then ucf -p $i || true @@ -40,7 +41,8 @@ rm -f $i fi done - rm -f /etc/clamav/clamd.conf.dpkg-old /etc/clamav/clamd.conf.ucf* + rm -f /etc/clamav/clamd.conf.dpkg-old /etc/clamav/clamd.conf.ucf* /etc/systemd/system/clamav-daemon.socket.d/extend.conf.dpkg-old /etc/systemd/system/clamav-daemon.socket.d/extend.conf.ucf* + rmdir --ignore-fail-on-non-empty /etc/systemd/system/clamav-daemon.socket.d/ ;; remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; diff -Nru clamav-0.98.5+dfsg/debian/patches/0008-Add-upstream-systemd-support-for-clamav-daemon-and-c.patch clamav-0.98.5+dfsg/debian/patches/0008-Add-upstream-systemd-support-for-clamav-daemon-and-c.patch --- clamav-0.98.5+dfsg/debian/patches/0008-Add-upstream-systemd-support-for-clamav-daemon-and-c.patch 2014-11-20 00:44:11.000000000 -0500 +++ clamav-0.98.5+dfsg/debian/patches/0008-Add-upstream-systemd-support-for-clamav-daemon-and-c.patch 2014-12-03 18:33:29.000000000 -0500 @@ -1,4 +1,4 @@ -From 0d230e144dfdd5a73d12db3f34449b429164985d Mon Sep 17 00:00:00 2001 +From d2564db5d3f50adc67474ffb22b0ee7027a82828 Mon Sep 17 00:00:00 2001 From: Andreas Cadhalpun <andreas.cadhal...@googlemail.com> Date: Mon, 11 Aug 2014 23:22:05 +0200 Subject: Add upstream systemd support for clamav-daemon and clamav-freshclam. @@ -11,7 +11,7 @@ clamd/clamd.c | 102 +++++++++++++++++++++++++++------- clamd/localserver.c | 34 ++++++++++++ clamd/server-th.c | 55 +++++++++++------- - clamd/tcpserver.c | 44 +++++++++++++++ + clamd/tcpserver.c | 50 +++++++++++++++++ configure.ac | 3 + freshclam/Makefile.am | 4 ++ freshclam/clamav-freshclam.service.in | 12 ++++ @@ -19,7 +19,7 @@ m4/reorganization/libs/systemd.m4 | 18 ++++++ shared/misc.h | 8 +++ shared/optparser.c | 2 +- - 15 files changed, 312 insertions(+), 44 deletions(-) + 15 files changed, 318 insertions(+), 44 deletions(-) create mode 100644 clamd/clamav-daemon.service.in create mode 100644 clamd/clamav-daemon.socket create mode 100644 freshclam/clamav-freshclam.service.in @@ -402,10 +402,10 @@ if((opt = optget(opts, "PidFile"))->enabled) { if(unlink(opt->strarg) == -1) diff --git a/clamd/tcpserver.c b/clamd/tcpserver.c -index c3027a85c1f4..5cbac4d3f590 100644 +index c3027a85c1f4..81387b3c8512 100644 --- a/clamd/tcpserver.c +++ b/clamd/tcpserver.c -@@ -60,6 +60,50 @@ int tcpserver(int **lsockets, unsigned int *nlsockets, char *ipaddr, const struc +@@ -60,6 +60,56 @@ int tcpserver(int **lsockets, unsigned int *nlsockets, char *ipaddr, const struc sockets = *lsockets; @@ -425,6 +425,13 @@ + if (sd_is_socket(sockfd, AF_INET, SOCK_STREAM, 1) == 1) + { + /* correct socket */ ++ logg("#TCP: Received AF_INET SOCK_STREAM socket from systemd.\n"); ++ break; ++ } ++ else if (sd_is_socket(sockfd, AF_INET6, SOCK_STREAM, 1) == 1) ++ { ++ /* correct socket */ ++ logg("#TCP: Received AF_INET6 SOCK_STREAM socket from systemd.\n"); + break; + } + else @@ -435,10 +442,9 @@ + } + if (sockfd == -2) + { -+ logg("#TCP: No tcp AF_INET SOCK_STREAM socket received from systemd.\n"); ++ logg("#TCP: No tcp AF_INET/AF_INET6 SOCK_STREAM socket received from systemd.\n"); + return -2; + } -+ logg("#TCP: Received AF_INET SOCK_STREAM socket from systemd.\n"); + + t = realloc(sockets, sizeof(int) * (*nlsockets + 1)); + if (!(t)) {