Commit graph

6055 commits

Author SHA1 Message Date
Simon McVittie
d4203c3ee5 Merge branch 'dbus-run-session-add-delay' into 'master'
tools/dbus-run-session: fix race between manual and automatically started dbus-daemon on Windows

Closes #297

See merge request dbus/dbus!195
2021-11-23 14:04:22 +00:00
Ralf Habacker
2334307fbd tools/dbus-run-session.c: use _dbus_win_set_error_from_last_error() on remaining locations
The previously used function _dbus_win_stderr_win_error() has been removed
because it is no longer used.
2021-11-23 08:38:14 +01:00
Ralf Habacker
79df3d2811 tools/dbus-run-session: fix race between manual and automatically started dbus-daemon on Windows
dbus-run-session starts a dbus-daemon before the client application.
We must avoid letting the application try to connect before the
dbus-daemon's DBusServer is listening for connections.

In the Unix implementation, we already achieved this via the
--print-address option. If the client tried to connect too soon,
the server would not yet be listening and the client would fail.

In the Windows implementation, we communicate the bus address to
the client application as an autolaunch: address, so if the client
tried to connect too soon, it would autolaunch a new dbus-daemon
instead of using the one that it was intended to use.

We can avoid this by using a new option to pass in a Windows event
object, which will be set when the server has started and is ready
to process connections.

Fixes #297
2021-11-23 08:38:14 +01:00
Ralf Habacker
3f7c36f4b1 dbus-sysdeps-win.c: Add helper functions to handle events on Windows
These functions are in the dbus library to be used everywhere
2021-11-23 08:38:14 +01:00
Simon McVittie
18b8883213 Merge branch 'remove-nonexistent-match' into 'master'
bus: Don't return success from RemoveMatch if there was no such match-rule

See merge request dbus/dbus!222
2021-11-22 18:06:44 +00:00
Simon McVittie
ac5e65ef43 test: Exercise successful and failed RemoveMatch calls
Reproduces: https://gitlab.freedesktop.org/dbus/dbus/-/issues/351
Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-11-22 16:10:51 +00:00
Simon McVittie
81a5731bcb bus: Separate RemoveMatch into prepare and commit stages
This means we don't send a spurious successful reply if a caller removes
a match rule that they never added.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-11-22 16:10:51 +00:00
Simon McVittie
32278953a1 Merge branch 'cleanup-autolaunch-win' into 'master'
dbus-sysdeps-win.c: corrections of indentations and minor refactoring

See merge request dbus/dbus!221
2021-11-19 12:14:59 +00:00
Ralf Habacker
c6ff841326 dbus/dbus-sysdeps-win.c: Convert the character buffer 'dbus_args' to a DBusString instance
This is necessary to avoid possible stack overflows.
2021-11-19 11:04:59 +01:00
Ralf Habacker
2d0d8f6116 dbus/dbus-sysdeps-*win.c: correct indentation when calling functions
The normal style is <function-name><space>(<no-spaces>...<no-spaces>).
2021-11-19 11:04:59 +01:00
Ralf Habacker
017366e5df dbus/dbus-sysdeps-win.c: correction of indentations in _dbus_get_autolaunch_address () 2021-11-19 11:04:59 +01:00
Ralf Habacker
9b798640a4 Merge branch 'cmake-fix-include-path' into 'master'
cmake: In generated cmake support files get value for DBus1_INCLUDE_DIRS from related cmake target

Closes #346

See merge request dbus/dbus!214
2021-11-18 15:12:13 +00:00
Ralf Habacker
a2ccc6773b cmake: In generated cmake support files get value for DBus1_INCLUDE_DIRS variable from related cmake target
This allows cmake to construct the resulting (relocatable) runtime paths.

Fixes dbus/dbus#346
2021-11-18 13:51:11 +00:00
Ralf Habacker
e36c7bf707 Merge branch 'master' into 'master'
CMake: Set IMPORTED_IMPLIB property

