dbus: Update to version 1.16.0

Message ID 20250103142122.13241-1-adolf.belka@ipfire.org
State New
Headers
Series dbus: Update to version 1.16.0 |

Commit Message

Adolf Belka Jan. 3, 2025, 2:21 p.m. UTC
  - Update from version 1.14.10 to 1.16.0
- Update of rootfile
- Autotools has been removed from dbus so build converted to meson
- Changelog
   1.16.0
     Build system and dependencies:
	• The Meson build system is the recommended way to build dbus on Unix.
	  This requires Meson 0.56 and Python 3.5.
	  · Projects that depend on libdbus can build it as a Meson subproject.
	    See tests/use-as-subproject/meson.build for suggested build options.
	• CMake continues to be available as an alternative build system,
	  and is recommended on Windows. This requires CMake 3.10.
	• A C99 compiler such as gcc, clang, or Visual Studio 2015 is required.
	  A C11 compiler such as gcc, clang, or Visual Studio 2019 is recommended.
	• On platforms with larger-than-64-bit pointers, a C11 compiler is required
     Behaviour changes:
	• On Unix, the well-known system bus socket is in the runtime state
	  directory by default (normally /run)
	  (see 1.15.4 for more details)
	• On Linux with systemd, dbus-daemon starts as the target user/group
	  (retaining CAP_AUDIT_WRITE) instead of starting as root and
	  dropping privileges
     Feature removals:
	• Autotools build system
	• pam_console/pam_foreground integration
	  (Autotools --with-console-auth, CMake -DDBUS_CONSOLE_AUTH_DIR)
     New features and significant bug fixes:
	• ProcessFD in GetConnectionCredentials() on Linux
	  (see 1.15.8 for more details)
	• On Unix, the system message bus now loads .service files from /etc and /run
	• Use close_range() to close unwanted file descriptors or mark them
	  close-on-exec, if available
	• Use 64-bit timestamps internally on 32-bit platforms, for Y2038 safety
	• Use APIs that can return 64-bit timestamps and inode numbers on
	  32-bit glibc
	• AF_UNIX sockets are available on sufficiently recent Windows
	• dbus-send can send arrays of variants, variant values in dictionaries,
	  and nested variants
	• Portability to CPU architectures with larger-than-64-bit pointers
     Dependencies:
	• Building with CMake now requires CMake ≥ 3.10.
     Bug fixes:
	• Avoid deprecation warnings with newer Meson versions
	  (dbus!507, Simon McVittie)
	• Avoid deprecation warnings with newer CMake versions
	  (dbus#541, Ralf Habacker)
     Tests and CI enhancements:
	• When building with CMake, set the same environment variables as Meson.
	  This improves test coverage. (dbus#533, Ralf Habacker)
	• Remove a remaining reference to Debian 11, which is EOL
	  (dbus!508, Simon McVittie)
   1.15.92
     Build-time configuration changes:
	• When building with Meson, the embedded_tests option has been renamed
	  to intrusive_tests. This option adds test instrumentation in libdbus
	  and dbus-daemon, which reduces performance and is not secure.
	  For production builds of dbus in OS distributions, it must be false
	  (-Dintrusive_tests=false, which is the default)
	  During development, it should be set true (-Dintrusive_tests=true)
	  for full test coverage. (dbus#537, Simon McVittie)
	• Similarly, when building with CMake, the DBUS_BUILD_TESTS option no
	  longer enables intrusive test instrumentation. A new option
	  -DDBUS_ENABLE_INTRUSIVE_TESTS=ON is equivalent to the Meson build
	  system's -Dintrusive_tests=true.
     Bug fixes:
	• If a DBusWatch callback fails because there is insufficient memory,
	  make sure to retry it within a finite time (dbus#536, Petr Malat)
	• On macOS with launchd enabled, if the session bus launchd integration
	  is not correctly configured, don't treat that as a fatal error that
	  prevents connecting to the system bus (dbus#510, Mohamed Akram)
	• If intrusive test instrumentation is enabled, older versions of dbus
	  would simulate an out-of-memory condition once per 2**32 allocations,
	  even if not specifically requested. This is no longer done.
	  (dbus#535, Simon McVittie)
	• Fix compilation on non-Linux platforms with glibc, such as
	  Debian GNU/Hurd (dbus#539, Simon McVittie)
	• Avoid test failures with non-trivial NSS modules, similar to dbus#256
	  (dbus#540, Simon McVittie)
	• When built with CMake, make paths in DBus1Config relocatable
	  (dbus!499, Ralf Habacker)
   1.15.90
     Build-time configuration changes:
	• The experimental Containers1 interface has been removed from this branch.
	  It is incomplete and not ready for production use, and has been
	  compile-time-disabled and impossible to enable without patching
	  since 1.13.20. To reduce confusion, delete the code completely.
	  It remains present on the git `master` branch for 1.17.x, and will
	  hopefully be reinstated during the 1.17.x cycle.
	  (dbus!488, dbus!490; Simon McVittie)
     Bug fixes:
	• Fix the Devhelp index for API documentation (dbus!486, Simon McVittie)
	• Fix detection of socketpair() on Solaris 10 (dbus#531, Simon McVittie)
	• Avoid undefined signed integer overflow when calculating hash table
	  indexes (dbus!487, Jami Kettunen)
   1.15.12
     Enhancements:
	• D-Bus Specification 0.43:
	  · Recommend loading system services from /etc/dbus-1/system-services
	    and /run/dbus-1/system-services (dbus!467, Luca Boccassi)
	  · Reorganise documentation of the message bus to make it easier to add
	    new interfaces (dbus!472, Simon McVittie)
	  · Document o.fd.DBus.Debug.Stats interface (dbus!472, Simon McVittie)
	  · Document o.fd.DBus.Verbose interface (dbus!472, Simon McVittie)
	  · Formatting improvements (dbus!471, dbus!472; Simon McVittie)
	  · Don't imply that all clients need to support obsolete message bus
	    implementations (dbus!471, Simon McVittie)
	• API design advice:
	  · Document typical approaches to emulating nullable types in the D-Bus
	    type system (dbus!446, Zeeshan Ali Khan)
	• On Unix, additionally load system services from:
	  · /etc/dbus-1/system-services, reserved for use by either the local system
	    administrator, or software such as asset managers and configuration
	    management frameworks acting on their behalf
	  · /run/dbus-1/system-services, for ephemeral services
	  (dbus!467, Luca Boccassi)
     Bug fixes:
	• Increase file descriptor soft limit to hard limit before testing file
	  descriptor passing, and correctly skip the test for flooding the bus
	  with fds when the limit is too low, fixing test failures on Solaris
	  (dbus#176, Alan Coopersmith)

	• When building API documentation with Doxygen, always generate a working
	  link in the index HTML page
	  (dbus#519, dbus!470; Ralf Habacker, Simon McVittie)
	• When building with Meson, add (more) test dependencies so that 'meson test'
	  does not always need to be preceded by 'meson compile'
	  (dbus!468, Simon McVittie)
	• When installing with Meson, don't fail if we are installing as root but
	  the user/group that will own the setuid dbus-daemon-launch-helper do not
	  yet exist (dbus#492, Jordan Williams)
	• When building with Meson on Solaris, fix detection and build of
	  Solaris audit API integration
	  (dbus!477, Alan Coopersmith)
	• Fix service activation timeouts when built with embedded tests (test
	  instrumentation) and run on a platform with a large file descriptor limit
	  (dbus#527, Simon McVittie)
	• Fix test failures on platforms where deleting the current working
	  directory is not allowed, such as Solaris
	  (dbus!480, Alan Coopersmith)
     Internal changes:
	• CI fixes (dbus!474, Simon McVittie)
   1.15.10
     Build-time configuration changes:
	• The Autotools build system has been removed. Its replacement is Meson.
	  (dbus#443, Ralf Habacker)
     Enhancements:
	• Use 64-bit timestamps internally.
	  This will allow 32-bit builds of libdbus to continue working after 2038
	  if there is OS-level support for 64-bit time_t, either opt-in
	  (as on 32-bit glibc systems) or by default. (dbus!444, Alexander Kanavin)
	• When building with CMake, build more HTML documentation
	  (dbus#504, Ralf Habacker)
     Bug fixes:
	• Don't crash if configured to watch more than 128 directories with
	  inotify (dbus#481, hongjinghao)
	• Never add (uid_t) -1, (gid_t) -1 or (pid_t) 0 to credentials
	  (dbus!464, Alyssa Ross)
	• Fix a regression since 1.15.0 for "autolaunch:" on Windows
	  (dbus#503, Thomas Sondergaard)
	• When building with Meson, don't use stdatomic.h if it exists but is
	  non-functional, for example under Visual Studio 2022
	  (dbus#494, Thomas Sondergaard)
	• When building with Meson, add test dependencies so that 'meson test'
	  does not always need to be preceded by 'meson compile'
	  (dbus!465, Alyssa Ross)
	• When building with Meson, really enable launchd if appropriate
	  (dbus!463, Alyssa Ross)
	• In the test suite, use a more widely-implemented group name 'tty'
	  in preference to 'bin' (dbus#514, Alyssa Ross)
	• Ensure that `dbus-test-tool spam` options cannot leave the payload
	  length uninitialized (dbus!469, Simon McVittie)
	• Fix compiler warnings with gcc 14 (dbus!469, Simon McVittie)
     Documentation:
	• Clarify ownership transfer of pending call in
	  dbus_connection_send_with_reply() (dbus!455, Wiebe Cazemier)
	• Explicitly document dbus-send exit status (dbus#452, Philip Withnall)
	• Refer to d-spy in preference to unmaintaned D-Feet
	  (dbus!460, Ludovico de Nittis)
	• Update URL to Bustle tool (dbus!460, Ludovico de Nittis)
     Internal changes:
	• Replace _dbus_string_append_int(), _dbus_string_append_uint() with
	  calls to _dbus_string_append_printf()
	  (dbus!445, Simon McVittie)
	• Clean up unused macros in CMake build
	  (dbus!463, Alyssa Ross)
	• Internal CI changes
	  (dbus#487, dbus#488, dbus#489, dbus#509;
	  Ralf Habacker, Simon McVittie)
   1.15.8
     Build-time configuration changes:
	• For this version of dbus, Meson is the recommended build system for all
	  Unix platforms. CMake continues to be recommended for Windows, but this
	  recommendation might change to Meson in a future release, so please
	  test the Meson build. See INSTALL for details.
	• Autotools-generated files are no longer included in the tarball release.
	  The Autotools build system is likely to be removed in a future dbus
	  release, so Autotools users should migrate to Meson as soon as possible.
	  It is still possible to build using Autotools, by following the same
	  procedure as for a git clone (starting with the `./autogen.sh` script).
     Enhancements:
	• D-Bus Specification 0.42:
	  · GetConnectionCredentials can return ProcessFD
	    (dbus!420, dbus!398; Luca Boccassi)
	• On Linux with sufficiently new glibc and kernel headers, report a pinned
	  process file descriptor (pidfd) as the ProcessFD member of the
	  GetConnectionCredentials() result
	  (dbus!420, dbus!398; Luca Boccassi)
	• On Linux with systemd, start as the target user/group (retaining
	  CAP_AUDIT_WRITE to preserve the ability to write to the audit log),
	  instead of starting as root and dropping privileges
	  (dbus!399, Luca Boccassi)
	• On 32-bit glibc systems, opt-in to 64-bit timestamps if possible.
	  This will allow 32-bit builds of libdbus to continue working after 2038.
	  (dbus#465, Simon McVittie)
	• On 32-bit glibc systems when built with CMake, also opt-in to large
	  file sizes, offsets and inode numbers, as was done for Autotools
	  since 1.12.x and Meson since the Meson build was introduced
	  (dbus#465, fd.o #93545; Simon McVittie)
	• Avoid known dbus-daemon options being interpreted as optional arguments
	  (dbus#467, Xin Shi)
	• If libdbus is a Meson subproject in a larger project, announce it as an
	  implementation of the dbus-1 dependency (dbus!415, Barnabás Pőcze)
	• When built with CMake, get the version number from Meson instead of
	  Autotools, in preparation for the Autotools build system being removed
	  (dbus!382, Ralf Habacker)
	• When built with Meson, disable some unwanted warnings when either
	  assertions or checks is disabled (dbus!412, Simon McVittie)
	• Use C11 <stdatomic.h> if possible (dbus!431, Simon McVittie)
	• Expand coverage of SPDX/REUSE copyright/license information
	  (dbus!427, Simon McVittie)
	• On Linux, let dbus-daemon start up successfully (with a warning) if
	  inotify initialization fails, even if DBUS_FATAL_WARNINGS=1 is present
	  in the environment (dbus#473, Simon McVittie)
	• On Unix, provide a better error message when looking up a user by name
	  or user ID fails (dbus!442, Simon McVittie)
     Bug fixes:
	• Avoid a dbus-daemon crash if re-creating a connection's policy fails.
	  If it isn't possible to re-create its policy (for example if it belongs
	  to a user account that has been deleted or if the Name Service Switch is
	  broken, on a system not supporting SO_PEERGROUPS), we now log a warning,
	  continue to use its current policy, and continue to reload other
	  connections' policies. (dbus#343; Peter Benie, Simon McVittie)
	• If getting the groups from a user ID fails, report the error correctly,
	  instead of logging "(null)" (dbus#343, Simon McVittie)
	• Return the primary group ID in GetConnectionCredentials()' UnixGroupIDs
	  field for processes with a valid-but-empty supplementary group list
	  (dbus!422, cptpcrd)
	• `sudo meson install` without a DESTDIR is now possible, although
	  strongly discouraged on production systems (dbus#436, Simon McVittie)
	• Fix a Meson deprecation warning (dbus#439, Simon McVittie)
     Tests and CI enhancements:
	• Internal CI changes
	  (dbus#455, dbus!414, dbus#468, dbus#469, dbus!424, dbus!430, dbus#436,
	  dbus#470; Ralf Habacker, Simon McVittie)
   1.15.6
     Denial-of-service fixes:
	• Fix an assertion failure in dbus-daemon when a privileged Monitoring
	  connection (dbus-monitor, busctl monitor, gdbus monitor or similar)
	  is active, and a message from the bus driver cannot be delivered to a
	  client connection due to <deny> rules or outgoing message quota. This
	  is a denial of service if triggered maliciously by a local attacker.
	  (dbus#457; hongjinghao, Simon McVittie)
     Enhancements:
	• Special-case reading pseudo-files from Linux /proc to take into
	  account the filesystem's unusual semantics (dbus!401, Luca Boccassi)
     Other fixes:
	• Fix compilation on compilers not supporting __FUNCTION__
	  (dbus!404, Barnabás Pőcze)
	• Fix some memory leaks on out-of-memory conditions
	  (dbus!403, Barnabás Pőcze)
	• Documentation:
	  · Update the README to recommend building with Meson
	    (dbus!402, Ahmed Abdelfattah)
	  · Fix syntax of a code sample in dbus-api-design
	    (dbus!396; Yen-Chin, Lee)
	• CMake build fixes:
	  · Detect presence of <sys/syscall.h> (dbus!400, Luca Boccassi)
     Tests and CI enhancements:
	• Fix CI pipelines after freedesktop/freedesktop#540
	  (dbus!405, dbus#456; Simon McVittie)
	• Ensure the messagebus user is created if necessary
	  (dbus#445, Ralf Habacker)
   1.15.4
     Dependencies:
	• Building with CMake now requires CMake ≥ 3.9.
     Build-time configuration changes:
	• On Unix platforms, a path in the runtime state directory (often /run)
	  is now used for the well-known system bus socket by default. OS
	  distributors should check that the path used is equivalent to the
	  interoperable path /var/run/dbus/system_bus_socket, especially if
	  running on an OS where /var/run is not guaranteed to be a symbolic
	  link to /run.
	  (dbus#180; Issam E. Maghni, Simon McVittie)
	  · With Autotools, this is controlled by --runstatedir, which defaults
	    to ${localstatedir}/run but is often set to /run by OS distributors.
	    The path to the system bus socket can be overridden with the
	    --with-system-socket option if required.
	  · With CMake, this is controlled by the RUNSTATEDIR option, which has
	    behaviour similar to Autotools. There is no separate option for the
	    path to the system bus socket.
	  · With Meson, this is controlled by the runtime_dir option, which
	    defaults to /run if the installation prefix is set to /usr, or has
	    behaviour similar to Autotools otherwise. The path to the system bus
	    socket can be overridden with the system_socket option if required.
     Denial of service fixes:
	• Fix an incorrect assertion that could be used to crash dbus-daemon or
	  other users of DBusServer prior to authentication, if libdbus was compiled
	  with assertions enabled.
	  We recommend that production builds of dbus, for example in OS distributions,
	  should be compiled with checks but without assertions.
	  (dbus#421, Ralf Habacker; thanks to Evgeny Vereshchagin)
     Enhancements:
	• D-Bus Specification 0.41:
	  · Clarify handling of /run vs. /var/run on Unix systems
	    (dbus#180, Simon McVittie)
	• Add dbus_connection_set_builtin_filters_enabled(), intended to be called
	  by tools that use BecomeMonitor() such as dbus-monitor
	  (dbus#301, Kai A. Hiller)
	• When using the Meson build system, dbus can now be used as a subproject.
	  To avoid colliding with a separate system copy of dbus, building it as a
	  static library with tests, tools and the message bus disabled is
	  strongly recommended. See test/use-as-subproject for sample code.
	  (dbus!368, dbus!388; Daniel Wagner)
     Other fixes:
	• When connected to a dbus-broker, stop dbus-monitor from incorrectly
	  replying to Peer method calls that were sent to the dbus-broker with
	  a NULL destination (dbus#301, Kai A. Hiller)
	• Fix out-of-bounds varargs read in the dbus-daemon's config-parser.
	  This is not attacker-triggerable and appears to be harmless in practice,
	  but is technically undefined behaviour and is detected as such by
	  AddressSanitizer. (dbus!357, Evgeny Vereshchagin)
	• Avoid a data race in multi-threaded use of DBusCounter
	  (dbus#426, Ralf Habacker)
	• Fix a crash with some glibc versions when non-auditable SELinux events
	  are logged (dbus!386, Jeremi Piotrowski)
	• If dbus_message_demarshal() runs out of memory while validating a message,
	  report it as NoMemory rather than InvalidArgs (dbus#420, Simon McVittie)
	• Use C11 _Alignof if available, for better standards-compliance
	  (dbus!389, Khem Raj)
	• Stop including an outdated copy of pkg.m4 in the git tree
	  (dbus!365, Simon McVittie)
	• Meson build fixes:
	  · Use -fvisibility=hidden on Unix if supported, in particular on Linux
	    (dbus!383, dbus#437; Simon McVittie)
	  · Fix build on macOS, and any other platform that has
	    CLOCK_MONOTONIC but not pthread_condattr_setclock()
	    (dbus#419, Jordan Williams)
	• Documentation:
	  · Consistently use Gitlab bug reporting URL (dbus!372, Marco Trevisan)
	• Licensing:
	  · Use MIT license for some test files that did not previous specify a
	    license, with permission from their authors (dbus!359, Simon McVittie)
	  · Add more SPDX/REUSE license markers
	    (dbus!311, dbus!369, dbus!370, dbus!371, dbus!375, dbus!376;
	    Ralf Habacker, Simon McVittie)
	  · Correct syntax of some SPDX license markers (dbus!360, Ralf Habacker)
	• Tests fixes:
	  · Fix an assertion failure in test-autolaunch-win
	    (dbus#422, Ralf Habacker)
	  · Expand test coverage under CMake (dbus!322, Ralf Habacker)
	  · Fix the test-apparmor-activation test after dbus#416
	    (dbus!380, Dave Jones)
     Internal changes:
	• Add static assertions for some things we assume about pointers
	  (dbus!345, Simon McVittie)
	• Refactoring (dbus!356, dbus#430, dbus#431; Simon McVittie, Xin Shi)
	• Fix CI builds with recent git versions (dbus#447, Simon McVittie)
	• Build dbus with clang during CI (dbus!358, Evgeny Vereshchagin)
   1.15.2
     Behaviour changes:
	• On Linux, dbus-daemon and other uses of DBusServer now create a
	  path-based Unix socket, unix:path=..., when asked to listen on a
	  unix:tmpdir=... address. This makes unix:tmpdir=... equivalent to
	  unix:dir=... on all platforms.
	  Previous versions would have created an abstract socket, unix:abstract=...,
	  in this situation.
	  This change primarily affects the well-known session bus when run via
	  dbus-launch(1) or dbus-run-session(1). The user bus, enabled by configuring
	  dbus with --enable-user-session and running it on a systemd system,
	  already used path-based Unix sockets and is unaffected by this change.
	  This behaviour change prevents a sandbox escape via the session bus socket
	  in sandboxing frameworks that can share the network namespace with the host
	  system, such as Flatpak.
	  This change might cause a regression in situations where the abstract socket
	  is intentionally shared between the host system and a chroot or container,
	  such as some use-cases of schroot(1). That regression can be resolved by
	  using a bind-mount to share either the D-Bus socket, or the whole /tmp
	  directory, with the chroot or container.
	  (dbus#416, Simon McVittie)
     Denial of service fixes:
	Evgeny Vereshchagin discovered several ways in which an authenticated
	local attacker could cause a crash (denial of service) in
	dbus-daemon --system or a custom DBusServer. In uncommon configurations
	these could potentially be carried out by an authenticated remote attacker.
	• An invalid array of fixed-length elements where the length of the array
	  is not a multiple of the length of the element would cause an assertion
	  failure in debug builds or an out-of-bounds read in production builds.
	  This was a regression in version 1.3.0.
	  (dbus#413, CVE-2022-42011; Simon McVittie)
	• A syntactically invalid type signature with incorrectly nested parentheses
	  and curly brackets would cause an assertion failure in debug builds.
	  Similar messages could potentially result in a crash or incorrect message
	  processing in a production build, although we are not aware of a practical
	  example. (dbus#418, CVE-2022-42010; Simon McVittie)
	• A message in non-native endianness with out-of-band Unix file descriptors
	  would cause a use-after-free and possible memory corruption in production
	  builds, or an assertion failure in debug builds. This was a regression in
	  version 1.3.0. (dbus#417, CVE-2022-42012; Simon McVittie)
     Enhancements:
	• D-Bus Specification 0.40 (dbus#416, Simon McVittie)
	  · Clarify that unix:tmpdir is not required to use abstract sockets,
	    even where supported
	  · Mention implications of abstract sockets for Linux namespacing
   1.15.0
     Dependencies:
	• On platforms where a pointer is larger than 64 bits, dbus requires at
	  least a C11 compiler.
	  On other platforms, dbus now requires either a C99 compiler such as
	  gcc or clang, or Microsoft Visual Studio 2015 or later. Some workarounds
	  for pre-C99 environments are currently still present, but we plan to
	  remove them during this development cycle.
	• Building with CMake now requires CMake ≥ 3.4.
	• Building with Meson requires Meson ≥ 0.56 and Python ≥ 3.5.
     Feature removal:
	• Remove support for the obsolete pam_console and pam_foreground modules
	  (the Autotools --with-console-auth-dir= and CMake -DDBUS_CONSOLE_AUTH_DIR=
	  options, which have been deprecated since dbus 1.11.18).
	  (dbus#181, fd.o#101629)
     Build-time configuration changes:
	• Add a Meson build system. This is currently considered experimental,
	  but the intention is for it to replace Autotools and/or CMake in future
	  releases, preferably both. Please test!
	  (dbus!303, dbus!325; Félix Piédallu, Marc-André Lureau, Simon McVittie)
	  · This requires Meson 0.56 or newer, and Python 3.5 or newer.
	  · Expat can be built as a subproject using Meson's "wrap" mechanism,
	    if desired. This should make it considerably easier to build dbus
	    for Windows or other platforms without a library packaging system.
	  · GLib can also be built as a subproject using Meson's "wrap" mechanism,
	    if desired. This should make it considerably easier to build full
	    test coverage on Windows or other platforms without a library
	    packaging system.
	• Please note that not all Meson build options correspond 1:1 to how
	  the closest equivalents in Autotools or CMake behave, and the Meson
	  build options are subject to change.
	  Distributors and developers evaluating the Meson build should check
	  that they are configuring dbus the way they intend to.
     Enhancements:
	• D-Bus Specification 0.39:
	  · Document how to represent internationalized domain names in D-Bus
	    names (dbus!324, Simon McVittie)
	  · Improve documentation of AF_UNIX sockets (Marc-André Lureau)
	• On Unix, speed up closing file descriptors for subprocesses by using
	  closefrom() or close_range() where available
	  (dbus#278; rim, Simon McVittie)
	• On Windows, dbus can now use AF_UNIX sockets, not just TCP.
	  This requires Windows 10 build 17063 or later at runtime,
	  and either Windows 10 SDK 17063 or mingw-w64 version 9.0.0 or later
	  at compile-time. (dbus!249, Marc-André Lureau)
	• Teach dbus-send to handle variants in containers: arrays of variants,
	  variant values in dictionaries, and nested variants
	  (dbus!206, Frederik Van Bogaert)
	• Detect programming errors with Windows mutexes if assertions are
	  enabled, similar to what we already did for pthreads mutexes
	  (dbus#369, Ralf Habacker)
	• Move license text into LICENSES, and start to use SPDX markers
	  (Simon McVittie, Ralf Habacker)
     Fixes:
	• Portability to CPU architectures with larger-than-64-bit pointers
	  (dbus!335, dbus!318; Alex Richardson)
	• Fix build failure on FreeBSD (dbus!277, Alex Richardson)
	• Fix build failure on macOS with launchd enabled
	  (dbus!287, Dawid Wróbel)
	• Preserve errno on failure to open /proc/self/oom_score_adj
	  (dbus!285, Gentoo#834725; Mike Gilbert)
	• Improve dbus-launch --autolaunch so it can pick up an existing bus from
	  Linux XDG_RUNTIME_DIR or macOS launchd, even if X11 autolaunching was
	  disabled (dbus#385, dbus#392; Simon McVittie, Alex Richardson)
	• Correctly escape AF_UNIX socket paths when converting them to D-Bus
	  address strings (dbus#405, Marc-André Lureau)
	• On Linux, don't log warnings if oom_score_adj is read-only but does not
	  need to be changed (dbus!291, Simon McVittie)
	• Slightly improve error-handling for inotify
	  (dbus!235, Simon McVittie)
	• Don't crash if dbus-daemon is asked to watch more than 128 directories
	  for changes (dbus!302, Jan Tojnar)
	• Silence various compiler warnings
	  (dbus!275, dbus!289, dbus!305, dbus!307, dbus!312, dbus!315;
	  Ralf Habacker, Simon McVittie, Alex Richardson, Marc-André Lureau)
	• On Windows, use safer locking patterns for the system-global mutex used
	  to implement autolaunching (dbus#368, dbus#370; Ralf Habacker)
	• Index dbus-arch-deps.h for API documentation when building out-of-tree
	  (dbus!312, Marc-André Lureau)
	• Silence xmlto warnings when building man pages
	  (dbus!312, Marc-André Lureau)
	• Fix build failure when checks are disabled but assertions are enabled
	  (dbus#412, Johannes Kauffmann)
	• Use C99 flexible arrays in the memory pool implementation for better
	  support for modern compilers
	  (dbus!343, dbus!344; Alex Richardson, Simon McVittie)
	• Autotools build system fixes:
	  · Don't treat --with-x or --with-x=yes as a request to disable X11,
	    fixing a regression in 1.13.20. Instead, require X11 libraries and
	    fail if they cannot be detected. (dbus!263, Lars Wendler)
	  · When a CMake project uses an Autotools-built libdbus in a
	    non-standard prefix, find dbus-arch-deps.h successfully
	    (dbus#314, Simon McVittie)
	  · Don't include generated XML catalog in source releases
	    (dbus!317, Jan Tojnar)
	  · Improve robustness of detecting gcc __sync atomic builtins
	    (dbus!320, Alex Richardson)
	• CMake build system fixes:
	  · Detect endianness correctly, fixing interoperability with other D-Bus
	    implementations on big-endian systems (dbus#375, Ralf Habacker)
	  · Fix a race condition generating man pages and HTML documentation
	    (dbus#381, Ralf Habacker)
	  · When building for Unix, install session and system bus setup
	    in the intended locations
	    (dbus!267, dbus!297; Ralf Habacker, Alex Richardson)
	  · Detect setresuid() and getresuid() (dbus!319, Alex Richardson)
	  · Detect backtrace() on FreeBSD (dbus!281, Alex Richardson)
	  · Don't include headers from parent directory (dbus!282, Alex Richardson)
	  · Fix -Wunused-command-line-argument on FreeBSD
	    (dbus!278, Alex Richardson)
	  · Only add warning flags if the compiler supports them
	    (dbus!276, Alex Richardson)
	  · Distinguish between host and target TMPDIR when cross-compiling
	    (dbus!279, Alex Richardson)
	  · Improve compiler warning detection (dbus#387, Ralf Habacker)
	  · Allow TEST_SOCKET_DIR to be overridden (dbus!295, Ralf Habacker)
	  · Fix detection of atomic operations (dbus!306, Alex Richardson)
	  · Use DWARF 2 instead of STABS for debug symbols on Windows, for
	    compatibility with newer gcc versions (dbus!323, Marc-André Lureau)
	  · Fix use of paths relative to the dbus project directory when dbus is
	    vendored into a larger CMake project (dbus!332, Jordan Williams)
     Tests and CI enhancements:
	• Add an automated test for Windows autolaunching
	  (dbus#235, Ralf Habacker)
	• Avoid compiler warnings in test code
	  (dbus#383, dbus!274, dbus!275; Simon McVittie, Ralf Habacker)
	• Avoid LeakSanitizer warnings in test code
	  (dbus!326, Simon McVittie)
	• Speed up a particularly slow unit test by a factor of 30
	  (dbus!328, Simon McVittie)
	• On Unix, skip tests that switch uid if run in a container that is
	  unable to do so, instead of failing (dbus#407, Simon McVittie)
	• On Unix, consistently create test sockets in DBUS_TEST_SOCKET_DIR and
	  not the build directory, allowing the build directory to be mounted with
	  a non-POSIX filesystem (dbus!334, Alex Richardson)
	• Gitlab-CI improvements
	  (dbus#383, dbus#388, dbus!262, dbus!288, dbus!292, dbus!296, dbus!299,
	  dbus!301;
	  Ralf Habacker, Simon McVittie, Alex Richardson)
	• Added FreeBSD Gitlab-CI build jobs
	  (dbus!280, dbus!347; Alex Richardson)
	• Use the latest MSYS2 packages for CI
	  (Ralf Habacker, Simon McVittie)

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/packages/dbus |  4 ++--
 lfs/dbus                       | 23 ++++++++++++-----------
 2 files changed, 14 insertions(+), 13 deletions(-)
  

Patch

diff --git a/config/rootfiles/packages/dbus b/config/rootfiles/packages/dbus
index 2cf7fe37b..e9a04cd57 100644
--- a/config/rootfiles/packages/dbus
+++ b/config/rootfiles/packages/dbus
@@ -37,10 +37,9 @@  usr/bin/dbus-uuidgen
 #usr/lib/dbus-1.0/include
 #usr/lib/dbus-1.0/include/dbus
 #usr/lib/dbus-1.0/include/dbus/dbus-arch-deps.h
-#usr/lib/libdbus-1.la
 #usr/lib/libdbus-1.so
 usr/lib/libdbus-1.so.3
-usr/lib/libdbus-1.so.3.32.4
+usr/lib/libdbus-1.so.3.38.3
 #usr/lib/pkgconfig/dbus-1.pc
 usr/libexec/dbus-daemon-launch-helper
 #usr/share/dbus-1
@@ -58,6 +57,7 @@  usr/share/dbus-1/system.d
 #usr/share/doc/dbus/examples/example-session-disable-stats.conf
 #usr/share/doc/dbus/examples/example-system-enable-stats.conf
 #usr/share/doc/dbus/examples/example-system-hardening-without-traditional-activation.conf
+#usr/share/doc/dbus/index.html
 #usr/share/doc/dbus/system-activation.txt
 #usr/share/xml/dbus-1
 #usr/share/xml/dbus-1/busconfig.dtd
diff --git a/lfs/dbus b/lfs/dbus
index bd351a6f9..6d07c335b 100644
--- a/lfs/dbus
+++ b/lfs/dbus
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2023  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2025  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -26,14 +26,14 @@  include Config
 
 SUMMARY    = D-Bus Message Bus System
 
-VER        = 1.14.10
+VER        = 1.16.0
 THISAPP    = dbus-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = dbus
-PAK_VER    = 11
+PAK_VER    = 12
 
 DEPS       =
 
@@ -47,7 +47,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = f605b0810dcde6a0753384927131e7f4675be737ad7506a51261717c2622e74b99ac33cc2c199b98e5aa6b9d7c68ef692b8ee9f684f6fdab8d06c6fa861a6f6b
+$(DL_FILE)_BLAKE2 = a5a3ebe777c1c0296ba7240f9ed29ad329a6578a05baf10a469ce8c7d243791d35aca42a70d04cdd88feea238d081c3c8b0db444df24abcf7ce5ffe9187a0440
 
 install : $(TARGET)
 
@@ -81,13 +81,14 @@  $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_SRC)/dbus*
 	cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-	cd $(DIR_APP) && ./configure \
-				--prefix=/usr \
-				--sysconfdir=/etc \
-				--localstatedir=/var \
-				--disable-static
-	cd $(DIR_APP) && make $(MAKETUNING)
-	cd $(DIR_APP) && make install
+	cd $(DIR_APP) && meson setup \
+				-D prefix=/usr \
+				-D sysconfdir=/etc \
+				-D localstatedir=/var \
+				-D default_library=shared \
+				builddir/
+	cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING)
+	cd $(DIR_APP) && ninja -C builddir/ install
 
 	#install initscripts
 	$(call INSTALL_INITSCRIPTS,$(SERVICES))