X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/97cb8dc29b9e6a4f46f9b7162d410fdab0f7d8af..e803090538b1f5e432226438d4e804fea40b7eea:/log.c diff --git a/log.c b/log.c index d09094c6..32ae3552 100644 --- a/log.c +++ b/log.c @@ -69,9 +69,19 @@ void log_open(void) if (initialised) return; initialised = 1; + /* this looks pointless, but it is needed in order for the + C library on some systems to fetch the timezone info + before the chroot */ + t = time(NULL); + localtime(&t); + + /* optionally use a log file instead of syslog */ logf = lp_log_file(); if (logf && *logf) { + extern int orig_umask; + int old_umask = umask(022 | orig_umask); logfile = fopen(logf, "a"); + umask(old_umask); return; } @@ -88,12 +98,6 @@ void log_open(void) #ifndef LOG_NDELAY logit(LOG_INFO,"rsyncd started\n"); #endif - - /* this looks pointless, but it is needed in order for the - C library on some systems to fetch the timezone info - before the chroot */ - t = time(NULL); - localtime(&t); }