Browse code

*** empty log message ***

git-svn: trunk@290

Tomasz Kojm authored on 2004/02/15 22:46:01
Showing 8 changed files
... ...
@@ -1,3 +1,7 @@
1
+Sun Feb 15 14:10:19 CET 2004 (tk)
2
+---------------------------------
3
+  V 0.67 (released with OLE2 and Dazuko support disabled)
4
+
1 5
 Sun Feb 15 12:06:12 GMT 2004 (trog)
2 6
 -----------------------------------
3 7
  * libclamav/vba_extract.c: Fix memory leak
... ...
@@ -2,6 +2,141 @@ Note: This README/NEWS file refers to the source tarball. Some things described
2 2
 here may not be available in binary packages.
3 3
 --
4 4
 
5
+0.67
6
+----
7
+This release fixes a memory management problem (platform dependent; can lead
8
+to a DoS attack) with messages that only have attachments (reported by Oliver
9
+Brandmueller). It also contains patches for a few problems found in 0.66 and
10
+has better Cygwin support.
11
+
12
+0.66
13
+----
14
+This version is a response to the "clamav 0.65 remote DOS exploit" information
15
+published on popular security-related mailing lists. Unfortunately we had
16
+not been contacted by the author before he published that and had to release
17
+this (unplanned) package very quickly (it should be mentioned that CVS version
18
+was not vulnerable to the exploit). Untested code has been disabled also
19
+the Dazuko support is temporarily not available (if you really need it please
20
+use a CVS version or wait for a next stable release). Other noteworthy changes:
21
+
22
+-) clamd:
23
+    + fixed database timestamp handling (and a double reload problem reported
24
+      by Alex Pleiner and Ole Stanstrup)
25
+    + new directive: ArchiveMaxCompressionRatio
26
+    + new command: SESSION (starts a clamd session and allows to do multiple
27
+      commands per TCP session)
28
+    + new directives: TemporaryDirectory, LogClean (Andrey V. Malyshev)
29
+
30
+-) clamav-milter: (Nigel Horne)
31
+    + added support for AllowSupplementaryGroups and ThreadTimeout
32
+    + added --quarantine-dir (thanks to Michael Dankov)
33
+    + added --noreject (thanks to Vijay Sarvepalli)
34
+    + added --headers (thanks Leonid Zeitlin)
35
+    + added --sign option
36
+
37
+-) libclamav:
38
+    + detect Worm.SCO.A bounces (Nigel)
39
+    + prevent buffer overflow in broken uuencoded files (Nigel)
40
+    + scan multipart alternatives that have no boundaries (Nigel)
41
+    + better handling of encapsulated messages (Nigel)
42
+    + locate uuencoded viruses hidden in text portions of multipart/mixed
43
+      mime messages (Nigel)
44
+    + initial support for BinHex (Nigel)
45
+    + fixed a mail recursion loop (problem reported by Alex Kah and Kristof
46
+      Petr)
47
+    + fixed bzip2 memory limit (improper call suggested by the buggy libbz2
48
+      documentation, problem reported by Tomasz Klim)
49
+    + fixed on error descriptor leak in CVD unpacker (Thomas Lamy)
50
+    + fixed memory leak in digital signature verification code (Thomas Lamy)
51
+    + added maximal compression ratio limit (cl_limits->maxratio)
52
+
53
+-) clamscan:
54
+    + support for multiple arguments on command line (Thomas Lamy)
55
+    + fixed buffer overflow in --move (Denis De Messemacker)
56
+    + removed support for sendfile() under Linux
57
+
58
+-) freshclam:
59
+    + support for freshclam.conf (that may be optionally merged with
60
+      clamav.conf, command line options overwrite config settings)
61
+    + work-around for potential database downgrade (subtle problem
62
+      in r-r dns handling) - reported by Daniel Mario Vega and patched
63
+      by Luca Gibelli
64
+
65
+-) sigtool:
66
+    + list virus names with --list-sigs (-l)
67
+
68
+-) contrib:
69
+    + clamdwatch (by Mike Cathey)
70
+    + windows clamd client with drag&drop support (Nigel Horne)
71
+
72
+-) documentation:
73
+    + complete clamdoc.pdf French translation by Stephane Jeannenot
74
+    + Polish how-to on ClamAV and Sendmail integration (with clamav-milter)
75
+      by Przemyslaw Holowczyc
76
+
77
+
78
+News:
79
+
80
+ClamAV was the first anti-virus protecting against Worm.SCO.A (aka MyDoom.A) !
81
+The signature was published by Diego d'Ambra in the daily update 105,
82
+26-Jan-2004 20:23 GMT and we were at least two hours faster than "big" AV
83
+vendors:
84
+http://sourceforge.net/mailarchive/forum.php?thread_id=3764826&forum_id=34654
85
+http://www.pcwelt.de/news/viren_bugs/37278/4.html
86
+
87
+
88
+clamav-devel is finally able to decode OLE2 (Microsoft Office) files and
89
+decompress VBA streams ! The code is developed by Trog, official ClamAV
90
+developer. Also we're testing new clamd implementation that will solve
91
+several important problems (especially that "Time out" related). Please
92
+help us and test the latest CVS version.
93
+
94
+
95
+The virus database now contains more than 20.000 signatures ! On January 8,
96
+Denis De Messemacker (who joined our team 3 months ago) added signatures for
97
+about 7700 new viruses. Also special thanks go to Tomasz Papszun for his
98
+hard work on daily submissions and forcing us to keep ClamAV quality on
99
+the highest possible level.
100
+
101
+
102
+New mirroring mechanisms. Luca Gibelli (ClamAV) and mirror administrators
103
+(22 sites, http://www.clamav.net/mirrors.html, please see clamdoc.pdf for
104
+a complete mirror information) are converting mirrors to new "push mirroring"
105
+method. It uses advanced techniques to ensure all the mirrors are up to date.
106
+More info: http://www.clamav.net/docs/mirrors
107
+
108
+
109
+"Newsworthy Hack of Kindness" - Affero.net is featuring ClamAV in its latest
110
+newsletter (Volume #9, January 2004: http://www.affero.net/nl/dec03.html).
111
+Affero is a great rate-donate system and its mission is to bring a culture
112
+of patronage to the Internet. Currently we only accept donations via Affero.
113
+You can also help us and promote our project by adding the ClamAV logo to
114
+your home page. Look at http://www.clamav.net/donate.html for more information.
115
+
116
+
117
+We would like to thank our donors:
118
+
119
+    * Jeremy Garcia (http://www.linuxquestions.org)
120
+    * Andries Filmer (http://www.netexpo.nl)
121
+    * David Eriksson (http://www.2good.nu)
122
+    * Dynamic Network Services, Inc (http://www.dyndns.org)
123
+    * epublica
124
+    * Invisik Corporation (http://www.invisik.com)
125
+    * Keith (http://www.textpad.com)
126
+    * Explido Software USA Inc. (http://www.explido.us)
127
+    * cheahch from Singapore
128
+    * Electric Embers
129
+    * Stephane Rault
130
+    * Brad Koehn
131
+    * David Farrick
132
+    * ActiveIntra.net Inc. (http://www.activeintra.net)
133
+    * An anonymous donor from Colorado, US
134
+
135
+--
136
+Tomasz Kojm <tkojm*clamav.net>
137
+February 10, 2004
138
+
139
+
5 140
 0.65
6 141
 ----
7 142
 IMPORTANT NOTE: The project has been moved into SourceForge. The only official
... ...
@@ -2,6 +2,13 @@ Note: This README/NEWS file refers to the source tarball. Some things described
2 2
 here may not be available in binary packages.
3 3
 --
4 4
 
5
+0.67
6
+----
7
+This release fixes a memory management problem (platform dependent; can lead
8
+to a DoS attack) with messages that only have attachments (reported by Oliver
9
+Brandmueller). It also contains patches for a few problems found in 0.66 and
10
+has better Cygwin support.
11
+
5 12
 0.66
6 13
 ----
7 14
 This version is a response to the "clamav 0.65 remote DOS exploit" information
... ...
@@ -26,6 +26,7 @@ install:
26 26
 	$(mkinstalldirs) $(DESTDIR)$(DBINST)
27 27
 	@test -f $(DESTDIR)$(DBINST)/main.cvd || $(INSTALL_DATA) main.cvd $(DESTDIR)$(DBINST)
28 28
 	@test -f $(DESTDIR)$(DBINST)/daily.cvd || $(INSTALL_DATA) daily.cvd $(DESTDIR)$(DBINST)
29
+	@test -f $(DESTDIR)$(DBINST)/mirrors.txt && rm -f $(DESTDIR)$(DBINST)/mirrors.txt || true
29 30
 	@test -f $(DESTDIR)$(DBINST)/viruses.db && rm -f $(DESTDIR)$(DBINST)/viruses.db || true
30 31
 	@test -f $(DESTDIR)$(DBINST)/viruses.db2 && rm -f $(DESTDIR)$(DBINST)/viruses.db2 || true
31 32
 	@if test `id|sed -e 's/^.[^(]*(\([^)]*\)).*/\1/'` = "root" && test -n "${CLAMAVUSER}" && test -n "${CLAMAVGROUP}"; then \
... ...
@@ -250,6 +250,7 @@ install:
250 250
 	$(mkinstalldirs) $(DESTDIR)$(DBINST)
251 251
 	@test -f $(DESTDIR)$(DBINST)/main.cvd || $(INSTALL_DATA) main.cvd $(DESTDIR)$(DBINST)
252 252
 	@test -f $(DESTDIR)$(DBINST)/daily.cvd || $(INSTALL_DATA) daily.cvd $(DESTDIR)$(DBINST)
253
+	@test -f $(DESTDIR)$(DBINST)/mirrors.txt && rm -f $(DESTDIR)$(DBINST)/mirrors.txt || true
253 254
 	@test -f $(DESTDIR)$(DBINST)/viruses.db && rm -f $(DESTDIR)$(DBINST)/viruses.db || true
254 255
 	@test -f $(DESTDIR)$(DBINST)/viruses.db2 && rm -f $(DESTDIR)$(DBINST)/viruses.db2 || true
255 256
 	@if test `id|sed -e 's/^.[^(]*(\([^)]*\)).*/\1/'` = "root" && test -n "${CLAMAVUSER}" && test -n "${CLAMAVGROUP}"; then \
256 257
Binary files a/clamav-devel/docs/clamdoc.pdf and b/clamav-devel/docs/clamdoc.pdf differ
... ...
@@ -24,7 +24,7 @@ original version by:  Nikos Drakos, CBLU, University of Leeds
24 24
 
25 25
 <BODY >
26 26
 <!--Navigation Panel-->
27
-<A NAME="tex2html73"
27
+<A NAME="tex2html74"
28 28
   HREF="node1.html">
29 29
 <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
30 30
  SRC="/usr/share/latex2html/icons/next.png"></A> 
... ...
@@ -32,14 +32,14 @@ original version by:  Nikos Drakos, CBLU, University of Leeds
32 32
  SRC="/usr/share/latex2html/icons/up_g.png"> 
33 33
 <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
34 34
  SRC="/usr/share/latex2html/icons/prev_g.png"> 
35
-<A NAME="tex2html71"
35
+<A NAME="tex2html72"
36 36
   HREF="node1.html">
37 37
 <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
38 38
  SRC="/usr/share/latex2html/icons/contents.png"></A>  
39 39
 <BR>
40
-<B> Next:</B> <A NAME="tex2html74"
40
+<B> Next:</B> <A NAME="tex2html75"
41 41
   HREF="node1.html">Contents</A>
42
- &nbsp <B>  <A NAME="tex2html72"
42
+ &nbsp <B>  <A NAME="tex2html73"
43 43
   HREF="node1.html">Contents</A></B> 
44 44
 <BR>
45 45
 <BR>
... ...
@@ -60,7 +60,7 @@ original version by:  Nikos Drakos, CBLU, University of Leeds
60 60
 <BR>
61 61
 <BR>
62 62
     <DIV ALIGN="RIGHT">
63
-<BR>	<FONT SIZE="+3">Clam AntiVirus 0.66
63
+<BR>	<FONT SIZE="+3">Clam AntiVirus 0.67
64 64
 <BR>	<FONT SIZE="+3">User Manual
65 65
 <BR>	<BR>
66 66
 	<FONT SIZE="+2"><I>by Tomasz Kojm</I>
... ...
@@ -74,152 +74,152 @@ original version by:  Nikos Drakos, CBLU, University of Leeds
74 74
 <A NAME="CHILD_LINKS"></A>
75 75
 
76 76
 <UL>
77
-<LI><A NAME="tex2html75"
78
-  HREF="node1.html">Contents</A>
79 77
 <LI><A NAME="tex2html76"
78
+  HREF="node1.html">Contents</A>
79
+<LI><A NAME="tex2html77"
80 80
   HREF="node2.html">Introduction</A>
81 81
 <UL>
82
-<LI><A NAME="tex2html77"
83
-  HREF="node3.html">Features</A>
84 82
 <LI><A NAME="tex2html78"
85
-  HREF="node4.html">Mailing lists</A>
83
+  HREF="node3.html">Features</A>
86 84
 <LI><A NAME="tex2html79"
85
+  HREF="node4.html">Mailing lists</A>
86
+<LI><A NAME="tex2html80"
87 87
   HREF="node5.html">Virus submitting</A>
88 88
 </UL>
89 89
 <BR>
90
-<LI><A NAME="tex2html80"
90
+<LI><A NAME="tex2html81"
91 91
   HREF="node6.html">Installation</A>
92 92
 <UL>
93
-<LI><A NAME="tex2html81"
94
-  HREF="node7.html">Requirements</A>
95 93
 <LI><A NAME="tex2html82"
96
-  HREF="node8.html">Supported platforms</A>
94
+  HREF="node7.html">Requirements</A>
97 95
 <LI><A NAME="tex2html83"
98
-  HREF="node9.html">Binary packages</A>
96
+  HREF="node8.html">Supported platforms</A>
99 97
 <LI><A NAME="tex2html84"
100
-  HREF="node10.html">Installation</A>
98
+  HREF="node9.html">Binary packages</A>
101 99
 <LI><A NAME="tex2html85"
102
-  HREF="node11.html">Configuration</A>
100
+  HREF="node10.html">Installation</A>
103 101
 <LI><A NAME="tex2html86"
104
-  HREF="node12.html">Testing</A>
102
+  HREF="node11.html">Configuration</A>
105 103
 <LI><A NAME="tex2html87"
106
-  HREF="node13.html">freshclam: Setting up auto-updating</A>
104
+  HREF="node12.html">Testing</A>
107 105
 <LI><A NAME="tex2html88"
106
+  HREF="node13.html">freshclam: Setting up auto-updating</A>
107
+<LI><A NAME="tex2html89"
108 108
   HREF="node14.html">Database mirrors</A>
109 109
 </UL>
110 110
 <BR>
111
-<LI><A NAME="tex2html89"
111
+<LI><A NAME="tex2html90"
112 112
   HREF="node15.html">Usage</A>
113 113
 <UL>
114
-<LI><A NAME="tex2html90"
115
-  HREF="node16.html">Clam daemon</A>
116 114
 <LI><A NAME="tex2html91"
117
-  HREF="node17.html">Clamuko</A>
115
+  HREF="node16.html">Clam daemon</A>
118 116
 <LI><A NAME="tex2html92"
119
-  HREF="node18.html">Archives and compressed files</A>
117
+  HREF="node17.html">Clamuko</A>
120 118
 <LI><A NAME="tex2html93"
121
-  HREF="node19.html">Output format</A>
119
+  HREF="node18.html">Archives and compressed files</A>
122 120
 <LI><A NAME="tex2html94"
121
+  HREF="node19.html">Output format</A>
122
+<LI><A NAME="tex2html95"
123 123
   HREF="node20.html">Signature Tool</A>
124 124
 </UL>
125 125
 <BR>
126
-<LI><A NAME="tex2html95"
126
+<LI><A NAME="tex2html96"
127 127
   HREF="node21.html">Problem solving</A>
128 128
 <UL>
129
-<LI><A NAME="tex2html96"
129
+<LI><A NAME="tex2html97"
130 130
   HREF="node22.html">Return codes</A>
131 131
 </UL>
132 132
 <BR>
133
-<LI><A NAME="tex2html97"
133
+<LI><A NAME="tex2html98"
134 134
   HREF="node23.html">Certified software</A>
135 135
 <UL>
136
-<LI><A NAME="tex2html98"
137
-  HREF="node24.html">clamav-milter</A>
138 136
 <LI><A NAME="tex2html99"
139
-  HREF="node25.html">IVS Milter</A>
137
+  HREF="node24.html">clamav-milter</A>
140 138
 <LI><A NAME="tex2html100"
141
-  HREF="node26.html">smtp-vilter</A>
139
+  HREF="node25.html">IVS Milter</A>
142 140
 <LI><A NAME="tex2html101"
143
-  HREF="node27.html">mod_clamav</A>
141
+  HREF="node26.html">smtp-vilter</A>
144 142
 <LI><A NAME="tex2html102"
145
-  HREF="node28.html">TrashScan</A>
143
+  HREF="node27.html">mod_clamav</A>
146 144
 <LI><A NAME="tex2html103"
147
-  HREF="node29.html">AMaViS - "Next Generation"</A>
145
+  HREF="node28.html">TrashScan</A>
148 146
 <LI><A NAME="tex2html104"
149
-  HREF="node30.html">amavisd-new</A>
147
+  HREF="node29.html">AMaViS - "Next Generation"</A>
150 148
 <LI><A NAME="tex2html105"
151
-  HREF="node31.html">Qmail-Scanner</A>
149
+  HREF="node30.html">amavisd-new</A>
152 150
 <LI><A NAME="tex2html106"
153
-  HREF="node32.html">Sagator</A>
151
+  HREF="node31.html">Qmail-Scanner</A>
154 152
 <LI><A NAME="tex2html107"
155
-  HREF="node33.html">ClamdMail</A>
153
+  HREF="node32.html">Sagator</A>
156 154
 <LI><A NAME="tex2html108"
157
-  HREF="node34.html">BlackHole</A>
155
+  HREF="node33.html">ClamdMail</A>
158 156
 <LI><A NAME="tex2html109"
159
-  HREF="node35.html">MailScanner</A>
157
+  HREF="node34.html">BlackHole</A>
160 158
 <LI><A NAME="tex2html110"
161
-  HREF="node36.html">MIMEDefang</A>
159
+  HREF="node35.html">MailScanner</A>
162 160
 <LI><A NAME="tex2html111"
163
-  HREF="node37.html">exiscan</A>
161
+  HREF="node36.html">MIMEDefang</A>
164 162
 <LI><A NAME="tex2html112"
165
-  HREF="node38.html">scanexi</A>
163
+  HREF="node37.html">exiscan</A>
166 164
 <LI><A NAME="tex2html113"
167
-  HREF="node39.html">Mail::ClamAV</A>
165
+  HREF="node38.html">scanexi</A>
168 166
 <LI><A NAME="tex2html114"
169
-  HREF="node40.html">OpenAntiVirus samba-vscan</A>
167
+  HREF="node39.html">Mail::ClamAV</A>
170 168
 <LI><A NAME="tex2html115"
171
-  HREF="node41.html">Sylpheed Claws</A>
169
+  HREF="node40.html">OpenAntiVirus samba-vscan</A>
172 170
 <LI><A NAME="tex2html116"
173
-  HREF="node42.html">nclamd</A>
171
+  HREF="node41.html">Sylpheed Claws</A>
174 172
 <LI><A NAME="tex2html117"
173
+  HREF="node42.html">nclamd</A>
174
+<LI><A NAME="tex2html118"
175 175
   HREF="node43.html">cgpav</A>
176 176
 </UL>
177 177
 <BR>
178
-<LI><A NAME="tex2html118"
178
+<LI><A NAME="tex2html119"
179 179
   HREF="node44.html">LibClamAV</A>
180 180
 <UL>
181
-<LI><A NAME="tex2html119"
182
-  HREF="node45.html">General API</A>
183 181
 <LI><A NAME="tex2html120"
184
-  HREF="node46.html">Database reloading</A>
182
+  HREF="node45.html">General API</A>
185 183
 <LI><A NAME="tex2html121"
186
-  HREF="node47.html">Scan engine</A>
184
+  HREF="node46.html">Database reloading</A>
187 185
 <LI><A NAME="tex2html122"
186
+  HREF="node47.html">Scan engine</A>
187
+<LI><A NAME="tex2html123"
188 188
   HREF="node48.html">CVD format</A>
189 189
 </UL>
190 190
 <BR>
191
-<LI><A NAME="tex2html123"
191
+<LI><A NAME="tex2html124"
192 192
   HREF="node49.html">Credits</A>
193 193
 <UL>
194
-<LI><A NAME="tex2html124"
195
-  HREF="node50.html">Contributors</A>
196 194
 <LI><A NAME="tex2html125"
195
+  HREF="node50.html">Contributors</A>
196
+<LI><A NAME="tex2html126"
197 197
   HREF="node51.html">Donors</A>
198 198
 </UL>
199 199
 <BR>
200
-<LI><A NAME="tex2html126"
200
+<LI><A NAME="tex2html127"
201 201
   HREF="node52.html">Authors</A>
202 202
 <UL>
203
-<LI><A NAME="tex2html127"
204
-  HREF="node53.html">Virus Database Developers</A>
205 203
 <LI><A NAME="tex2html128"
206
-  HREF="node54.html">Network management</A>
204
+  HREF="node53.html">Virus Database Developers</A>
207 205
 <LI><A NAME="tex2html129"
208
-  HREF="node55.html">Graphics</A>
206
+  HREF="node54.html">Network management</A>
209 207
 <LI><A NAME="tex2html130"
208
+  HREF="node55.html">Graphics</A>
209
+<LI><A NAME="tex2html131"
210 210
   HREF="node56.html">Core developers</A>
211 211
 </UL>
212 212
 <BR>
213
-<LI><A NAME="tex2html131"
214
-  HREF="node57.html">Bibliography</A>
215 213
 <LI><A NAME="tex2html132"
214
+  HREF="node57.html">Bibliography</A>
215
+<LI><A NAME="tex2html133"
216 216
   HREF="node58.html">About this document ...</A>
217 217
 </UL>
218 218
 <!--End of Table of Child-Links-->
219 219
 <BR><HR>
220 220
 <ADDRESS>
221 221
 Tomasz Kojm
222
-2004-02-11
222
+2004-02-15
223 223
 </ADDRESS>
224 224
 </BODY>
225 225
 </HTML>
... ...
@@ -130,7 +130,7 @@ int downloaddb(const char *localname, const char *remotename, const char *hostna
130 130
 	if((cpt = cfgopt(copt, "HTTPProxyPassword"))) {
131 131
 	    pass = cpt->strarg;
132 132
 	} else {
133
-	    mprintf("HTTPProxyUsername required HTTPProxyPassword\n");
133
+	    mprintf("HTTPProxyUsername requires HTTPProxyPassword\n");
134 134
 	    return 57;
135 135
 	}
136 136
     }
... ...
@@ -359,7 +359,7 @@ struct cl_cvd *remote_cvdhead(const char *file, int socketfd, const char *hostna
359 359
 
360 360
         if(user) {
361 361
             int len;
362
-	    char* buf = mmalloc((strlen(pass) + strlen(user)) * 2 + 4);
362
+	    char *buf = mmalloc((strlen(pass) + strlen(user)) * 2 + 4);
363 363
 	    char *userpass = mmalloc(strlen(user) + strlen(pass) + 2);
364 364
 	    sprintf(userpass, "%s:%s", user, pass);
365 365
             len=fmt_base64(buf,userpass,strlen(userpass));
... ...
@@ -457,7 +457,7 @@ int get_database(const char *dbfile, int socketfd, const char *file, const char
457 457
 
458 458
         if(user) {
459 459
             int len;
460
-	    char* buf = mmalloc((strlen(pass) + strlen(user)) * 2 + 4);
460
+	    char *buf = mmalloc((strlen(pass) + strlen(user)) * 2 + 4);
461 461
 	    char *userpass = mmalloc(strlen(user) + strlen(pass) + 2);
462 462
 	    sprintf(userpass, "%s:%s", user, pass);
463 463
             len=fmt_base64(buf,userpass,strlen(userpass));