See merge request dbus/dbus!172
2021-11-18 13:20:22 +00:00
Julien Schueller
1b8d560649 CMake: Set IMPORTED_IMPLIB property
Setting this property allows to fix linking to the imported target with MinGW.
This only happens when dbus is built using autotools, when cmake is used the DBus1Config.variant.in
is configured and the automatically exported target by cmake is fine.
2021-11-18 13:20:08 +00:00
Simon McVittie
21c1154615 Merge branch 'cmake-build-fixes' into 'master'
cmake: various variable corrections defined in the generated config.h

See merge request dbus/dbus!217
2021-11-18 13:09:14 +00:00
Ralf Habacker
8bf1bb0677 cmake: Separate setting compiler warnings between C and CXX
This is necessary because different warnings are restricted to one
compiler variant.
2021-11-18 12:52:22 +00:00
Ralf Habacker
85e6d21a0f Add HAVE_DECL_xxx checks to cmake build system
The first two definitions are required to fix cmake build error when
compiling with -Werror=undef on Windows.

The last one completes having HAVE_DECL_xxx definitions.
2021-11-18 12:52:22 +00:00
Ralf Habacker
6b41f053c5 Move _GNU_SOURCE to config.h.cmake 2021-11-18 12:52:22 +00:00
Ralf Habacker
541dbab907 Move DBUS_BUILT_R_DYNAMIC to config.h.cmake 2021-11-18 12:52:22 +00:00
Ralf Habacker
946515aead Fix definition of HAVE_SOCKLEN_T 2021-11-18 12:52:22 +00:00
Ralf Habacker
0590b44a8f Add configure checks for vsnprintf and vasprintf to cmake build system 2021-11-18 12:52:22 +00:00
Ralf Habacker
956aac65d4 cmake: take over some fatal warnings from autotools
Adopt various fatal warnings from the autotools build system
to see corresponding build errors also in cmake.
2021-11-18 12:52:22 +00:00
Simon McVittie
31e8a2af0b Merge branch 'davidre-master-patch-89698' into 'master'
Put dbus-daemon into session slice

See merge request dbus/dbus!219
2021-11-18 11:46:30 +00:00
David Redondo
03b4fba4b0 Put dbus-daemon into session slice
The session slice and the  app and background slices are special slices defined by
https://systemd.io/DESKTOP_ENVIRONMENTS/, where:
  session.slice: Contains only processes essential to run the user’s graphical session
  app.slice: Contains all normal applications that the user is running
This allows users or sysadmins to control resource allocation depending on the type
of the service.
Since v249 (23dce98e89)
systemd puts user services into the app slice by default so dbus needs to manually state
that it belongs in the session slice.
2021-11-18 11:35:49 +00:00
Ralf Habacker
9c98a9efe7 Merge branch 'fix-319' into 'master'
cmake: fix find_package related naming mismatch for GLIB2

Closes #319

See merge request dbus/dbus!216
2021-11-18 11:02:32 +00:00
Ralf Habacker
dccd628321 cmake: fix find_package related naming mismatch for GLIB2
The package name passed to `find_package_handle_standard_args` (GLIB2) did not match the name of the calling package (GLib2).
This could lead to problems when calling code that expects `find_package`.
result variables (e.g. `_FOUND`) expect to follow a certain pattern.

fixes #319
2021-11-10 00:49:21 +01:00
Simon McVittie
3a3aae70fd Merge branch 'fix-spec' into 'master'
spec: Clean up use of the term for an array of dict entries

Closes #347

See merge request dbus/dbus!215
2021-11-09 12:46:03 +00:00
Ralf Habacker
caef850966 Clean up use of the term for an array of dict entries
fixes #347

Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
2021-11-09 00:01:46 +01:00
Ralf Habacker
47768a2d75 Start spec 0.37 development 2021-11-08 14:26:29 +01:00
Simon McVittie
9b019a4e83 Merge branch 'get-machine-id' into 'master'
Specify what ID GetMachineId actually returns

