Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: pu
Fixes a severe regression in 0.97.5 (compared to 0.97.3 in squeeze now). Also include packaging improvements to correctly purge packages. This should go into stable-updates ASAP as the package there currently suffers from the regression and then into the next point release when it happens.
diff -u clamav-0.97.5+dfsg/debian/changelog clamav-0.97.5+dfsg/debian/changelog --- clamav-0.97.5+dfsg/debian/changelog +++ clamav-0.97.5+dfsg/debian/changelog @@ -1,3 +1,17 @@ +clamav (0.97.5+dfsg-6~squeeze1) stable; urgency=medium + + * Urgency medium for RC bug fix the addressess regression from 0.97.3 + * Add changes from upstream commit 6a879ad98460303b23a6fc119769a3b463a902f8 + to fix unpack errors for various compressed files including some .bz2, + .xls, .doc, and PDF (Closes: #684697) + * Drop postrm snippets from clamav-base, clamav-freshclam, clamav-daemon, + and clamav-milter that remove /var/log/clamav, /var/lib/clamav, + /var/run/clamav, and /etc/clamav and and let dpkg remove the directories + once they are empty in order to fix problems with directory removal by a + package that did not own the directory (Closes: #681960) + + -- Scott Kitterman <sc...@kitterman.com> Tue, 14 Aug 2012 12:11:19 -0400 + clamav (0.97.5+dfsg-3~squeeze1) stable; urgency=low [ Scott Kitterman ] diff -u clamav-0.97.5+dfsg/debian/clamav-base.postrm clamav-0.97.5+dfsg/debian/clamav-base.postrm --- clamav-0.97.5+dfsg/debian/clamav-base.postrm +++ clamav-0.97.5+dfsg/debian/clamav-base.postrm @@ -45,11 +45,6 @@ fi rm -f /var/lib/clamav/*.md5sum || true rm -f $DATABASEDIR/main.cvd $DATABASEDIR/daily.cvd $DATABASEDIR/bytecode.cvd - for dir in /etc/clamav/ /var/log/clamav /var/lib/clamav/ /var/run/clamav/; do - if [ -d "$dir" ]; then - rmdir "$dir" --ignore-fail-on-non-empty || true - fi - done ;; remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; diff -u clamav-0.97.5+dfsg/debian/clamav-freshclam.postrm clamav-0.97.5+dfsg/debian/clamav-freshclam.postrm --- clamav-0.97.5+dfsg/debian/clamav-freshclam.postrm +++ clamav-0.97.5+dfsg/debian/clamav-freshclam.postrm @@ -52,11 +52,6 @@ [ ! -d "${workdir}/main.inc/" ] || rmdir --ignore-fail-on-non-empty ${workdir}/main.inc/ [ ! -d "${workdir}/daily.inc/" ] || rmdir --ignore-fail-on-non-empty ${workdir}/daily.inc/ update-rc.d clamav-freshclam remove >/dev/null - for dir in /etc/clamav/ /var/log/clamav /var/lib/clamav/ /var/run/clamav/; do - if [ -d "$dir" ]; then - rmdir "$dir" --ignore-fail-on-non-empty || true - fi - done ;; remove) rm -f /var/lib/clamav/main.cvd /var/lib/clamav/main.cld diff -u clamav-0.97.5+dfsg/debian/clamav-milter.postrm clamav-0.97.5+dfsg/debian/clamav-milter.postrm --- clamav-0.97.5+dfsg/debian/clamav-milter.postrm +++ clamav-0.97.5+dfsg/debian/clamav-milter.postrm @@ -35,11 +35,6 @@ fi done rm -f /var/log/clamav/clamav-milter.log* /etc/clamav/clamav-milter.conf.dpkg-old /etc/clamav/clamav-milter.conf.ucf-old - for dir in /etc/clamav/ /var/log/clamav /var/lib/clamav/ /var/run/clamav/; do - if [ -d "$dir" ]; then - rmdir "$dir" --ignore-fail-on-non-empty || true - fi - done ;; remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; diff -u clamav-0.97.5+dfsg/debian/clamav-daemon.postrm clamav-0.97.5+dfsg/debian/clamav-daemon.postrm --- clamav-0.97.5+dfsg/debian/clamav-daemon.postrm +++ clamav-0.97.5+dfsg/debian/clamav-daemon.postrm @@ -29,11 +29,6 @@ if [ -e "$LOGROTATE_FILE" ]; then rm -f $LOGROTATE_FILE fi - for dir in /etc/clamav/ /var/log/clamav /var/lib/clamav/ /var/run/clamav/; do - if [ -d "$dir" ]; then - rmdir "$dir" --ignore-fail-on-non-empty || true - fi - done ;; remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; only in patch2: unchanged: --- clamav-0.97.5+dfsg.orig/libclamav/scanners.c +++ clamav-0.97.5+dfsg/libclamav/scanners.c @@ -2369,7 +2369,19 @@ ctx->fmap--; cli_bitset_free(ctx->hook_lsig_matches); ctx->hook_lsig_matches = old_hook_lsig_matches; - ret_from_magicscan(ret); + /* Same switch as end of magic_scandesc function */ + switch(ret) { + case CL_EFORMAT: + case CL_EMAXREC: + case CL_EMAXSIZE: + case CL_EMAXFILES: + cli_dbgmsg("Descriptor[%d]: %s\n", desc, cl_strerror(ret)); + case CL_CLEAN: /* here, only from cli_checkfp() */ + cache_add(hash, hashed_size, ctx); + ret_from_magicscan(CL_CLEAN); + default: + ret_from_magicscan(ret); + } } }