Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37540717
en ru br
Репозитории 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
www.altlinux.org/Changes

Другие репозитории
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;
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin