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