Browse code

General fixes

git-svn: trunk@223

Tomasz Kojm authored on 2004/02/01 10:18:57
Showing 19 changed files
... ...
@@ -14,6 +14,9 @@ GPG fingerprint = C782 121E 8C3A 90E3 7A87  D802 6277 8FF4 5EFC 5582
14 14
 System administrator (WWW, mailing lists, mirror mechanism, virus
15 15
 submission mechanism)
16 16
 
17
+Trog <trog*clamav.net>
18
+OLE2 and VBA decoders.
19
+
17 20
 Submission management interface (for database developers only): Diego D'Ambra
18 21
 <diego*clamav.net>, Thomas Madsen <tm*softcom.dk>
19 22
 
... ...
@@ -44,6 +47,7 @@ ClamAV patches were submitted by (in alphabetical order):
44 44
 
45 45
 Kamil Andrusz <wizz*mniam.net>
46 46
 Patrick Bihan-Faou <patrick*mindstep.com>
47
+Len Budney <lbudney*pobox.com>
47 48
 Damien Curtain <damien*pagefault.org>
48 49
 Michael Dankov <misha*btrc.ru>
49 50
 Alejandro Dubrovsky <s328940*student.uq.edu.au>
... ...
@@ -52,15 +56,19 @@ Jason Englander <jason*englanders.cc>
52 52
 David Ford <david+cert*blue-labs.org>
53 53
 Nigel Horne <njh*smsltd.demon.co.uk>
54 54
 Hrvoje Habjanic <hrvoje.habjanic*zg.hinet.hr>
55
+Andy Igoshin <ai*vsu.ru>
55 56
 Nicholas M. Kirsch <nick*kirsch.org>
56 57
 Robbert Kouprie <robbert*exx.nl>
57 58
 Thomas Lamy <Thomas.Lamy*in-online.net>
58 59
 Marty Lee <marty*maui.co.uk>
59 60
 Peter N Lewis <peter*stairways.com.au>
60 61
 David S. Madole <david*madole.net>
62
+Andrey V. Malyshev" <amal*krasn.ru>
63
+Everton da Silva Marques <everton*lab.ipaccess.diveo.net.br>
61 64
 Denis De Messemacker <ddm*clamav.net>
62 65
 Mark Mielke <mark*mark.mielke.cc>
63 66
 Arkadiusz Miskiewicz <misiek*pld.org.pl>
67
+Dustin Mollo <dustin.mollo*sonoma.edu>
64 68
 Hendrik Muhs <Hendrik.Muhs*student.uni-magdeburg.de>
65 69
 Masaki Ogawa <proc*mac.com>
66 70
 Rudolph Pereira <r.pereira*isu.usyd.edu.au>
... ...
@@ -1,3 +1,25 @@
1
+Sun Feb  1 02:12:50 CET 2004 (tk)
2
+---------------------------------
3
+  * libclamav: + use strcasecmp() instead of strcmp() when comparing
4
+		 "Return-path" (Nigel). It may cause compilation errors on
5
+		 some systems so please report potential problems.
6
+	       + small cleanup for Solaris (patch by Andy Igoshin <ai*vsu.ru>)
7
+	       + readdb: free resources in critical error conditions: (patch by
8
+	         Everton da Silva Marques <everton*lab.ipaccess.diveo.net.br>)
9
+  * clamdscan: return 2 if clamd returns error messages (patch by Len Budney
10
+	       <lbudney*pobox.com>
11
+  * clamd: + new directives: TemporaryDirectory, LogClean (patch by Andrey
12
+	     V. Malyshev" <amal*krasn.ru>)
13
+	   + UseProcesses has been temporarily disabled (the code is broken and
14
+	     must be updated for the new protocol)
15
+  * sigtool: + fixed compilation error with Sun's compiler (reported by
16
+	       Alex S Moore <asmoore*edge.net>)
17
+	     + -l (short option for --list-sigs)
18
+  * freshclam: reply to -h before parsing a config file (patch by Dustin Mollo
19
+	       <dustin.mollo*sonoma.edu>)
20
+  * configure: + check for __attribute__((packed)) (Trog) 
21
+	       + use --disable-cr on OpenBSD 3.3 automatically (thanks to Nigel)
22
+
1 23
 Fri Jan 30 12:45:10 GMT 2004 (njh)
2 24
 ----------------------------------
3 25
   * contrib:	   Recursive scan into folders by the Windows client is now
... ...
@@ -6,7 +28,7 @@ Fri Jan 30 12:45:10 GMT 2004 (njh)
6 6
 Thu Jan 29 12:54:08 GMT 2004 (njh)
7 7
 ----------------------------------
8 8
   * clamav-milter: added --noreject flag, thanks to
9
-			"Vijay Sarvepalli" <vssarvep@office.uncg.edu>
9
+			"Vijay Sarvepalli" <vssarvep*office.uncg.edu>
10 10
   * contrib:	   Added Windows client
11 11
 
12 12
 Thu Jan 29 10:29:02 GMT 2004 (trog)
... ...
@@ -16,13 +38,13 @@ Thu Jan 29 10:29:02 GMT 2004 (trog)
16 16
 Wed Jan 28 15:57:44 GMT 2004 (njh)
17 17
 ----------------------------------
18 18
   * clamav-milter: Fixed compilation error with --enable-debug
19
-  		Thanks to "Serhiy V. Matveyev" <matveyev@uatele.com> for
19
+  		Thanks to "Serhiy V. Matveyev" <matveyev*uatele.com> for
20 20
 		pointing this out to me
21 21
 
22 22
 Wed Jan 28 10:16:49 GMT 2004 (njh)
23 23
 ----------------------------------
24 24
   * libclamav:	Added support to scan some bounce messages
25
-  		Thanks to Jay <sysop-clamav@coronastreet.net> for
25
+  		Thanks to Jay <sysop-clamav*coronastreet.net> for
26 26
 		letting me bounce ideas off him
27 27
 
28 28
 Tue Jan 27 22:36:31 CET 2004 (tk)
... ...
@@ -80,7 +102,7 @@ Sat Jan 24 17:45:40 GMT 2004 (njh)
80 80
 Fri Jan 23 12:12:30 CET 2004 (tk)
81 81
 ---------------------------------
82 82
   * libclamav: added support for OLE2 / VBA streams scanning (!!), based on
83
-	       code written by Trog <trog@uncon.org>. It may be enabled
83
+	       code written by Trog <trog*uncon.org>. It may be enabled
84 84
 	       with CL_OLE2 passed in options to cli_scandesc().
85 85
   * clamscan: support for OLE2 scanning is enabled by default and may be
86 86
 	      disabled with --no-ole2
... ...
@@ -153,7 +175,7 @@ Mon Jan 12 08:58:59 GMT 2004 (njh)
153 153
 
154 154
 Sat Jan 10 16:23:54 GMT 2004 (njh)
155 155
 ----------------------------------
156
-  * clamav-milter: Added OpenBSD instructions from <peo_s@incedo.org>
156
+  * clamav-milter: Added OpenBSD instructions from <peo_s*incedo.org>
157 157
 	and --signature-file option
158 158
 
159 159
 Sat Jan 10 14:52:00 GMT 2004 (njh)
... ...
@@ -204,7 +226,7 @@ Wed Jan  7 21:50:28 CET 2004 (tk)
204 204
 Tue Jan  6 14:42:00 GMT 2004 (njh)
205 205
 ----------------------------------
206 206
   * libclamav: Handle headers which do not not have a space after the ':'
207
-	Example mail submitted by "Diego d'Ambra" <da@softcom.dk>
207
+	Example mail submitted by "Diego d'Ambra" <da*softcom.dk>
208 208
 
209 209
 Tue Jan  6 14:43:42 CET 2004 (tk)
210 210
 ---------------------------------
... ...
@@ -226,7 +248,7 @@ Sat Jan  3 11:30:38 CET 2004 (tk)
226 226
 Wed Dec 31 14:47:13 GMT 2003 (njh)
227 227
 ----------------------------------
228 228
   * clamav-milter: Included the sendmail queue ID in the log, from an
229
-		idea by Andy Fiddaman <af@jeamland.org>
229
+		idea by Andy Fiddaman <af*jeamland.org>
230 230
 
231 231
 Tue Dec 30 04:33:29 CET 2003 (tk)
232 232
 ---------------------------------
... ...
@@ -243,7 +265,7 @@ Mon Dec 29 06:19:54 CET 2003 (tk)
243 243
 Sat Dec 27 17:29:30 GMT 2003 (njh)
244 244
 ----------------------------------
245 245
   * clamav-devel: Moved --sign data to private area
246
-		(suggestion by Michael Dankov <misha@btrc.ru>)
246
+		(suggestion by Michael Dankov <misha*btrc.ru>)
247 247
 
248 248
 Wed Dec 24 15:27:22 CET 2003 (tk)
249 249
 ---------------------------------
... ...
@@ -333,7 +355,7 @@ Sun Dec  7 22:46:15 CET 2003 (tk)
333 333
 Sat Dec  6 04:04:00 GMT 2003 (njh)
334 334
 ----------------------------------
335 335
   * libclamav: Handle hand crafted emails that incorrectly set multipart headers
336
-	Handcrafted examples sent by Michael Dankov <misha@btrc.ru>
336
+	Handcrafted examples sent by Michael Dankov <misha*btrc.ru>
337 337
 
338 338
 Sat Dec  6 00:43:08 CET 2003 (tk)
339 339
 ---------------------------------
... ...
@@ -346,12 +368,12 @@ Fri Dec  5 19:16:08 GMT 2003 (njh)
346 346
   * clamav-milter: Added call to umask to ensure that the local socket
347 347
 	is not publically writeable. If it is sendmail
348 348
 	will (correctly!) refuse to start this program
349
-	Thanks for Nicklaus Wicker <n.wicker@cnk-networks.de>
349
+	Thanks for Nicklaus Wicker <n.wicker*cnk-networks.de>
350 350
 
351 351
 	Don't sent From as the first line since that means
352 352
 	clamd will think it is an mbox and not handle
353 353
 	unescaped From at the start of lines properly
354
-	Thanks to Michael Dankov <misha@btrc.ru>
354
+	Thanks to Michael Dankov <misha*btrc.ru>
355 355
 
356 356
 Fri Dec  5 09:34:44 GMT 2003 (njh)
357 357
 ----------------------------------
... ...
@@ -396,7 +418,7 @@ Tue Dec  2 23:41:04 CET 2003 (tk)
396 396
 Tue Dec  2 06:38:13 GMT 2003 (njh)
397 397
 ----------------------------------
398 398
   * clamav-milter: use setsid if setpgrp not available
399
-	Thanks to Eugene Crosser <crosser@rol.ru> and Tomasz
399
+	Thanks to Eugene Crosser <crosser*rol.ru> and Tomasz
400 400
 
401 401
 Mon Dec  1 23:51:25 CET 2003 (tk)
402 402
 ---------------------------------
... ...
@@ -417,12 +439,12 @@ Mon Dec  1 20:26:45 CET 2003 (tk)
417 417
 Sun Nov 30 06:13:28 GMT 2003 (njh)
418 418
 ----------------------------------
419 419
   * clamav-milter: Added --quarantine-dir
420
-		Thanks to Michael Dankov <misha@btrc.ru>.
420
+		Thanks to Michael Dankov <misha*btrc.ru>.
421 421
 
422 422
 Sat Nov 29 12:52:21 GMT 2003 (njh)
423 423
 ----------------------------------
424 424
   * clamav-milter: Fix problem of possible confused pointers if large number of
425
-	recipients given. Fix by Michael Dankov <misha@btrc.ru>.
425
+	recipients given. Fix by Michael Dankov <misha*btrc.ru>.
426 426
 
427 427
 Sat Nov 29 04:35:03 CET 2003 (tk)
428 428
 ---------------------------------
... ...
@@ -443,7 +465,7 @@ Wed Nov 26 14:31:49 CET 2003 (tk)
443 443
 Tue Nov 25 11:28:28 IST 2003 (njh)
444 444
 ----------------------------------
445 445
   * clamav-milter: Handle empty hostname or hostaddr
446
-	Thanks to Michael Dankov <misha@btrc.ru> for the idea
446
+	Thanks to Michael Dankov <misha*btrc.ru> for the idea
447 447
 
448 448
 Mon Nov 24 17:18:03 CET 2003 (tk)
449 449
 ---------------------------------
... ...
@@ -501,7 +523,7 @@ Sat Nov 15 01:17:29 CET 2003 (tk)
501 501
 	       <robert*roberthogan.net>)
502 502
   * libclamav: cli_scanzip: increased oversize ratio
503 503
   * freshclam: always initialize the ipaddr variable (patch by Mark Mielke
504
-	       <mark@mark.mielke.cc>)
504
+	       <mark*mark.mielke.cc>)
505 505
 
506 506
 Thu Nov 13 20:03:53 CET 2003 (tk)
507 507
 ---------------------------------
... ...
@@ -529,7 +551,7 @@ Tue Nov 11 22:47:37 CET 2003 (tk)
529 529
 Tue Nov 11 13:51:23 IST 2003 (njh)
530 530
 ----------------------------------
531 531
   * clamav-milter: Fixed handling of % characters in e-mail addresses
532
-		pointed out by dotslash@snosoft.com
532
+		pointed out by dotslash*snosoft.com
533 533
 
534 534
 Sun Nov  9 20:25:11 CET 2003 (tk)
535 535
 ---------------------------------
... ...
@@ -580,7 +602,7 @@ Wed Nov  5 11:35:22 CET 2003 (tk)
580 580
 Wed Nov  5 12:34:34 IST 2003 (njh)
581 581
 ----------------------------------
582 582
   * libclamav: Handle spam that sends broken content-disposition
583
-	(Fix by NJH, Bug notified by Laurent Wacrenier <lwa@teaser.fr>)
583
+	(Fix by NJH, Bug notified by Laurent Wacrenier <lwa*teaser.fr>)
584 584
 
585 585
 Wed Nov  5 01:52:03 CET 2003 (tk)
586 586
 ---------------------------------
... ...
@@ -594,7 +616,7 @@ Tue Nov  4 13:37:21 CET 2003 (tk)
594 594
 Tue Nov  4 08:27:00 GMT 2003 (njh)
595 595
 ----------------------------------
596 596
   * libclamav: Handle multipart messages that have no text portion
597
-	(Fix by NJH, Bug notified by Laurent Wacrenier <lwa@teaser.fr>)
597
+	(Fix by NJH, Bug notified by Laurent Wacrenier <lwa*teaser.fr>)
598 598
 
599 599
 Tue Nov  4 00:37:03 CET 2003 (tk)
600 600
 ---------------------------------
... ...
@@ -667,7 +689,7 @@ Fri Oct 17 05:08:22 CEST 2003 (tk)
667 667
 Sun Oct 12 21:14:21 BST 2003 (njh)
668 668
 ---------------------------------
669 669
   * libclamav: mbox.c now uses NO_STRTOK_R consistently with message.c
670
-		Patch by Bernd Kuhls <spiralvoice@hotmail.com>
670
+		Patch by Bernd Kuhls <spiralvoice*hotmail.com>
671 671
 
672 672
 Sun Oct 12 19:46:18 CEST 2003 (tk)
673 673
 ----------------------------------
... ...
@@ -763,7 +785,7 @@ Sun Sep 28 17:38:44 BST 2003 (njh)
763 763
 ----------------------------------
764 764
   * clamav-milter: added --force-scan flag
765 765
 		Use MaxThreads if --max-children not set
766
-		(thanks to "Richard G. Roberto" <rgr@dedlegend.com>)
766
+		(thanks to "Richard G. Roberto" <rgr*dedlegend.com>)
767 767
 
768 768
 Sun Sep 28 11:07:49 BST 2003 (njh)
769 769
 ----------------------------------
... ...
@@ -952,7 +974,7 @@ Wed Jul 17 23:33:17 CEST 2003
952 952
 
953 953
 Mon Jul 14 03:43:35 CEST 2003
954 954
 -----------------------------
955
-  * clamav-milter: Some TODOs done by Nigel Kukard <nkukard@lbsd.net>
955
+  * clamav-milter: Some TODOs done by Nigel Kukard <nkukard*lbsd.net>
956 956
                    Should stop a couple of remote chances of crashes (Nigel)
957 957
 
958 958
 Thu Jul 10 17:16:32 CEST 2003
... ...
@@ -984,13 +1006,13 @@ Wed Jun 25 03:07:10 CEST 2003
984 984
 -----------------------------
985 985
   * freshclam: fixed a typo - missing 2 in "nodb" in (should be "nodb2") in
986 986
 	       one clause. That was causing a strange behaviour in some
987
-	       situations. Patch by Damien Curtain <damien@pagefault.org>.
987
+	       situations. Patch by Damien Curtain <damien*pagefault.org>.
988 988
   * freshclam: new option --user (-u) USER - run as USER instead of the
989 989
 	       default 'clamav' user. Patch by Damien Curtain.
990 990
   * freshclam: switch to a mirror when downloaded md5 check sum doesn't
991 991
 	       match the database (errno 54, man freshclam)
992 992
   * freshclam: mirrors.txt - added clamav.rulez.pl mirror managed by
993

                
993

                
994 994
   * clamd, libclamav, clamscan: fixed a bug introduced in 0.60 - closedir(dd)
995 995
 				was called even when dd was not correctly opened
996 996
   * libclamav: mbox - patch for a segfault with some nasty messages which
... ...
@@ -1019,7 +1041,7 @@ Wed Jun 18 05:33:15 CEST 2003
1019 1019
     clamd: dirscan()
1020 1020
     clamscan: treewalk.c functions: fixed descriptor leak (missing closedir()
1021 1021
 				    in error conditions). Bug found thanks
1022
-				    to Kristof Petr <Kristof.P@fce.vutbr.cz>
1022
+				    to Kristof Petr <Kristof.P*fce.vutbr.cz>
1023 1023
 				    bug report.
1024 1024
   * configure, libclamav: detect for bzip2 library type instead of using
1025 1025
 			  hardcoded change for Solaris (a conflict with
... ...
@@ -1038,18 +1060,18 @@ Thu Jun  5 14:38:20 CEST 2003
1038 1038
   * clamd: new directive - AllowSupplementaryGroups (feature requested by
1039 1039
 	   exiscan users)
1040 1040
   * freshclam: new options --on-error-execute, --on-update-execute (suggested
1041
-	       by Douglas J Hunley <doug@hunley.homeip.net>).
1041
+	       by Douglas J Hunley <doug*hunley.homeip.net>).
1042 1042
 
1043 1043
 Fri May 30 06:06:28 CEST 2003
1044 1044
 -----------------------------
1045 1045
   * freshclam: fixed segfault with --proxy-user (patch by Damien Curtain
1046
-	       <damien@pagefault.org> also independently submitted by
1047
-		Nick Gazaloff <nick@sbin.org>)
1046
+	       <damien*pagefault.org> also independently submitted by
1047
+		Nick Gazaloff <nick*sbin.org>)
1048 1048
   * libclamav: mbox code fixed to find the party virus (Nigel)
1049 1049
   * clamav-milter: wasn't thread safe - fixed (thanks to Krzysztof
1050
-		   Oledzki <ole@ans.pl>) (Nigel)
1050
+		   Oledzki <ole*ans.pl>) (Nigel)
1051 1051
   * clamd: fixed compilation problem when --enable-bigstack is used on a non
1052
-	   BSD system (thanks to Mike Loewen <mcl8@psu.edu>)
1052
+	   BSD system (thanks to Mike Loewen <mcl8*psu.edu>)
1053 1053
 
1054 1054
 Thu May 22 05:18:56 CEST 2003
1055 1055
 -----------------------------
