Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package dbus-1 for openSUSE:Factory checked in at 2022-03-05 14:43:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dbus-1 (Old) and /work/SRC/openSUSE:Factory/.dbus-1.new.1958 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dbus-1" Sat Mar 5 14:43:38 2022 rev:168 rq:958730 version:1.12.22 Changes: -------- --- /work/SRC/openSUSE:Factory/dbus-1/dbus-1-devel-doc.changes 2020-08-19 18:45:09.723475335 +0200 +++ /work/SRC/openSUSE:Factory/.dbus-1.new.1958/dbus-1-devel-doc.changes 2022-03-05 14:44:20.391714891 +0100 @@ -1,0 +2,25 @@ +Tue Mar 1 18:29:55 UTC 2022 - Bj??rn Lie <bjorn....@gmail.com> + +- Update to version 1.12.22: + + On Linux, when using traditional (non-systemd) service + activation, don't log warnings about failing to reset OOM score + adjustment if the process is already more susceptible to the + OOM killer, as user processes usually are with systemd ??? 250. + + On Linux, when using traditional (non-systemd) system bus + activation, reset the OOM score adjustment to 0 as intended. + If the system dbus-daemon is protected from the OOM killer, + this avoids that protection unintentionally being inherited by + every system service. + + Avoid malloc() after fork on non-GNU libc. + + Fix build with clang 13 by using Standard C offsetof where + available. + + Fix build of tests on FreeBSD. + + Make documentation build more reproducible. + + On Unix, make X11 autolaunch cope with slashes in DISPLAY. + + Don't try to raise RLIMIT_NOFILE beyond OPEN_MAX on macOS. + + Fix compilation if embedded tests are enabled but verbose mode + and stats are both disabled. + + On Linux, fix a race condition in the integration test for + transient services. + +------------------------------------------------------------------- dbus-1-x11.changes: same change dbus-1.changes: same change Old: ---- dbus-1.12.20.tar.gz dbus-1.12.20.tar.gz.asc New: ---- dbus-1.12.22.tar.gz dbus-1.12.22.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dbus-1-devel-doc.spec ++++++ --- /var/tmp/diff_new_pack.RIEds5/_old 2022-03-05 14:44:21.283715116 +0100 +++ /var/tmp/diff_new_pack.RIEds5/_new 2022-03-05 14:44:21.283715116 +0100 @@ -1,7 +1,7 @@ # # spec file for package dbus-1-devel-doc # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,7 +23,7 @@ %global _backup %{_sysconfdir}/sysconfig/services.rpmbak.%{name}-%{version}-%{release} %bcond_without selinux Name: dbus-1-devel-doc -Version: 1.12.20 +Version: 1.12.22 Release: 0 Summary: Developer documentation package for D-Bus License: AFL-2.1 OR GPL-2.0-or-later ++++++ dbus-1-x11.spec ++++++ --- /var/tmp/diff_new_pack.RIEds5/_old 2022-03-05 14:44:21.303715121 +0100 +++ /var/tmp/diff_new_pack.RIEds5/_new 2022-03-05 14:44:21.307715122 +0100 @@ -1,7 +1,7 @@ # # spec file for package dbus-1-x11 # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -29,7 +29,7 @@ %endif %bcond_without selinux Name: dbus-1-x11 -Version: 1.12.20 +Version: 1.12.22 Release: 0 Summary: D-Bus Message Bus System License: AFL-2.1 OR GPL-2.0-or-later ++++++ dbus-1.spec ++++++ --- /var/tmp/diff_new_pack.RIEds5/_old 2022-03-05 14:44:21.335715129 +0100 +++ /var/tmp/diff_new_pack.RIEds5/_new 2022-03-05 14:44:21.339715130 +0100 @@ -1,7 +1,7 @@ # # spec file for package dbus-1 # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -27,7 +27,7 @@ %define _libname libdbus-1-3 %bcond_without selinux Name: dbus-1 -Version: 1.12.20 +Version: 1.12.22 Release: 0 Summary: D-Bus Message Bus System License: AFL-2.1 OR GPL-2.0-or-later ++++++ dbus-1.12.20.tar.gz -> dbus-1.12.22.tar.gz ++++++ ++++ 31287 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/Doxyfile.in new/dbus-1.12.22/Doxyfile.in --- old/dbus-1.12.20/Doxyfile.in 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.22/Doxyfile.in 2021-12-17 13:54:40.000000000 +0100 @@ -30,7 +30,7 @@ SORT_MEMBER_DOCS = YES DISTRIBUTE_GROUP_DOC = NO TAB_SIZE = 8 -GENERATE_TODOLIST = YES +GENERATE_TODOLIST = NO GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES ALIASES = diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/NEWS new/dbus-1.12.22/NEWS --- old/dbus-1.12.20/NEWS 2020-07-02 12:08:54.000000000 +0200 +++ new/dbus-1.12.22/NEWS 2022-02-25 16:39:56.000000000 +0100 @@ -1,3 +1,45 @@ +dbus 1.12.22 (2022-02-25) +========================= + +Fixes: + +??? On Linux, when using traditional (non-systemd) service activation, + don't log warnings about failing to reset OOM score adjustment if the + process is already more susceptible to the OOM killer, as user processes + usually are with systemd ??? 250. (dbus#374, Debian#1004543; Simon McVittie) + +??? On Linux, when using traditional (non-systemd) system bus activation, + reset the OOM score adjustment to 0 as intended. + If the system dbus-daemon is protected from the OOM killer, this + avoids that protection unintentionally being inherited by every + system service. (dbus#378, Simon McVittie) + +??? Avoid malloc() after fork on non-GNU libc (dbus!181, Jean-Louis Fuchs) + +??? Fix build with clang 13 by using Standard C offsetof where available + (dbus!237, Simon McVittie) + +??? Fix build of tests on FreeBSD (dbus!167, Simon McVittie) + +??? Make documentation build more reproducible + (dbus!189, dbus!238; Arnout Engelen, Simon McVittie) + +??? On Unix, make X11 autolaunch cope with slashes in DISPLAY + (dbus#8, dbus#311; William Earley) + +??? Don't try to raise RLIMIT_NOFILE beyond OPEN_MAX on macOS + (dbus#309, William Earley) + +??? Fix compilation if embedded tests are enabled but verbose mode and + stats are both disabled (Marc-Andr?? Lureau) + +??? On Linux, fix a race condition in the integration test for transient + services (Debian#1005889, dbus!256; Simon McVittie) + +Internal changes: + +??? CI updates + dbus 1.12.20 (2020-07-02) ========================= @@ -13,7 +55,7 @@ between users of different names with the same numeric uid, so this configuration is not advisable on systems where D-Bus will be used. Thanks to Daniel Onaca. - (dbus#305, dbus!166; Simon McVittie) + (dbus#305, dbus!166, CVE-2020-35512; Simon McVittie) Other fixes: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/aminclude_static.am new/dbus-1.12.22/aminclude_static.am --- old/dbus-1.12.20/aminclude_static.am 2020-07-02 12:10:39.000000000 +0200 +++ new/dbus-1.12.22/aminclude_static.am 2022-02-25 16:40:03.000000000 +0100 @@ -1,6 +1,6 @@ # aminclude_static.am generated automatically by Autoconf -# from AX_AM_MACROS_STATIC on Thu Jul 2 11:10:39 BST 2020 +# from AX_AM_MACROS_STATIC on Fri Feb 25 15:40:03 GMT 2022 # Code coverage diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/build-aux/compile new/dbus-1.12.22/build-aux/compile --- old/dbus-1.12.20/build-aux/compile 2020-04-12 20:14:58.000000000 +0200 +++ new/dbus-1.12.22/build-aux/compile 2021-11-11 12:46:00.000000000 +0100 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2020 Free Software Foundation, Inc. +# Copyright (C) 1999-2021 Free Software Foundation, Inc. # Written by Tom Tromey <tro...@cygnus.com>. # # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/build-aux/missing new/dbus-1.12.22/build-aux/missing --- old/dbus-1.12.20/build-aux/missing 2020-04-12 20:14:58.000000000 +0200 +++ new/dbus-1.12.22/build-aux/missing 2021-11-11 12:46:00.000000000 +0100 @@ -3,7 +3,7 @@ scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2020 Free Software Foundation, Inc. +# Copyright (C) 1996-2021 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pin...@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/build-aux/tap-driver.sh new/dbus-1.12.22/build-aux/tap-driver.sh --- old/dbus-1.12.20/build-aux/tap-driver.sh 2020-04-12 20:14:58.000000000 +0200 +++ new/dbus-1.12.22/build-aux/tap-driver.sh 2021-11-11 12:46:00.000000000 +0100 @@ -1,5 +1,5 @@ #! /bin/sh -# Copyright (C) 2011-2020 Free Software Foundation, Inc. +# Copyright (C) 2011-2021 Free Software Foundation, Inc. # # 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 @@ -369,7 +369,7 @@ sub("^(not )?ok[ \t]*", "", line) # If the result has an explicit number, get it and strip it; otherwise, - # automatically assing the next progresive number to it. + # automatically assign the next test number to it. if (line ~ /^[0-9]+$/ || line ~ /^[0-9]+[^a-zA-Z0-9_]/) { match(line, "^[0-9]+") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/bus/activation-helper.c new/dbus-1.12.22/bus/activation-helper.c --- old/dbus-1.12.20/bus/activation-helper.c 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.22/bus/activation-helper.c 2022-02-25 15:57:18.000000000 +0100 @@ -32,6 +32,7 @@ #include "activation-helper.h" #include "activation-exit-codes.h" +#include <errno.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -43,6 +44,7 @@ #include <dbus/dbus-misc.h> #include <dbus/dbus-shell.h> #include <dbus/dbus-marshal-validate.h> +#include <dbus/dbus-sysdeps-unix.h> static BusDesktopFile * desktop_file_for_name (BusConfigParser *parser, @@ -337,11 +339,17 @@ char **argv; int argc; dbus_bool_t retval; + const char *error_str = NULL; argc = 0; retval = TRUE; argv = NULL; + /* Resetting the OOM score adjustment is best-effort, so we don't + * treat a failure to do so as fatal. */ + if (!_dbus_reset_oom_score_adj (&error_str)) + _dbus_warn ("%s: %s", error_str, strerror (errno)); + if (!switch_user (user, error)) return FALSE; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/bus/signals.c new/dbus-1.12.22/bus/signals.c --- old/dbus-1.12.20/bus/signals.c 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.22/bus/signals.c 2022-02-25 15:57:18.000000000 +0100 @@ -121,7 +121,7 @@ } } -#if defined(DBUS_ENABLE_VERBOSE_MODE) || defined(DBUS_ENABLE_STATS) +#if defined(DBUS_ENABLE_VERBOSE_MODE) || defined(DBUS_ENABLE_STATS) || defined(DBUS_ENABLE_EMBEDDED_TESTS) static dbus_bool_t append_key_and_escaped_value (DBusString *str, const char *token, const char *value) { @@ -311,7 +311,7 @@ _dbus_string_free (&str); return NULL; } -#endif /* defined(DBUS_ENABLE_VERBOSE_MODE) || defined(DBUS_ENABLE_STATS) */ +#endif /* defined(DBUS_ENABLE_VERBOSE_MODE) || defined(DBUS_ENABLE_STATS) || defined(DBUS_ENABLE_EMBEDDED_TESTS) */ dbus_bool_t bus_match_rule_set_message_type (BusMatchRule *rule, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/config.h.in new/dbus-1.12.22/config.h.in --- old/dbus-1.12.20/config.h.in 2020-07-02 13:14:51.000000000 +0200 +++ new/dbus-1.12.22/config.h.in 2022-02-25 16:40:13.000000000 +0100 @@ -247,8 +247,8 @@ /* Define to 1 if you have the <locale.h> header file. */ #undef HAVE_LOCALE_H -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H +/* Define to 1 if you have the <minix/config.h> header file. */ +#undef HAVE_MINIX_CONFIG_H /* Define if we have CLOCK_MONOTONIC */ #undef HAVE_MONOTONIC_CLOCK @@ -307,6 +307,9 @@ /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the <stdio.h> header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H @@ -377,6 +380,9 @@ /* Define to 1 if you have the `vsnprintf' function. */ #undef HAVE_VSNPRINTF +/* Define to 1 if you have the <wchar.h> header file. */ +#undef HAVE_WCHAR_H + /* Define to 1 if you have the `writev' function. */ #undef HAVE_WRITEV @@ -434,7 +440,9 @@ /* The size of `__int64', as computed by sizeof. */ #undef SIZEOF___INT64 -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #undef STDC_HEADERS /* Listening address for regression tests */ @@ -444,21 +452,87 @@ #ifndef _ALL_SOURCE # undef _ALL_SOURCE #endif +/* Enable general extensions on macOS. */ +#ifndef _DARWIN_C_SOURCE +# undef _DARWIN_C_SOURCE +#endif +/* Enable general extensions on Solaris. */ +#ifndef __EXTENSIONS__ +# undef __EXTENSIONS__ +#endif /* Enable GNU extensions on systems that have them. */ #ifndef _GNU_SOURCE # undef _GNU_SOURCE #endif -/* Enable threading extensions on Solaris. */ +/* Enable X/Open compliant socket functions that do not require linking + with -lxnet on HP-UX 11.11. */ +#ifndef _HPUX_ALT_XOPEN_SOCKET_API +# undef _HPUX_ALT_XOPEN_SOCKET_API +#endif +/* Identify the host operating system as Minix. + This macro does not affect the system headers' behavior. + A future release of Autoconf may stop defining this macro. */ +#ifndef _MINIX +# undef _MINIX +#endif +/* Enable general extensions on NetBSD. + Enable NetBSD compatibility extensions on Minix. */ +#ifndef _NETBSD_SOURCE +# undef _NETBSD_SOURCE +#endif +/* Enable OpenBSD compatibility extensions on NetBSD. + Oddly enough, this does nothing on OpenBSD. */ +#ifndef _OPENBSD_SOURCE +# undef _OPENBSD_SOURCE +#endif +/* Define to 1 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_SOURCE +# undef _POSIX_SOURCE +#endif +/* Define to 2 if needed for POSIX-compatible behavior. */ +#ifndef _POSIX_1_SOURCE +# undef _POSIX_1_SOURCE +#endif +/* Enable POSIX-compatible threading on Solaris. */ #ifndef _POSIX_PTHREAD_SEMANTICS # undef _POSIX_PTHREAD_SEMANTICS #endif +/* Enable extensions specified by ISO/IEC TS 18661-5:2014. */ +#ifndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ +# undef __STDC_WANT_IEC_60559_ATTRIBS_EXT__ +#endif +/* Enable extensions specified by ISO/IEC TS 18661-1:2014. */ +#ifndef __STDC_WANT_IEC_60559_BFP_EXT__ +# undef __STDC_WANT_IEC_60559_BFP_EXT__ +#endif +/* Enable extensions specified by ISO/IEC TS 18661-2:2015. */ +#ifndef __STDC_WANT_IEC_60559_DFP_EXT__ +# undef __STDC_WANT_IEC_60559_DFP_EXT__ +#endif +/* Enable extensions specified by ISO/IEC TS 18661-4:2015. */ +#ifndef __STDC_WANT_IEC_60559_FUNCS_EXT__ +# undef __STDC_WANT_IEC_60559_FUNCS_EXT__ +#endif +/* Enable extensions specified by ISO/IEC TS 18661-3:2015. */ +#ifndef __STDC_WANT_IEC_60559_TYPES_EXT__ +# undef __STDC_WANT_IEC_60559_TYPES_EXT__ +#endif +/* Enable extensions specified by ISO/IEC TR 24731-2:2010. */ +#ifndef __STDC_WANT_LIB_EXT2__ +# undef __STDC_WANT_LIB_EXT2__ +#endif +/* Enable extensions specified by ISO/IEC 24747:2009. */ +#ifndef __STDC_WANT_MATH_SPEC_FUNCS__ +# undef __STDC_WANT_MATH_SPEC_FUNCS__ +#endif /* Enable extensions on HP NonStop. */ #ifndef _TANDEM_SOURCE # undef _TANDEM_SOURCE #endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ +/* Enable X/Open extensions. Define to 500 only if necessary + to make mbstate_t available. */ +#ifndef _XOPEN_SOURCE +# undef _XOPEN_SOURCE #endif @@ -501,30 +575,15 @@ #endif -/* Enable large inode numbers on Mac OS X 10.5. */ -#ifndef _DARWIN_USE_64_BIT_INODE -# define _DARWIN_USE_64_BIT_INODE 1 -#endif - /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - /* Define to enable POSIX features */ #undef _POSIX_C_SOURCE -/* Define to 1 if you need to in order for `stat' and other things to work. */ -#undef _POSIX_SOURCE - /* Defined to get newer W32 CE APIs */ #undef _WIN32_WCE diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/configure.ac new/dbus-1.12.22/configure.ac --- old/dbus-1.12.20/configure.ac 2020-07-02 12:09:52.000000000 +0200 +++ new/dbus-1.12.22/configure.ac 2022-02-25 16:39:56.000000000 +0100 @@ -3,7 +3,7 @@ m4_define([dbus_major_version], [1]) m4_define([dbus_minor_version], [12]) -m4_define([dbus_micro_version], [20]) +m4_define([dbus_micro_version], [22]) m4_define([dbus_version], [dbus_major_version.dbus_minor_version.dbus_micro_version]) AC_INIT([dbus],[dbus_version],[https://bugs.freedesktop.org/enter_bug.cgi?product=dbus],[dbus]) @@ -42,7 +42,7 @@ ## increment any time the source changes; set to ## 0 if you increment CURRENT -LT_REVISION=13 +LT_REVISION=14 ## increment if any interfaces have been added; set to 0 ## if any interfaces have been changed or removed. removal has diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/dbus/dbus-internals.h new/dbus-1.12.22/dbus/dbus-internals.h --- old/dbus-1.12.20/dbus/dbus-internals.h 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.22/dbus/dbus-internals.h 2021-12-17 13:57:42.000000000 +0100 @@ -192,8 +192,13 @@ #define _DBUS_ZERO(object) (memset (&(object), '\0', sizeof ((object)))) +#ifdef offsetof +#define _DBUS_STRUCT_OFFSET(struct_type, member) \ + (offsetof (struct_type, member)) +#else #define _DBUS_STRUCT_OFFSET(struct_type, member) \ ((intptr_t) ((unsigned char*) &((struct_type*) 0)->member)) +#endif #define _DBUS_ALIGNOF(type) \ (_DBUS_STRUCT_OFFSET (struct { char _1; type _2; }, _2)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/dbus/dbus-spawn.c new/dbus-1.12.22/dbus/dbus-spawn.c --- old/dbus-1.12.20/dbus/dbus-spawn.c 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.22/dbus/dbus-spawn.c 2022-02-25 15:57:18.000000000 +0100 @@ -1396,27 +1396,13 @@ _dbus_assert_not_reached ("Got to code after write_err_and_exit()"); } else if (grandchild_pid == 0) - { -#ifdef __linux__ - int fd = -1; + { + /* This might not succeed in a dbus-daemon that started as root + * and dropped privileges, so don't log an error on failure. + * (Also, we can't safely log errors here anyway, because logging + * is not async-signal safe). */ + _dbus_reset_oom_score_adj (NULL); -#ifdef O_CLOEXEC - fd = open ("/proc/self/oom_score_adj", O_WRONLY | O_CLOEXEC); -#endif - - if (fd < 0) - { - fd = open ("/proc/self/oom_score_adj", O_WRONLY); - _dbus_fd_set_close_on_exec (fd); - } - - if (fd >= 0) - { - if (write (fd, "0", sizeof (char)) < 0) - _dbus_warn ("writing oom_score_adj error: %s", strerror (errno)); - _dbus_close (fd, NULL); - } -#endif /* Go back to ignoring SIGPIPE, since it's evil */ signal (SIGPIPE, SIG_IGN); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/dbus/dbus-sysdeps-unix.c new/dbus-1.12.22/dbus/dbus-sysdeps-unix.c --- old/dbus-1.12.20/dbus/dbus-sysdeps-unix.c 2020-07-02 11:08:39.000000000 +0200 +++ new/dbus-1.12.22/dbus/dbus-sysdeps-unix.c 2021-12-17 13:55:33.000000000 +0100 @@ -4471,7 +4471,7 @@ { int maxfds, i; -#ifdef __linux__ +#if defined(__linux__) && defined(__GLIBC__) DIR *d; /* On Linux we can optimize this a bit if /proc is available. If it diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/dbus/dbus-sysdeps-unix.h new/dbus-1.12.22/dbus/dbus-sysdeps-unix.h --- old/dbus-1.12.20/dbus/dbus-sysdeps-unix.h 2020-07-02 11:08:49.000000000 +0200 +++ new/dbus-1.12.22/dbus/dbus-sysdeps-unix.h 2022-02-25 15:57:18.000000000 +0100 @@ -173,6 +173,8 @@ void _dbus_set_signal_handler (int sig, DBusSignalHandler handler); +dbus_bool_t _dbus_reset_oom_score_adj (const char **error_str_p); + /** @} */ DBUS_END_DECLS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/dbus/dbus-sysdeps-util-unix.c new/dbus-1.12.22/dbus/dbus-sysdeps-util-unix.c --- old/dbus-1.12.20/dbus/dbus-sysdeps-util-unix.c 2019-06-09 14:08:49.000000000 +0200 +++ new/dbus-1.12.22/dbus/dbus-sysdeps-util-unix.c 2022-02-25 15:57:18.000000000 +0100 @@ -447,7 +447,14 @@ * and older and non-systemd Linux systems would typically set rlim_cur * to 1024 and rlim_max to 4096. */ if (lim.rlim_max == RLIM_INFINITY || lim.rlim_cur < lim.rlim_max) - lim.rlim_cur = lim.rlim_max; + { +#if defined(__APPLE__) && defined(__MACH__) + /* macOS 10.5 and above no longer allows RLIM_INFINITY for rlim_cur */ + lim.rlim_cur = MIN (OPEN_MAX, lim.rlim_max); +#else + lim.rlim_cur = lim.rlim_max; +#endif + } /* Early-return if there is nothing to do. */ if (lim.rlim_max == old.rlim_max && @@ -1564,3 +1571,118 @@ } #endif + +/** + * If the current process has been protected from the Linux OOM killer + * (the oom_score_adj process parameter is negative), reset it to the + * default level of protection from the OOM killer (set oom_score_adj + * to zero). + * + * This function does not use DBusError, to avoid calling malloc(), so + * that it can be used in contexts where an async-signal-safe function + * is required (for example after fork()). Instead, on failure it sets + * errno and returns something like "Failed to open /dev/null" in + * *error_str_p. Callers are expected to combine *error_str_p + * with _dbus_strerror (errno) to get a full error report. + */ +dbus_bool_t +_dbus_reset_oom_score_adj (const char **error_str_p) +{ +#ifdef __linux__ + int fd = -1; + dbus_bool_t ret = FALSE; + int saved_errno = 0; + const char *error_str = NULL; + +#ifdef O_CLOEXEC + fd = open ("/proc/self/oom_score_adj", O_RDWR | O_CLOEXEC); +#endif + + if (fd < 0) + { + fd = open ("/proc/self/oom_score_adj", O_RDWR); + _dbus_fd_set_close_on_exec (fd); + } + + if (fd >= 0) + { + ssize_t read_result = -1; + /* It doesn't actually matter whether we read the whole file, + * as long as we get the presence or absence of the minus sign */ + char first_char = '\0'; + + read_result = read (fd, &first_char, 1); + + if (read_result < 0) + { + /* This probably can't actually happen in practice: if we can + * open it, then we can hopefully read from it */ + ret = FALSE; + error_str = "failed to read from /proc/self/oom_score_adj"; + saved_errno = errno; + goto out; + } + + /* If we are running with protection from the OOM killer + * (typical for the system dbus-daemon under systemd), then + * oom_score_adj will be negative. Drop that protection, + * returning to oom_score_adj = 0. + * + * Conversely, if we are running with increased susceptibility + * to the OOM killer (as user sessions typically do in + * systemd >= 250), oom_score_adj will be strictly positive, + * and we are not allowed to decrease it to 0 without privileges. + * + * If it's exactly 0 (typical for non-systemd systems, and + * user processes on older systemd) then there's no need to + * alter it. + * + * We shouldn't get an empty result, but if we do, assume it + * means zero and don't try to change it. */ + if (read_result == 0 || first_char != '-') + { + /* Nothing needs to be done: the OOM score adjustment is + * non-negative */ + ret = TRUE; + goto out; + } + + if (pwrite (fd, "0", sizeof (char), 0) < 0) + { + ret = FALSE; + error_str = "writing oom_score_adj error"; + saved_errno = errno; + goto out; + } + + /* Success */ + ret = TRUE; + } + else if (errno == ENOENT) + { + /* If /proc/self/oom_score_adj doesn't exist, assume the kernel + * doesn't support this feature and ignore it. */ + ret = TRUE; + } + else + { + ret = FALSE; + error_str = "open(/proc/self/oom_score_adj)"; + saved_errno = errno; + goto out; + } + +out: + if (fd >= 0) + _dbus_close (fd, NULL); + + if (error_str_p != NULL) + *error_str_p = error_str; + + errno = saved_errno; + return ret; +#else + /* nothing to do on this platform */ + return TRUE; +#endif +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/doc/Makefile.am new/dbus-1.12.22/doc/Makefile.am --- old/dbus-1.12.20/doc/Makefile.am 2018-12-04 13:28:05.000000000 +0100 +++ new/dbus-1.12.22/doc/Makefile.am 2022-02-25 16:39:56.000000000 +0100 @@ -84,7 +84,7 @@ html_DATA += $(XMLTO_HTML) %.html: %.xml - $(XMLTO) html-nochunks $< + $(XMLTO) --stringparam generate.consistent.ids=1 html-nochunks $< %.1: %.1.xml $(XMLTO) man $< @@ -129,6 +129,7 @@ uninstall-local:: rm -f $(DESTDIR)$(apidir)/*.html + rm -f $(DESTDIR)$(apidir)/*.svg rm -f $(DESTDIR)$(apidir)/*.png rm -f $(DESTDIR)$(apidir)/*.css rm -f $(DESTDIR)$(apidir)/*.js diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/m4/libtool.m4 new/dbus-1.12.22/m4/libtool.m4 --- old/dbus-1.12.20/m4/libtool.m4 2020-07-02 11:26:33.000000000 +0200 +++ new/dbus-1.12.22/m4/libtool.m4 2022-02-25 16:31:47.000000000 +0100 @@ -1071,11 +1071,11 @@ # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[[012]][[,.]]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) + 10.*|11.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/test/integration/transient-services.sh new/dbus-1.12.22/test/integration/transient-services.sh --- old/dbus-1.12.20/test/integration/transient-services.sh 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.22/test/integration/transient-services.sh 2022-02-25 15:57:18.000000000 +0100 @@ -74,8 +74,19 @@ echo "1..2" -# This is an integration test, so we expect the dbus-daemon to already be -# running +# If the dbus-daemon is launched on-demand by a systemd socket unit, it +# might not be there yet, even if the socket is +( +dbus-send --session --dest="org.freedesktop.DBus" \ + --type=method_call --print-reply /org/freedesktop/DBus \ + org.freedesktop.DBus.Peer.Ping || touch "$workdir/failed" \ +) 2>&1 | sed -e 's/^/# /' + +if [ -e "$workdir/failed" ]; then + echo "Bail out! Unable to ensure dbus-daemon has started" + exit 1 +fi + if ! test -d "$XDG_RUNTIME_DIR/dbus-1/services"; then echo "Bail out! $XDG_RUNTIME_DIR/dbus-1/services is not a directory" exit 1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/test/test-utils-glib.c new/dbus-1.12.22/test/test-utils-glib.c --- old/dbus-1.12.20/test/test-utils-glib.c 2018-06-04 18:56:24.000000000 +0200 +++ new/dbus-1.12.22/test/test-utils-glib.c 2021-12-17 13:50:06.000000000 +0100 @@ -35,6 +35,7 @@ # include <windows.h> #else # include <netdb.h> +# include <netinet/in.h> # include <signal.h> # include <unistd.h> # include <sys/socket.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/dbus-1.12.20/tools/dbus-launch-x11.c new/dbus-1.12.22/tools/dbus-launch-x11.c --- old/dbus-1.12.20/tools/dbus-launch-x11.c 2017-10-30 13:26:18.000000000 +0100 +++ new/dbus-1.12.22/tools/dbus-launch-x11.c 2021-12-17 13:53:26.000000000 +0100 @@ -142,10 +142,15 @@ /* replace the : in the display with _ if the : is still there. * use _ instead of - since it can't be in hostnames. + * + * similarly, on recent versions of macOS, X11 is provided by the XQuartz + * package which uses a path for the hostname, such as + * /private/tmp/com.apple.launchd.mBSMLJ3yQU/org.macosforge.xquartz + * we therefore also replace any / with _ */ for (p = display; *p; ++p) { - if (*p == ':') + if (*p == ':' || *p == '/') *p = '_'; }