Browse code

Used some of sendmail V8.13's features

git-svn: trunk@1557

Nigel Horne authored on 2005/05/19 18:34:17
Showing 4 changed files
... ...
@@ -1,3 +1,8 @@
1
+Thu May 19 10:33:52 BST 2005 (njh)
2
+----------------------------------
3
+  * clamav-milter:	Used some of sendmail V8.13's features for sanity
4
+				checks and logging
5
+
1 6
 Wed May 18 21:31:34 BST 2005 (njh)
2 7
 ----------------------------------
3 8
   * libclamav:	Extract TNEF files even when the filename isn't known - problem
... ...
@@ -188,7 +188,7 @@ You should have received a script to install into /etc/init.d as
188 188
 	/etc/init.d/clamav-milter start
189 189
 	/etc/init.d/sendmail restart
190 190
 
191
-2.6 General Instalation Issues
191
+2.6 General Installation Issues
192 192
 
193 193
 You may find INPUT_MAIL_FILTERS is not needed on your machine, however it
194 194
 is recommended by the Sendmail documentation and I recommend going along
... ...
@@ -252,6 +252,12 @@ able to call sendmail, for example on a Fedora Linux system:
252 252
 To test that your clamAV system is now intercepting viruses, visit
253 253
 http://www.testvirus.org
254 254
 
255
+If, under heavy strain on Linux, you see the message
256
+	thread_create() failed: 12, abort
257
+appearing in a log file, you will need to increase the number of threads on
258
+your system (/proc/sys/kernel/threads-max), or decrease the value of
259
+--max-children.
260
+
255 261
 3. CHANGE HISTORY
256 262
 
257 263
 Changes
... ...
@@ -774,6 +780,10 @@ Changes
774 774
 0.85	11/5/05:	Up-issue
775 775
 0.85a	12/5/05:	Open /dev/console before dropping privilege, reported
776 776
 				by David Crow <crow@orangeblood.org>
777
+0.85b	19/5/05:	Warn if TCPAddr doesn't allow connection from us
778
+			Warn if notification email fails
779
+			Enable some sendmail debug if LogVerbose is set
780
+			Added sanity checks that the socket can be created
777 781
 
778 782
 4. INTERNATIONALISATION
779 783
 
... ...
@@ -22,9 +22,9 @@
22 22
  *
23 23
  * For installation instructions see the file INSTALL that came with this file
24 24
  */
25
-static	char	const	rcsid[] = "$Id: clamav-milter.c,v 1.200 2005/05/12 07:31:09 nigelhorne Exp $";
25
+static	char	const	rcsid[] = "$Id: clamav-milter.c,v 1.201 2005/05/19 09:32:22 nigelhorne Exp $";
26 26
 
27
-#define	CM_VERSION	"0.85"
27
+#define	CM_VERSION	"0.85b"
28 28
 
29 29
 #if HAVE_CONFIG_H
30 30
 #include "clamav-config.h"
... ...
@@ -105,7 +105,6 @@ int	deny_severity = LOG_NOTICE;
105 105
 
106 106
 #ifndef	CL_DEBUG
107 107
 static	const	char	*logFile;
108
-static	int	logTime;
109 108
 static	char	console[] = "/dev/console";
110 109
 #endif
111 110
 
... ...
@@ -149,7 +148,6 @@ typedef	unsigned int	in_addr_t;
149 149
  *	to get messages on the system console, see syslog.conf(5), also you
150 150
  *	can use wall(1) in the VirusEvent entry in clamd.conf
151 151
  * TODO: build with libclamav.so rather than libclamav.a
152
- * TODO: Warn if TCPAddr doesn't allow connection from us
153 152
  * TODO: Decide action (bounce, discard, reject etc.) based on the virus
154 153
  *	found. Those with faked addresses, such as SCO.A want discarding,
155 154
  *	others could be bounced properly.
... ...
@@ -158,6 +156,8 @@ typedef	unsigned int	in_addr_t;
158 158
  * TODO: Files can be scanned with "SCAN" not "STREAM" if clamd is on the same
159 159
  *	machine when talking via INET domain socket.
160 160
  * TODO: Load balancing, allow local machine to talk via UNIX domain socket.
161
+ * TODO: allow each line in the whitelist file to specify a quarantine email
162
+ *	address
161 163
  */
162 164
 
163 165
 struct header_node_t {
... ...
@@ -457,6 +457,9 @@ static	int	verifyIncomingSocketName(const char *sockName);
457 457
 static	int	isWhitelisted(const char *emailaddress);
458 458
 static	void	logger(const char *mess);
459 459
 
460
+short	logg_time, logg_lock, logok;
461
+int	logg_size;
462
+
460 463
 static void
461 464
 help(void)
462 465
 {
... ...
@@ -945,7 +948,7 @@ main(int argc, char **argv)
945 945
 				cli_dbgmsg(_("Running as user %s (UID %d, GID %d)\n"),
946 946
 					cpt->strarg, user->pw_uid, user->pw_gid);
947 947
 		} else
948
-			fprintf(stderr, _("%s: running as root is not recommended (check \"User\" in clamd.conf)\n"), argv[0]);
948
+			fprintf(stderr, _("%s: running as root is not recommended (check \"User\" in %s)\n"), argv[0], cfgfile);
949 949
 	} else if(iface) {
950 950
 		fprintf(stderr, _("%s: Only root can set an interface for --broadcast\n"), argv[0]);
951 951
 		return EX_USAGE;
... ...
@@ -1041,9 +1044,10 @@ main(int argc, char **argv)
1041 1041
 
1042 1042
 		if(cfgopt(copt, "LogVerbose")) {
1043 1043
 			logVerbose = 1;
1044
-#if	0
1045
-			/* Only supported by Sendmail >= V8.13 */
1046
-			smfi_setdbg(6);
1044
+#ifdef	SENDMAIL_VERSION
1045
+			if(strncmp(SENDMAIL_VERSION, "8.13", 4) == 0)
1046
+				/* Only supported by Sendmail >= V8.13 */
1047
+				smfi_setdbg(6);
1047 1048
 #endif
1048 1049
 		}
1049 1050
 		use_syslog = 1;
... ...
@@ -1230,6 +1234,11 @@ main(int argc, char **argv)
1230 1230
 			else {
1231 1231
 				cli_warnmsg(_("Can't talk to clamd server %s on port %d\n"),
1232 1232
 					hostname, tcpSocket);
1233
+				if(serverIPs[i] == (int)inet_addr("127.0.0.1")) {
1234
+					if(cfgopt(copt, "TCPAddr") != NULL)
1235
+						cli_warnmsg(_("Check the value for TCPAddr in %s\n"), cfgfile);
1236
+				} else
1237
+					cli_warnmsg(_("Check the value for TCPAddr in clamd.conf on %s\n"), hostname);
1233 1238
 			}
1234 1239
 #endif
1235 1240
 
... ...
@@ -1357,8 +1366,18 @@ main(int argc, char **argv)
1357 1357
 				return EX_CONFIG;
1358 1358
 			}