... ...
@@ -1064,38 +1086,38 @@ Mon May 12 01:47:18 CEST 2003
1064 1064
 -----------------------------
1065 1065
   * clamd: added missing close(acceptd) in scanstream() which was causing
1066 1066
 	   a leak of socket descriptors when using clamav-milter. Bug fixed
1067
-	   by Nick Gazaloff <nick@sbin.org>, also was earlier reported by
1068
-	   Kristof Petr <Kristof.P@fce.vutbr.cz> and Nigel.
1067
+	   by Nick Gazaloff <nick*sbin.org>, also was earlier reported by
1068
+	   Kristof Petr <Kristof.P*fce.vutbr.cz> and Nigel.
1069 1069
   * clamscan: use unzoo instead of non-free zoo (patch by Magnus Ekdahl)
1070 1070
   * libclamav: updated mbox code (Nigel)
1071 1071
 
1072 1072
 Wed Apr 30 22:23:50 CEST 2003
1073 1073
 -----------------------------
1074 1074
   * libclamav: use bzReadOpen instead of BZ2_bzReadOpen under Solaris
1075
-	       (patch by Hrvoje Habjanic <hrvoje.habjanic@zg.hinet.hr>)
1075
+	       (patch by Hrvoje Habjanic <hrvoje.habjanic*zg.hinet.hr>)
1076 1076
 
1077 1077
 Thu Apr 24 02:07:45 CEST 2003
1078 1078
 -----------------------------
1079 1079
   * freshclam: proxy authorization support (Gernot Tenchio
1080
-	       <g.tenchio@telco-tech.de>)
1080
+	       <g.tenchio*telco-tech.de>)
1081 1081
   * clamav-milter: ported clamfi_envrcpt which fixes the bug reported by
1082
-		   Joe Talbott <jtalbott@halifax.com> from 0.52 to 0.53.
1082
+		   Joe Talbott <jtalbott*halifax.com> from 0.52 to 0.53.
1083 1083
 		   Nigel, please check it - there is a version problem with
1084 1084
 		   clamav-milter.
1085 1085
   * clamd: in some cases it was writing to stderr, which was already closed by
1086
-	   daemonize(). Bug found by Brian May <bam@debian.org>.
1086
+	   daemonize(). Bug found by Brian May <bam*debian.org>.
1087 1087
   * freshclam: remove 'mirror' file (it remembers the last accessible mirror
1088 1088
 	       when the first one from the list is not working) only after
1089 1089
 	       next succesful database update
1090 1090
 
1091 1091
 Mon Apr 21 05:15:42 CEST 2003
1092 1092
 -----------------------------
1093
-  * freshclam: mirror list support (Damien Curtain <damien@pagefault.org>)
1093
+  * freshclam: mirror list support (Damien Curtain <damien*pagefault.org>)
1094 1094
 
1095 1095
 Tue Apr 15 20:11:32 CEST 2003
1096 1096
 -----------------------------
1097 1097
   * libclamav: cl_md5sum: stream wasn't closed after reading (fixed by Damien
1098
-	       Curtain <damien@pagefault.org>)
1098
+	       Curtain <damien*pagefault.org>)
1099 1099
 
1100 1100
 Fri Apr  4 04:09:14 CEST 2003
1101 1101
 -----------------------------
... ...
@@ -1125,8 +1147,8 @@ Thu Mar 20 15:25:47 CET 2003
1125 1125
 ----------------------------
1126 1126
   * clamav-milter: v 0.51 (Nigel)
1127 1127
   * clamd: fixed compile problem on systems without /dev/urandom (AIX,
1128
-	   Solaris) (bug reported some time ago by Mike Loewen <mcl8@psu.edu>,
1129
-	   and recently by Piotr Kasztelowicz <pekasz@am.torun.pl>)
1128
+	   Solaris) (bug reported some time ago by Mike Loewen <mcl8*psu.edu>,
1129
+	   and recently by Piotr Kasztelowicz <pekasz*am.torun.pl>)
1130 1130
   * configure: --disable-bzip2 (disables automatic support for bzip2 library)
1131 1131
 
1132 1132
 Mon Mar 17 10:36:01 CET 2003
... ...
@@ -1157,7 +1179,7 @@ Thu Mar 13 04:39:13 CET 2003
1157 1157
 Wed Mar 12 02:56:57 CET 2003
1158 1158
 ----------------------------
1159 1159
   * libclamav: fixed buffer overflow in unrarlib (patch by Robbert Kouprie
1160
-	       <robbert@exx.nl>)
1160
+	       <robbert*exx.nl>)
1161 1161
   * clamav-milter: 
1162 1162
 	+ v 0.3 (Nigel)
1163 1163
 	+ --enable-milter must be enabled with ./configure
... ...
@@ -1167,7 +1189,7 @@ Wed Mar 12 02:56:57 CET 2003
1167 1167
 
1168 1168
 Wed Mar  5 04:05:37 CET 2003
1169 1169
 ----------------------------
1170
-  * clamscan: --move option (by Damien Curtain <damien@pagefault.org>)
1170
+  * clamscan: --move option (by Damien Curtain <damien*pagefault.org>)
1171 1171
 
1172 1172
 Thu Feb 27 02:51:32 CET 2003
1173 1173
 ----------------------------
... ...
@@ -1182,7 +1204,7 @@ Wed Feb 26 02:17:33 CET 2003
1182 1182
   * libclamav: fixed strcasecmp() compile problem in zziplib on
1183 1183
 	       Free/NetBSD and others
1184 1184
   * clamd: disabled syslog support on AIX [it doesn't have vsyslog()]
1185
-	   (thanks to Mike Loewen <mcl8@psu.edu>)
1185
+	   (thanks to Mike Loewen <mcl8*psu.edu>)
1186 1186
 
1187 1187
 Mon Feb 24 19:21:19 CET 2003
1188 1188
 ----------------------------
... ...
@@ -1204,13 +1226,13 @@ Thu Jan 23 23:51:58 CET 2003
1204 1204
 ----------------------------
1205 1205
   * clamd: 
1206 1206
 	+ fixed segfault with extra space between option and argument
1207
-	  in config file (Magnus Ekdahl <magnus@debian.org>)
1207
+	  in config file (Magnus Ekdahl <magnus*debian.org>)
1208 1208
 	+ additional protection - timeouts for infinite (wait) loops
1209
-	  (idea by Hrvoje Habjanic <hrvoje.habjanic@zg.hinet.hr>)
1209
+	  (idea by Hrvoje Habjanic <hrvoje.habjanic*zg.hinet.hr>)
1210 1210
   * clamscan: enhanced -i option (Magnus Ekdahl)
1211 1211
   * libclamav: mbox update (detection of viruses that put their payloads
1212 1212
 	       after the end of message marker) (Nigel). Thanks to Stephen
1213
-	       White <stephen@earth.li> for finding the bugs; test viruses
1213
+	       White <stephen*earth.li> for finding the bugs; test viruses
1214 1214
 	       and for the CGI infector :)
1215 1215
 
1216 1216
 Fri Jan 10 01:52:41 CET 2003
... ...
@@ -1221,7 +1243,7 @@ Fri Jan 10 01:52:41 CET 2003
1221 1221
 Thu Jan  9 01:06:35 CET 2003
1222 1222
 ----------------------------
1223 1223
   * clamd: syslog support (patch by Hrvoje Habjanic
1224
-	   <hrvoje.habjanic@zg.hinet.hr>), slightly modified to use LogSyslog
1224
+	   <hrvoje.habjanic*zg.hinet.hr>), slightly modified to use LogSyslog
1225 1225
   * clamscan: temporarily disabled thread autoconfiguration (few people
1226 1226
 	      reported problem on SMP systems), will be fixed soon.
1227 1227
 
... ...
@@ -1248,12 +1270,12 @@ Mon Dec  9 02:01:31 CET 2002
1248 1248
 	       message bodies) (Nigel)
1249 1249
   * clamscan: logging (-l) of infected files was missing ! added
1250 1250
   * clamd: ScannerDaemonOutputFormat (patch by Andreas Piesk
1251
-	   <Andreas.Piesk@heise.de>)
1251
+	   <Andreas.Piesk*heise.de>)
1252 1252
 
1253 1253
 Thu Dec  5 05:32:21 CET 2002
1254 1254
 ----------------------------
1255 1255
   * libclamav: scanners.c -> cli_scandesc() optimization (patch by
1256
-	       Hendrik Muhs <Hendrik.Muhs@student.uni-magdeburg.de>)
1256
+	       Hendrik Muhs <Hendrik.Muhs*student.uni-magdeburg.de>)
1257 1257
 
1258 1258
 Wed Dec  4 01:31:24 CET 2002
1259 1259
 ----------------------------
... ...
@@ -1274,18 +1296,18 @@ Mon Dec  2 01:21:14 CET 2002
1274 1274
 Fri Nov 29 23:18:36 CET 2002
1275 1275
 ----------------------------
1276 1276
   * configure: fixed --enable-id-check option (Jason Englander
1277
-	       <jason@englanders.cc>)
1277
+	       <jason*englanders.cc>)
1278 1278
   * clamscan: fixed --remove option in clamscan (it didn't work with internal
1279
-	      archivers) (patch by Damien Curtain <damien@pagefault.org>)
1280
-  * AIX support (thanks to Mike Loewen <mloewen@sturgeon.cac.psu.edu>)
1281
-  * Tru64 support (thanks to Christophe Varoqui <ext.devoteam.varoqui@sncf.fr>)
1279
+	      archivers) (patch by Damien Curtain <damien*pagefault.org>)
1280
+  * AIX support (thanks to Mike Loewen <mloewen*sturgeon.cac.psu.edu>)
1281
+  * Tru64 support (thanks to Christophe Varoqui <ext.devoteam.varoqui*sncf.fr>)
1282 1282
   * libclamav: mbox: fixed memory leak (Nigel)
1283 1283
 
1284 1284
 Thu Nov 21 01:27:21 CET 2002
1285 1285
 ----------------------------
1286 1286
   * configure: do not overwrite existing clamav.conf file
