Browse code

Removed the goto

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

Nigel Horne authored on 2005/03/10 17:49:58
Showing 4 changed files
... ...
@@ -1,3 +1,10 @@
1
+Thu Mar 10 08:48:54 GMT 2005 (njh)
2
+----------------------------------
3
+  * clamav-milter:	--detect-forged-local-address no longer gives false
4
+				positives on emails which have the Sender
5
+				header set (e.g. mailing lists)
6
+			Use {mail_addr} if no From field is received
7
+
1 8
 Mon Mar  7 11:24:43 GMT 2005 (njh)
2 9
 ----------------------------------
3 10
   * libclamav:		Added fast track visa system which reduces memory
... ...
@@ -710,6 +710,11 @@ Changes
710 710
 0.84a	5/3/05:		Note that when the connection to sendmail is via TCP/IP
711 711
 				rather than a UNIX domain socket, that --local
712 712
 				must be given
713
+0.84b	9/3/05:		Got rid of that GOTO
714
+			--detect-forged-local-address no longer gives false
715
+				positives on emails which have the Sender
716
+				header set (e.g. mailing lists)
717
+			Use {mail_addr} if no From field is received
713 718
 
714 719
 INTERNATIONALISATION
715 720
 
... ...
@@ -24,9 +24,9 @@
24 24
  *
25 25
  * For installation instructions see the file INSTALL that came with this file
26 26
  */
27
-static	char	const	rcsid[] = "$Id: clamav-milter.c,v 1.187 2005/03/05 11:06:03 nigelhorne Exp $";
27
+static	char	const	rcsid[] = "$Id: clamav-milter.c,v 1.188 2005/03/10 08:46:30 nigelhorne Exp $";
28 28
 
29
-#define	CM_VERSION	"0.84a"
29
+#define	CM_VERSION	"0.84b"
30 30
 
31 31
 #if HAVE_CONFIG_H
32 32
 #include "clamav-config.h"
... ...
@@ -134,6 +134,9 @@ typedef	unsigned int	in_addr_t;
134 134
 		 *	notfying clamd of an update. This is most likely to be a
135 135
 		 *	problem with the implementation of SESSIONS on clamd.
136 136
 		 *	The problem seems worst on BSD.
137
+		 *
138
+		 * Note that clamd is buggy and can hang or even crash if you
139
+		 *	send SESSION command so be aware
137 140
 		 */
138 141
 
139 142
 /*
... ...
@@ -194,9 +197,11 @@ static const struct cidr_net {
194 194
  */
195 195
 struct	privdata {
196 196
 	char	*from;	/* Who sent the message */
197
+	char	*subject;	/* Original subject */
198
+	char	*sender;	/* Secretary - often used in mailing lists */
199
+	char	*helo;		/* The HELO string */
197 200
 	char	**to;	/* Who is the message going to */
198 201
 	int	numTo;	/* Number of people the message is going to */
199
-	char	*subject;	/* Original subject */
200 202
 #ifndef	SESSION
201 203
 	int	cmdSocket;	/*
202 204
 				 * Socket to send/get commands e.g. PORT for
... ...
@@ -227,6 +232,9 @@ static	int		pingServer(int serverNumber);
227 227
 #endif
228 228
 static	int		findServer(void);
229 229
 static	sfsistat	clamfi_connect(SMFICTX *ctx, char *hostname, _SOCK_ADDR *hostaddr);
230
+#ifdef	CL_DEBUG
231
+static	sfsistat	clamfi_helo(SMFICTX *ctx, char *helostring);
232
+#endif
230 233
 static	sfsistat	clamfi_envfrom(SMFICTX *ctx, char **argv);
231 234
 static	sfsistat	clamfi_envrcpt(SMFICTX *ctx, char **argv);
232 235
 static	sfsistat	clamfi_header(SMFICTX *ctx, char *headerf, char *headerv);
... ...
@@ -245,6 +253,7 @@ static	void	header_list_free(header_list_t list);
245 245
 static	void	header_list_add(header_list_t list, const char *headerf, const char *headerv);
246 246
 static	void	header_list_print(header_list_t list, FILE *fp);
247 247
 static	int	connect2clamd(struct privdata *privdata);
248
+static	int	sendToFrom(struct privdata *privdata);
248 249
 static	void	checkClamd(void);
249 250
 static	int	sendtemplate(SMFICTX *ctx, const char *filename, FILE *sendmail, const char *virusname);
250 251
 static	int	qfile(struct privdata *privdata, const char *sendmailId, const char *virusname);
... ...
@@ -500,7 +509,11 @@ main(int argc, char **argv)
500 500
 		SMFI_VERSION,	/* version code -- leave untouched */
501 501
 		SMFIF_ADDHDRS|SMFIF_CHGHDRS,	/* flags - we add and deleted headers */
502 502
 		clamfi_connect, /* connection callback */
503
-		NULL, /* HELO filter callback */
503
+#ifdef	CL_DEBUG
504
+		clamfi_helo,	/* HELO filter callback */
505
+#else
506
+		NULL,
507
+#endif
504 508
 		clamfi_envfrom, /* envelope sender filter callback */
505 509
 		clamfi_envrcpt, /* envelope recipient filter callback */
506 510
 		clamfi_header, /* header filter callback */
... ...
@@ -2066,12 +2079,29 @@ static sfsistat
2066 2066
 clamfi_envfrom(SMFICTX *ctx, char **argv)
2067 2067
 {
2068 2068
 	struct privdata *privdata;
2069
+	const char *mailaddr = argv[0];
2069 2070
 
2070 2071
 	if(logVerbose)
2071 2072
 		syslog(LOG_DEBUG, "clamfi_envfrom: %s", argv[0]);
2072 2073
 
2073 2074
 	cli_dbgmsg("clamfi_envfrom: %s\n", argv[0]);
2074 2075
 
2076
+	if(strcmp(argv[0], "<>") == 0) {
2077
+		mailaddr = smfi_getsymval(ctx, "{mail_addr}");
2078
+		if(mailaddr)
2079
+			cli_dbgmsg("Message from %s has no from value\n", mailaddr);
2080
+		else {
2081
+#if	0
2082
+			if(use_syslog)
2083
+				syslog(LOG_NOTICE, _("Rejected email with empty from field"));
2084
+			smfi_setreply(ctx, "554", "5.7.1", _("You have not said who the email is from"));
2085
+			broadcast(_("Reject email with empty from field"));
2086
+			clamfi_cleanup(ctx);
2087
+			return SMFIS_REJECT;
2088
+#endif
2089
+		}
2090
+	}
2091
+
2075 2092
 	if(max_children > 0) {
2076 2093
 		int rc = 0;
2077 2094
 
... ...
@@ -2160,30 +2190,11 @@ clamfi_envfrom(SMFICTX *ctx, char **argv)
2160 2160
 	 */
2161 2161
 	privdata->rejectCode = "550";
2162 2162
 
2163
-	privdata->from = strdup(argv[0]);
2163
+	privdata->from = strdup(mailaddr);
2164 2164
 
2165 2165
 	if(hflag)
2166 2166
 		privdata->headers = header_list_new();
2167 2167
 
2168
-	if(detect_forged_local_address && !isWhitelisted(argv[0])) {
2169
-		char me[MAXHOSTNAMELEN + 1];
2170
-		const char *ptr;
2171
-
2172
-		if(gethostname(me, sizeof(me) - 1) < 0) {
2173
-			if(use_syslog)
2174
-				syslog(LOG_WARNING, _("clamfi_connect: gethostname failed"));
2175
-			return SMFIS_CONTINUE;
2176
-		}
2177
-		ptr = strstr(argv[0], me);
2178
-		if(ptr && (ptr != argv[0]) && (*--ptr == '@')) {
2179
-			if(use_syslog)
2180
-				syslog(LOG_NOTICE, _("Rejected email falsely claiming to be from %s"), argv[0]);
2181
-			smfi_setreply(ctx, "550", "5.7.1", _("You have claimed to be from me, but you are not"));
2182
-			broadcast(_("Forged local address detected"));
2183
-			clamfi_free(privdata);
2184
-			return SMFIS_REJECT;
2185
-		}
2186
-	}
2187 2168
 	if(smfi_setpriv(ctx, privdata) == MI_SUCCESS)
2188 2169
 		return SMFIS_CONTINUE;
2189 2170
 
... ...
@@ -2192,6 +2203,16 @@ clamfi_envfrom(SMFICTX *ctx, char **argv)
2192 2192
 	return cl_error;
2193 2193
 }
2194 2194
 
2195
+#ifdef	CL_DEBUG
2196
+static sfsistat
2197
+clamfi_helo(SMFICTX *ctx, char *helostring)
2198
+{
2199
+	cli_dbgmsg("HELO '%s'\n", helostring);
2200
+
2201
+	return SMFIS_CONTINUE;
2202
+}
2203
+#endif
2204
+
2195 2205
 static sfsistat
2196 2206
 clamfi_envrcpt(SMFICTX *ctx, char **argv)
2197 2207
 {
... ...
@@ -2271,6 +2292,13 @@ clamfi_header(SMFICTX *ctx, char *headerf, char *headerv)
2271 2271
 			privdata->subject = strdup(headerv);
2272 2272
 	} else if(strcasecmp(headerf, "X-Virus-Status") == 0)
2273 2273
 		privdata->statusCount++;
2274
+	else if(strcasecmp(headerf, "Sender") == 0) {
2275
+		if(privdata->sender)
2276
+			free(privdata->sender);
2277
+		if(headerv)
2278
+			privdata->sender = strdup(headerv);
2279
+	}
2280
+		
2274 2281
 	return SMFIS_CONTINUE;
2275 2282
 }
2276 2283
 
... ...
@@ -2305,6 +2333,27 @@ clamfi_eoh(SMFICTX *ctx)
2305 2305
 			return cl_error;
2306 2306
 		}
