From 85df3dbc016578481bf6c7e532e40c657a0b9b50 Mon Sep 17 00:00:00 2001 From: erdgeist <> Date: Sat, 11 Dec 2010 15:50:56 +0000 Subject: Open syslog connection before dropping privileges --- opentracker.c | 13 +++++++++++++ ot_stats.c | 7 ------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/opentracker.c b/opentracker.c index bb024b0..0c535ec 100644 --- a/opentracker.c +++ b/opentracker.c @@ -16,6 +16,9 @@ #include #include #include +#ifdef WANT_SYSLOGS +#include +#endif /* Libowfat */ #include "socket.h" @@ -59,6 +62,11 @@ static void signal_handler( int s ) { g_opentracker_running = 0; trackerlogic_deinit(); + +#ifdef WANT_SYSLOGS + closelog(); +#endif + exit( 0 ); } else if( s == SIGALRM ) { /* Maintain our copy of the clock. time() on BSDs is very expensive. */ @@ -600,6 +608,11 @@ int main( int argc, char **argv ) { ot_try_bind( serverip, 6969, FLAG_UDP ); } +#ifdef WANT_SYSLOGS + openlog( "opentracker", 0, LOG_USER ); + setlogmask(LOG_UPTO(LOG_INFO)); +#endif + if( drop_privileges( g_serveruser ? g_serveruser : "nobody", g_serverdir ) == -1 ) panic( "drop_privileges failed, exiting. Last error"); diff --git a/ot_stats.c b/ot_stats.c index b6469f9..064f364 100644 --- a/ot_stats.c +++ b/ot_stats.c @@ -745,17 +745,10 @@ static pthread_t thread_id; void stats_init( ) { ot_start_time = g_now_seconds; pthread_create( &thread_id, NULL, stats_worker, NULL ); -#ifdef WANT_SYSLOGS - openlog( "opentracker", 0, LOG_USER ); - setlogmask(LOG_UPTO(LOG_INFO)); -#endif } void stats_deinit( ) { pthread_cancel( thread_id ); -#ifdef WANT_SYSLOGS - closelog(); -#endif } const char *g_version_stats_c = "$Source$: $Revision$\n"; -- cgit v1.2.3