diff options
author | laforge <laforge> | 2004-04-24 22:50:55 +0000 |
---|---|---|
committer | laforge <laforge> | 2004-04-24 22:50:55 +0000 |
commit | 8a5b02b30e67d47b354ecaef0e93b76ad425785d (patch) | |
tree | d4a75f962cfe2600e660a588dc9907c211508517 /extensions/ulogd_SYSLOG.c | |
parent | 9fa19bdb804fac35050823a6a80e4859531f663b (diff) |
- add .init and .fini member to output plugin
- defer file opens + other initialization until after setuid() was called
- cosmetic cleanup (no _ in static functions, use 'static' whenever possible)
Diffstat (limited to 'extensions/ulogd_SYSLOG.c')
-rw-r--r-- | extensions/ulogd_SYSLOG.c | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/extensions/ulogd_SYSLOG.c b/extensions/ulogd_SYSLOG.c index 1be22d7..cb87fa9 100644 --- a/extensions/ulogd_SYSLOG.c +++ b/extensions/ulogd_SYSLOG.c @@ -57,7 +57,7 @@ static config_entry_t level_ce = { static int syslog_level, syslog_facility; -int _output_syslog(ulog_iret_t *res) +static int _output_syslog(ulog_iret_t *res) { static char buf[4096]; @@ -67,11 +67,8 @@ int _output_syslog(ulog_iret_t *res) return 0; } -static ulog_output_t syslog_op = { NULL, "syslog", &_output_syslog, NULL }; - -void _init(void) +static int syslog_init(void) { - /* FIXME: error handling */ config_parse_file("SYSLOG", &level_ce); @@ -125,6 +122,26 @@ void _init(void) exit(2); } + openlog("ulogd", LOG_NDELAY|LOG_PID, syslog_facility); + + return 0; +} + +static void syslog_fini(void) +{ + closelog(); +} + +static ulog_output_t syslog_op = { + .name = "syslog", + .init = &syslog_init, + .fini = &syslog_fini, + .output &_output_syslog +}; + + +void _init(void) +{ if (printpkt_init()) ulogd_log(ULOGD_ERROR, "can't resolve all keyhash id's\n"); |