2307 2307
 
2308
+	if(detect_forged_local_address && privdata->from &&
2309
+	   (!privdata->sender) && !isWhitelisted(privdata->from)) {
2310
+		char me[MAXHOSTNAMELEN + 1];
2311
+		const char *ptr;
2312
+
2313
+		if(gethostname(me, sizeof(me) - 1) < 0) {
2314
+			if(use_syslog)
2315
+				syslog(LOG_WARNING, _("clamfi_eoh: gethostname failed"));
2316
+			return SMFIS_CONTINUE;
2317
+		}
2318
+		ptr = strstr(privdata->from, me);
2319
+		if(ptr && (ptr != privdata->from) && (*--ptr == '@')) {
2320
+			if(use_syslog)
2321
+				syslog(LOG_NOTICE, _("Rejected email falsely claiming to be from %s"), privdata->from);
2322
+			smfi_setreply(ctx, "554", "5.7.1", _("You have claimed to be from me, but you are not"));
2323
+			broadcast(_("Forged local address detected"));
2324
+			clamfi_cleanup(ctx);
2325
+			return SMFIS_REJECT;
2326
+		}
2327
+	}
2328
+
2308 2329
 	if(clamfi_send(privdata, 1, "\n") != 1) {
2309 2330
 		clamfi_cleanup(ctx);
2310 2331
 		return cl_error;
... ...
@@ -3081,6 +3130,10 @@ clamfi_free(struct privdata *privdata)
3081 3081
 			free(privdata->subject);
3082 3082
 			privdata->subject = NULL;
3083 3083
 		}
3084
+		if(privdata->sender) {
3085
+			free(privdata->sender);
3086
+			privdata->sender = NULL;
3087
+		}
3084 3088
 
3085 3089
 		if(privdata->to) {
3086 3090
 			char **to;
... ...
@@ -3452,10 +3505,6 @@ header_list_print(const header_list_t list, FILE *fp)
3452 3452
 static int
3453 3453
 connect2clamd(struct privdata *privdata)
3454 3454
 {
3455
-	char **to;
3456
-	char *msg;
3457
-	int length;
3458
-
3459 3455
 	assert(privdata != NULL);
3460 3456
 	assert(privdata->dataSocket == -1);
3461 3457
 	assert(privdata->from != NULL);
... ...
@@ -3589,8 +3638,7 @@ connect2clamd(struct privdata *privdata)
3589 3589
 					free(privdata->filename);
3590 3590
 					privdata->filename = NULL;
3591 3591
 				} else
3592
-					/* FIXME:!!!!!!!!!!!!!!!!!*/
3593
-					goto end;
3592
+					return sendToFrom(privdata);
3594 3593
 			}
3595 3594
 		}
3596 3595
 		cli_dbgmsg("connect2clamd(%d): STREAM\n", freeServer);
... ...
@@ -3722,14 +3770,26 @@ connect2clamd(struct privdata *privdata)
3722 3722
 		}
3723 3723
 	}
3724 3724
 
3725
-#ifdef	SESSION
3726
-end:
3727
-#endif
3728
-	/*
3729
-	 * Combine the To and From into one clamfi_send to save bandwidth
3730
-	 * when sending using TCP/IP to connect to a remote clamd, by band
3731
-	 * width here I mean number of packets
3732
-	 */
3725
+	if(!sendToFrom(privdata))
3726
+		return 0;
3727
+
3728
+	cli_dbgmsg("connect2clamd: serverNumber = %d\n", privdata->serverNumber);
3729
+
3730
+	return 1;
3731
+}
3732
+
3733
+/*
3734
+ * Combine the To and From into one clamfi_send to save bandwidth
3735
+ * when sending using TCP/IP to connect to a remote clamd, by band
3736
+ * width here I mean number of packets
3737
+ */
3738
+static int
3739
+sendToFrom(struct privdata *privdata)
3740
+{
3741
+	char **to;
3742
+	char *msg;
3743
+	int length;
3744
+
3733 3745
 	length = strlen(privdata->from) + 34;
3734 3746
 	for(to = privdata->to; *to; to++)
3735 3747
 		length += strlen(*to) + 5;
... ...
@@ -3760,8 +3820,6 @@ end:
3760 3760
 				return 0;
3761 3761
 	}
3762 3762
 
3763
-	cli_dbgmsg("connect2clamd: serverNumber = %d\n", privdata->serverNumber);
3764
-
3765 3763
 	return 1;
3766 3764
 }
3767 3765
 
... ...
@@ -4656,11 +4714,14 @@ quit(void)
4656 4656
 		if(rmdir(tmpdir) < 0)
4657 4657
 			perror(tmpdir);
4658 4658
 
4659
+	broadcast(_("Stopping clamav-milter"));
4660
+
4659 4661
 	if(pidfile)
4660 4662
 		if(unlink(pidfile) < 0)
4661 4663
 			perror(pidfile);
4662 4664
 
4663
-	broadcast(_("Stopping clamav-milter"));
4665
+	if(use_syslog)
4666
+		closelog();
4664 4667
 }
4665 4668
 
4666 4669
 static void
... ...
@@ -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-03-05 11:04+0000\n"
11
+"POT-Creation-Date: 2005-03-10 08:45+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,696 +16,712 @@ msgstr ""
16 16
 "Content-Type: text/plain; charset=CHARSET\n"
17 17
 "Content-Transfer-Encoding: 8bit\n"
18 18
 
19
-#: clamav-milter.c:449
19
+#: clamav-milter.c:458
20 20
 msgid "\t--advisory\t\t-A\tFlag viruses rather than deleting them."
21 21
 msgstr ""
22 22
 
23
-#: clamav-milter.c:450
23
+#: clamav-milter.c:459
24 24
 msgid "\t--bounce\t\t-b\tSend a failure message to the sender."
25 25
 msgstr ""
26 26
 
27
-#: clamav-milter.c:451
27
+#: clamav-milter.c:460
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:452
33
+#: clamav-milter.c:461
34 34
 msgid "\t--config-file=FILE\t-c FILE\tRead configuration from FILE."
35 35
 msgstr ""
36 36
 
37
-#: clamav-milter.c:453
37
+#: clamav-milter.c:462
38 38
 msgid "\t--debug\t\t\t-D\tPrint debug messages."
39 39
 msgstr ""
40 40
 
41
-#: clamav-milter.c:454
41
+#: clamav-milter.c:463
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:455
46
+#: clamav-milter.c:464
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:456
51
+#: clamav-milter.c:465
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:457
57
+#: clamav-milter.c:466
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:458
61
+#: clamav-milter.c:467
62 62
 msgid "\t--external\t\t-e\tUse an external scanner (usually clamd)."
63 63
 msgstr ""
64 64
 
65
-#: clamav-milter.c:459
65
+#: clamav-milter.c:468
66 66
 msgid "\t--from=EMAIL\t\t-a EMAIL\tError messages come from here."
67 67
 msgstr ""
68 68
 
69
-#: clamav-milter.c:460
69
+#: clamav-milter.c:469
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:461
73
+#: clamav-milter.c:470
74 74
 msgid "\t--help\t\t\t-h\tThis message."
75 75
 msgstr ""
76 76
 
77
-#: clamav-milter.c:462
77
+#: clamav-milter.c:471
78 78
 msgid "\t--headers\t\t-H\tInclude original message headers in the report."
79 79
 msgstr ""
80 80
 
81
-#: clamav-milter.c:463
81
+#: clamav-milter.c:472
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:464
85
+#: clamav-milter.c:473
86 86
 msgid "\t--max-childen\t\t-m\tMaximum number of concurrent scans."
87 87
 msgstr ""
88 88
 
89
-#: clamav-milter.c:465
89
+#: clamav-milter.c:474
90 90
 msgid "\t--outgoing\t\t-o\tScan outgoing messages from this machine."
91 91
 msgstr ""
92 92
 
93
-#: clamav-milter.c:466
93
+#: clamav-milter.c:475
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:467
97
+#: clamav-milter.c:476
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:468
101
+#: clamav-milter.c:477
102 102
 msgid "\t--pidfile=FILE\t\t-i FILE\tLocation of pidfile."
103 103
 msgstr ""
104 104
 
105
-#: clamav-milter.c:469
105
+#: clamav-milter.c:478
106 106
 msgid "\t--postmaster\t\t-p EMAIL\tPostmaster address [default=postmaster]."
107 107
 msgstr ""
108 108
 
109
-#: clamav-milter.c:470
109
+#: clamav-milter.c:479
110 110
 msgid "\t--postmaster-only\t-P\tSend warnings only to the postmaster."
111 111
 msgstr ""
112 112
 
113
-#: clamav-milter.c:471
113
+#: clamav-milter.c:480
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:472
117
+#: clamav-milter.c:481
118 118
 msgid "\t--quarantine=USER\t-Q EMAIL\tQuanrantine e-mail account."
119 119
 msgstr ""
120 120
 
121
-#: clamav-milter.c:473
121
+#: clamav-milter.c:482
122 122
 msgid "\t--quarantine-dir=DIR\t-U DIR\tDirectory to store infected emails."
123 123
 msgstr ""
124 124
 
125
-#: clamav-milter.c:474
125
+#: clamav-milter.c:483
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:475
131
+#: clamav-milter.c:484
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:476
135
+#: clamav-milter.c:485
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:477
139
+#: clamav-milter.c:486
140 140
 msgid "\t--signature-file=FILE\t-F FILE\tLocation of signature file."
141 141
 msgstr ""
142 142
 
143
-#: clamav-milter.c:478
143
+#: clamav-milter.c:487
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:479
147
+#: clamav-milter.c:488
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:480
151
+#: clamav-milter.c:489
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:481
157
+#: clamav-milter.c:490
158 158
 msgid "\t--version\t\t-V\tPrint the version number of this software."
159 159
 msgstr ""
160 160
 
161
-#: clamav-milter.c:483
161
+#: clamav-milter.c:492
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:485
165
+#: clamav-milter.c:494
166 166
 msgid ""
167 167
 "\n"
168 168
 "For more information type \"man clamav-milter\"."
169 169
 msgstr ""
170 170
 
171
-#: clamav-milter.c:486
171
+#: clamav-milter.c:495
172 172
 msgid "Report bugs to bugs@clamav.net."
173 173
 msgstr ""
174 174
 
175
-#: clamav-milter.c:796
175
+#: clamav-milter.c:809
176 176
 #, c-format
177 177
 msgid "%s: No socket-addr given\n"
178 178
 msgstr ""
179 179
 
180
-#: clamav-milter.c:802
180
+#: clamav-milter.c:815
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:814
185
+#: clamav-milter.c:827
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:822
190
+#: clamav-milter.c:835
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:829
195
+#: clamav-milter.c:842
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:833
200
+#: clamav-milter.c:846
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:837
205
+#: clamav-milter.c:850
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:876
210
+#: clamav-milter.c:889
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:885
217
+#: clamav-milter.c:898
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:896
222
+#: clamav-milter.c:909
223 223
 #, c-format
224 224
 msgid "%s: AllowSupplementaryGroups: initgroups not supported.\n"
225 225
 msgstr ""
226 226
 
227
-#: clamav-milter.c:913
227
+#: clamav-milter.c:926
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:916
232
+#: clamav-milter.c:929
233 233
 #, c-format
234 234
 msgid "%s: running as root is not recommended (check \"User\" in clamd.conf)\n"
235 235
 msgstr ""
236 236
 
237
-#: clamav-milter.c:918
237
+#: clamav-milter.c:931
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:923
242
+#: clamav-milter.c:936
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:931
247
+#: clamav-milter.c:944
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:937
252
+#: clamav-milter.c:950
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:943
257
+#: clamav-milter.c:956
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:949
262
+#: clamav-milter.c:962
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:966
267
+#: clamav-milter.c:979
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:992
272
+#: clamav-milter.c:1005
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:1000
277
+#: clamav-milter.c:1013
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:1023
282
+#: clamav-milter.c:1036
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:1033
288
+#: clamav-milter.c:1046
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:1037
293
+#: clamav-milter.c:1050
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:1050
298
+#: clamav-milter.c:1063
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:1060
303
+#: clamav-milter.c:1073
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:1062
308
+#: clamav-milter.c:1075
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:1072 clamav-milter.c:1095
313
+#: clamav-milter.c:1085 clamav-milter.c:1108
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:1074 clamav-milter.c:1097
318
+#: clamav-milter.c:1087 clamav-milter.c:1110
319 319
 #, c-format
320 320
 msgid "Check your entry for LocalSocket in %s\n"
321 321
 msgstr ""
322 322
 
323
-#: clamav-milter.c:1108
323
+#: clamav-milter.c:1121
324 324
 msgid "Can't create a clamd session"
325 325
 msgstr ""
326 326
 
327
-#: clamav-milter.c:1125
327
+#: clamav-milter.c:1138
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:1140
332
+#: clamav-milter.c:1153
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:1159 clamav-milter.c:1242
337
+#: clamav-milter.c:1172 clamav-milter.c:1255
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:1182
342
+#: clamav-milter.c:1195
343 343
 #, c-format
344 344
 msgid "%s: Unknown host %s\n"
345 345
 msgstr ""
346 346
 
347
-#: clamav-milter.c:1194
347
+#: clamav-milter.c:1207
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:1211
352
+#: clamav-milter.c:1224
353 353
 msgid "Can't find any active clamd servers\n"
354 354
 msgstr ""
355 355
 
356
-#: clamav-milter.c:1212 clamav-milter.c:1218
356
+#: clamav-milter.c:1225 clamav-milter.c:1231
357 357
 #, c-format
358 358
 msgid "Check your entry for TCPSocket in %s\n"
359 359
 msgstr ""
360 360
 
361
-#: clamav-milter.c:1217
361
+#: clamav-milter.c:1230
362 362
 msgid "Can't find any clamd servers\n"
363 363
 msgstr ""
364 364
 
365
-#: clamav-milter.c:1224
365
+#: clamav-milter.c:1237
366 366
 #, c-format
367 367
 msgid "%s: You must select server type (local/TCP) in %s\n"
368 368
 msgstr ""
369 369
 
370
-#: clamav-milter.c:1290
370
+#: clamav-milter.c:1303
371 371
 #, c-format
372 372
 msgid "When debugging it is recommended that you use Foreground mode in %s\n"
373 373
 msgstr ""
374 374
 
375
-#: clamav-milter.c:1291
375
+#: clamav-milter.c:1304
376 376
 msgid "\tso that you can see all of the messages"
377 377
 msgstr ""
378 378
 
379
-#: clamav-milter.c:1352
379
+#: clamav-milter.c:1365
380 380
 #, c-format
381 381
 msgid "%s: ScanMail not defined in %s (needed without --external), enabling\n"
382 382
 msgstr ""
383 383
 
384
-#: clamav-milter.c:1414
384
+#: clamav-milter.c:1427
385 385
 msgid "Starting clamav-milter"
386 386
 msgstr ""
387 387
 
388
-#: clamav-milter.c:1423
388
+#: clamav-milter.c:1436
389 389
 #, c-format
390 390
 msgid "Can't save PID in file %s"
391 391
 msgstr ""
392 392
 
393
-#: clamav-milter.c:1425
393
+#: clamav-milter.c:1438
394 394
 #, c-format
395 395
 msgid "Can't save PID in file %s\n"
396 396
 msgstr ""
397 397
 
398
-#: clamav-milter.c:1459
398
+#: clamav-milter.c:1472
399 399
 #, c-format
400 400
 msgid "%s: smfi_setconn failed\n"
401 401
 msgstr ""
402 402
 
403
-#: clamav-milter.c:1475
403
+#: clamav-milter.c:1488
404 404
 #, c-format
405 405
 msgid "Starting %s"
406 406
 msgstr ""
407 407
 
408
-#: clamav-milter.c:1478
408
+#: clamav-milter.c:1491
409 409
 msgid "Debugging is on"
410 410
 msgstr ""
411 411
 
412
-#: clamav-milter.c:1545 clamav-milter.c:1804
412
+#: clamav-milter.c:1558 clamav-milter.c:1817
413 413
 #, c-format
