Announcing dbus 1.13.8
Simon McVittie
smcv at collabora.com
Tue Dec 4 20:26:08 UTC 2018
This is still a development branch for the adventurous, and comes with a
risk of regressions. OS distributions should stay with the 1.12.x branch,
unless they can commit to following the 1.13.x branch until it reaches
a 1.14.0 stable release at an unspecified point in the future.
<http://dbus.freedesktop.org/releases/dbus/dbus-1.13.8.tar.xz>
<http://dbus.freedesktop.org/releases/dbus/dbus-1.13.8.tar.xz.asc>
git tag: dbus-1.13.8
The “demanding dragon” release.
dbus version control is now hosted on freedesktop.org's Gitlab
installation, and bug reports and feature requests have switched from
Bugzilla bugs (indicated by "fd.o #nnn") to Gitlab issues ("dbus#nnn")
and merge requests ("dbus!nnn"). See README and CONTRIBUTING.md for
more details.
Dependencies:
• dbus now requires at least a basic level of support for C99 variadic
macros, as implemented in gcc >= 3, all versions of Clang, and
MSVC >= 2005. In practice this requirement has existed since version
1.9.2, but it is now official.
• dbus now requires a C99-compatible va_copy() macro (or a __va_copy()
macro with the same behaviour), except when building for Windows using
MSVC and CMake.
• Building documentation using CMake now requires xsltproc, Docbook DTDs
(for example docbook-xml on Debian derivatives), and Docbook XSLT
stylesheets (for example docbook-xsl on Debian derivatives). Using
KDE's meinproc4 documentation processor is no longer supported.
Enhancements:
• Rewrite CONTRIBUTING.md to reflect the current setup
(dbus!8, Simon McVittie)
• D-Bus Specification v0.34:
· Fix an incorrect AddMatch() call in sample code
(dbus#221, dbus!56; Philip Withnall)
• Tarball releases no longer contain pre-2007 changelogs and are now
compressed with xz, so they should be somewhat smaller
(fd.o #107630; Francesco Turco, Simon McVittie)
• Reference the freedesktop.org Code of Conduct (Simon McVittie)
• Build an implementation of dbus-run-session for Windows
(dbus#135, dbus!22; Ralf Habacker)
• On Linux with SELinux, use avc_open() and monitor the AVC netlink fd
in the main event loop, instead of using the deprecated avc_init()
and a thread (dbus#134, dbus!31; Laurent Bigonville)
• On Linux with SELinux, use the SELINUX_CB_POLICYRELOAD callback
to detect policy reloads, instead of monitoring the access vector
cache with AVC_CALLBACK_RESET
(dbus#134, dbus!31; Laurent Bigonville)
• Avoid double slashes in pkg-config paths (dbus!30, Ralf Habacker)
• Improve test coverage and clean up dead code
(fd.o #107739, dbus#222; Simon McVittie)
• Allow --enable-relocation in combination with absolute paths for
--exec-prefix, --libdir (fd.o #107662, Simon McVittie)
• Don't run a test program to check how to copy a va_list, which is
awkward for cross-compiling; instead require that va_copy() or
__va_copy() exists, except in older MSVC versions where we already
know that simple assignment is enough (dbus!35, Simon McVittie)
• Simplify configure checks (dbus!10, Simon McVittie)
• Improve CMake build system parity with Autotools, including:
· Detect inotify, prctl() and getpwnam_r() correctly on Linux
· Use xsltproc instead of meinproc4 for documentation
(dbus#57, dbus#117, dbus#193, dbus#227, dbus!18, dbus!39;
Ralf Habacker, Simon McVittie)
Fixes:
• Stop the dbus-daemon leaking memory (an error message) if delivering
the message that triggered auto-activation is forbidden. This is
technically a denial of service because the dbus-daemon will
run out of memory eventually, but it's a very slow and noisy one,
because all the rejected messages are also very likely to have
been logged to the system log, and its scope is typically limited by
the finite number of activatable services available.
(dbus#234, Simon McVittie)
• Remove __attribute__((__malloc__)) attribute on dbus_realloc(),
which does not meet the criteria for that attribute in gcc 4.7+,
potentially leading to miscompilation (fd.o #107741, Simon McVittie)
• Parse section/group names in .service files according to the syntax
from the Desktop Entry Specification:
· reject control characters and non-ASCII in section/group names
· backslash escapes are not interpreted in section/group names
(dbus#208; David King, Simon McVittie)
• Always use select()-based poll() emulation on Darwin-based OSs
(macOS, etc.) and on Interix, similar to what libcurl does
(dbus#232, dbus!19; Simon McVittie)
• Avoid undefined integer shifts when generating random tokens for
the DBUS_COOKIE_SHA1 mechanism (dbus!45, Simon McVittie)
• Document the max-connections-per-user limit as unimplemented on
Windows, and don't fail tests when it isn't enforced there
(dbus!54, Simon McVittie)
• Avoid unnecessary file descriptors being inherited by dbus-daemon and
dbus-launch subprocesses (dbus!50, Simon McVittie)
• Fix some minor memory leaks
(fd.o #107320, dbus!41, dbus!42; Simon McVittie)
• Don't fail tests if GetConnectionUnixProcessID() succeeds on Windows,
which it normally will since 1.7.x
(dbus#239, dbus!55; Simon McVittie)
• Extend a test timeout to avoid spurious failures in CI
(dbus!26, Simon McVittie)
• Avoid undefined signed integer operations when generating random
message content during regression tests (dbus!46, Simon McVittie)
• Fix build warnings with recent gcc (dbus#208, dbus#225; David King)
• Fix build warnings without libX11 (dbus#228, Simon McVittie)
• Fix whitespace and error behaviour for _dbus_command_from_pid()
(dbus#222, dbus!28; Simon McVittie)
• Fix a race condition in the containers test
(dbus!47, Simon McVittie)
• When built with CMake, install dbus-daemon-launch-helper to
${CMAKE_INSTALL_LIBEXECDIR}, analogous to ${libexecdir} in
Autotools (dbus!9, Simon McVittie)
• When built with CMake and disabling tests, still install
dbus-daemon-launch-helper (dbus!9, Simon McVittie)
Tests and CI:
• Add Travis-CI builds for 64-bit Windows using mingw-w64
(fd.o #105662, Ralf Habacker)
• Add Gitlab-CI integration (fd.o #108177, Simon McVittie)
--
Simon McVittie, Collabora Ltd.
on behalf of the dbus maintainers
More information about the dbus
mailing list