mirror of
git://erdgeist.org/opentracker
synced 2025-01-14 17:00:07 +00:00
Open syslog connection before dropping privileges
This commit is contained in:
parent
09adf4a9e1
commit
85df3dbc01
@ -16,6 +16,9 @@
|
|||||||
#include <pwd.h>
|
#include <pwd.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <pthread.h>
|
#include <pthread.h>
|
||||||
|
#ifdef WANT_SYSLOGS
|
||||||
|
#include <syslog.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Libowfat */
|
/* Libowfat */
|
||||||
#include "socket.h"
|
#include "socket.h"
|
||||||
@ -59,6 +62,11 @@ static void signal_handler( int s ) {
|
|||||||
g_opentracker_running = 0;
|
g_opentracker_running = 0;
|
||||||
|
|
||||||
trackerlogic_deinit();
|
trackerlogic_deinit();
|
||||||
|
|
||||||
|
#ifdef WANT_SYSLOGS
|
||||||
|
closelog();
|
||||||
|
#endif
|
||||||
|
|
||||||
exit( 0 );
|
exit( 0 );
|
||||||
} else if( s == SIGALRM ) {
|
} else if( s == SIGALRM ) {
|
||||||
/* Maintain our copy of the clock. time() on BSDs is very expensive. */
|
/* 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 );
|
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 )
|
if( drop_privileges( g_serveruser ? g_serveruser : "nobody", g_serverdir ) == -1 )
|
||||||
panic( "drop_privileges failed, exiting. Last error");
|
panic( "drop_privileges failed, exiting. Last error");
|
||||||
|
|
||||||
|
@ -745,17 +745,10 @@ static pthread_t thread_id;
|
|||||||
void stats_init( ) {
|
void stats_init( ) {
|
||||||
ot_start_time = g_now_seconds;
|
ot_start_time = g_now_seconds;
|
||||||
pthread_create( &thread_id, NULL, stats_worker, NULL );
|
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( ) {
|
void stats_deinit( ) {
|
||||||
pthread_cancel( thread_id );
|
pthread_cancel( thread_id );
|
||||||
#ifdef WANT_SYSLOGS
|
|
||||||
closelog();
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *g_version_stats_c = "$Source$: $Revision$\n";
|
const char *g_version_stats_c = "$Source$: $Revision$\n";
|
||||||
|
Loading…
Reference in New Issue
Block a user