1. 24 Nov, 2020 6 commits
  2. 23 Nov, 2020 6 commits
  3. 16 Nov, 2020 1 commit
  4. 09 Nov, 2020 1 commit
  5. 06 Nov, 2020 9 commits
  6. 19 Oct, 2020 2 commits
  7. 28 Sep, 2020 2 commits
    • Simon McVittie's avatar
      Merge branch 'glibc' into 'master' · 2285db23
      Simon McVittie authored
      disable fork-malloc-exec for non-glibc-systems
      
      See merge request !181
      2285db23
    • Jean-Louis Fuchs's avatar
      disable fork-malloc-exec for non-glibc-systems · 3fab06d6
      Jean-Louis Fuchs authored
      Calling malloc() after fork is undefined behaviour if the process is
      multi-threaded. locks held by a thread on fork() will never be released.
      malloc() is usally protected by a lock and can therefore deadlock. glibc
      is known not to deadlock in this case.
      
      This commit does not rule out other problems on glibc-systems, but fixes an
      issue on musl-libc-systems. Only restricting to async-signal safe functions
      between fork() and exec() prevents undefined behaviour for sure. See
      signal-safety(7).
      3fab06d6
  8. 24 Sep, 2020 1 commit
  9. 23 Sep, 2020 4 commits
  10. 22 Sep, 2020 1 commit
    • Ralf Habacker's avatar
      cmake: install dbus-daemon-launch-helper on Unix · 2148a5a8
      Ralf Habacker authored
      Previously it was built on Unix platforms, but not installed. This
      would prevent traditional activation on the system bus (on Linux
      without systemd or non-Linux, or for services without SystemdService),
      which requires the activation helper.
      
      Because the executable is an internal implementation detail of how
      traditional activation is implemented on Unix, it is not exported to
      the generated cmake support files.
      
      Resolves: dbus#310
      2148a5a8
  11. 21 Sep, 2020 1 commit
  12. 07 Sep, 2020 1 commit
    • Simon McVittie's avatar
      spec: Update recommendations for DBUS_COOKIE_SHA1 timeouts · 3f8b2ce5
      Simon McVittie authored
      This had two issues that could damage interoperability.
      
      First, the spec wording suggested that any cookie that had not been
      deleted was suitable for use in authentication. However, this introduces
      a race condition, which is called out in comments in both the reference
      implementation and GDBus: the newest cookie might be less old than the
      arbitrary lifetime when authentication *begins*, but older than the
      lifetime at the time authentication *ends*. As a result, we need a grace
      period during which an old cookie will still be accepted, but a newer
      cookie exists and will be used for new authentication operations.
      
      Second, the spec wording implied that the arbitrary timeouts were
      completely up to the implementor. However, GLib bug
      https://gitlab.gnome.org/GNOME/glib/-/issues/2164
      
       indicates that they
      need to be reasonably compatible: in particular, GDBus servers
      historically didn't allocate new cookies until 10 minutes had passed,
      but libdbus clients would decline to use a cookie older than 5 minutes,
      causing authentication to fail if the gdbus-server test-case (in which
      GDBus and libdbus clients connect to a GDBus server) happened to take
      longer than 5 minutes to run.
      
      While I'm here, also be consistent about calling the secrets "cookies"
      (consistent with the name of the mechanism) rather than "keys" (which
      is what they are called in libdbus' dbus-keyring.c).
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
      3f8b2ce5
  13. 19 Aug, 2020 1 commit
  14. 14 Aug, 2020 1 commit
    • Simon McVittie's avatar
      tests: On Unix, include <netinet/in.h> for IPPROTO_TCP · f0e526bc
      Simon McVittie authored
      
      
      Otherwise, dbus doesn't compile on FreeBSD if the GLib-based tests
      are enabled (which suggests that no FreeBSD user has run those tests
      successfully).
      
      We already include <netinet/in.h> in other places with no conditions
      or checks other than "is Unix", so apparently it's portable enough that
      specifically testing for its presence is not necessary. POSIX requires it
      to exist.
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
      f0e526bc
  15. 02 Jul, 2020 2 commits
  16. 01 Jul, 2020 1 commit