Murray S. Kucherawy wrote:
On Thu, 17 Jan 2008, Jose-Marcio Martins da Cruz wrote:
* be able to configure a different syslog facility.

You should open this as a feature request in SourceForge.

If any of these points are good for you, I can work on a patch.

A patch is certainly welcome for the first two suggestions, but we'd

Here is it...    8-)

I haven't added it as a FFR as it's a really trivial patch, without side effects.

Sorry, but my really old sourceforge login doesn't allow me to open a request feature. (Error - Choose a group - No group_id choosen). Not enough time to debug this.

Friendly

Jose-Marcio

need to flesh out the second before I can determine an appropriate path to take.



--
 ---------------------------------------------------------------
 Jose Marcio MARTINS DA CRUZ           http://j-chkmail.ensmp.fr
 Ecole des Mines de Paris
 60, bd Saint Michel
 75272 - PARIS CEDEX 06      mailto:[EMAIL PROTECTED]
diff -u -r dkim-filter.org/dkim-config.h dkim-filter/dkim-config.h
--- dkim-filter.org/dkim-config.h	Fri Dec 14 00:07:22 2007
+++ dkim-filter/dkim-config.h	Fri Jan 18 11:15:09 2008
@@ -79,6 +79,7 @@
 	{ "SubDomains",			CONFIG_TYPE_BOOLEAN,	FALSE },
 	{ "Syslog",			CONFIG_TYPE_BOOLEAN,	FALSE },
 	{ "SyslogSuccess",		CONFIG_TYPE_BOOLEAN,	FALSE },
+	{ "SyslogFacility",		CONFIG_TYPE_STRING,	FALSE },
 	{ "UMask",			CONFIG_TYPE_INTEGER,	FALSE },
 	{ "UserID",			CONFIG_TYPE_STRING,	FALSE },
 	{ "UseSSPDeny",			CONFIG_TYPE_BOOLEAN,	FALSE },
diff -u -r dkim-filter.org/dkim-filter.c dkim-filter/dkim-filter.c
--- dkim-filter.org/dkim-filter.c	Mon Dec 31 23:06:01 2007
+++ dkim-filter/dkim-filter.c	Thu Jan 17 23:01:35 2008
@@ -5571,11 +5571,11 @@
 	/* activate logging */
 	if (dolog)
 	{
-#ifdef LOG_MAIL
-		openlog(progname, LOG_PID, LOG_MAIL);
-#else /* LOG_MAIL */
-		openlog(progname, LOG_PID);
-#endif /* LOG_MAIL */
+		char *log_facility = NULL;
+
+		(void) config_get(cfg, "SyslogFacility", &log_facility,
+				sizeof log_facility);
+		dkimf_init_syslog(log_facility);
 	}
 
 	dkimf_setmaxfd();
diff -u -r dkim-filter.org/dkim-filter.conf.sample dkim-filter/dkim-filter.conf.sample
--- dkim-filter.org/dkim-filter.conf.sample	Fri Dec 14 08:22:19 2007
+++ dkim-filter/dkim-filter.conf.sample	Fri Jan 18 11:27:17 2008
@@ -304,6 +304,17 @@
 
 # Syslog		No
 
+##  SyslogFacility      facility
+##  	default "mail"
+##
+##  Valid values are :
+##      auth cron daemon kern lpr mail news security syslog user uucp 
+##      local0 local1 local2 local3 local4 local5 local6 local7
+##
+##  syslog facility to be used
+
+# SyslogFacility	mail
+
 ##  SyslogSuccess { yes | no }
 ##  	default "no"
 ##
diff -u -r dkim-filter.org/util.c dkim-filter/util.c
--- dkim-filter.org/util.c	Wed Oct 31 19:34:11 2007
+++ dkim-filter/util.c	Fri Jan 18 11:20:00 2008
@@ -1420,3 +1420,69 @@
 	close(s);
 	return EADDRINUSE;
 }
+
+/*
+**  DKIMF_INIT_SYSLOG -- init syslog subsystem
+**
+**  Parameters:
+**  	facility -- syslog facility name
+**
+**  Return value:
+**  	None
+*/
+typedef struct
+{
+  char               *name;
+  int                 code;
+} log_code_T;
+
+static log_code_T   log_facilities[] = {
+	{"auth", LOG_AUTH},
+	{"cron", LOG_CRON},
+	{"daemon", LOG_DAEMON},
+	{"kern", LOG_KERN},
+	{"lpr", LOG_LPR},
+	{"mail", LOG_MAIL},
+	{"news", LOG_NEWS},
+	{"security", LOG_AUTH},       /* DEPRECATED */
+	{"syslog", LOG_SYSLOG},
+	{"user", LOG_USER},
+	{"uucp", LOG_UUCP},
+	{"local0", LOG_LOCAL0},
+	{"local1", LOG_LOCAL1},
+	{"local2", LOG_LOCAL2},
+	{"local3", LOG_LOCAL3},
+	{"local4", LOG_LOCAL4},
+	{"local5", LOG_LOCAL5},
+	{"local6", LOG_LOCAL6},
+	{"local7", LOG_LOCAL7},
+	{NULL, -1}
+};
+
+void
+dkimf_init_syslog(char *facility)
+{
+#ifdef LOG_MAIL
+	int code = LOG_MAIL;
+
+	log_code_T *p = NULL;
+
+	code = LOG_MAIL;
+	if (facility != NULL)
+	{
+		for (p = log_facilities; p != NULL; p++)
+		{
+			if (strcasecmp(p->name, facility) == 0)
+			{
+				code = p->code;
+				break;
+			}
+		}
+	}
+
+	openlog(progname, LOG_PID, code);
+#else /* LOG_MAIL */
+	openlog(progname, LOG_PID);
+#endif /* LOG_MAIL */
+}
+
diff -u -r dkim-filter.org/util.h dkim-filter/util.h
--- dkim-filter.org/util.h	Sun Oct  7 14:34:58 2007
+++ dkim-filter/util.h	Thu Jan 17 22:54:45 2008
@@ -78,4 +78,5 @@
 extern int dkimf_dstring_len __P((struct dkimf_dstring *));
 extern void dkimf_dstring_blank __P((struct dkimf_dstring *));
 
+extern void dkimf_init_syslog(char *facility);
 #endif /* _UTIL_H_ */
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
dkim-milter-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/dkim-milter-discuss

Reply via email to