1287 1287
   * clamd: disable logging of a unnecessary time stamps with LogTime when
1288
-	   LogVerbose isn't used (patch by Ed Phillips <ed@UDel.Edu>)
1288
+	   LogVerbose isn't used (patch by Ed Phillips <ed*UDel.Edu>)
1289 1289
   * freshclam: no-cache enabled by default; Cygwin support fix
1290 1290
   V 0.54
1291 1291
 
... ...
@@ -1296,7 +1318,7 @@ Wed Nov 20 01:15:48 CET 2002
1296 1296
 	       if it doesn't detect clamav group.
1297 1297
   * all tools: removed huge printf() in help() (there was a buffer overflow
1298 1298
 	       problem with --help option under Windows and SCO Unix
1299
-	       (reported by Wojciech Noworyta <wnow@konarski.edu.pl> and
1299
+	       (reported by Wojciech Noworyta <wnow*konarski.edu.pl> and
1300 1300
 	       Nigel respectively)
1301 1301
 
1302 1302
 Sun Nov 17 00:37:19 CET 2002
... ...
@@ -1307,7 +1329,7 @@ Sat Nov 16 00:37:19 CET 2002
1307 1307
 ----------------------------
1308 1308
   * libclamav: zziplib updated to 0.10.66
1309 1309
   * libclamav: work-around for zziplib bug (segfault with some strange files)
1310
-	       (thanks to Oliver Paukstadt <pstadt@stud.fh-heilbronn.de> for
1310
+	       (thanks to Oliver Paukstadt <pstadt*stud.fh-heilbronn.de> for
1311 1311
 	       the bug ruport)
1312 1312
   * mbox code: updated and moved into libclamav (Nigel)
1313 1313
   * rewritten pattern matcher
... ...
@@ -1332,7 +1354,7 @@ Thu Nov  7 12:14:54 CET 2002
1332 1332
 
1333 1333
 Fri Nov  1 21:16:34 CET 2002
1334 1334
 ----------------------------
1335
-  * applied patch from Patrick Bihan-Faou <patrick@mindstep.com>, which
1335
+  * applied patch from Patrick Bihan-Faou <patrick*mindstep.com>, which
1336 1336
     allows configuration of the clamav user and group with --with-user and
1337 1337
     --with-group
1338 1338
 
... ...
@@ -1358,8 +1380,8 @@ Tue Oct 29 02:15:11 CET 2002
1358 1358
 	      --enable-debug
1359 1359
   * included "Installing qmail-scanner, Clam Antivirus and SpamAssassin under
1360 1360
     FreeBSD" how-to by Paul Hoadley and Eric Parsonage
1361
-  * HPUX support (thanks to Joe Oaks <joe.oaks@hp.com>)
1362
-  * freshclam: included patch from Ant La Porte <ant@dvere.net> - it forces
1361
+  * HPUX support (thanks to Joe Oaks <joe.oaks*hp.com>)
1362
+  * freshclam: included patch from Ant La Porte <ant*dvere.net> - it forces
1363 1363
 	       'no-cache' option in proxy servers - you need to enable
1364 1364
 	       it with --disable-cache, though.
1365 1365
   * clamd is a system command (clamd.1 -> clamd.8, /usr/local/bin ->
... ...
@@ -1376,7 +1398,7 @@ Fri Oct 25 23:21:49 CEST 2002
1376 1376
   * clamd: fixed problem with recursive scanning of the directories with
1377 1377
 	   st_size == 0 (the initial check in scan() was treating them like
1378 1378
 	   an empty files) (bug reported by Jason Englander
1379
-	   <jason@englanders.cc>)
1379
+	   <jason*englanders.cc>)
1380 1380
 
1381 1381
 Wed Oct 23 02:27:13 CEST 2002
1382 1382
 -----------------------------
... ...
@@ -1385,14 +1407,14 @@ Wed Oct 23 02:27:13 CEST 2002
1385 1385
 Mon Oct 21 01:36:31 CEST 2002
1386 1386
 -----------------------------
1387 1387
   * freshclam: applied http-proxy patch from http://bugs.debian.org/clamav (by
1388
-    Martin Lesser <admin-debian@bettercom.de>)
1388
+    Martin Lesser <admin-debian*bettercom.de>)
1389 1389
   * clamd: drop supplementary groups (suggested by Enrico Scholz
1390
-    <enrico.scholz@informatik.tu-chemnitz.de>)
1390
+    <enrico.scholz*informatik.tu-chemnitz.de>)
1391 1391
   * clamd: work-around for the segmentation fault at QUIT under FreeBSD
1392 1392
 
1393 1393
 Wed Oct 16 23:58:45 CEST 2002
1394 1394
 -----------------------------
1395
-  * included TrashScan 0.08 (from Trashware <trashware@gmx.de>)
1395
+  * included TrashScan 0.08 (from Trashware <trashware*gmx.de>)
1396 1396
 
1397 1397
 Sun Oct 13 20:23:43 CEST 2002
1398 1398
 -----------------------------
... ...
@@ -1400,7 +1422,7 @@ Sun Oct 13 20:23:43 CEST 2002
1400 1400
 
1401 1401
 Wed Oct  9 00:52:08 CEST 2002
1402 1402
 -----------------------------
1403
-  * clamd: fixed THREXIT (thanks to Piotr Gackiewicz <gacek@intertele.pl>)
1403
+  * clamd: fixed THREXIT (thanks to Piotr Gackiewicz <gacek*intertele.pl>)
1404 1404
   * clamd: fixed thread argument passing
1405 1405
   * clamscan: mbox: don't scan empty attachments (Nigel Horne)
1406 1406
   * configure: --with-db1, --with-db2 (suggested by Magnus Ekdahl)
... ...
@@ -1410,7 +1432,7 @@ Mon Oct  7 19:47:21 CEST 2002
1410 1410
   * libclamav: OAV database support
1411 1411
   * libclamav: limited memory usage
1412 1412
   * clamscan: fixed compile error reported by Henk Kuipers
1413
-	      <henk@opensourcesolutions.nl>.
1413
+	      <henk*opensourcesolutions.nl>.
1414 1414
 
1415 1415
 Fri Oct  4 23:41:18 CEST 2002
1416 1416
 -----------------------------
... ...
@@ -1512,16 +1534,16 @@ Thu Sep 19 01:27:26 CEST 2002
1512 1512
 
1513 1513
 Tue Sep 17 02:50:23 CEST 2002
1514 1514
 -----------------------------
1515
-  * included Japanese documentation by Masaki Ogawa <proc@mac.com>
1515
+  * included Japanese documentation by Masaki Ogawa <proc*mac.com>
1516 1516
   * clamscan: included mbox code (--mbox) and few small fixes from
1517
-    Nigel Horne <njh@bandsman.co.uk>
1517
+    Nigel Horne <njh*bandsman.co.uk>
1518 1518
   * clamd: LocalSocket, Foreground, User.
1519 1519
   * updated examples/ex1.c
1520 1520
 
1521 1521
 Sun Sep 15 17:22:01 CEST 2002
1522 1522
 -----------------------------
1523 1523
   * freshclam: log 'Database updated.' (thanks to Jeffrey Moskot
1524
-    <jef@math.miami.edu> for the bug report), log number of signatures
1524
+    <jef*math.miami.edu> for the bug report), log number of signatures
1525 1525
     in a downloaded database.
1526 1526
   * clamd: RAWSCAN, small cleanups
1527 1527
   * clamscan: thread support is disabled on non-Linux systems, due to
... ...
@@ -1531,9 +1553,9 @@ Sun Sep 15 02:18:58 CEST 2002
1531 1531
 -----------------------------
1532 1532
   * clamscan: 
1533 1533
     * applied patch for including and excluding multiple
1534
-      patterns (by Alejandro Dubrovsky <s328940@student.uq.edu.au>);
1534
+      patterns (by Alejandro Dubrovsky <s328940*student.uq.edu.au>);
1535 1535
     * applied patch for processing all files/directories from argument list
1536
-      (by Nigel Horne <njh@smsltd.demon.co.uk>);
1536
+      (by Nigel Horne <njh*smsltd.demon.co.uk>);
1537 1537
     * -d switch recognises directory and loads all .db files from
1538 1538
       (requested by debian user)
1539 1539
   * libclamav: better handling of malformed databases in cl_loaddb()
... ...
@@ -1582,7 +1604,7 @@ Sat Aug 31 02:48:56 CEST 2002
1582 1582
 -----------------------------
1583 1583
   * clamd: tcpserver() and others
1584 1584
   * updated Sendmail+Amavis+ClamAv installation how-to, thanks to
1585
-    Erick I. Lopez Carreon <elopezc@technitrade.com>
1585
+    Erick I. Lopez Carreon <elopezc*technitrade.com>
1586 1586
 
1587 1587
 Fri Aug 30 03:32:37 CEST 2002
1588 1588
 -----------------------------
... ...
@@ -1716,14 +1738,14 @@ Thu Jul 18 20:52:54 CEST 2002
1716 1716
 -----------------------------
1717 1717
   * fixed amavis-perl patch
1718 1718
   * fixed database download problem in freshclam
1719
-  * initial NetBSD support (thanks to Marc Baudoin <babafou@babafou.eu.org>
1720
-    and Jean-Edouard BABIN <Jeb@jeb.com.fr>)
1719
+  * initial NetBSD support (thanks to Marc Baudoin <babafou*babafou.eu.org>
1720
+    and Jean-Edouard BABIN <Jeb*jeb.com.fr>)
1721 1721
   * --strange-unzip
1722 1722
   V 0.21
1723 1723
 
1724 1724
 Tue Jul 16 16:49:57 CEST 2002
1725 1725
 -----------------------------
1726
-  * applied patch from Masaki Ogawa <proc@mac.com>, it adds support
1726
+  * applied patch from Masaki Ogawa <proc*mac.com>, it adds support
1727 1727
     for Mac OS X specific users database
1728 1728
   * additional check for options with numerical arguments
1729 1729
   * clamdoc fixes by Dennis Leeuw
... ...
@@ -1748,7 +1770,7 @@ Sat Jul 13 00:09:56 CEST 2002
1748 1748
 Thu Jul  4 13:23:00 CEST 2002
1749 1749
 -----------------------------
1750 1750
   * fixed mode_t data type problem in manager.c under Mac OS X (thanks
1751
-    to Peter N Lewis <peter@stairways.com.au>)
1751
+    to Peter N Lewis <peter*stairways.com.au>)
1752 1752
 
1753 1753
 Tue Jul  2 03:31:55 CEST 2002
1754 1754
 -----------------------------
... ...
@@ -1781,13 +1803,13 @@ Thu Jun 27 16:02:44 CEST 2002
1781 1781
 Tue Jun 25 10:36:41 CEST 2002
1782 1782
 -----------------------------
1783 1783
   * included Sendmail+Amavis+ClamAv installation how-to from
1784
-    Erick I. Lopez Carreon <elopezc@technitrade.com>
1784
+    Erick I. Lopez Carreon <elopezc*technitrade.com>
1785 1785
 
1786 1786
 Sun Jun 23 02:09:52 CEST 2002
1787 1787
 -----------------------------
1788
-  * applied gcc3 support patch from David Ford <david+cert@blue-labs.org>
1788
+  * applied gcc3 support patch from David Ford <david+cert*blue-labs.org>
1789 1789
   * fixed detectCpu() for systems without /proc/cpuinfo or without
1790
-    'processor' string in it (thanks to Stefan Martig <sm@officeco.ch> for
1790
+    'processor' string in it (thanks to Stefan Martig <sm*officeco.ch> for
1791 1791
     info)
1792 1792
 
1793 1793
 Mon Jun 17 02:35:24 CEST 2002
... ...
@@ -1796,7 +1818,7 @@ Mon Jun 17 02:35:24 CEST 2002
1796 1796
 
1797 1797
 Sat Jun 15 00:53:54 CEST 2002
1798 1798
 -----------------------------
1799
-  * updated qmail-scanner patch (thanks to Kazuhiko <kazuhiko@fdiary.net>)
1799
+  * updated qmail-scanner patch (thanks to Kazuhiko <kazuhiko*fdiary.net>)
1800 1800
 
1801 1801
 Wed Jun 12 07:09:33 CEST 2002
1802 1802
 -----------------------------
... ...
@@ -1810,21 +1832,21 @@ Sun Jun  9 01:50:30 CEST 2002
1810 1810
 
1811 1811
 Fri Jun  7 21:03:50 CEST 2002
1812 1812
 -----------------------------
1813
-  * applied OpenBSD support patch from Kamil Andrusz <wizz@mniam.net>
1813
+  * applied OpenBSD support patch from Kamil Andrusz <wizz*mniam.net>
1814 1814
   * fixed problem with password protected archives (unpackers were waiting
1815 1815
     for password)
1816 1816
 
1817 1817
 Fri May 31 18:51:31 CEST 2002
1818 1818
 -----------------------------
1819 1819
   * fixed segfault in freshclam in some situations: return status in md5_file
1820
-    wasn't checked (thanks to Dennis Leeuv <leeuw@stone-it.com>)
1820
+    wasn't checked (thanks to Dennis Leeuv <leeuw*stone-it.com>)
1821 1821
   * other freshclam fixes
1822 1822
 
1823 1823
 Thu May 30 01:50:21 CEST 2002
1824 1824
 -----------------------------
1825
-  * applied freshclam patch from Arkadiusz Miskiewicz <misiek@pld.org.pl>
1825
+  * applied freshclam patch from Arkadiusz Miskiewicz <misiek*pld.org.pl>
1826 1826
   * included "Debian GNU/Linux Mail Server v. 0.1.0" by Dennis Leeuw
1827
-    <leeuw@stone-it.com> to the documentation
1827
+    <leeuw*stone-it.com> to the documentation
1828 1828
   * removed CFLAGS from freshclam's Makefile.am
1829 1829
   V 0.14
1830 1830
 
... ...
@@ -1838,15 +1860,15 @@ Mon May 27 03:10:20 CEST 2002
1838 1838
 Sat May 25 18:13:58 CEST 2002
1839 1839
 -----------------------------
1840 1840
   * fixed crash during extracting when clamscan is started as non-root user
1841
-    (thanks to Andoni Zubimendi <andoni@lpsat.net>), this was included
1841
+    (thanks to Andoni Zubimendi <andoni*lpsat.net>), this was included
1842 1842
     in 0.13
1843 1843
   * --max-files, --max-space
1844 1844
 
1845 1845
 Fri May 24 19:59:09 CEST 2002
1846 1846
 -----------------------------
1847 1847
   * improved automake-support - patch from
1848
-    Arkadiusz Miskiewicz <misiek@pld.org.pl>
1849
-  * support for Mac OS X (thanks to Masaki Ogawa <proc@mac.com>)
1848
+    Arkadiusz Miskiewicz <misiek*pld.org.pl>
1849
+  * support for Mac OS X (thanks to Masaki Ogawa <proc*mac.com>)
1850 1850
   * updated database
1851 1851
   * updated documentation
1852 1852
 
... ...
@@ -1857,20 +1879,20 @@ Sun May 19 18:05:05 CEST 2002
1857 1857
 
1858 1858
 Sun May 19 01:39:21 CEST 2002
1859 1859
 -----------------------------
1860
-  * Solaris 2.6 support (thanks to Thomas W. Holt Jr. <twh@cohesive.net>)
1861
-  * added threads autodetection code from Magnus Ekdahl <magnus@debian.org>
1860
+  * Solaris 2.6 support (thanks to Thomas W. Holt Jr. <twh*cohesive.net>)
1861
+  * added threads autodetection code from Magnus Ekdahl <magnus*debian.org>
1862 1862
   * fixed probably-not-possible race condition with directory creating
1863 1863
     in clamscan (not a security problem) (thanks to Magnus Ekdahl)
1864 1864
   * removed this nasty N(x) macro (thanks to Martijn van Oosterhout
1865
-    <kleptog@svana.org>, who forced ;) me to do this)
1865
+    <kleptog*svana.org>, who forced ;) me to do this)
1866 1866
 
1867 1867
 Sat May 18 01:20:29 CEST 2002
1868 1868
 -----------------------------
1869
-  * applied patch from Thomas Quinot <thomas@cuivre.fr.eu.org>
1869
+  * applied patch from Thomas Quinot <thomas*cuivre.fr.eu.org>
1870 1870
     WARNING: share/clamav is a new database directory
1871 1871
   * changed detection of lha extension -> lzh
1872 1872
   * fixed buffer overflow in option parser (not a security problem)
1873
-    (thanks to Dave Jones <dave@kalkbay.co.za>, who found it first)
1873
+    (thanks to Dave Jones <dave*kalkbay.co.za>, who found it first)
1874 1874
   * updated documentation/Supported platforms, Credits
1875 1875
 
1876 1876
 Fri May 10 14:25:32 CEST 2002
... ...
@@ -1880,7 +1902,7 @@ Fri May 10 14:25:32 CEST 2002
1880 1880
 Thu May  9 21:52:54 CEST 2002
1881 1881
 -----------------------------
1882 1882
   * fixed problem with inaccessible directories in archives, which caused
1883
-    clamscan hangs (Thanks to Troy Wollenslegel <troy@intranet.org>)
1883
+    clamscan hangs (Thanks to Troy Wollenslegel <troy*intranet.org>)
1884 1884
   * fixed unwanted path completing when using compression and absolute
1885 1885
     pathname as argument
1886 1886
   * added support for lha
... ...
@@ -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.16 2003/12/29 05:31:52 kojm Exp $
84
+dnl @version: $Id: aclocal.m4,v 1.17 2004/02/01 01:18:56 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.16 2003/12/29 05:31:52 kojm Exp $
4044
+dnl @version $Id: aclocal.m4,v 1.17 2004/02/01 01:18:56 kojm Exp $
4045 4045
 dnl
