relevant portion of radiusd.conf: log_destination = syslog log { # Yes, I read the comment about changing this. syslog_facility = local1 }
Using the latest code from CVS on RedHat Linux 8.0, the syslog_facility directive is seemingly ignored and all messages go to /var/log/messages regardless of the setting. The call to syslog in log.c does not OR the level with the facility, so messages are sent to the default facility. That would be fine if openlog were called to set the configured facility, but it resides in rlm_pam.c where it never gets called for my config. The following simple change to log.c resolves the problem, but I suspect it would be preferable to move the openlog call. --- log.c 2004-08-31 14:48:34.000000000 -0700 +++ log.c.patched 2004-08-31 14:31:53.000000000 -0700 @@ -194,7 +194,7 @@ lvl = LOG_ERR; break; } - syslog(lvl, "%s", buffer + len); /* don't print timestamp */ + syslog(lvl | mainconfig.syslog_facility, "%s", buffer + len); /* don't print timestamp */ } #endif - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html