git-svn-id: file:///var/lib/svn/clamav-devel/trunk/clamav-devel@1154 77e5149b-7576-45b1-b177-96237e5ba77b
Nigel Horne authored on 2004/12/02 20:11:33... | ... |
@@ -1,3 +1,8 @@ |
1 |
+Thu Dec 2 11:10:31 GMT 2004 (njh) |
|
2 |
+---------------------------------- |
|
3 |
+ * clamav-milter: --internal now notices when the database has been |
|
4 |
+ updated |
|
5 |
+ |
|
1 | 6 |
Wed Dec 1 22:29:33 GMT 2004 (njh) |
2 | 7 |
---------------------------------- |
3 | 8 |
* clamav-milter: Added --internal flag (some functionality to do) |
... | ... |
@@ -571,6 +571,9 @@ Changes |
571 | 571 |
Not all previous X-Virus-Status headers were removed |
572 | 572 |
Added the --internal flag |
573 | 573 |
TODO: freshclam notification and version headers |
574 |
+0.80v 2/12/04: --internal now notices when freshclam has been run |
|
575 |
+ The default value for --timeout has been changed from 60 |
|
576 |
+ seconds to 0 (wait forever) |
|
574 | 577 |
|
575 | 578 |
INTERNATIONALISATION |
576 | 579 |
|
... | ... |
@@ -26,6 +26,9 @@ |
26 | 26 |
* |
27 | 27 |
* Change History: |
28 | 28 |
* $Log: clamav-milter.c,v $ |
29 |
+ * Revision 1.156 2004/12/02 11:09:05 nigelhorne |
|
30 |
+ * --internal now reloads the database |
|
31 |
+ * |
|
29 | 32 |
* Revision 1.155 2004/12/01 22:27:38 nigelhorne |
30 | 33 |
* Added --internal |
31 | 34 |
* |
... | ... |
@@ -476,9 +479,9 @@ |
476 | 476 |
* Revision 1.6 2003/09/28 16:37:23 nigelhorne |
477 | 477 |
* Added -f flag use MaxThreads if --max-children not set |
478 | 478 |
*/ |
479 |
-static char const rcsid[] = "$Id: clamav-milter.c,v 1.155 2004/12/01 22:27:38 nigelhorne Exp $"; |
|
479 |
+static char const rcsid[] = "$Id: clamav-milter.c,v 1.156 2004/12/02 11:09:05 nigelhorne Exp $"; |
|
480 | 480 |
|
481 |
-#define CM_VERSION "0.80u" |
|
481 |
+#define CM_VERSION "0.80v" |
|
482 | 482 |
|
483 | 483 |
/*#define CONFDIR "/usr/local/etc"*/ |
484 | 484 |
|
... | ... |
@@ -697,6 +700,7 @@ static void *watchdog(void *a); |
697 | 697 |
static int logg_facility(const char *name); |
698 | 698 |
static void quit(void); |
699 | 699 |
static void broadcast(const char *mess); |
700 |
+static int loadDatabase(void); |
|
700 | 701 |
|
701 | 702 |
#ifdef SESSION |
702 | 703 |
static char **clamav_versions; |
... | ... |
@@ -707,6 +711,8 @@ static char clamav_version[VERSION_LENGTH + 1]; |
707 | 707 |
static int fflag = 0; /* force a scan, whatever */ |
708 | 708 |
static int oflag = 0; /* scan messages from our machine? */ |
709 | 709 |
static int lflag = 0; /* scan messages from our site? */ |
710 |
+ |
|
711 |
+/* Variables for --internal */ |
|
710 | 712 |
static int internal = 0; /* scan messages ourself or use clamd? */ |
711 | 713 |
static struct cl_node *root = NULL; |
712 | 714 |
static struct cl_limits limits; |
... | ... |
@@ -790,7 +796,7 @@ static pthread_mutex_t n_children_mutex = PTHREAD_MUTEX_INITIALIZER; |
790 | 790 |
static pthread_cond_t n_children_cond = PTHREAD_COND_INITIALIZER; |
791 | 791 |
static unsigned int n_children = 0; |
792 | 792 |
static unsigned int max_children = 0; |
793 |
-static int child_timeout = 60; /* number of seconds to wait for |
|
793 |
+static int child_timeout = 0; /* number of seconds to wait for |
|
794 | 794 |
* a child to die. Set to 0 to |
795 | 795 |
* wait forever |
796 | 796 |
*/ |
... | ... |
@@ -1371,72 +1377,16 @@ main(int argc, char **argv) |
1371 | 1371 |
* we're doing the scanning internally |
1372 | 1372 |
*/ |
1373 | 1373 |
if(internal) { |
1374 |
- int signatures = 0; |
|
1375 |
- int ret; |
|
1376 |
- extern const char *cl_retdbdir(void); /* FIXME */ |
|
1377 |
- const char *dbdir = cl_retdbdir(); |
|
1378 |
- |
|
1379 |
- /* |
|
1380 |
- * TODO: Set a better version string if DataDirectory hasn't |
|
1381 |
- * been set |
|
1382 |
- * TODO: Set limits |
|
1383 |
- */ |
|
1384 |
- if((cpt = cfgopt(copt, "DatabaseDirectory")) || (cpt = cfgopt(copt, "DataDirectory"))) |
|
1385 |
- if(strcmp(dbdir, cpt->strarg) != 0) { |
|
1386 |
- char *daily = cli_malloc(strlen(cpt->strarg) + strlen(dbdir) + 15); |
|
1387 |
- struct cl_cvd *d1; |
|
1388 |
- time_t t = (time_t)0; |
|
1389 |
- int v = 0; |
|
1390 |
- |
|
1391 |
- sprintf(daily, "%s/daily.cvd", cpt->strarg); |
|
1392 |
- if((d1 = cl_cvdhead(daily))) { |
|
1393 |
- struct cl_cvd *d2; |
|
1394 |
- |
|
1395 |
- t = d1->stime; |
|
1396 |
- v = d1->version; |
|
1397 |
- |
|
1398 |
- sprintf(daily, "%s/daily.cvd", dbdir); |
|
1399 |
- if((d2 = cl_cvdhead(daily))) { |
|
1400 |
- if(d1->version > d2->version) |
|
1401 |
- dbdir = cpt->strarg; |
|
1402 |
- else |
|
1403 |
- dbdir = dbdir; |
|
1404 |
- t = d2->stime; |
|
1405 |
- v = d2->version; |
|
1406 |
- cl_cvdfree(d2); |
|
1407 |
- } else |
|
1408 |
- dbdir = cpt->strarg; |
|
1409 |
- cl_cvdfree(d1); |
|
1410 |
- } |
|
1411 |
- free(daily); |
|
1412 |
- |
|
1413 |
- if(t) |
|
1414 |
- snprintf(version, sizeof(version) - 1, |
|
1415 |
- "ClamAV %s/%d/%s", VERSION, v, |
|
1416 |
- ctime(&t)); |
|
1417 |
- |
|
1418 |
- } |
|
1419 |
- |
|
1420 |
- ret = cl_loaddbdir(dbdir, &root, &signatures); |
|
1421 |
- if(ret != 0) { |
|
1422 |
- fprintf(stderr, "%s\n", cl_strerror(ret)); |
|
1374 |
+ if(max_children == 0) { |
|
1375 |
+ fprintf(stderr, _("%s: --max-children must be given in internal mode\n"), argv[0]); |
|
1423 | 1376 |
return EX_CONFIG; |
1424 | 1377 |
} |
1425 |
- if(!root) { |
|
1426 |
- fputs("Can't initialize the virus database.\n", stderr); |
|
1378 |
+ if(child_timeout) { |
|
1379 |
+ fprintf(stderr, _("%s: --timeout must not be given in internal mode\n"), argv[0]); |
|
1427 | 1380 |
return EX_CONFIG; |
1428 | 1381 |
} |
1429 |
- |
|
1430 |
- ret = cl_build(root); |
|
1431 |
- if(ret != 0) { |
|
1432 |
- fprintf(stderr, "Database initialization error: %s\n", cl_strerror(ret)); |
|
1382 |
+ if(loadDatabase() != 0) |
|
1433 | 1383 |
return EX_CONFIG; |
1434 |
- } |
|
1435 |
- if(use_syslog) |
|
1436 |
- syslog(LOG_INFO, _("ClamAV: Protecting against %d viruses"), signatures); |
|
1437 |
- |
|
1438 |
- cl_statinidir(dbdir, &dbstat); |
|
1439 |
- |
|
1440 | 1384 |
} else if((cpt = cfgopt(copt, "LocalSocket")) != NULL) { |
1441 | 1385 |
#ifdef SESSION |
1442 | 1386 |
struct sockaddr_un server; |
... | ... |
@@ -1624,10 +1574,12 @@ main(int argc, char **argv) |
1624 | 1624 |
} |
1625 | 1625 |
|
1626 | 1626 |
if(internal) { |
1627 |
- clamav_versions = (char **)cli_malloc(sizeof(char *)); |
|
1628 |
- if(clamav_versions == NULL) |
|
1629 |
- return EX_TEMPFAIL; |
|
1630 |
- clamav_version = strdup(version); |
|
1627 |
+ if(clamav_versions == NULL) { |
|
1628 |
+ clamav_versions = (char **)cli_malloc(sizeof(char *)); |
|
1629 |
+ if(clamav_versions == NULL) |
|
1630 |
+ return EX_TEMPFAIL; |
|
1631 |
+ clamav_version = strdup(version); |
|
1632 |
+ } |
|
1631 | 1633 |
#ifdef SESSION |
1632 | 1634 |
} else { |
1633 | 1635 |
clamav_versions = (char **)cli_malloc(numServers * sizeof(char *)); |
... | ... |
@@ -1769,8 +1721,6 @@ main(int argc, char **argv) |
1769 | 1769 |
if(use_syslog) { |
1770 | 1770 |
if(logVerbose) |
1771 | 1771 |
syslog(LOG_INFO, _("Starting: %s"), clamav_version); |
1772 |
- else |
|
1773 |
- syslog(LOG_INFO, "%s", clamav_version); |
|
1774 | 1772 |
#ifdef CL_DEBUG |
1775 | 1773 |
if(debug_level > 0) |
1776 | 1774 |
syslog(LOG_DEBUG, _("Debugging is on")); |
... | ... |
@@ -2319,7 +2269,7 @@ clamfi_envfrom(SMFICTX *ctx, char **argv) |
2319 | 2319 |
} |
2320 | 2320 |
/* |
2321 | 2321 |
* Wait for an amount of time for a child to go (default |
2322 |
- * 60 seconds). |
|
2322 |
+ * wait for ever) |
|
2323 | 2323 |
* |
2324 | 2324 |
* Use pthread_cond_timedwait rather than |
2325 | 2325 |
* pthread_cond_wait since the sendmail which calls |
... | ... |
@@ -3823,7 +3773,6 @@ connect2clamd(struct privdata *privdata) |
3823 | 3823 |
cli_warnmsg(_("Expected port information from clamd, got '%s'\n"), |
3824 | 3824 |
buf); |
3825 | 3825 |
#ifdef SESSION |
3826 |
- pthread_mutex_lock(&sstatus_mutex); |
|
3827 | 3826 |
session->status = CMDSOCKET_DOWN; |
3828 | 3827 |
pthread_mutex_unlock(&sstatus_mutex); |
3829 | 3828 |
#endif |
... | ... |
@@ -4310,11 +4259,21 @@ watchdog(void *a) |
4310 | 4310 |
|
4311 | 4311 |
if(internal) { |
4312 | 4312 |
/* |
4313 |
- * TODO: reload automatically |
|
4313 |
+ * Re-load the database if the server's not busy. |
|
4314 |
+ * TODO: If a reload is needed go into a mode when |
|
4315 |
+ * new scans aren't accepted, to force the number |
|
4316 |
+ * of children to 0 so that we can reload, |
|
4317 |
+ * otherwise a reload may not occur on overloaded |
|
4318 |
+ * servers |
|
4314 | 4319 |
*/ |
4315 |
- if((n_children == 0) && (cl_statchkdir(&dbstat) == 1)) |
|
4320 |
+ pthread_mutex_lock(&n_children_mutex); |
|
4321 |
+ if((n_children == 0) && (cl_statchkdir(&dbstat) == 1)) { |
|
4316 | 4322 |
if(use_syslog) |
4317 |
- syslog(LOG_WARNING, _("Freshclam has been run - please restart clamav-milter\n")); |
|
4323 |
+ syslog(LOG_WARNING, _("Loading new database")); |
|
4324 |
+ if(loadDatabase() != 0) |
|
4325 |
+ exit(EX_CONFIG); |
|
4326 |
+ } |
|
4327 |
+ pthread_mutex_unlock(&n_children_mutex); |
|
4318 | 4328 |
continue; |
4319 | 4329 |
} |
4320 | 4330 |
i = 0; |
... | ... |
@@ -4551,3 +4510,98 @@ broadcast(const char *mess) |
4551 | 4551 |
if(sendto(broadcastSock, mess, strlen(mess), 0, (struct sockaddr *)&s, sizeof(struct sockaddr_in)) < 0) |
4552 | 4552 |
perror("sendto"); |
4553 | 4553 |
} |
4554 |
+ |
|
4555 |
+/* |
|
4556 |
+ * Load a new database into the internal scanner - it is up to the caller to |
|
4557 |
+ * ensure that no threads are currently scanning |
|
4558 |
+ */ |
|
4559 |
+static int |
|
4560 |
+loadDatabase(void) |
|
4561 |
+{ |
|
4562 |
+ extern const char *cl_retdbdir(void); /* FIXME: should be included */ |
|
4563 |
+ int ret, firsttime, signatures, v; |
|
4564 |
+ time_t t; |
|
4565 |
+ char *daily, *ptr; |
|
4566 |
+ struct cl_cvd *d; |
|
4567 |
+ const struct cfgstruct *cpt; |
|
4568 |
+ static const char *dbdir; |
|
4569 |
+ |
|
4570 |
+ assert(internal); |
|
4571 |
+ |
|
4572 |
+ firsttime = (dbdir == NULL); |
|
4573 |
+ |
|
4574 |
+ if(firsttime) { |
|
4575 |
+ /* |
|
4576 |
+ * TODO: Set limits |
|
4577 |
+ */ |
|
4578 |
+ |
|
4579 |
+ if((cpt = cfgopt(copt, "DatabaseDirectory")) || (cpt = cfgopt(copt, "DataDirectory"))) |
|
4580 |
+ dbdir = cpt->strarg; |
|
4581 |
+ else |
|
4582 |
+ dbdir = cl_retdbdir(); |
|
4583 |
+ } |
|
4584 |
+ |
|
4585 |
+ daily = cli_malloc(strlen(dbdir) + 11); |
|
4586 |
+ sprintf(daily, "%s/daily.cvd", dbdir); |
|
4587 |
+ |
|
4588 |
+ d = cl_cvdhead(daily); |
|
4589 |
+ |
|
4590 |
+ if(d == NULL) { |
|
4591 |
+ cli_errmsg("Can't find %s\n", daily); |
|
4592 |
+ free(daily); |
|
4593 |
+ return -1; |
|
4594 |
+ } |
|
4595 |
+ |
|
4596 |
+ t = d->stime; |
|
4597 |
+ v = d->version; |
|
4598 |
+ |
|
4599 |
+ cl_cvdfree(d); |
|
4600 |
+ free(daily); |
|
4601 |
+ |
|
4602 |
+#ifdef SESSION |
|
4603 |
+ if(clamav_versions == NULL) { |
|
4604 |
+ clamav_versions = (char **)cli_malloc(sizeof(char *)); |
|
4605 |
+ if(clamav_versions == NULL) |
|
4606 |
+ return -1; |
|
4607 |
+ clamav_version = cli_malloc(VERSION_LENGTH + 1); |
|
4608 |
+ if(clamav_version == NULL) { |
|
4609 |
+ free(clamav_versions); |
|
4610 |
+ clamav_versions = NULL; |
|
4611 |
+ return -1; |
|
4612 |
+ } |
|
4613 |
+ } |
|
4614 |
+#endif |
|
4615 |
+ snprintf(clamav_version, VERSION_LENGTH, |
|
4616 |
+ "ClamAV %s/%d/%s", VERSION, v, ctime(&t)); |
|
4617 |
+ /* Remove ctime's trailing \n */ |
|
4618 |
+ if((ptr = strchr(clamav_version, '\n')) != NULL) |
|
4619 |
+ *ptr = '\0'; |
|
4620 |
+ |
|
4621 |
+ if(root) { |
|
4622 |
+ cl_free(root); |
|
4623 |
+ root = NULL; |
|
4624 |
+ } |
|
4625 |
+ signatures = 0; |
|
4626 |
+ ret = cl_loaddbdir(dbdir, &root, &signatures); |
|
4627 |
+ if(ret != 0) { |
|
4628 |
+ cli_errmsg("%s\n", cl_strerror(ret)); |
|
4629 |
+ return -1; |
|
4630 |
+ } |
|
4631 |
+ if(root == NULL) { |
|
4632 |
+ cli_errmsg("Can't initialize the virus database.\n"); |
|
4633 |
+ return -1; |
|
4634 |
+ } |
|
4635 |
+ |
|
4636 |
+ ret = cl_build(root); |
|
4637 |
+ if(ret != 0) { |
|
4638 |
+ cli_errmsg("Database initialization error: %s\n", cl_strerror(ret)); |
|
4639 |
+ return -1; |
|
4640 |
+ } |
|
4641 |
+ if(use_syslog) |
|
4642 |
+ syslog(LOG_INFO, _("ClamAV: Protecting against %d viruses"), signatures); |
|
4643 |
+ |
|
4644 |
+ if(use_syslog) |
|
4645 |
+ syslog(LOG_INFO, _("Loaded %s\n"), clamav_version); |
|
4646 |
+ |
|
4647 |
+ return cl_statinidir(dbdir, &dbstat); |
|
4648 |
+} |
... | ... |
@@ -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-01 22:27+0000\n" |
|
11 |
+"POT-Creation-Date: 2004-12-02 11:07+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,582 +16,587 @@ msgstr "" |
16 | 16 |
"Content-Type: text/plain; charset=CHARSET\n" |
17 | 17 |
"Content-Transfer-Encoding: 8bit\n" |
18 | 18 |
|
19 |
-#: clamav-milter.c:861 |
|
19 |
+#: clamav-milter.c:867 |
|
20 | 20 |
msgid "\t--advisory\t\t-A\tFlag viruses rather than deleting them." |
21 | 21 |
msgstr "" |
22 | 22 |
|
23 |
-#: clamav-milter.c:862 |
|
23 |
+#: clamav-milter.c:868 |
|
24 | 24 |
msgid "\t--bounce\t\t-b\tSend a failure message to the sender." |
25 | 25 |
msgstr "" |
26 | 26 |
|
27 |
-#: clamav-milter.c:863 |
|
27 |
+#: clamav-milter.c:869 |
|
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:864 |
|
33 |
+#: clamav-milter.c:870 |
|
34 | 34 |
msgid "\t--config-file=FILE\t-c FILE\tRead configuration from FILE." |
35 | 35 |
msgstr "" |
36 | 36 |
|
37 |
-#: clamav-milter.c:865 |
|
37 |
+#: clamav-milter.c:871 |
|
38 | 38 |
msgid "\t--debug\t\t\t-D\tPrint debug messages." |
39 | 39 |
msgstr "" |
40 | 40 |
|
41 |
-#: clamav-milter.c:866 |
|
41 |
+#: clamav-milter.c:872 |
|
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:867 |
|
46 |
+#: clamav-milter.c:873 |
|
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:868 |
|
52 |
+#: clamav-milter.c:874 |
|
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:869 |
|
56 |
+#: clamav-milter.c:875 |
|
57 | 57 |
msgid "\t--from=EMAIL\t\t-a EMAIL\tError messages come from here." |
58 | 58 |
msgstr "" |
59 | 59 |
|
60 |
-#: clamav-milter.c:870 |
|
60 |
+#: clamav-milter.c:876 |
|
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:871 |
|
64 |
+#: clamav-milter.c:877 |
|
65 | 65 |
msgid "\t--help\t\t\t-h\tThis message." |
66 | 66 |
msgstr "" |
67 | 67 |
|
68 |
-#: clamav-milter.c:872 |
|
68 |
+#: clamav-milter.c:878 |
|
69 | 69 |
msgid "\t--headers\t\t-H\tInclude original message headers in the report." |
70 | 70 |
msgstr "" |
71 | 71 |
|
72 |
-#: clamav-milter.c:873 |
|
72 |
+#: clamav-milter.c:879 |
|
73 | 73 |
msgid "\t--internal\t\t-I\tUse the internal scanner." |
74 | 74 |
msgstr "" |
75 | 75 |
|
76 |
-#: clamav-milter.c:874 |
|
76 |
+#: clamav-milter.c:880 |
|
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:875 |
|
80 |
+#: clamav-milter.c:881 |
|
81 | 81 |
msgid "\t--max-childen\t\t-m\tMaximum number of concurrent scans." |
82 | 82 |
msgstr "" |
83 | 83 |
|
84 |
-#: clamav-milter.c:876 |
|
84 |
+#: clamav-milter.c:882 |
|
85 | 85 |
msgid "\t--outgoing\t\t-o\tScan outgoing messages from this machine." |
86 | 86 |
msgstr "" |
87 | 87 |
|
88 |
-#: clamav-milter.c:877 |
|
88 |
+#: clamav-milter.c:883 |
|
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:878 |
|
92 |
+#: clamav-milter.c:884 |
|
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:879 |
|
96 |
+#: clamav-milter.c:885 |
|
97 | 97 |
msgid "\t--pidfile=FILE\t\t-i FILE\tLocation of pidfile." |
98 | 98 |
msgstr "" |
99 | 99 |
|
100 |
-#: clamav-milter.c:880 |
|
100 |
+#: clamav-milter.c:886 |
|
101 | 101 |
msgid "\t--postmaster\t\t-p EMAIL\tPostmaster address [default=postmaster]." |
102 | 102 |
msgstr "" |
103 | 103 |
|
104 |
-#: clamav-milter.c:881 |
|
104 |
+#: clamav-milter.c:887 |
|
105 | 105 |
msgid "\t--postmaster-only\t-P\tSend warnings only to the postmaster." |
106 | 106 |
msgstr "" |
107 | 107 |
|
108 |
-#: clamav-milter.c:882 |
|
108 |
+#: clamav-milter.c:888 |
|
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:883 |
|
112 |
+#: clamav-milter.c:889 |
|
113 | 113 |
msgid "\t--quarantine=USER\t-Q EMAIL\tQuanrantine e-mail account." |
114 | 114 |
msgstr "" |
115 | 115 |
|
116 |
-#: clamav-milter.c:884 |
|
116 |
+#: clamav-milter.c:890 |
|
117 | 117 |
msgid "\t--quarantine-dir=DIR\t-U DIR\tDirectory to store infected emails." |
118 | 118 |
msgstr "" |
119 | 119 |
|
120 |
-#: clamav-milter.c:885 |
|
120 |
+#: clamav-milter.c:891 |
|
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:886 |
|
126 |
+#: clamav-milter.c:892 |
|
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:887 |
|
130 |
+#: clamav-milter.c:893 |
|
131 | 131 |
msgid "\t--signature-file=FILE\t-F FILE\tLocation of signature file." |
132 | 132 |
msgstr "" |
133 | 133 |
|
134 |
-#: clamav-milter.c:888 |
|
134 |
+#: clamav-milter.c:894 |
|
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:889 |
|
138 |
+#: clamav-milter.c:895 |
|
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:890 |
|
142 |
+#: clamav-milter.c:896 |
|
143 | 143 |
msgid "\t--version\t\t-V\tPrint the version number of this software." |
144 | 144 |
msgstr "" |
145 | 145 |
|
146 |
-#: clamav-milter.c:892 |
|
146 |
+#: clamav-milter.c:898 |
|
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:894 |
|
150 |
+#: clamav-milter.c:900 |
|
151 | 151 |
msgid "" |
152 | 152 |
"\n" |
153 | 153 |
"For more information type \"man clamav-milter\"." |
154 | 154 |
msgstr "" |
155 | 155 |
|
156 |
-#: clamav-milter.c:895 |
|
156 |
+#: clamav-milter.c:901 |
|
157 | 157 |
msgid "Report bugs to bugs@clamav.net." |
158 | 158 |
msgstr "" |
159 | 159 |
|
160 |
-#: clamav-milter.c:1187 |
|
160 |
+#: clamav-milter.c:1193 |
|
161 | 161 |
#, c-format |
162 | 162 |
msgid "%s: No socket-addr given\n" |
163 | 163 |
msgstr "" |
164 | 164 |
|
165 |
-#: clamav-milter.c:1196 |
|
165 |
+#: clamav-milter.c:1202 |
|
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:1235 |
|
170 |
+#: clamav-milter.c:1241 |
|
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:1244 |
|
177 |
+#: clamav-milter.c:1250 |
|
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:1255 |
|
182 |
+#: clamav-milter.c:1261 |
|
183 | 183 |
#, c-format |
184 | 184 |
msgid "%s: AllowSupplementaryGroups: initgroups not supported.\n" |
185 | 185 |
msgstr "" |
186 | 186 |
|
187 |
-#: clamav-milter.c:1272 |
|
187 |
+#: clamav-milter.c:1278 |
|
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:1275 |
|
192 |
+#: clamav-milter.c:1281 |
|
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:1277 |
|
197 |
+#: clamav-milter.c:1283 |
|
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:1282 |
|
202 |
+#: clamav-milter.c:1288 |
|
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:1289 |
|
207 |
+#: clamav-milter.c:1295 |
|
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:1305 |
|
212 |
+#: clamav-milter.c:1311 |
|
213 | 213 |
#, c-format |
214 | 214 |
msgid "%s: insecure quarantine directory %s (mode 0%o)\n" |
215 | 215 |
msgstr "" |
216 | 216 |
|
217 |
-#: clamav-milter.c:1331 |
|
217 |
+#: clamav-milter.c:1337 |
|
218 | 218 |
#, c-format |
219 | 219 |
msgid "%s: ReadTimeout must not be negative in %s\n" |
220 | 220 |
msgstr "" |
221 | 221 |
|
222 |
-#: clamav-milter.c:1339 |
|
222 |
+#: clamav-milter.c:1345 |
|
223 | 223 |
#, c-format |
224 | 224 |
msgid "%s: StreamMaxLength must not be negative in %s\n" |
225 | 225 |
msgstr "" |
226 | 226 |
|
227 |
-#: clamav-milter.c:1362 |
|
227 |
+#: clamav-milter.c:1368 |
|
228 | 228 |
#, c-format |
229 | 229 |
msgid "" |
230 | 230 |
"%s: (-q && !LogSyslog): warning - all interception message methods are off\n" |
231 | 231 |
msgstr "" |
232 | 232 |
|
233 |
-#: clamav-milter.c:1433 |
|
233 |
+#: clamav-milter.c:1378 |
|
234 | 234 |
#, c-format |
235 |
-msgid "ClamAV: Protecting against %d viruses" |
|
235 |
+msgid "%s: --max-children must be given in internal mode\n" |
|
236 | 236 |
msgstr "" |
237 | 237 |
|
238 |
-#: clamav-milter.c:1444 |
|
238 |
+#: clamav-milter.c:1382 |
|
239 |
+#, c-format |
|
240 |
+msgid "%s: --timeout must not be given in internal mode\n" |
|
241 |
+msgstr "" |
|
242 |
+ |
|
243 |
+#: clamav-milter.c:1394 |
|
239 | 244 |
#, c-format |
240 | 245 |
msgid "%s: You can select one server type only (local/TCP) in %s\n" |
241 | 246 |
msgstr "" |
242 | 247 |
|
243 |
-#: clamav-milter.c:1454 |
|
248 |
+#: clamav-milter.c:1404 |
|
244 | 249 |
#, c-format |
245 | 250 |
msgid "The connection from sendmail to %s (%s) must not\n" |
246 | 251 |
msgstr "" |
247 | 252 |
|
248 |
-#: clamav-milter.c:1456 |
|
253 |
+#: clamav-milter.c:1406 |
|
249 | 254 |
#, c-format |
250 | 255 |
msgid "be the same as the connection to clamd (%s) in %s\n" |
251 | 256 |
msgstr "" |
252 | 257 |
|
253 |
-#: clamav-milter.c:1466 clamav-milter.c:1489 |
|
258 |
+#: clamav-milter.c:1416 clamav-milter.c:1439 |
|
254 | 259 |
#, c-format |
255 | 260 |
msgid "Can't talk to clamd server via %s\n" |
256 | 261 |
msgstr "" |
257 | 262 |
|
258 |
-#: clamav-milter.c:1468 clamav-milter.c:1491 |
|
263 |
+#: clamav-milter.c:1418 clamav-milter.c:1441 |
|
259 | 264 |
#, c-format |
260 | 265 |
msgid "Check your entry for LocalSocket in %s\n" |
261 | 266 |
msgstr "" |
262 | 267 |
|
263 |
-#: clamav-milter.c:1502 |
|
268 |
+#: clamav-milter.c:1452 |
|
264 | 269 |
msgid "Can't create a clamd session" |
265 | 270 |
msgstr "" |
266 | 271 |
|
267 |
-#: clamav-milter.c:1519 |
|
272 |
+#: clamav-milter.c:1469 |
|
268 | 273 |
#, c-format |
269 | 274 |
msgid "" |
270 | 275 |
"%s: --quarantine-dir not supported for remote scanning - use --quarantine\n" |
271 | 276 |
msgstr "" |
272 | 277 |
|
273 |
-#: clamav-milter.c:1534 |
|
278 |
+#: clamav-milter.c:1484 |
|
274 | 279 |
#, c-format |
275 | 280 |
msgid "%s: hostname %s is longer than %d characters\n" |
276 | 281 |
msgstr "" |
277 | 282 |
|
278 |
-#: clamav-milter.c:1553 |
|
283 |
+#: clamav-milter.c:1503 |
|
279 | 284 |
#, c-format |
280 | 285 |
msgid "%s: --max-children must be given in sessions mode\n" |
281 | 286 |
msgstr "" |
282 | 287 |
|
283 |
-#: clamav-milter.c:1576 |
|
288 |
+#: clamav-milter.c:1526 |
|
284 | 289 |
#, c-format |
285 | 290 |
msgid "%s: Unknown host %s\n" |
286 | 291 |
msgstr "" |
287 | 292 |
|
288 |
-#: clamav-milter.c:1588 |
|
293 |
+#: clamav-milter.c:1538 |
|
289 | 294 |
#, c-format |
290 | 295 |
msgid "Can't talk to clamd server %s on port %d\n" |
291 | 296 |
msgstr "" |
292 | 297 |
|
293 |
-#: clamav-milter.c:1605 |
|
298 |
+#: clamav-milter.c:1555 |
|
294 | 299 |
msgid "Can't find any active clamd servers\n" |
295 | 300 |
msgstr "" |
296 | 301 |
|
297 |
-#: clamav-milter.c:1606 clamav-milter.c:1612 |
|
302 |
+#: clamav-milter.c:1556 clamav-milter.c:1562 |
|
298 | 303 |
#, c-format |
299 | 304 |
msgid "Check your entry for TCPSocket in %s\n" |
300 | 305 |
msgstr "" |
301 | 306 |
|
302 |
-#: clamav-milter.c:1611 |
|
307 |
+#: clamav-milter.c:1561 |
|
303 | 308 |
msgid "Can't find any clamd servers\n" |
304 | 309 |
msgstr "" |
305 | 310 |
|
306 |
-#: clamav-milter.c:1618 |
|
311 |
+#: clamav-milter.c:1568 |
|
307 | 312 |
#, c-format |
308 | 313 |
msgid "%s: You must select server type (local/TCP) in %s\n" |
309 | 314 |
msgstr "" |
310 | 315 |
|
311 |
-#: clamav-milter.c:1667 |
|
316 |
+#: clamav-milter.c:1619 |
|
312 | 317 |
#, c-format |
313 | 318 |
msgid "When debugging it is recommended that you use Foreground mode in %s\n" |
314 | 319 |
msgstr "" |
315 | 320 |
|
316 |
-#: clamav-milter.c:1668 |
|
321 |
+#: clamav-milter.c:1620 |
|
317 | 322 |
msgid "\tso that you can see all of the messages" |
318 | 323 |
msgstr "" |
319 | 324 |
|
320 |
-#: clamav-milter.c:1715 |
|
325 |
+#: clamav-milter.c:1667 |
|
321 | 326 |
msgid "Starting clamav-milter" |
322 | 327 |
msgstr "" |
323 | 328 |
|
324 |
-#: clamav-milter.c:1724 |
|
329 |
+#: clamav-milter.c:1676 |
|
325 | 330 |
#, c-format |
326 | 331 |
msgid "Can't save PID in file %s" |
327 | 332 |
msgstr "" |
328 | 333 |
|
329 |
-#: clamav-milter.c:1726 |
|
334 |
+#: clamav-milter.c:1678 |
|
330 | 335 |
#, c-format |
331 | 336 |
msgid "Can't save PID in file %s\n" |
332 | 337 |
msgstr "" |
333 | 338 |
|
334 |
-#: clamav-milter.c:1754 |
|
339 |
+#: clamav-milter.c:1706 |
|
335 | 340 |
#, c-format |
336 | 341 |
msgid "%s: smfi_setconn failed\n" |
337 | 342 |
msgstr "" |
338 | 343 |
|
339 |
-#: clamav-milter.c:1768 |
|
344 |
+#: clamav-milter.c:1720 |
|
340 | 345 |
#, c-format |
341 | 346 |
msgid "Starting: %s" |
342 | 347 |
msgstr "" |
343 | 348 |
|
344 |
-#: clamav-milter.c:1773 |
|
349 |
+#: clamav-milter.c:1723 |
|
345 | 350 |
msgid "Debugging is on" |
346 | 351 |
msgstr "" |
347 | 352 |
|
348 |
-#: clamav-milter.c:1827 clamav-milter.c:2071 |
|
353 |
+#: clamav-milter.c:1777 clamav-milter.c:2021 |
|
349 | 354 |
#, c-format |
350 | 355 |
msgid "Check clamd server %s - it may be down\n" |
351 | 356 |
msgstr "" |
352 | 357 |
|
353 |
-#: clamav-milter.c:1832 clamav-milter.c:2080 |
|
358 |
+#: clamav-milter.c:1782 clamav-milter.c:2030 |
|
354 | 359 |
msgid "Check clamd server - it may be down\n" |
355 | 360 |
msgstr "" |
356 | 361 |
|
357 |
-#: clamav-milter.c:1997 |
|
362 |
+#: clamav-milter.c:1947 |
|
358 | 363 |
msgid "No free clamd sessions\n" |
359 | 364 |
msgstr "" |
360 | 365 |
|
361 |
-#: clamav-milter.c:2074 |
|
366 |
+#: clamav-milter.c:2024 |
|
362 | 367 |
#, c-format |
363 | 368 |
msgid "Check clamd server %s - it may be down" |
364 | 369 |
msgstr "" |
365 | 370 |
|
366 |
-#: clamav-milter.c:2116 |
|
371 |
+#: clamav-milter.c:2066 |
|
367 | 372 |
msgid "findServer: select failed" |
368 | 373 |
msgstr "" |
369 | 374 |
|
370 |
-#: clamav-milter.c:2125 |
|
375 |
+#: clamav-milter.c:2075 |
|
371 | 376 |
#, c-format |
372 | 377 |
msgid "findServer: using server %d\n" |
373 | 378 |
msgstr "" |
374 | 379 |
|
375 |
-#: clamav-milter.c:2130 |
|
380 |
+#: clamav-milter.c:2080 |
|
376 | 381 |
msgid "findServer: No response from any server\n" |
377 | 382 |
msgstr "" |
378 | 383 |
|
379 |
-#: clamav-milter.c:2132 |
|
384 |
+#: clamav-milter.c:2082 |
|
380 | 385 |
msgid "findServer: No response from any server" |
381 | 386 |
msgstr "" |
382 | 387 |
|
383 |
-#: clamav-milter.c:2153 |
|
388 |
+#: clamav-milter.c:2103 |
|
384 | 389 |
msgid "clamfi_connect: ctx is null" |
385 | 390 |
msgstr "" |
386 | 391 |
|
387 |
-#: clamav-milter.c:2158 |
|
392 |
+#: clamav-milter.c:2108 |
|
388 | 393 |
msgid "clamfi_connect: hostname is null" |
389 | 394 |
msgstr "" |
390 | 395 |
|
391 |
-#: clamav-milter.c:2179 |
|
396 |
+#: clamav-milter.c:2129 |
|
392 | 397 |
msgid "clamfi_connect: remoteIP is null" |
393 | 398 |
msgstr "" |
394 | 399 |
|
395 |
-#: clamav-milter.c:2187 |
|
400 |
+#: clamav-milter.c:2137 |
|
396 | 401 |
#, c-format |
397 | 402 |
msgid "clamfi_connect: connection from %s [%s]" |
398 | 403 |
msgstr "" |
399 | 404 |
|
400 |
-#: clamav-milter.c:2188 |
|
405 |
+#: clamav-milter.c:2138 |
|
401 | 406 |
#, c-format |
402 | 407 |
msgid "clamfi_connect: connection from %s [%s]\n" |
403 | 408 |
msgstr "" |
404 | 409 |
|
405 |
-#: clamav-milter.c:2207 |
|
410 |
+#: clamav-milter.c:2157 |
|
406 | 411 |
msgid "Can't get sendmail hostname" |
407 | 412 |
msgstr "" |
408 | 413 |
|
409 |
-#: clamav-milter.c:2212 |
|
414 |
+#: clamav-milter.c:2162 |
|
410 | 415 |
#, c-format |
411 | 416 |
msgid "Access Denied: Host Unknown (%s)" |
412 | 417 |
msgstr "" |
413 | 418 |
|
414 |
-#: clamav-milter.c:2222 |
|
419 |
+#: clamav-milter.c:2172 |
|
415 | 420 |
#, c-format |
416 | 421 |
msgid "Access Denied: Can't get IP address for (%s)" |
417 | 422 |
msgstr "" |
418 | 423 |
|
419 |
-#: clamav-milter.c:2239 |
|
424 |
+#: clamav-milter.c:2189 |
|
420 | 425 |
#, c-format |
421 | 426 |
msgid "Access Denied for %s[%s]" |
422 | 427 |
msgstr "" |
423 | 428 |
|
424 |
-#: clamav-milter.c:2257 |
|
429 |
+#: clamav-milter.c:2207 |
|
425 | 430 |
msgid "clamfi_connect: not scanning outgoing messages" |
426 | 431 |
msgstr "" |
427 | 432 |
|
428 |
-#: clamav-milter.c:2258 |
|
433 |
+#: clamav-milter.c:2208 |
|
429 | 434 |
msgid "clamfi_connect: not scanning outgoing messages\n" |
430 | 435 |
msgstr "" |
431 | 436 |
|
432 |
-#: clamav-milter.c:2266 |
|
437 |
+#: clamav-milter.c:2216 |
|
433 | 438 |
msgid "clamfi_connect: not scanning local messages" |
434 | 439 |
msgstr "" |
435 | 440 |
|
436 |
-#: clamav-milter.c:2267 |
|
441 |
+#: clamav-milter.c:2217 |
|
437 | 442 |
msgid "clamfi_connect: not scanning local messages\n" |
438 | 443 |
msgstr "" |
439 | 444 |
|
440 |
-#: clamav-milter.c:2301 |
|
445 |
+#: clamav-milter.c:2251 |
|
441 | 446 |
#, c-format |
442 | 447 |
msgid "hit max-children limit (%u >= %u)\n" |
443 | 448 |
msgstr "" |
444 | 449 |
|
445 |
-#: clamav-milter.c:2302 |
|
450 |
+#: clamav-milter.c:2252 |
|
446 | 451 |
#, c-format |
447 | 452 |
msgid "hit max-children limit (%u >= %u): waiting for some to exit\n" |
448 | 453 |
msgstr "" |
449 | 454 |
|
450 |
-#: clamav-milter.c:2308 |
|
455 |
+#: clamav-milter.c:2258 |
|
451 | 456 |
#, c-format |
452 | 457 |
msgid "hit max-children limit (%u >= %u)" |
453 | 458 |
msgstr "" |
454 | 459 |
|
455 |
-#: clamav-milter.c:2309 |
|
460 |
+#: clamav-milter.c:2259 |
|
456 | 461 |
#, c-format |
457 | 462 |
msgid "hit max-children limit (%u >= %u): waiting for some to exit" |
458 | 463 |
msgstr "" |
459 | 464 |
|
460 |
-#: clamav-milter.c:2314 |
|
465 |
+#: clamav-milter.c:2264 |
|
461 | 466 |
msgid "AV system temporarily overloaded - please try later" |
462 | 467 |
msgstr "" |
463 | 468 |
|
464 |
-#: clamav-milter.c:2344 |
|
469 |
+#: clamav-milter.c:2294 |
|
465 | 470 |
#, c-format |
466 | 471 |
msgid ">n_children = %d\n" |
467 | 472 |
msgstr "" |
468 | 473 |
|
469 |
-#: clamav-milter.c:2350 |
|
474 |
+#: clamav-milter.c:2300 |
|
470 | 475 |
msgid "Timeout waiting for a child to die" |
471 | 476 |
msgstr "" |
472 | 477 |
|
473 |
-#: clamav-milter.c:2352 |
|
478 |
+#: clamav-milter.c:2302 |
|
474 | 479 |
msgid "Timeout waiting for a child to die\n" |
475 | 480 |
msgstr "" |
476 | 481 |
|
477 |
-#: clamav-milter.c:2462 |
|
482 |
+#: clamav-milter.c:2412 |
|
478 | 483 |
#, c-format |
479 | 484 |
msgid "Failed to delete X-Virus-Status header %d" |
480 | 485 |
msgstr "" |
481 | 486 |
|
482 |
-#: clamav-milter.c:2490 |
|
487 |
+#: clamav-milter.c:2440 |
|
483 | 488 |
msgid "clamfi_eoh" |
484 | 489 |
msgstr "" |
485 | 490 |
|
486 |
-#: clamav-milter.c:2493 |
|
491 |
+#: clamav-milter.c:2443 |
|
487 | 492 |
msgid "clamfi_eoh\n" |
488 | 493 |
msgstr "" |
489 | 494 |
|
490 |
-#: clamav-milter.c:2550 |
|
495 |
+#: clamav-milter.c:2500 |
|
491 | 496 |
msgid "clamfi_eoh: ignoring whitelisted message" |
492 | 497 |
msgstr "" |
493 | 498 |
|
494 |
-#: clamav-milter.c:2552 |
|
499 |
+#: clamav-milter.c:2502 |
|
495 | 500 |
msgid "clamfi_eoh: ignoring whitelisted message\n" |
496 | 501 |
msgstr "" |
497 | 502 |
|
498 |
-#: clamav-milter.c:2566 |
|
503 |
+#: clamav-milter.c:2516 |
|
499 | 504 |
#, c-format |
500 | 505 |
msgid "clamfi_envbody: %u bytes" |
501 | 506 |
msgstr "" |
502 | 507 |
|
503 |
-#: clamav-milter.c:2568 |
|
508 |
+#: clamav-milter.c:2518 |
|
504 | 509 |
#, c-format |
505 | 510 |
msgid "clamfi_envbody: %u bytes\n" |
506 | 511 |
msgstr "" |
507 | 512 |
|
508 |
-#: clamav-milter.c:2578 clamav-milter.c:2837 |
|
513 |
+#: clamav-milter.c:2528 clamav-milter.c:2787 |
|
509 | 514 |
#, c-format |
510 | 515 |
msgid "%s: Message more than StreamMaxLength (%ld) bytes - not scanned" |
511 | 516 |
msgstr "" |
512 | 517 |
|
513 |
-#: clamav-milter.c:2582 clamav-milter.c:2840 |
|
518 |
+#: clamav-milter.c:2532 clamav-milter.c:2790 |
|
514 | 519 |
msgid "Not Scanned - StreamMaxLength exceeded" |
515 | 520 |
msgstr "" |
516 | 521 |
|
517 |
-#: clamav-milter.c:2681 clamav-milter.c:2703 clamav-milter.c:3765 |
|
518 |
-#: clamav-milter.c:3772 |
|
522 |
+#: clamav-milter.c:2631 clamav-milter.c:2653 clamav-milter.c:3715 |
|
523 |
+#: clamav-milter.c:3722 |
|
519 | 524 |
msgid "send failed to clamd" |
520 | 525 |
msgstr "" |
521 | 526 |
|
522 |
-#: clamav-milter.c:2719 |
|
527 |
+#: clamav-milter.c:2669 |
|
523 | 528 |
#, c-format |
524 | 529 |
msgid "Wating to read status from fd %d\n" |
525 | 530 |
msgstr "" |
526 | 531 |
|
527 |
-#: clamav-milter.c:2730 |
|
532 |
+#: clamav-milter.c:2680 |
|
528 | 533 |
#, c-format |
529 | 534 |
msgid "clamfi_eom: read %s" |
530 | 535 |
msgstr "" |
531 | 536 |
|
532 |
-#: clamav-milter.c:2731 |
|
537 |
+#: clamav-milter.c:2681 |
|
533 | 538 |
#, c-format |
534 | 539 |
msgid "clamfi_eom: read %s\n" |
535 | 540 |
msgstr "" |
536 | 541 |
|
537 |
-#: clamav-milter.c:2739 |
|
542 |
+#: clamav-milter.c:2689 |
|
538 | 543 |
msgid "clamfi_eom: read nothing from clamd" |
539 | 544 |
msgstr "" |
540 | 545 |
|
541 |
-#: clamav-milter.c:2741 |
|
546 |
+#: clamav-milter.c:2691 |
|
542 | 547 |
msgid "clamfi_eom: read nothing from clamd\n" |
543 | 548 |
msgstr "" |
544 | 549 |
|
545 |
-#: clamav-milter.c:2786 clamav-milter.c:2826 |
|
550 |
+#: clamav-milter.c:2736 clamav-milter.c:2776 |
|
546 | 551 |
msgid "Error determining host" |
547 | 552 |
msgstr "" |
548 | 553 |
|
549 |
-#: clamav-milter.c:2845 |
|
554 |
+#: clamav-milter.c:2795 |
|
550 | 555 |
msgid "Not Scanned" |
551 | 556 |
msgstr "" |
552 | 557 |
|
553 |
-#: clamav-milter.c:2867 |
|
558 |
+#: clamav-milter.c:2817 |
|
554 | 559 |
msgid "Infected" |
555 | 560 |
msgstr "" |
556 | 561 |
|
557 |
-#: clamav-milter.c:2885 |
|
562 |
+#: clamav-milter.c:2835 |
|
558 | 563 |
#, c-format |
559 | 564 |
msgid "Intercepted virus from %s to" |
560 | 565 |
msgstr "" |
561 | 566 |
|
562 |
-#: clamav-milter.c:2979 |
|
567 |
+#: clamav-milter.c:2929 |
|
563 | 568 |
msgid "" |
564 | 569 |
"Subject: Virus intercepted\n" |
565 | 570 |
"\n" |
566 | 571 |
msgstr "" |
567 | 572 |
|
568 |
-#: clamav-milter.c:3001 |
|
573 |
+#: clamav-milter.c:2951 |
|
569 | 574 |
msgid "A message you sent to\n" |
570 | 575 |
msgstr "" |
571 | 576 |
|
572 |
-#: clamav-milter.c:3008 |
|
577 |
+#: clamav-milter.c:2958 |
|
573 | 578 |
#, c-format |
574 | 579 |
msgid "The message %1$s sent from %2$s to\n" |
575 | 580 |
msgstr "" |
576 | 581 |
|
577 |
-#: clamav-milter.c:3011 |
|
582 |
+#: clamav-milter.c:2961 |
|
578 | 583 |
#, c-format |
579 | 584 |
msgid "A message sent from %s to\n" |
580 | 585 |
msgstr "" |
581 | 586 |
|
582 |
-#: clamav-milter.c:3016 |
|
587 |
+#: clamav-milter.c:2966 |
|
583 | 588 |
#, c-format |
584 | 589 |
msgid "contained %s and has not been delivered.\n" |
585 | 590 |
msgstr "" |
586 | 591 |
|
587 |
-#: clamav-milter.c:3020 |
|
592 |
+#: clamav-milter.c:2970 |
|
588 | 593 |
#, c-format |
589 | 594 |
msgid "" |
590 | 595 |
"\n" |
591 | 596 |
"The message in question has been quarantined as %s\n" |
592 | 597 |
msgstr "" |
593 | 598 |
|
594 |
-#: clamav-milter.c:3023 |
|
599 |
+#: clamav-milter.c:2973 |
|
595 | 600 |
#, c-format |
596 | 601 |
msgid "" |
597 | 602 |
"\n" |
... | ... |
@@ -599,13 +604,13 @@ msgid "" |
599 | 599 |
"\n" |
600 | 600 |
msgstr "" |
601 | 601 |
|
602 |
-#: clamav-milter.c:3026 |
|
602 |
+#: clamav-milter.c:2976 |
|
603 | 603 |
msgid "" |
604 | 604 |
"For your information, the original message headers were:\n" |
605 | 605 |
"\n" |
606 | 606 |
msgstr "" |
607 | 607 |
|
608 |
-#: clamav-milter.c:3039 |
|
608 |
+#: clamav-milter.c:2989 |
|
609 | 609 |
#, c-format |
610 | 610 |
msgid "" |
611 | 611 |
"\n" |
... | ... |
@@ -613,206 +618,216 @@ msgid "" |
613 | 613 |
"%s\t\n" |
614 | 614 |
msgstr "" |
615 | 615 |
|
616 |
-#: clamav-milter.c:3050 |
|
616 |
+#: clamav-milter.c:3000 |
|
617 | 617 |
#, c-format |
618 | 618 |
msgid "Quarantined infected mail as %s" |
619 | 619 |
msgstr "" |
620 | 620 |
|
621 |
-#: clamav-milter.c:3074 |
|
621 |
+#: clamav-milter.c:3024 |
|
622 | 622 |
#, c-format |
623 | 623 |
msgid "Can't set quarantine user %s" |
624 | 624 |
msgstr "" |
625 | 625 |
|
626 |
-#: clamav-milter.c:3076 |
|
626 |
+#: clamav-milter.c:3026 |
|
627 | 627 |
#, c-format |
628 | 628 |
msgid "Can't set quarantine user %s\n" |
629 | 629 |
msgstr "" |
630 | 630 |
|
631 |
-#: clamav-milter.c:3089 |
|
631 |
+#: clamav-milter.c:3039 |
|
632 | 632 |
#, c-format |
633 | 633 |
msgid "virus %s detected by ClamAV - http://www.clamav.net" |
634 | 634 |
msgstr "" |
635 | 635 |
|
636 |
-#: clamav-milter.c:3094 |
|
636 |
+#: clamav-milter.c:3044 |
|
637 | 637 |
msgid "Unknown" |
638 | 638 |
msgstr "" |
639 | 639 |
|
640 |
-#: clamav-milter.c:3096 |
|
640 |
+#: clamav-milter.c:3046 |
|
641 | 641 |
#, c-format |
642 | 642 |
msgid "%s: incorrect message \"%s\" from clamd" |
643 | 643 |
msgstr "" |
644 | 644 |
|
645 |
-#: clamav-milter.c:3102 |
|
645 |
+#: clamav-milter.c:3052 |
|
646 | 646 |
msgid "Clean" |
647 | 647 |
msgstr "" |
648 | 648 |
|
649 |
-#: clamav-milter.c:3106 |
|
649 |
+#: clamav-milter.c:3056 |
|
650 | 650 |
#, c-format |
651 | 651 |
msgid "%s: clean message from %s" |
652 | 652 |
msgstr "" |
653 | 653 |
|
654 |
-#: clamav-milter.c:3108 |
|
654 |
+#: clamav-milter.c:3058 |
|
655 | 655 |
msgid "an unknown sender" |
656 | 656 |
msgstr "" |
657 | 657 |
|
658 |
-#: clamav-milter.c:3207 |
|
658 |
+#: clamav-milter.c:3157 |
|
659 | 659 |
#, c-format |
660 | 660 |
msgid "Can't remove clean file %s" |
661 | 661 |
msgstr "" |
662 | 662 |
|
663 |
-#: clamav-milter.c:3387 clamav-milter.c:3390 |
|
663 |
+#: clamav-milter.c:3337 clamav-milter.c:3340 |
|
664 | 664 |
#, c-format |
665 | 665 |
msgid "write failure (%u bytes) to %s: %s" |
666 | 666 |
msgstr "" |
667 | 667 |
|
668 |
-#: clamav-milter.c:3404 clamav-milter.c:3407 |
|
668 |
+#: clamav-milter.c:3354 clamav-milter.c:3357 |
|
669 | 669 |
#, c-format |
670 | 670 |
msgid "write failure (%u bytes) to clamd: %s" |
671 | 671 |
msgstr "" |
672 | 672 |
|
673 |
-#: clamav-milter.c:3473 |
|
673 |
+#: clamav-milter.c:3423 |
|
674 | 674 |
#, c-format |
675 | 675 |
msgid "No data received from clamd in %d seconds\n" |
676 | 676 |
msgstr "" |
677 | 677 |
|
678 |
-#: clamav-milter.c:3495 |
|
678 |
+#: clamav-milter.c:3445 |
|
679 | 679 |
#, c-format |
680 | 680 |
msgid "Can't stat %s" |
681 | 681 |
msgstr "" |
682 | 682 |
|
683 |
-#: clamav-milter.c:3506 clamav-milter.c:3933 |
|
683 |
+#: clamav-milter.c:3456 clamav-milter.c:3882 |
|
684 | 684 |
#, c-format |
685 | 685 |
msgid "Can't open %s" |
686 | 686 |
msgstr "" |
687 | 687 |
|
688 |
-#: clamav-milter.c:3641 |
|
688 |
+#: clamav-milter.c:3591 |
|
689 | 689 |
#, c-format |
690 | 690 |
msgid "mkdir %s failed" |
691 | 691 |
msgstr "" |
692 | 692 |
|
693 |
-#: clamav-milter.c:3654 |
|
693 |
+#: clamav-milter.c:3604 |
|
694 | 694 |
#, c-format |
695 | 695 |
msgid "mktemp %s failed" |
696 | 696 |
msgstr "" |
697 | 697 |
|
698 |
-#: clamav-milter.c:3664 |
|
698 |
+#: clamav-milter.c:3614 |
|
699 | 699 |
#, c-format |
700 | 700 |
msgid "Temporary quarantine file %s creation failed" |
701 | 701 |
msgstr "" |
702 | 702 |
|
703 |
-#: clamav-milter.c:3784 |
|
703 |
+#: clamav-milter.c:3734 |
|
704 | 704 |
msgid "failed to create TCPSocket to talk to clamd" |
705 | 705 |
msgstr "" |
706 | 706 |
|
707 |
-#: clamav-milter.c:3795 clamav-milter.c:3806 |
|
707 |
+#: clamav-milter.c:3745 clamav-milter.c:3756 |
|
708 | 708 |
msgid "recv failed from clamd getting PORT" |
709 | 709 |
msgstr "" |
710 | 710 |
|
711 |
-#: clamav-milter.c:3817 |
|
711 |
+#: clamav-milter.c:3767 |
|
712 | 712 |
#, c-format |
713 | 713 |
msgid "Expected port information from clamd, got '%s'" |
714 | 714 |
msgstr "" |
715 | 715 |
|
716 |
-#: clamav-milter.c:3820 |
|
716 |
+#: clamav-milter.c:3770 |
|
717 | 717 |
#, c-format |
718 | 718 |
msgid "Expected port information from clamd, got '%s'\n" |
719 | 719 |
msgstr "" |
720 | 720 |
|
721 |
-#: clamav-milter.c:3841 clamav-milter.c:3844 |
|
721 |
+#: clamav-milter.c:3790 clamav-milter.c:3793 |
|
722 | 722 |
#, c-format |
723 | 723 |
msgid "Connecting to local port %d - data %d cmd %d\n" |
724 | 724 |
msgstr "" |
725 | 725 |
|
726 |
-#: clamav-milter.c:3857 clamav-milter.c:3860 |
|
726 |
+#: clamav-milter.c:3806 clamav-milter.c:3809 |
|
727 | 727 |
#, c-format |
728 | 728 |
msgid "Failed to connect to port %d given by clamd: %s" |
729 | 729 |
msgstr "" |
730 | 730 |
|
731 |
-#: clamav-milter.c:3945 |
|
731 |
+#: clamav-milter.c:3894 |
|
732 | 732 |
#, c-format |
733 | 733 |
msgid "Clamd (pid %d) seems to have died" |
734 | 734 |
msgstr "" |
735 | 735 |
|
736 |
-#: clamav-milter.c:3971 |
|
736 |
+#: clamav-milter.c:3920 |
|
737 | 737 |
#, c-format |
738 | 738 |
msgid "Can't open e-mail template file %s" |
739 | 739 |
msgstr "" |
740 | 740 |
|
741 |
-#: clamav-milter.c:3980 |
|
741 |
+#: clamav-milter.c:3929 |
|
742 | 742 |
#, c-format |
743 | 743 |
msgid "Can't stat e-mail template file %s" |
744 | 744 |
msgstr "" |
745 | 745 |
|
746 |
-#: clamav-milter.c:3989 |
|
746 |
+#: clamav-milter.c:3938 |
|
747 | 747 |
msgid "Out of memory" |
748 | 748 |
msgstr "" |
749 | 749 |
|
750 |
-#: clamav-milter.c:4016 |
|
750 |
+#: clamav-milter.c:3965 |
|
751 | 751 |
#, c-format |
752 | 752 |
msgid "%s: Unknown clamAV variable \"%c\"\n" |
753 | 753 |
msgstr "" |
754 | 754 |
|
755 |
-#: clamav-milter.c:4027 |
|
755 |
+#: clamav-milter.c:3976 |
|
756 | 756 |
#, c-format |
757 | 757 |
msgid "%s: Unterminated sendmail variable \"%s\"\n" |
758 | 758 |
msgstr "" |
759 | 759 |
|
760 |
-#: clamav-milter.c:4038 |
|
760 |
+#: clamav-milter.c:3987 |
|
761 | 761 |
#, c-format |
762 | 762 |
msgid "%s: Unknown sendmail variable \"%s\"\n" |
763 | 763 |
msgstr "" |
764 | 764 |
|
765 |
-#: clamav-milter.c:4104 |
|
765 |
+#: clamav-milter.c:4053 |
|
766 | 766 |
#, c-format |
767 | 767 |
msgid "Can't rename %1$s to %2$s" |
768 | 768 |
msgstr "" |
769 | 769 |
|
770 |
-#: clamav-milter.c:4128 |
|
770 |
+#: clamav-milter.c:4077 |
|
771 | 771 |
#, c-format |
772 | 772 |
msgid "[Virus] %s" |
773 | 773 |
msgstr "" |
774 | 774 |
|
775 |
-#: clamav-milter.c:4221 |
|
775 |
+#: clamav-milter.c:4170 |
|
776 | 776 |
msgid "" |
777 | 777 |
"No response from any clamd server - your AV system is not scanning emails\n" |
778 | 778 |
msgstr "" |
779 | 779 |
|
780 |
-#: clamav-milter.c:4224 |
|
780 |
+#: clamav-milter.c:4173 |
|
781 | 781 |
msgid "" |
782 | 782 |
"No response from any clamd server - your AV system is not scanning emails" |
783 | 783 |
msgstr "" |
784 | 784 |
|
785 |
-#: clamav-milter.c:4242 |
|
785 |
+#: clamav-milter.c:4191 |
|
786 | 786 |
msgid "Subject: ClamAV Down\n" |
787 | 787 |
msgstr "" |
788 | 788 |
|
789 |
-#: clamav-milter.c:4245 |
|
789 |
+#: clamav-milter.c:4194 |
|
790 | 790 |
msgid "" |
791 | 791 |
"This is an automatic message\n" |
792 | 792 |
"\n" |
793 | 793 |
msgstr "" |
794 | 794 |
|
795 |
-#: clamav-milter.c:4248 |
|
795 |
+#: clamav-milter.c:4197 |
|
796 | 796 |
msgid "The clamd program cannot be contacted.\n" |
797 | 797 |
msgstr "" |
798 | 798 |
|
799 |
-#: clamav-milter.c:4250 |
|
799 |
+#: clamav-milter.c:4199 |
|
800 | 800 |
msgid "No clamd server can be contacted.\n" |
801 | 801 |
msgstr "" |
802 | 802 |
|
803 |
-#: clamav-milter.c:4252 |
|
803 |
+#: clamav-milter.c:4201 |
|
804 | 804 |
msgid "Emails may not be being scanned, please check your servers.\n" |
805 | 805 |
msgstr "" |
806 | 806 |
|
807 |
-#: clamav-milter.c:4314 |
|
808 |
-msgid "Freshclam has been run - please restart clamav-milter\n" |
|
807 |
+#: clamav-milter.c:4269 |
|
808 |
+msgid "Loading new database" |
|
809 | 809 |
msgstr "" |
810 | 810 |
|
811 |
-#: clamav-milter.c:4491 |
|
811 |
+#: clamav-milter.c:4450 |
|
812 | 812 |
#, c-format |
813 | 813 |
msgid "Stopping %s" |
814 | 814 |
msgstr "" |
815 | 815 |
|
816 |
-#: clamav-milter.c:4532 |
|
816 |
+#: clamav-milter.c:4491 |
|
817 | 817 |
msgid "Stopping clamav-milter" |
818 | 818 |
msgstr "" |
819 |
+ |
|
820 |
+#: clamav-milter.c:4598 |
|
821 |
+#, c-format |
|
822 |
+msgid "ClamAV: Protecting against %d viruses" |
|
823 |
+msgstr "" |
|
824 |
+ |
|
825 |
+#: clamav-milter.c:4601 |
|
826 |
+#, c-format |
|
827 |
+msgid "Loaded %s\n" |
|
828 |
+msgstr "" |
... | ... |
@@ -199,7 +199,7 @@ If the \-t option is not given, clamav\-milter defaults to a hardcoded message. |
199 | 199 |
.TP |
200 | 200 |
\fB\-\-timeout=n \-T n\fR |
201 | 201 |
Used in conjuction with max\-children. If clamav\-milter waits for more than |
202 |
-\fIn\fR seconds (default 60) it proceeds with scanning. Setting \fIn\fR to zero |
|
202 |
+\fIn\fR seconds (default 0) it proceeds with scanning. Setting \fIn\fR to zero |
|
203 | 203 |
will turn off the timeout and clamav\-milter will wait indefinately for the |
204 | 204 |
scanning to quit. In practice the timeout set by sendmail will then take over. |
205 | 205 |
.SH "BUGS" |