414 414
 msgid "Check clamd server %s - it may be down\n"
415 415
 msgstr ""
416 416
 
417
-#: clamav-milter.c:1550
417
+#: clamav-milter.c:1563
418 418
 msgid "Check clamd server - it may be down"
419 419
 msgstr ""
420 420
 
421
-#: clamav-milter.c:1725
421
+#: clamav-milter.c:1738
422 422
 msgid "No free clamd sessions\n"
423 423
 msgstr ""
424 424
 
425
-#: clamav-milter.c:1807
425
+#: clamav-milter.c:1820
426 426
 #, c-format
427 427
 msgid "Check clamd server %s - it may be down"
428 428
 msgstr ""
429 429
 
430
-#: clamav-milter.c:1813
430
+#: clamav-milter.c:1826
431 431
 msgid "Check clamd server - it may be down\n"
432 432
 msgstr ""
433 433
 
434
-#: clamav-milter.c:1849
434
+#: clamav-milter.c:1862
435 435
 msgid "findServer: select failed"
436 436
 msgstr ""
437 437
 
438
-#: clamav-milter.c:1858
438
+#: clamav-milter.c:1871
439 439
 #, c-format
440 440
 msgid "findServer: using server %d\n"
441 441
 msgstr ""
442 442
 
443
-#: clamav-milter.c:1863
443
+#: clamav-milter.c:1876
444 444
 msgid "findServer: No response from any server\n"
445 445
 msgstr ""
446 446
 
447
-#: clamav-milter.c:1865
447
+#: clamav-milter.c:1878
448 448
 msgid "findServer: No response from any server"
449 449
 msgstr ""
450 450
 
451
-#: clamav-milter.c:1903
451
+#: clamav-milter.c:1916
452 452
 msgid "clamfi_connect: ctx is null"
453 453
 msgstr ""
454 454
 
455
-#: clamav-milter.c:1908
455
+#: clamav-milter.c:1921
456 456
 msgid "clamfi_connect: hostname is null"
457 457
 msgstr ""
458 458
 
459
-#: clamav-milter.c:1929
459
+#: clamav-milter.c:1942
460 460
 msgid "clamfi_connect: remoteIP is null"
461 461
 msgstr ""
462 462
 
463
-#: clamav-milter.c:1938
463
+#: clamav-milter.c:1951
464 464
 #, c-format
465 465
 msgid "clamfi_connect: connection from %s"
466 466
 msgstr ""
467 467
 
468
-#: clamav-milter.c:1939
468
+#: clamav-milter.c:1952
469 469
 #, c-format
470 470
 msgid "clamfi_connect: connection from %s\n"
471 471
 msgstr ""
472 472
 
473
-#: clamav-milter.c:1942
473
+#: clamav-milter.c:1955
474 474
 #, c-format
475 475
 msgid "clamfi_connect: connection from %s [%s]"
476 476
 msgstr ""
477 477
 
478
-#: clamav-milter.c:1943
478
+#: clamav-milter.c:1956
479 479
 #, c-format
480 480
 msgid "clamfi_connect: connection from %s [%s]\n"
481 481
 msgstr ""
482 482
 
483
-#: clamav-milter.c:1963
483
+#: clamav-milter.c:1976
484 484
 msgid "Can't get sendmail hostname"
485 485
 msgstr ""
486 486
 
487
-#: clamav-milter.c:1972
487
+#: clamav-milter.c:1985
488 488
 #, c-format
489 489
 msgid "Access Denied: Host Unknown (%s)"
490 490
 msgstr ""
491 491
 
492
-#: clamav-milter.c:1981
492
+#: clamav-milter.c:1994
493 493
 #, c-format
494 494
 msgid "Can't find entry for IP address %s in DNS - check your DNS setting\n"
495 495
 msgstr ""
496 496
 
497
-#: clamav-milter.c:1992
497
+#: clamav-milter.c:2005
498 498
 #, c-format
499 499
 msgid "Access Denied: Can't get IP address for (%s)"
500 500
 msgstr ""
501 501
 
502
-#: clamav-milter.c:2009
502
+#: clamav-milter.c:2022
503 503
 #, c-format
504 504
 msgid "Access Denied for %s[%s]"
505 505
 msgstr ""
506 506
 
507
-#: clamav-milter.c:2027
507
+#: clamav-milter.c:2040
508 508
 msgid "clamfi_connect: not scanning outgoing messages"
509 509
 msgstr ""
510 510
 
511
-#: clamav-milter.c:2028
511
+#: clamav-milter.c:2041
512 512
 msgid "clamfi_connect: not scanning outgoing messages\n"
513 513
 msgstr ""
514 514
 
515
-#: clamav-milter.c:2036
515
+#: clamav-milter.c:2049
516 516
 msgid "clamfi_connect: not scanning local messages"
517 517
 msgstr ""
518 518
 
519
-#: clamav-milter.c:2037
519
+#: clamav-milter.c:2050
520 520
 msgid "clamfi_connect: not scanning local messages\n"
521 521
 msgstr ""
522 522
 
523
-#: clamav-milter.c:2051 clamav-milter.c:2174
523
+#: clamav-milter.c:2064
524 524
 msgid "clamfi_connect: gethostname failed"
525 525
 msgstr ""
526 526
 
527
-#: clamav-milter.c:2056
527
+#: clamav-milter.c:2069
528 528
 msgid "Rejected email falsely claiming to be from here"
529 529
 msgstr ""
530 530
 
531
-#: clamav-milter.c:2057
531
+#: clamav-milter.c:2070
532 532
 msgid "You have claimed to be me, but you are not"
533 533
 msgstr ""
534 534
 
535
-#: clamav-milter.c:2058 clamav-milter.c:2182
535
+#: clamav-milter.c:2071 clamav-milter.c:2351
536 536
 msgid "Forged local address detected"
537 537
 msgstr ""
538 538
 
539
-#: clamav-milter.c:2089
539
+#: clamav-milter.c:2096
540
+msgid "Rejected email with empty from field"
541
+msgstr ""
542
+
543
+#: clamav-milter.c:2097
544
+msgid "You have not said who the email is from"
545
+msgstr ""
546
+
547
+#: clamav-milter.c:2098
548
+msgid "Reject email with empty from field"
549
+msgstr ""
550
+
551
+#: clamav-milter.c:2119
540 552
 #, c-format
541 553
 msgid "hit max-children limit (%u >= %u)\n"
542 554
 msgstr ""
543 555
 
544
-#: clamav-milter.c:2090
556
+#: clamav-milter.c:2120
545 557
 #, c-format
