Commit graph

3572 commits

Author SHA1 Message Date
Chengwei Yang
9665b8ecd8 FreeBSD: explicit include signal.h to fix build failure
In Linux envrionment, signal.h included by sys/wait.h, however, this
isn't the case in FreeBSD. So explicit include it to fix build failure.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=66197
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-26 13:04:01 +01:00
Chengwei Yang
11516f65d0 Fix build failure if build with tests but without verbose mode
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=66005
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-26 13:00:30 +01:00
Simon McVittie
e7503d188a _dbus_message_iter_check: compile non-dummy version if asserting, too 2013-06-25 12:29:30 +01:00
Chengwei Yang
e632ceab0a Explicitly define macros to get less confusing conditions
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=65990
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-25 12:26:59 +01:00
Chengwei Yang
2fe0e99934 Fix build failure if build with checks but without asserts
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=65990
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-25 12:26:04 +01:00
Simon McVittie
7038cdc249 Convert a{sv} helpers from Stats into generic utility code
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54445
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2013-06-25 12:25:51 +01:00
Chengwei Yang
a9e1c1c36b cmake: remove a duplicate line and fix coding style
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=66142
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-25 12:25:51 +01:00
Simon McVittie
75d4041a3d NEWS, noting build-time configuration change 2013-06-25 12:25:51 +01:00
Chengwei Yang
2e5eb7d82f cmake: fix a typo DBUS_DISABLE_ASSERTS should be DBUS_DISABLE_ASSERT
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=66142
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-25 12:25:51 +01:00
Ralf Habacker
147a65270d Use Doxyfile.in for cmake build system too.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=64875
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-24 14:39:01 +02:00
Chengwei Yang
db80dcb6cb Fix build failure if build with "--enable-stats"
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=66004
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-24 13:08:54 +01:00
Chengwei Yang
e1837696ef DBus Specification: remove incorrect table description
I doubt this line was copied by mistake from section "Summary of types".

Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=66115
2013-06-24 12:44:00 +01:00
Ralf Habacker
46cc82e1bb Let dbus-daemon not print unavailable options on windows.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=42441
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-20 13:51:13 +01:00
Colin Walters
3a43d4aef2 connection: Add incoming message serials to verbose mode logging
This helps pair up messages with verbose mode output from the other
side of a connection.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=63047
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-20 13:47:27 +01:00
Simon McVittie
8b774c5f3b NEWS 2013-06-20 13:32:20 +01:00
Chengwei Yang
dd2ca80e3f dbus-send: Fix fail to run without "--dest" option
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=65923
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-20 13:30:40 +01:00
Simon McVittie
f2ea8ccc11 Merge branch 'dbus-1.6'
Conflicts:
	NEWS
2013-06-20 13:24:41 +01:00
Simon McVittie
931c9663b7 NEWS for #65959 2013-06-20 13:20:08 +01:00
Chengwei Yang
8eb29fda10 DBusString: fix may crash if try to free an uninitialized str
If the str will be freed hasn't been initialized by _dbus_string_init
correctly, _dbus_string_free may crash due to trying to free an
undefined memory.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=65959
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-20 13:16:25 +01:00
Chengwei Yang
7e1820aa89 Doc: fix invalid usage of doxygen @param command
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=65755
2013-06-20 13:15:22 +01:00
Ralf Habacker
9ddf5fb757 Fix of cmake xmldoc dependencies chain.
This patch fixes an issues that xml documentation is generated on all builds regardless
if related files has been changed or not.

The patch adds a global xmldoc make target to which all generated html or man files are
added as build dependency. Each dependency itself depends on related CMakeLists.txt and
the xml file generated from the related xml.in file.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=64058
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-18 18:55:05 +02:00
Ralf Habacker
ab786800d5 Fixed wrong path for generated xml files when creating man pages with cmake.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=64058
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-18 18:51:33 +02:00
Simon McVittie
83aaa9f359 Add a statically-initialized implementation of _dbus_lock() on glibc systems
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54972
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Alban Crequy <alban.crequy@collabora.co.uk>
Reviewed-by: Anas Nashif <anas.nashif@intel.com>
2013-06-17 17:06:01 +01:00
Simon McVittie
08391b1461 Always initialize threading before allocating a dynamic mutex
Dynamic allocation of mutexes can fail anyway, so this is easy.

