| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add DBUS_INVALID_NESTED_TOO_DEEPLY validity problem and a test that
should generate it.
Previously, we rejected deep nesting in the signature, but
variants allow dynamic message nesting, conditional only
on the depth of the message body.
The nesting limit is 64, which was also the limit in static
signatures. Empirically, dynamic nesting depth observed on my
Fedora 14 system doesn't exceed 2; 64 is really a huge limit.
https://bugs.freedesktop.org/show_bug.cgi?id=32321
Signed-Off-By: Colin Walters <walters@verbum.org>
Signed-off-by: Will Thompson <will.thompson@collabora.co.uk>
Conflicts:
dbus/dbus-marshal-validate.h
|
| |
|
|
|
|
|
|
|
|
| |
See https://bugzilla.redhat.com/show_bug.cgi?id=521797
We have two init scripts, and commit 05283235632bc8891aaa3047563cb4
patched the "wrong" (i.e. slackware) one. Patch one that ships
with real operating systems too.
|
|
|
|
|
|
|
| |
This helps to avoid 'Address already in use' problems if server has been shut
down, and then restarted while sockets are still active on its port.
Signed-off-by: Steffen Sledz <sledz@dresearch.de>
|
|
|
|
| |
This is needed for the libxml parser backend.
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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!
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Really we don't have any interesting cleanup to do, so just
let the process die.
https://bugs.freedesktop.org/show_bug.cgi?id=26303
|
|
|
|
|
|
|
| |
There were already defines for formatting pids and uids, so use those.
In the case where we don't have a format specifier for 64 bit, print
(omitted) in dbus-monitor.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=19195
We were previously using -Wno-format because we didn't have
a #define for DBUS_INT64_MODIFIER, which was really lame because
it easily hid problems.
For now, just define it if we're on glibc; this is obviously
not strictly correct but it's safe, because the formatting
is only used in DBUS_VERBOSE mode, and in tools/dbus-monitor.
Ideally we get the the glib code relicensed.
|
|
|
|
| |
Otherwise we don't get GCC warnings.
|
| |
|
|
|
|
|
|
|
|
| |
Previously, if a method call activated a service, it would only be
delivered to that service, and not to other services with match rules
which should match. This patch replaces the improperly-duplicated
dispatch code in activation.c with a call back into the normal dispatch
code, fixing this bug (fd.o#26427).
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This test, while extensive, has the serious flaw of effectively
spinning on _dbus_connection_do_iteration_unlocked. Any tests
like this should be using the internal DBus mainloop, which
I don't have time to port it to before doing a release.
|
|
|
|
|
|
| |
Basically honor the no_reply flag; a binding is likely to want to
set this so it doesn't have to process extra traffic for match
rules.
|
|
|
|
|
|
|
|
|
|
|
| |
https://bugzilla.redhat.com/show_bug.cgi?id=572769
Previously we'd just continue if AVC initialization failed, but
that didn't really work because then we'd later crash in
avc_has_perm.
Simply treat initialization failures as fatal, and hopefully we
can get data from the system log.
|
|
|
|
|
|
|
|
|
| |
Previously we were simply logging as "dbus", and it was unclear
whether it was the system bus, or a session bus. And if the latter,
which user?
This patch adds a prefix to the log message with the bus type
and the userid.
|
|
|
|
| |
Convert the credentials to a string; useful for logging.
|
|
|
|
|
| |
This severity is useful for when we encounter a fatal problem; we
get a log message out, then exit.
|
|
|
|
|
| |
In preparation for a future patch which introduces a fatal logging level,
don't duplicate the API here.
|
|
|
|
|
|
| |
read() returns a signed value, whereas the byte count is unsigned.
Signed-off-by: Colin Walters <walters@verbum.org>
|
| |
|
|
|
|
|
|
|
|
| |
http://bugs.freedesktop.org/show_bug.cgi?id=12953
Wait for memory if we can't init the string.
Based on an original patch by Kimmo Hämäläinen <kimmo.hamalainen@nokia.com>
|
|
|
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=9486
When describing DBUS_COOKIE_SHA1, specify that lower-case hex encoding
must be used.
|
|
|
|
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=23957
Previously we detected glibc support at compile time and used
it unconditionally; better to try it and fall back, this way
we continue to run on older kernels when compiled for newer ones.
|
|
|
|
| |
Signed-off-by: Thiago Macieira <thiago@kde.org>
|
|
|
|
|
|
| |
By rough consensus, and to keep up with the cool kids.
Note to builders: you need to use V=1 to enable verbose mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://lists.freedesktop.org/archives/dbus/2010-March/012337.html
Previously, the watch handler would block until the I/O path was available.
However, if another non-main thread was doing a synchronous call, this would
cause the main thread to block on that thread, a highly undesirable
thing because it's important for the main thread to remain responsive
for user interfaces.
Signed-off-by: Colin Walters <walters@verbum.org>
Signed-off-by: Thiago Macieira <thiago@kde.org>
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=26859
|
|
|
|
|
|
|
|
| |
See https://bugzilla.gnome.org/show_bug.cgi?id=107427 for rationale
behind the first change.
The documentation was derived from an IRC conversation with
Behdad Esfahbod.
|
|
|
|
|
|
|
|
|
| |
It's not expected to have to manually SIGHUP the bus after installing
a new .service file. Since our directory monitoring is already set
up to queue a full reload which includes service activation, simply
monitor the servicedirs too.
https://bugs.freedesktop.org/show_bug.cgi?id=23846
|
|
|
|
| |
https://bugs.freedesktop.org/show_bug.cgi?id=26421
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
_dbus_change_to_daemon_user moved into selinux.c for the --with-selinux
(and audit) case because that's where all of the relevant libcap headers
were being used. However in the --disable-selinux case this didn't
compile and wasn't very clean.
If we don't have libaudit, use the legacy direct setgid/setuid bits
we had before in dbus-sysdeps-util-unix.c.
|
|
|
|
|
|
|
|
|
| |
We were incorrectly passing NULL for a DBusList when the usage expected
is a pointer to a NULL DBusList pointer. Also during dbus_shutdown
we need to actually close the inotify fd, and remove our watch.
Move the shutdown handler out of bus.c and into inotify where we
can do all of this cleanly.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
_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.
|