1359 1359
 			if(open(logFile, O_WRONLY|O_APPEND) < 0) {
1360
-				perror(logFile);
1361
-				return EX_CANTCREAT;
1360
+				if(errno == ENOENT) {
1361
+					/*
1362
+					 * There is low risk race condition here
1363
+					 */
1364
+					if(open(logFile, O_WRONLY|O_CREAT, 0644) < 0) {
1365
+						perror(logFile);
1366
+						return EX_CANTCREAT;
1367
+					}
1368
+				} else {
1369
+					perror(logFile);
1370
+					return EX_CANTCREAT;
1371
+				}
1362 1372
 			}
1363 1373
 		} else {
1364 1374
 			logFile = console;
... ...
@@ -1373,10 +1392,20 @@ main(int argc, char **argv)
1373 1373
 		if(consolefd >= 0)
1374 1374
 			close(consolefd);
1375 1375
 
1376
-		if(cfgopt(copt, "LogTime"))
1377
-			logTime++;
1378 1376
 #endif	/*!CL_DEBUG*/
1379 1377
 
1378
+		if(cfgopt(copt, "LogTime"))
1379
+			logg_time = 1;
1380
+		if(cfgopt(copt, "LogFileUnlock"))
1381
+			logg_lock = 0;
1382
+		if(cfgopt(copt, "LogClean"))
1383
+			logok = 1;
1384
+		if((cpt = cfgopt(copt, "LogFileMaxSize")))
1385
+			logg_size = cpt->numarg;
1386
+		else
1387
+			logg_size = CL_DEFAULT_LOGSIZE;
1388
+
1389
+
1380 1390
 #ifdef HAVE_SETPGRP
1381 1391
 #ifdef SETPGRP_VOID
1382 1392
 		setpgrp();
... ...
@@ -1537,12 +1566,13 @@ main(int argc, char **argv)
1537 1537
 		return EX_UNAVAILABLE;
1538 1538
 	}
1539 1539
 
1540
-#if	0
1541
-	/* Only supported by Sendmail >= V8.13 */
1542
-	if(smfi_opensocket(1) == MI_FAILURE) {
1543
-		cli_errmsg("can't open/create %s\n", port);
1544
-		return EX_CONFIG;
1545
-	}
1540
+#ifdef	SENDMAIL_VERSION
1541
+	if(strncmp(SENDMAIL_VERSION, "8.13", 4) == 0)
1542
+		/* Only supported by Sendmail >= V8.13 */
1543
+		if(smfi_opensocket(1) == MI_FAILURE) {
1544
+			cli_errmsg("Can't open/create %s\n", port);
1545
+			return EX_CONFIG;
1546
+		}
1546 1547
 #endif
1547 1548
 
1548 1549
 	signal(SIGPIPE, SIG_IGN);	/* libmilter probably does this as well */
... ...
@@ -2986,7 +3016,9 @@ clamfi_eom(SMFICTX *ctx)
2986 2986
 				}
2987 2987
 
2988 2988
 				cli_dbgmsg("Waiting for %s to finish\n", cmd);
2989
-				pclose(sendmail);
2989
+				if(pclose(sendmail) != 0)
2990
+					if(use_syslog)
2991
+						syslog(LOG_ERR, "%s: Failed to notify clamAV interception - see dead.letter", sendmailId);
2990 2992
 			} else if(use_syslog)
2991 2993
 				syslog(LOG_WARNING, _("Can't execute '%s' to send virus notice"), cmd);
2992 2994
 		}
... ...
@@ -4428,7 +4460,7 @@ watchdog(void *a)
4428 4428
 
4429 4429
 				while(n_children > 0) {
4430 4430
 					pthread_cond_wait(&n_children_cond, &n_children_mutex);
4431
-					cli_warnmsg("Waiting for %d children until databae reload\n", n_children);
4431
+					cli_warnmsg("Waiting for %d children until database reload\n", n_children);
4432 4432
 				}
4433 4433
 
4434 4434
 				cl_statfree(&dbstat);
... ...
@@ -4619,7 +4651,7 @@ watchdog(void *a)
4619 4619
 
4620 4620
 			while(n_children > 0) {
4621 4621
 				pthread_cond_wait(&n_children_cond, &n_children_mutex);
4622
-				cli_warnmsg("Waiting for %d children until databae reload\n", n_children);
4622
+				cli_warnmsg("Waiting for %d children until database reload\n", n_children);
4623 4623
 			}
4624 4624
 			cl_statfree(&dbstat);
4625 4625
 			if(use_syslog)
... ...
@@ -5093,7 +5125,7 @@ logger(const char *mess)
5093 5093
 	if(fout == NULL)
5094 5094
 		return;
5095 5095
 