Justification for not keeping the dummy mutex code-paths, even as an
opt-in thing for processes known to be high-performance and
single-threaded: real mutexes only cut the throughput of
test/dbus-daemon.c by a couple of percent on my laptop (from around
6700 to around 6600 messages per second), and libdbus crashes caused
by not calling dbus_threads_init_default() are sufficiently widespread
that they're wasting a lot of everyone's time.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54972
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Alban Crequy <alban.crequy@collabora.co.uk>
Reviewed-by: Anas Nashif <anas.nashif@intel.com>
2013-06-17 17:01:22 +01:00
Simon McVittie
2b3272c75a Make taking a global lock automatically initialize locking if needed
This lets them be thread-safe by default, at the cost that they can
now fail.

init_uninitialized_locks() and init_global_locks() must now both
reimplement the equivalent of _dbus_register_shutdown_func(), by using
_dbus_platform_rmutex_lock() on the same underlying mutex around a call
to _dbus_register_shutdown_func_unlocked().

This is because if they used the usual _DBUS_LOCK() API (as
_dbus_register_shutdown_func() does), it would automatically try to
initialize global locking, leading to infinite recursion.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54972
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Alban Crequy <alban.crequy@collabora.co.uk>
Reviewed-by: Anas Nashif <anas.nashif@intel.com>
2013-06-17 17:00:00 +01:00
Simon McVittie
c80c20af46 Replace individual global-lock variables with an array of DBusRMutex *
This means we can use a much simpler code structure in data-slot
allocators: instead of giving them a DBusRMutex ** at first-allocation,
we can just give them an index into the array, which can be done
statically.

It doesn't make us any more thread-safe-by-default - the mutexes will
only actually be used if threads were already initialized - but it's
substantially better than nothing.

These locks really do have to be recursive: for instance,
internal_bus_get() calls dbus_bus_register() under the bus lock,
and dbus_bus_register() can call _dbus_connection_close_possibly_shared(),
which takes the bus lock.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54972
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Alban Crequy <alban.crequy@collabora.co.uk>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
Reviewed-by: Anas Nashif <anas.nashif@intel.com>
2013-06-17 16:53:51 +01:00
Simon McVittie
7e9ee6c82e start spec 0.22 development 2013-06-13 16:19:08 +01:00
Simon McVittie
57db30169f Fix Werror=unused-function if build without X11
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=65712
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-13 16:18:30 +01:00
Simon McVittie
1a69f641fb Start on 1.7.5, add release name for 1.7.4 2013-06-13 13:47:19 +01:00
Simon McVittie
ba0f90c16f Add release name for 1.6.12 2013-06-13 13:46:33 +01:00
Simon McVittie
46d73712ab Prepare 1.7.4 for tomorrow 2013-06-12 19:49:44 +01:00
Simon McVittie
74651d3b17 Move libdbus-init-win.cpp to its own convenience library
Otherwise libdbus-1 ends up linked as if it contained C++, even
on Unix, where it doesn't; in turn, that makes it export all the
underscore-prefixed symbols that aren't meant to be exported.

Reviewed-by: Thiago Macieira <thiago@kde.org>
Reviewed-by: David Zeuthen <davidz@redhat.com>
2013-06-12 19:47:15 +01:00
Simon McVittie
dab4284a24 NEWS 2013-06-12 19:01:07 +01:00
Simon McVittie
7385459f89 Fix an incorrect comment
_dbus_threads_lock_platform_specific() is implemented on Windows now.
2013-06-12 17:27:54 +01:00
Simon McVittie
b54067510f Revert "start spec 0.22 development"
This reverts commit 82b3d94ab1.
2013-06-12 17:25:29 +01:00
Simon McVittie
0553e53de0 _dbus_system_logv: copy the va_list here too
This would crash if HAVE_SYSLOG_H is defined, HAVE_DECL_LOG_PERROR
is false, and the platform calling convention is that va_list is a
struct. Verified on Linux by undefining HAVE_DECL_LOG_PERROR.

