Browse code

Correct version header

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

Nigel Horne authored on 2004/10/27 21:38:13
Showing 4 changed files
... ...
@@ -1,3 +1,15 @@
1
+Wed Oct 27 13:36:14 BST 2004 (njh)
2
+----------------------------------
3
+  * clamav-milter:	Remove X-VIRUS-STATUS on incoming messages
4
+			Plug remote possibility of file descriptor leak
5
+			Return EX_OSERR if fork fails, not EX_TEMPFAIL
6
+			If clamav-milter points to more than one server, ensure
7
+				that the version information for that server is
8
+				added to the header
9
+			Update version information in the watchdog. There may
10
+				therefore be a delay between the server updating
11
+				and this being reflected in the headers
12
+
1 13
 Wed Oct 27 09:30:47 BST 2004 (trog)
2 14
 -----------------------------------
3 15
   * libclamav/htmlnorm.c: extract more HTML references from use with FOLLOWURL
... ...
@@ -525,6 +525,16 @@ Changes
525 525
 			bind failure message
526 526
 		SESSION code now on by default
527 527
 		Use cli_strtokbuf() instead of cli_strtok() whereever possible
528
+0.80l	27/10/04 Remove X-VIRUS-STATUS on incoming messages since there's no
529
+			way to verify it's statement about being clean
530
+		Plug remote possibility of file descriptor leak
531
+		Return EX_OSERR if fork fails, not EX_TEMPFAIL
532
+		If clamav-milter points to more than one server, ensure that
533
+			the version information for that server is added to
534
+			the header
535
+		Update version information in the watchdog. There may therefore
536
+			be a delay between the server updating and this being
537
+			reflected in the headers
528 538
 
529 539
 INTERNATIONALISATION
530 540
 
... ...
@@ -26,6 +26,9 @@
26 26
  *
27 27
  * Change History:
28 28
  * $Log: clamav-milter.c,v $
29
+ * Revision 1.143  2004/10/27 12:34:21  nigelhorne
30
+ * Correct version header
31
+ *
29 32
  * Revision 1.142  2004/10/24 03:49:47  nigelhorne
30 33
  * Enable SESSION code by default
31 34
  *
... ...
@@ -437,9 +440,9 @@
437 437
  * Revision 1.6  2003/09/28 16:37:23  nigelhorne
438 438
  * Added -f flag use MaxThreads if --max-children not set
439 439
  */
440
-static	char	const	rcsid[] = "$Id: clamav-milter.c,v 1.142 2004/10/24 03:49:47 nigelhorne Exp $";
440
+static	char	const	rcsid[] = "$Id: clamav-milter.c,v 1.143 2004/10/27 12:34:21 nigelhorne Exp $";
441 441
 
442
-#define	CM_VERSION	"0.80k"
442
+#define	CM_VERSION	"0.80l"
443 443
 
444 444
 /*#define	CONFDIR	"/usr/local/etc"*/
445 445
 
... ...
@@ -529,6 +532,8 @@ typedef	unsigned short	in_port_t;
529 529
 typedef	unsigned int	in_addr_t;
530 530
 #endif
531 531
 
532
+#define	VERSION_LENGTH	128
533
+
532 534
 #define	SESSION	/*
533 535
 		 * Keep one command connection open to clamd, otherwise a new
534 536
 		 * command connection is created for each new email
... ...
@@ -652,7 +657,12 @@ static	int	logg_facility(const char *name);
652 652
 static	void	quit(void);
653 653
 static	void	broadcast(const char *mess);
654 654
 
655
-static	char	clamav_version[128];
655
+#ifdef	SESSION
656
+static	char	**clamav_versions;
657
+#define	clamav_version	(clamav_versions[0])
658
+#else
659
+static	char	clamav_version[VERSION_LENGTH + 1];
660
+#endif
656 661
 static	int	fflag = 0;	/* force a scan, whatever */
657 662
 static	int	oflag = 0;	/* scan messages from our machine? */
658 663
 static	int	lflag = 0;	/* scan messages from our site? */
... ...
@@ -838,6 +848,7 @@ main(int argc, char **argv)
838 838
 	struct cfgstruct *cpt;
839 839
 	struct passwd *user;
840 840
 	const char *pidfile = NULL;
841
+	char version[VERSION_LENGTH + 1];
841 842
 #ifdef	SESSION
842 843
 	pthread_t tid;
843 844
 #endif
... ...
@@ -865,10 +876,10 @@ main(int argc, char **argv)
865 865
 		perror("setrlimit");
866 866
 #endif
867 867
 	/*
868
-	 * Temporarily enter guessed value into clamav_version, will
868
+	 * Temporarily enter guessed value into version, will
869 869
 	 * be overwritten later by the value returned by clamd
870 870
 	 */
