Commit graph

6898 commits

Author SHA1 Message Date
Simon McVittie
21e94c209d Start changelog for v1.15.12
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-09-25 21:02:02 +01:00
Simon McVittie
ebc9117525 Prepare v1.15.10
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-09-25 15:16:47 +01:00
Simon McVittie
0800f981da Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-09-25 15:15:59 +01:00
Simon McVittie
ced843dca6 Merge branch 'gcc-14' into 'master'
Fix compiler warnings/errors with gcc 14

See merge request dbus/dbus!469
2024-09-25 14:12:46 +00:00
Simon McVittie
c2930ddf82 test: Always initialize an "out" parameter
check_valid_fd() does not touch its second parameter if the fd is not,
in fact, a valid fd. Initialize the "out" parameter to the opposite
of the value we are hoping for, so that both assertions will fail if
there is a problem.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-09-25 14:42:15 +01:00
Simon McVittie
dc8b50910d sysdeps-unix: Always initialize flags for syslog()
If passed an invalid DBusSystemLogSeverity, the default case for the
switch construct is to crash out with an assertion failure, but the
assertion failure itself is not compiled in if we are doing a production
build without assertions.

Detected by compiling with gcc 14, which does some static analysis
by default.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-09-25 14:42:15 +01:00
Simon McVittie
a936c7c4d5 dbus-spam: Ensure that payload_len is always initialized
A command like `dbus-test-tool spam --payload=abcde --bytes` could
previously have left the length uninitialized.

Detected by compiling with gcc 14.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-09-25 14:42:15 +01:00
Simon McVittie
d8eaa77f43 sysdeps: Avoid passing possibly null port-number string to printf %s
gcc 14 detects that port can be NULL here, which is technically invalid
to pass to printf (although many implementations print it as "(null)").
Becuase we're using getaddrinfo(), we treat a NULL service (port number
string) as a request to listen on "port 0", meaning we ask the kernel to
assign an arbitrary nonzero port for us; when printing addresses in
error messages, treating that as port 0 seems reasonable.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-09-25 14:42:15 +01:00
Simon McVittie
408fc1793b maint: Remove leftover Autotools references
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-09-25 14:18:24 +01:00
Simon McVittie
e097d44e22 AUTHORS: Update
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-09-25 14:14:45 +01:00
Simon McVittie
2eee1824ad Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-09-25 13:16:51 +01:00
Simon McVittie
a7312bfbd8 Merge branch 'uid_t' into 'master'
dbus-sysdeps-unix: don't add (uid_t)-1 to creds

See merge request dbus/dbus!464
2024-08-13 15:34:06 +00:00
Alyssa Ross
5ff177d2e2 dbus-sysdeps-unix: don't add (uid_t)-1 to creds
If I set a breakpoint on the call to _dbus_credentials_add_unix_uid
further down in this function and run the loopback test, I can see
that sometimes it's getting called with a uid of 4294967295.  This is
not intended, but happens because the -1 value returned from
SO_PEERCRED is interpreted as a uid of 4294967295, because if uid_t is
unsigned, it won't be sign extended when assigned to uid_read.

As far as I can tell, every other API used in this function to get
uid/gid on some system returns an error when there's no credential
information (e.g. on a non-unix socket), rather than returning -1, so
they shouldn't have to do this check.

Fixes: 01af5ff4 ("add credentials support, add EXTERNAL auth mechanism")
Signed-off-by: Alyssa Ross <hi@alyssa.is>
2024-08-13 15:11:23 +00:00
Simon McVittie
b8d7afa263 Merge branch 'test-deps' into 'master'
test: add missing test dependencies

See merge request dbus/dbus!465
2024-08-13 15:10:59 +00:00
Alyssa Ross
55e60abe18 test: add missing test dependencies
This fixes doing "meson setup" followed by "meson test", without doing
a full build in between.

