summaryrefslogtreecommitdiffstats
path: root/antivirus/clamav/clamdmail-patches
diff options
context:
space:
mode:
Diffstat (limited to 'antivirus/clamav/clamdmail-patches')
-rw-r--r--antivirus/clamav/clamdmail-patches251
1 files changed, 251 insertions, 0 deletions
diff --git a/antivirus/clamav/clamdmail-patches b/antivirus/clamav/clamdmail-patches
new file mode 100644
index 0000000000..7d53b3131b
--- /dev/null
+++ b/antivirus/clamav/clamdmail-patches
@@ -0,0 +1,251 @@
+diff -uNr clamdmail-0.15a.orig/clamdmail.c clamdmail-0.15a/clamdmail.c
+--- clamdmail-0.15a.orig/clamdmail.c 2004-03-24 16:24:32.000000000 +0100
++++ clamdmail-0.15a/clamdmail.c 2004-06-05 14:08:19.425200872 +0200
+@@ -33,6 +33,9 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <clamav.h>
++#if !defined(C_CYGWIN) && !defined(C_BEOS)
++#include <pwd.h>
++#endif
+
+
+ #include "options.h"
+@@ -40,6 +43,7 @@
+ #include "shared.h"
+ #include "defaults.h"
+ #include "ripmime-api.h"
++#include "output.h"
+
+ #define CLAMDMAIL_VER "0.15"
+
+@@ -49,6 +53,9 @@
+ void printtag(void);
+ int quarantine(int fd, char *quarname, long timestamp, char **virname, char *From, char *FromR, char *To, char *out, struct optstruct *opt);
+
++struct s_info claminfo;
++short printinfected = 0;
++
+ /* this local macro takes care about freeing memory at exit */
+ /*
+ #define mexit(i) if(opt) free_opt(opt); \
+@@ -167,11 +174,6 @@
+ tmpdir = "/tmp";
+ #endif
+
+-
+- if(writeaccess(tmpdir, UNPUSER) != 1) {
+- mprintf("@Can't write to the temporary directory.\n");
+- mexit(64);
+- }
+ /* generate the temporary directory */
+
+ dir = cl_gentemp(tmpdir);
+@@ -185,11 +187,6 @@
+
+
+ tmper = tempnam(tmpfil, pfx);
+- /*if((tmp = tmpfile()) == NULL) {
+- cli_dbgmsg("Can't generate tmpfile().\n");
+- return CL_ETMPFILE;
+- }
+- */
+
+ fd = open(tmper,O_RDWR|O_CREAT, S_IRWXU);
+
+@@ -230,7 +227,9 @@
+
+ free(dir);
+
++#ifdef USE_SPAMC
+ if(ret == CL_CLEAN && optl(opt, "spam")) isspam = spamc(fd,rcptto,maxsize);
++#endif
+
+ ret = spoolstdin(fd, ret, &virname, &bndrystore, opt);
+
+@@ -466,7 +465,9 @@
+ mprintf(" \n");
+ mprintf(" --help -h Show help\n");
+ mprintf(" --version -V Print version number and exit\n");
++#ifdef USE_SPAMC
+ mprintf(" --spam Pass message to spamc/spamd first.\n");
++#endif
+ mprintf(" --tag Tag messages as scanned.\n");
+ mprintf(" --admin=you@you.com The from address you want clamdmail to use when informing recipients\n");
+ mprintf(" they have been sent an infected message. Basically, your postmaster account.\n");
+diff -uNr clamdmail-0.15a.orig/client.c clamdmail-0.15a/client.c
+--- clamdmail-0.15a.orig/client.c 2003-11-22 19:41:23.000000000 +0100
++++ clamdmail-0.15a/client.c 2004-06-05 13:34:39.870219896 +0200
+@@ -35,9 +35,11 @@
+ #include <dirent.h>
+
+ #include "others.h"
+-#include "cfgfile.h"
+ #include "defaults.h"
+ #include "shared.h"
++#include "cfgparser.h"
++#include "memory.h"
++#include "output.h"
+
+ int client(const char *dirname, struct optstruct *opt, char **virname)
+ {
+diff -uNr clamdmail-0.15a.orig/Makefile.am clamdmail-0.15a/Makefile.am
+--- clamdmail-0.15a.orig/Makefile.am 2003-11-22 22:29:47.000000000 +0100
++++ clamdmail-0.15a/Makefile.am 2004-06-05 13:34:39.870219896 +0200
+@@ -20,6 +20,12 @@
+ bin_PROGRAMS = clamdmail
+
+ clamdmail_SOURCES = \
++ ../shared/output.c \
++ ../shared/output.h \
++ ../shared/cfgparser.c \
++ ../shared/cfgparser.h \
++ ../shared/memory.c \
++ ../shared/memory.h \
+ options.c \
+ options.h \
+ clamdmail.c \
+@@ -28,9 +34,9 @@
+ treewalk.c \
+ defaults.h
+
+-clamdmail_LDADD = ../clamscan/getopt.o ../clamscan/others.o ../clamd/cfgfile.o
++clamdmail_LDADD = ../clamscan/getopt.o ../clamscan/others.o
+
+ endif
+
+-INCLUDES = -I../clamscan -I../clamd -I../libclamav
++INCLUDES = -I../clamscan -I../clamd -I../libclamav -I../shared
+ LIBS = -L../libclamav -lclamav @FRESHCLAM_LIBS@
+diff -uNr clamdmail-0.15a.orig/Makefile.in clamdmail-0.15a/Makefile.in
+--- clamdmail-0.15a.orig/Makefile.in 2004-03-24 15:58:14.000000000 +0100
++++ clamdmail-0.15a/Makefile.in 2004-06-05 13:34:39.872219592 +0200
+@@ -119,19 +119,26 @@
+ @USE_PTHREAD_TRUE@bin_PROGRAMS = clamdmail
+
+ @USE_PTHREAD_TRUE@clamdmail_SOURCES = \
++@USE_PTHREAD_TRUE@ ../shared/output.c \
++@USE_PTHREAD_TRUE@ ../shared/output.h \
++@USE_PTHREAD_TRUE@ ../shared/cfgparser.c \
++@USE_PTHREAD_TRUE@ ../shared/cfgparser.h \
++@USE_PTHREAD_TRUE@ ../shared/memory.c \
++@USE_PTHREAD_TRUE@ ../shared/memory.h \
+ @USE_PTHREAD_TRUE@ options.c \
+ @USE_PTHREAD_TRUE@ options.h \
+ @USE_PTHREAD_TRUE@ clamdmail.c \
+ @USE_PTHREAD_TRUE@ client.c \
+ @USE_PTHREAD_TRUE@ treewalk.c \
+-@USE_PTHREAD_TRUE@ spamcc.c \
+-@USE_PTHREAD_TRUE@ defaults.h
++@USE_PTHREAD_TRUE@ defaults.h \
++#@USE_PTHREAD_TRUE@ spamcc.c
+
+
+-@USE_PTHREAD_TRUE@clamdmail_LDADD = ../clamscan/getopt.o ../clamscan/others.o ../clamd/cfgfile.o
++@USE_PTHREAD_TRUE@clamdmail_LDADD = ../clamscan/getopt.o ../clamscan/others.o
+
+-INCLUDES = -I../clamscan -I../clamd -I../libclamav
+-LIBS = -L../libclamav -lclamav -lripmime -lspamc @FRESHCLAM_LIBS@
++INCLUDES = -I../clamscan -I../clamd -I../libclamav -I../shared
++#LIBS = -L../libclamav -lclamav -lripmime -lspamc @FRESHCLAM_LIBS@
++LIBS = -L../libclamav -lclamav -lripmime @FRESHCLAM_LIBS@
+ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+@@ -141,11 +148,13 @@
+ PROGRAMS = $(bin_PROGRAMS)
+
+ @USE_PTHREAD_TRUE@am_clamdmail_OBJECTS = options.$(OBJEXT) \
++@USE_PTHREAD_TRUE@ cfgparser.$(OBJEXT) memory.$(OBJEXT) \
++@USE_PTHREAD_TRUE@ output.$(OBJEXT) \
+ @USE_PTHREAD_TRUE@ clamdmail.$(OBJEXT) client.$(OBJEXT) \
+-@USE_PTHREAD_TRUE@ treewalk.$(OBJEXT) spamcc.$(OBJEXT)
++@USE_PTHREAD_TRUE@ treewalk.$(OBJEXT) # spamcc.$(OBJEXT)
+ clamdmail_OBJECTS = $(am_clamdmail_OBJECTS)
+ @USE_PTHREAD_TRUE@clamdmail_DEPENDENCIES = ../clamscan/getopt.o \
+-@USE_PTHREAD_TRUE@ ../clamscan/others.o ../clamd/cfgfile.o
++@USE_PTHREAD_TRUE@ ../clamscan/others.o
+ @USE_PTHREAD_FALSE@clamdmail_DEPENDENCIES =
+ clamdmail_LDFLAGS =
+
+@@ -157,6 +166,8 @@
+ am__depfiles_maybe = depfiles
+ @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/clamdmail.Po ./$(DEPDIR)/client.Po \
+ @AMDEP_TRUE@ ./$(DEPDIR)/options.Po \
++@AMDEP_TRUE@ ./$(DEPDIR)/cfgparser.Po ./$(DEPDIR)/output.Po \
++@AMDEP_TRUE@ ./$(DEPDIR)/memory.Po \
+ @AMDEP_TRUE@ ./$(DEPDIR)/treewalk.Po
+ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+@@ -222,6 +233,9 @@
+ echo " rm -f $$p $$f"; \
+ rm -f $$p $$f ; \
+ done
++output.$(OBJEXT): ../shared/output.c
++cfgparser.$(OBJEXT): ../shared/cfgparser.c
++memory.$(OBJEXT): ../shared/memory.c
+ clamdmail$(EXEEXT): $(clamdmail_OBJECTS) $(clamdmail_DEPENDENCIES)
+ @rm -f clamdmail$(EXEEXT)
+ $(LINK) $(clamdmail_LDFLAGS) $(clamdmail_OBJECTS) $(clamdmail_LDADD) $(LIBS)
+@@ -259,6 +273,61 @@
+ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<
+ CCDEPMODE = @CCDEPMODE@
+
++output.o: ../shared/output.c
++@AMDEP_TRUE@ source='../shared/output.c' object='output.o' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@ depfile='$(DEPDIR)/output.Po' tmpdepfile='$(DEPDIR)/output.TPo' @AMDEPBACKSLASH@
++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o output.o `test -f '../shared/output.c' || echo '$(srcdir)/'`../shared/output.c
++
++output.obj: ../shared/output.c
++@AMDEP_TRUE@ source='../shared/output.c' object='output.obj' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@ depfile='$(DEPDIR)/output.Po' tmpdepfile='$(DEPDIR)/output.TPo' @AMDEPBACKSLASH@
++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o output.obj `cygpath -w ../shared/output.c`
++
++output.lo: ../shared/output.c
++@AMDEP_TRUE@ source='../shared/output.c' object='output.lo' libtool=yes @AMDEPBACKSLASH@
++@AMDEP_TRUE@ depfile='$(DEPDIR)/output.Plo' tmpdepfile='$(DEPDIR)/output.TPlo' @AMDEPBACKSLASH@
++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o output.lo `test -f '../shared/output.c' || echo '$(srcdir)/'`../shared/output.c
++
++cfgparser.o: ../shared/cfgparser.c
++@AMDEP_TRUE@ source='../shared/cfgparser.c' object='cfgparser.o' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@ depfile='$(DEPDIR)/cfgparser.Po' tmpdepfile='$(DEPDIR)/cfgparser.TPo' @AMDEPBACKSLASH@
++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cfgparser.o `test -f '../shared/cfgparser.c' || echo '$(srcdir)/'`../shared/cfgparser.c
++
++cfgparser.obj: ../shared/cfgparser.c
++@AMDEP_TRUE@ source='../shared/cfgparser.c' object='cfgparser.obj' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@ depfile='$(DEPDIR)/cfgparser.Po' tmpdepfile='$(DEPDIR)/cfgparser.TPo' @AMDEPBACKSLASH@
++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cfgparser.obj `cygpath -w ../shared/cfgparser.c`
++
++cfgparser.lo: ../shared/cfgparser.c
++@AMDEP_TRUE@ source='../shared/cfgparser.c' object='cfgparser.lo' libtool=yes @AMDEPBACKSLASH@
++@AMDEP_TRUE@ depfile='$(DEPDIR)/cfgparser.Plo' tmpdepfile='$(DEPDIR)/cfgparser.TPlo' @AMDEPBACKSLASH@
++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o cfgparser.lo `test -f '../shared/cfgparser.c' || echo '$(srcdir)/'`../shared/cfgparser.c
++
++memory.o: ../shared/memory.c
++@AMDEP_TRUE@ source='../shared/memory.c' object='memory.o' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@ depfile='$(DEPDIR)/memory.Po' tmpdepfile='$(DEPDIR)/memory.TPo' @AMDEPBACKSLASH@
++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o memory.o `test -f '../shared/memory.c' || echo '$(srcdir)/'`../shared/memory.c
++
++memory.obj: ../shared/memory.c
++@AMDEP_TRUE@ source='../shared/memory.c' object='memory.obj' libtool=no @AMDEPBACKSLASH@
++@AMDEP_TRUE@ depfile='$(DEPDIR)/memory.Po' tmpdepfile='$(DEPDIR)/memory.TPo' @AMDEPBACKSLASH@
++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o memory.obj `cygpath -w ../shared/memory.c`
++
++memory.lo: ../shared/memory.c
++@AMDEP_TRUE@ source='../shared/memory.c' object='memory.lo' libtool=yes @AMDEPBACKSLASH@
++@AMDEP_TRUE@ depfile='$(DEPDIR)/memory.Plo' tmpdepfile='$(DEPDIR)/memory.TPlo' @AMDEPBACKSLASH@
++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
++ $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o memory.lo `test -f '../shared/memory.c' || echo '$(srcdir)/'`../shared/memory.c
++CCDEPMODE = @CCDEPMODE@
++
+ mostlyclean-libtool:
+ -rm -f *.lo
+