* Released 0.92 dbus-0.92
authorJohn (J5) Palmieri <johnp@redhat.com>
Fri, 18 Aug 2006 20:24:56 +0000 (20:24 +0000)
committerJohn (J5) Palmieri <johnp@redhat.com>
Fri, 18 Aug 2006 20:24:56 +0000 (20:24 +0000)
* dbus/dbus-threads.c (dbus_threads_init): change the documentation
  to reflect the init late change

* bus/bus.c (bus_context_new): Check user before we fork so we can
  print out an error message a user will be able to see

ChangeLog
NEWS
bus/bus.c
dbus/dbus-threads.c

index 3bf2946..bd7f951 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 2006-08-18  John (J5) Palmieri  <johnp@redhat.com>
 
+       * Released 0.92 
+
+2006-08-18  John (J5) Palmieri  <johnp@redhat.com>
+
+       * dbus/dbus-threads.c (dbus_threads_init): change the documentation
+       to reflect the init late change
+
+       * bus/bus.c (bus_context_new): Check user before we fork so we can
+       print out an error message a user will be able to see
+
+2006-08-18  John (J5) Palmieri  <johnp@redhat.com>
+
        Patch provided by Ralf Habacker (ralf dot habacker at freenet dot de) 
 
        * dbus/dbus-sysdeps.c, dbus/dbus-threads.c, dbus/dbus-internals.h:
diff --git a/NEWS b/NEWS
index 8dbbffb..329e4b3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,19 @@
+D-Bus 0.92 (18 August 2006)
+==
+- Proper thread locking added to pending calls
+- Threading semantics changed from init early to init before the second thread
+  is started
+- Correctly error out when an application tries to acquire or release the
+  org.freedesktop.DBus name instead of sending false result codes
+- kqueue directory watching code can now be used to monitor config file changes
+  on FreeBSD
+- --with-dbus-daemondir configure switch added so the daemon can be installed
+  separate from the user binaries
+- Makefiles fixed for cygwin 
+- Various fixes for the ongoing Windows port 
+- Fixed docs and comments to use the D-Bus spelling instead of D-BUS
+- Many memleaks and bugs fixed
+
 D-Bus 0.91 (24 July 2006)
 ==
 - Remove some lingering bits left over from the bindings split
index 5df7864..e6f36b1 100644 (file)
--- a/bus/bus.c
+++ b/bus/bus.c
@@ -531,7 +531,8 @@ bus_context_new (const DBusString *config_file,
 {
   BusContext *context;
   BusConfigParser *parser;
-  
+  DBusCredentials creds;
+
   _DBUS_ASSERT_ERROR_IS_CLEAR (error);
 
   context = NULL;
@@ -657,7 +658,25 @@ bus_context_new (const DBusString *config_file,
       BUS_SET_OOM (error);
       goto failed;
     }
-  
+
+  /* check user before we fork */
+  if (context->user != NULL)
+    {
+      DBusString u;
+
+      _dbus_string_init_const (&u, context->user);
+
+      if (!_dbus_credentials_from_username (&u, &creds) ||
+          creds.uid < 0 ||
+          creds.gid < 0)
+        {
+          dbus_set_error (error, DBUS_ERROR_FAILED,
+                          "Could not get UID and GID for username \"%s\"",
+                          context->user);
+          goto failed;
+        }
+    }
+
   /* Now become a daemon if appropriate */
   if ((force_fork != FORK_NEVER && context->fork) || force_fork == FORK_ALWAYS)
     {
@@ -749,21 +768,6 @@ bus_context_new (const DBusString *config_file,
    */
   if (context->user != NULL)
     {
-      DBusCredentials creds;
-      DBusString u;
-
-      _dbus_string_init_const (&u, context->user);
-
-      if (!_dbus_credentials_from_username (&u, &creds) ||
-          creds.uid < 0 ||
-          creds.gid < 0)
-        {
-          dbus_set_error (error, DBUS_ERROR_FAILED,
-                          "Could not get UID and GID for username \"%s\"",
-                          context->user);
-          goto failed;
-        }
-      
       if (!_dbus_change_identity (creds.uid, creds.gid, error))
        {
          _DBUS_ASSERT_ERROR_IS_SET (error);
index 7d7646e..64d5bef 100644 (file)
@@ -480,12 +480,10 @@ init_locks (void)
  * the D-Bus library will not lock any data structures.
  * If it is called, D-Bus will do locking, at some cost
  * in efficiency. Note that this function must be called
- * BEFORE using any other D-Bus functions.
+ * BEFORE the second thread is started.
  *
- * This function may be called more than once, as long
- * as you pass in the same functions each time. If it's
- * called multiple times with different functions, then
- * a warning is printed, because someone is confused.
+ * This function may be called more than once.  The first
+ * one wins.
  *
  * @param functions functions for using threads
  * @returns #TRUE on success, #FALSE if no memory