871
-	snprintf(clamav_version, sizeof(clamav_version),
871
+	snprintf(version, sizeof(version) - 1,
872 872
 		"ClamAV version %s, clamav-milter version %s",
873 873
 		VERSION, CM_VERSION);
874 874
 
... ...
@@ -1086,7 +1097,7 @@ main(int argc, char **argv)
1086 1086
 				quarantine_dir = optarg;
1087 1087
 				break;
1088 1088
 			case 'V':
1089
-				puts(clamav_version);
1089
+				puts(version);
1090 1090
 				return EX_OK;
1091 1091
 			case 'w':
1092 1092
 				dont_wait++;
... ...
@@ -1281,9 +1292,9 @@ main(int argc, char **argv)
1281 1281
 			sockname = &port[6];
1282 1282
 
1283 1283
 		if(sockname && (strcmp(sockname, cpt->strarg) == 0)) {
1284
-		   	fprintf(stderr, _("The connection from sendmail to %s (%s) must not\n"),
1284
+			fprintf(stderr, _("The connection from sendmail to %s (%s) must not\n"),
1285 1285
 				argv[0], sockname);
1286
-		   	fprintf(stderr, _("be the same as the connection to clamd (%s) in %s\n"),
1286
+			fprintf(stderr, _("be the same as the connection to clamd (%s) in %s\n"),
1287 1287
 				cpt->strarg, cfgfile);
1288 1288
 			return EX_CONFIG;
1289 1289
 		}
... ...
@@ -1425,6 +1436,16 @@ main(int argc, char **argv)
1425 1425
 		}
1426 1426
 #ifdef	SESSION
1427 1427
 		activeServers = numServers;
1428
+		clamav_versions = (char **)cli_malloc(numServers * sizeof(char *));
1429
+		if(clamav_versions == NULL)
1430
+			return EX_TEMPFAIL;
1431
+
1432
+		for(i = 0; i < numServers; i++) {
1433
+			clamav_versions[i] = strdup(version);
1434
+			if(clamav_versions[i] == NULL)
1435
+				return EX_TEMPFAIL;
1436
+		}
1437
+
1428 1438
 		cmdSockets = (int *)cli_malloc(max_children * sizeof(int));
1429 1439
 		cmdSocketsStatus = (int *)cli_calloc(max_children, sizeof(int));
1430 1440
 		for(i = 0; i < max_children; i++)
... ...
@@ -1453,7 +1474,7 @@ main(int argc, char **argv)
1453 1453
 		switch(fork()) {
1454 1454
 			case -1:
1455 1455
 				perror("fork");
1456
-				return EX_TEMPFAIL;
1456
+				return EX_OSERR;
1457 1457
 			case 0:	/* child */
1458 1458
 				break;
1459 1459
 			default:	/* parent */
... ...
@@ -1617,6 +1638,9 @@ createSession(int session)
1617 1617
 		char *hostname = cli_strtok(serverHostNames, serverNumber, ":");
1618 1618
 #endif
1619 1619
 
1620
+		if(cmdSockets[session] >= 0)
1621
+			close(cmdSockets[session]);
1622
+
1620 1623
 		cli_warnmsg(_("Check clamd server %s - it may be down\n"), hostname);
1621 1624
 #ifndef	MAXHOSTNAMELEN
1622 1625
 		free(hostname);
... ...
@@ -1626,7 +1650,7 @@ createSession(int session)
1626 1626
 
1627 1627
 		cmdSocketsStatus[session] = CMDSOCKET_DOWN;
1628 1628
 	}
1629
-	cli_dbgmsg("cmdSockets[%d] = %d\n", session, cmdSockets[session]);
1629
+
1630 1630
 	return ret;
1631 1631
 }
1632 1632
 
... ...
@@ -1728,7 +1752,7 @@ pingServer(int serverNumber)
1728 1728
 	 *	if they're running different versions, or if the virus DBs
1729 1729
 	 *	are out of date (say more than a month old)
1730 1730
 	 */
1731
-	snprintf(clamav_version, sizeof(clamav_version),
1731
+	snprintf(clamav_version, sizeof(clamav_version) - 1,
1732 1732
 		"%s\n\tclamav-milter version %s",
1733 1733
 		buf, CM_VERSION);
1734 1734
 
... ...
@@ -2230,6 +2254,12 @@ clamfi_header(SMFICTX *ctx, char *headerf, char *headerv)
2230 2230
 		return cl_error;
2231 2231
 	}
2232 2232
 
2233
+	if(strcasecmp(headerf, "X-Virus-Status") == 0)
2234
+		if(!nflag) {	/* remove any existing claims */
2235
+			smfi_chgheader(ctx, "X-Virus-Status", 1, NULL);
2236
+			return SMFIS_CONTINUE;
2237
+		}
2238
+
2233 2239
 	if(hflag)
2234 2240
 		header_list_add(privdata->headers, headerf, headerv);
2235 2241
 	else if((strcasecmp(headerf, "Received") == 0) &&
... ...
@@ -2494,7 +2524,11 @@ clamfi_eom(SMFICTX *ctx)
2494 2494
 		 * Include the hostname where the scan took place
2495 2495
 		 */
2496 2496
 		if(localSocket) {
2497
-			char hostname[32];
2497
+#ifdef	MAXHOSTNAMELEN
2498
+			char hostname[MAXHOSTNAMELEN + 1];
2499
+#else
2500
+			char hostname[65];
2501
+#endif
2498 2502
 
2499 2503
 			if(gethostname(hostname, sizeof(hostname)) < 0) {
2500 2504
 				const char *j = smfi_getsymval(ctx, "{j}");
... ...
@@ -2514,8 +2548,13 @@ clamfi_eom(SMFICTX *ctx)
2514 2514
 					strncpy(hostname, hostent.h_name, sizeof(hostname));
2515 2515
 			}
2516 2516
 
2517
-			snprintf(buf, sizeof(buf) - 1, "%s\n\ton %s",
2517
+#ifdef	SESSION
2518
+			snprintf(buf, sizeof(buf) - 1, "%s on %s",
2519
+				clamav_versions[privdata->serverNumber], hostname);
2520
+#else
2521
+			snprintf(buf, sizeof(buf) - 1, "%s on %s",
2518 2522
 				clamav_version, hostname);
2523
+#endif
2519 2524
 		} else {
2520 2525
 #ifdef	MAXHOSTNAMELEN
2521 2526
 			char hostname[MAXHOSTNAMELEN + 1];
... ...
@@ -2526,9 +2565,13 @@ clamfi_eom(SMFICTX *ctx)
2526 2526
 			if(hostname) {
2527 2527
 #endif
2528 2528
 
2529
-				snprintf(buf, sizeof(buf) - 1, "%s\n\ton %s",
2530
-					clamav_version,
2531
-					hostname);
2529
+#ifdef	SESSION
2530
+				snprintf(buf, sizeof(buf) - 1, "%s on %s",
2531
+					clamav_versions[privdata->serverNumber], hostname);
2532
+#else
2533
+				snprintf(buf, sizeof(buf) - 1, "%s on %s",
2534
+					clamav_version, hostname);
2535
+#endif
2532 2536
 #ifndef	MAXHOSTNAMELEN
2533 2537
 				free(hostname);
2534 2538
 #endif
... ...
@@ -3911,6 +3954,9 @@ clamdIsDown(void)
3911 3911
  * Thread to monitor the links to clamd sessions. Any marked as being in
3912 3912
  * an error state because of previous I/O errors are restarted, and a heartbeat
3913 3913
  * is sent the others
3914
+ *
3915
+ * It is woken up when the milter goes idle, when there are no free servers
3916
+ * available and once every readTimeout-1 seconds
3914 3917
  */
3915 3918
 static void *
3916 3919
 watchdog(void *a)
... ...
@@ -3925,14 +3971,7 @@ watchdog(void *a)
3925 3925
 		struct timeval tp;
3926 3926
 
3927 3927
 		gettimeofday(&tp, NULL);
3928
-		/*
3929
-		 * How often (in seconds) to try to fix broken clamd sessions.
3930
-		 * We may try more often than this e.g. when we're idle or all
3931
-		 * connections are down, so you can put this figure quite high.
3932
-		 * But can't be too high because with older clamd SESSION
3933
-		 * didn't remain open if no data goes down for ReadTimeout
3934
-		 * seconds
3935
-		 */
3928
+
3936 3929
 		ts.tv_sec = tp.tv_sec + readTimeout - 1;
3937 3930
 		ts.tv_nsec = tp.tv_usec * 1000;
3938 3931
 		cli_dbgmsg("watchdog sleeps\n");
... ...
@@ -3966,15 +4005,29 @@ watchdog(void *a)
3966 3966
 			 */
3967 3967
 			cli_dbgmsg("watchdog: check server %d\n", i);
3968 3968
 			if((n_children == 0) && (cmdSocketsStatus[i] == CMDSOCKET_FREE)) {
3969
-				if(send(sock, "PING\n", 5, 0) == 5) {
3970
-					char buf[6];
3969
+				if(send(sock, "VERSION\n", 8, 0) == 8) {
3970
+					char buf[81];
3971
+					const int nbytes = clamd_recv(sock, buf, sizeof(buf) - 1);
3971 3972
 
3972
-					buf[5] = '\0';
3973
-					if(clamd_recv(sock, buf, 5) != 5)
3974
-						cmdSocketsStatus[i] = CMDSOCKET_DOWN;
3975
-					else if(strcmp(buf, "PONG\n") != 0) {
3976
-						cli_dbgmsg("watchdog: expected \"PONG\", got \"%s\"\n", buf);
3973
+					if(nbytes <= 0)
3977 3974
 						cmdSocketsStatus[i] = CMDSOCKET_DOWN;
3975
+					else {
3976
+						buf[nbytes] = '\0';
3977
+						if(strncmp(buf, "ClamAV ", 7) == 0) {
3978
+							/* Remove the trailing new line from the reply */
3979
+							char *ptr;
3980
+							if((ptr = strchr(buf, '\n')) != NULL)
3981
+								*ptr = '\0';
3982
+							if(strcmp(buf, clamav_versions[i]) != 0) {
3983
+								if(use_syslog)
3984
+									syslog(LOG_INFO, "New version received for server %d: '%s'\n", i, buf);
3985
+								free(clamav_versions[i]);
3986
+								clamav_versions[i] = strdup(buf);
3987
+							}
3988
+						} else {
3989
+							cli_warnmsg("watchdog: expected \"ClamAV\", got \"%s\"\n", buf);
3990
+							cmdSocketsStatus[i] = CMDSOCKET_DOWN;
3991
+						}
3978 3992
 					}
3979 3993
 				} else {
3980 3994
 					perror("send");
... ...
@@ -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-10-24 04:42+0100\n"
11
+"POT-Creation-Date: 2004-10-27 13:33+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,577 +16,577 @@ msgstr ""
16 16
 "Content-Type: text/plain; charset=CHARSET\n"
17 17
 "Content-Transfer-Encoding: 8bit\n"
18 18
 
19
-#: clamav-milter.c:793
19
+#: clamav-milter.c:803
20 20
 msgid "\t--advisory\t\t-A\tFlag viruses rather than deleting them."
21 21
 msgstr ""
22 22
 
23
-#: clamav-milter.c:794
23
+#: clamav-milter.c:804
24 24
 msgid "\t--bounce\t\t-b\tSend a failure message to the sender."
25 25
 msgstr ""
26 26
 
27
-#: clamav-milter.c:795
27
+#: clamav-milter.c:805
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:796
33
+#: clamav-milter.c:806
34 34
 msgid "\t--config-file=FILE\t-c FILE\tRead configuration from FILE."
35 35
 msgstr ""
36 36
 
37
-#: clamav-milter.c:797
37
+#: clamav-milter.c:807
38 38
 msgid "\t--debug\t\t\t-D\tPrint debug messages."
39 39
 msgstr ""
40 40
 
41
-#: clamav-milter.c:798
41
+#: clamav-milter.c:808
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:799
46
+#: clamav-milter.c:809
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:800
52
+#: clamav-milter.c:810
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:801
56
+#: clamav-milter.c:811
57 57
 msgid "\t--from=EMAIL\t\t-a EMAIL\tError messages come from here."
58 58
 msgstr ""
59 59
 
60
-#: clamav-milter.c:802
60
+#: clamav-milter.c:812
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:803
64
+#: clamav-milter.c:813
65 65
 msgid "\t--help\t\t\t-h\tThis message."
66 66
 msgstr ""
67 67
 
68
-#: clamav-milter.c:804
68
+#: clamav-milter.c:814
69 69
 msgid "\t--headers\t\t-H\tInclude original message headers in the report."
70 70
 msgstr ""
71 71
 
72
-#: clamav-milter.c:805
72
+#: clamav-milter.c:815
73 73
 msgid "\t--local\t\t\t-l\tScan messages sent from machines on our LAN."
74 74
 msgstr ""
75 75
 
76
-#: clamav-milter.c:806
76
+#: clamav-milter.c:816
77 77
 msgid "\t--max-childen\t\t-m\tMaximum number of concurrent scans."
78 78
 msgstr ""
79 79
 
80
-#: clamav-milter.c:807
80
+#: clamav-milter.c:817
81 81
 msgid "\t--outgoing\t\t-o\tScan outgoing messages from this machine."
82 82
 msgstr ""
83 83
 
84
-#: clamav-milter.c:808
84
+#: clamav-milter.c:818
85 85
 msgid "\t--noreject\t\t-N\tDon't reject viruses, silently throw them away."
86 86
 msgstr ""
87 87
 
88
-#: clamav-milter.c:809
88
+#: clamav-milter.c:819
89 89
 msgid "\t--noxheader\t\t-n\tSuppress X-Virus-Scanned/X-Virus-Status headers."
90 90
 msgstr ""
91 91
 
92
-#: clamav-milter.c:810
92
+#: clamav-milter.c:820
93 93
 msgid "\t--pidfile=FILE\t\t-i FILE\tLocation of pidfile."
94 94
 msgstr ""
95 95
 
96
-#: clamav-milter.c:811
96
+#: clamav-milter.c:821
97 97
 msgid "\t--postmaster\t\t-p EMAIL\tPostmaster address [default=postmaster]."
98 98
 msgstr ""
99 99
 
100
-#: clamav-milter.c:812
100
+#: clamav-milter.c:822
101 101
 msgid "\t--postmaster-only\t-P\tSend warnings only to the postmaster."
102 102
 msgstr ""
103 103
 
104
-#: clamav-milter.c:813
104
+#: clamav-milter.c:823
105 105
 msgid "\t--quiet\t\t\t-q\tDon't send e-mail notifications of interceptions."
106 106
 msgstr ""
107 107
 
108
-#: clamav-milter.c:814
108
+#: clamav-milter.c:824
109 109
 msgid "\t--quarantine=USER\t-Q EMAIL\tQuanrantine e-mail account."
110 110
 msgstr ""
111 111
 
112
-#: clamav-milter.c:815
112
+#: clamav-milter.c:825
113 113
 msgid "\t--quarantine-dir=DIR\t-U DIR\tDirectory to store infected emails."
114 114
 msgstr ""
115 115
 
116
-#: clamav-milter.c:816
116
+#: clamav-milter.c:826
117 117
 msgid ""
118 118
 "\t--server=SERVER\t\t-s SERVER\tHostname/IP address of server(s) running "
119 119
 "clamd (when using TCPsocket)."
120 120
 msgstr ""
121 121
 
122
-#: clamav-milter.c:817
122
+#: clamav-milter.c:827
123 123
 msgid "\t--sign\t\t\t-S\tAdd a hard-coded signature to each scanned message."
124 124
 msgstr ""
125 125
 
126
-#: clamav-milter.c:818
126
+#: clamav-milter.c:828
127 127
 msgid "\t--signature-file=FILE\t-F FILE\tLocation of signature file."
128 128
 msgstr ""
129 129
 
130
-#: clamav-milter.c:819
130
+#: clamav-milter.c:829
131 131
 msgid "\t--template-file=FILE\t-t FILE\tLocation of e-mail template file."
132 132
 msgstr ""
133 133
 
134
-#: clamav-milter.c:820
134
+#: clamav-milter.c:830
135 135
 msgid "\t--timeout=SECS\t\t-T SECS\tTimeout waiting to childen to die."
136 136
 msgstr ""
137 137
 
138
-#: clamav-milter.c:821
138
+#: clamav-milter.c:831
139 139
 msgid "\t--version\t\t-V\tPrint the version number of this software."
140 140
 msgstr ""
141 141
 
142
-#: clamav-milter.c:823
142
+#: clamav-milter.c:833
143 143
 msgid "\t--debug-level=n\t\t-x n\tSets the debug level to 'n'."
144 144
 msgstr ""
145 145
 
146
-#: clamav-milter.c:825
146
+#: clamav-milter.c:835
147 147
 msgid ""
148 148
 "\n"
149 149
 "For more information type \"man clamav-milter\"."
150 150
 msgstr ""
151 151
 
152
-#: clamav-milter.c:826
152
+#: clamav-milter.c:836
153 153
 msgid "Report bugs to bugs@clamav.net."
154 154
 msgstr ""
155 155
 
156
-#: clamav-milter.c:1107
156
+#: clamav-milter.c:1118
157 157
 #, c-format
158 158
 msgid "%s: No socket-addr given\n"
159 159
 msgstr ""
160 160
 
161
-#: clamav-milter.c:1116
161
+#: clamav-milter.c:1127
162 162
 #, c-format
163 163
 msgid "%s: Can't parse the config file %s\n"
164 164
 msgstr ""
165 165
 
166
-#: clamav-milter.c:1155
166
+#: clamav-milter.c:1166
167 167
 #, c-format
168 168
 msgid ""
169 169
 "%s: The iface option to --broadcast is not supported on your operating "
170 170
 "system\n"
171 171
 msgstr ""
172 172
 
173
-#: clamav-milter.c:1161
173
+#: clamav-milter.c:1172
174 174
 #, c-format
175 175
 msgid "%s: Can't get information about user %s\n"
176 176
 msgstr ""
177 177
 
178
-#: clamav-milter.c:1172
178
+#: clamav-milter.c:1183
179 179
 #, c-format
180 180
 msgid "%s: AllowSupplementaryGroups: initgroups not supported.\n"
181 181
 msgstr ""
182 182
 
183
-#: clamav-milter.c:1189
183
+#: clamav-milter.c:1200
184 184
 #, c-format
185 185
 msgid "Running as user %s (UID %d, GID %d)\n"
186 186
 msgstr ""
187 187
 
188
-#: clamav-milter.c:1192
188
+#: clamav-milter.c:1203
189 189
 #, c-format
190 190
 msgid "%s: running as root is not recommended (check \"User\" in clamd.conf)\n"
191 191
 msgstr ""
192 192
 
193
-#: clamav-milter.c:1194
193
+#: clamav-milter.c:1205
194 194
 #, c-format
195 195
 msgid "%s: Only root can set an interface for --broadcast\n"
196 196
 msgstr ""
197 197
 
198
-#: clamav-milter.c:1199
198
+#: clamav-milter.c:1210
199 199
 #, c-format
200 200
 msgid "%s: Advisory mode doesn't work with quarantine mode\n"
201 201
 msgstr ""
202 202
 
203
-#: clamav-milter.c:1206
203
+#: clamav-milter.c:1217
204 204
 #, c-format
205 205
 msgid "%s: Advisory mode doesn't work with quarantine directories\n"
206 206
 msgstr ""
207 207
 
208
-#: clamav-milter.c:1222
208
+#: clamav-milter.c:1233
209 209
 #, c-format
210 210
 msgid "%s: insecure quarantine directory %s (mode 0%o)\n"
211 211
 msgstr ""
212 212
 
213
-#: clamav-milter.c:1248
213
+#: clamav-milter.c:1259
214 214
 #, c-format
215 215
 msgid "%s: ReadTimeout must not be negative in %s\n"
216 216
 msgstr ""
217 217
 
218
-#: clamav-milter.c:1255
218
+#: clamav-milter.c:1266
219 219
 #, c-format
220 220
 msgid "%s: StreamMaxLength must not be negative in %s\n"
221 221
 msgstr ""
222 222
 
223
-#: clamav-milter.c:1271
223
+#: clamav-milter.c:1282
224 224
 #, c-format
225 225
 msgid "%s: You can select one server type only (local/TCP) in %s\n"
226 226
 msgstr ""
227 227
 
228
-#: clamav-milter.c:1281
228
+#: clamav-milter.c:1292
229 229
 #, c-format
230 230
 msgid "The connection from sendmail to %s (%s) must not\n"
231 231
 msgstr ""
232 232
 
233
-#: clamav-milter.c:1283
233
+#: clamav-milter.c:1294
234 234
 #, c-format
235 235
 msgid "be the same as the connection to clamd (%s) in %s\n"
236 236
 msgstr ""
237 237
 
238
-#: clamav-milter.c:1293 clamav-milter.c:1316
238
+#: clamav-milter.c:1304 clamav-milter.c:1327
239 239
 #, c-format
240 240
 msgid "Can't talk to clamd server via %s\n"
241 241
 msgstr ""
242 242
 
243
-#: clamav-milter.c:1295 clamav-milter.c:1318
243
+#: clamav-milter.c:1306 clamav-milter.c:1329
244 244
 #, c-format
245 245
 msgid "Check your entry for LocalSocket in %s\n"
246 246
 msgstr ""
247 247
 
248
-#: clamav-milter.c:1329
248
+#: clamav-milter.c:1340
249 249
 msgid "Can't create a clamd session"
250 250
 msgstr ""
251 251
 
252
-#: clamav-milter.c:1345
252
+#: clamav-milter.c:1356
253 253
 #, c-format
254 254
 msgid ""
255 255
 "%s: --quarantine-dir not supported for remote scanning - use --quarantine\n"
256 256
 msgstr ""
257 257
 
258
-#: clamav-milter.c:1360
258
+#: clamav-milter.c:1371
259 259
 #, c-format
260 260
 msgid "%s: hostname %s is longer than %d characters\n"
261 261
 msgstr ""
262 262
 
263
-#: clamav-milter.c:1379
263
+#: clamav-milter.c:1390
264 264
 #, c-format
265 265
 msgid "%s: Sessions does not multiplex\n"
266 266
 msgstr ""
267 267
 
268
-#: clamav-milter.c:1402
268
+#: clamav-milter.c:1413
269 269
 #, c-format
270 270
 msgid "%s: Unknown host %s\n"
271 271
 msgstr ""
272 272
 
273
-#: clamav-milter.c:1414
273
+#: clamav-milter.c:1425
274 274
 #, c-format
275 275
 msgid "Can't talk to clamd server %s on port %d\n"
276 276
 msgstr ""
277 277
 
278
-#: clamav-milter.c:1432
278
+#: clamav-milter.c:1453
279 279
 msgid "Can't find any clamd servers\n"
280 280
 msgstr ""
281 281
 
282
-#: clamav-milter.c:1433
282
+#: clamav-milter.c:1454
283 283
 #, c-format
284 284
 msgid "Check your entry for TCPSocket in %s\n"
285 285
 msgstr ""
286 286
 
287
-#: clamav-milter.c:1439
287
+#: clamav-milter.c:1460
288 288
 #, c-format
289 289
 msgid "%s: You must select server type (local/TCP) in %s\n"
290 290
 msgstr ""
291 291
 
292
-#: clamav-milter.c:1446
292
+#: clamav-milter.c:1467
293 293
 #, c-format
294 294
 msgid "When debugging it is recommended that you use Foreground mode in %s\n"
295 295
 msgstr ""
296 296
 
297
-#: clamav-milter.c:1447
297
+#: clamav-milter.c:1468
298 298
 msgid "So that you can see all of the messages"
299 299
 msgstr ""
300 300
 
301
-#: clamav-milter.c:1508
301
+#: clamav-milter.c:1529
302 302
 #, c-format
303 303
 msgid "Starting: %s"
304 304
 msgstr ""
305 305
 
306
-#: clamav-milter.c:1513
306
+#: clamav-milter.c:1534
307 307
 msgid "Debugging is on"
308 308
 msgstr ""
309 309
 
310
-#: clamav-milter.c:1517
310
+#: clamav-milter.c:1538
311 311
 #, c-format
312 312
 msgid ""
313 313
 "%s: (-q && !LogSyslog): warning - all interception message methods are off\n"
314 314
 msgstr ""
315 315
 
316
-#: clamav-milter.c:1521
316
+#: clamav-milter.c:1542
317 317
 msgid "Starting clamav-milter"
318 318
 msgstr ""
319 319
 
320
-#: clamav-milter.c:1530
320
+#: clamav-milter.c:1551
321 321
 #, c-format
322 322
 msgid "Can't save PID in file %s"
323 323
 msgstr ""
324 324
 
325
-#: clamav-milter.c:1532
325
+#: clamav-milter.c:1553
326 326
 #, c-format
327 327
 msgid "Can't save PID in file %s\n"
328 328
 msgstr ""
329 329
 
330
-#: clamav-milter.c:1560
330
+#: clamav-milter.c:1581
331 331
 #, c-format
332 332
 msgid "%s: smfi_setconn failed\n"
333 333
 msgstr ""
334 334
 
335
-#: clamav-milter.c:1573
335
+#: clamav-milter.c:1594
336 336
 #, c-format
337 337
 msgid "Started: %s"
338 338
 msgstr ""
339 339
 
340
-#: clamav-milter.c:1617 clamav-milter.c:1857
340
+#: clamav-milter.c:1641 clamav-milter.c:1881
341 341
 #, c-format
342 342
 msgid "Check clamd server %s - it may be down\n"
343 343
 msgstr ""
344 344
 
345
-#: clamav-milter.c:1622 clamav-milter.c:1866
345
+#: clamav-milter.c:1646 clamav-milter.c:1890
346 346
 msgid "Check clamd server - it may be down\n"
347 347
 msgstr ""
348 348
 
349
-#: clamav-milter.c:1783
349
+#: clamav-milter.c:1807
350 350
 msgid "No free clamd sessions\n"
351 351
 msgstr ""
352 352
 
353
-#: clamav-milter.c:1860
353
+#: clamav-milter.c:1884
354 354
 #, c-format
355 355
 msgid "Check clamd server %s - it may be down"
356 356
 msgstr ""
357 357
 
358
-#: clamav-milter.c:1902
358
+#: clamav-milter.c:1926
359 359
 msgid "findServer: select failed"
360 360
 msgstr ""
361 361
 
362
-#: clamav-milter.c:1911
362
+#: clamav-milter.c:1935
363 363
 #, c-format
364 364
 msgid "findServer: using server %d\n"
365 365
 msgstr ""
366 366
 
367
-#: clamav-milter.c:1916
367
+#: clamav-milter.c:1940
368 368
 msgid "findServer: No response from any server\n"
369 369
 msgstr ""
370 370
 
371
-#: clamav-milter.c:1918
371
+#: clamav-milter.c:1942
372 372
 msgid "findServer: No response from any server"
373 373
 msgstr ""
374 374
 
375
-#: clamav-milter.c:1939
375
+#: clamav-milter.c:1963
376 376
 msgid "clamfi_connect: ctx is null"
377 377
 msgstr ""
378 378
 
379
-#: clamav-milter.c:1944
379
+#: clamav-milter.c:1968
380 380
 msgid "clamfi_connect: hostname is null"
381 381
 msgstr ""
382 382
 
383
-#: clamav-milter.c:1965
383
+#: clamav-milter.c:1989
384 384
 msgid "clamfi_connect: remoteIP is null"
385 385
 msgstr ""
386 386
 
387
-#: clamav-milter.c:1973
387
+#: clamav-milter.c:1997
388 388
 #, c-format
389 389
 msgid "clamfi_connect: connection from %s [%s]"
390 390
 msgstr ""
391 391
 
392
-#: clamav-milter.c:1974
392
+#: clamav-milter.c:1998
393 393
 #, c-format
394 394
 msgid "clamfi_connect: connection from %s [%s]\n"
395 395
 msgstr ""
396 396
 
397
-#: clamav-milter.c:1993
397
+#: clamav-milter.c:2017
398 398
 msgid "Can't get sendmail hostname"
399 399
 msgstr ""
400 400
 
401
-#: clamav-milter.c:1998
401
+#: clamav-milter.c:2022
402 402
 #, c-format
403 403
 msgid "Access Denied: Host Unknown (%s)"
404 404
 msgstr ""
405 405
 
406
-#: clamav-milter.c:2008
406
+#: clamav-milter.c:2032
407 407
 #, c-format
408 408
 msgid "Access Denied: Can't get IP address for (%s)"
409 409
 msgstr ""
410 410
 
411
-#: clamav-milter.c:2025
411
+#: clamav-milter.c:2049
412 412
 #, c-format
413 413
 msgid "Access Denied for %s[%s]"
414 414
 msgstr ""
415 415
 
416
-#: clamav-milter.c:2043
416
+#: clamav-milter.c:2067
417 417
 msgid "clamfi_connect: not scanning outgoing messages"
418 418
 msgstr ""
419 419
 
420
-#: clamav-milter.c:2044
420
+#: clamav-milter.c:2068
421 421
 msgid "clamfi_connect: not scanning outgoing messages\n"
422 422
 msgstr ""
423 423
 
424
-#: clamav-milter.c:2052
424
+#: clamav-milter.c:2076
425 425
 msgid "clamfi_connect: not scanning local messages"
426 426
 msgstr ""
427 427
 
428
-#: clamav-milter.c:2053
428
+#: clamav-milter.c:2077
429 429
 msgid "clamfi_connect: not scanning local messages\n"
430 430
 msgstr ""
431 431
 
432
-#: clamav-milter.c:2087
432
+#: clamav-milter.c:2111
433 433
 #, c-format
434 434
 msgid "hit max-children limit (%u >= %u)\n"
435 435
 msgstr ""
436 436
 
437
-#: clamav-milter.c:2088
437
+#: clamav-milter.c:2112
438 438
 #, c-format
439 439
 msgid "hit max-children limit (%u >= %u): waiting for some to exit\n"
440 440
 msgstr ""
441 441
 
442
-#: clamav-milter.c:2094
442
+#: clamav-milter.c:2118
443 443
 #, c-format
444 444
 msgid "hit max-children limit (%u >= %u)"
445 445
 msgstr ""
446 446
 
447
-#: clamav-milter.c:2095
447
+#: clamav-milter.c:2119
448 448
 #, c-format
449 449
 msgid "hit max-children limit (%u >= %u): waiting for some to exit"
450 450
 msgstr ""
451 451
 
452
-#: clamav-milter.c:2100
452
+#: clamav-milter.c:2124
453 453
 msgid "AV system temporarily overloaded - please try later"
454 454
 msgstr ""
455 455
 
456
-#: clamav-milter.c:2130
456
+#: clamav-milter.c:2154
457 457
 #, c-format
458 458
 msgid ">n_children = %d\n"
459 459
 msgstr ""
460 460
 
461
-#: clamav-milter.c:2136
461
+#: clamav-milter.c:2160
462 462
 msgid "Timeout waiting for a child to die"
463 463
 msgstr ""
464 464
 
465
-#: clamav-milter.c:2138
465
+#: clamav-milter.c:2162
466 466
 msgid "Timeout waiting for a child to die\n"
467 467
 msgstr ""
468 468
 
469
-#: clamav-milter.c:2258
469
+#: clamav-milter.c:2288
470 470
 msgid "clamfi_eoh"
471 471
 msgstr ""
472 472
 
473
-#: clamav-milter.c:2261
473
+#: clamav-milter.c:2291
474 474
 msgid "clamfi_eoh\n"
475 475
 msgstr ""
476 476
 
477
-#: clamav-milter.c:2318
477
+#: clamav-milter.c:2348
478 478
 msgid "clamfi_eoh: ignoring whitelisted message"
479 479
 msgstr ""
480 480
 
481
-#: clamav-milter.c:2320
481
+#: clamav-milter.c:2350
482 482
 msgid "clamfi_eoh: not scanning outgoing messages\n"
483 483
 msgstr ""
484 484
 
485
-#: clamav-milter.c:2334
485
+#: clamav-milter.c:2364
486 486
 #, c-format
487 487
 msgid "clamfi_envbody: %u bytes"
488 488
 msgstr ""
489 489
 
490
-#: clamav-milter.c:2336
490
+#: clamav-milter.c:2366
491 491
 #, c-format
492 492
 msgid "clamfi_envbody: %u bytes\n"
493 493
 msgstr ""
494 494
 
495
-#: clamav-milter.c:2346 clamav-milter.c:2545
495
+#: clamav-milter.c:2376 clamav-milter.c:2588
496 496
 #, c-format
497 497
 msgid "%s: Message more than StreamMaxLength (%ld) bytes - not scanned"
498 498
 msgstr ""
499 499
 
500
-#: clamav-milter.c:2350 clamav-milter.c:2548
500
+#: clamav-milter.c:2380 clamav-milter.c:2591
501 501
 msgid "Not Scanned - StreamMaxLength exceeded"
502 502
 msgstr ""
503 503
 
504
-#: clamav-milter.c:2422 clamav-milter.c:2440 clamav-milter.c:3433
505
-#: clamav-milter.c:3440
504
+#: clamav-milter.c:2452 clamav-milter.c:2470 clamav-milter.c:3476
505
+#: clamav-milter.c:3483
506 506
 msgid "send failed to clamd"
507 507
 msgstr ""
508 508
 
509
-#: clamav-milter.c:2457
509
+#: clamav-milter.c:2487
510 510
 #, c-format
511 511
 msgid "clamfi_eom: read %s"
512 512
 msgstr ""
513 513
 
514
-#: clamav-milter.c:2458
514
+#: clamav-milter.c:2488
515 515
 #, c-format
516 516
 msgid "clamfi_eom: read %s\n"
517 517
 msgstr ""
518 518
 
519
-#: clamav-milter.c:2466
519
+#: clamav-milter.c:2496
520 520
 msgid "clamfi_eom: read nothing from clamd"
521 521
 msgstr ""
522 522
 
523
-#: clamav-milter.c:2468
523
+#: clamav-milter.c:2498
524 524
 msgid "clamfi_eom: read nothing from clamd\n"
525 525
 msgstr ""
526 526
 
527
-#: clamav-milter.c:2503 clamav-milter.c:2534
527
+#: clamav-milter.c:2537 clamav-milter.c:2577
528 528
 msgid "Error determining host"
529 529
 msgstr ""
530 530
 
531
-#: clamav-milter.c:2553
531
+#: clamav-milter.c:2596
532 532
 msgid "Not Scanned"
533 533
 msgstr ""
534 534
 
535
-#: clamav-milter.c:2564
535
+#: clamav-milter.c:2607
536 536
 msgid "Clean"
537 537
 msgstr ""
538 538
 
539
-#: clamav-milter.c:2568
539
+#: clamav-milter.c:2611
540 540
 #, c-format
541 541
 msgid "%s: clean message from %s"
542 542
 msgstr ""
543 543
 
544
-#: clamav-milter.c:2570
544
+#: clamav-milter.c:2613
545 545
 msgid "an unknown sender"
546 546
 msgstr ""
547 547
 
548
-#: clamav-milter.c:2604
548
+#: clamav-milter.c:2647
549 549
 msgid "Infected"
550 550
 msgstr ""
551 551
 
552
-#: clamav-milter.c:2622
552
+#: clamav-milter.c:2665
553 553
 #, c-format
554 554
 msgid "Intercepted virus from %s to"
555 555
 msgstr ""
556 556
 
557
-#: clamav-milter.c:2716
557
+#: clamav-milter.c:2759
558 558
 msgid ""
559 559
 "Subject: Virus intercepted\n"
560 560
 "\n"
561 561
 msgstr ""
562 562
 
563
-#: clamav-milter.c:2738
563
+#: clamav-milter.c:2781
564 564
 msgid "A message you sent to\n"
565 565
 msgstr ""
566 566
 
567
-#: clamav-milter.c:2745
567
+#: clamav-milter.c:2788
568 568
 #, c-format
569 569
 msgid "The message %1$s sent from %2$s to\n"
570 570
 msgstr ""
571 571
 
572
-#: clamav-milter.c:2748
572
+#: clamav-milter.c:2791
573 573
 #, c-format
574 574
 msgid "A message sent from %s to\n"
575 575
 msgstr ""
576 576
 
577
-#: clamav-milter.c:2753
577
+#: clamav-milter.c:2796
578 578
 #, c-format
579 579
 msgid "contained %s and has not been delivered.\n"
580 580
 msgstr ""
581 581
 
582
-#: clamav-milter.c:2757
582
+#: clamav-milter.c:2800
583 583
 #, c-format
584 584
 msgid ""
585 585
 "\n"
586 586
 "The message in question has been quarantined as %s\n"
587 587
 msgstr ""
588 588
 
589
-#: clamav-milter.c:2760
589
+#: clamav-milter.c:2803
590 590
 #, c-format
591 591
 msgid ""
592 592
 "\n"
... ...
@@ -594,13 +594,13 @@ msgid ""
594 594
 "\n"
595 595
 msgstr ""
596 596
 
597
-#: clamav-milter.c:2763
597
+#: clamav-milter.c:2806
598 598
 msgid ""
599 599
 "For your information, the original message headers were:\n"
600 600
 "\n"
601 601
 msgstr ""
602 602
 
603
-#: clamav-milter.c:2776
603
+#: clamav-milter.c:2819
604 604
 #, c-format
605 605
 msgid ""
606 606
 "\n"
... ...
@@ -608,180 +608,180 @@ msgid ""
608 608
 "%s\t\n"
609 609
 msgstr ""
610 610
 
611
-#: clamav-milter.c:2789
611
+#: clamav-milter.c:2832
612 612
 #, c-format
613 613
 msgid "Quarantined infected mail as %s"
614 614
 msgstr ""
615 615
 
616
-#: clamav-milter.c:2813
616
+#: clamav-milter.c:2856
617 617
 #, c-format
618 618
 msgid "Can't set quarantine user %s"
619 619
 msgstr ""
620 620
 
621
-#: clamav-milter.c:2815
621
+#: clamav-milter.c:2858
622 622
 #, c-format
623 623
 msgid "Can't set quarantine user %s\n"
624 624
 msgstr ""
625 625
 
626
-#: clamav-milter.c:2828
626
+#: clamav-milter.c:2871
627 627
 #, c-format
628 628
 msgid "virus %s detected by ClamAV - http://www.clamav.net"
629 629
 msgstr ""
630 630
 
631
-#: clamav-milter.c:2909
631
+#: clamav-milter.c:2952
632 632
 #, c-format
633 633
 msgid "Can't remove clean file %s"
634 634
 msgstr ""
635 635
 
636
-#: clamav-milter.c:3075 clamav-milter.c:3078
636
+#: clamav-milter.c:3118 clamav-milter.c:3121
637 637
 #, c-format
638 638
 msgid "write failure (%u bytes) to %s: %s"
639 639
 msgstr ""
640 640
 
641
-#: clamav-milter.c:3092 clamav-milter.c:3095
641
+#: clamav-milter.c:3135 clamav-milter.c:3138
642 642
 #, c-format
643 643
 msgid "write failure (%u bytes) to clamd: %s"
644 644
 msgstr ""
645 645
 
646
-#: clamav-milter.c:3161
646
+#: clamav-milter.c:3204
647 647
 #, c-format
648 648
 msgid "No data received from clamd in %d seconds\n"
649 649
 msgstr ""
650 650
 
651
-#: clamav-milter.c:3183
651
+#: clamav-milter.c:3226
652 652
 #, c-format
653 653
 msgid "Can't stat %s"
654 654
 msgstr ""
655 655
 
656
-#: clamav-milter.c:3194 clamav-milter.c:3580
656
+#: clamav-milter.c:3237 clamav-milter.c:3623
657 657
 #, c-format
658 658
 msgid "Can't open %s"
659 659
 msgstr ""
660 660
 
661
-#: clamav-milter.c:3332
661
+#: clamav-milter.c:3375
662 662
 #, c-format
663 663
 msgid "mkdir %s failed"
664 664
 msgstr ""
665 665
 
666
-#: clamav-milter.c:3345
666
+#: clamav-milter.c:3388
667 667
 #, c-format
668 668
 msgid "mktemp %s failed"
669 669
 msgstr ""
670 670
 
671
-#: clamav-milter.c:3355
671
+#: clamav-milter.c:3398
672 672
 #, c-format
673 673
 msgid "Temporary quarantine file %s creation failed"
674 674
 msgstr ""
675 675
 
676
-#: clamav-milter.c:3452
676
+#: clamav-milter.c:3495
677 677
 msgid "failed to create TCPSocket to talk to clamd"
678 678
 msgstr ""
679 679
 
680
-#: clamav-milter.c:3466
680
+#: clamav-milter.c:3509
681 681
 msgid "recv failed from clamd getting PORT"
682 682
 msgstr ""
683 683
 
684
-#: clamav-milter.c:3476
684
+#: clamav-milter.c:3519
685 685
 #, c-format
686 686
 msgid "Expected port information from clamd, got '%s'"
687 687
 msgstr ""
688 688
 
689
-#: clamav-milter.c:3479
689
+#: clamav-milter.c:3522
690 690
 #, c-format
691 691
 msgid "Expected port information from clamd, got '%s'\n"
692 692
 msgstr ""
693 693
 
694
-#: clamav-milter.c:3499
694
+#: clamav-milter.c:3542
695 695
 #, c-format
696 696
 msgid "Connecting to local port %d\n"
697 697
 msgstr ""
698 698
 
699
-#: clamav-milter.c:3510 clamav-milter.c:3513
699
+#: clamav-milter.c:3553 clamav-milter.c:3556
700 700
 #, c-format
701 701
 msgid "Failed to connect to port %d given by clamd: %s"
702 702
 msgstr ""
703 703
 
704
-#: clamav-milter.c:3592
704
+#: clamav-milter.c:3635
705 705
 #, c-format
706 706
 msgid "Clamd (pid %d) seems to have died"
707 707
 msgstr ""
708 708
 
709
-#: clamav-milter.c:3618
709
+#: clamav-milter.c:3661
710 710
 #, c-format
711 711
 msgid "Can't open e-mail template file %s"
712 712
 msgstr ""
713 713
 
714
-#: clamav-milter.c:3627
714
+#: clamav-milter.c:3670
715 715
 #, c-format
716 716
 msgid "Can't stat e-mail template file %s"
717 717
 msgstr ""
718 718
 
719
-#: clamav-milter.c:3636
719
+#: clamav-milter.c:3679
720 720
 msgid "Out of memory"
721 721
 msgstr ""
722 722
 
723
-#: clamav-milter.c:3663
723
+#: clamav-milter.c:3706
724 724
 #, c-format
725 725
 msgid "%s: Unknown clamAV variable \"%c\"\n"
726 726
 msgstr ""
727 727
 
728
-#: clamav-milter.c:3674
728
+#: clamav-milter.c:3717
729 729
 #, c-format
730 730
 msgid "%s: Unterminated sendmail variable \"%s\"\n"
731 731
 msgstr ""
732 732
 
733
-#: clamav-milter.c:3685
733
+#: clamav-milter.c:3728
734 734
 #, c-format
735 735
 msgid "%s: Unknown sendmail variable \"%s\"\n"
736 736
 msgstr ""
737 737
 
738
-#: clamav-milter.c:3751
738
+#: clamav-milter.c:3794
739 739
 #, c-format
740 740
 msgid "Can't rename %1$s to %2$s"
741 741
 msgstr ""
742 742
 
743
-#: clamav-milter.c:3774
743
+#: clamav-milter.c:3817
744 744
 #, c-format
745 745
 msgid "[Virus] %s"
746 746
 msgstr ""
747 747
 
748
-#: clamav-milter.c:3864
748
+#: clamav-milter.c:3907
749 749
 msgid ""
750 750
 "No response from any clamd server - your AV system is not scanning emails\n"
751 751
 msgstr ""
752 752
 
753
-#: clamav-milter.c:3867
753
+#: clamav-milter.c:3910
754 754
 msgid ""
755 755
 "No response from any clamd server - your AV system is not scanning emails"
756 756
 msgstr ""
757 757
 
758
-#: clamav-milter.c:3885
758
+#: clamav-milter.c:3928
759 759
 msgid "Subject: ClamAV Down\n"
760 760
 msgstr ""
761 761
 
762
-#: clamav-milter.c:3888
762
+#: clamav-milter.c:3931
763 763
 msgid ""
764 764
 "This is an automatic message\n"
765 765
 "\n"
766 766
 msgstr ""
767 767
 
768
-#: clamav-milter.c:3891
768
+#: clamav-milter.c:3934
769 769
 msgid "The clamd program cannot be contacted.\n"
770 770
 msgstr ""
771 771
 
772
-#: clamav-milter.c:3893
772
+#: clamav-milter.c:3936
773 773
 msgid "No clamd server can be contacted.\n"
774 774
 msgstr ""
775 775
 
776
-#: clamav-milter.c:3895
776
+#: clamav-milter.c:3938
777 777
 msgid "Emails may not be being scanned, please check your servers.\n"
778 778
 msgstr ""
779 779
 
780
-#: clamav-milter.c:4106 clamav-milter.c:4135
780
+#: clamav-milter.c:4159 clamav-milter.c:4188
781 781
 #, c-format
782 782
 msgid "Stopping %s"
783 783
 msgstr ""
784 784
 
785
-#: clamav-milter.c:4137
785
+#: clamav-milter.c:4190
786 786
 msgid "Stopping clamav-milter"
787 787
 msgstr ""