diff options
author | Volker Lendecke <vlendec@samba.org> | 2007-04-14 06:40:47 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:19:20 -0500 |
commit | a633b42592080982b38f5e3cde8d32bf2fd80e7e (patch) | |
tree | 59cef09736a7501274009f917d9252b713bcbb1a | |
parent | 282018a366dec480597c08df310a7826c079b692 (diff) | |
download | samba-a633b42592080982b38f5e3cde8d32bf2fd80e7e.tar.gz samba-a633b42592080982b38f5e3cde8d32bf2fd80e7e.tar.bz2 samba-a633b42592080982b38f5e3cde8d32bf2fd80e7e.zip |
r22213: We can't use become_root() here, as it does DEBUG()
itself. become_root_uid_only did not :-)
Revert 21868, we need to find a better way.
Volker
(This used to be commit 629f966714c7a8d96b06027d514b86cde81b69b9)
-rw-r--r-- | source3/lib/debug.c | 13 | ||||
-rw-r--r-- | source3/smbd/process.c | 7 |
2 files changed, 15 insertions, 5 deletions
diff --git a/source3/lib/debug.c b/source3/lib/debug.c index 138c52cdce..62fda5741c 100644 --- a/source3/lib/debug.c +++ b/source3/lib/debug.c @@ -688,15 +688,20 @@ void check_log_size( void ) int maxlog; SMB_STRUCT_STAT st; + /* + * We need to be root to check/change log-file, skip this and let the main + * loop check do a new check as root. + */ + + if( geteuid() != 0 ) + return; + if(log_overflow || !need_to_check_log_size() ) return; maxlog = lp_max_log_size() * 1024; if( sys_fstat( x_fileno( dbf ), &st ) == 0 && st.st_size > maxlog ) { - - become_root(); - (void)reopen_logs(); if( dbf && get_file_size( debugf ) > maxlog ) { pstring name; @@ -709,8 +714,6 @@ void check_log_size( void ) (void)rename(name, debugf); } } - - unbecome_root(); } /* diff --git a/source3/smbd/process.c b/source3/smbd/process.c index c5db007525..6f3ad9884c 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -1406,6 +1406,13 @@ machine %s in domain %s.\n", global_myname(), lp_workgroup())); update_monitored_printq_cache(); + /* + * Now we are root, check if the log files need pruning. + * Force a log file check. + */ + force_check_log_size(); + check_log_size(); + /* Send any queued printer notify message to interested smbd's. */ print_notify_send_messages(0); |