summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--dbus-win.patch32
-rw-r--r--dbus/dbus-sysdeps-win.c4
3 files changed, 44 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index f5cf2042..2222e872 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2007-03-08 Ralf Habacker <ralf.habacker@freenet.de>
+ * dbus-win.patch: dbus-connection.c (dbus_connection_get_unix_user,
+ dbus_connection_get_unix_process_id): Let return them valid user id's,
+ otherwise bus-test fails. How to replace on win32 ?.
+
+ * dbus/dbus-sysdeps-win.c (fill_win_user_info_homedir):
+ fix memory leak.
+
+2007-03-08 Ralf Habacker <ralf.habacker@freenet.de>
+
* dbus/dbus-sysdeps-win.c (_dbus_win_set_error_from_win_error):
use dbus friendly error name.
(fill_win_user_info_homedir): print user name in error case too.
diff --git a/dbus-win.patch b/dbus-win.patch
index 03c47cd3..a907b33d 100644
--- a/dbus-win.patch
+++ b/dbus-win.patch
@@ -1,3 +1,35 @@
+--- dbus/dbus-connection.c Wed Nov 15 04:07:59 2006
++++ dbus/dbus-connection.c Thu Mar 08 14:22:09 2007
+@@ -4790,14 +4790,6 @@
+ _dbus_return_val_if_fail (connection != NULL, FALSE);
+ _dbus_return_val_if_fail (uid != NULL, FALSE);
+
+-#ifdef DBUS_WIN
+- /* FIXME this should be done at a lower level, but it's kind of hard,
+- * just want to be sure we don't ship with this API returning
+- * some weird internal fake uid for 1.0
+- */
+- return FALSE;
+-#endif
+-
+ CONNECTION_LOCK (connection);
+
+ if (!_dbus_transport_get_is_authenticated (connection->transport))
+@@ -4829,14 +4821,6 @@
+ _dbus_return_val_if_fail (connection != NULL, FALSE);
+ _dbus_return_val_if_fail (pid != NULL, FALSE);
+
+-#ifdef DBUS_WIN
+- /* FIXME this should be done at a lower level, but it's kind of hard,
+- * just want to be sure we don't ship with this API returning
+- * some weird internal fake uid for 1.0
+- */
+- return FALSE;
+-#endif
+-
+ CONNECTION_LOCK (connection);
+
+ if (!_dbus_transport_get_is_authenticated (connection->transport))
Index: bus/bus.c
===================================================================
RCS file: /cvs/dbus/dbus/bus/bus.c,v
diff --git a/dbus/dbus-sysdeps-win.c b/dbus/dbus-sysdeps-win.c
index 8fc74ea0..32243d09 100644
--- a/dbus/dbus-sysdeps-win.c
+++ b/dbus/dbus-sysdeps-win.c
@@ -1304,7 +1304,9 @@ fill_win_user_info_homedir (wchar_t *wname,
else
{
char *dc_string = _dbus_win_utf16_to_utf8(dc,error);
- _dbus_warn("NetUserGetInfo() for user '%s' failed with errorcode %d '%s', %s\n",_dbus_win_utf16_to_utf8(wname,error), ret,_dbus_lm_strerror(ret),dc_string);
+ char *user_name = _dbus_win_utf16_to_utf8(wname,error);
+ _dbus_warn("NetUserGetInfo() for user '%s' failed with errorcode %d '%s', %s\n",user_name, ret,_dbus_lm_strerror(ret),dc_string);
+ dbus_free(user_name);
dbus_free(dc_string);
/* Not set, so use something random. */
info->homedir = _dbus_strdup ("\\");