Commit graph

2488 commits

Author SHA1 Message Date
Romain Pokrzywka
77ee59e06d fix socket descriptor leak in _dbus_connect_tcp_socket_with_nonce 2010-08-09 02:55:41 +02:00
Marcus Brinkmann
2313832d38 Wrap OutputDebugString for Windows CE builds, and add cast for MSVC. 2010-07-19 10:32:08 +02:00
Christian Dywan
821f99c318 Add unit tests for dbus_message_get_path_decomposed 2010-07-16 15:22:49 +01:00
Christian Dywan
d8afa0a10b Assert in _dbus_decompose_path if path is NULL or len is wrong 2010-07-16 15:22:47 +01:00
Lennart Poettering
265a3bb04a systemd: update systemd glue code 2010-07-13 02:50:02 +02:00
Lennart Poettering
f25041d46d systemd: remove dbus pid file before starting dbus 2010-07-13 01:35:03 +02:00
Lennart Poettering
1104d2237a man: add documentation for four new switches to dbus-daemon
This adds explanations for --address and --systemd-activation which have
recently been added to the daemon. Also adds coumentation for --nofork
and --introspect which has been previously forgotten.
2010-07-10 02:31:04 +02:00
Lennart Poettering
0514bf378a systemd: add a nice description string to the .socket file 2010-07-10 02:22:59 +02:00
Lennart Poettering
bffc52a385 systemd: install systemd socket and service file by default 2010-07-09 23:35:54 +02:00
Lennart Poettering
8e3060a2ad build-sys: update pkg-config.m4 2010-07-09 23:35:48 +02:00
Lennart Poettering
b3ed8675a4 activation: optionally, use systemd for system bus activation 2010-07-09 19:47:23 +02:00
Lennart Poettering
921bc585ca bus: add --address switch
This is allows overriding of the listening address on the command line,
which is particularly useful for systemd socket-based activation.
2010-07-09 01:54:11 +02:00
Lennart Poettering
dd31130a97 systemd: add systemd-style socket-activation
This is a pretty straightforward implementation of systemd-style socket
activation using the reference implementation of the
$LISTEN_FDS/$LISTEN_PID env var parsing as supplied by systemd upstream.
2010-07-09 01:54:11 +02:00
Thiago Macieira
6ff1d07931 Fix the reentrancy issue reported on bug 17754.
Patch based on patch by Havoc Pennington, with the references that
this is temporary removed.

        Patch based on one from Olivier Hochreutiner <olivier.hochreutiner
        gmail.com>

        * dbus/dbus-connection.c (protected_change_timeout): remove the
        elaborate nonworking hack to try to drop locks and just keep the
        locks; this isn't right either, but at least is correct, though
        it puts restrictions on apps.

        * dbus/dbus-connection.c (protected_change_watch): make the same
        change as for timeouts

        * dbus/dbus-connection.c (dbus_connection_set_timeout_functions):
        don't drop the lock here; add documentation of the problem to API
        docs
        (dbus_connection_set_watch_functions): same

        * dbus/dbus-connection.c (dbus_connection_get_data)
        (dbus_connection_set_data): introduce a separate slot_mutex
        protecting connection->slot_list so these two functions can be
        called inside watch and timeout functions. Not sure this
        is going to be a good idea.

        * dbus/dbus-connection.c (dbus_connection_unref)
        (dbus_connection_ref): avoid using connection lock in ref/unref
        so these can also be used in watch and timeout functions
2010-07-01 12:23:42 +02:00
Lennart Poettering
591236a669 build-sys: open 1.3.2 development cycle 2010-06-23 16:37:58 +02:00
Lennart Poettering
e7743435c2 build-sys: add make target for updating AUTHORS file 2010-06-23 16:13:43 +02:00
Lennart Poettering
5f423a9414 build-sys: prepare release 1.3.1 2010-06-23 04:00:28 +02:00
Lennart Poettering
bd074df3f0 pkg-config: add a couple of additional variables to .pc
We already export the session services dir in the .pc file, add the
system services dir too, as well as the interfaces dir, so that packages
can drop their files into the right place.

