summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Release 1.6.6dbus-1.6.6Colin Walters2012-09-282-2/+7
|
* activation-helper: Ensure DBUS_STARTER_ADDRESS is set correctlyGeoffrey Thomas2012-09-281-11/+5
| | | | | | | | | | | | | | | | The fix for CVE-2012-3524 filters out all environment variables if libdbus is used from a setuid program, to prevent various spoofing attacks. Unfortunately, the activation helper is a setuid program linking libdbus, and this creates a regression for launched programs using DBUS_STARTER_ADDRESS, since it will no longer exist. Fix this by hardcoding the starter address to the default system bus address. Signed-off-by: Geoffrey Thomas <gthomas@mokafive.com> Signed-off-by: Colin Walters <walters@verbum.org>
* hardening: Remove activation helper handling for DBUS_VERBOSEColin Walters2012-09-281-13/+1
| | | | | | It's not really useful. See https://bugs.freedesktop.org/show_bug.cgi?id=52202#c17
* hardening: Use __secure_getenv() in *addition* to _dbus_check_setuid()Colin Walters2012-09-282-0/+12
| | | | | | | | | | | This is a further security measure for the case of Linux/glibc when we're linked into a binary that's using filesystem capabilities or SELinux domain transitions (i.e. not plain old setuid). In this case, _dbus_getenv () will return NULL because it will use __secure_getenv(), which handles those via AT_SECURE. https://bugs.freedesktop.org/show_bug.cgi?id=52202
* hardening: Ensure _dbus_check_setuid() is initialized threadsafe mannerColin Walters2012-09-281-0/+5
| | | | | | This is a highly theoretical concern, but we might as well. https://bugs.freedesktop.org/show_bug.cgi?id=52202
* hardening: Use __secure_getenv if availableColin Walters2012-09-282-1/+7
| | | | | | | | This helps us in the case where we were executed via filesystem capabilities or a SELinux domain transition, not necessarily a plain old setuid binary. https://bugs.freedesktop.org/show_bug.cgi?id=52202
* CVE-2012-3524: Don't access environment variables or run dbus-launch when setuidColin Walters2012-09-286-1/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This matches a corresponding change in GLib. See glib/gutils.c:g_check_setuid(). Some programs attempt to use libdbus when setuid; notably the X.org server is shipped in such a configuration. libdbus never had an explicit policy about its use in setuid programs. I'm not sure whether we should advertise such support. However, given that there are real-world programs that do this currently, we can make them safer with not too much effort. Better to fix a problem caused by an interaction between two components in *both* places if possible. How to determine whether or not we're running in a privilege-escalated path is operating system specific. Note that GTK+'s code to check euid versus uid worked historically on Unix, more modern systems have filesystem capabilities and SELinux domain transitions, neither of which are captured by the uid comparison. On Linux/glibc, the way this works is that the kernel sets an AT_SECURE flag in the ELF auxiliary vector, and glibc looks for it on startup. If found, then glibc sets a public-but-undocumented __libc_enable_secure variable which we can use. Unfortunately, while it *previously* worked to check this variable, a combination of newer binutils and RPM break it: http://www.openwall.com/lists/owl-dev/2012/08/14/1 So for now on Linux/glibc, we fall back to the historical Unix version until we get glibc fixed. On some BSD variants, there is a issetugid() function. On other Unix variants, we fall back to what GTK+ has been doing. Reported-by: Sebastian Krahmer <krahmer@suse.de> Signed-off-by: Colin Walters <walters@verbum.org>
* NEWSSimon McVittie2012-09-031-0/+2
|
* Detect MSG_NOSIGNAL and SCM_RIGHTS on OpenBSDBrad Smith2012-09-031-1/+3
| | | | | | | On OpenBSD, sys/socket.h requires sys/types.h to be included first. Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54418
* Revert "cmake: use the same default system bus address as for autotools"Simon McVittie2012-08-133-23/+7
| | | | This reverts commit 05b0b9e65b6a58f0b0cb56d6ee8cf100061250b3.
* Revert "Split DBUS_SESSION_BUS_DEFAULT_ADDRESS into listen, connect ↵Simon McVittie2012-08-138-76/+24
| | | | | | | | addresses and set better defaults" This reverts commit b5d36dc27d1905d4d46ad7f0097f0ea0e0776adb. On second thoughts, this is too big a change for a stable branch.
* Split DBUS_SESSION_BUS_DEFAULT_ADDRESS into listen, connect addresses and ↵Simon McVittie2012-08-138-24/+76
| | | | | | | | | | | | | | | | set better defaults On Unix, the connect address should basically always be "autolaunch:" but the listen address has to be something you can listen on. On Windows, you can listen on "autolaunch:" or "autolaunch:scope=*install-path", for instance, and the dbus-daemon is involved in the auto-launching process. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=38201 Reviewed-by: David Zeuthen <davidz@redhat.com> [default address changed to autolaunch: for interop with GDBus -smcv] Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
* cmake: use the same default system bus address as for autotoolsSimon McVittie2012-08-133-7/+23
| | | | | | | | | | | The system bus is unsupported (and rather meaningless) on Windows anyway, so we can use anything. Also, make it clear that it has to be a "specific" address that can be listened on *and* connected to, like unix:path=/xxx - a listen-only address like unix:tmpdir=/xxx or nonce-tcp: would not be suitable. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=38201 Reviewed-by: David Zeuthen <davidz@redhat.com>
* NEWSSimon McVittie2012-08-091-1/+2
|
* Define __EXTENSIONS__ on Solaris to get sockaddr_in6 and sockaddr_storageJonathan Perkin2012-08-091-0/+2
| | | | | | [smcv: comments updated, commit message added] Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=53286
* Check HAVE_DECL_LOG_PERROR with #if, not #ifdefJonathan Perkin2012-08-091-1/+1
| | | | | | | | It's always defined. [smcv: commit message added] Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=53286
* 1.6.5Simon McVittie2012-07-182-1/+6
|
* Prepare 1.6.4 releasedbus-1.6.4Simon McVittie2012-07-182-2/+6
|
* Fix launching of dbus-daemon on Windows in paths containing spacesWolfgang Baron2012-07-181-3/+4
| | | | | | | | | | | If dbus is installed in a path, which contains a space, dbus-launch will not launch the daemon. That is so, because a command line is built from just the path to the daemon and a parameter. The path has to be surrounded with quotes. This can be done unconditionally, because the quotes do not cause any trouble even if they are not needed. Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=49450
* NEWSSimon McVittie2012-07-031-0/+6
|
* Set enable-developer default to 'no'Simon McVittie2012-07-031-2/+3
| | | | | | | | | | | Misplaced [] and () led to enable_developer=no being part of the option's documentation instead of actually being the default value. Regression in 1.6.2, caused by #34671. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=51657 Bug-Debian: http://bugs.debian.org/680027 Reviewed-by: David Zeuthen <davidz@redhat.com>
* DBusTransport: do not assert that autolaunch address is non-emptySimon McVittie2012-07-031-1/+0
| | | | | | | | | | dbus-launch can apparently return an empty address under certain circumstances, and dbus_parse_address() in the next line will return a nice DBusError for an empty address rather than aborting the process. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=51657 Bug-Debian: http://bugs.debian.org/680027 Reviewed-by: David Zeuthen <davidz@redhat.com>
* NEWSSimon McVittie2012-06-281-1/+3
|
* Properly concat DBUS_CONSOLE_AUTH_DIR with usernameDave Reisner2012-06-281-2/+3
| | | | | | | | This removes the assumption that DBUS_CONSOLE_AUTH_DIR ends with a trailing /. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=51521 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
* Resume developmentSimon McVittie2012-06-272-1/+6
|
* Second go at 1.6.2dbus-1.6.2Simon McVittie2012-06-272-2/+2
|
* Revise NEWS to not mention --exit-with-x11Simon McVittie2012-06-271-3/+0
|
* Still recommend --exit-with-session in documentation, --exit-with-x11 was ↵Simon McVittie2012-06-271-4/+4
| | | | reverted
* Revert "dbus-launch: add --exit-with-x11 option"Simon McVittie2012-06-272-47/+12
| | | | This reverts commit fcc656d430f53ad62c25e41d7e7bd880cbb726a0.
* Stop release preparation, --exit-with-x11 doesn't workSimon McVittie2012-06-252-2/+2
|
* Prepare 1.6.2Simon McVittie2012-06-252-3/+11
|
* Create /var/lib/dbus explicitly rather than as a side-effectSimon McVittie2012-06-251-3/+6
| | | | | | | | | Since Automake 1.11.4, an empty localstatelib_DATA variable will not create $(localstatelibdir) as a side-effect. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=51406 Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by: Lennart Poettering <lennart@poettering.net>
* dbus_pending_call_set_notify: don't leave the connection locked on OOMSimon McVittie2012-06-251-2/+6
| | | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=51032 Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by: Lennart Poettering <lennart@poettering.net>
* NEWSSimon McVittie2012-06-251-1/+5
|
* Enable Automake maintainer mode by default, but let distros disable itSimon McVittie2012-06-252-2/+4
| | | | | | | | See http://blogs.gnome.org/desrt/2011/09/08/am_maintainer_mode-is-not-cool/ for more information. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34671 Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
* Set configure defaults from --enable-developer, not Automake maintainer modeSimon McVittie2012-06-252-8/+13
| | | | | | | | | | | | | | | Automake maintainer mode isn't about whether you're a maintainer or not (although its name would suggest that), it's about whether files that are normally distributed in the tarball get regenerated. As such, it's not really appropriate to use it to drive defaults for things like assertions and extra test code. The desired effect is that developers building from git normally get tests and assertions, while distribution packagers don't. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34671 Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by: Colin Walters <walters@verbum.org>
* NEWSSimon McVittie2012-06-151-3/+8
|
* On Unix, link libdbus to a platform-specific threading librarySimon McVittie2012-06-152-0/+6
| | | | | | | | | On Linux, this is libpthread; on other Unixes, in principle it might be called libpthreads or libthreads or something. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=47237 Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
* When not producing a dynamic library, define DBUS_STATIC_BUILDSimon McVittie2012-06-155-2/+16
| | | | | | | | | | | | When targeting Windows, linking against the static library requires special effort to turn off DLL import/export processing. We normally link some things against the dynamic library, but if we're not building that, we'll have to link everything statically. Based on patches from 'william' on fd.o #46367. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=33973 Tested-by: René Berber <Rene.Berber gmail com>
* NEWSSimon McVittie2012-06-151-0/+6
|
* Document that dbus-launch is not dbus-run-sessionSimon McVittie2012-06-151-0/+13
| | | | | | | | | | Architectural assumptions inside dbus-launch mean that it is unsuitable for use in contexts where a particular process's lifetime defines the session, unless there is an out-of-band mechanism (like the X server) which can signal the end of the session. Reviewed-by: Will Thompson <will.thompson@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=39197
* dbus-launch: revise recommendations and put them in an EXAMPLES sectionSimon McVittie2012-06-151-17/+32
| | | | | | | | | | | | | | The first thing we should talk about is how to get a D-Bus session in your X session - that's the common case. Secondarily, we can tell command-line addicts how to have a D-Bus session. Do not recommend --exit-with-session here, since that polls (and reads from) stdin, which is harmful to precisely those command-line users! Until we have some better tool, the best we can do here is note that the dbus-daemon is not automatically terminated. Reviewed-by: Will Thompson <will.thompson@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=39197
* dbus-launch: add --exit-with-x11 optionSimon McVittie2012-06-152-12/+47
| | | | | | | | | This is more suitable for distributions' Xsession scripts: it verifies that X is already available, and so never results in an attempt to poll stdin. Reviewed-by: Will Thompson <will.thompson@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=39197
* dbus-launch: if using X to define the session lifetime, do not poll stdinSimon McVittie2012-06-151-4/+13
| | | | | | | | | | | | | | | | | | | | | | dbus-launch --exit-with-session attempts to scope the session length to various things: - if DISPLAY points to an X server, exit when the X session ends - if stdin is a terminal, exit when end-of-file is reached - if both are true, exit when one of them happens, whichever is first - if neither is true, fail These are not particularly useful semantics: if the session is scoped to the X session, then the terminal from which dbus-launch was launched is irrelevant. This also causes practical problems when dbus-launch consumes characters from the terminal from which it happens to have been launched (some display managers, like slim and nodm, run users' X sessions with stdin pointing to the terminal from which the init daemon happens to have started the display manager during boot, usually tty1 on Linux). Reviewed-by: Will Thompson <will.thompson@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=39197
* document how the various processes in dbus-launch interactSimon McVittie2012-06-151-0/+41
| | | | | Reviewed-by: Will Thompson <will.thompson@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=39197
* Start 1.6.2 developmentSimon McVittie2012-06-052-1/+4
|
* Fix distcheck with newer Doxygen: remove *.js, too, during uninstalldbus-1.6.0Simon McVittie2012-06-051-0/+1
|
* Fix distcheck: remove potentially-read-only files from builddirSimon McVittie2012-06-051-0/+1
| | | | | | | | | During distcheck, the srcdir is read-only. During "make all", cp may preserve the read-only status of the file copied from the srcdir, resulting in failure to overwrite it with an identical file during "make check" (which depends on all-local). Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
* Prepare version 1.6.0 (new stable branch)Simon McVittie2012-06-052-5/+53
|
* _dbus_transport_new_for_tcp_socket: add missing commas to addressSimon McVittie2012-06-051-2/+2
| | | | | | | | | Ralf pointed out that the address doesn't round-trip correctly. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=45896 Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de> Tested-by: Ralf Habacker <ralf.habacker@freenet.de>