Browse code

bugfixes

git-svn-id: file:///var/lib/svn/clamav-devel/trunk/clamav-devel@492 77e5149b-7576-45b1-b177-96237e5ba77b

Tomasz Kojm authored on 2004/04/15 07:55:44
Showing 8 changed files
... ...
@@ -6,12 +6,13 @@ Project leader.
6 6
 
7 7
 Nigel Horne <njh*clamav.net>
8 8
 home page : http://bandsman.co.uk
9
-Author of clamav-milter and the whole mbox code.
9
+Author of clamav-milter and the mbox code.
10 10
 
11
-Luca 'NERvOus' Gibelli <nervous*clamav.net>
11
+Luca 'NERvOus' Gibelli <luca*clamav.net>
12 12
 home page : http://www.nervous.it
13
+gpg key	  : http://www.clamav.net/gpg/nervoso.gpg
13 14
 GPG fingerprint = C782 121E 8C3A 90E3 7A87  D802 6277 8FF4 5EFC 5582
14
-System administrator (WWW, mailing lists, mirror mechanism, virus
15
+System administrator (WWW, mailing lists, mirror coordinator, virus
15 16
 submission mechanism)
16 17
 
17 18
 Trog <trog*clamav.net>
... ...
@@ -29,7 +30,7 @@ Database developers:
29 29
 aCaB <acab*clamav.net>
30 30
 
31 31
 Christoph Cordes <cc*clamav.net>
32
-gpg key   :
32
+gpg key   : http://www.clamav.net/gpg/ccordes.gpg
33 33
 GPG fingerprint = 4C6F F6A5 6034 04B1 1006  A7E1 1F1B 78CE C6DA 0F00
34 34
 
35 35
 Diego D'Ambra <diego*clamav.net>
... ...
@@ -61,6 +62,7 @@ Andrey Cherezov <andrey*cherezov.koenig.su>
61 61
 Tom G. Christensen <tgc*statsbiblioteket.dk>
62 62
 Damien Curtain <damien*pagefault.org>
63 63
 Michael Dankov <misha*btrc.ru>
64
+Maxim Dounin <mdounin*rambler-co.ru>
64 65
 Alejandro Dubrovsky <s328940*student.uq.edu.au>
65 66
 Magnus Ekdahl <magnus*debian.org>
66 67
 Jason Englander <jason*englanders.cc>
... ...
@@ -1,3 +1,10 @@
1
+Thu Apr 15 00:51:29 CEST 2004 (tk)
2
+----------------------------------
3
+  * libclamav: cli_scanmail: fix a hole in recursion limit (patch by
4
+	       Maxim Dounin <mdounin*rambler-co.ru>)
5
+  * clamscan: fix HPUX compilation error (reported by Rolf Eike Beer
6
+	      <eike*mail.math.uni-mannheim.de>)
7
+
1 8
 Wed Apr 14 09:32:50 BST 2004 (njh)
2 9
 ----------------------------------
3 10
   * libclamav/mbox.c:	When debugging print the email number when
... ...
@@ -5,7 +12,7 @@ Wed Apr 14 09:32:50 BST 2004 (njh)
5 5
 
6 6
 Wed Apr 14 03:24:44 CEST 2004 (tk)
7 7
 ----------------------------------
8
-  * clamd: VirusEvent: disable support for %f
8
+  * clamd: VirusEvent: drop support for %f
9 9
 	   (http://www.securitytracker.com/alerts/2004/Apr/1009615.html)
10 10
 
11 11
 Tue Apr 13 14:16:42 CEST 2004 (tk)
... ...
@@ -81,7 +81,7 @@ dnl there is now a CREATE_PREFIX_TARGET_H in this file as a shorthand for
81 81
 dnl PREFIX_CONFIG_H from a target.h file, however w/o the target.h ever created
82 82
 dnl (the prefix is a bit different, since we add an extra -target- and -host-)
83 83
 dnl 
84
-dnl @version: $Id: aclocal.m4,v 1.32 2004/04/06 12:14:52 kojm Exp $
84
+dnl @version: $Id: aclocal.m4,v 1.33 2004/04/14 22:55:44 kojm Exp $
85 85
 dnl @author Guido Draheim <guidod@gmx.de>                 STATUS: used often
86 86
 
87 87
 AC_DEFUN([AC_CREATE_TARGET_H],
... ...
@@ -4041,7 +4041,7 @@ dnl      AC_COMPILE_CHECK_SIZEOF(ptrdiff_t, $headers)
4041 4041
 dnl      AC_COMPILE_CHECK_SIZEOF(off_t, $headers)
4042 4042
 dnl
4043 4043
 dnl @author Kaveh Ghazi <ghazi@caip.rutgers.edu>
4044
-dnl @version $Id: aclocal.m4,v 1.32 2004/04/06 12:14:52 kojm Exp $
4044
+dnl @version $Id: aclocal.m4,v 1.33 2004/04/14 22:55:44 kojm Exp $
4045 4045
 dnl
4046 4046
 AC_DEFUN([AC_COMPILE_CHECK_SIZEOF],
4047 4047
 [changequote(<<, >>)dnl
... ...
@@ -81,6 +81,9 @@
81 81
 /* have gmp installed */
82 82
 #undef HAVE_GMP
83 83
 
84
+/* Define to 1 if you have the `inet_ntop' function. */
85
+#undef HAVE_INET_NTOP
86
+
84 87
 /* Define to 1 if you have the <inttypes.h> header file. */
85 88
 #undef HAVE_INTTYPES_H
86 89
 
... ...
@@ -41,6 +41,7 @@
41 41
 #include <target.h>
42 42
 
43 43
 #include "output.h"
44
+#include "others.h"
44 45
 
45 46
 int fileinfo(const char *filename, short i)
46 47
 {
... ...
@@ -8233,7 +8233,8 @@ _ACEOF
8233 8233
 
8234 8234
 
8235 8235
 
8236
-for ac_func in poll setsid memcpy snprintf vsnprintf strerror_r strlcpy strlcat
8236
+
8237
+for ac_func in poll setsid memcpy snprintf vsnprintf strerror_r strlcpy strlcat inet_ntop
8237 8238
 do
8238 8239
 as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
8239 8240
 echo "$as_me:$LINENO: checking for $ac_func" >&5
... ...
@@ -57,7 +57,7 @@ AC_TYPE_OFF_T
57 57
 AC_COMPILE_CHECK_SIZEOF(short)
58 58
 AC_COMPILE_CHECK_SIZEOF(int)
59 59
 AC_COMPILE_CHECK_SIZEOF(long)
60
-AC_CHECK_FUNCS(poll setsid memcpy snprintf vsnprintf strerror_r strlcpy strlcat)
60
+AC_CHECK_FUNCS(poll setsid memcpy snprintf vsnprintf strerror_r strlcpy strlcat inet_ntop)
61 61
 
62 62
 # Check for broken snprintf
63 63
 if test "x$ac_cv_func_snprintf" = "xyes" ; then
... ...
@@ -110,6 +110,7 @@ cli_file_t cli_filetype(const char *buf, size_t buflen)
110 110
 }
111 111
 
112 112
 static int cli_magic_scandesc(int desc, const char **virname, long int *scanned, const struct cl_node *root, const struct cl_limits *limits, int options, int *reclev);
113
+static int cli_scanfile(const char *filename, const char **virname, unsigned long int *scanned, const struct cl_node *root, const struct cl_limits *limits, int options, int *reclev);
113 114
 
114 115
 static int cli_scandesc(int desc, const char **virname, long int *scanned, const struct 
115 116
 cl_node *root)
... ...
@@ -720,7 +721,7 @@ static int cli_scandir(char *dirname, const char **virname, long int *scanned, c
720 720
 			    cli_scandir(fname, virname, scanned, root, limits, options, reclev);
721 721
 			else
722 722
 			    if(S_ISREG(statbuf.st_mode))
723
-				if(cl_scanfile(fname, virname, scanned, root, limits, options) == CL_VIRUS) {
723
+				if(cli_scanfile(fname, virname, scanned, root, limits, options, reclev) == CL_VIRUS) {
724 724
 				    free(fname);
725 725
 				    closedir(dd);
726 726
 				    return CL_VIRUS;
... ...
@@ -747,7 +748,7 @@ static int cli_scanmail(int desc, const char **virname, long int *scanned, const
747 747
 	int ret;
748 748
 
749 749
 
750
-    cli_dbgmsg("Starting cli_scanmail()\n");
750
+    cli_dbgmsg("Starting cli_scanmail(), reclev %d\n", *reclev);
751 751
 
752 752
     if(*reclev > 5) /* FIXME: a temporary workaround */
753 753
 	return CL_CLEAN;
... ...
@@ -883,6 +884,21 @@ int cl_scandesc(int desc, const char **virname, unsigned long int *scanned, cons
883 883
     return cli_magic_scandesc(desc, virname, scanned, root, limits, options, &reclev);
884 884
 }
885 885
 
886
+int cli_scanfile(const char *filename, const char **virname, unsigned long int *scanned, const struct cl_node *root, const struct cl_limits *limits, int options, int *reclev)
887
+{
888
+	int fd, ret;
889
+
890
+    /* internal version of cl_scanfile with reclev preserved */
891
+
892
+    if((fd = open(filename, O_RDONLY)) == -1)
893
+	return CL_EOPEN;
894
+
895
+    ret = cli_magic_scandesc(fd, virname, scanned, root, limits, options, reclev);
896
+
897
+    close(fd);
898
+    return ret;
899
+}
900
+
886 901
 int cl_scanfile(const char *filename, const char **virname, unsigned long int *scanned, const struct cl_node *root, const struct cl_limits *limits, int options)
887 902
 {
888 903
 	int fd, ret;