Репозитории ALT
S: | 0.103.8-alt1 |
5.1: | 0.98.1-alt0.M51.1 |
4.1: | 0.97.8-alt0.M41.1 |
+updates: | 0.94.1-alt0.M41.1 |
4.0: | 0.97.8-alt0.M40.1 |
+updates: | 0.91.2-alt1 |
3.0: | 0.86.2-alt1 |
+updates: | 0.91.1-alt0.M30.1 |
+backports: | 0.93.3-alt0.M30.1 |
Другие репозитории
Upstream: | 0.93rc1 |
Группа :: Работа с файлами
Пакет: clamav
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: clamav-milter-20070313-template.patch
Скачать
Скачать
--- clamav-milter/clamav-milter.c.orig 2007-03-02 03:27:19 +0400
+++ clamav-milter/clamav-milter.c 2007-03-13 20:16:12 +0400
@@ -4528,6 +4528,60 @@
ptr = end;
break;
}
+ case '&': /* clamav-milter variables */ {
+ char *end = strchr(++ptr, '&');
+
+ if(end == NULL) {
+ logg(_("%s: Unterminated clamav-milter variable \"%s\"\n"),
+ filename, ptr);
+ continue;
+ }
+ *end = '\0';
+
+ /* begin variables definitions */
+ // Virus name, replacement for %v, may be not need
+ if ( strcmp(ptr, "v") == 0 ) {
+ fputs(virusname, sendmail);
+ } // end of v
+ // Header, , replacement for %h, may be not need
+ else if ( strcmp(ptr, "header") == 0) {
+ struct privdata *privdata = (struct privdata *)smfi_getpriv(ctx);
+ header_list_print(privdata->headers, sendmail);
+ } // end of header
+ // ClamAV/clamav-milter version
+ else if ( strcmp(ptr, "full_version") == 0) {
+ fputs(clamav_version, sendmail);
+ } // end of clamav_version
+ // Local Received aadons for header
+ else if ( strcmp(ptr, "localreceived") == 0) {
+ char *s_relay, *helo;
+ char timestring[128];
+ time_t systime;
+
+ s_relay = smfi_getsymval(ctx, "{_}");
+ if (!s_relay) s_relay = "";
+ helo = smfi_getsymval(ctx, "s");
+ if (!helo) {
+ helo = "NOHELO";
+ logg(_("Variable \"s\" isn't defined in Milter.macros.eom\n"));
+ }
+
+ systime = time(NULL);
+ strftime(timestring, sizeof(timestring) -1, "%a, %d %b %Y %T %z (%Z)",
+ localtime(&systime));
+
+ fprintf(sendmail, "Received: from %s (%s)", helo, s_relay);
+ fprintf(sendmail, "\n\tby %s (clamav-milter %s) with id %s;",
+ smfi_getsymval(ctx, "j"), CM_VERSION, smfi_getsymval(ctx, "i"));
+ fprintf(sendmail, "\n\t%s", timestring);
+
+ } // localreceived
+ else {
+ fprintf(sendmail, "[unknown clamav-milter's variable: %s]", ptr);
+ logg(_("%s: Unknown clamav-milter's variable \"%s\"\n"), filename, ptr);
+ } // end variables definitions
+ ptr = end;
+ } break;
case '\\':
if(*++ptr == '\0') {
--ptr;