Browse code

Fix array overrun on startup

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

Nigel Horne authored on 2004/12/06 00:01:17
Showing 4 changed files
... ...
@@ -1,3 +1,7 @@
1
+Sun Dec  5 15:00:35 GMT 2004 (njh)
2
+----------------------------------
3
+  * clamav-milter:	Fix array overrun on startup
4
+
1 5
 Sat Dec  4 23:34:54 GMT 2004 (njh)
2 6
 ----------------------------------
3 7
   * clamav-milter:	Fix possible mishandling of multiple children when
... ...
@@ -576,6 +576,9 @@ Changes
576 576
 			seconds to 0 (wait forever)
577 577
 0.80w	3/12/04: --internal now honours scanning modes and archive limits
578 578
 0.80x	4/12/04: findServer() could return values out of range
579
+0.80y	5/12/04: --internal: fixed memory leak when a new database is loaded
580
+		Fixed array overrun on startup that caused problems on some
581
+			platforms
579 582
 
580 583
 INTERNATIONALISATION
581 584
 
... ...
@@ -26,6 +26,9 @@
26 26
  *
27 27
  * Change History:
28 28
  * $Log: clamav-milter.c,v $
29
+ * Revision 1.159  2004/12/05 14:58:18  nigelhorne
30
+ * Fix array overrun on startup
31
+ *
29 32
  * Revision 1.158  2004/12/04 23:33:47  nigelhorne
30 33
  * Remove possible array overflow when looking for a free server
31 34
  *
... ...
@@ -485,9 +488,9 @@
485 485
  * Revision 1.6  2003/09/28 16:37:23  nigelhorne
486 486
  * Added -f flag use MaxThreads if --max-children not set
487 487
  */
488
-static	char	const	rcsid[] = "$Id: clamav-milter.c,v 1.158 2004/12/04 23:33:47 nigelhorne Exp $";
488
+static	char	const	rcsid[] = "$Id: clamav-milter.c,v 1.159 2004/12/05 14:58:18 nigelhorne Exp $";
489 489
 
490
-#define	CM_VERSION	"0.80x"
490
+#define	CM_VERSION	"0.80y"
491 491
 
492 492
 /*#define	CONFDIR	"/usr/local/etc"*/
493 493
 
... ...
@@ -709,7 +712,7 @@ static	void	broadcast(const char *mess);
709 709
 static	int	loadDatabase(void);
710 710
 
711 711
 #ifdef	SESSION
712
-static	char	**clamav_versions;
712
+static	char	**clamav_versions;	/* max_children elements in the array */
713 713
 #define	clamav_version	(clamav_versions[0])
714 714
 #else
715 715
 static	char	clamav_version[VERSION_LENGTH + 1];
... ...
@@ -1595,11 +1598,11 @@ main(int argc, char **argv)
1595 1595
 		}
1596 1596
 #ifdef	SESSION