Eventually we need to move the system-services dir to a place that is
relocatable to /lib/dbus, and this change makes the location queriable
for other projects, as a first step towards that goal.
2010-06-23 03:14:27 +02:00
Will Thompson
5d64b7a1b7 Merge branch 'dbus-1.2' 2010-06-22 17:25:20 +01:00
Christian Dywan
085e7730b8 Implement doctype check in the trivial parser
This is needed for the libxml parser backend.
2010-06-22 16:59:26 +01:00
Thiago Macieira
e40c45fb46 Revert "Bug 17754 - Fixed race condition in protected_change_timeout."
This reverts commit b82ff17d7d and
9280395330.

Conflicts:

	dbus/dbus-connection.c
2010-06-22 14:54:38 +02:00
Will Thompson
1861c9fdd0 Clarify GetConnectionUnixUser documentation.
(This makes it match the freshly-documented GetConnectionUnixProcessID.)
2010-06-17 15:27:08 +01:00
Will Thompson
c8aa4ba183 Document ListQueuedOwners in the spec 2010-06-17 15:27:08 +01:00
Will Thompson
318c55c9c0 Document GetConnectionUnixProcessID in the spec 2010-06-17 15:27:07 +01:00
Will Thompson
1b6adc407e Fix a broken <xref/> 2010-06-17 15:27:07 +01:00
Will Thompson
a44d08711c Revert "Bug 28460 - Refactored dbus configuration access."
This reverts commit 6f9077ee87, which
broke the build on Unix (see previous patch) and introduced a bunch of
warnings.
2010-06-17 15:14:22 +01:00
Will Thompson
d9f9c2518d Fix dbus-sysdeps.h on amd64, again.
HAVE_STDINT_H is defined in config.h, but that's not much use if
config.h isn't included. The new file dbus/dbus-config.c includes this
header without including config.h first, so fails to build.

Since dbus-sysdeps.h is internal, we can include config.h with impunity,
rather than relying on our callers to do so. Also, there's no need to
include stdint.h twice.
2010-06-17 14:45:16 +01:00
Ralf Habacker
6f9077ee87 Bug 28460 - Refactored dbus configuration access.
Libdbus uses several config variables. On unix these settings are read from
environment variables by using _dbus_getenv.

On other platforms like wince there are no environment variables available and
_dbus_getenv needs an emulation for those plattforms (see
dbus/dbus-sysdeps-wince-glue.c)

To cleanup this emulation the appended patch adds a config api by adding
_dbus_config_... functions.

Also having all client config related functions listed in one header file
provides a good overview about which config attributes  are available.

The default implementation retrieves the config values from environment
variables. For other os this could be easily extended or replaced by.
2010-06-14 18:27:04 +02:00
Ralf Habacker
9280395330 Use dbus provided wait function. 2010-06-12 07:30:45 +02:00
Plácido Revilla
b82ff17d7d Bug 17754 - Fixed race condition in protected_change_timeout. 2010-06-11 18:38:15 +02:00
Johannes Carlsson
882a2e11a9 Corrected thread problem causing some calls to hang for 25s
Since the connection lock is released for a short while in
_dbus_connection_acquire_io_path there can already be a method return
received by another thread. The fix is to do an extra check after the
I/O path has been aquired both.

Approved-by: Thiago Macieira
2010-06-11 14:18:55 +02:00
Ralf Habacker
2f48b5a5a1 Do not set DBUS_SESSION_BUS_DEFAULT_ADDRESS unconditional in code, it is already defined in build system. 2010-06-11 10:52:43 +02:00
Ralf Habacker
8cd61621ce Keep cmake default session and system bus address setup in sync with autotools. 2010-06-11 10:48:10 +02:00
Christian Dywan
58fe0adefd Fix x64 build after WinCE intptr_t usage changes. 2010-06-10 14:48:58 +02:00
Johannes Carlsson
81656e679b Corrected thread problem causing some calls to hang for 25s
Since the connection lock is released for a short while in
_dbus_connection_acquire_io_path there can already be a method return
received by another thread. The fix is to do an extra check after the
I/O path has been aquired both.

