git-svn-id: file:///var/lib/svn/clamav-devel/trunk/clamav-devel@1176 77e5149b-7576-45b1-b177-96237e5ba77b
Nigel Horne authored on 2004/12/13 20:17:17... | ... |
@@ -611,6 +611,10 @@ Changes |
611 | 611 |
Fix compilation error if is SESSION not defined. |
612 | 612 |
Quarantine files could lose the date from the path |
613 | 613 |
0.80aa 7/12/04: Daily quarantine directories were not always being created |
614 |
+0.80bb 12/12/04: On Linux store the -ve process group in the pid file to |
|
615 |
+ ensure that all threads are sent signals |
|
616 |
+ Support the temporary and quarantine directories being on |
|
617 |
+ different filesystems |
|
614 | 618 |
|
615 | 619 |
INTERNATIONALISATION |
616 | 620 |
|
... | ... |
@@ -26,6 +26,9 @@ |
26 | 26 |
* |
27 | 27 |
* Change History: |
28 | 28 |
* $Log: clamav-milter.c,v $ |
29 |
+ * Revision 1.162 2004/12/13 11:17:15 nigelhorne |
|
30 |
+ * Handle cross file system quarantine |
|
31 |
+ * |
|
29 | 32 |
* Revision 1.161 2004/12/07 19:23:48 nigelhorne |
30 | 33 |
* Ensure that the qurantine daily directory is created |
31 | 34 |
* |
... | ... |
@@ -494,9 +497,9 @@ |
494 | 494 |
* Revision 1.6 2003/09/28 16:37:23 nigelhorne |
495 | 495 |
* Added -f flag use MaxThreads if --max-children not set |
496 | 496 |
*/ |
497 |
-static char const rcsid[] = "$Id: clamav-milter.c,v 1.161 2004/12/07 19:23:48 nigelhorne Exp $"; |
|
497 |
+static char const rcsid[] = "$Id: clamav-milter.c,v 1.162 2004/12/13 11:17:15 nigelhorne Exp $"; |
|
498 | 498 |
|
499 |
-#define CM_VERSION "0.80aa" |
|
499 |
+#define CM_VERSION "0.80bb" |
|
500 | 500 |
|
501 | 501 |
/*#define CONFDIR "/usr/local/etc"*/ |
502 | 502 |
|
... | ... |
@@ -545,6 +548,7 @@ static char const rcsid[] = "$Id: clamav-milter.c,v 1.161 2004/12/07 19:23:48 ni |
545 | 545 |
#include <sys/param.h> |
546 | 546 |
|
547 | 547 |
#ifdef C_LINUX |
548 |
+#include <sys/sendfile.h> |
|
548 | 549 |
#include <libintl.h> |
549 | 550 |
#include <locale.h> |
550 | 551 |
|
... | ... |
@@ -705,6 +709,7 @@ static int connect2clamd(struct privdata *privdata); |
705 | 705 |
static void checkClamd(void); |
706 | 706 |
static int sendtemplate(SMFICTX *ctx, const char *filename, FILE *sendmail, const char *virusname); |
707 | 707 |
static int qfile(struct privdata *privdata, const char *sendmailId, const char *virusname); |
708 |
+static int move(const char *oldfile, const char *newfile); |
|
708 | 709 |
static void setsubject(SMFICTX *ctx, const char *virusname); |
709 | 710 |
static int clamfi_gethostbyname(const char *hostname, struct hostent *hp, char *buf, size_t len); |
710 | 711 |
static int isLocalAddr(in_addr_t addr); |
... | ... |
@@ -1781,7 +1786,12 @@ main(int argc, char **argv) |
1781 | 1781 |
pidfile); |
1782 | 1782 |
cli_warnmsg(_("Can't save PID in file %s\n"), pidfile); |
1783 | 1783 |
} else { |
1784 |
+#ifdef C_LINUX |
|
1785 |
+ /* Ensure that all threads are kill()ed */ |
|
1786 |
+ fprintf(fd, "-%d\n", (int)getpgrp()); |
|
1787 |
+#else |
|
1784 | 1788 |
fprintf(fd, "%d\n", (int)getpid()); |
1789 |
+#endif |
|
1785 | 1790 |
fclose(fd); |
1786 | 1791 |
} |
1787 | 1792 |
umask(old_umask); |
... | ... |
@@ -4193,12 +4203,7 @@ qfile(struct privdata *privdata, const char *sendmailId, const char *virusname) |
4193 | 4193 |
} |
4194 | 4194 |
cli_dbgmsg("qfile move '%s' to '%s'\n", privdata->filename, newname); |
4195 | 4195 |
|
4196 |
- /* |
|
4197 |
- * FIXME: handle cross file linking failure meaning that we'd have |
|
4198 |
- * to copy |
|
4199 |
- */ |
|
4200 |
-#ifdef C_LINUX |
|
4201 |
- if(rename(privdata->filename, newname) < 0) { |
|
4196 |
+ if(move(privdata->filename, newname) < 0) { |
|
4202 | 4197 |
perror(newname); |
4203 | 4198 |
if(use_syslog) |
4204 | 4199 |
syslog(LOG_WARNING, _("Can't rename %1$s to %2$s"), |
... | ... |
@@ -4206,17 +4211,6 @@ qfile(struct privdata *privdata, const char *sendmailId, const char *virusname) |
4206 | 4206 |
free(newname); |
4207 | 4207 |
return -1; |
4208 | 4208 |
} |
4209 |
-#else |
|
4210 |
- if(link(privdata->filename, newname) < 0) { |
|
4211 |
- perror(newname); |
|
4212 |
- if(use_syslog) |
|
4213 |
- syslog(LOG_WARNING, _("Can't rename %1$s to %2$s"), |
|
4214 |
- privdata->filename, newname); |
|
4215 |
- free(newname); |
|
4216 |
- return -1; |
|
4217 |
- } |
|
4218 |
- unlink(privdata->filename); |
|
4219 |
-#endif |
|
4220 | 4209 |
free(privdata->filename); |
4221 | 4210 |
privdata->filename = newname; |
4222 | 4211 |
|
... | ... |
@@ -4227,6 +4221,81 @@ qfile(struct privdata *privdata, const char *sendmailId, const char *virusname) |
4227 | 4227 |
} |
4228 | 4228 |
|
4229 | 4229 |
/* |
4230 |
+ * Move oldfile to newfile using the fastest possible method |
|
4231 |
+ */ |
|
4232 |
+static int |
|
4233 |
+move(const char *oldfile, const char *newfile) |
|
4234 |
+{ |
|
4235 |
+ int ret; |
|
4236 |
+#ifdef C_LINUX |
|
4237 |
+ struct stat statb; |
|
4238 |
+ int fin, fout; |
|
4239 |
+ off_t offset; |
|
4240 |
+ |
|
4241 |
+ ret = rename(oldfile, newfile); |
|
4242 |
+#else |
|
4243 |
+ FILE *fin, *fout; |
|
4244 |
+ int c; |
|
4245 |
+ |
|
4246 |
+ ret = link(oldfile, newfile); |
|
4247 |
+#endif |
|
4248 |
+ |
|
4249 |
+ if(ret >= 0) |
|
4250 |
+ return 0; |
|
4251 |
+ if((ret < 0) && (errno != EXDEV)) { |
|
4252 |
+ perror(newfile); |
|
4253 |
+ return -1; |
|
4254 |
+ } |
|
4255 |
+ |
|
4256 |
+#ifdef C_LINUX /* >= 2.2 */ |
|
4257 |
+ fin = open(oldfile, O_RDONLY); |
|
4258 |
+ if(fin < 0) { |
|
4259 |
+ perror(oldfile); |
|
4260 |
+ return -1; |
|
4261 |
+ } |
|
4262 |
+ |
|
4263 |
+ if(fstat(fin, &statb) < 0) { |
|
4264 |
+ perror(oldfile); |
|
4265 |
+ close(fin); |
|
4266 |
+ return -1; |
|
4267 |
+ } |
|
4268 |
+ fout = open(newfile, O_WRONLY|O_CREAT, 0600); |
|
4269 |
+ if(fout < 0) { |
|
4270 |
+ perror(newfile); |
|
4271 |
+ close(fin); |
|
4272 |
+ return -1; |
|
4273 |
+ } |
|
4274 |
+ offset = (off_t)0; |
|
4275 |
+ ret = sendfile(fout, fin, &offset, statb.st_size); |
|
4276 |
+ close(fin); |
|
4277 |
+ if(ret < 0) { |
|
4278 |
+ perror(newfile); |
|
4279 |
+ close(fout); |
|
4280 |
+ unlink(newfile); |
|
4281 |
+ return -1; |
|
4282 |
+ } |
|
4283 |
+ close(fout); |
|
4284 |
+#else |
|
4285 |
+ fin = fopen(oldfile, "r"); |
|
4286 |
+ if(fin == NULL) |
|
4287 |
+ return -1; |
|
4288 |
+ |
|
4289 |
+ fout = fopen(newfile, "w"); |
|
4290 |
+ if(fout == NULL) { |
|
4291 |
+ fclose(fin); |
|
4292 |
+ return -1; |
|
4293 |
+ } |
|
4294 |
+ while((c = getc(fin)) != EOF) |
|
4295 |
+ putc(c, fout); |
|
4296 |
+ |
|
4297 |
+ fclose(fin); |
|
4298 |
+ fclose(fout); |
|
4299 |
+#endif |
|
4300 |
+ |
|
4301 |
+ return unlink(oldfile); |
|
4302 |
+} |
|
4303 |
+ |
|
4304 |
+/* |
|
4230 | 4305 |
* Store the name of the virus in the subject of the e-mail |
4231 | 4306 |
*/ |
4232 | 4307 |
static void |
... | ... |
@@ -4248,6 +4317,7 @@ setsubject(SMFICTX *ctx, const char *virusname) |
4248 | 4248 |
/* |
4249 | 4249 |
* TODO: gethostbyname_r is non-standard so different operating |
4250 | 4250 |
* systems do it in different ways. Need more examples |
4251 |
+ * Perhaps we could use res_search()? |
|
4251 | 4252 |
* |
4252 | 4253 |
* Returns 0 for success |
4253 | 4254 |
*/ |
... | ... |
@@ -4683,7 +4753,8 @@ static int |
4683 | 4683 |
loadDatabase(void) |
4684 | 4684 |
{ |
4685 | 4685 |
extern const char *cl_retdbdir(void); /* FIXME: should be included */ |
4686 |
- int ret, signatures, v; |
|
4686 |
+ int ret, v; |
|
4687 |
+ unsigned int signatures; |
|
4687 | 4688 |
time_t t; |
4688 | 4689 |
char *daily, *ptr; |
4689 | 4690 |
struct cl_cvd *d; |
... | ... |
@@ -4756,7 +4827,7 @@ loadDatabase(void) |
4756 | 4756 |
return -1; |
4757 | 4757 |
} |
4758 | 4758 |
if(use_syslog) |
4759 |
- syslog(LOG_INFO, _("ClamAV: Protecting against %d viruses"), signatures); |
|
4759 |
+ syslog(LOG_INFO, _("ClamAV: Protecting against %u viruses"), signatures); |
|
4760 | 4760 |
|
4761 | 4761 |
if(use_syslog) |
4762 | 4762 |
syslog(LOG_INFO, _("Loaded %s\n"), clamav_version); |
... | ... |
@@ -8,7 +8,7 @@ msgid "" |
8 | 8 |
msgstr "" |
9 | 9 |
"Project-Id-Version: PACKAGE VERSION\n" |
10 | 10 |
"Report-Msgid-Bugs-To: bugs@clamav.net\n" |
11 |
-"POT-Creation-Date: 2004-12-06 22:31+0000\n" |
|
11 |
+"POT-Creation-Date: 2004-12-13 11:16+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,621 +16,621 @@ msgstr "" |
16 | 16 |
"Content-Type: text/plain; charset=CHARSET\n" |
17 | 17 |
"Content-Transfer-Encoding: 8bit\n" |
18 | 18 |
|
19 |
-#: clamav-milter.c:883 |
|
19 |
+#: clamav-milter.c:888 |
|
20 | 20 |
msgid "\t--advisory\t\t-A\tFlag viruses rather than deleting them." |
21 | 21 |
msgstr "" |
22 | 22 |
|
23 |
-#: clamav-milter.c:884 |
|
23 |
+#: clamav-milter.c:889 |
|
24 | 24 |
msgid "\t--bounce\t\t-b\tSend a failure message to the sender." |
25 | 25 |
msgstr "" |
26 | 26 |
|
27 |
-#: clamav-milter.c:885 |
|
27 |
+#: clamav-milter.c:890 |
|
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:886 |
|
33 |
+#: clamav-milter.c:891 |
|
34 | 34 |
msgid "\t--config-file=FILE\t-c FILE\tRead configuration from FILE." |
35 | 35 |
msgstr "" |
36 | 36 |
|
37 |
-#: clamav-milter.c:887 |
|
37 |
+#: clamav-milter.c:892 |
|
38 | 38 |
msgid "\t--debug\t\t\t-D\tPrint debug messages." |
39 | 39 |
msgstr "" |
40 | 40 |
|
41 |
-#: clamav-milter.c:888 |
|
41 |
+#: clamav-milter.c:893 |
|
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:889 |
|
46 |
+#: clamav-milter.c:894 |
|
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:890 |
|
52 |
+#: clamav-milter.c:895 |
|
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:891 |
|
56 |
+#: clamav-milter.c:896 |
|
57 | 57 |
msgid "\t--from=EMAIL\t\t-a EMAIL\tError messages come from here." |
58 | 58 |
msgstr "" |
59 | 59 |
|
60 |
-#: clamav-milter.c:892 |
|
60 |
+#: clamav-milter.c:897 |
|
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:893 |
|
64 |
+#: clamav-milter.c:898 |
|
65 | 65 |
msgid "\t--help\t\t\t-h\tThis message." |
66 | 66 |
msgstr "" |
67 | 67 |
|
68 |
-#: clamav-milter.c:894 |
|
68 |
+#: clamav-milter.c:899 |
|
69 | 69 |
msgid "\t--headers\t\t-H\tInclude original message headers in the report." |
70 | 70 |
msgstr "" |
71 | 71 |
|
72 |
-#: clamav-milter.c:895 |
|
72 |
+#: clamav-milter.c:900 |
|
73 | 73 |
msgid "\t--internal\t\t-I\tUse the internal scanner." |
74 | 74 |
msgstr "" |
75 | 75 |
|
76 |
-#: clamav-milter.c:896 |
|
76 |
+#: clamav-milter.c:901 |
|
77 | 77 |
msgid "\t--local\t\t\t-l\tScan messages sent from machines on our LAN." |
78 | 78 |
msgstr "" |
79 | 79 |
|
80 |
-#: clamav-milter.c:897 |
|
80 |
+#: clamav-milter.c:902 |
|
81 | 81 |
msgid "\t--max-childen\t\t-m\tMaximum number of concurrent scans." |
82 | 82 |
msgstr "" |
83 | 83 |
|
84 |
-#: clamav-milter.c:898 |
|
84 |
+#: clamav-milter.c:903 |
|
85 | 85 |
msgid "\t--outgoing\t\t-o\tScan outgoing messages from this machine." |
86 | 86 |
msgstr "" |
87 | 87 |
|
88 |
-#: clamav-milter.c:899 |
|
88 |
+#: clamav-milter.c:904 |
|
89 | 89 |
msgid "\t--noreject\t\t-N\tDon't reject viruses, silently throw them away." |
90 | 90 |
msgstr "" |
91 | 91 |
|
92 |
-#: clamav-milter.c:900 |
|
92 |
+#: clamav-milter.c:905 |
|
93 | 93 |
msgid "\t--noxheader\t\t-n\tSuppress X-Virus-Scanned/X-Virus-Status headers." |
94 | 94 |
msgstr "" |
95 | 95 |
|
96 |
-#: clamav-milter.c:901 |
|
96 |
+#: clamav-milter.c:906 |
|
97 | 97 |
msgid "\t--pidfile=FILE\t\t-i FILE\tLocation of pidfile." |
98 | 98 |
msgstr "" |
99 | 99 |
|
100 |
-#: clamav-milter.c:902 |
|
100 |
+#: clamav-milter.c:907 |
|
101 | 101 |
msgid "\t--postmaster\t\t-p EMAIL\tPostmaster address [default=postmaster]." |
102 | 102 |
msgstr "" |
103 | 103 |
|
104 |
-#: clamav-milter.c:903 |
|
104 |
+#: clamav-milter.c:908 |
|
105 | 105 |
msgid "\t--postmaster-only\t-P\tSend warnings only to the postmaster." |
106 | 106 |
msgstr "" |
107 | 107 |
|
108 |
-#: clamav-milter.c:904 |
|
108 |
+#: clamav-milter.c:909 |
|
109 | 109 |
msgid "\t--quiet\t\t\t-q\tDon't send e-mail notifications of interceptions." |
110 | 110 |
msgstr "" |
111 | 111 |
|
112 |
-#: clamav-milter.c:905 |
|
112 |
+#: clamav-milter.c:910 |
|
113 | 113 |
msgid "\t--quarantine=USER\t-Q EMAIL\tQuanrantine e-mail account." |
114 | 114 |
msgstr "" |
115 | 115 |
|
116 |
-#: clamav-milter.c:906 |
|
116 |
+#: clamav-milter.c:911 |
|
117 | 117 |
msgid "\t--quarantine-dir=DIR\t-U DIR\tDirectory to store infected emails." |
118 | 118 |
msgstr "" |
119 | 119 |
|
120 |
-#: clamav-milter.c:907 |
|
120 |
+#: clamav-milter.c:912 |
|
121 | 121 |
msgid "" |
122 | 122 |
"\t--server=SERVER\t\t-s SERVER\tHostname/IP address of server(s) running " |
123 | 123 |
"clamd (when using TCPsocket)." |
124 | 124 |
msgstr "" |
125 | 125 |
|
126 |
-#: clamav-milter.c:908 |
|
126 |
+#: clamav-milter.c:913 |
|
127 | 127 |
msgid "\t--sign\t\t\t-S\tAdd a hard-coded signature to each scanned message." |
128 | 128 |
msgstr "" |
129 | 129 |
|
130 |
-#: clamav-milter.c:909 |
|
130 |
+#: clamav-milter.c:914 |
|
131 | 131 |
msgid "\t--signature-file=FILE\t-F FILE\tLocation of signature file." |
132 | 132 |
msgstr "" |
133 | 133 |
|
134 |
-#: clamav-milter.c:910 |
|
134 |
+#: clamav-milter.c:915 |
|
135 | 135 |
msgid "\t--template-file=FILE\t-t FILE\tLocation of e-mail template file." |
136 | 136 |
msgstr "" |
137 | 137 |
|
138 |
-#: clamav-milter.c:911 |
|
138 |
+#: clamav-milter.c:916 |
|
139 | 139 |
msgid "\t--timeout=SECS\t\t-T SECS\tTimeout waiting to childen to die." |
140 | 140 |
msgstr "" |
141 | 141 |
|
142 |
-#: clamav-milter.c:912 |
|
142 |
+#: clamav-milter.c:917 |
|
143 | 143 |
msgid "\t--version\t\t-V\tPrint the version number of this software." |
144 | 144 |
msgstr "" |
145 | 145 |
|
146 |
-#: clamav-milter.c:914 |
|
146 |
+#: clamav-milter.c:919 |
|
147 | 147 |
msgid "\t--debug-level=n\t\t-x n\tSets the debug level to 'n'." |
148 | 148 |
msgstr "" |
149 | 149 |
|
150 |
-#: clamav-milter.c:916 |
|
150 |
+#: clamav-milter.c:921 |
|
151 | 151 |
msgid "" |
152 | 152 |
"\n" |
153 | 153 |
"For more information type \"man clamav-milter\"." |
154 | 154 |
msgstr "" |
155 | 155 |
|
156 |
-#: clamav-milter.c:917 |
|
156 |
+#: clamav-milter.c:922 |
|
157 | 157 |
msgid "Report bugs to bugs@clamav.net." |
158 | 158 |
msgstr "" |
159 | 159 |
|
160 |
-#: clamav-milter.c:1209 |
|
160 |
+#: clamav-milter.c:1214 |
|
161 | 161 |
#, c-format |
162 | 162 |
msgid "%s: No socket-addr given\n" |
163 | 163 |
msgstr "" |
164 | 164 |
|
165 |
-#: clamav-milter.c:1218 |
|
165 |
+#: clamav-milter.c:1223 |
|
166 | 166 |
#, c-format |
167 | 167 |
msgid "%s: Can't parse the config file %s\n" |
168 | 168 |
msgstr "" |
169 | 169 |
|
170 |
-#: clamav-milter.c:1257 |
|
170 |
+#: clamav-milter.c:1262 |
|
171 | 171 |
#, c-format |
172 | 172 |
msgid "" |
173 | 173 |
"%s: The iface option to --broadcast is not supported on your operating " |
174 | 174 |
"system\n" |
175 | 175 |
msgstr "" |
176 | 176 |
|
177 |
-#: clamav-milter.c:1266 |
|
177 |
+#: clamav-milter.c:1271 |
|
178 | 178 |
#, c-format |
179 | 179 |
msgid "%s: Can't get information about user %s\n" |
180 | 180 |
msgstr "" |
181 | 181 |
|
182 |
-#: clamav-milter.c:1277 |
|
182 |
+#: clamav-milter.c:1282 |
|
183 | 183 |
#, c-format |
184 | 184 |
msgid "%s: AllowSupplementaryGroups: initgroups not supported.\n" |
185 | 185 |
msgstr "" |
186 | 186 |
|
187 |
-#: clamav-milter.c:1294 |
|
187 |
+#: clamav-milter.c:1299 |
|
188 | 188 |
#, c-format |
189 | 189 |
msgid "Running as user %s (UID %d, GID %d)\n" |
190 | 190 |
msgstr "" |
191 | 191 |
|
192 |
-#: clamav-milter.c:1297 |
|
192 |
+#: clamav-milter.c:1302 |
|
193 | 193 |
#, c-format |
194 | 194 |
msgid "%s: running as root is not recommended (check \"User\" in clamd.conf)\n" |
195 | 195 |
msgstr "" |
196 | 196 |
|
197 |
-#: clamav-milter.c:1299 |
|
197 |
+#: clamav-milter.c:1304 |
|
198 | 198 |
#, c-format |
199 | 199 |
msgid "%s: Only root can set an interface for --broadcast\n" |
200 | 200 |
msgstr "" |
201 | 201 |
|
202 |
-#: clamav-milter.c:1304 |
|
202 |
+#: clamav-milter.c:1309 |
|
203 | 203 |
#, c-format |
204 | 204 |
msgid "%s: Advisory mode doesn't work with quarantine mode\n" |
205 | 205 |
msgstr "" |
206 | 206 |
|
207 |
-#: clamav-milter.c:1312 |
|
207 |
+#: clamav-milter.c:1317 |
|
208 | 208 |
#, c-format |
209 | 209 |
msgid "%s: Advisory mode doesn't work with quarantine directories\n" |
210 | 210 |
msgstr "" |
211 | 211 |
|
212 |
-#: clamav-milter.c:1318 |
|
212 |
+#: clamav-milter.c:1323 |
|
213 | 213 |
#, c-format |
214 | 214 |
msgid "%s: the quarantine directory must not contain the string 'ERROR'\n" |
215 | 215 |
msgstr "" |
216 | 216 |
|
217 |
-#: clamav-milter.c:1324 |
|
217 |
+#: clamav-milter.c:1329 |
|
218 | 218 |
#, c-format |
219 | 219 |
msgid "%s: the quarantine directory must not contain the string 'FOUND'\n" |
220 | 220 |
msgstr "" |
221 | 221 |
|
222 |
-#: clamav-milter.c:1330 |
|
222 |
+#: clamav-milter.c:1335 |
|
223 | 223 |
#, c-format |
224 | 224 |
msgid "%s: the quarantine directory must not contain the string 'OK'\n" |
225 | 225 |
msgstr "" |
226 | 226 |
|
227 |
-#: clamav-milter.c:1347 |
|
227 |
+#: clamav-milter.c:1352 |
|
228 | 228 |
#, c-format |
229 | 229 |
msgid "%s: insecure quarantine directory %s (mode 0%o)\n" |
230 | 230 |
msgstr "" |
231 | 231 |
|
232 |
-#: clamav-milter.c:1373 |
|
232 |
+#: clamav-milter.c:1378 |
|
233 | 233 |
#, c-format |
234 | 234 |
msgid "%s: ReadTimeout must not be negative in %s\n" |
235 | 235 |
msgstr "" |
236 | 236 |
|
237 |
-#: clamav-milter.c:1381 |
|
237 |
+#: clamav-milter.c:1386 |
|
238 | 238 |
#, c-format |
239 | 239 |
msgid "%s: StreamMaxLength must not be negative in %s\n" |
240 | 240 |
msgstr "" |
241 | 241 |
|
242 |
-#: clamav-milter.c:1404 |
|
242 |
+#: clamav-milter.c:1409 |
|
243 | 243 |
#, c-format |
244 | 244 |
msgid "" |
245 | 245 |
"%s: (-q && !LogSyslog): warning - all interception message methods are off\n" |
246 | 246 |
msgstr "" |
247 | 247 |
|
248 |
-#: clamav-milter.c:1414 |
|
248 |
+#: clamav-milter.c:1419 |
|
249 | 249 |
#, c-format |
250 | 250 |
msgid "%s: ScanMail not defined in %s (needed with --internal)\n" |
251 | 251 |
msgstr "" |
252 | 252 |
|
253 |
-#: clamav-milter.c:1419 |
|
253 |
+#: clamav-milter.c:1424 |
|
254 | 254 |
#, c-format |
255 | 255 |
msgid "%s: --max-children must be given in internal mode\n" |
256 | 256 |
msgstr "" |
257 | 257 |
|
258 |
-#: clamav-milter.c:1423 |
|
258 |
+#: clamav-milter.c:1428 |
|
259 | 259 |
#, c-format |
260 | 260 |
msgid "%s: --timeout must not be given in internal mode\n" |
261 | 261 |
msgstr "" |
262 | 262 |
|
263 |
-#: clamav-milter.c:1436 |
|
263 |
+#: clamav-milter.c:1441 |
|
264 | 264 |
#, c-format |
265 | 265 |
msgid "%s: You can select one server type only (local/TCP) in %s\n" |
266 | 266 |
msgstr "" |
267 | 267 |
|
268 |
-#: clamav-milter.c:1446 |
|
268 |
+#: clamav-milter.c:1451 |
|
269 | 269 |
#, c-format |
270 | 270 |
msgid "The connection from sendmail to %s (%s) must not\n" |
271 | 271 |
msgstr "" |
272 | 272 |
|
273 |
-#: clamav-milter.c:1448 |
|
273 |
+#: clamav-milter.c:1453 |
|
274 | 274 |
#, c-format |
275 | 275 |
msgid "be the same as the connection to clamd (%s) in %s\n" |
276 | 276 |
msgstr "" |
277 | 277 |
|
278 |
-#: clamav-milter.c:1458 clamav-milter.c:1481 |
|
278 |
+#: clamav-milter.c:1463 clamav-milter.c:1486 |
|
279 | 279 |
#, c-format |
280 | 280 |
msgid "Can't talk to clamd server via %s\n" |
281 | 281 |
msgstr "" |
282 | 282 |
|
283 |
-#: clamav-milter.c:1460 clamav-milter.c:1483 |
|
283 |
+#: clamav-milter.c:1465 clamav-milter.c:1488 |
|
284 | 284 |
#, c-format |
285 | 285 |
msgid "Check your entry for LocalSocket in %s\n" |
286 | 286 |
msgstr "" |
287 | 287 |
|
288 |
-#: clamav-milter.c:1494 |
|
288 |
+#: clamav-milter.c:1499 |
|
289 | 289 |
msgid "Can't create a clamd session" |
290 | 290 |
msgstr "" |
291 | 291 |
|
292 |
-#: clamav-milter.c:1511 |
|
292 |
+#: clamav-milter.c:1516 |
|
293 | 293 |
#, c-format |
294 | 294 |
msgid "" |
295 | 295 |
"%s: --quarantine-dir not supported for remote scanning - use --quarantine\n" |
296 | 296 |
msgstr "" |
297 | 297 |
|
298 |
-#: clamav-milter.c:1526 |
|
298 |
+#: clamav-milter.c:1531 |
|
299 | 299 |
#, c-format |
300 | 300 |
msgid "%s: hostname %s is longer than %d characters\n" |
301 | 301 |
msgstr "" |
302 | 302 |
|
303 |
-#: clamav-milter.c:1545 |
|
303 |
+#: clamav-milter.c:1550 |
|
304 | 304 |
#, c-format |
305 | 305 |
msgid "%s: --max-children must be given in sessions mode\n" |
306 | 306 |
msgstr "" |
307 | 307 |
|
308 |
-#: clamav-milter.c:1568 |
|
308 |
+#: clamav-milter.c:1573 |
|
309 | 309 |
#, c-format |
310 | 310 |
msgid "%s: Unknown host %s\n" |
311 | 311 |
msgstr "" |
312 | 312 |
|
313 |
-#: clamav-milter.c:1580 |
|
313 |
+#: clamav-milter.c:1585 |
|
314 | 314 |
#, c-format |
315 | 315 |
msgid "Can't talk to clamd server %s on port %d\n" |
316 | 316 |
msgstr "" |
317 | 317 |
|
318 |
-#: clamav-milter.c:1597 |
|
318 |
+#: clamav-milter.c:1602 |
|
319 | 319 |
msgid "Can't find any active clamd servers\n" |
320 | 320 |
msgstr "" |
321 | 321 |
|
322 |
-#: clamav-milter.c:1598 clamav-milter.c:1604 |
|
322 |
+#: clamav-milter.c:1603 clamav-milter.c:1609 |
|
323 | 323 |
#, c-format |
324 | 324 |
msgid "Check your entry for TCPSocket in %s\n" |
325 | 325 |
msgstr "" |
326 | 326 |
|
327 |
-#: clamav-milter.c:1603 |
|
327 |
+#: clamav-milter.c:1608 |
|
328 | 328 |
msgid "Can't find any clamd servers\n" |
329 | 329 |
msgstr "" |
330 | 330 |
|
331 |
-#: clamav-milter.c:1610 |
|
331 |
+#: clamav-milter.c:1615 |
|
332 | 332 |
#, c-format |
333 | 333 |
msgid "%s: You must select server type (local/TCP) in %s\n" |
334 | 334 |
msgstr "" |
335 | 335 |
|
336 |
-#: clamav-milter.c:1666 |
|
336 |
+#: clamav-milter.c:1671 |
|
337 | 337 |
#, c-format |
338 | 338 |
msgid "When debugging it is recommended that you use Foreground mode in %s\n" |
339 | 339 |
msgstr "" |
340 | 340 |
|
341 |
-#: clamav-milter.c:1667 |
|
341 |
+#: clamav-milter.c:1672 |
|
342 | 342 |
msgid "\tso that you can see all of the messages" |
343 | 343 |
msgstr "" |
344 | 344 |
|
345 |
-#: clamav-milter.c:1768 |
|
345 |
+#: clamav-milter.c:1773 |
|
346 | 346 |
msgid "Starting clamav-milter" |
347 | 347 |
msgstr "" |
348 | 348 |
|
349 |
-#: clamav-milter.c:1777 |
|
349 |
+#: clamav-milter.c:1782 |
|
350 | 350 |
#, c-format |
351 | 351 |
msgid "Can't save PID in file %s" |
352 | 352 |
msgstr "" |
353 | 353 |
|
354 |
-#: clamav-milter.c:1779 |
|
354 |
+#: clamav-milter.c:1784 |
|
355 | 355 |
#, c-format |
356 | 356 |
msgid "Can't save PID in file %s\n" |
357 | 357 |
msgstr "" |
358 | 358 |
|
359 |
-#: clamav-milter.c:1807 |
|
359 |
+#: clamav-milter.c:1817 |
|
360 | 360 |
#, c-format |
361 | 361 |
msgid "%s: smfi_setconn failed\n" |
362 | 362 |
msgstr "" |
363 | 363 |
|
364 |
-#: clamav-milter.c:1820 |
|
364 |
+#: clamav-milter.c:1830 |
|
365 | 365 |
#, c-format |
366 | 366 |
msgid "Starting %s" |
367 | 367 |
msgstr "" |
368 | 368 |
|
369 |
-#: clamav-milter.c:1823 |
|
369 |
+#: clamav-milter.c:1833 |
|
370 | 370 |
msgid "Debugging is on" |
371 | 371 |
msgstr "" |
372 | 372 |
|
373 |
-#: clamav-milter.c:1879 clamav-milter.c:2136 |
|
373 |
+#: clamav-milter.c:1889 clamav-milter.c:2146 |
|
374 | 374 |
#, c-format |
375 | 375 |
msgid "Check clamd server %s - it may be down\n" |
376 | 376 |
msgstr "" |
377 | 377 |
|
378 |
-#: clamav-milter.c:1884 clamav-milter.c:2145 |
|
378 |
+#: clamav-milter.c:1894 clamav-milter.c:2155 |
|
379 | 379 |
msgid "Check clamd server - it may be down\n" |
380 | 380 |
msgstr "" |
381 | 381 |
|
382 |
-#: clamav-milter.c:2059 |
|
382 |
+#: clamav-milter.c:2069 |
|
383 | 383 |
msgid "No free clamd sessions\n" |
384 | 384 |
msgstr "" |
385 | 385 |
|
386 |
-#: clamav-milter.c:2139 |
|
386 |
+#: clamav-milter.c:2149 |
|
387 | 387 |
#, c-format |
388 | 388 |
msgid "Check clamd server %s - it may be down" |
389 | 389 |
msgstr "" |
390 | 390 |
|
391 |
-#: clamav-milter.c:2181 |
|
391 |
+#: clamav-milter.c:2191 |
|
392 | 392 |
msgid "findServer: select failed" |
393 | 393 |
msgstr "" |
394 | 394 |
|
395 |
-#: clamav-milter.c:2190 |
|
395 |
+#: clamav-milter.c:2200 |
|
396 | 396 |
#, c-format |
397 | 397 |
msgid "findServer: using server %d\n" |
398 | 398 |
msgstr "" |
399 | 399 |
|
400 |
-#: clamav-milter.c:2195 |
|
400 |
+#: clamav-milter.c:2205 |
|
401 | 401 |
msgid "findServer: No response from any server\n" |
402 | 402 |
msgstr "" |
403 | 403 |
|
404 |
-#: clamav-milter.c:2197 |
|
404 |
+#: clamav-milter.c:2207 |
|
405 | 405 |
msgid "findServer: No response from any server" |
406 | 406 |
msgstr "" |
407 | 407 |
|
408 |
-#: clamav-milter.c:2218 |
|
408 |
+#: clamav-milter.c:2228 |
|
409 | 409 |
msgid "clamfi_connect: ctx is null" |
410 | 410 |
msgstr "" |
411 | 411 |
|
412 |
-#: clamav-milter.c:2223 |
|
412 |
+#: clamav-milter.c:2233 |
|
413 | 413 |
msgid "clamfi_connect: hostname is null" |
414 | 414 |
msgstr "" |
415 | 415 |
|
416 |
-#: clamav-milter.c:2244 |
|
416 |
+#: clamav-milter.c:2254 |
|
417 | 417 |
msgid "clamfi_connect: remoteIP is null" |
418 | 418 |
msgstr "" |
419 | 419 |
|
420 |
-#: clamav-milter.c:2253 |
|
420 |
+#: clamav-milter.c:2263 |
|
421 | 421 |
#, c-format |
422 | 422 |
msgid "clamfi_connect: connection from %s" |
423 | 423 |
msgstr "" |
424 | 424 |
|
425 |
-#: clamav-milter.c:2254 |
|
425 |
+#: clamav-milter.c:2264 |
|
426 | 426 |
#, c-format |
427 | 427 |
msgid "clamfi_connect: connection from %s\n" |
428 | 428 |
msgstr "" |
429 | 429 |
|
430 |
-#: clamav-milter.c:2257 |
|
430 |
+#: clamav-milter.c:2267 |
|
431 | 431 |
#, c-format |
432 | 432 |
msgid "clamfi_connect: connection from %s [%s]" |
433 | 433 |
msgstr "" |
434 | 434 |
|
435 |
-#: clamav-milter.c:2258 |
|
435 |
+#: clamav-milter.c:2268 |
|
436 | 436 |
#, c-format |
437 | 437 |
msgid "clamfi_connect: connection from %s [%s]\n" |
438 | 438 |
msgstr "" |
439 | 439 |
|
440 |
-#: clamav-milter.c:2278 |
|
440 |
+#: clamav-milter.c:2288 |
|
441 | 441 |
msgid "Can't get sendmail hostname" |
442 | 442 |
msgstr "" |
443 | 443 |
|
444 |
-#: clamav-milter.c:2283 |
|
444 |
+#: clamav-milter.c:2293 |
|
445 | 445 |
#, c-format |
446 | 446 |
msgid "Access Denied: Host Unknown (%s)" |
447 | 447 |
msgstr "" |
448 | 448 |
|
449 |
-#: clamav-milter.c:2293 |
|
449 |
+#: clamav-milter.c:2303 |
|
450 | 450 |
#, c-format |
451 | 451 |
msgid "Access Denied: Can't get IP address for (%s)" |
452 | 452 |
msgstr "" |
453 | 453 |
|
454 |
-#: clamav-milter.c:2310 |
|
454 |
+#: clamav-milter.c:2320 |
|
455 | 455 |
#, c-format |
456 | 456 |
msgid "Access Denied for %s[%s]" |
457 | 457 |
msgstr "" |
458 | 458 |
|
459 |
-#: clamav-milter.c:2328 |
|
459 |
+#: clamav-milter.c:2338 |
|
460 | 460 |
msgid "clamfi_connect: not scanning outgoing messages" |
461 | 461 |
msgstr "" |
462 | 462 |
|
463 |
-#: clamav-milter.c:2329 |
|
463 |
+#: clamav-milter.c:2339 |
|
464 | 464 |
msgid "clamfi_connect: not scanning outgoing messages\n" |
465 | 465 |
msgstr "" |
466 | 466 |
|
467 |
-#: clamav-milter.c:2337 |
|
467 |
+#: clamav-milter.c:2347 |
|
468 | 468 |
msgid "clamfi_connect: not scanning local messages" |
469 | 469 |
msgstr "" |
470 | 470 |
|
471 |
-#: clamav-milter.c:2338 |
|
471 |
+#: clamav-milter.c:2348 |
|
472 | 472 |
msgid "clamfi_connect: not scanning local messages\n" |
473 | 473 |
msgstr "" |
474 | 474 |
|
475 |
-#: clamav-milter.c:2370 |
|
475 |
+#: clamav-milter.c:2380 |
|
476 | 476 |
#, c-format |
477 | 477 |
msgid "hit max-children limit (%u >= %u)\n" |
478 | 478 |
msgstr "" |
479 | 479 |
|
480 |
-#: clamav-milter.c:2371 |
|
480 |
+#: clamav-milter.c:2381 |
|
481 | 481 |
#, c-format |
482 | 482 |
msgid "hit max-children limit (%u >= %u): waiting for some to exit\n" |
483 | 483 |
msgstr "" |
484 | 484 |
|
485 |
-#: clamav-milter.c:2377 |
|
485 |
+#: clamav-milter.c:2387 |
|
486 | 486 |
#, c-format |
487 | 487 |
msgid "hit max-children limit (%u >= %u)" |
488 | 488 |
msgstr "" |
489 | 489 |
|
490 |
-#: clamav-milter.c:2378 |
|
490 |
+#: clamav-milter.c:2388 |
|
491 | 491 |
#, c-format |
492 | 492 |
msgid "hit max-children limit (%u >= %u): waiting for some to exit" |
493 | 493 |
msgstr "" |
494 | 494 |
|
495 |
-#: clamav-milter.c:2383 |
|
495 |
+#: clamav-milter.c:2393 |
|
496 | 496 |
msgid "AV system temporarily overloaded - please try later" |
497 | 497 |
msgstr "" |
498 | 498 |
|
499 |
-#: clamav-milter.c:2416 |
|
499 |
+#: clamav-milter.c:2426 |
|
500 | 500 |
#, c-format |
501 | 501 |
msgid ">n_children = %d\n" |
502 | 502 |
msgstr "" |
503 | 503 |
|
504 |
-#: clamav-milter.c:2422 |
|
504 |
+#: clamav-milter.c:2432 |
|
505 | 505 |
msgid "Timeout waiting for a child to die" |
506 | 506 |
msgstr "" |
507 | 507 |
|
508 |
-#: clamav-milter.c:2424 |
|
508 |
+#: clamav-milter.c:2434 |
|
509 | 509 |
msgid "Timeout waiting for a child to die\n" |
510 | 510 |
msgstr "" |
511 | 511 |
|
512 |
-#: clamav-milter.c:2534 |
|
512 |
+#: clamav-milter.c:2544 |
|
513 | 513 |
#, c-format |
514 | 514 |
msgid "Failed to delete X-Virus-Status header %d" |
515 | 515 |
msgstr "" |
516 | 516 |
|
517 |
-#: clamav-milter.c:2562 |
|
517 |
+#: clamav-milter.c:2572 |
|
518 | 518 |
msgid "clamfi_eoh" |
519 | 519 |
msgstr "" |
520 | 520 |
|
521 |
-#: clamav-milter.c:2565 |
|
521 |
+#: clamav-milter.c:2575 |
|
522 | 522 |
msgid "clamfi_eoh\n" |
523 | 523 |
msgstr "" |
524 | 524 |
|
525 |
-#: clamav-milter.c:2622 |
|
525 |
+#: clamav-milter.c:2632 |
|
526 | 526 |
msgid "clamfi_eoh: ignoring whitelisted message" |
527 | 527 |
msgstr "" |
528 | 528 |
|
529 |
-#: clamav-milter.c:2624 |
|
529 |
+#: clamav-milter.c:2634 |
|
530 | 530 |
msgid "clamfi_eoh: ignoring whitelisted message\n" |
531 | 531 |
msgstr "" |
532 | 532 |
|
533 |
-#: clamav-milter.c:2638 |
|
533 |
+#: clamav-milter.c:2648 |
|
534 | 534 |
#, c-format |
535 | 535 |
msgid "clamfi_envbody: %u bytes" |
536 | 536 |
msgstr "" |
537 | 537 |
|
538 |
-#: clamav-milter.c:2640 |
|
538 |
+#: clamav-milter.c:2650 |
|
539 | 539 |
#, c-format |
540 | 540 |
msgid "clamfi_envbody: %u bytes\n" |
541 | 541 |
msgstr "" |
542 | 542 |
|
543 |
-#: clamav-milter.c:2650 clamav-milter.c:2908 |
|
543 |
+#: clamav-milter.c:2660 clamav-milter.c:2918 |
|
544 | 544 |
#, c-format |
545 | 545 |
msgid "%s: Message more than StreamMaxLength (%ld) bytes - not scanned" |
546 | 546 |
msgstr "" |
547 | 547 |
|
548 |
-#: clamav-milter.c:2654 clamav-milter.c:2911 |
|
548 |
+#: clamav-milter.c:2664 clamav-milter.c:2921 |
|
549 | 549 |
msgid "Not Scanned - StreamMaxLength exceeded" |
550 | 550 |
msgstr "" |
551 | 551 |
|
552 |
-#: clamav-milter.c:2752 |
|
552 |
+#: clamav-milter.c:2762 |
|
553 | 553 |
#, c-format |
554 | 554 |
msgid "failed to send SCAN %s command to clamd" |
555 | 555 |
msgstr "" |
556 | 556 |
|
557 |
-#: clamav-milter.c:2774 |
|
557 |
+#: clamav-milter.c:2784 |
|
558 | 558 |
msgid "failed to send SCAN command to clamd" |
559 | 559 |
msgstr "" |
560 | 560 |
|
561 |
-#: clamav-milter.c:2790 |
|
561 |
+#: clamav-milter.c:2800 |
|
562 | 562 |
#, c-format |
563 | 563 |
msgid "Wating to read status from fd %d\n" |
564 | 564 |
msgstr "" |
565 | 565 |
|
566 |
-#: clamav-milter.c:2801 |
|
566 |
+#: clamav-milter.c:2811 |
|
567 | 567 |
#, c-format |
568 | 568 |
msgid "clamfi_eom: read %s" |
569 | 569 |
msgstr "" |
570 | 570 |
|
571 |
-#: clamav-milter.c:2802 |
|
571 |
+#: clamav-milter.c:2812 |
|
572 | 572 |
#, c-format |
573 | 573 |
msgid "clamfi_eom: read %s\n" |
574 | 574 |
msgstr "" |
575 | 575 |
|
576 |
-#: clamav-milter.c:2810 |
|
576 |
+#: clamav-milter.c:2820 |
|
577 | 577 |
msgid "clamfi_eom: read nothing from clamd" |
578 | 578 |
msgstr "" |
579 | 579 |
|
580 |
-#: clamav-milter.c:2812 |
|
580 |
+#: clamav-milter.c:2822 |
|
581 | 581 |
msgid "clamfi_eom: read nothing from clamd\n" |
582 | 582 |
msgstr "" |
583 | 583 |
|
584 |
-#: clamav-milter.c:2857 clamav-milter.c:2897 |
|
584 |
+#: clamav-milter.c:2867 clamav-milter.c:2907 |
|
585 | 585 |
msgid "Error determining host" |
586 | 586 |
msgstr "" |
587 | 587 |
|
588 |
-#: clamav-milter.c:2916 |
|
588 |
+#: clamav-milter.c:2926 |
|
589 | 589 |
msgid "Not Scanned" |
590 | 590 |
msgstr "" |
591 | 591 |
|
592 |
-#: clamav-milter.c:2943 |
|
592 |
+#: clamav-milter.c:2953 |
|
593 | 593 |
msgid "Infected" |
594 | 594 |
msgstr "" |
595 | 595 |
|
596 |
-#: clamav-milter.c:2961 |
|
596 |
+#: clamav-milter.c:2971 |
|
597 | 597 |
#, c-format |
598 | 598 |
msgid "Intercepted virus from %s to" |
599 | 599 |
msgstr "" |
600 | 600 |
|
601 |
-#: clamav-milter.c:3058 |
|
601 |
+#: clamav-milter.c:3068 |
|
602 | 602 |
msgid "" |
603 | 603 |
"Subject: Virus intercepted\n" |
604 | 604 |
"\n" |
605 | 605 |
msgstr "" |
606 | 606 |
|
607 |
-#: clamav-milter.c:3080 |
|
607 |
+#: clamav-milter.c:3090 |
|
608 | 608 |
msgid "A message you sent to\n" |
609 | 609 |
msgstr "" |
610 | 610 |
|
611 |
-#: clamav-milter.c:3087 |
|
611 |
+#: clamav-milter.c:3097 |
|
612 | 612 |
#, c-format |
613 | 613 |
msgid "The message %1$s sent from %2$s to\n" |
614 | 614 |
msgstr "" |
615 | 615 |
|
616 |
-#: clamav-milter.c:3090 |
|
616 |
+#: clamav-milter.c:3100 |
|
617 | 617 |
#, c-format |
618 | 618 |
msgid "A message sent from %s to\n" |
619 | 619 |
msgstr "" |
620 | 620 |
|
621 |
-#: clamav-milter.c:3095 |
|
621 |
+#: clamav-milter.c:3105 |
|
622 | 622 |
#, c-format |
623 | 623 |
msgid "contained %s and has not been delivered.\n" |
624 | 624 |
msgstr "" |
625 | 625 |
|
626 |
-#: clamav-milter.c:3098 |
|
626 |
+#: clamav-milter.c:3108 |
|
627 | 627 |
#, c-format |
628 | 628 |
msgid "" |
629 | 629 |
"\n" |
630 | 630 |
"The message in question has been quarantined as %s\n" |
631 | 631 |
msgstr "" |
632 | 632 |
|
633 |
-#: clamav-milter.c:3101 |
|
633 |
+#: clamav-milter.c:3111 |
|
634 | 634 |
#, c-format |
635 | 635 |
msgid "" |
636 | 636 |
"\n" |
... | ... |
@@ -638,13 +638,13 @@ msgid "" |
638 | 638 |
"\n" |
639 | 639 |
msgstr "" |
640 | 640 |
|
641 |
-#: clamav-milter.c:3104 |
|
641 |
+#: clamav-milter.c:3114 |
|
642 | 642 |
msgid "" |
643 | 643 |
"For your information, the original message headers were:\n" |
644 | 644 |
"\n" |
645 | 645 |
msgstr "" |
646 | 646 |
|
647 |
-#: clamav-milter.c:3117 |
|
647 |
+#: clamav-milter.c:3127 |
|
648 | 648 |
#, c-format |
649 | 649 |
msgid "" |
650 | 650 |
"\n" |
... | ... |
@@ -652,234 +652,234 @@ msgid "" |
652 | 652 |
"%s\t\n" |
653 | 653 |
msgstr "" |
654 | 654 |
|
655 |
-#: clamav-milter.c:3128 |
|
655 |
+#: clamav-milter.c:3138 |
|
656 | 656 |
#, c-format |
657 | 657 |
msgid "Quarantined infected mail as %s" |
658 | 658 |
msgstr "" |
659 | 659 |
|
660 |
-#: clamav-milter.c:3152 |
|
660 |
+#: clamav-milter.c:3162 |
|
661 | 661 |
#, c-format |
662 | 662 |
msgid "Can't set quarantine user %s" |
663 | 663 |
msgstr "" |
664 | 664 |
|
665 |
-#: clamav-milter.c:3154 |
|
665 |
+#: clamav-milter.c:3164 |
|
666 | 666 |
#, c-format |
667 | 667 |
msgid "Can't set quarantine user %s\n" |
668 | 668 |
msgstr "" |
669 | 669 |
|
670 |
-#: clamav-milter.c:3167 |
|
670 |
+#: clamav-milter.c:3177 |
|
671 | 671 |
#, c-format |
672 | 672 |
msgid "virus %s detected by ClamAV - http://www.clamav.net" |
673 | 673 |
msgstr "" |
674 | 674 |
|
675 |
-#: clamav-milter.c:3172 |
|
675 |
+#: clamav-milter.c:3182 |
|
676 | 676 |
msgid "Unknown" |
677 | 677 |
msgstr "" |
678 | 678 |
|
679 |
-#: clamav-milter.c:3174 |
|
679 |
+#: clamav-milter.c:3184 |
|
680 | 680 |
#, c-format |
681 | 681 |
msgid "%s: incorrect message \"%s\" from clamd" |
682 | 682 |
msgstr "" |
683 | 683 |
|
684 |
-#: clamav-milter.c:3180 |
|
684 |
+#: clamav-milter.c:3190 |
|
685 | 685 |
msgid "Clean" |
686 | 686 |
msgstr "" |
687 | 687 |
|
688 |
-#: clamav-milter.c:3184 |
|
688 |
+#: clamav-milter.c:3194 |
|
689 | 689 |
#, c-format |
690 | 690 |
msgid "%s: clean message from %s" |
691 | 691 |
msgstr "" |
692 | 692 |
|
693 |
-#: clamav-milter.c:3186 |
|
693 |
+#: clamav-milter.c:3196 |
|
694 | 694 |
msgid "an unknown sender" |
695 | 695 |
msgstr "" |
696 | 696 |
|
697 |
-#: clamav-milter.c:3286 |
|
697 |
+#: clamav-milter.c:3296 |
|
698 | 698 |
#, c-format |
699 | 699 |
msgid "Can't remove clean file %s" |
700 | 700 |
msgstr "" |
701 | 701 |
|
702 |
-#: clamav-milter.c:3466 clamav-milter.c:3469 |
|
702 |
+#: clamav-milter.c:3476 clamav-milter.c:3479 |
|
703 | 703 |
#, c-format |
704 | 704 |
msgid "write failure (%u bytes) to %s: %s" |
705 | 705 |
msgstr "" |
706 | 706 |
|
707 |
-#: clamav-milter.c:3483 clamav-milter.c:3486 |
|
707 |
+#: clamav-milter.c:3493 clamav-milter.c:3496 |
|
708 | 708 |
#, c-format |
709 | 709 |
msgid "write failure (%u bytes) to clamd: %s" |
710 | 710 |
msgstr "" |
711 | 711 |
|
712 |
-#: clamav-milter.c:3552 |
|
712 |
+#: clamav-milter.c:3562 |
|
713 | 713 |
#, c-format |
714 | 714 |
msgid "No data received from clamd in %d seconds\n" |
715 | 715 |
msgstr "" |
716 | 716 |
|
717 |
-#: clamav-milter.c:3574 |
|
717 |
+#: clamav-milter.c:3584 |
|
718 | 718 |
#, c-format |
719 | 719 |
msgid "Can't stat %s" |
720 | 720 |
msgstr "" |
721 | 721 |
|
722 |
-#: clamav-milter.c:3585 clamav-milter.c:4004 |
|
722 |
+#: clamav-milter.c:3595 clamav-milter.c:4014 |
|
723 | 723 |
#, c-format |
724 | 724 |
msgid "Can't open %s" |
725 | 725 |
msgstr "" |
726 | 726 |
|
727 |
-#: clamav-milter.c:3701 |
|
727 |
+#: clamav-milter.c:3711 clamav-milter.c:4179 |
|
728 | 728 |
#, c-format |
729 | 729 |
msgid "mkdir %s failed" |
730 | 730 |
msgstr "" |
731 | 731 |
|
732 |
-#: clamav-milter.c:3713 |
|
732 |
+#: clamav-milter.c:3723 |
|
733 | 733 |
#, c-format |
734 | 734 |
msgid "mktemp %s failed" |
735 | 735 |
msgstr "" |
736 | 736 |
|
737 |
-#: clamav-milter.c:3723 |
|
737 |
+#: clamav-milter.c:3733 |
|
738 | 738 |
#, c-format |
739 | 739 |
msgid "Temporary quarantine file %s creation failed" |
740 | 740 |
msgstr "" |
741 | 741 |
|
742 |
-#: clamav-milter.c:3827 |
|
742 |
+#: clamav-milter.c:3837 |
|
743 | 743 |
#, c-format |
744 | 744 |
msgid "failed to send STREAM command clamd server %d" |
745 | 745 |
msgstr "" |
746 | 746 |
|
747 |
-#: clamav-milter.c:3836 |
|
747 |
+#: clamav-milter.c:3846 |
|
748 | 748 |
msgid "failed to send STREAM command clamd" |
749 | 749 |
msgstr "" |
750 | 750 |
|
751 |
-#: clamav-milter.c:3848 |
|
751 |
+#: clamav-milter.c:3858 |
|
752 | 752 |
msgid "failed to create TCPSocket to talk to clamd" |
753 | 753 |
msgstr "" |
754 | 754 |
|
755 |
-#: clamav-milter.c:3860 clamav-milter.c:3874 |
|
755 |
+#: clamav-milter.c:3870 clamav-milter.c:3884 |
|
756 | 756 |
msgid "recv failed from clamd getting PORT" |
757 | 757 |
msgstr "" |
758 | 758 |
|
759 |
-#: clamav-milter.c:3862 clamav-milter.c:3876 |
|
759 |
+#: clamav-milter.c:3872 clamav-milter.c:3886 |
|
760 | 760 |
msgid "EOF from clamd getting PORT" |
761 | 761 |
msgstr "" |
762 | 762 |
|
763 |
-#: clamav-milter.c:3887 |
|
763 |
+#: clamav-milter.c:3897 |
|
764 | 764 |
#, c-format |
765 | 765 |
msgid "Expected port information from clamd, got '%s'" |
766 | 766 |
msgstr "" |
767 | 767 |
|
768 |
-#: clamav-milter.c:3890 |
|
768 |
+#: clamav-milter.c:3900 |
|
769 | 769 |
#, c-format |
770 | 770 |
msgid "Expected port information from clamd, got '%s'\n" |
771 | 771 |
msgstr "" |
772 | 772 |
|
773 |
-#: clamav-milter.c:3910 clamav-milter.c:3913 |
|
773 |
+#: clamav-milter.c:3920 clamav-milter.c:3923 |
|
774 | 774 |
#, c-format |
775 | 775 |
msgid "Connecting to local port %d - data %d cmd %d\n" |
776 | 776 |
msgstr "" |
777 | 777 |
|
778 |
-#: clamav-milter.c:3926 clamav-milter.c:3929 |
|
778 |
+#: clamav-milter.c:3936 clamav-milter.c:3939 |
|
779 | 779 |
#, c-format |
780 | 780 |
msgid "Failed to connect to port %d given by clamd: %s" |
781 | 781 |
msgstr "" |
782 | 782 |
|
783 |
-#: clamav-milter.c:4016 |
|
783 |
+#: clamav-milter.c:4026 |
|
784 | 784 |
#, c-format |
785 | 785 |
msgid "Clamd (pid %d) seems to have died" |
786 | 786 |
msgstr "" |
787 | 787 |
|
788 |
-#: clamav-milter.c:4042 |
|
788 |
+#: clamav-milter.c:4052 |
|
789 | 789 |
#, c-format |
790 | 790 |
msgid "Can't open e-mail template file %s" |
791 | 791 |
msgstr "" |
792 | 792 |
|
793 |
-#: clamav-milter.c:4051 |
|
793 |
+#: clamav-milter.c:4061 |
|
794 | 794 |
#, c-format |
795 | 795 |
msgid "Can't stat e-mail template file %s" |
796 | 796 |
msgstr "" |
797 | 797 |
|
798 |
-#: clamav-milter.c:4060 |
|
798 |
+#: clamav-milter.c:4070 |
|
799 | 799 |
msgid "Out of memory" |
800 | 800 |
msgstr "" |
801 | 801 |
|
802 |
-#: clamav-milter.c:4087 |
|
802 |
+#: clamav-milter.c:4097 |
|
803 | 803 |
#, c-format |
804 | 804 |
msgid "%s: Unknown clamAV variable \"%c\"\n" |
805 | 805 |
msgstr "" |
806 | 806 |
|
807 |
-#: clamav-milter.c:4098 |
|
807 |
+#: clamav-milter.c:4108 |
|
808 | 808 |
#, c-format |
809 | 809 |
msgid "%s: Unterminated sendmail variable \"%s\"\n" |
810 | 810 |
msgstr "" |
811 | 811 |
|
812 |
-#: clamav-milter.c:4109 |
|
812 |
+#: clamav-milter.c:4119 |
|
813 | 813 |
#, c-format |
814 | 814 |
msgid "%s: Unknown sendmail variable \"%s\"\n" |
815 | 815 |
msgstr "" |
816 | 816 |
|
817 |
-#: clamav-milter.c:4193 |
|
817 |
+#: clamav-milter.c:4206 |
|
818 | 818 |
#, c-format |
819 | 819 |
msgid "Can't rename %1$s to %2$s" |
820 | 820 |
msgstr "" |
821 | 821 |
|
822 |
-#: clamav-milter.c:4203 |
|
822 |
+#: clamav-milter.c:4215 |
|
823 | 823 |
#, c-format |
824 | 824 |
msgid "File quarantined as %s" |
825 | 825 |
msgstr "" |
826 | 826 |
|
827 |
-#: clamav-milter.c:4220 |
|
827 |
+#: clamav-milter.c:4307 |
|
828 | 828 |
#, c-format |
829 | 829 |
msgid "[Virus] %s" |
830 | 830 |
msgstr "" |
831 | 831 |
|
832 |
-#: clamav-milter.c:4313 |
|
832 |
+#: clamav-milter.c:4401 |
|
833 | 833 |
msgid "" |
834 | 834 |
"No response from any clamd server - your AV system is not scanning emails\n" |
835 | 835 |
msgstr "" |
836 | 836 |
|
837 |
-#: clamav-milter.c:4316 |
|
837 |
+#: clamav-milter.c:4404 |
|
838 | 838 |
msgid "" |
839 | 839 |
"No response from any clamd server - your AV system is not scanning emails" |
840 | 840 |
msgstr "" |
841 | 841 |
|
842 |
-#: clamav-milter.c:4334 |
|
842 |
+#: clamav-milter.c:4422 |
|
843 | 843 |
msgid "Subject: ClamAV Down\n" |
844 | 844 |
msgstr "" |
845 | 845 |
|
846 |
-#: clamav-milter.c:4337 |
|
846 |
+#: clamav-milter.c:4425 |
|
847 | 847 |
msgid "" |
848 | 848 |
"This is an automatic message\n" |
849 | 849 |
"\n" |
850 | 850 |
msgstr "" |
851 | 851 |
|
852 |
-#: clamav-milter.c:4340 |
|
852 |
+#: clamav-milter.c:4428 |
|
853 | 853 |
msgid "The clamd program cannot be contacted.\n" |
854 | 854 |
msgstr "" |
855 | 855 |
|
856 |
-#: clamav-milter.c:4342 |
|
856 |
+#: clamav-milter.c:4430 |
|
857 | 857 |
msgid "No clamd server can be contacted.\n" |
858 | 858 |
msgstr "" |
859 | 859 |
|
860 |
-#: clamav-milter.c:4344 |
|
860 |
+#: clamav-milter.c:4432 |
|
861 | 861 |
msgid "Emails may not be being scanned, please check your servers.\n" |
862 | 862 |
msgstr "" |
863 | 863 |
|
864 |
-#: clamav-milter.c:4413 |
|
864 |
+#: clamav-milter.c:4501 |
|
865 | 865 |
msgid "Loading new database" |
866 | 866 |
msgstr "" |
867 | 867 |
|
868 |
-#: clamav-milter.c:4596 |
|
868 |
+#: clamav-milter.c:4684 |
|
869 | 869 |
#, c-format |
870 | 870 |
msgid "Stopping %s" |
871 | 871 |
msgstr "" |
872 | 872 |
|
873 |
-#: clamav-milter.c:4637 |
|
873 |
+#: clamav-milter.c:4725 |
|
874 | 874 |
msgid "Stopping clamav-milter" |
875 | 875 |
msgstr "" |
876 | 876 |
|
877 |
-#: clamav-milter.c:4738 |
|
877 |
+#: clamav-milter.c:4827 |
|
878 | 878 |
#, c-format |
879 |
-msgid "ClamAV: Protecting against %d viruses" |
|
879 |
+msgid "ClamAV: Protecting against %u viruses" |
|
880 | 880 |
msgstr "" |
881 | 881 |
|
882 |
-#: clamav-milter.c:4741 |
|
882 |
+#: clamav-milter.c:4830 |
|
883 | 883 |
#, c-format |
884 | 884 |
msgid "Loaded %s\n" |
885 | 885 |
msgstr "" |