| D-Bus 1.10.8 (2016-03-07) |
| == |
| |
| The “digestive biscuits” release. |
| |
| Fixes: |
| |
| • Enable "large file support" on systems where it exists: dbus-daemon |
| is not expected to open large files, but it might need to stat files |
| that happen to have large inode numbers (fd.o #93545, Hongxu Jia) |
| |
| • Eliminate padding inside DBusMessageIter on 64-bit platforms, |
| which might result in a pedantic C compiler not copying the entire contents |
| of a DBusMessageIter; statically assert that this is not an ABI change |
| in practice (fd.o #94136, Simon McVittie) |
| |
| • Document dbus-test-tool echo --sleep-ms=N instead of incorrect --sleep=N |
| (fd.o #94244, Dmitri Iouchtchenko) |
| |
| • Correctly report test failures in C tests from run-test.sh |
| (fd.o #93379; amit tewari, Simon McVittie) |
| |
| • When tests are enabled, run all the marshal-validate tests, not just |
| the even-numbered ones (fd.o #93908, Nick Lewycky) |
| |
| • Correct the expected error from one marshal-validate test, which was |
| previously not run due to the above bug (fd.o #93908, Simon McVittie) |
| |
| D-Bus 1.10.6 (2015-12-01) |
| == |
| |
| The “marzipan beetles” release. |
| |
| Fixes: |
| |
| • On Unix when running tests as root, don't assert that root and |
| the dbus-daemon user can still call UpdateActivationEnvironment; |
| assert that those privileged users can call BecomeMonitor instead |
| (fd.o #93036, Simon McVittie) |
| |
| • On Windows, fix a memory leak in the autolaunch transport (fd.o #92899, |
| Simon McVittie) |
| |
| • On Windows Autotools builds, don't run tests that rely on |
| dbus-run-session and other Unix-specifics (fd.o #92899, Simon McVittie) |
| |
| D-Bus 1.10.4 (2015-11-17) |
| == |
| |
| The “Frostburn Canyon” release. |
| |
| Enhancements: |
| |
| • GetConnectionCredentials, GetConnectionUnixUser and |
| GetConnectionUnixProcessID with argument "org.freedesktop.DBus" |
| will now return details of the dbus-daemon itself. This is required |
| to be able to call SetEnvironment on systemd. |
| (fd.o #92857, Jan Alexander Steffens) |
| |
| Fixes: |
| |
| • Make UpdateActivationEnvironment always fail with AccessDenied on the |
| system bus. Previously, it was possible to configure it so root could |
| call it, but the environment variables were not actually used, |
| because the launch helper would discard them. |
| (fd.o #92857, Jan Alexander Steffens) |
| |
| • On Unix with --systemd-activation on a user bus, make |
| UpdateActivationEnvironment pass on its arguments to systemd's |
| SetEnvironment method, solving inconsistency between the environments |
| used for traditional activation and systemd user-service activation. |
| (fd.o #92857, Jan Alexander Steffens) |
| |
| • On Windows, don't crash if <syslog/> or --syslog is used |
| (fd.o #92538, Ralf Habacker) |
| |
| • On Windows, fix a memory leak when setting a DBusError from a Windows |
| error (fd.o #92721, Ralf Habacker) |
| |
| • On Windows, don't go into infinite recursion if we abort the process |
| with backtraces enabled (fd.o #92721, Ralf Habacker) |
| |
| • Fix various failing tests, variously on Windows and cross-platform: |
| · don't test system.conf features (users, groups) that only make sense |
| on the system bus, which is not supported on Windows |
| · don't call _dbus_warn() when we skip a test, since it is fatal |
| · fix computation of expected <standard_session_servicedirs/> |
| · when running TAP tests, translate newlines to Unix format, fixing |
| cross-compiled tests under Wine on Linux |
| · don't stress-test refcounting under Wine, where it's really slow |
| · stop assuming that a message looped-back to the test will be received |
| immediately |
| · skip some system bus tests on Windows since they make no sense there |
| (fd.o #92538, fd.o #92721; Ralf Habacker, Simon McVittie) |
| |
| D-Bus 1.10.2 (2015-10-26) |
| == |
| |
| The “worst pies in London” release. |
| |
| Fixes: |
| |
| • Correct error handling for activation: if there are multiple attempts |
| to activate the same service and it fails immediately, the first attempt |
| would get the correct reply, but the rest would time out. We now send |
| the same error reply to each attempt. (fd.o #92200, Simon McVittie) |
| |
| • If BecomeMonitor is called with a syntactically invalid match rule, |
| don't crash with an assertion failure, fixing a regression in 1.9.10. |
| This was not exploitable as a denial of service, because the check |
| for a privileged user is done first. (fd.o #92298, Simon McVittie) |
| |
| • On Linux with --enable-user-session, add the bus address to the |
| environment of systemd services for better backwards compatibility |
| (fd.o #92612, Jan Alexander Steffens) |
| |
| • On Windows, fix the logic for replacing the installation prefix |
| in service files' Exec lines (fd.o #83539; Milan Crha, Simon McVittie) |
| |
| • On Windows, if installed in the conventional layout with ${prefix}/etc |
| and ${prefix}/share, use relative paths between bus configuration files |
| to allow the tree to be relocated (fd.o #92028, Simon McVittie) |
| |
| • Make more of the regression tests pass in Windows builds (fd.o #92538, |
| Simon McVittie) |
| |
| D-Bus 1.10.0 (2015-08-25) |
| == |
| |
| The “0x20” release. |
| |
| This is a new stable branch, recommended for use in OS distributions. |
| |
| Fixes since 1.9.20: |
| |
| • distribute test/tap-test.sh.in, even if the tarball was built without |
| tests enabled (fd.o #91684, Simon McVittie) |
| • work around a fd leak in libcap-ng < 0.7.7 (fd.o #91684, Simon McVittie) |
| |
| Summary of major changes since 1.8.0: |
| |
| • The basic setup for the well-known system and session buses is |
| now done in read-only files in ${datadir} (normally /usr/share). |
| See the NEWS entry for 1.9.18 for details. |
| |
| • AppArmor integration has been merged, with features similar to the |
| pre-existing SELinux integration. It is mostly compatible with the |
| patches previously shipped by Ubuntu, with one significant change: |
| Ubuntu's GetConnectionAppArmorSecurityContext method has been superseded |
| by GetConnectionCredentials and was not included. |
| |
| • The --enable-user-session configure option can be enabled |
| by OS integrators intending to use systemd to provide a session bus |
| per user (in effect, treating all concurrent graphical and non-graphical |
| login sessions as one large session). |
| |
| • The new listenable address mode "unix:runtime=yes" listens on |
| $XDG_RUNTIME_DIR/bus, the same AF_UNIX socket used by the systemd |
| user session. libdbus and "dbus-launch --autolaunch" will connect to |
| this address by default. GLib ≥ 2.45.3 and sd-bus ≥ 209 have a |
| matching default. |
| |
| • All executables are now dynamically linked to libdbus-1. |
| Previously, some executables, most notably dbus-daemon, were statically |
| linked to a specially-compiled variant of libdbus. This results in |
| various private functions in the _dbus namespace being exposed by the |
| shared library. These are not API, and must not be used outside |
| the dbus source tree. |
| |
| • On platforms with ELF symbol versioning, all public symbols |
| are versioned LIBDBUS_1_3. |
| |
| New bus APIs: |
| |
| • org.freedesktop.DBus.GetConnectionCredentials returns |
| LinuxSecurityLabel where supported |
| • org.freedesktop.DBus.Monitoring interface (privileged) |
| · BecomeMonitor method supersedes match rules with eavesdrop=true, |
| which are now deprecated |
| • org.freedesktop.DBus.Stats interface (semi-privileged) |
| · now enabled by default |
| · new GetAllMatchRules method |
| • org.freedesktop.DBus.Verbose interface (not normally compiled) |
| · toggles the effect of DBUS_VERBOSE |
| |
| New executables: |
| |
| • dbus-test-tool |
| • dbus-update-activation-environment |
| |
| New optional dependencies: |
| |
| • The systemd: pseudo-transport requires libsystemd or libsd-daemon |
| • Complete documentation requires Ducktype and yelp-tools |
| • Full test coverage requires GLib 2.36 and PyGI |
| • AppArmor integration requires libapparmor and optionally libaudit |
| |
| Dependencies removed: |
| |
| • dbus-glib |
| |
| D-Bus 1.9.20 (2015-08-06) |
| == |
| |
| The “Remember Tomorrow” release. |
| |
| This is a release-candidate for D-Bus 1.10.0. OS distribution vendors |
| should test it. |
| |
| Fixes: |
| |
| • Don't second-guess what the ABI of poll() is, allowing it to be used |
| on Integrity RTOS and other unusual platforms (fd.o #90314; |
| Rolland Dudemaine, Simon McVittie) |
| |
| • Don't duplicate audit subsystem integration if AppArmor and SELinux are |
| both enabled (fd.o #89225, Simon McVittie) |
| |
| • Log audit events for AppArmor/SELinux policy violations whenever |
| we have CAP_AUDIT_WRITE, even if not the system bus |
| (fd.o #83856, Laurent Bigonville) |
| |
| D-Bus 1.9.18 (2015-07-21) |
| == |
| |
| The “Pirate Elite” release. |
| |
| Configuration changes: |
| |
| • The basic setup for the well-known system and session buses is now done |
| in read-only files in ${datadir}, moving a step closer to systems |
| that can operate with an empty /etc directory. In increasing order |
| of precedence: |
| |
| · ${datadir}/dbus-1/s*.conf now perform the basic setup such as setting |
| the default message policies. |
| · ${sysconfdir}/dbus-1/s*.conf are now optional. By default |
| dbus still installs a trivial version of each, for documentation |
| purposes; putting configuration directives in these files is deprecated. |
| · ${datadir}/dbus-1/s*.d/ are now available for third-party software |
| to install "drop-in" configuration snippets (any packages |
| using those directories should explicitly depend on at least this |
| version of dbus). |
| · ${sysconfdir}/dbus-1/s*.d/ are also still available for sysadmins |
| or third-party software to install "drop-in" configuration snippets |
| · ${sysconfdir}/dbus-1/s*-local.conf are still available for sysadmins' |
| overrides |
| |
| ${datadir} is normally /usr/share, ${sysconfdir} is normally /etc, |
| and "s*" refers to either system or session as appropriate. |
| |
| (fd.o #89280, Dimitri John Ledkov) |
| |
| Fixes: |
| |
| • Fix a memory leak when GetConnectionCredentials() succeeds |
| (fd.o #91008, Jacek Bukarewicz) |
| |
| • Ensure that dbus-monitor does not reply to messages intended for others, |
| resulting in its own disconnection (fd.o #90952, Simon McVittie) |
| |
| D-Bus 1.9.16 (2015-05-14) |
| == |
| |
| The “titanium barns” release. |
| |
| Dependencies: |
| |
| • Automake 1.13 is now required when compiling from git or modifying |
| the build system. |
| |
| Security hardening: |
| |
| • On Unix platforms, change the default configuration for the session bus |
| to only allow EXTERNAL authentication (secure kernel-mediated |
| credentials-passing), as was already done for the system bus. |
| |
| This avoids falling back to DBUS_COOKIE_SHA1, which relies on strongly |
| unpredictable pseudo-random numbers. |
| |
| If you are using D-Bus over the (unencrypted!) tcp: or nonce-tcp: transport, |
| in conjunction with DBUS_COOKIE_SHA1 and a shared home directory using |
| NFS or similar, you will need to reconfigure the session bus to accept |
| DBUS_COOKIE_SHA1 by commenting out the <auth> element. This configuration |
| is not recommended. |
| |
| (fd.o #90414, Simon McVittie) |
| |
| • When asked for random numbers for DBUS_COOKIE_SHA1, the nonce-tcp: |
| transport, UUIDs or any other reason, fail if we cannot obtain entropy |
| (from /dev/urandom or CryptGenRandom()) or an out-of-memory condition |
| occurs, instead of silently falling back to low-entropy pseudorandom |
| numbers from rand(). (fd.o #90414; Simon McVittie, Ralf Habacker) |
| |
| Enhancements: |
| |
| • Add dbus_message_iter_get_element_count() |
| (fd.o #30350; Christian Dywan, Simon McVittie) |
| |
| • Introduce new internal DBusSocket and DBusPollable types so we can |
| stop treating the Windows SOCKET type as if it was int. DBusSocket |
| is specifically a socket, cross-platform. DBusPollable is whatever |
| _dbus_poll() can act on, i.e. a fd on Unix or a SOCKET on Windows. |
| (fd.o #89444; Ralf Habacker, Simon McVittie) |
| |
| • All regression tests now output TAP <https://testanything.org/> |
| (fd.o #89846, Simon McVittie) |
| |
| • Internal APIs consistently use signed values for timestamps |
| (fd.o #18494, Peter McCurdy) |
| |
| • Improve diagnostics when UpdateActivationEnvironment calls are rejected |
| (fd.o #88812, Simon McVittie) |
| |
| • Clean up a lot of compiler warnings |
| (fd.o #17289, fd.o #89284; Ralf Habacker, Simon McVittie) |
| |
| Fixes: |
| |
| • Add locking to DBusCounter's reference count and notify function |
| (fd.o #89297, Adrian Szyndela) |
| |
| • Ensure that DBusTransport's reference count is protected by the |
| corresponding DBusConnection's lock (fd.o #90312, Adrian Szyndela) |
| |
| • Correctly release DBusServer mutex before early-return if we run out |
| of memory while copying authentication mechanisms (fd.o #90021, |
| Ralf Habacker) |
| |
| • Make dbus-test-tool and dbus-update-activation-environment portable |
| to Windows (fd.o #90089, Ralf Habacker) |
| |
| • Correctly initialize all fields of DBusTypeReader (fd.o #90021; |
| Ralf Habacker, Simon McVittie) |
| |
| • Fix some missing \n in verbose (debug log) messages (fd.o #90004, |
| Ralf Habacker) |
| |
| • Clean up some memory and fd leaks in test code and tools |
| (fd.o #90021, Ralf Habacker) |
| |
| • Fix a NULL dereference if the dbus-daemon cannot read a configuration |
| directory for a reason that is not ENOENT (fd.o #90021, Ralf Habacker) |
| |
| • CMake generates a versioned shared library even if the revision is 0, |
| as it usually is on the development branch. (fd.o #89450, Ralf Habacker) |
| |
| D-Bus 1.9.14 (2015-03-02) |
| == |
| |
| The “don't stand in the poison cloud” release. |
| |
| Dependencies: |
| |
| • dbus-daemon and dbus-daemon-launch-helper now require libdbus. They |
| were previously linked to a static version of libdbus. |
| |
| • The tests no longer require dbus-glib in order to exercise the libdbus |
| shared library; they are always linked to libdbus now. |
| |
| Build-time configuration: |
| |
| • The new --enable-user-session option, off by default, can be enabled |
| by OS integrators intending to use systemd to provide a session bus |
| per user (in effect, treating all concurrent graphical and non-graphical |
| login sessions as one large session) |
| |
| Enhancements: |
| |
| • All executables are now linked dynamically to libdbus. |
| (fd.o #83115; Bertrand SIMONNET, Simon McVittie, Ralf Habacker) |
| |
| • On platforms that support them (GNU libc and possibly others), |
| libdbus now has versioned symbols for its public API. |
| All public symbols (visible in the header files) are currently |
| versioned as LIBDBUS_1_3; private symbols starting with _dbus or |
| dbus_internal have a version that changes with each release, and |
| must not be used by applications. (also fd.o #83115) |
| |
| • New listenable address mode "unix:runtime=yes" which listens on |
| a real filesystem (non-abstract) socket $XDG_RUNTIME_DIR/bus |
| (fd.o #61303; Colin Walters, Alexander Larsson, Simon McVittie) |
| |
| • Add optional systemd units for a per-user bus listening on |
| $XDG_RUNTIME_DIR/bus (fd.o #61301; Simon McVittie, Colin Walters) |
| |
| • On Unix platforms, both libdbus and "dbus-launch --autolaunch" |
| default to connecting to $XDG_RUNTIME_DIR/bus if it is a socket |
| (also fd.o #61301) |
| |
| • New dbus-update-activation-environment tool uploads environment |
| variables to "dbus-daemon --session" and optionally "systemd --user", |
| primarily as a way to keep the per-user bus compatible with |
| distributions' existing X11 login scripts (also fd.o #61301) |
| |
| • <includedir/> elements in dbus-daemon configuration are now silently |
| ignored if the directory does not exist. (fd.o #89280, Dimitri John Ledkov) |
| |
| • Add microsecond-resolution timestamps to the default output of |
| dbus-monitor and dbus-send (fd.o #88896; Ralf Habacker, Simon McVittie) |
| |
| Fixes: |
| |
| • Fix a race condition in the 'monitor' test introduced in 1.9.10 |
| (fd.o #89222, Simon McVittie) |
| |
| D-Bus 1.9.12 (2015-02-19) |
| == |
| |
| The “monster lasagna” release. |
| |
| Dependencies: |
| |
| • Ducktype and yelp-tools are now required to build complete documentation |
| (they are optional for normal builds). |
| |
| Enhancements: |
| |
| • D-Bus Specification version 0.26 |
| · GetConnectionCredentials can return LinuxSecurityLabel or WindowsSID |
| · document the BecomeMonitor method |
| |
| • On Linux, add LinuxSecurityLabel to GetConnectionCredentials |
| (fd.o #89041; Tyler Hicks, Simon McVittie) |
| |
| • On Linux, add support for AppArmor mediation of message sending and |
| receiving and name ownership (paralleling existing SELinux mediation |
| support), and eavesdropping (a new check, currently AppArmor-specific) |
| (fd.o #75113; John Johansen, Tyler Hicks, Simon McVittie) |
| |
| • In dbus-send and dbus-monitor, pretty-print \0-terminated bytestrings |
| that have printable ASCII contents; we previously only did this for |
| unterminated bytestrings (fd.o #89109, Simon McVittie) |
| |
| • Add a guide to designing good D-Bus APIs (fd.o #88994, Philip Withnall) |
| |
| • On Windows, add WindowsSID to GetConnectionCredentials |
| (fd.o #54445, Ralf Habacker) |
| |
| • Improve clarity of dbus-monitor --profile output and add more columns |
| (fd.o #89165, Ralf Habacker) |
| |
| • Add a man page for dbus-test-tool, and build it under CMake as well |
| as Autotools (fd.o#89086, Simon McVittie) |
| |
| • If dbus-daemon was compiled with --enable-verbose, add a D-Bus API |
| to control it at runtime, overriding the DBUS_VERBOSE environment variable |
| (fd.o #88896, Ralf Habacker) |
| |
| Fixes: |
| |
| • Reduce the number of file descriptors used in the fd-passing test, |
| avoiding failure under the default Linux fd limit, and automatically |
| skip it if the rlimit is too small (fd.o #88998, Simon McVittie) |
| |
| D-Bus 1.9.10 (2015-02-09) |
| == |
| |
| The “sad cyborgs” release. |
| |
| Security fixes merged from 1.8.16: |
| |
| • Do not allow non-uid-0 processes to send forged ActivationFailure |
| messages. On Linux systems with systemd activation, this would |
| allow a local denial of service: unprivileged processes could |
| flood the bus with these forged messages, winning the race with |
| the actual service activation and causing an error reply |
| to be sent back when service auto-activation was requested. |
| This does not prevent the real service from being started, |
| so the attack only works while the real service is not running. |
| (CVE-2015-0245, fd.o #88811; Simon McVittie) |
| |
| Enhancements: |
| |
| • The new Monitoring interface in the dbus-daemon lets dbus-monitor and |
| similar tools receive messages without altering the security properties |
| of the system bus, by calling the new BecomeMonitor method on a |
| private connection. This bypasses the normal <allow> and <deny> rules |
| entirely, so to preserve normal message-privacy assumptions, only root |
| is allowed to do this on the system bus. Restricted environments, |
| such as Linux with LSMs, should lock down access to the Monitoring |
| interface. (fd.o #46787, Simon McVittie) |
| |
| • dbus-monitor uses BecomeMonitor to capture more traffic, if the |
| dbus-daemon supports it and access permissions allow it. |
| It still supports the previous approach ("eavesdropping" match rules) |
| for compatibility with older bus daemons. (fd.o #46787, Simon) |
| |
| • dbus-monitor can now log the message stream as binary data for later |
| analysis, with either no extra framing beyond the normal D-Bus headers, |
| or libpcap-compatible framing treating each D-Bus message |
| as a captured packet. (fd.o #46787, Simon) |
| |
| Other fixes: |
| |
| • Fix some CMake build regressions (fd.o #88964, Ralf Habacker) |
| |
| • On Unix, forcibly terminate regression tests after 60 seconds to |
| prevent them from blocking continuous integration frameworks |
| (fd.o #46787, Simon) |
| |
| D-Bus 1.9.8 (2015-02-03) |
| == |
| |
| The “all the types of precipitation” release. |
| |
| Dependencies: |
| |
| • full test coverage now requires GLib 2.36 |
| • full test coverage now requires PyGI (PyGObject 3, |
| "import gi.repository.GObject") instead of the |
| obsolete PyGObject 2 ("import gobject") |
| |
| Enhancements: |
| |
| • add GLib-style "installed tests" (fd.o #88810, Simon McVittie) |
| |
| • better regression test coverage, including systemd activation |
| (fd.o #57952, #88810; Simon McVittie) |
| |
| Fixes: |
| |
| • fatal errors correctly make the dbus-daemon exit even if <syslog/> is |
| turned off (fd.o #88808, Simon McVittie) |
| |
| • TCP sockets on Windows no longer fail to listen approximately 1 time |
| in 256, caused by a logic error that should have always made it fail but |
| was mitigated by incorrect endianness for the port number |
| (fd.o #87999, Ralf Habacker) |
| |
| • fix some Windows build failures (fd.o #88009, #88010; Ralf Habacker) |
| |
| • on Windows, allow up to 8K connections to the dbus-daemon instead of the |
| previous 64, completing a previous fix which only worked under |
| Autotools (fd.o #71297, Ralf Habacker) |
| |
| • on Windows, if the IP family is unspecified only use IPv4, |
| to mitigate IPv6 not working correctly (fd.o #87999, Ralf Habacker) |
| |
| • fix some unlikely memory leaks on OOM (fd.o #88087, Simon McVittie) |
| |
| • lcov code coverage analysis works again (fd.o #88808, Simon McVittie) |
| |
| • fix an unused function error with --disable-embedded-tests (fd.o #87837, |
| Thiago Macieira) |
| |
| D-Bus 1.9.6 (2015-01-05) |
| == |
| |
| The “I do have a bread knife” release. |
| |
| Security hardening: |
| |
| • Do not allow calls to UpdateActivationEnvironment from uids other than |
| the uid of the dbus-daemon. If a system service installs unsafe |
| security policy rules that allow arbitrary method calls |
| (such as CVE-2014-8148) then this prevents memory consumption and |
| possible privilege escalation via UpdateActivationEnvironment. |
| |
| We believe that in practice, privilege escalation here is avoided |
| by dbus-daemon-launch-helper sanitizing its environment; but |
| it seems better to be safe. |
| |
| • Do not allow calls to UpdateActivationEnvironment or the Stats interface |
| on object paths other than /org/freedesktop/DBus. Some system services |
| install unsafe security policy rules that allow arbitrary method calls |
| to any destination, method and interface with a specified object path; |
| while less bad than allowing arbitrary method calls, these security |
| policies are still harmful, since dbus-daemon normally offers the |
| same API on all object paths and other system services might behave |
| similarly. |
| |
| Other fixes: |
| |
| • Add missing initialization so GetExtendedTcpTable doesn't crash on |
| Windows Vista SP0 (fd.o #77008, Илья А. Ткаченко) |
| |
| D-Bus 1.9.4 (2014-11-24) |
| == |
| |
| The “extra-sturdy caramel” release. |
| |
| Fixes: |
| |
| • Partially revert the CVE-2014-3639 patch by increasing the default |
| authentication timeout on the system bus from 5 seconds back to 30 |
| seconds, since this has been reported to cause boot regressions for |
| some users, mostly with parallel boot (systemd) on slower hardware. |
| |
| On fast systems where local users are considered particularly hostile, |
| administrators can return to the 5 second timeout (or any other value |
| in milliseconds) by saving this as /etc/dbus-1/system-local.conf: |
| |
| <busconfig> |
| <limit name="auth_timeout">5000</limit> |
| </busconfig> |
| |
| (fd.o #86431, Simon McVittie) |
| |
| • Add a message in syslog/the Journal when the auth_timeout is exceeded |
| (fd.o #86431, Simon McVittie) |
| |
| • Send back an AccessDenied error if the addressed recipient is not allowed |
| to receive a message (and in builds with assertions enabled, don't |
| assert under the same conditions). (fd.o #86194, Jacek Bukarewicz) |
| |
| D-Bus 1.9.2 (2014-11-10) |
| == |
| |
| The “structurally unsound flapjack” release. |
| |
| Security fixes: |
| |
| • Increase dbus-daemon's RLIMIT_NOFILE rlimit to 65536 |
| so that CVE-2014-3636 part A cannot exhaust the system bus' |
| file descriptors, completing the incomplete fix in 1.8.8. |
| (CVE-2014-7824, fd.o #85105; Simon McVittie, Alban Crequy) |
| |
| Enhancements: |
| |
| • D-Bus Specification version 0.25 |
| · new value 'const' for EmitsChangedSignal annotation |
| (fd.o #72958, Lennart Poettering) |
| · new ALLOW_INTERACTIVE_AUTHORIZATION flag, for PolicyKit and similar |
| (fd.o #83449; Lennart Poettering, Simon McVittie) |
| · annotate table of types with reserved/basic/container, and for |
| basic types, fixed/string-like |
| · clarify arbitrary limits by quoting them in mebibytes |
| |
| • New API: add accessors for the ALLOW_INTERACTIVE_AUTHORIZATION flag |
| (fd.o #83449, Simon McVittie) |
| |
| • Add dbus-test-tool, a D-Bus swiss army knife with multiple subcommands, |
| useful for debugging and performance testing: |
| · dbus-test-tool spam: send repeated messages |
| · dbus-test-tool echo: send an empty reply for all method calls |
| · dbus-test-tool black-hole: do not reply to method calls |
| (fd.o #34140; Alban Crequy, Simon McVittie, Will Thompson) |
| |
| • Add support for process ID in credentials-passing on NetBSD |
| (fd.o #69702, Patrick Welche) |
| |
| • Add an example script to find potentially undesired match rules |
| (fd.o #84598, Alban Crequy) |
| |
| • Document the central assumption that makes our use of credentials-passing |
| secure (fd.o #83499, Simon McVittie) |
| |
| • Replace the dbus-glib section of the tutorial with a GDBus recommendation, |
| and add some links to GDBus and QtDBus documentation (fd.o #25140, |
| Simon McVittie) |
| |
| Fixes: |
| |
| • Use a less confusing NoReply message when disconnected with a reply pending |
| (fd.o #76112, Simon McVittie) |
| |
| • Make the .pc file relocatable by letting pkg-config do all variable |
| expansion itself (fd.o #75858, Руслан Ижбулатов) |
| |
| • Fix a build failure on platforms with kqueue, which regressed in 1.9.0 |
| (fd.o #85563, Patrick Welche) |
| |
| • Consistently save errno after socket calls (fd.o #83625, Simon McVittie) |
| |
| • In dbus-spawn, when the grandchild process exits due to a failed exec(), |
| do not lose the exec() errno (fd.o #24821, Simon McVittie) |
| |
| • Do not fail the tests if a parent process has leaked non-close-on-exec |
| file descriptors to us (fd.o #73689, fd.o #83899; Simon McVittie) |
| |
| • Do not fail the tests on Unix platforms with incomplete |
| credentials-passing support, but do fail if we can't pass credentials |
| on a platform where it is known to work: Linux, FreeBSD, OpenBSD, NetBSD |
| (fd.o #69702, Simon McVittie) |
| |
| • Detect accept4, dirfd, inotify_init1, pipe2, and Unix fd passing |
| when building with cmake, and expand test coverage there |
| (fd.o #73689; Ralf Habacker, Simon McVittie) |
| |
| D-Bus 1.9.0 (2014-10-01) |
| == |
| |
| The “tiered cheeses” release. |
| |
| Requirements: |
| |
| • Support for the systemd: (LISTEN_FDS) pseudo-transport on Linux now |
| requires either the libsystemd or libsd-daemon shared library, dropping the |
| embedded convenience copy of sd-daemon (fd.o #71818, Simon) |
| |
| Build-time configuration changes: |
| |
| • The Stats interface is now enabled by default, and locked-down to |
| root-only on the system bus. Configure with --disable-stats |
| to disable it altogether on memory- or disk-constrained systems, |
| or see ${docdir}/examples/ to open it up to non-root users on the |
| system bus or restrict access on the session bus. |
| (fd.o #80759; Simon McVittie, Alban Crequy) |
| |
| • The CMake build system now builds the same shared library name as Autotools |
| on at least Linux and Windows: |
| - on Linux (and perhaps other Unix platforms), it previously built |
| libdbus-1.so, but now builds libdbus-1.so.3.* with development |
| symlink libdbus-1.so and SONAME/symlink libdbus-1.so.3 |
| - on Windows, it previously built either libdbus-1.dll (release) or |
| libdbus-1d.dll (debug), but now builds libdbus-1-3.dll, copied to |
| libdbus-1.dll for compatibility with older applications. |
| (fd.o #74117, Ralf Habacker) |
| |
| Enhancements: |
| |
| • D-Bus Specification version 0.24 |
| · document how to quote match rules (fd.o #24307, Simon McVittie) |
| · explicitly say that most message types never expect a reply |
| regardles of whether they have NO_REPLY_EXPECTED |
| (fd.o #75749, Simon McVittie) |
| |
| • on Unix platforms, disable Nagle's algorithm on TCP connections to improve |
| initial latency (fd.o #75544, Matt Hoosier) |
| |
| • use backtrace() if it is in -lexecinfo instead of libc, as on NetBSD |
| (fd.o #69702, Patrick Welche) |
| |
| • in dbus-monitor, print more information about file descriptors |
| (fd.o #80603, Alban Crequy) |
| |
| • do not install system bus configuration if built for Windows |
| (fd.o #83583; Ralf Habacker, Simon McVittie) |
| |
| • Add GetAllMatchRules to the Stats interface (fd.o #24307, Alban Crequy) |
| |
| • Add a regression test for file descriptor passing (fd.o #83622, |
| Simon McVittie) |
| |
| Fixes: |
| |
| • fix an incorrect error message if a Unix socket path is too long |
| (fd.o #73887, Antoine Jacoutot) |
| |
| • in an MSYS/Cygwin environment, pass Unix-style filenames to xmlto, |
| fixing documentation generation (fd.o #75860, Руслан Ижбулатов) |
| |
| • in Unix with X11, avoid giving dbus-launch a misleading argv[0] |
| in ps(1) (fd.o #69716, Chengwei Yang) |
| |
| • avoid calling poll() with timeout < -1, which is considered invalid |
| on FreeBSD and NetBSD (fd.o #78480, Jaap Boender) |
| |
| • be portable to BSD-derived platforms where O_CLOEXEC is unavailable in libc |
| (like Mac OS X 10.6), or available in libc but unsupported by the kernel |
| (fd.o #77032; rmvsxop, OBATA Akio, Patrick Welche) |
| |
| • Fix include path for test/internal/*.c with cmake (Ralf Habacker) |
| |
| • Documentation improvements |
| (fd.o #80795, #84313; Thomas Haller, Sebastian Rasmussen) |
| |
| • in dbus-monitor, do not leak file descriptors that we have monitored |
| (fd.o #80603, Alban Crequy) |
| |
| • Set the close-on-exec flag for the inotify file descriptor, even |
| if built with CMake or older libc (fd.o #73689, Simon McVittie) |
| |
| • Remove some LGPL code from the Windows dbus-daemon |
| (fd.o #57272, Ralf Habacker) |
| |
| D-Bus 1.8.8 (2014-09-16) |
| == |
| |
| The "smashy smashy egg man" release. |
| |
| Security fixes: |
| |
| • Do not accept an extra fd in the padding of a cmsg message, which |
| could lead to a 4-byte heap buffer overrun. |
| (CVE-2014-3635, fd.o #83622; Simon McVittie) |
| |
| • Reduce default for maximum Unix file descriptors passed per message |
| from 1024 to 16, preventing a uid with the default maximum number of |
| connections from exhausting the system bus' file descriptors under |
| Linux's default rlimit. Distributors or system administrators with a |
| more restrictive fd limit may wish to reduce these limits further. |
| |
| Additionally, on Linux this prevents a second denial of service |
| in which the dbus-daemon can be made to exceed the maximum number |
| of fds per sendmsg() and disconnect the process that would have |
| received them. |
| (CVE-2014-3636, fd.o #82820; Alban Crequy) |
| |
| • Disconnect connections that still have a fd pending unmarshalling after |
| a new configurable limit, pending_fd_timeout (defaulting to 150 seconds), |
| removing the possibility of creating an abusive connection that cannot be |
| disconnected by setting up a circular reference to a connection's |
| file descriptor. |
| (CVE-2014-3637, fd.o #80559; Alban Crequy) |
| |
| • Reduce default for maximum pending replies per connection from 8192 to 128, |
| mitigating an algorithmic complexity denial-of-service attack |
| (CVE-2014-3638, fd.o #81053; Alban Crequy) |
| |
| • Reduce default for authentication timeout on the system bus from |
| 30 seconds to 5 seconds, avoiding denial of service by using up |
| all unauthenticated connection slots; and when all unauthenticated |
| connection slots are used up, make new connection attempts block |
| instead of disconnecting them. |
| (CVE-2014-3639, fd.o #80919; Alban Crequy) |
| |
| Other fixes: |
| |
| • Check for libsystemd from systemd >= 209, falling back to |
| the older separate libraries if not found (Umut Tezduyar Lindskog, |
| Simon McVittie) |
| |
| • On Linux, use prctl() to disable core dumps from a test executable |
| that deliberately raises SIGSEGV to test dbus-daemon's handling |
| of that condition (fd.o #83772, Simon McVittie) |
| |
| • Fix compilation with --enable-stats (fd.o #81043, Gentoo #507232; |
| Alban Crequy) |
| |
| • Improve documentation for running tests on Windows (fd.o #41252, |
| Ralf Habacker) |
| |
| D-Bus 1.8.6 (2014-06-02) |
| == |
| |
| Security fixes: |
| |
| • On Linux ≥ 2.6.37-rc4, if sendmsg() fails with ETOOMANYREFS, silently drop |
| the message. This prevents an attack in which a malicious client can |
| make dbus-daemon disconnect a system service, which is a local |
| denial of service. |
| (fd.o #80163, CVE-2014-3532; Alban Crequy) |
| |
| • Track remaining Unix file descriptors correctly when more than one |
| message in quick succession contains fds. This prevents another attack |
| in which a malicious client can make dbus-daemon disconnect a system |
| service. |
| (fd.o #79694, fd.o #80469, CVE-2014-3533; Alejandro Martínez Suárez, |
| Simon McVittie, Alban Crequy) |
| |
| Other fixes: |
| |
| • When dbus-launch --exit-with-session starts a dbus-daemon but then cannot |
| attach to a session, kill the dbus-daemon as intended |
| (fd.o #74698, Роман Донченко) |
| |
| D-Bus 1.8.4 (2014-06-10) |
| == |
| |
| Security fix: |
| |
| • Alban Crequy at Collabora Ltd. discovered and fixed a denial-of-service |
| flaw in dbus-daemon, part of the reference implementation of D-Bus. |
| Additionally, in highly unusual environments the same flaw could lead to |
| a side channel between processes that should not be able to communicate. |
| (CVE-2014-3477, fd.o #78979) |
| |
| D-Bus 1.8.2 (2014-04-30) |
| == |
| |
| The “nobody wants red” release. |
| |
| Enhancements: |
| |
| • in the CMake build system, add some hints for Linux users cross-compiling |
| Windows D-Bus binaries to be able to run tests under Wine |
| (fd.o #41252, Ralf Habacker) |
| |
| • add Documentation key to dbus.service (fd.o #77447, Cameron Norman) |
| |
| Fixes: |
| |
| • in "dbus-uuidgen --ensure", try to copy systemd's /etc/machine-id |
| to /var/lib/dbus/machine-id instead of generating an entirely new ID |
| (fd.o #77941, Simon McVittie) |
| |
| • if dbus-launch receives an X error very quickly, do not kill |
| unrelated processes (fd.o #74698, Роман Донченко) |
| |
| • on Windows, allow up to 8K connections to the dbus-daemon, instead of the |
| previous 64 (fd.o #71297; Cristian Onet, Ralf Habacker) |
| |
| • cope with \r\n newlines in regression tests, since on Windows, |
| dbus-daemon.exe uses text mode (fd.o #75863, Руслан Ижбулатов) |
| |
| D-Bus 1.8.0 (2014-01-20) |
| == |
| |
| The “Wolverine distrusts my printer” release. |
| |
| This starts a new stable branch. The 1.6.x branch is now considered to be |
| outdated, and will only receive fixes for serious bugs such as security |
| flaws. The 1.4.x and 1.2.x branches no longer have upstream support and |
| are unlikely to get any more releases, but if distributors still need to |
| support them, please share security patches via upstream. |
| |
| Summary of changes since 1.6.x: |
| |
| • libdbus always behaves as if dbus_threads_init_default() had been called |
| (thread-safety by default) |
| • new dbus-run-session tool, replacing certain misuses of dbus-launch |
| • dbus-monitor can talk to outdated versions of dbus-daemon again |
| • new org.freedesktop.DBus.GetConnectionCredentials method |
| • GetConnectionUnixProcessID also works correctly on Windows, returning |
| the Windows process ID |
| • GetConnectionWindowsSID returns the correct SID on Windows |
| • expat is required, libxml2 can no longer be used as a substitute |
| • the userDB cache is required, and cannot be disabled |
| • a 64-bit integer type (either int, long, long long or _int64) is required |
| • better systemd-journald integration on Linux |
| • fixed long-standing fd and array leaks when failing to parse a message |
| • fixed referenced-but-never-freed parent nodes (effectively memory leaks) |
| when using certain object-path allocation patterns, notably in Avahi |
| • better defaults for Windows support |
| • better CMake support |
| • better portability to mingw32, FreeBSD, NetBSD, QNX and Hurd |
| • the source language for the man pages is now Docbook XML |
| |
| Enhancements since 1.7.10: |
| |
| • Enhance the CMake build system to check for GLib and compile/run |
| a subset of the regression tests (fd.o #41252, #73495; Ralf Habacker) |
| |
| Fixes since 1.7.10: |
| |
| • don't rely on va_copy(), use DBUS_VA_COPY() wrapper (fd.o #72840, |
| Ralf Habacker) |
| |
| • fix compilation of systemd journal support on older systemd versions where |
| sd-journal.h doesn't include syslog.h (fd.o #73455, Ralf Habacker) |
| |
| • fix compilation on older MSVC versions by including stdlib.h |
| (fd.o #73455, Ralf Habacker) |
| |
| • Allow <allow_anonymous/> to appear in an included configuration file |
| (fd.o #73475, Matt Hoosier) |
| |
| Test behaviour changes since 1.7.10: |
| |
| • If the tests crash with an assertion failure, they no longer default to |
| blocking for a debugger to be attached. Set DBUS_BLOCK_ON_ABORT in the |
| environment if you want the old behaviour. |
| |
| • To improve debuggability, the dbus-daemon and dbus-daemon-eavesdrop tests |
| can be run with an external dbus-daemon by setting |
| DBUS_TEST_DAEMON_ADDRESS in the environment. Test-cases that require |
| an unusually-configured dbus-daemon are skipped. |
| |
| D-Bus 1.7.10 (2014-01-06) |
| == |
| |
| The “weighted companion cube” release. |
| |
| This is a release candidate for D-Bus 1.8. |
| |
| D-Bus Specification 0.23: |
| |
| • don't require messages with no INTERFACE to be dispatched |
| (fd.o #68597, Simon McVittie) |
| |
| • document "tcp:bind=..." and "nonce-tcp:bind=..." (fd.o #72301, |
| Chengwei Yang) |
| |
| • define "listenable" and "connectable" addresses, and discuss |
| the difference (fd.o #61303, Simon McVittie) |
| |
| Enhancements: |
| |
| • support printing Unix file descriptors in dbus-send, dbus-monitor |
| (fd.o #70592, Robert Ancell) |
| |
| • don't install systemd units if --disable-systemd is given |
| (fd.o #71818, Chengwei Yang) |
| |
| Fixes: |
| |
| • don't leak memory on out-of-memory while listing activatable or |
| active services (fd.o #71526, Radoslaw Pajak) |
| |
| • fix undefined behaviour in a regression test (fd.o #69924, DreamNik) |
| |
| • escape Unix socket addresses correctly (fd.o #46013, Chengwei Yang) |
| |
| • on SELinux systems, don't assume that SECCLASS_DBUS, DBUS__ACQUIRE_SVC |
| and DBUS__SEND_MSG are numerically equal to their values in the |
| reference policy (fd.o #88719, osmond sun) |
| |
| • define PROCESS_QUERY_LIMITED_INFORMATION if missing from MinGW < 4 headers |
| (fd.o #71366, Matt Fischer) |
| |
| • define WIN32_LEAN_AND_MEAN to avoid conflicts between winsock.h and |
| winsock2.h (fd.o #71405, Matt Fischer) |
| |
| • do not return failure from _dbus_read_nonce() with no error set, |
| preventing a potential crash (fd.o #72298, Chengwei Yang) |
| |
| • on BSD systems, avoid some O(1)-per-process memory and fd leaks in kqueue, |
| preventing test failures (fd.o #69332, fd.o #72213; Chengwei Yang) |
| |
| • fix warning spam on Hurd by not trying to set SO_REUSEADDR on Unix sockets, |
| which doesn't do anything anyway on at least Linux and FreeBSD |
| (fd.o #69492, Simon McVittie) |
| |
| • fix use of TCP sockets on FreeBSD and Hurd by tolerating EINVAL from |
| sendmsg() with SCM_CREDS (retrying with plain send()), and looking |
| for credentials more correctly (fd.o #69492, Simon McVittie) |
| |
| • ensure that tests run with a temporary XDG_RUNTIME_DIR to avoid |
| getting mixed up in XDG/systemd "user sessions" (fd.o #61301, |
| Simon McVittie) |
| |
| • refresh cached policy rules for existing connections when bus |
| configuration changes (fd.o #39463, Chengwei Yang) |
| |
| D-Bus 1.7.8 (2013-11-01) |
| == |
| |
| The “extreme hills” release. |
| |
| Dependencies: |
| |
| • If systemd support is enabled, libsystemd-journal is now required. |
| |
| Enhancements: |
| |
| • When activating a non-systemd service under systemd, annotate its |
| stdout/stderr with its bus name in the Journal. Known limitation: |
| because the socket is opened before forking, the process will still be |
| logged as if it had dbus-daemon's process ID and user ID. |
| (fd.o #68559, Chengwei Yang) |
| |
| • Document more configuration elements in dbus-daemon(1) |
| (fd.o #69125, Chengwei Yang) |
| |
| Fixes: |
| |
| • Don't leak string arrays or fds if dbus_message_iter_get_args_valist() |
| unpacks them and then encounters an error (fd.o #21259, Chengwei Yang) |
| |
| • If compiled with libaudit, retain CAP_AUDIT_WRITE so we can write |
| disallowed method calls to the audit log, fixing a regression in 1.7.6 |
| (fd.o #49062, Colin Walters) |
| |
| • path_namespace='/' in match rules incorrectly matched nothing; it |
| now matches everything. (fd.o #70799, Simon McVittie) |
| |
| D-Bus 1.7.6 (2013-10-09) |
| == |
| |
| The “CSI Shrewsbury” release. |
| |
| Build-time configuration changes: |
| |
| • Directory change notification via dnotify on Linux is no longer |
| supported; it hadn't compiled successfully since 2010 in any case. |
| If you don't have inotify (Linux) or kqueue (*BSD), you will need |
| to send SIGHUP to the dbus-daemon when its configuration changes. |
| (fd.o #33001, Chengwei Yang) |
| |
| • Compiling with --disable-userdb-cache is no longer supported; |
| it didn't work since at least 2008, and would lead to an extremely |
| slow dbus-daemon even it worked. (fd.o #15589, #17133, #66947; |
| Chengwei Yang) |
| |
| • The DBUS_DISABLE_ASSERTS CMake option didn't actually disable most |
| assertions. It has been renamed to DBUS_DISABLE_ASSERT to be consistent |
| with the Autotools build system. (fd.o #66142, Chengwei Yang) |
| |
| • --with-valgrind=auto enables Valgrind instrumentation if and only if |
| valgrind headers are available. The default is still --with-valgrind=no. |
| (fd.o #56925, Simon McVittie) |
| |
| Dependencies: |
| |
| • Platforms with no 64-bit integer type are no longer supported. |
| (fd.o #65429, Simon McVittie) |
| |
| • GNU make is now (documented to be) required. (fd.o #48277, Simon McVittie) |
| |
| • Full test coverage no longer requires dbus-glib, although the tests do not |
| exercise the shared library (only a static copy) if dbus-glib is missing. |
| (fd.o #68852, Simon McVittie) |
| |
| Enhancements: |
| |
| • D-Bus Specification 0.22 |
| · Document GetAdtAuditSessionData() and |
| GetConnectionSELinuxSecurityContext() (fd.o #54445, Simon) |
| · Fix example .service file (fd.o #66481, Chengwei Yang) |
| · Don't claim D-Bus is "low-latency" (lower than what?), just |
| give factual statements about it supporting async use |
| (fd.o #65141, Justin Lee) |
| · Document the contents of .service files, and the fact that |
| system services' filenames are constrained |
| (fd.o #66608; Simon McVittie, Chengwei Yang) |
| |
| • Be thread-safe by default on all platforms, even if |
| dbus_threads_init_default() has not been called. For compatibility with |
| older libdbus, library users should continue to call |
| dbus_threads_init_default(): it is harmless to do so. |
| (fd.o #54972, Simon McVittie) |
| |
| • Add GetConnectionCredentials() method (fd.o #54445, Simon) |
| |
| • New API: dbus_setenv(), a simple wrapper around setenv(). |
| Note that this is not thread-safe. (fd.o #39196, Simon) |
| |
| • Add dbus-send --peer=ADDRESS (connect to a given peer-to-peer connection, |
| like --address=ADDRESS in previous versions) and dbus-send --bus=ADDRESS |
| (connect to a given bus, like dbus-monitor --address=ADDRESS). |
| dbus-send --address still exists for backwards compatibility, |
| but is no longer documented. (fd.o #48816, Andrey Mazo) |
| |
| • Windows-specific: |
| · "dbus-daemon --nofork" is allowed on Windows again. (fd.o #68852, |
| Simon McVittie) |
| |
| Fixes: |
| |
| • Avoid an infinite busy-loop if a signal interrupts waitpid() |
| (fd.o #68945, Simon McVittie) |
| |
| • Clean up memory for parent nodes when objects are unexported |
| (fd.o #60176, Thomas Fitzsimmons) |
| |
| • Make dbus_connection_set_route_peer_messages(x, FALSE) behave as |
| documented. Previously, it assumed its second parameter was TRUE. |
| (fd.o #69165, Chengwei Yang) |
| |
| • Escape addresses containing non-ASCII characters correctly |
| (fd.o #53499, Chengwei Yang) |
| |
| • Document <servicedir> search order correctly (fd.o #66994, Chengwei Yang) |
| |
| • Don't crash on "dbus-send --session / x.y.z" which regressed in 1.7.4. |
| (fd.o #65923, Chengwei Yang) |
| |
| • If malloc() returns NULL in _dbus_string_init() or similar, don't free |
| an invalid pointer if the string is later freed (fd.o #65959, Chengwei Yang) |
| |
| • If malloc() returns NULL in dbus_set_error(), don't va_end() a va_list |
| that was never va_start()ed (fd.o #66300, Chengwei Yang) |
| |
| • fix build failure with --enable-stats (fd.o #66004, Chengwei Yang) |
| |
| • fix a regression test on platforms with strict alignment (fd.o #67279, |
| Colin Walters) |
| |
| • Avoid calling function parameters "interface" since certain Windows headers |
| have a namespace-polluting macro of that name (fd.o #66493, Ivan Romanov) |
| |
| • Assorted Doxygen fixes (fd.o #65755, Chengwei Yang) |
| |
| • Various thread-safety improvements to static variables (fd.o #68610, |
| Simon McVittie) |
| |
| • Make "make -j check" work (fd.o #68852, Simon McVittie) |
| |
| • Fix a NULL pointer dereference on an unlikely error path |
| (fd.o #69327, Sviatoslav Chagaev) |
| |
| • Improve valgrind memory pool tracking (fd.o #69326, |
| Sviatoslav Chagaev) |
| |
| • Don't over-allocate memory in dbus-monitor (fd.o #69329, |
| Sviatoslav Chagaev) |
| |
| • dbus-monitor can monitor dbus-daemon < 1.5.6 again |
| (fd.o #66107, Chengwei Yang) |
| |
| • Unix-specific: |
| · If accept4() fails with EINVAL, as it can on older Linux kernels |
| with newer glibc, try accept() instead of going into a busy-loop. |
| (fd.o #69026, Chengwei Yang) |
| · If socket() or socketpair() fails with EINVAL or EPROTOTYPE, |
| for instance on Hurd or older Linux with a new glibc, try without |
| SOCK_CLOEXEC. (fd.o #69073; Pino Toscano, Chengwei Yang) |
| · Fix a file descriptor leak on an error code path. |
| (fd.o #69182, Sviatoslav Chagaev) |
| · dbus-run-session: clear some unwanted environment variables |
| (fd.o #39196, Simon) |
| · dbus-run-session: compile on FreeBSD (fd.o #66197, Chengwei Yang) |
| · Don't fail the autolaunch test if there is no DISPLAY (fd.o #40352, Simon) |
| · Use dbus-launch from the builddir for testing, not the installed copy |
| (fd.o #37849, Chengwei Yang) |
| · Fix compilation if writev() is unavailable (fd.o #69409, |
| Vasiliy Balyasnyy) |
| · Remove broken support for LOCAL_CREDS credentials passing, and |
| document where each credential-passing scheme is used (fd.o #60340, |
| Simon McVittie) |
| · Make autogen.sh work on *BSD by not assuming GNU coreutils functionality |
| (fd.o #35881, #69787; Chengwei Yang) |
| · dbus-monitor: be portable to NetBSD (fd.o #69842, Chengwei Yang) |
| · dbus-launch: stop using non-portable asprintf (fd.o #37849, Simon) |
| · Improve error reporting from the setuid activation helper (fd.o #66728, |
| Chengwei Yang) |
| |
| • Windows-specific: |
| · Remove unavailable command-line options from 'dbus-daemon --help' |
| (fd.o #42441, Ralf Habacker) |
| · Add support for looking up local TCPv4 clients' credentials on |
| Windows XP via the undocumented AllocateAndGetTcpExTableFromStack |
| function (fd.o #66060, Ralf Habacker) |
| · Fix insufficient dependency-tracking (fd.o #68505, Simon McVittie) |
| · Don't include wspiapi.h, fixing a compiler warning (fd.o #68852, |
| Simon McVittie) |
| |
| • Internal changes: |
| · add DBUS_ENABLE_ASSERT, DBUS_ENABLE_CHECKS for less confusing |
| conditionals (fd.o #66142, Chengwei Yang) |
| · improve verbose-mode output (fd.o #63047, Colin Walters) |
| · consolidate Autotools and CMake build (fd.o #64875, Ralf Habacker) |
| · fix various unused variables, unusual build configurations |
| etc. (fd.o #65712, #65990, #66005, #66257, #69165, #69410, #70218; |
| Chengwei Yang, Vasiliy Balyasnyy) |
| |
| D-Bus 1.7.4 (2013-06-13) |
| == |
| |
| The “but is your thread-safety thread-safe?” release. |
| |
| Security fixes: |
| |
| • CVE-2013-2168: Fix misuse of va_list that could be used as a denial |
| of service for system services. Vulnerability reported by Alexandru Cornea. |
| (Simon) |
| |
| Dependencies: |
| |
| • The Windows version of libdbus now contains a C++ source file, used |
| to provide global initialization when the library is loaded. |
| gcc (mingw*) users should ensure that g++ is also installed. |
| |
| • The libxml2-based configuration reader (which hasn't worked for 2.5 years, |
| and was never the recommended option) has been removed. Expat is now a |
| hard dependency. |
| |
| Enhancements: |
| |
| • It should now be safe to call dbus_threads_init_default() from any thread, |
| at any time. Authors of loadable modules and plugins that use libdbus |
| should consider doing so during initialization. |
| (fd.o #54972, Simon McVittie) |
| |
| • Improve dbus-send documentation and command-line parsing (fd.o #65424, |
| Chengwei Yang) |
| |
| Unix-specific: |
| · dbus-run-session: experimental new tool to start a temporary D-Bus |
| session, e.g. for regression tests or a text console, replacing |
| certain uses of dbus-launch which weren't really correct |
| (fd.o #39196, Simon) |
| |
| Other fixes: |
| |
| • In dbus-daemon, don't crash if a .service file starts with key=value |
| (fd.o #60853, Chengwei Yang) |
| |
| • Unix-specific: |
| · Fix a crash similar to CVE-2013-2168 the first time we try to use syslog |
| on a platform not defining LOG_PERROR, such as Solaris or QNX. |
| This regressed in 1.7.0. (Simon) |
| · Fix an assertion failure if we try to activate systemd services before |
| systemd connects to the bus (fd.o #50199, Chengwei Yang) |
| · Avoid compiler warnings for ignoring the return from write() |
| (Chengwei Yang) |
| |
| • Windows-specific: |
| · Under cmake, install runtime libraries (DLLs) into bin/ instead of lib/ |
| so that Windows finds them (fd.o #59733, Ralf Habacker) |
| |
| D-Bus 1.7.2 (2013-04-25) |
| == |
| |
| The “only partially opaque” release. |
| |
| Configuration changes: |
| |
| • On non-QNX Unix platforms, the default limit on fds per message in the |
| session bus configuration has reduced from 4096 to 1024. The default |
| limit used on the system bus was already 1024. On QNX, both limits are |
| reduced further, to 128. |
| |
| Enhancements: |
| |
| • D-Bus Specification 0.21 |
| · Following Unicode Corrigendum #9, the noncharacters U+nFFFE, U+nFFFF, |
| U+FDD0..U+FDEF are allowed in UTF-8 strings again. (fd.o #63072, |
| Simon McVittie) |
| |
| Fixes: |
| |
| • Diagnose incorrect use of dbus_connection_get_data() with negative slot |
| (i.e. before allocating the slot) rather than returning junk |
| (fd.o #63127, Dan Williams) |
| |
| • Fix a cmake build regression since 1.7.0 (fd.o #63682; Ralf Habacker, |
| Simon McVittie) |
| |
| • Unix-specific: |
| · On Linux, link successfully with glibc 2.17 (fd.o #63166, Simon McVittie) |
| · Under systemd, log to syslog only, not stderr, avoiding duplication |
| (fd.o #61399, #39987; Colin Walters, Dagobert Michelsen) |
| · Under systemd, remove unnecessary dependency on syslog.socket |
| (fd.o #63531, Cristian Rodríguez) |
| · Include alloca.h for alloca() if available, fixing compilation on |
| Solaris 10 (fd.o #63071, Dagobert Michelsen) |
| · Allow use of systemd-logind without the rest of systemd |
| (fd.o #62585, Martin Pitt) |
| · When built with CMake, link to librt and use the right path for |
| meinproc's XSLT stylesheets (fd.o #61637, Ralf Habacker) |
| · Reduce the default limit on number of fds per message to 128 under |
| QNX, working around an arbitrary OS limit (fd.o #61176, Matt Fischer) |
| |
| • Windows-specific: |
| · Do not claim that all bus clients have the dbus-daemon's credentials; |
| pick up local TCPv4 clients' credentials (process ID and security |
| identifier, i.e. user) using GetExtendedTcpTable() (fd.o #61787, |
| Ralf Habacker) |
| |
| D-Bus 1.7.0 (2013-02-22) |
| == |
| |
| The "Disingenuous Assertions" release. |
| |
| This is a new development release, starting the 1.7.x branch. D-Bus 1.6 |
| remains the recommended version for long-term-supported distributions |
| or the upcoming GNOME 3.8 release. |
| |
| Build-time configuration changes: |
| |
| • The --with-dbus-session-bus-default-address configure option is no longer |
| supported. Use the new --with-dbus-session-bus-connect-address and |
| --with-dbus-session-bus-listen-address options instead. On Windows, you |
| usually want them to have the same argument; on Unix, the defaults are |
| usually correct. |
| |
| • Similarly, the DBUS_SESSION_BUS_DEFAULT_ADDRESS CMake variable is no longer |
| supported; use the new DBUS_SESSION_BUS_LISTEN_ADDRESS and |
| DBUS_SESSION_BUS_CONNECT_ADDRESS variables instead. |
| |
| • cmake/cross-compile.sh has been removed. Instead, please use a |
| cross-toolchain file (-DCMAKE_TOOLCHAIN_FILE) as documented at |
| <http://www.vtk.org/Wiki/CMake_Cross_Compiling>; or use Autotools |
| as documented in "info automake Cross-Compilation", and set |
| PKG_CONFIG_PATH appropriately. |
| |
| Requirements: |
| |
| • Man pages now require xmlto (or either xmlto or meinproc, if using CMake). |
| • man2html is no longer used. |
| |
| Enhancements: |
| |
| • D-Bus Specification 0.20 |
| · actually say that /org/freedesktop/DBus is the object that |
| implements o.fd.DBus (fd.o #51865, Colin Walters) |
| · various reorganisation for better clarity (fd.o #38252, Simon McVittie) |
| · stop claiming that all basic types work just like INT32 (strings don't!) |
| |
| • The "source code" for the man pages is now Docbook XML, eliminating |
| the outdated duplicate copies used when building with CMake. |
| (fd.o #59805; Ralf Habacker, Simon McVittie) |
| |
| Fixes: |
| |
| • In the activation helper, when compiled for tests, do not reset the system |
| bus address, fixing the regression tests. (fd.o #52202, Simon) |
| |
| • Fix building with Valgrind 3.8, at the cost of causing harmless warnings |
| with Valgrind 3.6 on some compilers (fd.o #55932, Arun Raghavan) |
| |
| • Merge <servicehelper> from system-local.conf if necessary (fd.o #51560, |
| Krzysztof Konopko) |
| |
| • Under CMake, prefer xmlto over meinproc (fd.o #59733, Ralf Habacker) |
| |
| • Stop duplicating CMake's own logic to find libexpat |
| (fd.o #59733, Ralf Habacker) |
| |
| • Don't assume CMake host and build system are the same (fd.o #59733, |
| Ralf Habacker) |
| |
| • Avoid deprecation warnings for GLib 2.35 (fd.o #59971, Simon McVittie) |
| |
| • Unix-specific: |
| · Check for functions in libpthread correctly, fixing compilation on |
| (at least) OpenBSD (fd.o #47239, Simon) |
| · Don't leak temporary fds pointing to /dev/null (fd.o #56927, |
| Michel HERMIER) |
| · Update sd-daemon.[ch] from systemd (fd.o #60681) |
| · Add partial support for QNX (fd.o #60339, fd.o #61176; Matt Fischer) |
| |
| • Windows-specific: |
| · The default session bus listening and connecting address is now |
| "autolaunch:", which makes D-Bus on Windows interoperate with itself |
| and GDBus "out of the box". Use the configure options and cmake variables |
| described above if you require a different autolaunch scope. |
| (fd.o #38201, Simon McVittie) |
| · Avoid a CMake warning under Cygwin (fd.o #59401, Ralf Habacker) |
| |
| • Create session.d, system.d directories under CMake (fd.o #41319, |
| Ralf Habacker) |
| |
| D-Bus 1.6.8 (2012-09-28) |
| == |
| |
| The "Fix one thing, break another" release. |
| |
| • Follow up to CVE-2012-3524: The additional hardening |
| work to use __secure_getenv() as a followup to bug #52202 |
| broke certain configurations of gnome-keyring. Given |
| the difficulty of making this work without extensive |
| changes to gnome-keyring, use of __secure_getenv() is |
| deferred. |
| |
| D-Bus 1.6.6 (2012-09-28) |
| == |
| |
| The "Clear the environment in your setuid binaries, please" release. |
| |
| • CVE-2012-3524: Don't access environment variables (fd.o #52202) |
| Thanks to work and input from Colin Walters, Simon McVittie, |
| Geoffrey Thomas, and others. |
| • Unix-specific: |
| · Fix compilation on Solaris (fd.o #53286, Jonathan Perkin) |
| · Work around interdependent headers on OpenBSD by including sys/types.h |
| before each use of sys/socket.h (fd.o #54418, Brad Smith) |
| |
| D-Bus 1.6.4 (2012-07-18) |
| == |
| |
| • Detect that users are "at the console" correctly when configured with |
| a non-default path such as --enable-console-auth-dir=/run/console |
| (fd.o #51521, Dave Reisner) |
| |
| • Remove an incorrect assertion from DBusTransport (fd.o #51657, |
| Simon McVittie) |
| |
| • Make --enable-developer default to "no" (regression in 1.6.2; |
| fd.o #51657, Simon McVittie) |
| |
| • Windows-specific: |
| · Launch dbus-daemon correctly if its path contains a space |
| (fd.o #49450, Wolfgang Baron) |
| |
| D-Bus 1.6.2 (2012-06-27) |
| == |
| |
| The "Ice Cabbage" release. |
| |
| • Change how we create /var/lib/dbus so it works under Automake >= 1.11.4 |
| (fd.o #51406, Simon McVittie) |
| |
| • Don't return from dbus_pending_call_set_notify with a lock held on OOM |
| (fd.o #51032, Simon McVittie) |
| |
| • Disconnect "developer mode" (assertions, verbose mode etc.) from |
| Automake maintainer mode. D-Bus developers should now configure with |
| --enable-developer. Automake maintainer mode is now on by default; |
| distributions can disable it with --disable-maintainer-mode. |
| (fd.o #34671, Simon McVittie) |
| |
| • Automatically define DBUS_STATIC_BUILD in static-only Autotools builds, |
| fixing linking when targeting Windows (fd.o #33973; william, Simon McVittie) |
| |
| • Unix-specific: |
| · Check for libpthread under CMake on Unix (fd.o #47237, Simon McVittie) |
| |
| D-Bus 1.6.0 (2012-06-05) |
| == |
| |
| The “soul of this machine has improved” release. |
| |
| This version starts a new stable branch of D-Bus: only bug fixes will |
| be accepted into 1.6.x. Other changes will now go to the 1.7.x branch. |
| |
| Summary of changes since 1.4.x: |
| |
| • New requirements |
| · PTHREAD_MUTEX_RECURSIVE on Unix |
| · compiler support for 64-bit integers (int64_t or equivalent) |
| |
| • D-Bus Specification v0.19 |
| |
| • New dbus-daemon features |
| · <allow own_prefix="com.example.Service"/> rules allow the service to |
| own names like com.example.Service.Instance3 |
| · optional systemd integration when checking at_console policies |
| · --nopidfile option, mainly for use by systemd |
| · path_namespace and arg0namespace may appear in match rules |
| · eavesdropping is disabled unless the match rule contains eavesdrop=true |
| |
| • New public API |
| · functions to validate various string types (dbus_validate_path() etc.) |
| · dbus_type_is_valid() |
| · DBusBasicValue, a union of every basic type |
| |
| • Bug fixes |
| · removed an unsafe reimplementation of recursive mutexes |
| · dbus-daemon no longer busy-loops if it has far too many file descriptors |
| · dbus-daemon.exe --print-address works on Windows |
| · all the other bug fixes from 1.4.20 |
| |
| • Other major implementation changes |
| · on Linux, dbus-daemon uses epoll if supported, for better scalability |
| · dbus_threads_init() ignores its argument and behaves like |
| dbus_threads_init_default() instead |
| · removed the per-connection link cache, improving dbus-daemon performance |
| |
| • Developer features |
| · optional Valgrind instrumentation (--with-valgrind) |
| · optional Stats interface on the dbus-daemon (--enable-stats) |
| · optionally abort whenever malloc() fails (--enable-embedded-tests |
| and export DBUS_MALLOC_CANNOT_FAIL=1) |
| |
| Changes since 1.5.12: |
| |
| • Be more careful about monotonic time vs. real time, fixing DBUS_COOKIE_SHA1 |
| spec-compliance (fd.o #48580, David Zeuthen) |
| |
| • Don't use install(1) within the source/build trees, fixing the build as |
| non-root when using OpenBSD install(1) (fd.o #48217, Antoine Jacoutot) |
| |
| • Add missing commas in some tcp and nonce-tcp addresses, and remove |
| an unused duplicate copy of the nonce-tcp transport in Windows builds |
| (fd.o #45896, Simon McVittie) |
| |
| D-Bus 1.5.12 (2012-03-27) |
| == |
| |
| The “Big Book of Science” release. |
| |
| • Add public API to validate various string types: |
| dbus_validate_path(), dbus_validate_interface(), dbus_validate_member(), |
| dbus_validate_error_name(), dbus_validate_bus_name(), dbus_validate_utf8() |
| (fd.o #39549, Simon McVittie) |
| |
| • Turn DBusBasicValue into public API so bindings don't need to invent their |
| own "union of everything" type (fd.o #11191, Simon McVittie) |
| |
| • Enumerate data files included in the build rather than using find(1) |
| (fd.o #33840, Simon McVittie) |
| |
| • Add support for policy rules like <allow own_prefix="com.example.Service"/> |
| in dbus-daemon (fd.o #46273, Alban Crequy) |
| |
| • Windows-specific: |
| · make dbus-daemon.exe --print-address (and --print-pid) work again |
| on Win32, but not on WinCE (fd.o #46049, Simon McVittie) |
| · fix duplicate case value when compiling against mingw-w64 |
| (fd.o #47321, Andoni Morales Alastruey) |
| |
| D-Bus 1.5.10 (2012-02-21) |
| == |
| |
| The "fire in Delerium" release. |
| |
| On Unix platforms, PTHREAD_MUTEX_RECURSIVE (as specified in POSIX 2008 Base |
| and SUSv2) is now required. |
| |
| • D-Bus Specification 0.19: |
| · Formally define unique connection names and well-known bus names, |
| and document best practices for interface, bus, member and error names, |
| and object paths (fd.o #37095, Simon McVittie) |
| · Document the search path for session and system services on Unix, and |
| where they should be installed by build systems (fd.o #21620, fd.o #35306; |
| Simon McVittie) |
| · Document the systemd transport (fd.o #35232, Lennart Poettering) |
| |
| • Make dbus_threads_init() use the same built-in threading implementation |
| as dbus_threads_init_default(); the user-specified primitives that it |
| takes as a parameter are now ignored (fd.o #43744, Simon McVittie) |
| |
| • Allow all configured auth mechanisms, not just one (fd.o #45106, |
| Pavel Strashkin) |
| |
| • Improve cmake build system (Ralf Habacker): |
| · simplify XML parser dependencies (fd.o #41027) |
| · generate build timestamp (fd.o #41029) |
| · only create batch files on Windows |
| · fix option and cache syntax |
| · add help-options target |
| · share dbus-arch-deps.h.in with autotools rather than having our |
| own version (fd.o #41033) |
| |
| • Build tests successfully with older GLib, as found in e.g. Debian 6 |
| (fd.o #41219, Simon McVittie) |
| |
| • Avoid use of deprecated GThread API (fd.o #44413, Martin Pitt) |
| |
| • Build documentation correctly if man2html doesn't support filenames on |
| its command-line (fd.o #43875, Jack Nagel) |
| |
| • Improve test coverage. To get even more coverage, run the tests with |
| DBUS_TEST_SLOW=1 (fd.o #38285, #42811; Simon McVittie) |
| |
| • Reduce the size of the shared library by moving functionality only used |
| by dbus-daemon, tests etc. into their internal library and deleting |
| unused code (fd.o #34976, #39759; Simon McVittie) |
| |
| • Add dbus-daemon --nopidfile option, overriding the configuration, for |
| setups where the default configuration must include <pidfile/> to avoid |
| breaking traditional init, but the pid file is in fact unnecessary; use |
| it under systemd to improve startup time a bit (fd.o #45520, |
| Lennart Poettering) |
| |
| • Optionally (if configured --with-valgrind) add instrumentation to debug |
| libdbus and associated tools more meaningfully under Valgrind |
| (fd.o #37286, Simon McVittie) |
| |
| • Improve the dbus-send(1) man page (fd.o #14005, Simon McVittie) |
| |
| • Make dbus-protocol.h compatible with C++11 (fd.o #46147, Marc Mutz) |
| |
| • If tests are enabled and DBUS_MALLOC_CANNOT_FAIL is set in the environment, |
| abort on failure to malloc() (like GLib does), to turn runaway memory leaks |
| into a debuggable core-dump if a resource limit is applied (fd.o #41048, |
| Simon McVittie) |
| |
| • Don't crash if realloc() returns NULL in a debug build (fd.o #41048, |
| Simon McVittie) |
| |
| • Unix-specific: |
| · Replace our broken reimplementation of recursive mutexes, which has |
| been broken since 2006, with an ordinary pthreads recursive mutex |
| (fd.o #43744; Sigmund Augdal, Simon McVittie) |
| · Use epoll(7) for a more efficient main loop in Linux; equivalent patches |
| welcomed for other OSs' equivalents like kqueue, /dev/poll, or Solaris |
| event ports (fd.o #33337; Simon McVittie, Ralf Habacker) |
| · When running under systemd, use it instead of ConsoleKit to check |
| whether to apply at_console policies (fd.o #39609, Lennart Poettering) |
| · Avoid a highly unlikely fd leak (fd.o #29881, Simon McVittie) |
| · Don't close invalid fd -1 if getaddrinfo fails (fd.o #37258, eXeC001er) |
| · Don't touch ~/.dbus and ~/.dbus-keyrings when running 'make installcheck' |
| (fd.o #41218, Simon McVittie) |
| · Stop pretending we respect XDG_DATA_DIRS for system services: the launch |
| helper doesn't obey environment variables to avoid privilege escalation |
| attacks, so make the system bus follow the same rules |
| (fd.o #21620, Simon McVittie) |
| |
| • Windows-specific: |
| · Find the dbus-daemon executable next to the shared library (fd.o #41558; |
| Jesper Dam, Ralf Habacker) |
| · Remove the faulty implementation of _dbus_condvar_wake_all (fd.o #44609, |
| Simon McVittie) |
| |
| D-Bus 1.5.8 (2011-09-21) |
| == |
| |
| The "cross-metering" release. |
| |
| In addition to dead code removal and refactoring, this release contains all |
| of the bugfixes from 1.4.16. |
| |
| • Clean up dead code, and make more warnings fatal in development builds |
| (fd.o #39231, fd.o #41012; Simon McVittie) |
| |
| • If full test coverage is requested via --enable-tests, strictly require |
| Python, pygobject and dbus-python, which are required by some tests; if not, |
| and Python is missing, skip those tests rather than failing |
| (fd.o #37847, Simon McVittie) |
| |
| • When using cmake, provide the same version-info API in the installed headers |
| as for autotools (DBUS_VERSION, etc.) (fd.o #40905, Ralf Habacker) |
| |
| • Add a regression test for fd.o #38005 (fd.o #39836, Simon McVittie) |
| |
| • Make "NOCONFIGURE=1 ./autogen.sh" not run configure (Colin Walters) |
| |
| • Add _DBUS_STATIC_ASSERT and use it to check invariants (fd.o #39636, |
| Simon McVittie) |
| |
| • Fix duplicates in authors list (Ralf Habacker) |
| |
| • Fix broken links from dbus-tutorial.html if $(htmldir) != $(docdir) |
| (fd.o #39879, Chris Mayo) |
| |
| • Fix a small memory leak, and a failure to report errors, when updating |
| a service file entry for activation (fd.o #39230, Simon McVittie) |
| |
| • Unix-specific: |
| · Clean up (non-abstract) Unix sockets on bus daemon exit (fd.o #38656; |
| Brian Cameron, Simon McVittie) |
| · On systems that use libcap-ng but not systemd, drop supplemental groups |
| when switching to the daemon user (Red Hat #726953, Steve Grubb) |
| · Make the cmake build work again on GNU platforms (fd.o #29228, |
| Simon McVittie) |
| · Fix compilation on non-C99 systems that have inttypes.h but not stdint.h, |
| like Solaris (fd.o #40313, Dagobert Michelsen) |
| · Define CMSG_ALIGN, CMSG_LEN, CMSG_SPACE on Solaris < 10 |
| (fd.o #40235, Simon McVittie) |
| · Cope with Unixes that don't have LOG_PERROR, like Solaris 10 |
| (fd.o #39987, Simon McVittie) |
| · Cope with platforms whose vsnprintf violates both POSIX and C99, like |
| Tru64, IRIX and HP-UX (fd.o #11668, Simon McVittie) |
| |
| • Windows-specific: |
| · Fix compilation on MSVC, which doesn't understand "inline" with its |
| C99 meaning (fd.o #40000; Ralf Habacker, Simon McVittie) |
| · Fix misuse of GPid in test/dbus-daemon.c (fd.o #40003, Simon McVittie) |
| · Fix cross-compilation to Windows with Automake (fd.o #40003, Simon McVittie) |
| |
| D-Bus 1.5.6 (2011-07-29) |
| == |
| |
| The "weird, gravy-like aftertaste" release. |
| |
| In addition to new features and refactoring, this release contains all of the |
| bugfixes from 1.4.14. |
| |
| Potentially incompatible (Bustle and similar debugging tools will need |
| changes to work as intended): |
| |
| • Do not allow match rules to "eavesdrop" (receive messages intended for a |
| different recipient) by mistake: eavesdroppers must now opt-in to this |
| behaviour by putting "eavesdrop='true'" in the match rule, which will |
| not have any practical effect on buses where eavesdropping is not allowed |
| (fd.o #37890, Cosimo Alfarano) |
| |
| Other changes: |
| |
| • D-Bus Specification version 0.18 (fd.o #37890, fd.o #39450, fd.o #38252; |
| Cosimo Alfarano, Simon McVittie) |
| · add the "eavesdrop" keyword to match rules |
| · define eavesdropping, unicast messages and broadcast messages |
| · stop claiming that match rules are needed to match unicast messages to you |
| · promote the type system to be a top-level section |
| |
| • Use DBUS_ERROR_OBJECT_PATH_IN_USE if dbus_connection_try_register_object_path |
| or dbus_connection_try_register_fallback fails, not ...ADDRESS_IN_USE, |
| and simplify object-path registration (fd.o #38874, Jiří Klimeš) |
| |
| • Consistently use atomic operations on everything that is ever manipulated |
| via atomic ops, as was done for changes to DBusConnection's refcount in |
| 1.4.12 (fd.o #38005, Simon McVittie) |
| |
| • Fix a file descriptor leak when connecting to a TCP socket (fd.o #37258, |
| Simon McVittie) |
| |
| • Make "make check" in a clean tree work, by not running tests until |
| test data has been set up (fd.o #34405, Simon McVittie) |
| |
| • The dbus-daemon no longer busy-loops if it has a very large number of file |
| descriptors (fd.o #23194, Simon McVittie) |
| |
| • Refactor message flow through dispatching to avoid locking violations if |
| the bus daemon's message limit is hit; remove the per-connection link cache, |
| which was meant to improve performance, but now reduces it (fd.o #34393, |
| Simon McVittie) |
| |
| • Some cmake fixes (Ralf Habacker) |
| |
| • Remove dead code, mainly from DBusString (fd.o #38570, fd.o #39610; |
| Simon McVittie, Lennart Poettering) |
| |
| • Stop storing two extra byte order indicators in each D-Bus message |
| (fd.o #38287, Simon McVittie) |
| |
| • Add an optional Stats interface which can be used to get statistics from |
| a running dbus-daemon if enabled at configure time with --enable-stats |
| (fd.o #34040, Simon McVittie) |
| |
| • Fix various typos (fd.o #27227, fd.o #38284; Sascha Silbe, Simon McVittie) |
| |
| • Documentation (fd.o #36156, Simon McVittie): |
| · let xsltproc be overridden as usual: ./configure XSLTPROC=myxsltproc |
| · install more documentation automatically, including man2html output |
| · put dbus.devhelp in the right place (it must go in ${htmldir}) |
| |
| • Unix-specific: |
| · look for system services in /lib/dbus-1/system-services in addition to all |
| the other well-known locations; note that this should always be /lib, |
| even on platforms where shared libraries on the root FS would go in /lib64, |
| /lib/x86_64-linux-gnu or similar (fd.o #35229, Lennart Poettering) |
| · opt-in to fd passing on Solaris (fd.o #33465, Simon McVittie) |
| |
| • Windows-specific (Ralf Habacker): |
| · fix use of a mutex for autolaunch server detection |
| · don't crash on malloc failure in _dbus_printf_string_upper_bound |
| |
| D-Bus 1.5.4 (2011-06-10) |
| == |
| |
| Security (local denial of service): |
| |
| • Byte-swap foreign-endian messages correctly, preventing a long-standing |
| local DoS if foreign-endian messages are relayed through the dbus-daemon |
| (backporters: this is git commit c3223ba6c401ba81df1305851312a47c485e6cd7) |
| (CVE-2011-2200, fd.o #38120, Debian #629938; Simon McVittie) |
| |
| New things: |
| |
| • The constant to use for an infinite timeout now has a name, |
| DBUS_TIMEOUT_INFINITE. It is numerically equivalent to 0x7fffffff (INT32_MAX) |
| which can be used for source compatibility with older versions of libdbus. |
| |
| • If GLib and DBus-GLib are already installed, more tests will be built, |
| providing better coverage. The new tests can also be installed via |
| ./configure --enable-installed-tests |
| for system integration testing, if required. (fd.o #34570, Simon McVittie) |
| |
| Changes: |
| |
| • Consistently use atomic operations for the DBusConnection's refcount, |
| fixing potential threading problems (fd.o #38005, Simon McVittie) |
| |
| • Don't use -Wl,--gc-sections by default: in practice the size decrease is |
| small (300KiB on x86-64) and it frequently doesn't work in unusual |
| toolchains. To optimize for minimum installed size, you should benchmark |
| various possibilities for CFLAGS and LDFLAGS, and set the best flags for |
| your particular toolchain at configure time. (fd.o #33466, Simon McVittie) |
| |
| • Use #!/bin/sh for run-with-tmp-session-bus.sh, making it work on *BSD |
| (fd.o #35880, Timothy Redaelli) |
| |
| • Use ln -fs to set up dbus for systemd, which should fix reinstallation |
| when not using a DESTDIR (fd.o #37870, Simon McVittie) |
| |
| • Windows-specific changes: |
| · don't try to build dbus-daemon-launch-helper (fd.o #37838, Mark Brand) |
| |
| D-Bus 1.5.2 (2011-06-01) |
| == |
| |
| The "Boar Hunter" release. |
| |
| Notes for distributors: |
| |
| This version of D-Bus no longer uses -fPIE by default. Distributions wishing |
| to harden the dbus-daemon and dbus-launch-helper can re-enable this if their |
| toolchain supports it reliably, via something like: |
| |
| ./configure CFLAGS=-fPIE LDFLAGS="-pie -Wl,-z,relro" |
| |
| or by using distribution-specific wrappers such as Debian's hardening-wrapper. |
| |
| Changes: |
| |
| • D-Bus Specification v0.17 |
| · Reserve the extra characters used in signatures by GVariant |
| (fd.o #34529, Simon McVittie) |
| · Define the ObjectManager interface (fd.o #34869, David Zeuthen) |
| • Don't force -fPIE: distributions and libtool know better than we do whether |
| it's desirable (fd.o #16621, fd.o #27215; Simon McVittie) |
| • Allow --disable-gc-sections, in case your toolchain offers the |
| -ffunction-sections, -fdata-sections and -Wl,--gc-sections options |
| but they're broken, as seen on Solaris (fd.o #33466, Simon McVittie) |
| • Install dbus-daemon and dbus-daemon-launch-helper in a more normal way |
| (fd.o #14512; Simon McVittie, loosely based on a patch from Luca Barbato) |
| • Ensure that maintainers upload documentation with the right permissions |
| (fd.o #36130, Simon McVittie) |
| • Don't force users of libdbus to be linked against -lpthread, -lrt |
| (fd.o #32827, Simon McVittie) |
| • Log system-bus activation information to syslog (fd.o #35705, |
| Colin Walters) |
| • Log messages dropped due to quotas to syslog (fd.o #35358, |
| Simon McVittie) |
| • Make the nonce-tcp transport work on Unix (fd.o #34569, Simon McVittie) |
| • On Unix, if /var/lib/dbus/machine-id cannot be read, try /etc/machine-id |
| (fd.o #35228, Lennart Poettering) |
| • In the regression tests, don't report fds as "leaked" if they were open |
| on startup (fd.o #35173, Simon McVittie) |
| • Make dbus-monitor bail out if asked to monitor more than one bus, |
| rather than silently using the last one (fd.o #26548, Will Thompson) |
| • Clarify documentation (fd.o #35182, Simon McVittie) |
| • Clean up minor dead code and some incorrect error handling |
| (fd.o #33128, fd.o #29881; Simon McVittie) |
| • Check that compiler options are supported before using them (fd.o #19681, |
| Simon McVittie) |
| • Windows: |
| • Remove obsolete workaround for winioctl.h (fd.o #35083, Ralf Habacker) |
| |
| D-Bus 1.5.0 (2011-04-11) |
| == |
| |
| The "you never know when you need to tow something from your giant |
| flying shark" release. |
| |
| • D-Bus Specification v0.16 |
| · Add support for path_namespace and arg0namespace in match rules |
| (fd.o #24317, #34870; Will Thompson, David Zeuthen, Simon McVittie) |
| · Make argNpath support object paths, not just object-path-like strings, |
| and document it better (fd.o #31818, Will Thompson) |
| • Let the bus daemon implement more than one interface (fd.o #33757, |
| Simon McVittie) |
| • Optimize _dbus_string_replace_len to reduce waste (fd.o #21261, |
| Roberto Guido) |
| • Require user intervention to compile with missing 64-bit support |
| (fd.o #35114, Simon McVittie) |
| • Add dbus_type_is_valid as public API (fd.o #20496, Simon McVittie) |
| • Raise UnknownObject instead of UnknownMethod for calls to methods on |
| paths that are not part of the object tree, and UnknownInterface for calls |
| to unknown interfaces in the bus daemon (fd.o #34527, Lennart Poettering) |
| |
| D-Bus 1.4.8 (2011-04-08) |
| == |
| |
| The "It's like the beginning of a lobster" release. |
| |
| • Rename configure.in to configure.ac, and update it to modern conventions |
| (fd.o #32245; Javier Jardón, Simon McVittie) |
| • Correctly give XDG_DATA_HOME priority over XDG_DATA_DIRS (fd.o #34496, |
| Anders Kaseorg) |
| • Prevent X11 autolaunching if $DISPLAY is unset or empty, and add |
| --disable-x11-autolaunch configure option to prevent it altogether |
| in embedded environments (fd.o #19997, NB#219964; Simon McVittie) |
| • Install the documentation, and an index for Devhelp (fd.o #13495, |
| Debian #454142; Simon McVittie, Matthias Clasen) |
| • If checks are not disabled, check validity of string-like types and |
| booleans when sending them (fd.o #16338, NB#223152; Simon McVittie) |
| • Add UnknownObject, UnknownInterface, UnknownProperty and PropertyReadOnly |
| errors to dbus-shared.h (fd.o #34527, Lennart Poettering) |
| • Break up a huge conditional in config-parser so gcov can produce coverage |
| data (fd.o #10887, Simon McVittie) |
| • List which parts of the Desktop Entry specification are applicable to |
| .service files (fd.o #19159, Sven Herzberg) |
| • Don't suppress service activation if two services have the same Exec= |
| (fd.o #35750, Colin Walters) |
| • Windows: |
| · Avoid the name ELEMENT_TYPE due to namespace-pollution from winioctl.h |
| (Andre Heinecke) |
| · Include _dbus_path_is_absolute in libdbus on Windows, fixing compilation |
| (fd.o #32805, Mark Brand) |
| |
| D-Bus 1.4.6 (2010-02-17) |
| == |
| |
| The "1, 2, miss a few, 99, 100" release. |
| |
| • Remove unfinished changes intended to support GTest-based tests, |
| which were mistakenly included in 1.4.4 |
| |
| D-Bus 1.4.4 (2010-02-17) |
| == |
| |
| • Switch back to using even micro versions for stable releases; 1.4.1 |
| should have been called 1.4.2, so skip that version number |
| • Don't leave bad file descriptors being watched when spawning processes, |
| which could result in a busy-loop (fd.o #32992, NB#200248; possibly |
| also LP#656134, LP#680444, LP#713157) |
| • Check for MSG_NOSIGNAL correctly |
| • Fix failure to detect abstract socket support (fd.o #29895) |
| • Make _dbus_system_logv actually exit with DBUS_SYSTEM_LOG_FATAL |
| (fd.o #32262, NB#180486) |
| • Improve some error code paths (fd.o #29981, fd.o #32264, fd.o #32262, |
| fd.o #33128, fd.o #33277, fd.o #33126, NB#180486) |
| • Avoid possible symlink attacks in /tmp during compilation (fd.o #32854) |
| • Tidy up dead code (fd.o #25306, fd.o #33128, fd.o #34292, NB#180486) |
| • Improve gcc malloc annotations (fd.o #32710) |
| • If the system bus is launched via systemd, protect it from the OOM killer |
| • Documentation improvements (fd.o #11190) |
| • Avoid readdir_r, which is difficult to use correctly (fd.o #8284, |
| fd.o #15922, LP#241619) |
| • Cope with invalid files in session.d, system.d (fd.o #19186, |
| Debian #230231) |
| • Don't distribute generated files that embed our builddir (fd.o #30285, |
| fd.o #34292) |
| • Raise the system bus's fd limit to be sufficient for its configuration |
| (fd.o #33474, LP#381063) |
| • Fix syslog string processing |
| • Ignore -Waddress |
| • Remove broken gcov parsing code and --enable-gcov, and replace them |
| with lcov HTML reports and --enable-compiler-coverage (fd.o #10887) |
| • Windows: |
| · avoid live-lock in Windows CE due to unfair condition variables |
| • OpenBSD: |
| · support credentials-passing (fd.o #32542) |
| • Solaris: |
| · opt-in to thread safety (fd.o #33464) |
| |
| D-Bus 1.4.1 (20 December 2010) |
| == |
| |
| • Fix for CVE-2010-4352: sending messages with excessively-nested variants can |
| crash the bus. The existing restriction to 64-levels of nesting previously |
| only applied to the static type signature; now it also applies to dynamic |
| nesting using variants. Thanks to Rémi Denis-Courmont for discoving this |
| issue. |
| • OS X portability fixes, including launchd support. |
| • Windows autolaunch improvements. |
| • Various bug fixes. |
| |
| D-Bus 1.4.0 (6 Sep 2010) |
| == |
| - systemd hookup |
| |
| D-Bus 1.3.1 (23 June 2010) |
| == |
| - New standardized PropertiesChanged signal in the properties interface |
| - Various portability fixes, in particular to Windows platforms |
| - Support forking bus services, for compatibility |
| |
| D-Bus 1.3.0 (29 July 2009) |
| == |
| - ability for dbus-send to send to any bus (--address) |
| - file descriptor passing on Unix socket transports |
| - use of GCC atomic intrinsics for better processor support |
| (requires -march=i486 or above for x86 compilation) |
| - thread-safe FD_CLOEXEC setting on recent Linux kernels (2.6.24-27 and up) |
| and glibc (2.9 for pipe2 and 2.10 for accept4) |
| - feature negotiation in the bus daemon |