See merge request dbus/dbus!198
2021-10-29 18:24:11 +00:00
Thomas Kluyver
3eba9d5d9b Describe where machine ID comes from 2021-10-29 18:24:11 +00:00
Simon McVittie
aa42b1c91a Merge branch 'test-memleak' into 'master'
test/thread-blocking.c: Fix a memory leak

See merge request dbus/dbus!208
2021-10-29 18:12:16 +00:00
David King
7dc6b64d98 test/thread-blocking.c: Fix a memory leak
Free name inside the for loop. Found by Coverity.

Bug-RedHat: https://bugzilla.redhat.com/show_bug.cgi?id=1938701
2021-10-29 18:03:13 +00:00
Simon McVittie
5c377fc995 Merge branch 'cmake-format-fixes' into 'master'
CMake-format fixes

See merge request dbus/dbus!213
2021-10-29 16:29:45 +00:00
Ralf Habacker
ee24cadf2e Apply cmake formatting rules 2021-10-25 15:56:46 +02:00
Ralf Habacker
151574605e tools/cmake-format: fix sed warning Expression #1, char 25: unknown option for »s« in --all mode 2021-10-25 15:56:09 +02:00
Ralf Habacker
75003c4ca1 tools/cmake-format: add support to use custom source root directory 2021-10-25 15:42:37 +02:00
Simon McVittie
ddcbe4c715 Merge branch 'dbus-send-validate' into 'master'
dbus-send: Do more syntax validation

Closes #338

See merge request dbus/dbus!211
2021-07-19 12:27:16 +00:00
Simon McVittie
a42a07a1fb dbus-send: Validate interface, member names before use
Instead of a failed check or assertion failure and a core dump, let's
produce an error message on stderr and a graceful nonzero exit status.
It's still not going to *work*, but at least we can avoid crashing.

    $ dbus-send / com.example.Nope..Nope
    Interface name was not valid: 'com.example.Nope.'
    $ dbus-send / com.example.Nope.0
    Invalid signal name: Member name was not valid: '0'

Resolves: dbus#338
Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-06-21 12:04:05 +01:00
Simon McVittie
dde5c8fdc4 dbus-send: Print an error message if object path is syntactically invalid
$ dbus-send // nope
    Object path was not valid: '//'

Related to dbus#338.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-06-21 12:02:27 +01:00
Zeeshan Ali
ef55a3db0d Merge branch 'spec-correction' into 'master'
Add a few clarifications to the spec

See merge request dbus/dbus!203
2021-03-16 12:07:08 +00:00
Zeeshan Ali
e7db7e9390 spec: Clarify Array element needs to be padded even if inexistent 2021-03-10 12:39:27 +01:00
Zeeshan Ali
fcc3455b89 spec: Clarify that Variant's value needs padding 2021-03-10 12:39:27 +01:00
Simon McVittie
efe805c849 Merge branch 'ci' into 'master'
ci: bump msys2 deps, fix broken links

See merge request dbus/dbus!201
2021-01-13 15:05:17 +00:00
Marc-André Lureau
c5385dfd60 ci: bump msys2 deps, fix broken links
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2021-01-13 18:53:23 +04:00
Simon McVittie
95bff90369 Reference CVE-2020-35512 in NEWS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-01-07 11:55:22 +00:00
Ralf Habacker
669e3c0aca Merge branch 'cmake-add-unit-test-macro' into 'master'
cmake: add macro add_unit_test to reduce code duplication

See merge request dbus/dbus!196
2020-12-11 09:11:31 +00:00
Ralf Habacker
b76c46437e cmake: add macro add_unit_test to reduce code duplication
This macro is now used by add_test_executable and
add_session_test_executable.
2020-11-26 10:46:34 +01:00
Ralf Habacker
2ef39181cf Merge branch 'ci-dependency-fixes' into 'master'
Cleanup package installation on CI

See merge request dbus/dbus!187
2020-11-24 07:18:19 +00:00