Reviewed-by: Colin Walters <walters@verbum.org>
2013-06-12 17:23:28 +01:00
Simon McVittie
51fe1c05ac Merge branch 'dbus-1.6'
Conflicts:
	NEWS
	configure.ac
2013-06-12 14:49:37 +01:00
Simon McVittie
22fd9df043 Start 1.6.13 2013-06-12 14:46:24 +01:00
Simon McVittie
159fdbf680 Prepare embargoed release for tomorrow 2013-06-12 14:02:31 +01:00
Simon McVittie
2420f7ae8b Add a test-case for CVE-2013-2168
Reviewed-by: Thiago Macieira <thiago@kde.org>
[build system adjusted to compile it even if we don't have GLib -smcv]
2013-06-12 13:56:39 +01:00
Simon McVittie
954d75b2b6 CVE-2013-2168: _dbus_printf_string_upper_bound: copy the va_list for each use
Using a va_list more than once is non-portable: it happens to work
under the ABI of (for instance) x86 Linux, but not x86-64 Linux.

This led to _dbus_printf_string_upper_bound() crashing if it should
have returned exactly 1024 bytes. Many system services can be induced
to process a caller-controlled string in ways that
end up using _dbus_printf_string_upper_bound(), so this is a denial of
service.

Reviewed-by: Thiago Macieira <thiago@kde.org>
2013-06-12 13:55:53 +01:00
Simon McVittie
355b470da7 NEWS for 1.6.x 2013-06-12 13:42:58 +01:00
Chengwei Yang
16f3b1246c Fix dbus-daemon crash due to invalid service file
dbus-daemon will crash due to invalid service file which key/value
starts before section. In that situation, new_line() will try to access
invalid address.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=60853
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-12 13:42:00 +01:00
Simon McVittie
9e800cbb00 NEWS
Also update README to not mention libxml2.
2013-06-06 13:18:06 +01:00
Chengwei Yang
c690ee4351 dbus-send: check usage a bit strictly
This commit does several more strictly check for dbus-send as its usage
suggested.

* now --address is an invalid option but --address=, this just like the
  others, say --reply-timeout=, --dest=, --type=
* --print-reply= only take an optional argument "=literal"
* --print-reply= will cause error with missing MSEC and invalid MSEC
  will cause invalid value error
* --dest= will cause error with missing a NAME and also call
  dbus_validate_bus_name to verify the NAME

Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=65424
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-06 13:07:51 +01:00
Chengwei Yang
c9b942e56f Assign default value to enable compiler coverage
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=65424
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-06 13:05:38 +01:00
Chengwei Yang
049a132b86 Fix a typo: enable_x11 -> have_x11
From git history, enable_x11 was used to track have_x11, but it's
useless now.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=65443
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-06 13:04:38 +01:00
Chengwei Yang
46602768c5 XML: hard depends on expat and delete libxml
[The libxml code path has been broken for at least 2.5 years, and Expat
is tiny, so there seems no point in supporting both. -smcv]

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=20253
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-06 13:02:24 +01:00
Chengwei Yang
0a76508672 Fix dbus-daemon crash due to invalid service file
dbus-daemon will crash due to invalid service file which key/value
starts before section. In that situation, new_line() will try to access
invalid address.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=60853
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-06 12:58:56 +01:00
Chengwei Yang
ff641bdb2f Do not suggest user to do 'make' if configure failed
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=65415
Signed-off-by: Chengwei Yang <chengwei.yang@intel.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-06-06 12:57:40 +01:00