aboutsummaryrefslogblamecommitdiff
path: root/mail/simscan/files/patch-fix_clamav_0.93
blob: 73ca74c26bfb0edcb014fc9782c2152bbfe1b3c9 (plain) (tree)
1
2
3
4
5
6
7
8







                                                                      


                        
                                      


                        



                                                 


             










                                                           













                                                 







                                       



















































                                                                               
--- ./configure.orig	2007-10-29 09:14:25.000000000 -0500
+++ ./configure	2012-06-26 14:20:22.000000000 -0500
@@ -4682,13 +4682,26 @@
         clamavdb=""
         for f in "$CLAMAV_DB" /usr/local/share/clamav /var/lib/clamav
         do
-          if test -f "$f/daily.cvd"
+          if test -f "$f/daily.cvd" || test -d "$f/daily.inc"
+          then
+            clamavdb=$f
+            break
+          elif test -f "$f/daily.cld"
+          then
+            clamavdb=$f
+            break
+          elif test -f "$f/daily.inc/daily.info"
           then
             clamavdb=$f
             break
           fi
         done
 
+	# Default to $f/daily.cld
+	if test "$clamavdb" = ""; then
+		clamavdb="$f/daily.cld"
+	fi
+
         if test "$clamavdb" = ""
         then
           echo "$as_me:$LINENO: result: no" >&5
--- ./configure.in.orig	2007-10-29 09:13:40.000000000 -0500
+++ ./configure.in	2012-06-26 14:20:02.000000000 -0500
@@ -622,9 +622,22 @@
           then
             clamavdb=$f
             break
+          elif test -f "$f/daily.cld"
+          then
+            clamavdb=$f
+            break
+          elif test -f "$f/daily.inc/daily.info"
+          then
+            clamavdb=$f
+            break
           fi
         done
 
+	# Default to $f/daily.cld
+	if test "$clamavdb" = ""; then
+		clamavdb="$f/daily.cld"
+	fi
+
         if test "$clamavdb" = ""
         then
           AC_MSG_RESULT(no)
--- simscanmk.c	2006-10-10 19:15:17.000000000 -0400
+++ simscanmk.c	2008-07-07 14:21:46.000000000 -0400
@@ -123,6 +123,7 @@
   char input[MAX_LINE];
   char dbpath[MAX_LINE];
   char *pos;
+  int rv;
 #if ENABLE_SPAM==1 || ENABLE_TROPHIE==1
   int fnd_vsvers;
 #endif
@@ -276,8 +277,18 @@
     waitpid(pid,&rmstat,0);
     close(pin[0]); close(pin[1]);
   }
-  strncpy(dbpath,CLAMAVDBPATH,MAX_DATA);
-  strcat(dbpath,"/main.cvd");
+  strncpy(dbpath,CLAMAVDBPATH,MAX_LINE);
+  strncat(dbpath,"/main.inc/main.info",(MAX_LINE-sizeof(CLAMAVDBPATH)-1));
+  rv=access(dbpath,F_OK);
+  if(rv) {
+    strncpy(dbpath,CLAMAVDBPATH,MAX_LINE);
+    strncat(dbpath,"/main.cld",(MAX_LINE-sizeof(CLAMAVDBPATH)-1));
+  }
+  rv=access(dbpath,F_OK);
+  if(rv) {
+    strncpy(dbpath,CLAMAVDBPATH,MAX_LINE);
+    strncat(dbpath,"/main.cvd",(MAX_LINE-sizeof(CLAMAVDBPATH)-1));
+  }
   strcat(data,"m:");
   if (pipe(pin)){
     printf("error opening pipe for sigtool\n");
@@ -306,8 +317,18 @@
     }
     waitpid(pid,&rmstat,0);
     close(pin[0]); close(pin[1]);
-    strncpy(dbpath,CLAMAVDBPATH,MAX_DATA);
-    strcat(dbpath,"/daily.cvd");
+    strncpy(dbpath,CLAMAVDBPATH,MAX_LINE);
+    strncat(dbpath,"/daily.inc/daily.info",(MAX_LINE-sizeof(CLAMAVDBPATH)-1));
+    rv=access(dbpath,F_OK);
+    if(rv) {
+      strncpy(dbpath,CLAMAVDBPATH,MAX_LINE);
+      strncat(dbpath,"/daily.cld",(MAX_LINE-sizeof(CLAMAVDBPATH)-1));
+    }
+    rv=access(dbpath,F_OK);
+    if(rv) {
+      strncpy(dbpath,CLAMAVDBPATH,MAX_LINE);
+      strncat(dbpath,"/daily.cvd",(MAX_LINE-sizeof(CLAMAVDBPATH)-1));
+    }
     if (pipe(pin)){
      printf("error opening pipe for sigtool\n");
     }