4046 4046
 AC_DEFUN([AC_COMPILE_CHECK_SIZEOF],
4047 4047
 [changequote(<<, >>)dnl
... ...
@@ -1,5 +1,5 @@
1 1
 /*
2
- *  Copyright (C) 2002, 2003 Tomasz Kojm <zolw@konarski.edu.pl>
2
+ *  Copyright (C) 2002 - 2004 Tomasz Kojm <tkojm@clamav.net>
3 3
  *
4 4
  *  This program is free software; you can redistribute it and/or modify
5 5
  *  it under the terms of the GNU General Public License as published by
... ...
@@ -41,9 +41,11 @@ struct cfgstruct *parsecfg(const char *cfgfile)
41 41
 	    {"LogFileUnlock", OPT_NOARG},
42 42
 	    {"LogFileMaxSize", OPT_COMPSIZE},
43 43
 	    {"LogTime", OPT_NOARG},
44
+	    {"LogClean", OPT_NOARG},
44 45
 	    {"LogVerbose", OPT_NOARG}, /* clamd + freshclam */
45 46
 	    {"LogSyslog", OPT_NOARG},
46 47
 	    {"PidFile", OPT_STR},
48
+	    {"TemporaryDirectory", OPT_STR},
47 49
 	    {"MaxFileSize", OPT_COMPSIZE},
48 50
 	    {"ScanMail", OPT_NOARG},
49 51
 	    {"ScanOLE2", OPT_NOARG},
... ...
@@ -1,5 +1,5 @@
1 1
 /*
2
- *  Copyright (C) 2002, 2003 Tomasz Kojm <zolw@konarski.edu.pl>
2
+ *  Copyright (C) 2002 - 2004 Tomasz Kojm <tkojm@clamav.net>
3 3
  *
4 4
  *  This program is free software; you can redistribute it and/or modify
5 5
  *  it under the terms of the GNU General Public License as published by
... ...
@@ -88,6 +88,11 @@ void clamd(struct optstruct *opt)
88 88
     else
89 89
 	logtime = 0;
90 90
 
91
+    if(cfgopt(copt, "LogClean"))
92
+	logok = 1;
93
+    else
94
+	logok = 0;
95
+
91 96
     if((cpt = cfgopt(copt, "LogFileMaxSize")))
92 97
 	logsize = cpt->numarg;
93 98
     else
... ...
@@ -168,8 +173,15 @@ void clamd(struct optstruct *opt)
168 168
 	logg("Running as user %s (UID %d, GID %d)\n", cpt->strarg, user->pw_uid, user->pw_gid);
169 169
     }
170 170
 
171
-    /* load the database(s) */
171
+    /* set the temporary dir */
172
+    if((cpt = cfgopt(copt, "TemporaryDirectory"))) {
173
+	if(!setenv("TMPDIR", cpt->strarg, 1))
174
+	    logg("Setting %s as global temporary directory\n", cpt->strarg);
175
+	else
176
+	    logg("!Can't set TMPDIR variable - insufficient space in the environment.\n");
177
+    }
172 178
 
179
+    /* load the database(s) */
173 180
     if((cpt = cfgopt(copt, "DatabaseDirectory")) || (cpt = cfgopt(copt, "DataDirectory")))
174 181
 	dbdir = cpt->strarg;
175 182
     else
... ...
@@ -96,9 +96,10 @@ int localserver(const struct optstruct *opt, const struct cfgstruct *copt, struc
96 96
 	exit(1);
97 97
     }
98 98
 
99
+    /*
99 100
     if(cfgopt(copt, "UseProcesses"))
100 101
 	acceptloop_proc(sockfd, root, copt);
101
-    else
102
+    else */
102 103
 	acceptloop_th(sockfd, root, copt);
103 104
 
104 105
     return 0;
... ...
@@ -28,7 +28,7 @@ void *mmalloc(size_t size);
28 28
 void *mcalloc(size_t nmemb, size_t size);
29 29
 void chomp(char *string);
30 30
 
31
-short int logverbose, logcompressed, loglock, logtime, sighup;
31
+short int logverbose, logcompressed, loglock, logtime, sighup, logok;
32 32
 int logsize;
33 33
 const char *logfile;
34 34
 int logg(const char *str, ...);
... ...
@@ -1,5 +1,5 @@
1 1
 /*
2
- *  Copyright (C) 2002 Tomasz Kojm <zolw@konarski.edu.pl>
2
+ *  Copyright (C) 2002 - 2004 Tomasz Kojm <tkojm@clamav.net>
3 3
  *
4 4
  *  This program is free software; you can redistribute it and/or modify
5 5
  *  it under the terms of the GNU General Public License as published by
... ...
@@ -101,6 +101,8 @@ int dirscan(const char *dirname, char **virname, unsigned long int *scanned, con
101 101
 				} else if(scanret != CL_CLEAN) {
102 102
 				    mdprintf(odesc, "%s: %s ERROR\n", fname, cl_strerror(scanret));
103 103
 				    logg("%s: %s ERROR\n", fname, cl_strerror(scanret));
104
+				} else if (logok) {
105
+				    logg("%s: OK\n", fname);
104 106
 				}
105 107
 			    }
106 108
 			}
... ...
@@ -158,7 +160,9 @@ int scan(const char *filename, unsigned long int *scanned, const struct cl_node
158 158
 	    } else if(ret != CL_CLEAN) {
159 159
 		mdprintf(odesc, "%s: %s ERROR\n", filename, cl_strerror(ret));
160 160
 		logg("%s: %s ERROR\n", filename, cl_strerror(ret));
161
-	    } 
161
+	    } else if (logok) {
162
+		logg("%s: OK\n", filename);
163
+	    }
162 164
 	    break;
163 165
 	case S_IFDIR:
164 166
 	    ret = dirscan(filename, &virname, scanned, root, limits, options, copt, odesc, &reclev, contscan);
... ...
@@ -282,8 +286,11 @@ int scanstream(int odesc, unsigned long int *scanned, const struct cl_node *root
282 282
     } else if(ret != CL_CLEAN) {
283 283
 	mdprintf(odesc, "stream: %s ERROR\n", cl_strerror(ret));
284 284
 	logg("stream: %s ERROR\n", cl_strerror(ret));
285
-    } else
285
+    } else {
286 286
 	mdprintf(odesc, "stream: OK\n");
287
+        if (logok)
288
+	    logg("stream: OK\n"); 
289
+    }
287 290
 
288 291
     return ret;
289 292
 }
... ...
@@ -95,9 +95,9 @@ int tcpserver(const struct optstruct *opt, const struct cfgstruct *copt, struct
95 95
 	exit(1);
96 96
     }
97 97
 
98
-    if(cfgopt(copt, "UseProcesses"))
98
+    /* if(cfgopt(copt, "UseProcesses"))
99 99
 	acceptloop_proc(sockfd, root, copt);
100
-    else
100
+    else */
101 101
 	acceptloop_th(sockfd, root, copt);
102 102
 
103 103
     return 0;
... ...
@@ -24,6 +24,7 @@
24 24
 #include <netinet/in.h>
25 25
 #include <arpa/inet.h>
26 26
 #include <netdb.h>
27
+#include <string.h>
27 28
 
28 29
 #include "others.h"
29 30
 #include "cfgfile.h"
... ...
@@ -193,10 +194,14 @@ int client(const struct optstruct *opt)
193 193
 		claminfo.ifiles++;
194 194
 		logg("%s", buff);
195 195
 	    }
196
+	    if (strstr(buff, "ERROR\n")) {
197
+		claminfo.errors++;
198
+		logg("%s", buff);
199
+	    }
196 200
 	    memset(buff, 0, sizeof(buff));
197 201
 	}
198 202
 
199
-	return claminfo.ifiles ? 1 : 0;
203
+	return claminfo.ifiles ? 1 : (claminfo.errors ? 2 : 0);
200 204
 
201 205
     } else if(opt->filename[0] == '/') {
202 206
 	file = (char *) strdup(opt->filename);
... ...
@@ -231,10 +236,14 @@ int client(const struct optstruct *opt)
231 231
 	    claminfo.ifiles++;
232 232
 	    logg("%s", buff);
233 233
 	}
234
+	if (strstr(buff, "ERROR\n")) {
235
+	    claminfo.errors++;
236
+	    logg("%s", buff);
237
+	}
234 238
 	mprintf("%s", buff);
235 239
     }
236 240
 
237 241
     fclose(fd);
238 242
 
239
-    return claminfo.ifiles ? 1 : 0;
243
+    return claminfo.ifiles ? 1 : (claminfo.errors ? 2 : 0);
240 244
 }
... ...
@@ -9417,6 +9417,27 @@ _ACEOF
9417 9417
 _ACEOF
9418 9418
 
9419 9419
     ;;
9420
+openbsd3.3*)
9421
+    if test "$have_pthreads" = "yes"; then
9422
+	LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -pthread"
9423
+	if test "$disable_cr" = "yes"; then
9424
+	    CLAMD_LIBS="-pthread"
9425
+	fi
9426
+	TH_SAFE="-thread-safe"
9427
+	cat >>confdefs.h <<\_ACEOF
9428
+#define CL_THREAD_SAFE 1
9429
+_ACEOF
9430
+
9431
+	cat >>confdefs.h <<\_ACEOF
9432
+#define _REENTRANT 1
9433
+_ACEOF
9434
+
9435
+    fi
9436
+    cat >>confdefs.h <<\_ACEOF
9437
+#define C_BSD 1
9438
+_ACEOF
9439
+
9440
+    ;;
9420 9441
 openbsd*)
9421 9442
     if test "$have_pthreads" = "yes"; then
9422 9443
 	LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -pthread"
... ...
@@ -10123,6 +10144,119 @@ _ACEOF
10123 10123
 
10124 10124
 fi
10125 10125
 