546 558
 msgid "hit max-children limit (%u >= %u): waiting for some to exit\n"
547 559
 msgstr ""
548 560
 
549
-#: clamav-milter.c:2096
561
+#: clamav-milter.c:2126
550 562
 #, c-format
551 563
 msgid "hit max-children limit (%u >= %u)"
552 564
 msgstr ""
553 565
 
554
-#: clamav-milter.c:2097
566
+#: clamav-milter.c:2127
555 567
 #, c-format
556 568
 msgid "hit max-children limit (%u >= %u): waiting for some to exit"
557 569
 msgstr ""
558 570
 
559
-#: clamav-milter.c:2102
571
+#: clamav-milter.c:2132
560 572
 msgid "AV system temporarily overloaded - please try later"
561 573
 msgstr ""
562 574
 
563
-#: clamav-milter.c:2135
575
+#: clamav-milter.c:2165
564 576
 #, c-format
565 577
 msgid ">n_children = %d\n"
566 578
 msgstr ""
567 579
 
568
-#: clamav-milter.c:2141
580
+#: clamav-milter.c:2171
569 581
 msgid "Timeout waiting for a child to die"
570 582
 msgstr ""
571 583
 
572
-#: clamav-milter.c:2143
584
+#: clamav-milter.c:2173
573 585
 msgid "Timeout waiting for a child to die\n"
574 586
 msgstr ""
575 587
 
576
-#: clamav-milter.c:2180
577
-#, c-format
578
-msgid "Rejected email falsely claiming to be from %s"
588
+#: clamav-milter.c:2316
589
+msgid "clamfi_eoh"
579 590
 msgstr ""
580 591
 
581
-#: clamav-milter.c:2181
582
-msgid "You have claimed to be from me, but you are not"
592
+#: clamav-milter.c:2319
593
+msgid "clamfi_eoh\n"
583 594
 msgstr ""
584 595
 
585
-#: clamav-milter.c:2288
586
-msgid "clamfi_eoh"
596
+#: clamav-milter.c:2343
597
+msgid "clamfi_eoh: gethostname failed"
587 598
 msgstr ""
588 599
 
589
-#: clamav-milter.c:2291
590
-msgid "clamfi_eoh\n"
600
+#: clamav-milter.c:2349
601
+#, c-format
602
+msgid "Rejected email falsely claiming to be from %s"
591 603
 msgstr ""
592 604
 
593
-#: clamav-milter.c:2339
605
+#: clamav-milter.c:2350
606
+msgid "You have claimed to be from me, but you are not"
607
+msgstr ""
608
+
609
+#: clamav-milter.c:2388
594 610
 msgid "clamfi_eoh: ignoring whitelisted message"
595 611
 msgstr ""
596 612
 
597
-#: clamav-milter.c:2341
613
+#: clamav-milter.c:2390
598 614
 msgid "clamfi_eoh: ignoring whitelisted message\n"
599 615
 msgstr ""
600 616
 
601
-#: clamav-milter.c:2355
617
+#: clamav-milter.c:2404
602 618
 #, c-format
603 619
 msgid "clamfi_envbody: %u bytes"
604 620
 msgstr ""
605 621
 
606
-#: clamav-milter.c:2357
622
+#: clamav-milter.c:2406
607 623
 #, c-format
608 624
 msgid "clamfi_envbody: %u bytes\n"
609 625
 msgstr ""
610 626
 
611
-#: clamav-milter.c:2367 clamav-milter.c:2659
627
+#: clamav-milter.c:2416 clamav-milter.c:2708
612 628
 #, c-format
613 629
 msgid "%s: Message more than StreamMaxLength (%ld) bytes - not scanned"
614 630
 msgstr ""
615 631
 
616
-#: clamav-milter.c:2371 clamav-milter.c:2662
632
+#: clamav-milter.c:2420 clamav-milter.c:2711
617 633
 msgid "Not Scanned - StreamMaxLength exceeded"
618 634
 msgstr ""
619 635
 
620
-#: clamav-milter.c:2424
636
+#: clamav-milter.c:2473
621 637
 #, c-format
622 638
 msgid "Failed to delete X-Virus-Status header %d"
623 639
 msgstr ""
624 640
 
625
-#: clamav-milter.c:2485
641
+#: clamav-milter.c:2534
626 642
 #, c-format
627 643
 msgid "failed to send SCAN %s command to clamd"
628 644
 msgstr ""
629 645
 
630
-#: clamav-milter.c:2507
646
+#: clamav-milter.c:2556
631 647
 msgid "failed to send SCAN command to clamd"
632 648
 msgstr ""
633 649
 
634
-#: clamav-milter.c:2524
650
+#: clamav-milter.c:2573
635 651
 #, c-format
636 652
 msgid "Wating to read status from fd %d\n"
637 653
 msgstr ""
638 654
 
639
-#: clamav-milter.c:2537
655
+#: clamav-milter.c:2586
640 656
 #, c-format
641 657
 msgid "clamfi_eom: read %s"
642 658
 msgstr ""
643 659
 
644
-#: clamav-milter.c:2538
660
+#: clamav-milter.c:2587
645 661
 #, c-format
646 662
 msgid "clamfi_eom: read %s\n"
647 663
 msgstr ""
648 664
 
649
-#: clamav-milter.c:2555
665
+#: clamav-milter.c:2604
650 666
 #, c-format
651 667
 msgid "clamfi_eom: read nothing from clamd on %s"
652 668
 msgstr ""
653 669
 
654
-#: clamav-milter.c:2557
670
+#: clamav-milter.c:2606
655 671
 #, c-format
656 672
 msgid "clamfi_eom: read nothing from clamd on %s\n"
657 673
 msgstr ""
658 674
 
659
-#: clamav-milter.c:2602 clamav-milter.c:2648
675
+#: clamav-milter.c:2651 clamav-milter.c:2697
660 676
 msgid "Error determining host"
661 677
 msgstr ""
662 678
 
663
-#: clamav-milter.c:2667
679
+#: clamav-milter.c:2716
664 680
 msgid "Not Scanned"
665 681
 msgstr ""
666 682
 
667
-#: clamav-milter.c:2696
683
+#: clamav-milter.c:2745
668 684
 msgid "Infected with"
669 685
 msgstr ""
670 686
 
671
-#: clamav-milter.c:2717
687
+#: clamav-milter.c:2766
672 688
 #, c-format
673 689
 msgid "Intercepted virus from %s to"
674 690
 msgstr ""
675 691
 
676
-#: clamav-milter.c:2818
692
+#: clamav-milter.c:2867
677 693
 msgid ""
678 694
 "Subject: Virus intercepted\n"