1597 1597
 	} else {
1598
-		clamav_versions = (char **)cli_malloc(numServers * sizeof(char *));
1598
+		clamav_versions = (char **)cli_malloc(max_children * sizeof(char *));
1599 1599
 		if(clamav_versions == NULL)
1600 1600
 			return EX_TEMPFAIL;
1601 1601
 
1602
-		for(i = 0; i < numServers; i++) {
1602
+		for(i = 0; i < max_children; i++) {
1603 1603
 			clamav_versions[i] = strdup(version);
1604 1604
 			if(clamav_versions[i] == NULL)
1605 1605
 				return EX_TEMPFAIL;
... ...
@@ -4352,6 +4355,7 @@ watchdog(void *a)
4352 4352
 			 */
4353 4353
 			pthread_mutex_lock(&n_children_mutex);
4354 4354
 			if((n_children == 0) && (cl_statchkdir(&dbstat) == 1)) {
4355
+				cl_statfree(&dbstat);
4355 4356
 				if(use_syslog)
4356 4357
 					syslog(LOG_WARNING, _("Loading new database"));
4357 4358
 				if(loadDatabase() != 0)
... ...
@@ -4375,7 +4379,9 @@ watchdog(void *a)
4375 4375
 			 * that doesn't really matter)
4376 4376
 			 */
4377 4377
 			cli_dbgmsg("watchdog: check server %d\n", i);
4378
-			if((n_children == 0) && (session->status == CMDSOCKET_FREE)) {
4378
+			if((n_children == 0) &&
4379
+			   (session->status == CMDSOCKET_FREE) &&
4380
+			   (clamav_versions != NULL)) {
4379 4381
 				if(send(sock, "VERSION\n", 8, 0) == 8) {
4380 4382
 					char buf[81];
4381 4383
 					const int nbytes = clamd_recv(sock, buf, sizeof(buf) - 1);
... ...
@@ -4603,7 +4609,7 @@ static int
4603 4603
 loadDatabase(void)
4604 4604
 {
4605 4605
 	extern const char *cl_retdbdir(void);	/* FIXME: should be included */
4606
-	int ret, firsttime, signatures, v;
4606
+	int ret, signatures, v;
4607 4607
 	time_t t;
4608 4608
 	char *daily, *ptr;
4609 4609
 	struct cl_cvd *d;
... ...
@@ -4612,9 +4618,7 @@ loadDatabase(void)
4612 4612
 
4613 4613
 	assert(internal);
4614 4614
 
4615
-	firsttime = (dbdir == NULL);
4616
-
4617
-	if(firsttime) {
4615
+	if(dbdir == NULL) {
4618 4616
 		if((cpt = cfgopt(copt, "DatabaseDirectory")) || (cpt = cfgopt(copt, "DataDirectory")))
4619 4617
 			dbdir = cpt->strarg;
4620 4618
 		else
... ...
@@ -8,7 +8,7 @@ msgid ""
8 8
 msgstr ""
9 9
 "Project-Id-Version: PACKAGE VERSION\n"
10 10
 "Report-Msgid-Bugs-To: bugs@clamav.net\n"
11
-"POT-Creation-Date: 2004-12-04 23:31+0000\n"
11
+"POT-Creation-Date: 2004-12-05 14:57+0000\n"
12 12
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13 13
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14 14
 "Language-Team: LANGUAGE <LL@li.org>\n"
... ...
@@ -16,606 +16,606 @@ msgstr ""
16 16
 "Content-Type: text/plain; charset=CHARSET\n"
17 17
 "Content-Transfer-Encoding: 8bit\n"
18 18
 
19
-#: clamav-milter.c:874
19
+#: clamav-milter.c:877
20 20
 msgid "\t--advisory\t\t-A\tFlag viruses rather than deleting them."
21 21
 msgstr ""
22 22
 
23
-#: clamav-milter.c:875
23
+#: clamav-milter.c:878
24 24
 msgid "\t--bounce\t\t-b\tSend a failure message to the sender."
25 25
 msgstr ""
26 26
 
27
-#: clamav-milter.c:876
27
+#: clamav-milter.c:879
28 28
 msgid ""
29 29
 "\t--broadcast\t\t-B [IFACE]\tBroadcast to a network manager when a virus is "
30 30
 "found."
31 31
 msgstr ""
32 32
 
33
-#: clamav-milter.c:877
33
+#: clamav-milter.c:880
34 34
 msgid "\t--config-file=FILE\t-c FILE\tRead configuration from FILE."
35 35
 msgstr ""
36 36
 
37
-#: clamav-milter.c:878
37
+#: clamav-milter.c:881
38 38
 msgid "\t--debug\t\t\t-D\tPrint debug messages."
39 39
 msgstr ""
40 40
 
41
-#: clamav-milter.c:879
41
+#: clamav-milter.c:882
42 42
 msgid ""
43 43
 "\t--dont-log-clean\t-C\tDon't add an entry to syslog that a mail is clean."
44 44
 msgstr ""
45 45
 
46
-#: clamav-milter.c:880
46
+#: clamav-milter.c:883
47 47
 msgid ""
48 48
 "\t--dont-scan-on-error\t-d\tPass e-mails through unscanned if a system error "
49 49
 "occurs."
50 50
 msgstr ""
51 51
 
52
-#: clamav-milter.c:881
52
+#: clamav-milter.c:884
53 53
 msgid "\t--dont-wait\t\t\tAsk remote end to resend if max-children exceeded."
54 54
 msgstr ""
55 55
 
56
-#: clamav-milter.c:882
56
+#: clamav-milter.c:885
57 57
 msgid "\t--from=EMAIL\t\t-a EMAIL\tError messages come from here."
58 58
 msgstr ""
59 59
 
60
-#: clamav-milter.c:883
60
+#: clamav-milter.c:886
61 61
 msgid "\t--force-scan\t\t-f\tForce scan all messages (overrides (-o and -l)."
62 62
 msgstr ""
63 63
 
64
-#: clamav-milter.c:884
64
+#: clamav-milter.c:887
65 65
 msgid "\t--help\t\t\t-h\tThis message."
66 66
 msgstr ""
67 67
 
68
-#: clamav-milter.c:885
68
+#: clamav-milter.c:888
69 69
 msgid "\t--headers\t\t-H\tInclude original message headers in the report."
70 70
 msgstr ""
71 71
 
72
-#: clamav-milter.c:886
72
+#: clamav-milter.c:889
73 73
 msgid "\t--internal\t\t-I\tUse the internal scanner."
74 74
 msgstr ""
75 75
 
76
-#: clamav-milter.c:887
76
+#: clamav-milter.c:890
77 77
 msgid "\t--local\t\t\t-l\tScan messages sent from machines on our LAN."
78 78
 msgstr ""
79 79
 
80
-#: clamav-milter.c:888
80
+#: clamav-milter.c:891
81 81
 msgid "\t--max-childen\t\t-m\tMaximum number of concurrent scans."
82 82
 msgstr ""
83 83
 
84
-#: clamav-milter.c:889
84
+#: clamav-milter.c:892
85 85
 msgid "\t--outgoing\t\t-o\tScan outgoing messages from this machine."
86 86
 msgstr ""
87 87
 
88
-#: clamav-milter.c:890
88
+#: clamav-milter.c:893
89 89
 msgid "\t--noreject\t\t-N\tDon't reject viruses, silently throw them away."
90 90
 msgstr ""
91 91
 
92
-#: clamav-milter.c:891
92
+#: clamav-milter.c:894
93 93
 msgid "\t--noxheader\t\t-n\tSuppress X-Virus-Scanned/X-Virus-Status headers."
94 94
 msgstr ""
95 95
 
96
-#: clamav-milter.c:892
96
+#: clamav-milter.c:895
97 97
 msgid "\t--pidfile=FILE\t\t-i FILE\tLocation of pidfile."
98 98
 msgstr ""
99 99
 
100
-#: clamav-milter.c:893
100
+#: clamav-milter.c:896
101 101
 msgid "\t--postmaster\t\t-p EMAIL\tPostmaster address [default=postmaster]."
102 102
 msgstr ""
103 103
 
104
-#: clamav-milter.c:894
104
+#: clamav-milter.c:897
105 105
 msgid "\t--postmaster-only\t-P\tSend warnings only to the postmaster."
106 106
 msgstr ""
107 107
 
108
-#: clamav-milter.c:895
108
+#: clamav-milter.c:898
109 109
 msgid "\t--quiet\t\t\t-q\tDon't send e-mail notifications of interceptions."
110 110
 msgstr ""
111 111
 
112
-#: clamav-milter.c:896
112
+#: clamav-milter.c:899
113 113
 msgid "\t--quarantine=USER\t-Q EMAIL\tQuanrantine e-mail account."
114 114
 msgstr ""
115 115
 
116
-#: clamav-milter.c:897
116
+#: clamav-milter.c:900
117 117
 msgid "\t--quarantine-dir=DIR\t-U DIR\tDirectory to store infected emails."
118 118
 msgstr ""
119 119
 
120
-#: clamav-milter.c:898
120
+#: clamav-milter.c:901
121 121
 msgid ""
122 122
 "\t--server=SERVER\t\t-s SERVER\tHostname/IP address of server(s) running "
123 123
 "clamd (when using TCPsocket)."
124 124
 msgstr ""
125 125
 
126
-#: clamav-milter.c:899
126
+#: clamav-milter.c:902
127 127
 msgid "\t--sign\t\t\t-S\tAdd a hard-coded signature to each scanned message."
128 128
 msgstr ""
129 129
 
130
-#: clamav-milter.c:900
130
+#: clamav-milter.c:903
131 131
 msgid "\t--signature-file=FILE\t-F FILE\tLocation of signature file."
132 132
 msgstr ""
133 133
 
134
-#: clamav-milter.c:901
134
+#: clamav-milter.c:904
135 135
 msgid "\t--template-file=FILE\t-t FILE\tLocation of e-mail template file."
136 136
 msgstr ""
137 137
 
138
-#: clamav-milter.c:902
138
+#: clamav-milter.c:905
139 139
 msgid "\t--timeout=SECS\t\t-T SECS\tTimeout waiting to childen to die."
140 140
 msgstr ""
141 141
 
142
-#: clamav-milter.c:903
142
+#: clamav-milter.c:906
143 143
 msgid "\t--version\t\t-V\tPrint the version number of this software."
144 144
 msgstr ""
145 145
 
146
-#: clamav-milter.c:905
146
+#: clamav-milter.c:908
147 147
 msgid "\t--debug-level=n\t\t-x n\tSets the debug level to 'n'."
148 148
 msgstr ""
149 149
 
150
-#: clamav-milter.c:907
150
+#: clamav-milter.c:910
151 151
 msgid ""
152 152
 "\n"
153 153
 "For more information type \"man clamav-milter\"."
154 154
 msgstr ""
155 155
 
156
-#: clamav-milter.c:908
156
+#: clamav-milter.c:911
157 157
 msgid "Report bugs to bugs@clamav.net."
158 158
 msgstr ""
159 159
 
160
-#: clamav-milter.c:1200
160
+#: clamav-milter.c:1203
161 161
 #, c-format
162 162
 msgid "%s: No socket-addr given\n"
163 163
 msgstr ""
164 164
 
165
-#: clamav-milter.c:1209
165
+#: clamav-milter.c:1212
166 166
 #, c-format
167 167
 msgid "%s: Can't parse the config file %s\n"
168 168
 msgstr ""
169 169
 
170
-#: clamav-milter.c:1248
170
+#: clamav-milter.c:1251
171 171
 #, c-format
172 172
 msgid ""
173 173
 "%s: The iface option to --broadcast is not supported on your operating "
174 174
 "system\n"
175 175
 msgstr ""
176 176
 
177
-#: clamav-milter.c:1257
177
+#: clamav-milter.c:1260
178 178
 #, c-format
179 179
 msgid "%s: Can't get information about user %s\n"
180 180
 msgstr ""
181 181
 
182
-#: clamav-milter.c:1268
182
+#: clamav-milter.c:1271
183 183
 #, c-format
184 184
 msgid "%s: AllowSupplementaryGroups: initgroups not supported.\n"
185 185
 msgstr ""
186 186
 
187
-#: clamav-milter.c:1285
187
+#: clamav-milter.c:1288
188 188
 #, c-format
189 189
 msgid "Running as user %s (UID %d, GID %d)\n"
190 190
 msgstr ""
191 191
 
192
-#: clamav-milter.c:1288
192
+#: clamav-milter.c:1291
193 193
 #, c-format
194 194
 msgid "%s: running as root is not recommended (check \"User\" in clamd.conf)\n"
195 195
 msgstr ""
196 196
 
197
-#: clamav-milter.c:1290
197
+#: clamav-milter.c:1293
198 198
 #, c-format
199 199
 msgid "%s: Only root can set an interface for --broadcast\n"
200 200
 msgstr ""
201 201
 
202
-#: clamav-milter.c:1295
202
+#: clamav-milter.c:1298
203 203
 #, c-format
204 204
 msgid "%s: Advisory mode doesn't work with quarantine mode\n"
205 205
 msgstr ""
206 206
 
207
-#: clamav-milter.c:1302
207
+#: clamav-milter.c:1305
208 208
 #, c-format
209 209
 msgid "%s: Advisory mode doesn't work with quarantine directories\n"
210 210
 msgstr ""
211 211
 
212
-#: clamav-milter.c:1318
212
+#: clamav-milter.c:1321
213 213
 #, c-format
214 214
 msgid "%s: insecure quarantine directory %s (mode 0%o)\n"
215 215
 msgstr ""
216 216
 
217
-#: clamav-milter.c:1344
217
+#: clamav-milter.c:1347
218 218
 #, c-format
219 219
 msgid "%s: ReadTimeout must not be negative in %s\n"
220 220
 msgstr ""
221 221
 
222
-#: clamav-milter.c:1352
222
+#: clamav-milter.c:1355
223 223
 #, c-format
224 224
 msgid "%s: StreamMaxLength must not be negative in %s\n"
225 225
 msgstr ""
226 226
 
227
-#: clamav-milter.c:1375
227
+#: clamav-milter.c:1378
228 228
 #, c-format
229 229
 msgid ""
230 230
 "%s: (-q && !LogSyslog): warning - all interception message methods are off\n"
231 231
 msgstr ""
232 232
 
233
-#: clamav-milter.c:1385
233
+#: clamav-milter.c:1388
234 234
 #, c-format
235 235
 msgid "%s: ScanMail not defined in %s\n"
236 236
 msgstr ""
237 237
 
238
-#: clamav-milter.c:1390
238
+#: clamav-milter.c:1393
239 239
 #, c-format
240 240
 msgid "%s: --max-children must be given in internal mode\n"
241 241
 msgstr ""
242 242
 
243
-#: clamav-milter.c:1394
243
+#: clamav-milter.c:1397
244 244
 #, c-format
245 245
 msgid "%s: --timeout must not be given in internal mode\n"
246 246
 msgstr ""
247 247
 
248
-#: clamav-milter.c:1407
248
+#: clamav-milter.c:1410
249 249
 #, c-format
250 250
 msgid "%s: You can select one server type only (local/TCP) in %s\n"
251 251
 msgstr ""
252 252
 
253
-#: clamav-milter.c:1417
253
+#: clamav-milter.c:1420
254 254
 #, c-format
255 255
 msgid "The connection from sendmail to %s (%s) must not\n"
256 256
 msgstr ""
257 257
 
258
-#: clamav-milter.c:1419
258
+#: clamav-milter.c:1422
259 259
 #, c-format
260 260
 msgid "be the same as the connection to clamd (%s) in %s\n"
261 261
 msgstr ""
262 262
 
263
-#: clamav-milter.c:1429 clamav-milter.c:1452
263
+#: clamav-milter.c:1432 clamav-milter.c:1455
264 264
 #, c-format
265 265
 msgid "Can't talk to clamd server via %s\n"
266 266
 msgstr ""
267 267
 
268
-#: clamav-milter.c:1431 clamav-milter.c:1454
268
+#: clamav-milter.c:1434 clamav-milter.c:1457
269 269
 #, c-format
270 270
 msgid "Check your entry for LocalSocket in %s\n"
271 271
 msgstr ""
272 272
 
273
-#: clamav-milter.c:1465
273
+#: clamav-milter.c:1468
274 274
 msgid "Can't create a clamd session"
275 275
 msgstr ""
276 276
 
277
-#: clamav-milter.c:1482
277
+#: clamav-milter.c:1485
278 278
 #, c-format
279 279
 msgid ""
280 280
 "%s: --quarantine-dir not supported for remote scanning - use --quarantine\n"
281 281
 msgstr ""
282 282
 
283
-#: clamav-milter.c:1497
283
+#: clamav-milter.c:1500
284 284
 #, c-format
285 285
 msgid "%s: hostname %s is longer than %d characters\n"
286 286
 msgstr ""
287 287
 
288
-#: clamav-milter.c:1516
288
+#: clamav-milter.c:1519
289 289
 #, c-format
290 290
 msgid "%s: --max-children must be given in sessions mode\n"
291 291
 msgstr ""
292 292
 
293
-#: clamav-milter.c:1539
293
+#: clamav-milter.c:1542
294 294
 #, c-format
295 295
 msgid "%s: Unknown host %s\n"
296 296
 msgstr ""
297 297
 
298
-#: clamav-milter.c:1551
298
+#: clamav-milter.c:1554
299 299
 #, c-format
300 300
 msgid "Can't talk to clamd server %s on port %d\n"
301 301
 msgstr ""
302 302
 
303
-#: clamav-milter.c:1568
303
+#: clamav-milter.c:1571
304 304
 msgid "Can't find any active clamd servers\n"
305 305
 msgstr ""
306 306
 
307
-#: clamav-milter.c:1569 clamav-milter.c:1575
307
+#: clamav-milter.c:1572 clamav-milter.c:1578
308 308
 #, c-format
309 309
 msgid "Check your entry for TCPSocket in %s\n"
310 310
 msgstr ""
311 311
 
312
-#: clamav-milter.c:1574
312
+#: clamav-milter.c:1577
313 313
 msgid "Can't find any clamd servers\n"
314 314
 msgstr ""
315 315
 
316
-#: clamav-milter.c:1581
316
+#: clamav-milter.c:1584
317 317
 #, c-format
318 318
 msgid "%s: You must select server type (local/TCP) in %s\n"
319 319
 msgstr ""
320 320
 
321
-#: clamav-milter.c:1632
321
+#: clamav-milter.c:1635
322 322
 #, c-format
323 323
 msgid "When debugging it is recommended that you use Foreground mode in %s\n"
324 324
 msgstr ""
325 325
 
326
-#: clamav-milter.c:1633
326
+#: clamav-milter.c:1636
327 327
 msgid "\tso that you can see all of the messages"
328 328
 msgstr ""
329 329
 
330
-#: clamav-milter.c:1734
330
+#: clamav-milter.c:1737
331 331
 msgid "Starting clamav-milter"
332 332
 msgstr ""
333 333
 
334
-#: clamav-milter.c:1743
334
+#: clamav-milter.c:1746
335 335
 #, c-format
336 336
 msgid "Can't save PID in file %s"
337 337
 msgstr ""
338 338
 
339
-#: clamav-milter.c:1745
339
+#: clamav-milter.c:1748
340 340
 #, c-format
341 341
 msgid "Can't save PID in file %s\n"
342 342
 msgstr ""
343 343
 
344
-#: clamav-milter.c:1773
344
+#: clamav-milter.c:1776
345 345
 #, c-format
346 346
 msgid "%s: smfi_setconn failed\n"
347 347
 msgstr ""
348 348
 
349
-#: clamav-milter.c:1786
349
+#: clamav-milter.c:1789
350 350
 #, c-format
351 351
 msgid "Starting %s"
352 352
 msgstr ""
353 353
 
354
-#: clamav-milter.c:1789
354
+#: clamav-milter.c:1792
355 355
 msgid "Debugging is on"
356 356
 msgstr ""
357 357
 
358
-#: clamav-milter.c:1845 clamav-milter.c:2095
358
+#: clamav-milter.c:1848 clamav-milter.c:2098
359 359
 #, c-format
360 360
 msgid "Check clamd server %s - it may be down\n"
361 361
 msgstr ""
362 362
 
363
-#: clamav-milter.c:1850 clamav-milter.c:2104
363
+#: clamav-milter.c:1853 clamav-milter.c:2107
364 364
 msgid "Check clamd server - it may be down\n"
365 365
 msgstr ""
366 366
 
367
-#: clamav-milter.c:2021
367
+#: clamav-milter.c:2024
368 368
 msgid "No free clamd sessions\n"
369 369
 msgstr ""
370 370
 
371
-#: clamav-milter.c:2098
371
+#: clamav-milter.c:2101
372 372
 #, c-format
373 373
 msgid "Check clamd server %s - it may be down"
374 374
 msgstr ""
375 375
 
376
-#: clamav-milter.c:2140
376
+#: clamav-milter.c:2143
377 377
 msgid "findServer: select failed"
378 378
 msgstr ""
379 379
 
380
-#: clamav-milter.c:2149
380
+#: clamav-milter.c:2152
381 381
 #, c-format
382 382
 msgid "findServer: using server %d\n"
383 383
 msgstr ""
384 384
 
385
-#: clamav-milter.c:2154
385
+#: clamav-milter.c:2157
386 386
 msgid "findServer: No response from any server\n"
387 387
 msgstr ""
388 388
 
389
-#: clamav-milter.c:2156
389
+#: clamav-milter.c:2159
390 390
 msgid "findServer: No response from any server"
391 391
 msgstr ""
392 392
 
393
-#: clamav-milter.c:2177
393
+#: clamav-milter.c:2180
394 394
 msgid "clamfi_connect: ctx is null"
395 395
 msgstr ""
396 396
 
397
-#: clamav-milter.c:2182
397
+#: clamav-milter.c:2185
398 398
 msgid "clamfi_connect: hostname is null"
399 399
 msgstr ""
400 400
 
401
-#: clamav-milter.c:2203
401
+#: clamav-milter.c:2206
402 402
 msgid "clamfi_connect: remoteIP is null"
403 403
 msgstr ""
404 404
 
405
-#: clamav-milter.c:2212
405
+#: clamav-milter.c:2215
406 406
 #, c-format
407 407
 msgid "clamfi_connect: connection from %s"
408 408
 msgstr ""
409 409
 
410
-#: clamav-milter.c:2213
410
+#: clamav-milter.c:2216
411 411
 #, c-format
412 412
 msgid "clamfi_connect: connection from %s\n"
413 413
 msgstr ""
414 414
 
415
-#: clamav-milter.c:2216
415
+#: clamav-milter.c:2219
416 416
 #, c-format
417 417
 msgid "clamfi_connect: connection from %s [%s]"
418 418
 msgstr ""
419 419
 
420
-#: clamav-milter.c:2217
420
+#: clamav-milter.c:2220
421 421
 #, c-format
422 422
 msgid "clamfi_connect: connection from %s [%s]\n"
423 423
 msgstr ""
424 424
 
425
-#: clamav-milter.c:2237
425
+#: clamav-milter.c:2240
426 426
 msgid "Can't get sendmail hostname"
427 427
 msgstr ""
428 428
 
429
-#: clamav-milter.c:2242
429
+#: clamav-milter.c:2245
430 430
 #, c-format
431 431
 msgid "Access Denied: Host Unknown (%s)"
432 432
 msgstr ""
433 433
 
434
-#: clamav-milter.c:2252
434
+#: clamav-milter.c:2255
435 435
 #, c-format
436 436
 msgid "Access Denied: Can't get IP address for (%s)"
437 437
 msgstr ""
438 438
 
439
-#: clamav-milter.c:2269
439
+#: clamav-milter.c:2272
440 440
 #, c-format
441 441
 msgid "Access Denied for %s[%s]"
442 442
 msgstr ""
443 443
 
444
-#: clamav-milter.c:2287
444
+#: clamav-milter.c:2290
445 445
 msgid "clamfi_connect: not scanning outgoing messages"
446 446
 msgstr ""
447 447
 
448
-#: clamav-milter.c:2288
448
+#: clamav-milter.c:2291
449 449
 msgid "clamfi_connect: not scanning outgoing messages\n"
450 450
 msgstr ""
451 451
 
452
-#: clamav-milter.c:2296
452
+#: clamav-milter.c:2299
453 453
 msgid "clamfi_connect: not scanning local messages"
454 454
 msgstr ""
455 455
 
456
-#: clamav-milter.c:2297
456
+#: clamav-milter.c:2300
457 457
 msgid "clamfi_connect: not scanning local messages\n"
458 458
 msgstr ""
459 459
 
460
-#: clamav-milter.c:2329
460
+#: clamav-milter.c:2332
461 461
 #, c-format
462 462
 msgid "hit max-children limit (%u >= %u)\n"
463 463
 msgstr ""
464 464
 
465
-#: clamav-milter.c:2330
465
+#: clamav-milter.c:2333
466 466
 #, c-format
467 467
 msgid "hit max-children limit (%u >= %u): waiting for some to exit\n"
468 468
 msgstr ""
469 469
 
470
-#: clamav-milter.c:2336
470
+#: clamav-milter.c:2339
471 471
 #, c-format
472 472
 msgid "hit max-children limit (%u >= %u)"
473 473
 msgstr ""
474 474
 
475
-#: clamav-milter.c:2337
475
+#: clamav-milter.c:2340
476 476
 #, c-format
477 477
 msgid "hit max-children limit (%u >= %u): waiting for some to exit"
478 478
 msgstr ""
479 479
 
480
-#: clamav-milter.c:2342
480
+#: clamav-milter.c:2345
481 481
 msgid "AV system temporarily overloaded - please try later"
482 482
 msgstr ""
483 483
 
484
-#: clamav-milter.c:2375
484
+#: clamav-milter.c:2378
485 485
 #, c-format
486 486
 msgid ">n_children = %d\n"
487 487
 msgstr ""
488 488
 
489
-#: clamav-milter.c:2381
489
+#: clamav-milter.c:2384
490 490
 msgid "Timeout waiting for a child to die"
491 491
 msgstr ""
492 492
 
493
-#: clamav-milter.c:2383
493
+#: clamav-milter.c:2386
494 494
 msgid "Timeout waiting for a child to die\n"
495 495
 msgstr ""
496 496
 
497
-#: clamav-milter.c:2493
497
+#: clamav-milter.c:2496
498 498
 #, c-format
499 499
 msgid "Failed to delete X-Virus-Status header %d"
500 500
 msgstr ""
501 501
 
502
-#: clamav-milter.c:2521
502
+#: clamav-milter.c:2524
503 503
 msgid "clamfi_eoh"
504 504
 msgstr ""
505 505
 
506
-#: clamav-milter.c:2524
506
+#: clamav-milter.c:2527
507 507
 msgid "clamfi_eoh\n"
508 508
 msgstr ""
509 509
 
510
-#: clamav-milter.c:2581
510
+#: clamav-milter.c:2584
511 511
 msgid "clamfi_eoh: ignoring whitelisted message"
512 512
 msgstr ""
513 513
 
514
-#: clamav-milter.c:2583
514
+#: clamav-milter.c:2586
515 515
 msgid "clamfi_eoh: ignoring whitelisted message\n"
516 516
 msgstr ""
517 517
 
518
-#: clamav-milter.c:2597
518
+#: clamav-milter.c:2600
519 519
 #, c-format
520 520
 msgid "clamfi_envbody: %u bytes"
521 521
 msgstr ""
522 522
 
523
-#: clamav-milter.c:2599
523
+#: clamav-milter.c:2602
524 524
 #, c-format
525 525
 msgid "clamfi_envbody: %u bytes\n"
526 526
 msgstr ""
527 527
 
528
-#: clamav-milter.c:2609 clamav-milter.c:2867
528
+#: clamav-milter.c:2612 clamav-milter.c:2870
529 529
 #, c-format
530 530
 msgid "%s: Message more than StreamMaxLength (%ld) bytes - not scanned"
531 531
 msgstr ""
532 532
 
533
-#: clamav-milter.c:2613 clamav-milter.c:2870
533
+#: clamav-milter.c:2616 clamav-milter.c:2873
534 534
 msgid "Not Scanned - StreamMaxLength exceeded"
535 535
 msgstr ""
536 536
 
537
-#: clamav-milter.c:2711
537
+#: clamav-milter.c:2714
538 538
 #, c-format
539 539
 msgid "failed to send SCAN %s command to clamd"
540 540
 msgstr ""
541 541
 
542
-#: clamav-milter.c:2733
542
+#: clamav-milter.c:2736
543 543
 msgid "failed to send SCAN command to clamd"
544 544
 msgstr ""
545 545
 
546
-#: clamav-milter.c:2749
546
+#: clamav-milter.c:2752
547 547
 #, c-format
548 548
 msgid "Wating to read status from fd %d\n"
549 549
 msgstr ""
550 550
 
551
-#: clamav-milter.c:2760
551
+#: clamav-milter.c:2763
552 552
 #, c-format
553 553
 msgid "clamfi_eom: read %s"
554 554
 msgstr ""
555 555
 
556
-#: clamav-milter.c:2761
556
+#: clamav-milter.c:2764
557 557
 #, c-format
558 558
 msgid "clamfi_eom: read %s\n"
559 559
 msgstr ""
560 560
 
561
-#: clamav-milter.c:2769
561
+#: clamav-milter.c:2772
562 562
 msgid "clamfi_eom: read nothing from clamd"
563 563
 msgstr ""
564 564
 
565
-#: clamav-milter.c:2771
565
+#: clamav-milter.c:2774
566 566
 msgid "clamfi_eom: read nothing from clamd\n"
567 567
 msgstr ""
568 568
 
569
-#: clamav-milter.c:2816 clamav-milter.c:2856
569
+#: clamav-milter.c:2819 clamav-milter.c:2859
570 570
 msgid "Error determining host"
571 571
 msgstr ""
572 572
 
573
-#: clamav-milter.c:2875
573
+#: clamav-milter.c:2878
574 574
 msgid "Not Scanned"
575 575
 msgstr ""
576 576
 
577
-#: clamav-milter.c:2897
577
+#: clamav-milter.c:2900
578 578
 msgid "Infected"
579 579
 msgstr ""
580 580
 
581
-#: clamav-milter.c:2915
581
+#: clamav-milter.c:2918
582 582
 #, c-format
583 583
 msgid "Intercepted virus from %s to"
584 584
 msgstr ""
585 585
 
586
-#: clamav-milter.c:3009
586
+#: clamav-milter.c:3012
587 587
 msgid ""
588 588
 "Subject: Virus intercepted\n"
589 589
 "\n"
590 590
 msgstr ""
591 591
 
592
-#: clamav-milter.c:3031
592
+#: clamav-milter.c:3034
593 593
 msgid "A message you sent to\n"
594 594
 msgstr ""
595 595
 
596
-#: clamav-milter.c:3038
596
+#: clamav-milter.c:3041
597 597
 #, c-format
598 598
 msgid "The message %1$s sent from %2$s to\n"
599 599
 msgstr ""
600 600
 
601
-#: clamav-milter.c:3041
601
+#: clamav-milter.c:3044
602 602
 #, c-format
603 603
 msgid "A message sent from %s to\n"
604 604
 msgstr ""
605 605
 
606
-#: clamav-milter.c:3046
606
+#: clamav-milter.c:3049
607 607
 #, c-format
608 608
 msgid "contained %s and has not been delivered.\n"
609 609
 msgstr ""
610 610
 
611
-#: clamav-milter.c:3050
611
+#: clamav-milter.c:3053
612 612
 #, c-format
613 613
 msgid ""
614 614
 "\n"
615 615
 "The message in question has been quarantined as %s\n"
616 616
 msgstr ""
617 617
 
618
-#: clamav-milter.c:3053
618
+#: clamav-milter.c:3056
619 619
 #, c-format
620 620
 msgid ""
621 621
 "\n"
... ...
@@ -623,13 +623,13 @@ msgid ""
623 623
 "\n"
624 624
 msgstr ""
625 625
 
626
-#: clamav-milter.c:3056
626
+#: clamav-milter.c:3059
627 627
 msgid ""
628 628
 "For your information, the original message headers were:\n"
629 629
 "\n"
630 630
 msgstr ""
631 631
 
632
-#: clamav-milter.c:3069
632
+#: clamav-milter.c:3072
633 633
 #, c-format
634 634
 msgid ""
635 635
 "\n"
... ...
@@ -637,225 +637,225 @@ msgid ""
637 637
 "%s\t\n"
638 638
 msgstr ""
639 639
 
640
-#: clamav-milter.c:3080
640
+#: clamav-milter.c:3083
641 641
 #, c-format
642 642
 msgid "Quarantined infected mail as %s"
643 643
 msgstr ""
644 644
 
645
-#: clamav-milter.c:3104
645
+#: clamav-milter.c:3107
646 646
 #, c-format
647 647
 msgid "Can't set quarantine user %s"
648 648
 msgstr ""
649 649
 
650
-#: clamav-milter.c:3106
650
+#: clamav-milter.c:3109
651 651
 #, c-format
652 652
 msgid "Can't set quarantine user %s\n"
653 653
 msgstr ""
654 654
 
655
-#: clamav-milter.c:3119
655
+#: clamav-milter.c:3122
656 656
 #, c-format
657 657
 msgid "virus %s detected by ClamAV - http://www.clamav.net"
658 658
 msgstr ""
659 659
 
660
-#: clamav-milter.c:3124
660
+#: clamav-milter.c:3127
661 661
 msgid "Unknown"
662 662
 msgstr ""
663 663
 
664
-#: clamav-milter.c:3126
664
+#: clamav-milter.c:3129
665 665
 #, c-format
666 666
 msgid "%s: incorrect message \"%s\" from clamd"
667 667
 msgstr ""
668 668
 
669
-#: clamav-milter.c:3132
669
+#: clamav-milter.c:3135
670 670
 msgid "Clean"
671 671
 msgstr ""
672 672
 
673
-#: clamav-milter.c:3136
673
+#: clamav-milter.c:3139
674 674
 #, c-format
675 675
 msgid "%s: clean message from %s"
676 676
 msgstr ""
677 677
 
678
-#: clamav-milter.c:3138
678
+#: clamav-milter.c:3141
679 679
 msgid "an unknown sender"
680 680
 msgstr ""
681 681
 
682
-#: clamav-milter.c:3237
682
+#: clamav-milter.c:3240
683 683
 #, c-format
684 684
 msgid "Can't remove clean file %s"
685 685
 msgstr ""
686 686
 
687
-#: clamav-milter.c:3417 clamav-milter.c:3420
687
+#: clamav-milter.c:3420 clamav-milter.c:3423
688 688
 #, c-format
689 689
 msgid "write failure (%u bytes) to %s: %s"
690 690
 msgstr ""
691 691
 
692
-#: clamav-milter.c:3434 clamav-milter.c:3437
692
+#: clamav-milter.c:3437 clamav-milter.c:3440
693 693
 #, c-format
694 694
 msgid "write failure (%u bytes) to clamd: %s"
695 695
 msgstr ""
696 696
 
697
-#: clamav-milter.c:3503
697
+#: clamav-milter.c:3506
698 698
 #, c-format
699 699
 msgid "No data received from clamd in %d seconds\n"
700 700
 msgstr ""
701 701
 
702
-#: clamav-milter.c:3525
702
+#: clamav-milter.c:3528
703 703
 #, c-format
704 704
 msgid "Can't stat %s"
705 705
 msgstr ""
706 706
 
707
-#: clamav-milter.c:3536 clamav-milter.c:3966
707
+#: clamav-milter.c:3539 clamav-milter.c:3969
708 708
 #, c-format
709 709
 msgid "Can't open %s"
710 710
 msgstr ""
711 711
 
712
-#: clamav-milter.c:3671
712
+#: clamav-milter.c:3674
713 713
 #, c-format
714 714
 msgid "mkdir %s failed"
715 715
 msgstr ""
716 716
 
717
-#: clamav-milter.c:3684
717
+#: clamav-milter.c:3687
718 718
 #, c-format
719 719
 msgid "mktemp %s failed"
720 720
 msgstr ""
721 721
 
722
-#: clamav-milter.c:3694
722
+#: clamav-milter.c:3697
723 723
 #, c-format
724 724
 msgid "Temporary quarantine file %s creation failed"
725 725
 msgstr ""
726 726
 
727
-#: clamav-milter.c:3797
727
+#: clamav-milter.c:3800
728 728
 #, c-format
729 729
 msgid "failed to send STREAM command clamd server %d"
730 730
 msgstr ""
731 731
 
732
-#: clamav-milter.c:3806
732
+#: clamav-milter.c:3809
733 733
 msgid "failed to send STREAM command clamd"
734 734
 msgstr ""
735 735
 
736
-#: clamav-milter.c:3818
736
+#: clamav-milter.c:3821
737 737
 msgid "failed to create TCPSocket to talk to clamd"
738 738
 msgstr ""
739 739
 
740
-#: clamav-milter.c:3829 clamav-milter.c:3840
740
+#: clamav-milter.c:3832 clamav-milter.c:3843
741 741
 msgid "recv failed from clamd getting PORT"
742 742
 msgstr ""
743 743
 
744
-#: clamav-milter.c:3851
744
+#: clamav-milter.c:3854
745 745
 #, c-format
746 746
 msgid "Expected port information from clamd, got '%s'"
747 747
 msgstr ""
748 748
 
749
-#: clamav-milter.c:3854
749
+#: clamav-milter.c:3857
750 750
 #, c-format
751 751
 msgid "Expected port information from clamd, got '%s'\n"
752 752
 msgstr ""
753 753
 
754
-#: clamav-milter.c:3874 clamav-milter.c:3877
754
+#: clamav-milter.c:3877 clamav-milter.c:3880
755 755
 #, c-format
756 756
 msgid "Connecting to local port %d - data %d cmd %d\n"
757 757
 msgstr ""
758 758
 
759
-#: clamav-milter.c:3890 clamav-milter.c:3893
759
+#: clamav-milter.c:3893 clamav-milter.c:3896
760 760
 #, c-format
761 761
 msgid "Failed to connect to port %d given by clamd: %s"
762 762
 msgstr ""
763 763
 
764
-#: clamav-milter.c:3978
764
+#: clamav-milter.c:3981
765 765
 #, c-format
766 766
 msgid "Clamd (pid %d) seems to have died"
767 767
 msgstr ""
768 768
 
769
-#: clamav-milter.c:4004
769
+#: clamav-milter.c:4007
770 770
 #, c-format
771 771
 msgid "Can't open e-mail template file %s"
772 772
 msgstr ""
773 773
 
774
-#: clamav-milter.c:4013
774
+#: clamav-milter.c:4016
775 775
 #, c-format
776 776
 msgid "Can't stat e-mail template file %s"
777 777
 msgstr ""
778 778
 
779
-#: clamav-milter.c:4022
779
+#: clamav-milter.c:4025
780 780
 msgid "Out of memory"
781 781
 msgstr ""
782 782
 
783
-#: clamav-milter.c:4049
783
+#: clamav-milter.c:4052
784 784
 #, c-format
785 785
 msgid "%s: Unknown clamAV variable \"%c\"\n"
786 786
 msgstr ""
787 787
 
788
-#: clamav-milter.c:4060
788
+#: clamav-milter.c:4063
789 789
 #, c-format
790 790
 msgid "%s: Unterminated sendmail variable \"%s\"\n"
791 791
 msgstr ""
792 792
 
793
-#: clamav-milter.c:4071
793
+#: clamav-milter.c:4074
794 794
 #, c-format
795 795
 msgid "%s: Unknown sendmail variable \"%s\"\n"
796 796
 msgstr ""
797 797
 
798
-#: clamav-milter.c:4137
798
+#: clamav-milter.c:4140
799 799
 #, c-format
800 800
 msgid "Can't rename %1$s to %2$s"
801 801
 msgstr ""
802 802
 
803
-#: clamav-milter.c:4161
803
+#: clamav-milter.c:4164
804 804
 #, c-format
805 805
 msgid "[Virus] %s"
806 806
 msgstr ""
807 807
 
808
-#: clamav-milter.c:4254
808
+#: clamav-milter.c:4257
809 809
 msgid ""
810 810
 "No response from any clamd server - your AV system is not scanning emails\n"
811 811
 msgstr ""
812 812
 
813
-#: clamav-milter.c:4257
813
+#: clamav-milter.c:4260
814 814
 msgid ""
815 815
 "No response from any clamd server - your AV system is not scanning emails"
816 816
 msgstr ""
817 817
 
818
-#: clamav-milter.c:4275
818
+#: clamav-milter.c:4278
819 819
 msgid "Subject: ClamAV Down\n"
820 820
 msgstr ""
821 821
 
822
-#: clamav-milter.c:4278
822
+#: clamav-milter.c:4281
823 823
 msgid ""
824 824
 "This is an automatic message\n"
825 825
 "\n"
826 826
 msgstr ""
827 827
 
828
-#: clamav-milter.c:4281
828
+#: clamav-milter.c:4284
829 829
 msgid "The clamd program cannot be contacted.\n"
830 830
 msgstr ""
831 831
 
832
-#: clamav-milter.c:4283
832
+#: clamav-milter.c:4286
833 833
 msgid "No clamd server can be contacted.\n"
834 834
 msgstr ""
835 835
 
836
-#: clamav-milter.c:4285
836
+#: clamav-milter.c:4288
837 837
 msgid "Emails may not be being scanned, please check your servers.\n"
838 838
 msgstr ""
839 839
 
840
-#: clamav-milter.c:4353
840
+#: clamav-milter.c:4357
841 841
 msgid "Loading new database"
842 842
 msgstr ""
843 843
 
844
-#: clamav-milter.c:4534
844
+#: clamav-milter.c:4540
845 845
 #, c-format
846 846
 msgid "Stopping %s"
847 847
 msgstr ""
848 848
 
849
-#: clamav-milter.c:4575
849
+#: clamav-milter.c:4581
850 850
 msgid "Stopping clamav-milter"
851 851
 msgstr ""
852 852
 
853
-#: clamav-milter.c:4678
853
+#: clamav-milter.c:4682
854 854
 #, c-format
855 855
 msgid "ClamAV: Protecting against %d viruses"
856 856
 msgstr ""
857 857
 
858
-#: clamav-milter.c:4681
858
+#: clamav-milter.c:4685
859 859
 #, c-format
860 860
 msgid "Loaded %s\n"
861 861
 msgstr ""