10126
+echo "$as_me:$LINENO: checking for structure packing via __attribute__((packed))" >&5
10127
+echo $ECHO_N "checking for structure packing via __attribute__((packed))... $ECHO_C" >&6
10128
+if test "${have_attrib_packed+set}" = set; then
10129
+  echo $ECHO_N "(cached) $ECHO_C" >&6
10130
+else
10131
+
10132
+	cat >conftest.$ac_ext <<_ACEOF
10133
+#line $LINENO "configure"
10134
+#include "confdefs.h"
10135
+
10136
+#ifdef F77_DUMMY_MAIN
10137
+#  ifdef __cplusplus
10138
+     extern "C"
10139
+#  endif
10140
+   int F77_DUMMY_MAIN() { return 1; }
10141
+#endif
10142
+int
10143
+main ()
10144
+{
10145
+struct { int i __attribute__((packed)); } s;
10146
+  ;
10147
+  return 0;
10148
+}
10149
+_ACEOF
10150
+rm -f conftest.$ac_objext
10151
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
10152
+  (eval $ac_compile) 2>&5
10153
+  ac_status=$?
10154
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10155
+  (exit $ac_status); } &&
10156
+         { ac_try='test -s conftest.$ac_objext'
10157
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
10158
+  (eval $ac_try) 2>&5
10159
+  ac_status=$?
10160
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10161
+  (exit $ac_status); }; }; then
10162
+  have_attrib_packed=yes
10163
+else
10164
+  echo "$as_me: failed program was:" >&5
10165
+cat conftest.$ac_ext >&5
10166
+have_attrib_packed=no
10167
+fi
10168
+rm -f conftest.$ac_objext conftest.$ac_ext
10169
+
10170
+fi
10171
+
10172
+echo "$as_me:$LINENO: result: $have_attrib_packed" >&5
10173
+echo "${ECHO_T}$have_attrib_packed" >&6
10174
+
10175
+if test "$have_attrib_packed" = no; then
10176
+	echo "$as_me:$LINENO: checking for structure packing via pragma" >&5
10177
+echo $ECHO_N "checking for structure packing via pragma... $ECHO_C" >&6
10178
+	if test "${have_pragma_pack+set}" = set; then
10179
+  echo $ECHO_N "(cached) $ECHO_C" >&6
10180
+else
10181
+
10182
+		if test "$cross_compiling" = yes; then
10183
+  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling" >&5
10184
+echo "$as_me: error: cannot run test program while cross compiling" >&2;}
10185
+   { (exit 1); exit 1; }; }
10186
+else
10187
+  cat >conftest.$ac_ext <<_ACEOF
10188
+#line $LINENO "configure"
10189
+#include "confdefs.h"
10190
+int main(void) {
10191
+#pragma pack(1)			/* has to be in column 1 ! */
10192
+			struct { char c; long l; } s;
10193
+			return sizeof(s)==sizeof(s.c)+sizeof(s.l) ? 0:1; }
10194
+_ACEOF
10195
+rm -f conftest$ac_exeext
10196
+if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
10197
+  (eval $ac_link) 2>&5
10198
+  ac_status=$?
10199
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10200
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
10201
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
10202
+  (eval $ac_try) 2>&5
10203
+  ac_status=$?
10204
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
10205
+  (exit $ac_status); }; }; then
10206
+  have_pragma_pack=yes
10207
+else
10208
+  echo "$as_me: program exited with status $ac_status" >&5
10209
+echo "$as_me: failed program was:" >&5
10210
+cat conftest.$ac_ext >&5
10211
+( exit $ac_status )
10212
+have_pragma_pack=no
10213
+fi
10214
+rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
10215
+fi
10216
+
10217
+fi
10218
+
10219
+	echo "$as_me:$LINENO: result: $have_pragma_pack" >&5
10220
+echo "${ECHO_T}$have_pragma_pack" >&6
10221
+	cat >>confdefs.h <<\_ACEOF
10222
+#define HAVE_PRAGMA_PACK 1
10223
+_ACEOF
10224
+
10225
+fi
10226
+
10227
+if test "$have_attrib_packed" = no -a "$have_pragma_pack" = no ; then
10228
+	{ { echo "$as_me:$LINENO: error: Need to know how to pack structures with this compiler" >&5
10229
+echo "$as_me: error: Need to know how to pack structures with this compiler" >&2;}
10230
+   { (exit 1); exit 1; }; }
10231
+fi
10232
+if test "$have_attrib_packed" = yes; then
10233
+	cat >>confdefs.h <<\_ACEOF
10234
+#define HAVE_ATTRIB_PACKED 1
10235
+_ACEOF
10236
+
10237
+fi
10238
+
10126 10239
 ac_config_files="$ac_config_files libclamav/Makefile clamscan/Makefile database/Makefile docs/Makefile clamd/Makefile clamdscan/Makefile clamav-milter/Makefile freshclam/Makefile sigtool/Makefile etc/Makefile Makefile"
10127 10240
 cat >confcache <<\_ACEOF
10128 10241
 # This file is a shell script that caches the results of configure
... ...
@@ -265,6 +265,18 @@ freebsd*)
265 265
     fi
266 266
     AC_DEFINE(C_BSD)
267 267
     ;;
268
+openbsd3.3*)
269
+    if test "$have_pthreads" = "yes"; then
270
+	LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -pthread"
271
+	if test "$disable_cr" = "yes"; then
272
+	    CLAMD_LIBS="-pthread"
273
+	fi
274
+	TH_SAFE="-thread-safe"
275
+	AC_DEFINE(CL_THREAD_SAFE)
276
+	AC_DEFINE(_REENTRANT)
277
+    fi
278
+    AC_DEFINE(C_BSD)
279
+    ;;
268 280
 openbsd*)
269 281
     if test "$have_pthreads" = "yes"; then
270 282
 	LIBCLAMAV_LIBS="$LIBCLAMAV_LIBS -pthread"
... ...
@@ -413,6 +425,37 @@ else
413 413
   AC_DEFINE(WORDS_LITTLEENDIAN)
414 414
 fi
415 415
 
416
+dnl check for __attribute__((packed))
417
+AC_MSG_CHECKING([for structure packing via __attribute__((packed))])
418
+AC_CACHE_VAL(have_attrib_packed,[
419
+	AC_TRY_COMPILE(,
420
+		[struct { int i __attribute__((packed)); } s; ],
421
+		[have_attrib_packed=yes],
422
+		[have_attrib_packed=no])
423
+	])
424
+AC_MSG_RESULT($have_attrib_packed)
425
+
426
+if test "$have_attrib_packed" = no; then
427
+	AC_MSG_CHECKING(for structure packing via pragma)
428
+	AC_CACHE_VAL(have_pragma_pack,[
429
+		AC_TRY_RUN([int main(void) {
430
+#pragma pack(1)			/* has to be in column 1 ! */
431
+			struct { char c; long l; } s;
432
+			return sizeof(s)==sizeof(s.c)+sizeof(s.l) ? 0:1; } ],
433
+			[have_pragma_pack=yes],
434
+			[have_pragma_pack=no])
435
+		])
436
+	AC_MSG_RESULT($have_pragma_pack)
437
+	AC_DEFINE(HAVE_PRAGMA_PACK)
438
+fi
439
+
440
+if test "$have_attrib_packed" = no -a "$have_pragma_pack" = no ; then
441
+	AC_MSG_ERROR(Need to know how to pack structures with this compiler)
442
+fi
443
+if test "$have_attrib_packed" = yes; then
444
+	AC_DEFINE(HAVE_ATTRIB_PACKED)
445
+fi
446
+
416 447
 AC_OUTPUT([
417 448
 libclamav/Makefile
418 449
 clamscan/Makefile
... ...
@@ -29,6 +29,10 @@ Example
29 29
 # Log time with an each message.
30 30
 #LogTime
31 31
 
32
+# Log also clean files. May be useful in debugging but will drastically
33
+# increase the log size.
34
+#LogClean
35
+
32 36
 # Use system logger (can work together with LogFile).
33 37
 #LogSyslog
34 38
 
... ...
@@ -39,6 +43,10 @@ Example
39 39
 # daemon (main thread).
40 40
 #PidFile /var/run/clamd.pid
41 41
 
42
+# Optional path to the global temporary directory.
43
+# Default is system specific - usually /var/tmp or /tmp.
44
+#TemporaryDirectory /var/tmp
45
+
42 46
 # Path to the database directory.
43 47
 # Default is the hardcoded directory (mostly /usr/local/share/clamav,
44 48
 # but it depends on installation options).
... ...
@@ -49,6 +49,10 @@ int freshclam(struct optstruct *opt)
49 49
 	struct passwd *user;
50 50
 #endif
51 51
 
52
+    if(optc(opt, 'h')) {
53
+	free_opt(opt);
54
+    	help();
55
+    }
52 56
 
53 57
     /* parse the config file */
54 58
     if((cfgfile = getargc(opt, 'c'))) {
... ...
@@ -111,10 +115,6 @@ int freshclam(struct optstruct *opt)
111 111
 	mexit(0);
112 112
     }
113 113
 
114
-    if(optc(opt, 'h')) {
115
-	free_opt(opt);
116
-    	help();
117
-    }
118 114
 
119 115
     /* initialize logger */
120 116
 
... ...
@@ -26,6 +26,7 @@
26 26
 #include <netinet/in.h>
27 27
 #include <arpa/inet.h>
28 28
 #include <netdb.h>
29
+#include <string.h>
29 30
 
30 31
 #include "others.h"
31 32
 #include "cfgfile.h"
... ...
@@ -1,5 +1,5 @@
1 1
 /*
2
- *  Copyright (C) 2002, 2003 Tomasz Kojm <zolw@konarski.edu.pl>
2
+ *  Copyright (C) 2002 - 2004 Tomasz Kojm <tkojm@clamav.net>
3 3
  *
4 4
  *  This program is free software; you can redistribute it and/or modify
5 5
  *  it under the terms of the GNU General Public License as published by
... ...
@@ -64,12 +64,18 @@ int cli_parse_add(struct cl_node *root, const char *virname, const char *hexstr,
64 64
     else
65 65
 	virlen = strlen(virname);
66 66
 
67
-    if((new->virname = cli_calloc(virlen + 1, sizeof(char))) == NULL)
67
+    if((new->virname = cli_calloc(virlen + 1, sizeof(char))) == NULL) {
68
+	free(new);
68 69
 	return CL_EMEM;
70
+    }
71
+
69 72
     strncpy(new->virname, virname, virlen);
70 73
 
71
-    if((ret = cli_addpatt(root, new)))
74
+    if((ret = cli_addpatt(root, new))) {
75
+	free(new->virname);
76
+	free(new);
72 77
 	return ret;
78
+    }
73 79
 
74 80
     return 0;
75 81
 }
... ...
@@ -90,19 +96,29 @@ int cl_loaddb(const char *filename, struct cl_node **root, int *virnum)
90 90
 
91 91
     cli_dbgmsg("Loading %s\n", filename);
92 92
 
93
-    if(!(buffer = (char *) cli_malloc(FILEBUFF)))
93
+    if(!(buffer = (char *) cli_malloc(FILEBUFF))) {
94
+	fclose(fd);
94 95
 	return CL_EMEM;
96
+    }
95 97
 
96 98
     memset(buffer, 0, FILEBUFF);
99
+
97 100
     /* test for CVD file */
98
-    fgets(buffer, 12, fd);
101
+
102
+    if (fgets(buffer, 12, fd) == NULL) {
103
+	cli_dbgmsg("%s: failure reading header\n", filename);
104
+	free(buffer);
105
+	fclose(fd);
106
+	return CL_EMALFDB;
107
+    }
108
+
99 109
     rewind(fd);
100 110
 
101 111
     if(!strncmp(buffer, "ClamAV-VDB:", 11)) {
102 112
 	cli_dbgmsg("%s: CVD file detected\n", filename);
103 113
 	ret = cli_cvdload(fd, root, virnum);
104
-	fclose(fd);
105 114
 	free(buffer);
115
+	fclose(fd);
106 116
 	return ret;
107 117
     }
108 118
 
... ...
@@ -121,6 +137,7 @@ int cl_loaddb(const char *filename, struct cl_node **root, int *virnum)
121 121
 	if(!pt) {
122 122
 	    cli_errmsg("readdb(): Malformed pattern line %d (file %s).\n", line, filename);
123 123
 	    free(buffer);
124
+	    fclose(fd);
124 125
 	    return CL_EMALFDB;
125 126
 	}
126 127
 
... ...
@@ -134,6 +151,7 @@ int cl_loaddb(const char *filename, struct cl_node **root, int *virnum)
134 134
 	    *root = (struct cl_node *) cli_calloc(1, sizeof(struct cl_node));
135 135
 	    if(!*root) {
136 136
 		free(buffer);
137
+		fclose(fd);
137 138
 		return CL_EMEM;
138 139
 	    }
139 140
 	    (*root)->maxpatlen = 0;
... ...
@@ -152,13 +170,17 @@ int cl_loaddb(const char *filename, struct cl_node **root, int *virnum)
152 152
 	    for(i = 1; i <= parts; i++) {
153 153
 		if((pt2 = cli_strtok(pt, i - 1, "*")) == NULL) {
154 154
 		    cli_errmsg("Can't extract part %d of partial signature in line %d\n", i + 1, line);
155
+		    free(buffer);
156
+		    fclose(fd);
155 157
 		    return CL_EMALFDB;
156 158
 		}
157 159
 
158 160
 		if((ret = cli_parse_add(*root, start, pt2, sigid, parts, i))) {
159 161
 		    cli_dbgmsg("parse_add() return code: %d\n", ret);
160 162
 		    cli_errmsg("readdb(): Malformed pattern line %d (file %s).\n", line, filename);
163
+		    free(pt2);
161 164
 		    free(buffer);
165
+		    fclose(fd);
162 166
 		    return ret;
163 167
 		}
164 168
 //		cli_dbgmsg("Added part %d of partial signature (id %d)\n", i, sigid);
... ...
@@ -170,16 +192,18 @@ int cl_loaddb(const char *filename, struct cl_node **root, int *virnum)
170 170
 		cli_dbgmsg("parse_add() return code: %d\n", ret);
171 171
 		cli_errmsg("readdb(): Malformed pattern line %d (file %s).\n", line, filename);
172 172
 		free(buffer);
173
+		fclose(fd);
173 174
 		return ret;
174 175
 	    }
175 176
 	}
176 177
     }