679 695
 "\n"
680 696
 msgstr ""
681 697
 
682
-#: clamav-milter.c:2840
698
+#: clamav-milter.c:2889
683 699
 msgid "A message you sent to\n"
684 700
 msgstr ""
685 701
 
686
-#: clamav-milter.c:2847
702
+#: clamav-milter.c:2896
687 703
 #, c-format
688 704
 msgid "The message %1$s sent from %2$s to\n"
689 705
 msgstr ""
690 706
 
691
-#: clamav-milter.c:2850
707
+#: clamav-milter.c:2899
692 708
 #, c-format
693 709
 msgid "A message sent from %s to\n"
694 710
 msgstr ""
695 711
 
696
-#: clamav-milter.c:2855
712
+#: clamav-milter.c:2904
697 713
 #, c-format
698 714
 msgid "contained %s and has not been delivered.\n"
699 715
 msgstr ""
700 716
 
701
-#: clamav-milter.c:2858
717
+#: clamav-milter.c:2907
702 718
 #, c-format
703 719
 msgid ""
704 720
 "\n"
705 721
 "The message in question has been quarantined as %s\n"
706 722
 msgstr ""
707 723
 
708
-#: clamav-milter.c:2861
724
+#: clamav-milter.c:2910
709 725
 #, c-format
710 726
 msgid ""
711 727
 "\n"
... ...
@@ -713,13 +729,13 @@ msgid ""
713 713
 "\n"
714 714
 msgstr ""
715 715
 
716
-#: clamav-milter.c:2864
716
+#: clamav-milter.c:2913
717 717
 msgid ""
718 718
 "For your information, the original message headers were:\n"
719 719
 "\n"
720 720
 msgstr ""
721 721
 
722
-#: clamav-milter.c:2877
722
+#: clamav-milter.c:2926
723 723
 #, c-format
724 724
 msgid ""
725 725
 "\n"
... ...
@@ -727,240 +743,240 @@ msgid ""
727 727
 "%s\t\n"
728 728
 msgstr ""
729 729
 
730
-#: clamav-milter.c:2885
730
+#: clamav-milter.c:2934
731 731
 #, c-format
732 732
 msgid "Can't execute '%s' to send virus notice"
733 733
 msgstr ""
734 734
 
735
-#: clamav-milter.c:2890
735
+#: clamav-milter.c:2939
736 736
 #, c-format
737 737
 msgid "Quarantined infected mail as %s"
738 738
 msgstr ""
739 739
 
740
-#: clamav-milter.c:2914
740
+#: clamav-milter.c:2963
741 741
 #, c-format
742 742
 msgid "Can't set quarantine user %s"
743 743
 msgstr ""
744 744
 
745
-#: clamav-milter.c:2916
745
+#: clamav-milter.c:2965
746 746
 #, c-format
747 747
 msgid "Can't set quarantine user %s\n"
748 748
 msgstr ""
749 749
 
750
-#: clamav-milter.c:2941
750
+#: clamav-milter.c:2990
751 751
 #, c-format
752 752
 msgid "virus %s detected by ClamAV - http://www.clamav.net"
753 753
 msgstr ""
754 754
 
755
-#: clamav-milter.c:2946
755
+#: clamav-milter.c:2995
756 756
 msgid "Unknown"
757 757
 msgstr ""
758 758
 
759
-#: clamav-milter.c:2948
759
+#: clamav-milter.c:2997
760 760
 #, c-format
761 761
 msgid "%s: incorrect message \"%s\" from clamd"
762 762
 msgstr ""
763 763
 
764
-#: clamav-milter.c:2954
764
+#: clamav-milter.c:3003
765 765
 msgid "Clean"
766 766
 msgstr ""
767 767
 
768
-#: clamav-milter.c:2958
768
+#: clamav-milter.c:3007
769 769
 #, c-format
770 770
 msgid "%s: clean message from %s"
771 771
 msgstr ""
772 772
 
773
-#: clamav-milter.c:2960
773
+#: clamav-milter.c:3009
774 774
 msgid "an unknown sender"
775 775
 msgstr ""
776 776
 
777
-#: clamav-milter.c:3064
777
+#: clamav-milter.c:3113
778 778
 #, c-format
779 779
 msgid "Can't remove clean file %s"
780 780
 msgstr ""
781 781
 
782
-#: clamav-milter.c:3243 clamav-milter.c:3246
782
+#: clamav-milter.c:3296 clamav-milter.c:3299
783 783
 #, c-format
784 784
 msgid "write failure (%u bytes) to %s: %s"
785 785
 msgstr ""
786 786
 
787
-#: clamav-milter.c:3260 clamav-milter.c:3263
787
+#: clamav-milter.c:3313 clamav-milter.c:3316
788 788
 #, c-format
789 789
 msgid "write failure (%u bytes) to clamd: %s"
790 790
 msgstr ""
791 791
 
792
-#: clamav-milter.c:3329
792
+#: clamav-milter.c:3382
793 793
 #, c-format
794 794
 msgid "No data received from clamd in %d seconds\n"
795 795
 msgstr ""
796 796
 
797
-#: clamav-milter.c:3351
797
+#: clamav-milter.c:3404
798 798
 #, c-format
799 799
 msgid "Can't stat %s"
800 800
 msgstr ""
801 801
 
802
-#: clamav-milter.c:3362 clamav-milter.c:3788
802
+#: clamav-milter.c:3415 clamav-milter.c:3846
803 803
 #, c-format
804 804
 msgid "Can't open %s"
805 805
 msgstr ""
806 806
 
807
-#: clamav-milter.c:3481 clamav-milter.c:3952
807
+#: clamav-milter.c:3530 clamav-milter.c:4010
808 808
 #, c-format
809 809
 msgid "mkdir %s failed"
810 810
 msgstr ""
811 811
 
812
-#: clamav-milter.c:3493
812
+#: clamav-milter.c:3542
813 813
 #, c-format
814 814
 msgid "mktemp %s failed"
815 815
 msgstr ""
816 816
 
817
-#: clamav-milter.c:3503
817
+#: clamav-milter.c:3552
818 818
 #, c-format
819 819
 msgid "Temporary quarantine file %s creation failed"
820 820
 msgstr ""
821 821
 
822
-#: clamav-milter.c:3607
822
+#: clamav-milter.c:3655
823 823
 #, c-format
824 824
 msgid "failed to send STREAM command clamd server %d"
825 825
 msgstr ""
826 826
 
827
-#: clamav-milter.c:3616
827
+#: clamav-milter.c:3664
828 828
 msgid "failed to send STREAM command clamd"