Approved-by: Thiago Macieira
2010-06-09 12:28:15 +02:00
Ralf Habacker
cd815c347a Fixed compiler warnings. 2010-06-07 15:46:33 +02:00
Ralf Habacker
8891d51be1 Minor include file fix.
When including dbus/dbus-errors.h to get error related functions,
the related error constants should be available too.
2010-06-07 15:34:22 +02:00
Ralf Habacker
e66dd0eeb5 Keep in sync with autotools. 2010-06-07 14:23:44 +02:00
Ralf Habacker
4d3fefc7f7 Keep in sync with autotools. 2010-06-07 13:59:21 +02:00
Will Thompson
01ae2cb793 Merge branch 'dbus-1.2'
Conflicts:
	bus/main.c
	configure.in
2010-05-21 11:48:28 +01:00
Will Thompson
82a77d6acb kqueue set_watched_dirs: fix termination condition
num_fds is the number of elements of dirs currently in use. This bug
meant that encountering a previously un-watched directory would cause j
to increment forever, and so dirs[j] would eventually segfault.

(I've checked the corresponding code for inotify, and it's correct. I
wonder if some of the duplication could be eliminated.)

Thanks to Pablo Martí Gamboa <pmarti@warp.es> for reporting this issue!
2010-05-21 11:21:20 +01:00
Thiago Macieira
5f96256c12 Fix building on Unix 2010-05-18 14:59:06 +02:00
Luiz Augusto Von Dentz
a992f732bb Fix memory allocation when reusing message from cache
Signed-off-by: Thiago Macieira <thiago@kde.org>
2010-05-16 20:52:10 +02:00
David Zeuthen
f8729bc864 Add an extra parameter to the PropertiesChanged() signal
It was pointed out on the mailing list that it would be useful to know
that a given property has changed without conveying its value. Because
without this parameter a true_no_value property could change, however
there is no way for a client-side proxy to know _what_ property it was
(only that some property changed).

With the parameter, however, a client-side proxy can reliably discard
a cached property value.

Also rename the "true_no_value" to "invalidates" as the spec is now
using this language.

Also allow using the annotation in the enclosed interface name.

Also rename the annotation name so it uses Property in its name
instead of Properties. This is to be more consistent with the existing
org.freedesktop.DBus.Method.NoReply annotation which uses Method, not
Methods.

Signed-off-by: David Zeuthen <davidz@redhat.com>
2010-05-13 10:58:32 -04:00
David Zeuthen
2541e86615 Add an optional PropertiesChanged() signal
Some notes about this new signal

 - The PropertiesChanged() signal is optional. An application can
   convey support for this signal by either including or excluding it
   from the returned introspection data much like apps not supporting
   (or predating) the GetAll() method does not include GetAll() in the
   introspection data.

 - An object can use PropertiesChanged() but opt out of using it for
   one or more properties by using the

     org.freedesktop.DBus.Properties.EmitsChangedSignal

   annotation on the properties in question

 - Applications can start using this new signal without breaking
   compatibility with clients relying on existing D-Bus API.

The intent of the patch is simply to standardize existing behavior

 - EggDBus has a very similar signal called EggDBusPropertiesChanged()
   (also on the org.freedesktop.DBus.Properties interface)

 - NetworkManager has a PropertiesChanged() signal on each different
   interface (e.g. not org.fd.D.P) that it implements

 - GDBus, an implementation of the D-Bus protocol in GLib, already
   implements this signal

Signed-off-by: David Zeuthen <davidz@redhat.com>
2010-05-12 12:28:19 -04:00
Marcus Brinkmann
1af558a620 Fix _IOLBF for Windows CE and also define _IONBF if needed. 2010-05-12 14:59:45 +02:00
Ralf Habacker
892bb42550 Fixed assert raised with msvc 2008 on windows. 2010-05-10 22:57:48 +02:00
Marcus Brinkmann
8cc9c399a4 Fix infinite recursion on Windows CE. 2010-05-10 21:52:50 +02:00
Marcus Brinkmann
b65a3f8cca Fix GetModuleFileNameA and RegQueryValueExA for Windows CE. 2010-05-10 21:52:34 +02:00
Ray Strode
d5a6e590b8 Add clarification to spec about UpdateActivationEnvironment
UpdateActivationEnvironment takes a a{ss}.  This means only
valid UTF-8 can be used.  Environment variables are normally
ascii, but in theory have no specific encoding to them.  This
means that certain valid environment variables can't be sent
to the bus for updating its activation environment.

This commit just adds a note to the spec explaining this
restriction.
2010-05-10 10:16:15 -04:00