[Pkg-clamav-commits] [SCM] Debian repository for ClamAV branch, debian/unstable, updated. 99ae9353f6834da0cb73f59f4b32d1f0ae1263fa
Stephen Gran
steve at lobefin.net
Thu Sep 4 12:37:02 UTC 2008
The following commit has been merged in the debian/unstable branch:
commit 7174a1d8bd531baa5d06b455a3648e82ede5ee73
Author: Stephen Gran <steve at lobefin.net>
Date: Thu Sep 4 13:25:46 2008 +0100
Revert "0,93"
This reverts commit 6d7f6b8c9644eb2ae3d2b64710a3c5d34d439eba.
diff --git a/ChangeLog b/ChangeLog
index 643745f..c983579 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,14 +1,3 @@
-Wed Apr 9 17:58:43 CEST 2008
------------------------------
- V 0.93:
-
- * libclamunrar: bb#541 (RAR - Version required to extract - Evasion)
- * libclamav/spin.c: bb#876 (PeSpin Heap Overflow Vulnerability)
- * libclamav/pe.c: bb#878 (Upack Buffer Overflow Vulnerability)
- * libclamav/message.c: bb#881 (message.c: read beyond allocated region)
- * libclamav/unarj.c: bb#897 (ARJ: Sample from CERT-FI hangs clamav)
- * libclamunrar: bb#898 (RAR crashes on some fuzzed files from CERT-FI)
-
Wed Apr 9 16:33:21 EEST 2008 (edwin)
-------------------------------------
* libclamav/mbox.c: mark PARTIAL_DIR as experimental code
diff --git a/NEWS b/NEWS
index 5a14c6e..6d183b1 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,5 @@
-0.93
-----
+0.93rc1
+-------
This release introduces many new features and engine enhancements, please
see the notes below for the list of major changes. The most visible one
diff --git a/README b/README
index 2843507..ba054bd 100644
--- a/README
+++ b/README
@@ -2,8 +2,8 @@ Note: This README/NEWS file refers to the source tarball. Some things described
here may not be available in binary packages.
--
-0.93
-----
+0.93rc1
+-------
This release introduces many new features and engine enhancements, please
see the notes below for the list of major changes. The most visible one
diff --git a/clamav-milter/clamav-milter.c b/clamav-milter/clamav-milter.c
index 37270b2..3e2f746 100644
--- a/clamav-milter/clamav-milter.c
+++ b/clamav-milter/clamav-milter.c
@@ -33,7 +33,7 @@
*/
static char const rcsid[] = "$Id: clamav-milter.c,v 1.312 2007/02/12 22:24:21 njh Exp $";
-#define CM_VERSION "0.93"
+#define CM_VERSION "devel-20080219"
#if HAVE_CONFIG_H
#include "clamav-config.h"
diff --git a/configure b/configure
index 770d8c9..372dd8d 100755
--- a/configure
+++ b/configure
@@ -2783,7 +2783,7 @@ cat >>confdefs.h <<\_ACEOF
_ACEOF
-VERSION="0.93"
+VERSION="0.93rc1"
cat >>confdefs.h <<_ACEOF
#define VERSION "$VERSION"
@@ -2791,7 +2791,7 @@ _ACEOF
LC_CURRENT=4
-LC_REVISION=1
+LC_REVISION=0
LC_AGE=0
LIBCLAMAV_VERSION="$LC_CURRENT":"$LC_REVISION":"$LC_AGE"
diff --git a/configure.in b/configure.in
index ebcb2e3..d96f0ba 100644
--- a/configure.in
+++ b/configure.in
@@ -41,11 +41,11 @@ AC_DEFINE([PACKAGE], PACKAGE_NAME, [Name of package])
dnl change this on a release
dnl VERSION="devel-`date +%Y%m%d`"
-VERSION="0.93"
+VERSION="0.93rc1"
AC_DEFINE_UNQUOTED([VERSION],"$VERSION",[Version number of package])
LC_CURRENT=4
-LC_REVISION=1
+LC_REVISION=0
LC_AGE=0
LIBCLAMAV_VERSION="$LC_CURRENT":"$LC_REVISION":"$LC_AGE"
AC_SUBST([LIBCLAMAV_VERSION])
diff --git a/docs/clamdoc.pdf b/docs/clamdoc.pdf
index 61b6f5d..8e060e5 100644
Binary files a/docs/clamdoc.pdf and b/docs/clamdoc.pdf differ
diff --git a/docs/clamdoc.tex b/docs/clamdoc.tex
index c349fb9..3c62b58 100644
--- a/docs/clamdoc.tex
+++ b/docs/clamdoc.tex
@@ -71,7 +71,7 @@
\vspace{3cm}
\begin{flushright}
\rule[-1ex]{8cm}{3pt}\\
- \huge Clam AntiVirus 0.93\\
+ \huge Clam AntiVirus 0.93rc1\\
\huge \emph{User Manual}\\
\end{flushright}
diff --git a/docs/html/clamdoc.html b/docs/html/clamdoc.html
index bb4c9ff..7760221 100644
--- a/docs/html/clamdoc.html
+++ b/docs/html/clamdoc.html
@@ -56,7 +56,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BR>
<BR>
<DIV ALIGN="RIGHT">
-<BR> <BIG CLASS="HUGE">Clam AntiVirus 0.93
+<BR> <BIG CLASS="HUGE">Clam AntiVirus 0.93rc1
<BR> <BIG CLASS="HUGE"><SPAN CLASS="textit">User Manual</SPAN>
<BR>
</BIG></BIG></DIV>
@@ -209,7 +209,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/index.html b/docs/html/index.html
index bb4c9ff..7760221 100644
--- a/docs/html/index.html
+++ b/docs/html/index.html
@@ -56,7 +56,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BR>
<BR>
<DIV ALIGN="RIGHT">
-<BR> <BIG CLASS="HUGE">Clam AntiVirus 0.93
+<BR> <BIG CLASS="HUGE">Clam AntiVirus 0.93rc1
<BR> <BIG CLASS="HUGE"><SPAN CLASS="textit">User Manual</SPAN>
<BR>
</BIG></BIG></DIV>
@@ -209,7 +209,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node1.html b/docs/html/node1.html
index 0ea2361..a0dfa4b 100644
--- a/docs/html/node1.html
+++ b/docs/html/node1.html
@@ -179,7 +179,7 @@ ClamAV and Clam AntiVirus are trademarks of Sourcefire, Inc.
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node10.html b/docs/html/node10.html
index 1840eec..88192d7 100644
--- a/docs/html/node10.html
+++ b/docs/html/node10.html
@@ -96,7 +96,7 @@ A note for Solaris/SPARC users: you must set the <SPAN CLASS="textit">ABI</SPAN
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node11.html b/docs/html/node11.html
index 19a86d5..e3e9f61 100644
--- a/docs/html/node11.html
+++ b/docs/html/node11.html
@@ -75,7 +75,7 @@ Installing on shell account</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node12.html b/docs/html/node12.html
index 35ff981..70e7910 100644
--- a/docs/html/node12.html
+++ b/docs/html/node12.html
@@ -69,7 +69,7 @@ Adding new system user and group</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node13.html b/docs/html/node13.html
index 1a052d2..d07faa1 100644
--- a/docs/html/node13.html
+++ b/docs/html/node13.html
@@ -75,7 +75,7 @@ Compilation of base package</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node14.html b/docs/html/node14.html
index 4d878e0..0dbe335 100644
--- a/docs/html/node14.html
+++ b/docs/html/node14.html
@@ -64,7 +64,7 @@ Compilation with clamav-milter enabled</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node15.html b/docs/html/node15.html
index 11cc25b..fa3d93e 100644
--- a/docs/html/node15.html
+++ b/docs/html/node15.html
@@ -83,7 +83,7 @@ Configuration</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node16.html b/docs/html/node16.html
index 7b09c6a..7c0a8eb 100644
--- a/docs/html/node16.html
+++ b/docs/html/node16.html
@@ -79,7 +79,7 @@ clamd</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node17.html b/docs/html/node17.html
index 20e45d5..1bab081 100644
--- a/docs/html/node17.html
+++ b/docs/html/node17.html
@@ -90,7 +90,7 @@ On-access scanning</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node18.html b/docs/html/node18.html
index 98be70a..cd2d0de 100644
--- a/docs/html/node18.html
+++ b/docs/html/node18.html
@@ -81,7 +81,7 @@ define(`confINPUT_MAIL_FILTERS', `clmilter')
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node19.html b/docs/html/node19.html
index 669fab0..dfca05e 100644
--- a/docs/html/node19.html
+++ b/docs/html/node19.html
@@ -75,7 +75,7 @@ Testing</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node2.html b/docs/html/node2.html
index b391896..f61eaab 100644
--- a/docs/html/node2.html
+++ b/docs/html/node2.html
@@ -79,7 +79,7 @@ Introduction</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node20.html b/docs/html/node20.html
index 5a7f799..726bb8b 100644
--- a/docs/html/node20.html
+++ b/docs/html/node20.html
@@ -139,7 +139,7 @@ N * * * * /usr/local/bin/freshclam --quiet
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node21.html b/docs/html/node21.html
index 14d4d23..e664ab5 100644
--- a/docs/html/node21.html
+++ b/docs/html/node21.html
@@ -77,7 +77,7 @@ Closest mirrors</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node22.html b/docs/html/node22.html
index 494aba5..277e351 100644
--- a/docs/html/node22.html
+++ b/docs/html/node22.html
@@ -80,7 +80,7 @@ Usage</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node23.html b/docs/html/node23.html
index d57cbe1..9a0a07c 100644
--- a/docs/html/node23.html
+++ b/docs/html/node23.html
@@ -160,7 +160,7 @@ Start/end a <code>clamd</code> session - you can do multiple commands
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node24.html b/docs/html/node24.html
index fa35cdb..fcb356d 100644
--- a/docs/html/node24.html
+++ b/docs/html/node24.html
@@ -76,7 +76,7 @@ Clam<SPAN CLASS="textbf">d</SPAN>scan</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node25.html b/docs/html/node25.html
index a8c644e..2b53ccc 100644
--- a/docs/html/node25.html
+++ b/docs/html/node25.html
@@ -92,7 +92,7 @@ SIGTERM signal. In other case you can lose access
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node26.html b/docs/html/node26.html
index 595e0aa..9704282 100644
--- a/docs/html/node26.html
+++ b/docs/html/node26.html
@@ -70,7 +70,7 @@ Output format</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node27.html b/docs/html/node27.html
index deb41c5..e45bdb9 100644
--- a/docs/html/node27.html
+++ b/docs/html/node27.html
@@ -94,7 +94,7 @@ clamscan</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node28.html b/docs/html/node28.html
index 5b91e3b..ee0a2eb 100644
--- a/docs/html/node28.html
+++ b/docs/html/node28.html
@@ -83,7 +83,7 @@ Error messages are printed in the following format:
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node29.html b/docs/html/node29.html
index 48df8e1..5bad28c 100644
--- a/docs/html/node29.html
+++ b/docs/html/node29.html
@@ -124,7 +124,7 @@ LibClamAV</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node3.html b/docs/html/node3.html
index bc5ecba..7e5fcf7 100644
--- a/docs/html/node3.html
+++ b/docs/html/node3.html
@@ -183,7 +183,7 @@ Features</A>
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node30.html b/docs/html/node30.html
index f1bf38b..00f0bf9 100644
--- a/docs/html/node30.html
+++ b/docs/html/node30.html
@@ -65,7 +65,7 @@ Licence</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node31.html b/docs/html/node31.html
index 8d1dddd..1f781e8 100644
--- a/docs/html/node31.html
+++ b/docs/html/node31.html
@@ -77,7 +77,7 @@ Supported formats</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node32.html b/docs/html/node32.html
index d3c74f8..7096a13 100644
--- a/docs/html/node32.html
+++ b/docs/html/node32.html
@@ -87,7 +87,7 @@ Executables</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node33.html b/docs/html/node33.html
index 0a26ff0..e800976 100644
--- a/docs/html/node33.html
+++ b/docs/html/node33.html
@@ -62,7 +62,7 @@ Mail files</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node34.html b/docs/html/node34.html
index 1a0b3a0..7cbb1ed 100644
--- a/docs/html/node34.html
+++ b/docs/html/node34.html
@@ -90,7 +90,7 @@ Archives and compressed files</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node35.html b/docs/html/node35.html
index 07b7632..aaf98e1 100644
--- a/docs/html/node35.html
+++ b/docs/html/node35.html
@@ -73,7 +73,7 @@ Documents</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node36.html b/docs/html/node36.html
index 6c218c6..68dbce7 100644
--- a/docs/html/node36.html
+++ b/docs/html/node36.html
@@ -75,7 +75,7 @@ Others</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node37.html b/docs/html/node37.html
index 0b577ad..d378ece 100644
--- a/docs/html/node37.html
+++ b/docs/html/node37.html
@@ -75,7 +75,7 @@ API</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node38.html b/docs/html/node38.html
index 9ca34de..f9a7631 100644
--- a/docs/html/node38.html
+++ b/docs/html/node38.html
@@ -64,7 +64,7 @@ Header file</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node39.html b/docs/html/node39.html
index e50123d..480da7b 100644
--- a/docs/html/node39.html
+++ b/docs/html/node39.html
@@ -111,7 +111,7 @@ Load CVD files directly without unpacking them into a temporary
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node4.html b/docs/html/node4.html
index f3337d6..f1d572e 100644
--- a/docs/html/node4.html
+++ b/docs/html/node4.html
@@ -86,7 +86,7 @@ Alternatively you can try asking on the <code>#clamav</code> IRC channel - launc
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node40.html b/docs/html/node40.html
index a90777a..c96842a 100644
--- a/docs/html/node40.html
+++ b/docs/html/node40.html
@@ -68,7 +68,7 @@ Error handling</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node41.html b/docs/html/node41.html
index ac3dcef..244ba2e 100644
--- a/docs/html/node41.html
+++ b/docs/html/node41.html
@@ -74,7 +74,7 @@ Engine structure</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node42.html b/docs/html/node42.html
index dc394f2..24a9bd4 100644
--- a/docs/html/node42.html
+++ b/docs/html/node42.html
@@ -101,7 +101,7 @@ Database reloading</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node43.html b/docs/html/node43.html
index ff9291a..a933aba 100644
--- a/docs/html/node43.html
+++ b/docs/html/node43.html
@@ -214,7 +214,7 @@ Phishing module: always block cloaked URLs.
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node44.html b/docs/html/node44.html
index 08c5f64..f6816e1 100644
--- a/docs/html/node44.html
+++ b/docs/html/node44.html
@@ -62,7 +62,7 @@ Memory</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node45.html b/docs/html/node45.html
index a95917b..2007821 100644
--- a/docs/html/node45.html
+++ b/docs/html/node45.html
@@ -67,7 +67,7 @@ clamav-config</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node46.html b/docs/html/node46.html
index fa948fa..03ff2b3 100644
--- a/docs/html/node46.html
+++ b/docs/html/node46.html
@@ -65,7 +65,7 @@ Example</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node47.html b/docs/html/node47.html
index 9442486..869e8cb 100644
--- a/docs/html/node47.html
+++ b/docs/html/node47.html
@@ -82,7 +82,7 @@ Verification OK.
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node48.html b/docs/html/node48.html
index dcf0f18..6e60522 100644
--- a/docs/html/node48.html
+++ b/docs/html/node48.html
@@ -613,7 +613,7 @@ Contributors</A>
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node49.html b/docs/html/node49.html
index f591357..17325ee 100644
--- a/docs/html/node49.html
+++ b/docs/html/node49.html
@@ -459,7 +459,7 @@ Donors</A>
<!--End of Navigation Panel-->
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node5.html b/docs/html/node5.html
index 77a1269..8df575e 100644
--- a/docs/html/node5.html
+++ b/docs/html/node5.html
@@ -65,7 +65,7 @@ Virus submitting</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node50.html b/docs/html/node50.html
index 5ee1417..fbd6676 100644
--- a/docs/html/node50.html
+++ b/docs/html/node50.html
@@ -63,7 +63,7 @@ Graphics</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node51.html b/docs/html/node51.html
index 22e3b61..bc25132 100644
--- a/docs/html/node51.html
+++ b/docs/html/node51.html
@@ -62,7 +62,7 @@ OpenAntiVirus</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node52.html b/docs/html/node52.html
index 4b30086..de6985a 100644
--- a/docs/html/node52.html
+++ b/docs/html/node52.html
@@ -134,7 +134,7 @@ Role: coder
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node53.html b/docs/html/node53.html
index f83fd1c..fb184d5 100644
--- a/docs/html/node53.html
+++ b/docs/html/node53.html
@@ -64,11 +64,11 @@ Mathematics Department, Macquarie University, Sydney.
The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-local_icons clamdoc.tex</TT>
<P>
-The translation was initiated by Tomasz Kojm on 2008-04-09
+The translation was initiated by Tomasz Kojm on 2008-03-18
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node6.html b/docs/html/node6.html
index a9bf230..50f2e96 100644
--- a/docs/html/node6.html
+++ b/docs/html/node6.html
@@ -71,7 +71,7 @@ Base package</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node7.html b/docs/html/node7.html
index 537d2e8..469090c 100644
--- a/docs/html/node7.html
+++ b/docs/html/node7.html
@@ -80,7 +80,7 @@ Supported platforms</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node8.html b/docs/html/node8.html
index b5c0496..d9473de 100644
--- a/docs/html/node8.html
+++ b/docs/html/node8.html
@@ -61,7 +61,7 @@ Binary packages</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/docs/html/node9.html b/docs/html/node9.html
index b0aebb6..1b75138 100644
--- a/docs/html/node9.html
+++ b/docs/html/node9.html
@@ -77,7 +77,7 @@ Installation</A>
<BR><HR>
<ADDRESS>
Tomasz Kojm
-2008-04-09
+2008-03-18
</ADDRESS>
</BODY>
</HTML>
diff --git a/libclamav/message.c b/libclamav/message.c
index 2ba3d2f..9ccd491 100644
--- a/libclamav/message.c
+++ b/libclamav/message.c
@@ -2563,7 +2563,6 @@ rfc2231(const char *in)
in++;
continue;
}
- *p = '\0';
break;
case '=':
/*strcpy(p, in);*/
diff --git a/libclamav/others.c b/libclamav/others.c
index a4f538a..bae2469 100644
--- a/libclamav/others.c
+++ b/libclamav/others.c
@@ -87,7 +87,7 @@ static pthread_mutex_t cli_ctime_mutex = PTHREAD_MUTEX_INITIALIZER;
#define P_tmpdir "C:\\WINDOWS\\TEMP"
#endif
-#define CL_FLEVEL 29 /* don't touch it */
+#define CL_FLEVEL 28 /* don't touch it */
uint8_t cli_debug_flag = 0, cli_leavetemps_flag = 0;
diff --git a/libclamav/pe.c b/libclamav/pe.c
index 3d77915..a7259b6 100644
--- a/libclamav/pe.c
+++ b/libclamav/pe.c
@@ -1243,7 +1243,7 @@ int cli_scanpe(int desc, cli_ctx *ctx)
CLI_UNPSIZELIMITS("Upack", MAX(MAX(dsize, ssize), exe_sections[1].ursz));
- if (!CLI_ISCONTAINED(0, dsize, exe_sections[1].rva - off, exe_sections[1].ursz) || (upack && !CLI_ISCONTAINED(0, dsize, exe_sections[2].rva - exe_sections[0].rva, ssize)) || ssize > dsize) {
+ if (exe_sections[1].rva - off > dsize || exe_sections[1].rva - off > dsize - exe_sections[1].ursz || (upack && (exe_sections[2].rva - exe_sections[0].rva > dsize || exe_sections[2].rva - exe_sections[0].rva > dsize - ssize)) || ssize > dsize) {
cli_dbgmsg("Upack: probably malformed pe-header, skipping to next unpacker\n");
break;
}
diff --git a/libclamav/spin.c b/libclamav/spin.c
index e0e40c9..867e7fe 100644
--- a/libclamav/spin.c
+++ b/libclamav/spin.c
@@ -435,7 +435,7 @@ int unspin(char *src, int ssize, struct cli_exe_section *sections, int sectcnt,
/* len = cli_readint32(ep+0x2fc8); -- Using vsizes instead */
for (j=0; j<sectcnt; j++) {
- if (sections[j].rva <= key32 && key32-sections[j].rva < sections[j].vsz && CLI_ISCONTAINED(src + sections[j].raw, sections[j].rsz, src + sections[j].raw, key32 - sections[j].rva))
+ if (sections[j].rva <= key32 && sections[j].rva+sections[j].rsz > key32)
break;
}
diff --git a/libclamav/unarj.c b/libclamav/unarj.c
index 3dcb77d..8334115 100644
--- a/libclamav/unarj.c
+++ b/libclamav/unarj.c
@@ -162,7 +162,6 @@ typedef struct arj_decode_tag {
unsigned char pt_len[NPT];
unsigned char sub_bit_buf;
uint16_t pt_table[PTABLESIZE];
- int status;
} arj_decode_t;
static int fill_buf(arj_decode_t *decode_data, int n)
@@ -173,7 +172,6 @@ static int fill_buf(arj_decode_t *decode_data, int n)
if (decode_data->comp_size != 0) {
decode_data->comp_size--;
if (cli_readn(decode_data->fd, &decode_data->sub_bit_buf, 1) != 1) {
- decode_data->status = CL_EIO;
return CL_EIO;
}
} else {
@@ -232,7 +230,6 @@ static int make_table(arj_decode_t *decode_data, int nchar, unsigned char *bitle
for (i = 0; (int)i < nchar; i++) {
if (bitlen[i] >= 17) {
cli_dbgmsg("UNARJ: bounds exceeded\n");
- decode_data->status = CL_EARJ;
return CL_EARJ;
}
count[bitlen[i]]++;
@@ -243,14 +240,12 @@ static int make_table(arj_decode_t *decode_data, int nchar, unsigned char *bitle
start[i+1] = start[i] + (count[i] << (16 - i));
}
if (start[17] != (unsigned short) (1 << 16)) {
- decode_data->status = CL_EARJ;
return CL_EARJ;
}
jutbits = 16 - tablebits;
if (tablebits >= 17) {
cli_dbgmsg("UNARJ: bounds exceeded\n");
- decode_data->status = CL_EARJ;
return CL_EARJ;
}
for (i = 1; (int)i <= tablebits; i++) {
@@ -268,7 +263,6 @@ static int make_table(arj_decode_t *decode_data, int nchar, unsigned char *bitle
while (i != k) {
if (i >= tablesize) {
cli_dbgmsg("UNARJ: bounds exceeded\n");
- decode_data->status = CL_EARJ;
return CL_EARJ;
}
table[i++] = 0;
@@ -283,14 +277,12 @@ static int make_table(arj_decode_t *decode_data, int nchar, unsigned char *bitle
}
if (len >= 17) {
cli_dbgmsg("UNARJ: bounds exceeded\n");
- decode_data->status = CL_EARJ;
return CL_EARJ;
}
k = start[len];
nextcode = k + weight[len];
if ((int)len <= tablebits) {
if (nextcode > (unsigned int) tablesize) {
- decode_data->status = CL_EARJ;
return CL_EARJ;
}
for (i = start[len]; i < nextcode; i++) {
@@ -303,7 +295,6 @@ static int make_table(arj_decode_t *decode_data, int nchar, unsigned char *bitle
if (*p == 0) {
if (avail >= (2 * NC - 1)) {
cli_dbgmsg("UNARJ: bounds exceeded\n");
- decode_data->status = CL_EARJ;
return CL_EARJ;
}
decode_data->right[avail] = decode_data->left[avail] = 0;
@@ -311,7 +302,6 @@ static int make_table(arj_decode_t *decode_data, int nchar, unsigned char *bitle
}
if (*p >= (2 * NC - 1)) {
cli_dbgmsg("UNARJ: bounds exceeded\n");
- decode_data->status = CL_EARJ;
return CL_EARJ;
}
if (k & mask) {
@@ -329,7 +319,7 @@ static int make_table(arj_decode_t *decode_data, int nchar, unsigned char *bitle
return CL_SUCCESS;
}
-static int read_pt_len(arj_decode_t *decode_data, int nn, int nbit, int i_special)
+static void read_pt_len(arj_decode_t *decode_data, int nn, int nbit, int i_special)
{
int i, n;
short c;
@@ -339,8 +329,7 @@ static int read_pt_len(arj_decode_t *decode_data, int nn, int nbit, int i_specia
if (n == 0) {
if (nn > NPT) {
cli_dbgmsg("UNARJ: bounds exceeded\n");
- decode_data->status = CL_EARJ;
- return CL_EARJ;
+ return;
}
c = arj_getbits(decode_data, nbit);
for (i = 0; i < nn; i++) {
@@ -361,15 +350,9 @@ static int read_pt_len(arj_decode_t *decode_data, int nn, int nbit, int i_specia
}
}
fill_buf(decode_data, (c < 7) ? 3 : (int)(c - 3));
- if (decode_data->status != CL_SUCCESS) {
- return decode_data->status;
- }
decode_data->pt_len[i++] = (unsigned char) c;
if (i == i_special) {
c = arj_getbits(decode_data, 2);
- if (decode_data->status != CL_SUCCESS) {
- return decode_data->status;
- }
while ((--c >= 0) && (i < NPT)) {
decode_data->pt_len[i++] = 0;
}
@@ -378,11 +361,8 @@ static int read_pt_len(arj_decode_t *decode_data, int nn, int nbit, int i_specia
while ((i < nn) && (i < NPT)) {
decode_data->pt_len[i++] = 0;
}
- if (make_table(decode_data, nn, decode_data->pt_len, 8, decode_data->pt_table, PTABLESIZE) != CL_SUCCESS) {
- return CL_EARJ;
- }
+ make_table(decode_data, nn, decode_data->pt_len, 8, decode_data->pt_table, PTABLESIZE);
}
- return CL_SUCCESS;
}
static int read_c_len(arj_decode_t *decode_data)
@@ -391,14 +371,8 @@ static int read_c_len(arj_decode_t *decode_data)
unsigned short mask;
n = arj_getbits(decode_data, CBIT);
- if (decode_data->status != CL_SUCCESS) {
- return decode_data->status;
- }
if (n == 0) {
c = arj_getbits(decode_data, CBIT);
- if (decode_data->status != CL_SUCCESS) {
- return decode_data->status;
- }
for (i = 0; i < NC; i++) {
decode_data->c_len[i] = 0;
}
@@ -414,7 +388,6 @@ static int read_c_len(arj_decode_t *decode_data)
do {
if (c >= (2 * NC - 1)) {
cli_warnmsg("ERROR: bounds exceeded\n");
- decode_data->status = CL_EFORMAT;
return CL_EFORMAT;
}
if (decode_data->bit_buf & mask) {
@@ -427,13 +400,9 @@ static int read_c_len(arj_decode_t *decode_data)
}
if (c >= 19) {
cli_dbgmsg("UNARJ: bounds exceeded\n");
- decode_data->status = CL_EARJ;
return CL_EARJ;
}
fill_buf(decode_data, (int)(decode_data->pt_len[c]));
- if (decode_data->status != CL_SUCCESS) {
- return decode_data->status;
- }
if (c <= 2) {
if (c == 0) {
c = 1;
@@ -442,13 +411,9 @@ static int read_c_len(arj_decode_t *decode_data)
} else {
c = arj_getbits(decode_data, CBIT) + 20;
}
- if (decode_data->status != CL_SUCCESS) {
- return decode_data->status;
- }
while (--c >= 0) {
if (i >= NC) {
cli_warnmsg("ERROR: bounds exceeded\n");
- decode_data->status = CL_EFORMAT;
return CL_EFORMAT;
}
decode_data->c_len[i++] = 0;
@@ -456,7 +421,6 @@ static int read_c_len(arj_decode_t *decode_data)
} else {
if (i >= NC) {
cli_warnmsg("ERROR: bounds exceeded\n");
- decode_data->status = CL_EFORMAT;
return CL_EFORMAT;
}
decode_data->c_len[i++] = (unsigned char) (c - 2);
@@ -465,9 +429,7 @@ static int read_c_len(arj_decode_t *decode_data)
while (i < NC) {
decode_data->c_len[i++] = 0;
}
- if (make_table(decode_data, NC, decode_data->c_len, 12, decode_data->c_table, CTABLESIZE) != CL_SUCCESS) {
- return CL_EARJ;
- }
+ make_table(decode_data, NC, decode_data->c_len, 12, decode_data->c_table, CTABLESIZE);
}
return CL_SUCCESS;
}
@@ -490,7 +452,6 @@ static uint16_t decode_c(arj_decode_t *decode_data)
do {
if (j >= (2 * NC - 1)) {
cli_warnmsg("ERROR: bounds exceeded\n");
- decode_data->status = CL_EARJ;
return 0;
}
if (decode_data->bit_buf & mask) {
@@ -515,7 +476,6 @@ static uint16_t decode_p(arj_decode_t *decode_data)
do {
if (j >= (2 * NC - 1)) {
cli_warnmsg("ERROR: bounds exceeded\n");
- decode_data->status = CL_EARJ;
return 0;
}
if (decode_data->bit_buf & mask) {
@@ -550,10 +510,8 @@ static int decode(int fd, arj_metadata_t *metadata)
decode_data.comp_size = metadata->comp_size;
ret = decode_start(&decode_data);
if (ret != CL_SUCCESS) {
- free(decode_data.text);
return ret;
}
- decode_data.status = CL_SUCCESS;
while (count < metadata->orig_size) {
if ((chr = decode_c(&decode_data)) <= UCHAR_MAX) {
@@ -561,10 +519,7 @@ static int decode(int fd, arj_metadata_t *metadata)
count++;
if (++out_ptr >= DDICSIZ) {
out_ptr = 0;
- if (write_text(metadata->ofd, decode_data.text, DDICSIZ) != CL_SUCCESS) {
- free(decode_data.text);
- return CL_EIO;
- }
+ write_text(metadata->ofd, decode_data.text, DDICSIZ);
}
} else {
j = chr - (UCHAR_MAX + 1 - THRESHOLD);
@@ -586,10 +541,7 @@ static int decode(int fd, arj_metadata_t *metadata)
decode_data.text[out_ptr] = decode_data.text[i];
if (++out_ptr >= DDICSIZ) {
out_ptr = 0;
- if (write_text(metadata->ofd, decode_data.text, DDICSIZ) != CL_SUCCESS) {
- free(decode_data.text);
- return CL_EIO;
- }
+ write_text(metadata->ofd, decode_data.text, DDICSIZ);
}
if (++i >= DDICSIZ) {
i = 0;
@@ -597,10 +549,6 @@ static int decode(int fd, arj_metadata_t *metadata)
}
}
}
- if (decode_data.status != CL_SUCCESS) {
- free(decode_data.text);
- return decode_data.status;
- }
}
if (out_ptr != 0) {
write_text(metadata->ofd, decode_data.text, out_ptr);
@@ -677,37 +625,21 @@ static int decode_f(int fd, arj_metadata_t *metadata)
return ret;
}
decode_data.getlen = decode_data.getbuf = 0;
- decode_data.status = CL_SUCCESS;
-
+
while (count < metadata->orig_size) {
chr = decode_len(&decode_data);
- if (decode_data.status != CL_SUCCESS) {
- free(decode_data.text);
- return decode_data.status;
- }
if (chr == 0) {
ARJ_GETBITS(dd, chr, CHAR_BIT);
- if (decode_data.status != CL_SUCCESS) {
- free(decode_data.text);
- return decode_data.status;
- }
decode_data.text[out_ptr] = (unsigned char) chr;
count++;
if (++out_ptr >= DDICSIZ) {
out_ptr = 0;
- if (write_text(metadata->ofd, decode_data.text, DDICSIZ) != CL_SUCCESS) {
- free(decode_data.text);
- return CL_EIO;
- }
+ write_text(metadata->ofd, decode_data.text, DDICSIZ);
}
} else {
j = chr - 1 + THRESHOLD;
count += j;
pos = decode_ptr(&decode_data);
- if (decode_data.status != CL_SUCCESS) {
- free(decode_data.text);
- return decode_data.status;
- }
if ((i = out_ptr - pos - 1) < 0) {
i += DDICSIZ;
}
@@ -719,10 +651,7 @@ static int decode_f(int fd, arj_metadata_t *metadata)
decode_data.text[out_ptr] = decode_data.text[i];
if (++out_ptr >= DDICSIZ) {
out_ptr = 0;
- if (write_text(metadata->ofd, decode_data.text, DDICSIZ) != CL_SUCCESS) {
- free(decode_data.text);
- return CL_EIO;
- }
+ write_text(metadata->ofd, decode_data.text, DDICSIZ);
}
if (++i >= DDICSIZ) {
i = 0;
@@ -1083,10 +1012,10 @@ int cli_unarj_extract_file(int fd, const char *dirname, arj_metadata_t *metadata
case 1:
case 2:
case 3:
- ret = decode(fd, metadata);
+ decode(fd, metadata);
break;
case 4:
- ret = decode_f(fd, metadata);
+ decode_f(fd, metadata);
break;
default:
ret = CL_EFORMAT;
diff --git a/libclamunrar/unrar.c b/libclamunrar/unrar.c
index b4cc138..fa88128 100644
--- a/libclamunrar/unrar.c
+++ b/libclamunrar/unrar.c
@@ -886,23 +886,18 @@ void rar_unpack_init_data(int solid, unpack_data_t *unpack_data)
memset(unpack_data->old_dist, 0, sizeof(unpack_data->old_dist));
unpack_data->old_dist_ptr= 0;
memset(unpack_data->unp_old_table, 0, sizeof(unpack_data->unp_old_table));
- memset(&unpack_data->LD, 0, sizeof(unpack_data->LD));
- memset(&unpack_data->DD, 0, sizeof(unpack_data->DD));
- memset(&unpack_data->LDD, 0, sizeof(unpack_data->LDD));
- memset(&unpack_data->RD, 0, sizeof(unpack_data->RD));
- memset(&unpack_data->BD, 0, sizeof(unpack_data->BD));
unpack_data->last_dist= 0;
unpack_data->last_length=0;
unpack_data->ppm_esc_char = 2;
unpack_data->unp_ptr = 0;
unpack_data->wr_ptr = 0;
- unpack_data->unp_block_type = BLOCK_LZ;
rar_init_filters(unpack_data);
}
unpack_data->in_bit = 0;
unpack_data->in_addr = 0;
unpack_data->read_top = 0;
- unpack_data->read_border = 0;
+ unpack_data->ppm_error = FALSE;
+
unpack_data->written_size = 0;
rarvm_init(&unpack_data->rarvm_data);
unpack_data->unp_crc = 0xffffffff;
@@ -963,9 +958,8 @@ static int rar_unpack29(int fd, int solid, unpack_data_t *unpack_data)
ch = ppm_decode_char(&unpack_data->ppm_data, fd, unpack_data);
rar_dbgmsg("PPM char: %d\n", ch);
if (ch == -1) {
- ppm_cleanup(&unpack_data->ppm_data);
- unpack_data->unp_block_type = BLOCK_LZ;
retval = FALSE;
+ unpack_data->ppm_error = TRUE;
break;
}
if (ch == unpack_data->ppm_esc_char) {
@@ -974,6 +968,7 @@ static int rar_unpack29(int fd, int solid, unpack_data_t *unpack_data)
rar_dbgmsg("PPM next char: %d\n", next_ch);
if (next_ch == -1) {
retval = FALSE;
+ unpack_data->ppm_error = TRUE;
break;
}
if (next_ch == 0) {
@@ -1163,12 +1158,6 @@ int rar_unpack(int fd, int method, int solid, unpack_data_t *unpack_data)
retval = rar_unpack29(fd, solid, unpack_data);
break;
default:
- retval = rar_unpack29(fd, solid, unpack_data);
- if(retval == FALSE) {
- retval = rar_unpack20(fd, solid, unpack_data);
- if(retval == FALSE)
- retval = rar_unpack15(fd, solid, unpack_data);
- }
break;
}
return retval;
diff --git a/libclamunrar/unrar.h b/libclamunrar/unrar.h
index bbcc4e0..7a3645b 100644
--- a/libclamunrar/unrar.h
+++ b/libclamunrar/unrar.h
@@ -212,6 +212,7 @@ typedef struct unpack_data_tag
unsigned int last_length;
ppm_data_t ppm_data;
int ppm_esc_char;
+ int ppm_error;
rar_filter_array_t Filters;
rar_filter_array_t PrgStack;
int *old_filter_lengths;
diff --git a/libclamunrar/unrar20.c b/libclamunrar/unrar20.c
index 8ffebeb..d273517 100644
--- a/libclamunrar/unrar20.c
+++ b/libclamunrar/unrar20.c
@@ -32,11 +32,9 @@ void unpack_init_data20(int solid, unpack_data_t *unpack_data)
if (!solid) {
unpack_data->unp_channel_delta = 0;
unpack_data->unp_cur_channel = 0;
- unpack_data->unp_audio_block = 0;
unpack_data->unp_channels = 1;
memset(unpack_data->audv, 0, sizeof(unpack_data->audv));
memset(unpack_data->unp_old_table20, 0, sizeof(unpack_data->unp_old_table20));
- memset(unpack_data->MD, 0, sizeof(unpack_data->MD));
}
}
diff --git a/libclamunrar/unrarppm.c b/libclamunrar/unrarppm.c
index 2904819..1679e53 100644
--- a/libclamunrar/unrarppm.c
+++ b/libclamunrar/unrarppm.c
@@ -604,9 +604,6 @@ NO_LOOP:
if ((p=pc->con_ut.u.stats)->symbol != up_state.symbol) {
do {
p++;
- if ((void *)p > (void *) ppm_data->sub_alloc.heap_end) {
- return NULL;
- }
} while (p->symbol != up_state.symbol);
}
cf = p->freq - 1;
@@ -929,13 +926,6 @@ void ppm_destructor(ppm_data_t *ppm_data)
sub_allocator_stop_sub_allocator(&ppm_data->sub_alloc);
}
-void ppm_cleanup(ppm_data_t *ppm_data)
-{
- sub_allocator_stop_sub_allocator(&ppm_data->sub_alloc);
- sub_allocator_start_sub_allocator(&ppm_data->sub_alloc, 1);
- start_model_rare(ppm_data, 2);
-}
-
int ppm_decode_init(ppm_data_t *ppm_data, int fd, unpack_data_t *unpack_data, int *EscChar)
{
int max_order, Reset, MaxMB;
diff --git a/libclamunrar/unrarppm.h b/libclamunrar/unrarppm.h
index 50b901f..a588a19 100644
--- a/libclamunrar/unrarppm.h
+++ b/libclamunrar/unrarppm.h
@@ -111,7 +111,6 @@ typedef struct ppm_data_tag
} ppm_data_t;
-void ppm_cleanup(ppm_data_t *ppm_data);
int ppm_decode_init(ppm_data_t *ppm_data, int fd, struct unpack_data_tag *unpack_data, int *EscChar);
int ppm_decode_char(ppm_data_t *ppm_data, int fd, struct unpack_data_tag *unpack_data);
void ppm_constructor(ppm_data_t *ppm_data);
--
Debian repository for ClamAV
More information about the Pkg-clamav-commits
mailing list