829 829
 msgstr ""
830 830
 
831
-#: clamav-milter.c:3628
831
+#: clamav-milter.c:3676
832 832
 msgid "failed to create TCPSocket to talk to clamd"
833 833
 msgstr ""
834 834
 
835
-#: clamav-milter.c:3640 clamav-milter.c:3656
835
+#: clamav-milter.c:3688 clamav-milter.c:3704
836 836
 msgid "recv failed from clamd getting PORT"
837 837
 msgstr ""
838 838
 
839
-#: clamav-milter.c:3644 clamav-milter.c:3658
839
+#: clamav-milter.c:3692 clamav-milter.c:3706
840 840
 msgid "EOF from clamd getting PORT"
841 841
 msgstr ""
842 842
 
843
-#: clamav-milter.c:3669
843
+#: clamav-milter.c:3717
844 844
 #, c-format
845 845
 msgid "Expected port information from clamd, got '%s'"
846 846
 msgstr ""
847 847
 
848
-#: clamav-milter.c:3672
848
+#: clamav-milter.c:3720
849 849
 #, c-format
850 850
 msgid "Expected port information from clamd, got '%s'\n"
851 851
 msgstr ""
852 852
 
853
-#: clamav-milter.c:3692 clamav-milter.c:3695
853
+#: clamav-milter.c:3740 clamav-milter.c:3743
854 854
 #, c-format
855 855
 msgid "Connecting to local port %d - data %d cmd %d\n"
856 856
 msgstr ""
857 857
 
858
-#: clamav-milter.c:3710 clamav-milter.c:3713
858
+#: clamav-milter.c:3758 clamav-milter.c:3761
859 859
 #, c-format
860 860
 msgid "Failed to connect to port %d given by clamd: %s"
861 861
 msgstr ""
862 862
 
863
-#: clamav-milter.c:3800
863
+#: clamav-milter.c:3858
864 864
 #, c-format
865 865
 msgid "Clamd (pid %d) seems to have died"
866 866
 msgstr ""
867 867
 
868
-#: clamav-milter.c:3826
868
+#: clamav-milter.c:3884
869 869
 #, c-format
870 870
 msgid "Can't open e-mail template file %s"
871 871
 msgstr ""
872 872
 
873
-#: clamav-milter.c:3835
873
+#: clamav-milter.c:3893
874 874
 #, c-format
875 875
 msgid "Can't stat e-mail template file %s"
876 876
 msgstr ""
877 877
 
878
-#: clamav-milter.c:3844
878
+#: clamav-milter.c:3902
879 879
 msgid "Out of memory"
880 880
 msgstr ""
881 881
 
882
-#: clamav-milter.c:3871
882
+#: clamav-milter.c:3929
883 883
 #, c-format
884 884
 msgid "%s: Unknown clamAV variable \"%c\"\n"
885 885
 msgstr ""
886 886
 
887
-#: clamav-milter.c:3882
887
+#: clamav-milter.c:3940
888 888
 #, c-format
889 889
 msgid "%s: Unterminated sendmail variable \"%s\"\n"
890 890
 msgstr ""
891 891
 
892
-#: clamav-milter.c:3893
892
+#: clamav-milter.c:3951
893 893
 #, c-format
894 894
 msgid "%s: Unknown sendmail variable \"%s\"\n"
895 895
 msgstr ""
896 896
 
897
-#: clamav-milter.c:3978
897
+#: clamav-milter.c:4036
898 898
 #, c-format
899 899
 msgid "Can't rename %1$s to %2$s"
900 900
 msgstr ""
901 901
 
902
-#: clamav-milter.c:3987
902
+#: clamav-milter.c:4045
903 903
 #, c-format
904 904
 msgid "File quarantined as %s"
905 905
 msgstr ""
906 906
 
907
-#: clamav-milter.c:4079
907
+#: clamav-milter.c:4137
908 908
 #, c-format
909 909
 msgid "[Virus] %s"
910 910
 msgstr ""
911 911
 
912
-#: clamav-milter.c:4173
912
+#: clamav-milter.c:4231
913 913
 msgid ""
914 914
 "No response from any clamd server - your AV system is not scanning emails\n"
915 915
 msgstr ""
916 916
 
917
-#: clamav-milter.c:4176
917
+#: clamav-milter.c:4234
918 918
 msgid ""
919 919
 "No response from any clamd server - your AV system is not scanning emails"
920 920
 msgstr ""
921 921
 
922
-#: clamav-milter.c:4194
922
+#: clamav-milter.c:4252
923 923
 msgid "Subject: ClamAV Down\n"
924 924
 msgstr ""
925 925
 
926
-#: clamav-milter.c:4197
926
+#: clamav-milter.c:4255
927 927
 msgid ""
928 928
 "This is an automatic message\n"
929 929
 "\n"
930 930
 msgstr ""
931 931
 
932
-#: clamav-milter.c:4200
932
+#: clamav-milter.c:4258
933 933
 msgid "The clamd program cannot be contacted.\n"
934 934
 msgstr ""
935 935
 
936
-#: clamav-milter.c:4202
936
+#: clamav-milter.c:4260
937 937
 msgid "No clamd server can be contacted.\n"
938 938
 msgstr ""
939 939
 
940
-#: clamav-milter.c:4204
940
+#: clamav-milter.c:4262
941 941
 msgid "Emails may not be being scanned, please check your servers.\n"
942 942
 msgstr ""
943 943
 
944
-#: clamav-milter.c:4284 clamav-milter.c:4307 clamav-milter.c:4472
945
-#: clamav-milter.c:4493
944
+#: clamav-milter.c:4342 clamav-milter.c:4365 clamav-milter.c:4530
945
+#: clamav-milter.c:4551
946 946
 msgid "Loading new database"
947 947
 msgstr ""
948 948
 
949
-#: clamav-milter.c:4613
949
+#: clamav-milter.c:4671
950 950
 #, c-format
951 951
 msgid "Stopping %s"
952 952
 msgstr ""
953 953
 
954
-#: clamav-milter.c:4663
954
+#: clamav-milter.c:4717
955 955
 msgid "Stopping clamav-milter"
956 956
 msgstr ""
957 957
 
958
-#: clamav-milter.c:4774
958
+#: clamav-milter.c:4835
959 959
 #, c-format
960 960
 msgid "ClamAV: Protecting against %u viruses"
961 961
 msgstr ""
962 962
 
963
-#: clamav-milter.c:4779
963
+#: clamav-milter.c:4840
964 964
 #, c-format
965 965
 msgid "Loaded %s"
966 966
 msgstr ""