5096
-	if(logTime) {
5096
+	if(logg_time) {
5097 5097
 #ifdef HAVE_CTIME_R
5098 5098
 		time_t currtime = time((time_t)0);
5099 5099
 		char buf[27];
... ...
@@ -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: 2005-05-04 20:14+0100\n"
11
+"POT-Creation-Date: 2005-05-19 10:31+0100\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,717 +16,727 @@ msgstr ""
16 16
 "Content-Type: text/plain; charset=CHARSET\n"
17 17
 "Content-Transfer-Encoding: 8bit\n"
18 18
 
19
-#: clamav-milter.c:464
19
+#: clamav-milter.c:469
20 20
 msgid "\t--advisory\t\t-A\tFlag viruses rather than deleting them."
21 21
 msgstr ""
22 22
 
23
-#: clamav-milter.c:465
23
+#: clamav-milter.c:470
24 24
 msgid "\t--bounce\t\t-b\tSend a failure message to the sender."
25 25
 msgstr ""
26 26
 
27
-#: clamav-milter.c:466
27
+#: clamav-milter.c:471
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:467
33
+#: clamav-milter.c:472
34 34
 msgid "\t--config-file=FILE\t-c FILE\tRead configuration from FILE."
35 35
 msgstr ""
36 36
 
37
-#: clamav-milter.c:468
37
+#: clamav-milter.c:473
38 38
 msgid "\t--debug\t\t\t-D\tPrint debug messages."
39 39
 msgstr ""
40 40
 
41
-#: clamav-milter.c:469
41
+#: clamav-milter.c:474
42 42
 msgid ""
43 43
 "\t--detect-forged-local-address\t-L\tReject mails that claim to be from us."
44 44
 msgstr ""
45 45
 
46
-#: clamav-milter.c:470
46
+#: clamav-milter.c:475
47 47
 msgid ""
48 48
 "\t--dont-log-clean\t-C\tDon't add an entry to syslog that a mail is clean."
49 49
 msgstr ""
50 50
 
51
-#: clamav-milter.c:471
51
+#: clamav-milter.c:476
52 52
 msgid ""
53 53
 "\t--dont-scan-on-error\t-d\tPass e-mails through unscanned if a system error "
54 54
 "occurs."
55 55
 msgstr ""
56 56
 
57
-#: clamav-milter.c:472
57
+#: clamav-milter.c:477
58 58
 msgid "\t--dont-wait\t\t\tAsk remote end to resend if max-children exceeded."
59 59
 msgstr ""
60 60
 
61
-#: clamav-milter.c:473
61
+#: clamav-milter.c:478
62 62
 msgid "\t--external\t\t-e\tUse an external scanner (usually clamd)."
63 63
 msgstr ""
64 64
 
65
-#: clamav-milter.c:474
65
+#: clamav-milter.c:479
66 66
 msgid "\t--from=EMAIL\t\t-a EMAIL\tError messages come from here."
67 67
 msgstr ""
68 68
 
69
-#: clamav-milter.c:475
69
+#: clamav-milter.c:480
70 70
 msgid "\t--force-scan\t\t-f\tForce scan all messages (overrides (-o and -l)."
71 71
 msgstr ""
72 72
 
73
-#: clamav-milter.c:476
73
+#: clamav-milter.c:481
74 74
 msgid "\t--help\t\t\t-h\tThis message."
75 75
 msgstr ""
76 76
 
77
-#: clamav-milter.c:477
77
+#: clamav-milter.c:482
78 78
 msgid "\t--headers\t\t-H\tInclude original message headers in the report."
79 79
 msgstr ""
80 80
 
81
-#: clamav-milter.c:478
81
+#: clamav-milter.c:483
82 82
 msgid "\t--local\t\t\t-l\tScan messages sent from machines on our LAN."
83 83
 msgstr ""
84 84
 
85
-#: clamav-milter.c:479
85
+#: clamav-milter.c:484
86 86
 msgid "\t--max-childen\t\t-m\tMaximum number of concurrent scans."
87 87
 msgstr ""
88 88
 
89
-#: clamav-milter.c:480
89
+#: clamav-milter.c:485
90 90
 msgid "\t--outgoing\t\t-o\tScan outgoing messages from this machine."
91 91
 msgstr ""
92 92
 
93
-#: clamav-milter.c:481
93
+#: clamav-milter.c:486
94 94
 msgid "\t--noreject\t\t-N\tDon't reject viruses, silently throw them away."
95 95
 msgstr ""
96 96
 
97
-#: clamav-milter.c:482
97
+#: clamav-milter.c:487
98 98
 msgid "\t--noxheader\t\t-n\tSuppress X-Virus-Scanned/X-Virus-Status headers."
99 99
 msgstr ""
100 100
 
101
-#: clamav-milter.c:483
101
+#: clamav-milter.c:488
102 102
 msgid "\t--pidfile=FILE\t\t-i FILE\tLocation of pidfile."
103 103
 msgstr ""
104 104
 
105
-#: clamav-milter.c:484
105
+#: clamav-milter.c:489
106 106
 msgid "\t--postmaster\t\t-p EMAIL\tPostmaster address [default=postmaster]."
107 107
 msgstr ""
108 108
 
109
-#: clamav-milter.c:485
109
+#: clamav-milter.c:490
110 110
 msgid "\t--postmaster-only\t-P\tSend warnings only to the postmaster."
111 111
 msgstr ""
112 112
 
113
-#: clamav-milter.c:486
113
+#: clamav-milter.c:491
114 114
 msgid "\t--quiet\t\t\t-q\tDon't send e-mail notifications of interceptions."
115 115
 msgstr ""
116 116
 
117
-#: clamav-milter.c:487
117
+#: clamav-milter.c:492
118 118
 msgid "\t--quarantine=USER\t-Q EMAIL\tQuanrantine e-mail account."
119 119
 msgstr ""
120 120
 
121
-#: clamav-milter.c:488
121
+#: clamav-milter.c:493
122 122
 msgid "\t--quarantine-dir=DIR\t-U DIR\tDirectory to store infected emails."
123 123
 msgstr ""
124 124
 
125
-#: clamav-milter.c:489
125
+#: clamav-milter.c:494
126 126
 msgid ""
127 127
 "\t--server=SERVER\t\t-s SERVER\tHostname/IP address of server(s) running "
128 128
 "clamd (when using TCPsocket)."
129 129
 msgstr ""
130 130
 
131
-#: clamav-milter.c:490
131
+#: clamav-milter.c:495
132 132
 msgid "\t--sendmail-cf=FILE\t\tLocation of the sendmail.cf file to verify"
133 133
 msgstr ""
134 134
 
135
-#: clamav-milter.c:491
135
+#: clamav-milter.c:496
136 136
 msgid "\t--sign\t\t\t-S\tAdd a hard-coded signature to each scanned message."
137 137
 msgstr ""
138 138
 
139
-#: clamav-milter.c:492
139
+#: clamav-milter.c:497
140 140
 msgid "\t--signature-file=FILE\t-F FILE\tLocation of signature file."
141 141
 msgstr ""
142 142
 
143
-#: clamav-milter.c:493
143
+#: clamav-milter.c:498
144 144
 msgid "\t--template-file=FILE\t-t FILE\tLocation of e-mail template file."
145 145
 msgstr ""
146 146
 
147
-#: clamav-milter.c:494
147
+#: clamav-milter.c:499
148 148
 msgid "\t--timeout=SECS\t\t-T SECS\tTimeout waiting to childen to die."
149 149
 msgstr ""
150 150
 
151
-#: clamav-milter.c:495
151
+#: clamav-milter.c:500
152 152
 msgid ""
153 153
 "\t--whitelist-file=FILE\t-W FILE\tLocation of the file of whitelisted "
154 154
 "addresses"
155 155
 msgstr ""
156 156
 
157
-#: clamav-milter.c:496
157
+#: clamav-milter.c:501
158 158
 msgid "\t--version\t\t-V\tPrint the version number of this software."
159 159
 msgstr ""
160 160
 
161
-#: clamav-milter.c:498
161
+#: clamav-milter.c:503
162 162
 msgid "\t--debug-level=n\t\t-x n\tSets the debug level to 'n'."
163 163
 msgstr ""
164 164
 
165
-#: clamav-milter.c:500
165
+#: clamav-milter.c:505
166 166
 msgid ""
167 167
 "\n"
168 168
 "For more information type \"man clamav-milter\"."
169 169
 msgstr ""
170 170
 
171
-#: clamav-milter.c:501
171
+#: clamav-milter.c:506
172 172
 msgid "Report bugs to bugs@clamav.net."
173 173
 msgstr ""
174 174
 
175
-#: clamav-milter.c:815
175
+#: clamav-milter.c:823
176 176
 #, c-format
177 177
 msgid "%s: No socket-addr given\n"
178 178
 msgstr ""
179 179
 
180
-#: clamav-milter.c:821
180
+#: clamav-milter.c:829
181 181
 #, c-format
182 182
 msgid "%s: socket-addr (%s) doesn't agree with sendmail.cf\n"
183 183
 msgstr ""
184 184
 
185
-#: clamav-milter.c:836
185
+#: clamav-milter.c:844
186 186
 #, c-format
187 187
 msgid "%s: when using inet: connection to sendmail you must enable --local\n"
188 188
 msgstr ""
189 189
 
190
-#: clamav-milter.c:844
190
+#: clamav-milter.c:852
191 191
 #, c-format
192 192
 msgid "%s: Can't parse the config file %s\n"
193 193
 msgstr ""
194 194
 
195
-#: clamav-milter.c:851
195
+#: clamav-milter.c:859
196 196
 #, c-format
197 197
 msgid "%s: --detect-forged-local-addresses is not compatible with --outgoing\n"
198 198
 msgstr ""
199 199
 
200
-#: clamav-milter.c:855
200
+#: clamav-milter.c:863
201 201
 #, c-format
202 202
 msgid "%s: --detect-forged-local-addresses is not compatible with --local\n"
203 203
 msgstr ""
204 204
 
205
-#: clamav-milter.c:859
205
+#: clamav-milter.c:867
206 206
 #, c-format
207 207
 msgid "%s: --detect-forged-local-addresses is not compatible with --force\n"
208 208
 msgstr ""
209 209
 
210
-#: clamav-milter.c:898
210
+#: clamav-milter.c:911
211 211
 #, c-format
212 212
 msgid ""
213 213
 "%s: The iface option to --broadcast is not supported on your operating "
214 214
 "system\n"
215 215
 msgstr ""
216 216
 
217
-#: clamav-milter.c:907
217
+#: clamav-milter.c:920
218 218
 #, c-format
219 219
 msgid "%s: Can't get information about user %s\n"
220 220
 msgstr ""
221 221
 
222
-#: clamav-milter.c:918
222
+#: clamav-milter.c:931
223 223
 #, c-format
224 224
 msgid "%s: AllowSupplementaryGroups: initgroups not supported.\n"
225 225
 msgstr ""
226 226
 
227
-#: clamav-milter.c:935
227
+#: clamav-milter.c:948
228 228
 #, c-format
229 229
 msgid "Running as user %s (UID %d, GID %d)\n"
230 230
 msgstr ""
231 231
 
232
-#: clamav-milter.c:938
232
+#: clamav-milter.c:951
233 233
 #, c-format
234
-msgid "%s: running as root is not recommended (check \"User\" in clamd.conf)\n"
234
+msgid "%s: running as root is not recommended (check \"User\" in %s)\n"
235 235
 msgstr ""
236 236
 
237
-#: clamav-milter.c:940
237
+#: clamav-milter.c:953
238 238
 #, c-format
239 239
 msgid "%s: Only root can set an interface for --broadcast\n"
240 240
 msgstr ""
241 241
 
242
-#: clamav-milter.c:945
242
+#: clamav-milter.c:958
243 243
 #, c-format
244 244
 msgid "%s: Advisory mode doesn't work with quarantine mode\n"
245 245
 msgstr ""
246 246
 
247
-#: clamav-milter.c:953
247
+#: clamav-milter.c:966
248 248
 #, c-format
249 249
 msgid "%s: Advisory mode doesn't work with quarantine directories\n"
250 250
 msgstr ""
251 251
 
252
-#: clamav-milter.c:959
252
+#: clamav-milter.c:972
253 253
 #, c-format
254 254
 msgid "%s: the quarantine directory must not contain the string 'ERROR'\n"
255 255
 msgstr ""
256 256
 
257
-#: clamav-milter.c:965
257
+#: clamav-milter.c:978
258 258
 #, c-format
259 259
 msgid "%s: the quarantine directory must not contain the string 'FOUND'\n"
260 260
 msgstr ""
261 261
 
262
-#: clamav-milter.c:971
262
+#: clamav-milter.c:984
263 263
 #, c-format
264 264
 msgid "%s: the quarantine directory must not contain the string 'OK'\n"
265 265
 msgstr ""
266 266
 
267
-#: clamav-milter.c:988
267
+#: clamav-milter.c:1001
268 268
 #, c-format
269 269
 msgid "%s: insecure quarantine directory %s (mode 0%o)\n"
270 270
 msgstr ""
271 271
 
272
-#: clamav-milter.c:1014
272
+#: clamav-milter.c:1027
273 273
 #, c-format
274 274
 msgid "%s: ReadTimeout must not be negative in %s\n"
275 275
 msgstr ""
276 276
 
277
-#: clamav-milter.c:1022
277
+#: clamav-milter.c:1035
278 278
 #, c-format
279 279
 msgid "%s: StreamMaxLength must not be negative in %s\n"
280 280
 msgstr ""
281 281
 
282
-#: clamav-milter.c:1050
282
+#: clamav-milter.c:1064
283 283
 #, c-format
284 284
 msgid ""
285 285
 "%s: (-q && !LogSyslog): warning - all interception message methods are off\n"
286 286
 msgstr ""
287 287
 
288
-#: clamav-milter.c:1060
288
+#: clamav-milter.c:1074
289 289
 #, c-format
290 290
 msgid "%s: --max-children must be given if --external is not given\n"
291 291
 msgstr ""
292 292
 
293
-#: clamav-milter.c:1064
293
+#: clamav-milter.c:1078
294 294
 #, c-format
295 295
 msgid "%s: --timeout must not be given if --external is not given\n"
296 296
 msgstr ""
297 297
 
298
-#: clamav-milter.c:1077
298
+#: clamav-milter.c:1091
299 299
 #, c-format
300 300
 msgid "%s: You can select one server type only (local/TCP) in %s\n"
301 301
 msgstr ""
302 302
 
303
-#: clamav-milter.c:1087
303
+#: clamav-milter.c:1101
304 304
 #, c-format
305 305
 msgid "The connection from sendmail to %s (%s) must not\n"
306 306
 msgstr ""
307 307
 
308
-#: clamav-milter.c:1089
308
+#: clamav-milter.c:1103
309 309
 #, c-format
310 310
 msgid "be the same as the connection to clamd (%s) in %s\n"
311 311
 msgstr ""
312 312
 
313
-#: clamav-milter.c:1099 clamav-milter.c:1122
313
+#: clamav-milter.c:1113 clamav-milter.c:1136
314 314
 #, c-format
315 315
 msgid "Can't talk to clamd server via %s\n"
316 316
 msgstr ""
317 317
 
318
-#: clamav-milter.c:1101 clamav-milter.c:1124
318
+#: clamav-milter.c:1115 clamav-milter.c:1138
319 319
 #, c-format
320 320
 msgid "Check your entry for LocalSocket in %s\n"
321 321
 msgstr ""
322 322
 
323
-#: clamav-milter.c:1135
323
+#: clamav-milter.c:1149
324 324
 msgid "Can't create a clamd session"
325 325
 msgstr ""
326 326
 
327
-#: clamav-milter.c:1152
327
+#: clamav-milter.c:1166
328 328
 #, c-format
329 329
 msgid "%s: --quarantine-dir not supported for TCPSocket - use --quarantine\n"
330 330
 msgstr ""
331 331
 
332
-#: clamav-milter.c:1167
332
+#: clamav-milter.c:1181
333 333
 #, c-format
334 334
 msgid "%s: hostname %s is longer than %d characters\n"
335 335
 msgstr ""
336 336
 
337
-#: clamav-milter.c:1186 clamav-milter.c:1271
337
+#: clamav-milter.c:1200 clamav-milter.c:1290
338 338
 #, c-format
339 339
 msgid "%s: --max-children must be given in sessions mode\n"
340 340
 msgstr ""
341 341
 
342
-#: clamav-milter.c:1209
342
+#: clamav-milter.c:1223
343 343
 #, c-format
344 344
 msgid "%s: Unknown host %s\n"
345 345
 msgstr ""
346 346
 
347
-#: clamav-milter.c:1221
347
+#: clamav-milter.c:1235
348 348
 #, c-format
349 349
 msgid "Can't talk to clamd server %s on port %d\n"
350 350
 msgstr ""
351 351
 
352
-#: clamav-milter.c:1238
352
+#: clamav-milter.c:1239
353
+#, c-format
354
+msgid "Check the value for TCPAddr in %s\n"
355
+msgstr ""
356
+
357
+#: clamav-milter.c:1241
358
+#, c-format
359
+msgid "Check the value for TCPAddr in clamd.conf on %s\n"
360
+msgstr ""
361
+
362
+#: clamav-milter.c:1257
353 363
 msgid "Can't find any active clamd servers\n"
354 364
 msgstr ""
355 365
 
356
-#: clamav-milter.c:1239 clamav-milter.c:1245
366
+#: clamav-milter.c:1258 clamav-milter.c:1264
357 367
 #, c-format
358 368
 msgid "Check your entry for TCPSocket in %s\n"
359 369
 msgstr ""
360 370
 
361
-#: clamav-milter.c:1244
371
+#: clamav-milter.c:1263
362 372
 msgid "Can't find any clamd servers\n"
363 373
 msgstr ""
364 374
 
365
-#: clamav-milter.c:1251
375
+#: clamav-milter.c:1270
366 376
 #, c-format
367 377
 msgid "%s: You must select server type (local/TCP) in %s\n"
368 378
 msgstr ""
369 379
 
370
-#: clamav-milter.c:1319
380
+#: clamav-milter.c:1338
371 381
 #, c-format
372 382
 msgid "When debugging it is recommended that you use Foreground mode in %s\n"
373 383
 msgstr ""
374 384
 
375
-#: clamav-milter.c:1320
385
+#: clamav-milter.c:1339
376 386
 msgid "\tso that you can see all of the messages"
377 387
 msgstr ""
378 388
 
379
-#: clamav-milter.c:1388
389
+#: clamav-milter.c:1430
380 390
 #, c-format
381 391
 msgid "%s: ScanMail not defined in %s (needed without --external), enabling\n"
382 392
 msgstr ""
383 393
 
384
-#: clamav-milter.c:1450
394
+#: clamav-milter.c:1492
385 395
 msgid "Starting clamav-milter"
386 396
 msgstr ""
387 397
 
388
-#: clamav-milter.c:1460
398
+#: clamav-milter.c:1502
389 399
 #, c-format
390 400
 msgid "pidfile: '%s' must be a full pathname"
391 401
 msgstr ""
392 402
 
393
-#: clamav-milter.c:1462
403
+#: clamav-milter.c:1504
394 404
 #, c-format
395 405
 msgid "pidfile '%s' must be a full pathname\n"
396 406
 msgstr ""
397 407
 
398
-#: clamav-milter.c:1476
408
+#: clamav-milter.c:1518
399 409
 #, c-format
400 410
 msgid "Can't save PID in file %s"
401 411
 msgstr ""
402 412
 
403
-#: clamav-milter.c:1478
413
+#: clamav-milter.c:1520
404 414
 #, c-format
405 415
 msgid "Can't save PID in file %s\n"
406 416
 msgstr ""
407 417
 
408
-#: clamav-milter.c:1541
418
+#: clamav-milter.c:1584
409 419
 #, c-format
410 420
 msgid "Starting %s"
411 421
 msgstr ""
412 422
 
413
-#: clamav-milter.c:1544
423
+#: clamav-milter.c:1587
414 424
 msgid "Debugging is on"
415 425
 msgstr ""
416 426
 
417
-#: clamav-milter.c:1611 clamav-milter.c:1870
427
+#: clamav-milter.c:1652 clamav-milter.c:1911
418 428
 #, c-format
419 429
 msgid "Check clamd server %s - it may be down\n"
420 430
 msgstr ""
421 431
 
422
-#: clamav-milter.c:1616
432
+#: clamav-milter.c:1657
423 433
 msgid "Check clamd server - it may be down"
424 434
 msgstr ""
425 435
 
426
-#: clamav-milter.c:1791
436
+#: clamav-milter.c:1832
427 437
 msgid "No free clamd sessions\n"
428 438
 msgstr ""
429 439
 
430
-#: clamav-milter.c:1873
440
+#: clamav-milter.c:1914
431 441
 #, c-format
432 442
 msgid "Check clamd server %s - it may be down"
433 443
 msgstr ""
434 444
 
435
-#: clamav-milter.c:1879
445
+#: clamav-milter.c:1920
436 446
 msgid "Check clamd server - it may be down\n"
437 447
 msgstr ""
438 448
 
439
-#: clamav-milter.c:1915
449
+#: clamav-milter.c:1956
440 450
 msgid "findServer: select failed"
441 451
 msgstr ""
442 452
 
443
-#: clamav-milter.c:1924
453
+#: clamav-milter.c:1965
444 454
 #, c-format
445 455
 msgid "findServer: using server %d\n"
446 456
 msgstr ""
447 457
 
448
-#: clamav-milter.c:1929
458
+#: clamav-milter.c:1970
449 459
 msgid "findServer: No response from any server\n"
450 460
 msgstr ""
451 461
 
452
-#: clamav-milter.c:1931
462
+#: clamav-milter.c:1972
453 463
 msgid "findServer: No response from any server"
454 464
 msgstr ""
455 465
 
456
-#: clamav-milter.c:1976
466
+#: clamav-milter.c:2017
457 467
 msgid "clamfi_connect: ctx is null"
458 468
 msgstr ""
459 469
 
460
-#: clamav-milter.c:1981
470
+#: clamav-milter.c:2022
461 471
 msgid "clamfi_connect: hostname is null"
462 472
 msgstr ""
463 473
 
464
-#: clamav-milter.c:2002
474
+#: clamav-milter.c:2043
465 475
 msgid "clamfi_connect: remoteIP is null"
466 476
 msgstr ""
467 477
 
468
-#: clamav-milter.c:2011
478
+#: clamav-milter.c:2052
469 479
 #, c-format
470 480
 msgid "clamfi_connect: connection from %s"
471 481
 msgstr ""
472 482
 
473
-#: clamav-milter.c:2012
483
+#: clamav-milter.c:2053
474 484
 #, c-format
475 485
 msgid "clamfi_connect: connection from %s\n"
476 486
 msgstr ""
477 487
 
478
-#: clamav-milter.c:2015
488
+#: clamav-milter.c:2056
479 489
 #, c-format
480 490
 msgid "clamfi_connect: connection from %s [%s]"
481 491
 msgstr ""
482 492
 
483
-#: clamav-milter.c:2016
493
+#: clamav-milter.c:2057
484 494
 #, c-format
485 495
 msgid "clamfi_connect: connection from %s [%s]\n"
486 496
 msgstr ""
487 497
 
488
-#: clamav-milter.c:2036
498
+#: clamav-milter.c:2077
489 499
 msgid "Can't get sendmail hostname"
490 500
 msgstr ""
491 501
 
492
-#: clamav-milter.c:2045
502
+#: clamav-milter.c:2086
493 503
 #, c-format
494 504
 msgid "Access Denied: Host Unknown (%s)"
495 505
 msgstr ""
496 506
 
497
-#: clamav-milter.c:2054
507
+#: clamav-milter.c:2095
498 508
 #, c-format
499 509
 msgid "Can't find entry for IP address %s in DNS - check your DNS setting\n"
500 510
 msgstr ""
501 511
 
502
-#: clamav-milter.c:2065
512
+#: clamav-milter.c:2106
503 513
 #, c-format
504 514
 msgid "Access Denied: Can't get IP address for (%s)"
505 515
 msgstr ""
506 516
 
507
-#: clamav-milter.c:2082
517
+#: clamav-milter.c:2123
508 518
 #, c-format
509 519
 msgid "Access Denied for %s[%s]"
510 520
 msgstr ""
511 521
 
512
-#: clamav-milter.c:2100
522
+#: clamav-milter.c:2141
513 523
 msgid "clamfi_connect: not scanning outgoing messages"
514 524
 msgstr ""
515 525
 
516
-#: clamav-milter.c:2101
526
+#: clamav-milter.c:2142
517 527
 msgid "clamfi_connect: not scanning outgoing messages\n"
518 528
 msgstr ""
519 529
 
520
-#: clamav-milter.c:2109
530
+#: clamav-milter.c:2150
521 531
 msgid "clamfi_connect: not scanning local messages"
522 532
 msgstr ""
523 533
 
524
-#: clamav-milter.c:2110
534
+#: clamav-milter.c:2151
525 535
 msgid "clamfi_connect: not scanning local messages\n"
526 536
 msgstr ""
527 537
 
528
-#: clamav-milter.c:2124
538
+#: clamav-milter.c:2165
529 539
 msgid "clamfi_connect: gethostname failed"
530 540
 msgstr ""
531 541
 
532
-#: clamav-milter.c:2129
542
+#: clamav-milter.c:2170
533 543
 msgid "Rejected email falsely claiming to be from here"
534 544
 msgstr ""
535 545
 
536
-#: clamav-milter.c:2130
546
+#: clamav-milter.c:2171
537 547
 msgid "You have claimed to be me, but you are not"
538 548
 msgstr ""
539 549
 
540
-#: clamav-milter.c:2131 clamav-milter.c:2415
550
+#: clamav-milter.c:2172 clamav-milter.c:2456
541 551
 msgid "Forged local address detected"
542 552
 msgstr ""
543 553
 
544
-#: clamav-milter.c:2159
554
+#: clamav-milter.c:2200
545 555
 msgid "Rejected email with empty from field"
546 556
 msgstr ""
547 557
 
548
-#: clamav-milter.c:2160
558
+#: clamav-milter.c:2201
549 559
 msgid "You have not said who the email is from"
550 560
 msgstr ""
551 561
 
552
-#: clamav-milter.c:2161
562
+#: clamav-milter.c:2202
553 563
 msgid "Reject email with empty from field"
554 564
 msgstr ""
555 565
 
556
-#: clamav-milter.c:2183
566
+#: clamav-milter.c:2224
557 567
 #, c-format
558 568
 msgid "hit max-children limit (%u >= %u)\n"
559 569
 msgstr ""
560 570
 
561
-#: clamav-milter.c:2184
571
+#: clamav-milter.c:2225
562 572
 #, c-format
563 573
 msgid "hit max-children limit (%u >= %u): waiting for some to exit\n"
564 574
 msgstr ""
565 575
 
566
-#: clamav-milter.c:2190
576
+#: clamav-milter.c:2231
567 577
 #, c-format
568 578
 msgid "hit max-children limit (%u >= %u)"
569 579
 msgstr ""
570 580
 
571
-#: clamav-milter.c:2191
581
+#: clamav-milter.c:2232
572 582
 #, c-format
573 583
 msgid "hit max-children limit (%u >= %u): waiting for some to exit"
574 584
 msgstr ""
575 585
 
576
-#: clamav-milter.c:2196
586
+#: clamav-milter.c:2237
577 587
 msgid "AV system temporarily overloaded - please try later"
578 588
 msgstr ""
579 589
 
580
-#: clamav-milter.c:2229
590
+#: clamav-milter.c:2270
581 591
 #, c-format
582 592
 msgid ">n_children = %d\n"
583 593
 msgstr ""
584 594
 
585
-#: clamav-milter.c:2235
595
+#: clamav-milter.c:2276
586 596
 msgid "Timeout waiting for a child to die"
587 597
 msgstr ""
588 598
 
589
-#: clamav-milter.c:2237
599
+#: clamav-milter.c:2278
590 600
 msgid "Timeout waiting for a child to die\n"
591 601
 msgstr ""
592 602
 
593
-#: clamav-milter.c:2380
603
+#: clamav-milter.c:2421
594 604
 msgid "clamfi_eoh"
595 605
 msgstr ""
596 606
 
597
-#: clamav-milter.c:2383
607
+#: clamav-milter.c:2424
598 608
 msgid "clamfi_eoh\n"
599 609
 msgstr ""
600 610
 
601
-#: clamav-milter.c:2407
611
+#: clamav-milter.c:2448
602 612
 msgid "clamfi_eoh: gethostname failed"
603 613
 msgstr ""
604 614
 
605
-#: clamav-milter.c:2413
615
+#: clamav-milter.c:2454
606 616
 #, c-format
607 617
 msgid "Rejected email falsely claiming to be from %s"
608 618
 msgstr ""
609 619
 
610
-#: clamav-milter.c:2414
620
+#: clamav-milter.c:2455
611 621
 msgid "You have claimed to be from me, but you are not"
612 622
 msgstr ""
613 623
 
614
-#: clamav-milter.c:2451
624
+#: clamav-milter.c:2492
615 625
 msgid "clamfi_eoh: ignoring whitelisted message"
616 626
 msgstr ""
617 627
 
618
-#: clamav-milter.c:2453
628
+#: clamav-milter.c:2494
619 629
 msgid "clamfi_eoh: ignoring whitelisted message\n"
620 630
 msgstr ""
621 631
 
622
-#: clamav-milter.c:2467
632
+#: clamav-milter.c:2508
623 633
 #, c-format
624 634
 msgid "clamfi_envbody: %u bytes"
625 635
 msgstr ""
626 636
 
627
-#: clamav-milter.c:2469
637
+#: clamav-milter.c:2510
628 638
 #, c-format
629 639
 msgid "clamfi_envbody: %u bytes\n"
630 640
 msgstr ""
631 641
 
632
-#: clamav-milter.c:2482 clamav-milter.c:2776
642
+#: clamav-milter.c:2523 clamav-milter.c:2817
633 643
 #, c-format
634 644
 msgid "%s: Message more than StreamMaxLength (%ld) bytes - not scanned"
635 645
 msgstr ""
636 646
 
637
-#: clamav-milter.c:2486 clamav-milter.c:2779
647
+#: clamav-milter.c:2527 clamav-milter.c:2820
638 648
 msgid "Not Scanned - StreamMaxLength exceeded"
639 649
 msgstr ""
640 650
 
641
-#: clamav-milter.c:2539
651
+#: clamav-milter.c:2580
642 652
 #, c-format
643 653
 msgid "Failed to delete X-Virus-Status header %d"
644 654
 msgstr ""
645 655
 
646
-#: clamav-milter.c:2602
656
+#: clamav-milter.c:2643
647 657
 #, c-format
648 658
 msgid "failed to send SCAN %s command to clamd"
649 659
 msgstr ""
650 660
 
651
-#: clamav-milter.c:2624
661
+#: clamav-milter.c:2665
652 662
 msgid "failed to send SCAN command to clamd"
653 663
 msgstr ""
654 664
 
655
-#: clamav-milter.c:2641
665
+#: clamav-milter.c:2682
656 666
 #, c-format
657 667
 msgid "Waiting to read status from fd %d\n"
658 668
 msgstr ""
659 669
 
660
-#: clamav-milter.c:2654
670
+#: clamav-milter.c:2695
661 671
 #, c-format
662 672
 msgid "clamfi_eom: read %s"
663 673
 msgstr ""
664 674
 
665
-#: clamav-milter.c:2655
675
+#: clamav-milter.c:2696
666 676
 #, c-format
667 677
 msgid "clamfi_eom: read %s\n"
668 678
 msgstr ""
669 679
 
670
-#: clamav-milter.c:2672
680
+#: clamav-milter.c:2713
671 681
 #, c-format
672 682
 msgid "clamfi_eom: read nothing from clamd on %s"
673 683
 msgstr ""
674 684
 
675
-#: clamav-milter.c:2674
685
+#: clamav-milter.c:2715
676 686
 #, c-format
677 687
 msgid "clamfi_eom: read nothing from clamd on %s\n"
678 688
 msgstr ""
679 689
 
680
-#: clamav-milter.c:2719 clamav-milter.c:2765
690
+#: clamav-milter.c:2760 clamav-milter.c:2806
681 691
 msgid "Error determining host"
682 692
 msgstr ""
683 693
 
684
-#: clamav-milter.c:2784
694
+#: clamav-milter.c:2825
685 695
 msgid "Not Scanned"
686 696
 msgstr ""
687 697
 
688
-#: clamav-milter.c:2813
698
+#: clamav-milter.c:2854
689 699
 msgid "Infected with"
690 700
 msgstr ""
691 701
 
692
-#: clamav-milter.c:2834
702
+#: clamav-milter.c:2875
693 703
 #, c-format
694 704
 msgid "Intercepted virus from %s to"
695 705
 msgstr ""
696 706
 
697
-#: clamav-milter.c:2927
707
+#: clamav-milter.c:2968
698 708
 msgid ""
699 709
 "Subject: Virus intercepted\n"
700 710
 "\n"
701 711
 msgstr ""
702 712
 
703
-#: clamav-milter.c:2935
713
+#: clamav-milter.c:2976
704 714
 msgid "A message you sent to\n"
705 715
 msgstr ""
706 716
 
707
-#: clamav-milter.c:2942
717
+#: clamav-milter.c:2983
708 718
 #, c-format
709 719
 msgid "The message %1$s sent from %2$s to\n"
710 720
 msgstr ""
711 721
 
712
-#: clamav-milter.c:2945
722
+#: clamav-milter.c:2986
713 723
 #, c-format
714 724
 msgid "A message sent from %s to\n"
715 725
 msgstr ""
716 726
 
717
-#: clamav-milter.c:2950
727
+#: clamav-milter.c:2991
718 728
 #, c-format
719 729
 msgid "contained %s and has not been delivered.\n"
720 730
 msgstr ""
721 731
 
722
-#: clamav-milter.c:2953
732
+#: clamav-milter.c:2994
723 733
 #, c-format
724 734
 msgid ""
725 735
 "\n"
726 736
 "The message in question has been quarantined as %s\n"
727 737
 msgstr ""
728 738
 
729
-#: clamav-milter.c:2956
739
+#: clamav-milter.c:2997
730 740
 #, c-format
731 741
 msgid ""
732 742
 "\n"
... ...
@@ -734,13 +744,13 @@ msgid ""
734 734
 "\n"
735 735
 msgstr ""
736 736
 
737
-#: clamav-milter.c:2959
737
+#: clamav-milter.c:3000
738 738
 msgid ""
739 739
 "For your information, the original message headers were:\n"
740 740
 "\n"
741 741
 msgstr ""
742 742
 
743
-#: clamav-milter.c:2972
743
+#: clamav-milter.c:3013
744 744
 #, c-format
745 745
 msgid ""
746 746
 "\n"
... ...
@@ -748,240 +758,240 @@ msgid ""
748 748
 "%s\t\n"
749 749
 msgstr ""
750 750
 
751
-#: clamav-milter.c:2980
751
+#: clamav-milter.c:3023
752 752
 #, c-format
753 753
 msgid "Can't execute '%s' to send virus notice"
754 754
 msgstr ""
755 755
 
756
-#: clamav-milter.c:2985
756
+#: clamav-milter.c:3028
757 757
 #, c-format
758 758
 msgid "Quarantined infected mail as %s"
759 759
 msgstr ""
760 760
 
761
-#: clamav-milter.c:3009
761
+#: clamav-milter.c:3052
762 762
 #, c-format
763 763
 msgid "Can't set quarantine user %s"
764 764
 msgstr ""
765 765
 
766
-#: clamav-milter.c:3011
766
+#: clamav-milter.c:3054
767 767
 #, c-format
768 768
 msgid "Can't set quarantine user %s\n"
769 769
 msgstr ""
770 770
 
771
-#: clamav-milter.c:3033
771
+#: clamav-milter.c:3076
772 772
 #, c-format
773 773
 msgid "virus %s detected by ClamAV - http://www.clamav.net"
774 774
 msgstr ""
775 775
 
776
-#: clamav-milter.c:3038
776
+#: clamav-milter.c:3081
777 777
 msgid "Unknown"
778 778
 msgstr ""
779 779
 
780
-#: clamav-milter.c:3040
780
+#: clamav-milter.c:3083
781 781
 #, c-format
782 782
 msgid "%s: incorrect message \"%s\" from clamd"
783 783
 msgstr ""
784 784
 
785
-#: clamav-milter.c:3046
785
+#: clamav-milter.c:3089
786 786
 msgid "Clean"
787 787
 msgstr ""
788 788
 
789
-#: clamav-milter.c:3050
789
+#: clamav-milter.c:3093
790 790
 #, c-format
791 791
 msgid "%s: clean message from %s"
792 792
 msgstr ""
793 793
 
794
-#: clamav-milter.c:3052
794
+#: clamav-milter.c:3095
795 795
 msgid "an unknown sender"
796 796
 msgstr ""
797 797
 
798
-#: clamav-milter.c:3156
798
+#: clamav-milter.c:3199
799 799
 #, c-format
800 800
 msgid "Can't remove clean file %s"
801 801
 msgstr ""
802 802
 
803
-#: clamav-milter.c:3339 clamav-milter.c:3342
803
+#: clamav-milter.c:3382 clamav-milter.c:3385
804 804
 #, c-format
805 805
 msgid "write failure (%u bytes) to %s: %s"
806 806
 msgstr ""
807 807
 
808
-#: clamav-milter.c:3356 clamav-milter.c:3359
808
+#: clamav-milter.c:3399 clamav-milter.c:3402
809 809
 #, c-format
810 810
 msgid "write failure (%u bytes) to clamd: %s"
811 811
 msgstr ""
812 812
 
813
-#: clamav-milter.c:3425
813
+#: clamav-milter.c:3468
814 814
 #, c-format
815 815
 msgid "No data received from clamd in %d seconds\n"
816 816
 msgstr ""
817 817
 
818
-#: clamav-milter.c:3447
818
+#: clamav-milter.c:3490
819 819
 #, c-format
820 820
 msgid "Can't stat %s"
821 821
 msgstr ""
822 822
 
823
-#: clamav-milter.c:3458 clamav-milter.c:3899
823
+#: clamav-milter.c:3501 clamav-milter.c:3942
824 824
 #, c-format
825 825
 msgid "Can't open %s"
826 826
 msgstr ""
827 827
 
828
-#: clamav-milter.c:3583 clamav-milter.c:4068
828
+#: clamav-milter.c:3626 clamav-milter.c:4111
829 829
 #, c-format
830 830
 msgid "mkdir %s failed"
831 831
 msgstr ""
832 832
 
833
-#: clamav-milter.c:3595
833
+#: clamav-milter.c:3638
834 834
 #, c-format
835 835
 msgid "mktemp %s failed"
836 836
 msgstr ""
837 837
 
838
-#: clamav-milter.c:3605
838
+#: clamav-milter.c:3648
839 839
 #, c-format
840 840
 msgid "Temporary quarantine file %s creation failed"
841 841
 msgstr ""
842 842
 
843
-#: clamav-milter.c:3708
843
+#: clamav-milter.c:3751
844 844
 #, c-format
845 845
 msgid "failed to send STREAM command clamd server %d"
846 846
 msgstr ""
847 847
 
848
-#: clamav-milter.c:3717
848
+#: clamav-milter.c:3760
849 849
 msgid "failed to send STREAM command clamd"
850 850
 msgstr ""
851 851
 
852
-#: clamav-milter.c:3729
852
+#: clamav-milter.c:3772
853 853
 msgid "failed to create TCPSocket to talk to clamd"
854 854
 msgstr ""
855 855
 
856
-#: clamav-milter.c:3741 clamav-milter.c:3757
856
+#: clamav-milter.c:3784 clamav-milter.c:3800
857 857
 msgid "recv failed from clamd getting PORT"
858 858
 msgstr ""
859 859
 
860
-#: clamav-milter.c:3745 clamav-milter.c:3759
860
+#: clamav-milter.c:3788 clamav-milter.c:3802
861 861
 msgid "EOF from clamd getting PORT"
862 862
 msgstr ""
863 863
 
864
-#: clamav-milter.c:3770
864
+#: clamav-milter.c:3813
865 865
 #, c-format
866 866
 msgid "Expected port information from clamd, got '%s'"
867 867
 msgstr ""
868 868
 
869
-#: clamav-milter.c:3773
869
+#: clamav-milter.c:3816
870 870
 #, c-format
871 871
 msgid "Expected port information from clamd, got '%s'\n"
872 872
 msgstr ""
873 873
 
874
-#: clamav-milter.c:3793 clamav-milter.c:3796
874
+#: clamav-milter.c:3836 clamav-milter.c:3839
875 875
 #, c-format
876 876
 msgid "Connecting to local port %d - data %d cmd %d\n"
877 877
 msgstr ""
878 878
 
879
-#: clamav-milter.c:3811 clamav-milter.c:3814
879
+#: clamav-milter.c:3854 clamav-milter.c:3857
880 880
 #, c-format
881 881
 msgid "Failed to connect to port %d given by clamd: %s"
882 882
 msgstr ""
883 883
 
884
-#: clamav-milter.c:3911
884
+#: clamav-milter.c:3954
885 885
 #, c-format
886 886
 msgid "Clamd (pid %d) seems to have died"
887 887
 msgstr ""
888 888
 
889
-#: clamav-milter.c:3937
889
+#: clamav-milter.c:3980
890 890
 #, c-format
891 891
 msgid "Can't open e-mail template file %s"
892 892
 msgstr ""
893 893
 
894
-#: clamav-milter.c:3946
894
+#: clamav-milter.c:3989
895 895
 #, c-format
896 896
 msgid "Can't stat e-mail template file %s"
897 897
 msgstr ""
898 898
 
899
-#: clamav-milter.c:3955
899
+#: clamav-milter.c:3998
900 900
 msgid "Out of memory"
901 901
 msgstr ""
902 902
 
903
-#: clamav-milter.c:3982
903
+#: clamav-milter.c:4025
904 904
 #, c-format
905 905
 msgid "%s: Unknown clamAV variable \"%c\"\n"
906 906
 msgstr ""
907 907
 
908
-#: clamav-milter.c:3993
908
+#: clamav-milter.c:4036
909 909
 #, c-format
910 910
 msgid "%s: Unterminated sendmail variable \"%s\"\n"
911 911
 msgstr ""
912 912
 
913
-#: clamav-milter.c:4004
913
+#: clamav-milter.c:4047
914 914
 #, c-format
915 915
 msgid "%s: Unknown sendmail variable \"%s\"\n"
916 916
 msgstr ""
917 917
 
918
-#: clamav-milter.c:4094
918
+#: clamav-milter.c:4137
919 919
 #, c-format
920 920
 msgid "Can't rename %1$s to %2$s"
921 921
 msgstr ""
922 922
 
923
-#: clamav-milter.c:4103
923
+#: clamav-milter.c:4146
924 924
 #, c-format
925 925
 msgid "File quarantined as %s"
926 926
 msgstr ""
927 927
 
928
-#: clamav-milter.c:4195
928
+#: clamav-milter.c:4238
929 929
 #, c-format
930 930
 msgid "[Virus] %s"
931 931
 msgstr ""
932 932
 
933
-#: clamav-milter.c:4289
933
+#: clamav-milter.c:4332
934 934
 msgid ""
935 935
 "No response from any clamd server - your AV system is not scanning emails\n"
936 936
 msgstr ""
937 937
 
938
-#: clamav-milter.c:4292
938
+#: clamav-milter.c:4335
939 939
 msgid ""
940 940
 "No response from any clamd server - your AV system is not scanning emails"
941 941
 msgstr ""
942 942
 
943
-#: clamav-milter.c:4310
943
+#: clamav-milter.c:4353
944 944
 msgid "Subject: ClamAV Down\n"
945 945
 msgstr ""
946 946
 
947
-#: clamav-milter.c:4313
947
+#: clamav-milter.c:4356
948 948
 msgid ""
949 949
 "This is an automatic message\n"
950 950
 "\n"
951 951
 msgstr ""
952 952
 
953
-#: clamav-milter.c:4316
953
+#: clamav-milter.c:4359
954 954
 msgid "The clamd program cannot be contacted.\n"
955 955
 msgstr ""
956 956
 
957
-#: clamav-milter.c:4318
957
+#: clamav-milter.c:4361
958 958
 msgid "No clamd server can be contacted.\n"
959 959
 msgstr ""
960 960
 
961
-#: clamav-milter.c:4320
961
+#: clamav-milter.c:4363
962 962
 msgid "Emails may not be being scanned, please check your servers.\n"
963 963
 msgstr ""
964 964
 
965
-#: clamav-milter.c:4400 clamav-milter.c:4423 clamav-milter.c:4589
966
-#: clamav-milter.c:4610
965
+#: clamav-milter.c:4443 clamav-milter.c:4468 clamav-milter.c:4634
966
+#: clamav-milter.c:4658
967 967
 msgid "Loading new database"
968 968
 msgstr ""
969 969
 
970
-#: clamav-milter.c:4730
970
+#: clamav-milter.c:4779
971 971
 #, c-format
972 972
 msgid "Stopping %s"
973 973
 msgstr ""
974 974
 
975
-#: clamav-milter.c:4776
975
+#: clamav-milter.c:4825
976 976
 msgid "Stopping clamav-milter"
977 977
 msgstr ""
978 978
 
979
-#: clamav-milter.c:4894
979
+#: clamav-milter.c:4943
980 980
 #, c-format
981 981
 msgid "ClamAV: Protecting against %u viruses"
982 982
 msgstr ""
983 983
 
984
-#: clamav-milter.c:4899
984
+#: clamav-milter.c:4948
985 985
 #, c-format
986 986
 msgid "Loaded %s"
987 987
 msgstr ""