177 178
 
178
-    free(buffer);
179
-    fclose(fd);
180 179
     if(virnum != NULL)
181 180
 	*virnum += line;
182 181
 
182
+    free(buffer);
183
+    fclose(fd);
184
+
183 185
     return 0;
184 186
 }
185 187
 
... ...
@@ -244,8 +244,9 @@ int cli_scanzip(int desc, char **virname, long int *scanned, const struct cl_nod
244 244
 	ZZIP_FILE *zfp;
245 245
 	FILE *tmp = NULL;
246 246
 	char *buff;
247
-	int fd, bytes, files = 0, ret = CL_CLEAN, err;
247
+	int fd, bytes, files = 0, ret = CL_CLEAN;
248 248
 	struct stat source;
249
+	zzip_error_t err;
249 250
 
250 251
     cli_dbgmsg("Starting scanzip()\n");
251 252
 
... ...
@@ -763,7 +764,7 @@ int cli_magic_scandesc(int desc, char **virname, long int *scanned, const struct
763 763
 	else if(SCAN_MAIL && !strncmp(magic, RAWMAIL_MAGIC_STR, strlen(RAWMAIL_MAGIC_STR))) {
764 764
 	    cli_dbgmsg("Recognized raw mail file.\n");
765 765
 	    ret = cli_scanmail(desc, virname, scanned, root, limits, options, reclev);
766
-	} else if(SCAN_MAIL && !strncmp(magic, MAILDIR_MAGIC_STR, strlen(MAILDIR_MAGIC_STR))) {
766
+	} else if(SCAN_MAIL && !strncasecmp(magic, MAILDIR_MAGIC_STR, strlen(MAILDIR_MAGIC_STR))) {
767 767
 	    cli_dbgmsg("Recognized Maildir mail file.\n");
768 768
 	    ret = cli_scanmail(desc, virname, scanned, root, limits, options, reclev);
769 769
 	} else if(SCAN_MAIL && !strncmp(magic, DELIVERED_MAGIC_STR, strlen(DELIVERED_MAGIC_STR))) {
... ...
@@ -38,7 +38,7 @@ int main(int argc, char **argv)
38 38
 	int ret, opt_index, i, len;
39 39
 	struct optstruct *opt;
40 40
 
41
-	const char *getopt_parameters = "hvVc:s:f:b:i:u:l";
41
+	const char *getopt_parameters = "hvVc:s:f:b:i:u:l::";
42 42
 
43 43
 	static struct option long_options[] = {
44 44
 	    {"help", 0, 0, 'h'},
... ...
@@ -57,7 +57,7 @@ int main(int argc, char **argv)
57 57
 	    {"unpack", 1, 0, 'u'},
58 58
 	    {"unpack-current", 1, 0, 0},
59 59
 	    {"info", 1, 0, 'i'},
60
-	    {"list-sigs", 2, 0, 0},
60
+	    {"list-sigs", 2, 0, 'l'},
61 61
 	    {0, 0, 0, 0}
62 62
     	};
63 63
 
... ...
@@ -220,7 +220,7 @@ void sigtool(struct optstruct *opt)
220 220
 
221 221
 	cvdinfo(opt);
222 222
 
223
-    } else if(optl(opt, "list-sigs")) {
223
+    } else if(optc(opt, 'l')) {
224 224
 
225 225
 	listsigs(opt);
226 226
 
... ...
@@ -710,34 +710,6 @@ void cvdinfo(struct optstruct *opt)
710 710
     /* free */
711 711
 }
712 712
 
713
-void help(void)
714
-{
715
-    mprintf("\n");
716
-    mprintf("                Clam AntiVirus: Signature Tool (sigtool)  "VERSION"\n");
717
-    mprintf("                (C) 2002 - 2004 Tomasz Kojm <tkojm@clamav.net>\n\n");
718
-
719
-    mprintf("    --help                 -h              show help\n");
720
-    mprintf("    --version              -V              print version number and exit\n");
721
-    mprintf("    --quiet                                be quiet, output only error messages\n");
722
-    mprintf("    --debug                                enable debug messages\n");
723
-    mprintf("    --stdout                               write to stdout instead of stderr\n");
724
-    mprintf("                                           (this help is always written to stdout)\n");
725
-    mprintf("    --hex-dump                             convert data from stdin to a hex\n");
726
-    mprintf("                                           string and print it on stdout\n");
727
-    mprintf("    --command              -c              scanner command string, with options\n");
728
-    mprintf("    --string               -s              'virus found' string in scan. output\n");
729
-    mprintf("    --file                 -f              infected file\n");
730
-    mprintf("    --info=FILE            -i FILE         print database information\n");
731
-    mprintf("    --build=NAME           -b NAME         build a CVD file\n");
732
-    mprintf("    --server=ADDR                          ClamAV Signing Service address\n");
733
-    mprintf("    --unpack=FILE          -u FILE         Unpack a CVD file\n");
734
-    mprintf("    --unpack-current=NAME                  Unpack local CVD\n");
735
-    mprintf("    --list-sigs[=FILE]                     List virus signatures\n");
736
-    mprintf("\n");
737
-
738
-    exit(0);
739
-}
740
-
741 713
 char *getdsig(const char *host, const char *user, const char *data)
742 714
 {
743 715
 	char buff[300], cmd[100], *pass, *pt;
... ...
@@ -1002,10 +974,38 @@ void listsigs(struct optstruct *opt)
1002 1002
 
1003 1003
     mprintf_stdout = 1;
1004 1004
 
1005
-    if((name = getargl(opt, "list-sigs")))
1005
+    if((name = getargc(opt, 'l')))
1006 1006
 	ret = listdb(name);
1007 1007
     else
1008 1008
 	ret = listdir(cl_retdbdir());
1009 1009
 
1010
-    return ret ? exit(1) : exit(0);
1010
+    ret ? exit(1) : exit(0);
1011
+}
1012
+
1013
+void help(void)
1014
+{
1015
+    mprintf("\n");
1016
+    mprintf("                Clam AntiVirus: Signature Tool (sigtool)  "VERSION"\n");
1017
+    mprintf("                (C) 2002 - 2004 Tomasz Kojm <tkojm@clamav.net>\n\n");
1018
+
1019
+    mprintf("    --help                 -h              show help\n");
1020
+    mprintf("    --version              -V              print version number and exit\n");
1021
+    mprintf("    --quiet                                be quiet, output only error messages\n");
1022
+    mprintf("    --debug                                enable debug messages\n");
1023
+    mprintf("    --stdout                               write to stdout instead of stderr\n");
1024
+    mprintf("                                           (this help is always written to stdout)\n");
1025
+    mprintf("    --hex-dump                             convert data from stdin to a hex\n");
1026
+    mprintf("                                           string and print it on stdout\n");
1027
+    mprintf("    --command              -c              scanner command string, with options\n");
1028
+    mprintf("    --string               -s              'virus found' string in scan. output\n");
1029
+    mprintf("    --file                 -f              infected file\n");
1030
+    mprintf("    --info=FILE            -i FILE         print database information\n");
1031
+    mprintf("    --build=NAME           -b NAME         build a CVD file\n");
1032
+    mprintf("    --server=ADDR                          ClamAV Signing Service address\n");
1033
+    mprintf("    --unpack=FILE          -u FILE         Unpack a CVD file\n");
1034
+    mprintf("    --unpack-current=NAME                  Unpack local CVD\n");
1035
+    mprintf("    --list-sigs[=FILE]     -l[FILE]        List signature names\n");
1036
+    mprintf("\n");
1037
+
1038
+    exit(0);
1011 1039
 }