| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
_dbus_get_current_time() is used for timeouts, but uses gettimeofday(), which
relies on the wall clock time, which can change. If the time is changed forwards
or backwards, the timeouts are no longer valid, so the monotonic clock must be used.
https://bugs.freedesktop.org/show_bug.cgi?id=25624
Signed-off-by: Colin Walters <walters@verbum.org>
|
|
|
|
|
|
|
| |
The user database is populated on-demand, but the cache dropping
code assumed it had been initialized. Simply check for NULL.
https://bugs.freedesktop.org/show_bug.cgi?id=26182
|
|
|
|
| |
It doesn't depend on the XML doc generation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Substantially based on a patch by Matthias Clasen <mclasen@redhat.com>
kqueue implementation by Joe Marcus Clarke <marcus@freebsd.org>
Previously, when we detected a configuration change (which included
the set of config directories to monitor for changes), we would
simply drop all watches, then readd them.
The problem with this is that it introduced a race condition where
we might not be watching one of the config directories for changes.
Rather than dropping and readding, change the OS-dependent monitoring
API to simply take a new set of directories to monitor. Implicit
in this is that the OS-specific layer needs to keep track of the
previously monitored set.
|
|
|
|
| |
Patch from Fedora.
|
|
|
|
| |
These files are part of the docs and should appear in tarballs.
|
|
|
|
|
|
|
|
| |
The reload handling for activation simply dropped all knowledge
of pending activations, which was clearly wrong. Refactor things
so that reload only reloads directories, server address etc.
Based on a patch originally from Matthias Clasen <mclasen@redhat.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(Commit message written by Colin Walters <walters@verbum.org>)
A current Fedora goal is to convert projects to libcap-ng which
more easily allows dropping Linux capabilities. For software
which also links to libdbus, it's problematic to link against
libcap as well.
Though really, libdbus should have never linked against libcap
in the first place, which is another thing this patch changes
by moving the libcap-using bits out of dbus/ and into bus/.
https://bugzilla.redhat.com/show_bug.cgi?id=518541
|
|
|
|
|
| |
The reviewer list was sorely lacking actual email addresses; fix this.
Also add Will and Simon.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A variety of system components have migrated from legacy init into DBus
service activation. Many of these system components "daemonize", which
involves forking. The DBus activation system treated an exit as an
activation failure, assuming that the child process which grabbed the
DBus name didn't run first.
While we're in here, also differentiate in this code path between the
servicehelper (system) versus direct activation (session) paths. In
the session activation path our error message mentioned a helper
process which was confusing, since none was involved.
Based on a patch and debugging research from Ray Strode <rstrode@redhat.com>
|
|
|
|
|
|
|
| |
In practice, ay seems to be used mostly for binary data (in which case,
hex output is fine) or for Unix file paths (because they may be
non-UTF-8) and similar human-readable strings. So let's print the latter
similarly to strings.
|
| |
|
| |
|
|
|
|
|
| |
It would have been much easier to diagnose fd.o#19723 if the error
message had said more than just "Message is corrupted".
|
| |
|
|
|
|
|
|
|
| |
Previously dbus_message_iter_get_arg_type() was called twice: once in
the loop condition to update 'current_type', and once to check if the
loop will run again. This patch moves updating current_type to the end
of the loop body.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The timeout handling code subtracts the elapsed time from the timeout
each time a message is received, which drastically reduces the timeout
in circumstances such as service activation.
Correct so that the timeout is never modified, and the elapsed time
instead subtracted where necessary.
Signed-off-by: James Westby <jw+debian@jameswestby.net>
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
|
| |
|
|
|
|
| |
Signed-off-by: Colin Walters <walters@verbum.org>
|
|
|
|
| |
Handle SIGINT in the same way we handle SIGTERM.
|
|
|
|
|
|
|
| |
libdbus-convenience may use system libraries, but not the other way
round. Most platforms don't care, but on some platforms this means that
system libraries need to be listed after libdbus-convenience.la on the
link line.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current SIGINT handling of dbus-monitor ain't making too many people
happy since it defers the exit to the next msg received -- which might
be quite some time away often enough.
This patch replaces the SIGINT handling by simply enabling line-buffered
IO for STDOUT so that even if you redirect dbus-monitor into a file no
lines get accidently lost and the effect of C-c is still immediate.
halfline came up with the great idea to use setvbuf here instead of
fflush()ing after each printf().
(Oh and the old signal handler was broken anyway, the flag should have
been of type sigatomic_t and be marked volatile)
Signed-off-by: Colin Walters <walters@verbum.org>
|
|
|
|
|
| |
Explicitly link dbus_convenience.la against DBUS_CLIENT_LIBS
because it uses $THREAD_LIBS, just like the main library does.
|
| |
|
|
|
|
|
|
| |
Define POSIX_PTHREAD_SEMANTICS earlier so more things use it.
Signed-off-by: Colin Walters <walters@verbum.org>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is a temporary hack for systems which use DBUS_BINDIR=/bin,
but then move dbus-launch back into /usr/bin. Longer term,
we should explicitly support this in upstream code, or even better
figure out how to move dbus-launch into /bin (e.g. dynamically
load libX11 if available), or have a --with-x11-tools configure
option.
(cherry picked from commit 70c5285eb4b757fdd4e552e002c5d54072492152)
|
|
|
|
|
|
|
|
|
| |
Fixes dbus on FreeBSD and DragonFly systems.
The patch is obtained from FreeBSD ports tree.
Signed-off-by: Colin Walters <walters@verbum.org>
(cherry picked from commit 7bf132c7d15c1d8214b11442f053f7d53bca9a8f)
|
|
|
|
|
| |
Signed-off-by: Colin Walters <walters@verbum.org>
(cherry picked from commit e4b271e2425a36884b5e3e70e6a32d440b41d145)
|
|
|
|
|
| |
Signed-off-by: Colin Walters <walters@verbum.org>
(cherry picked from commit 97c58ace430fb58cedfc1e5c83db9759063b6946)
|
|
|
|
|
|
|
| |
s/dbus_bus_add_watch/dbus_bus_add_match/
Signed-off-by: Colin Walters <walters@verbum.org>
(cherry picked from commit 249f89181c4db5b15aab15472bb72402527434f5)
|
|
|
|
|
|
| |
The canonical copyright information in the source file says we
allow later versions of the GPL. So note that in COPYING too.
(cherry picked from commit f908daed82d61df44710a8ec681558c6d23b940d)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch based on extensive work from Michael Meeks <michael.meeks@novell.com>,
thanks to Dafydd Harries <dafydd.harries@collabora.co.uk>,
Kimmo Hämäläinen <kimmo.hamalainen@nokia.com> and others.
The basic idea with this bug is that we effectively ignore errors
on write. Only when we're done reading from a connection do we
close down a connection. This avoids a race condition where
if a process (such as dbus-send) exited while we still had
data to read in the buffer, we'd miss that data.
(cherry picked from commit 0e36cdd54964c4012acec2bb8e598b85e82d2846)
|
|
|
|
|
|
|
| |
Split out the process-launching code, which can be reused for
other applications; in particular, a forthcoming patch to parse
output from launchd for MacOS X.
(cherry picked from commit 6b163e95e7a2318a98c16c0d0944337e38e62efa)
|
|
|
|
|
|
|
|
| |
On some platforms such as MacOS X and Windows, we can't depend
on an environment variable to determine the address of the
session bus. Create a sysdep function dbus_lookup_session_address
which can be filled in with platform-specific code.
(cherry picked from commit 6478ec6949c6bb794237b43d03b68f80eba1288c)
|
|
|
|
|
|
|
|
| |
We don't get the number of groups, so allocate an arbitrary
larger array.
Signed-off-by: Colin Walters <walters@space-ghost.verbum.org>
(cherry picked from commit c71403ddde230378e3beffee21a3d1fe6edc9bce)
|
|
|
|
|
| |
Signed-off-by: Colin Walters <walters@space-ghost.verbum.org>
(cherry picked from commit ccfa8e51549f36e09f90a4f5822523a0f50201fc)
|
|
|
|
|
|
|
|
|
| |
Patch based on one from Keith Mok <ek9852@gmail.com>, some
followup work from Janne Karhunen <Janne.Karhunen@gmail.com>.
We don't want condition variable timeouts to be affected by the system clock.
Use the POSIX CLOCK_MONOTONIC if available.
(cherry picked from commit ae24bb35e2ee3ecde990f55852982b573754ec43)
|
|
|
|
|
|
|
| |
This prevents it leaking into spawned child processes.
Signed-off-by: Colin Walters <walters@verbum.org>
(cherry picked from commit f4e15893e5be6da6c7642bb7ef9b14d5531afe41)
|
|
|
|
|
| |
This prevents the flags from screwing up autoconf tests.
(cherry picked from commit 98bbe8c7941f2c643dc55b4e7329c0da57d2c7bc)
|
|
|
|
|
|
|
|
| |
Locking a message has the side-effect of updating the message's length
header. Previously, if dbus_message_marshal() was called on an unlocked
message, it could yield an invalid message (as discovered by Ben
Schwartz in <http://bugs.freedesktop.org/show_bug.cgi?id=19723>).
(cherry picked from commit 9f825271f9106c23fe51ab54abdb5156b7751014)
|
|
|
|
|
| |
Include the right headers.
(cherry picked from commit fe86222d10f0b2532be314a58841db82b1f5887e)
|
|
|
|
|
|
|
| |
No comment.
Signed-off-by: Colin Walters <walters@verbum.org>
(cherry picked from commit 5baf2f856a9c6625993234855b07680da1c8916f)
|
|
|
|
|
|
|
| |
Original suggested patch from Marc-Andre Lureau <marcandre.lureau@gmail.com>
Explicitly cast to unsigned char before we do comparisons.
(cherry picked from commit 1f6ac4deef91df3130c61525a2800e6b8a0ddcbf)
|
|
|
|
|
| |
We use usleep here.
(cherry picked from commit e5310abd6cbc4c2e1a9df54f097d6642ad0833c6)
|
|
|
|
|
|
|
|
|
|
| |
If other code in the process set a global SIGCHLD handler, it
will make autolaunching fail spuriously due to waitpid() failing.
This fix will temporarily block SIGCHLD delivery.
Signed-off-by: Colin Walters <walters@verbum.org>
(cherry picked from commit 644fc38b249b490981becda4b2de5261865bba23)
|
|
|
|
|
|
|
|
| |
In case of OOM when constructing an array, we should abandon the
container to free the resources.
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit 3f070088232f82fafce97c4fb3015da098fe00bf)
|
|
|
|
|
|
|
|
|
| |
It's not currently possible to abandon creation of a container without
either hitting asserts or leaking memory. This new function allows
that.
Signed-off-by: Scott James Remnant <scott@ubuntu.com>
(cherry picked from commit e57a368c440aec39caf6c3b491cf76ef615dc2e8)
|