Signed-off-by: Alyssa Ross <hi@alyssa.is>
2024-07-29 14:09:37 +00:00
Simon McVittie
3d8b06a421 Merge branch 'tty' into 'master'
test: use "tty" group rather than "bin"

Closes #514

See merge request dbus/dbus!466
2024-07-29 12:21:02 +00:00
Alyssa Ross
3f988b9fb3
test: use "tty" group rather than "bin"
Unlike "bin", "tty" actually means something on modern Linux distros,
and is used by a default udev rule, so it's more likely to exist on
distros than a group that just exists for historical compatibility
with who knows what.

"tty" exists on macOS, Debian, and Fedora (the criteria used for
choosing "bin" in f2905def ("policy tests: Use bin rather than
nogroup, wheel, or root")), but also fixes running the bus test for me
on NixOS, which has "tty" but not "bin".

Closes: https://gitlab.freedesktop.org/dbus/dbus/-/issues/514
Signed-off-by: Alyssa Ross <hi@alyssa.is>
2024-07-28 12:50:37 +02:00
Simon McVittie
9724c592a5 Merge branch 'macros' into 'master'
build: fix macro mistakes

See merge request dbus/dbus!463
2024-07-25 15:17:15 +00:00
Alyssa Ross
02ae9dfdbd
meson: fix name of DBUS_ENABLE_LAUNCHD macro
This is the name used previously by autoconf, and still used by the C
code.  Presumably this meant that the launchd ended up never being
built with Meson, even if launchd support was enabled.

Signed-off-by: Alyssa Ross <hi@alyssa.is>
Fixes: cd2e3826 ("Add Meson build system")
2024-07-21 19:52:28 +02:00
Alyssa Ross
3e24ee1e27
build: remove unused macros
These were/are used as autoconf/CMake variable names, but were never
used by C code, so there's no need to export them as macros.

Signed-off-by: Alyssa Ross <hi@alyssa.is>
Fixes: dca6591f ("Keep cmake defines GLIB_VERSION_... in sync with autotools.")
Fixes: cd2e3826 ("Add Meson build system")
2024-07-21 19:52:16 +02:00
Ralf Habacker
68637759b9 Merge branch 'fix-dbus-send-manpage' into 'master'
Document the return value of dbus-send tool.

Closes #452

See merge request dbus/dbus!397
2024-05-27 15:24:18 +00:00
Philip Withnall
a5f8ee16ca Document the return value of dbus-send tool. 2024-05-27 15:24:18 +00:00
Ralf Habacker
fad4fc38ae CI: Disable "debian mingw64 meson debug" until #509 is fixed
See #509

Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
2024-05-27 16:35:04 +02:00
Ralf Habacker
750cef4baf Merge branch 'string-int-append' into 'master'
sysdeps: Remove _dbus_string_append_int(), _uint()

See merge request dbus/dbus!445
2024-05-18 12:31:46 +00:00
Simon McVittie
e159f1f406 sysdeps: Remove _dbus_string_append_int()
It's a wrapper around snprintf(), so we are not gaining any efficiency
versus _dbus_string_append_printf(), and might as well use the more
general function instead. Doing it this way might even be a little *more*
efficient, since it reduces reallocations; it's certainly more concise.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-05-18 12:19:16 +00:00
Simon McVittie
ac20c7a4ec sysdeps: Remove _dbus_string_append_uint()
It's a wrapper around snprintf(), so we are not gaining any efficiency
versus _dbus_string_append_printf(), and might as well use the more
general function instead.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2024-05-18 12:19:16 +00:00
Ralf Habacker
0e8d9d2c99 Merge branch 'document-send-with-reply' into 'master'
Document ownership of reference in dbus_connection_send_with_reply()

See merge request dbus/dbus!455
2024-05-18 12:00:02 +00:00
Wiebe Cazemier
da58b29399 Document ownership of reference in dbus_connection_send_with_reply()
Signed-off-by: Wiebe Cazemier <wiebe@ytec.nl>
2024-05-18 11:00:25 +00:00
Simon McVittie
42327d71f4 Merge branch 'update_api_design_doc' into 'master'
doc/dbus-api-design: Update Bustle URL and replace deprecated D-Feet with d-spy

See merge request dbus/dbus!460
2024-05-10 10:49:57 +00:00
Ludovico de Nittis
236aef6e18 doc/dbus-api-design: Replace D-Feet with d-spy
D-Feet is no longer maintained and its closest replacement, as mentioned
in the D-Feet page https://wiki.gnome.org/Apps/DFeet, is d-spy.

The project description doesn't need to be updated because d-spy
provides the same set of features that D-Feet had.

Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
2024-05-10 12:07:09 +02:00
Ludovico de Nittis
4bd2b52b23 doc/dbus-api-design: Update Bustle URL
gitlab.fd.o/bustle/bustle points to the old archived project. The new
version has been rewritten in Rust and is now hosted at
gitlab.gnome.org/World/bustle

Signed-off-by: Ludovico de Nittis <ludovico.denittis@collabora.com>
2024-05-10 12:02:13 +02:00
Ralf Habacker
e277bf9070 Merge branch 'cmake-fixes' into 'master'
cmake: complete installed files

Closes #504

See merge request dbus/dbus!459
2024-04-17 09:54:46 +00:00
Ralf Habacker
b58ca0e147 cmake: Inclusion of a link in html overview file corrected
The link for api documentation is now only inserted into the html
overview file when it is built.
2024-04-16 09:53:59 +02:00
Ralf Habacker
5e41498558 cmake: Add missing docbook-based documentation
With this commit, the html documentation for dbus-faq, dbus-specification,
dbus-test-plan, dbus-tutorial is now also created and installed.
2024-04-16 09:53:59 +02:00
Ralf Habacker
1caf0f62e0 Merge branch 'autolaunch-regression' into 'master'
sysdeps-win: Fix autolaunch: regression on Windows

Closes #503

See merge request dbus/dbus!458
2024-04-09 06:27:52 +00:00
Thomas Sondergaard
73b574bd21 sysdeps-win: Fix autolaunch: regression on Windows
Commit f20a05f60f included in dbus-1.15.0 broke autolaunch: on
Windows. autolaunch_custom_command_line_parameter shall be initalized
to null as it is later used in only one place in the code, with this
ternary:

    autolaunch_custom_command_line_parameter ? autolaunch_custom_command_line_parameter : "--session"

Closes #503
2024-04-06 21:12:53 +02:00
Simon McVittie
6c31c381e2 Merge branch 'master' into 'master'
bus/dir-watch:Do not crash when reloading configuration with > 128 dirs

Closes #481

See merge request dbus/dbus!453
2024-01-29 13:54:19 +00:00
hongjinghao
c3b1e4daa5 Do not crash when reloading configuration with > 128 dirs
When `dbus-daemon` sets more than 128 directories for `XDG_DATA_DIRS`,
none of the elements in `new_dirs` will be `NULL`, which resulted in
these loops reading out-of-bounds (undefined behaviour). In practice
this led to a crash.

To avoid this, make sure to stop iteration at the end of the array.

[smcv: Expanded commit message]
Resolves: dbus/dbus#481
2024-01-29 13:31:57 +00:00
Simon McVittie
00449e7543 Merge branch 'meson-visual-studio-2022' into 'master'
meson: Use check_header to confirm headers work

Closes #494

See merge request dbus/dbus!454
2024-01-15 20:00:43 +00:00
Thomas Sondergaard
e52ccaf7c3 meson: Use check_header to confirm headers work
instead of using has_header use check_header to confirm the header
works. This is necessary to get the meson build to work with Visual
Studio 2022. It has <stdatomic.h> but it does not actually work when
compiling a C program. A minimal C program that include <stdatomic.h>
fails with the following errors:

    C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include\vcruntime_c11_stdatomic.h(36): error C2061: syntax error: identifier 'atomic_bool'
    C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include\vcruntime_c11_stdatomic.h(36): error C2059: syntax error: ';'
    C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include\vcruntime_c11_stdatomic.h(37): error C2061: syntax error: identifier 'atomic_char'
    C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include\vcruntime_c11_stdatomic.h(37): error C2059: syntax error: ';'
    ...
    ...

check_header is consistent with CMake's

    check_include_file(stdatomic.h  HAVE_STDATOMIC_H)

which is why the CMake-based build of dbus works with Visual Studio
2022, while the meson build doesn't.

Fixes #494
2024-01-04 17:57:25 +01:00
Ralf Habacker
d9756df2f0 Merge branch 'issue489' into 'master'
CI: Fix more test failures

Closes #489 and #488

See merge request dbus/dbus!452
2023-12-01 21:45:18 +00:00
Simon McVittie
06606bd8cd CI: Set language environment variables to safe values
Recent versions of glibc support C.UTF-8 natively, and both Debian and
openSUSE (which we use for our CI) have been patching it into our glibc
versions for several years before that.

Helps: https://gitlab.freedesktop.org/dbus/dbus/-/issues/488
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-12-01 19:10:56 +00:00
Simon McVittie
accbd6d041 CI: Don't re-run the tests when preparing to build as a subproject
After running the test suite, we don't need (or want) to re-run the test
suite as a side-effect of producing a dist tarball. Historically, this
test-case used Autotools `make dist`, not `make distcheck`, but when
we removed the Autotools build system, it was replaced with
`meson dist` (similar to Autotools `make distcheck`). Change that to
`meson dist --no-tests`, which is more like Autotools `make dist` as
originally intended.

In particular, when we re-ran the test suite, we weren't filtering out
the time-consuming and timeout-prone tests that emulate malloc()
failures, which we don't normally intend to run in CI.

Resolves: https://gitlab.freedesktop.org/dbus/dbus/-/issues/489
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-12-01 19:03:49 +00:00
Simon McVittie
ed87c10fdc CI: Remove meson-dist and cmake-dist build systems
Before we removed the Autotools build system, these meant: do a
`make dist` with Autotools, then unpack the resulting tarball, and build
it with Meson or CMake (as appropriate). This was important because the
contents of an Autotools `make dist` differed significantly from what's
in git: only the files that were explicitly declared as sources in the
Autotools build system were distributed, and Autotools would also add its
own generated cruft.

Now that we're doing releases with Meson, the official source release
artifact is basically `git archive`, so there's much less need to
distinguish between official source releases and what's in git, and these
variant build systems became simple aliases for meson and cmake.
Remove those aliases from tools/ci-build.sh, and stop using them in
.gitlab-ci.yml.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-12-01 19:00:20 +00:00
Simon McVittie
c807028db4 Merge branch 'fix-ci-build' into 'master'
CI: force update opensuse image to a newer version

Closes #487

See merge request dbus/dbus!451
2023-12-01 18:09:05 +00:00
Ralf Habacker
79e33f2a3f CI: on openSUSE use cmake from the windows:mingw project instead from devel:tools:building
Since this repo is already used for mingw builds, the additional repo and
associated problems can be avoided.
2023-12-01 17:18:01 +01:00
Ralf Habacker
fa713e51a6 CI: add hint when to update the build images 2023-12-01 16:51:54 +01:00
Ralf Habacker
47d286ef7c CI: force update opensuse image to a newer version
Since a time-frozen image is used in the CI, the tag must be changed to
update to a newer minor version.

Fixes #487
2023-12-01 16:51:28 +01:00
Simon McVittie
172aa1c474 Update NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2023-09-01 17:26:54 +01:00
Simon McVittie
1932afdc38 Merge branch 'remove-autotools-support' into 'master'
Remove autotools build support

Closes #443

See merge request dbus/dbus!378
2023-09-01 16:06:10 +00:00