process_config_first_time_only: initialize syslog as intended.
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Tue, 15 Mar 2011 15:42:56 +0000 (15:42 +0000)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Wed, 25 May 2011 17:16:35 +0000 (18:16 +0100)
On Linux, we previously called openlog() (with different options!) while
initializing SELinux; leave SELinux messages as LOG_USER|LOG_INFO in case
anyone was relying on that, but let the rest of our log messages come
out as LOG_DAEMON.

Also enable LOG_PERROR (copy syslog messages to stderr) unconditionally;
we can make this an autoconf check if anyone's pet Unix doesn't have
LOG_PERROR.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35358
Reviewed-by: Colin Walters <walters@verbum.org>
bus/bus.c
bus/selinux.c
dbus/dbus-sysdeps-util-unix.c

index 8b8ff92..2c911c5 100644 (file)
--- a/bus/bus.c
+++ b/bus/bus.c
@@ -297,6 +297,8 @@ process_config_first_time_only (BusContext       *context,
   retval = FALSE;
   auth_mechanisms = NULL;
 
+  _dbus_init_system_log ();
+
   context->systemd_activation = systemd_activation;
 
   /* Check for an existing pid file. Of course this is a race;
index fe04063..e94d8a8 100644 (file)
@@ -164,7 +164,7 @@ log_callback (const char *fmt, ...)
   }
 #endif /* HAVE_LIBAUDIT */
   
-  vsyslog (LOG_INFO, fmt, ap);
+  vsyslog (LOG_USER | LOG_INFO, fmt, ap);
   va_end(ap);
 }
 
@@ -342,7 +342,6 @@ bus_selinux_full_init (void)
     }
   else
     {
-      openlog ("dbus", LOG_PERROR, LOG_USER);
       _dbus_verbose ("Access Vector Cache (AVC) started.\n");
     }
 
index ba8ca7f..a80f643 100644 (file)
@@ -425,7 +425,7 @@ _dbus_request_file_descriptor_limit (unsigned int limit)
 void 
 _dbus_init_system_log (void)
 {
-  openlog ("dbus", LOG_PID, LOG_DAEMON);
+  openlog ("dbus", LOG_PID | LOG_PERROR, LOG_DAEMON);
 }
 /**
  * Log a message to the system log file (e.g. syslog on Unix).