diff options
-rw-r--r-- | .gitlab-ci.yml | 2 | ||||
-rw-r--r-- | bus/apparmor.c | 5 | ||||
-rw-r--r-- | bus/driver.c | 12 | ||||
-rw-r--r-- | bus/selinux.c | 15 | ||||
-rw-r--r-- | dbus/dbus-auth.c | 8 | ||||
-rw-r--r-- | dbus/dbus-connection.c | 3 | ||||
-rw-r--r-- | dbus/dbus-keyring.c | 14 | ||||
-rw-r--r-- | dbus/dbus-string.h | 6 | ||||
-rw-r--r-- | dbus/dbus-sysdeps-unix.c | 3 | ||||
-rw-r--r-- | dbus/dbus-sysdeps-util-unix.c | 3 | ||||
-rw-r--r-- | dbus/dbus-sysdeps-util-win.c | 3 | ||||
-rw-r--r-- | dbus/dbus-sysdeps.c | 75 | ||||
-rw-r--r-- | doc/dbus-send.1.xml.in | 5 | ||||
-rw-r--r-- | test/internals/dbus-string-util.c | 2 | ||||
-rw-r--r-- | test/internals/misc-internals.c | 6 |
15 files changed, 23 insertions, 139 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c496b3d4..630eafbc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -254,10 +254,12 @@ debian mingw64 cmake debug: ci_host: "x86_64-w64-mingw32" ci_variant: "debug" +# see https://gitlab.freedesktop.org/dbus/dbus/-/issues/509 debian mingw64 meson debug: extends: - .meson-common - .debian-build + when: manual variables: ci_host: "x86_64-w64-mingw32" ci_variant: "debug" diff --git a/bus/apparmor.c b/bus/apparmor.c index fe6cb305..257cf360 100644 --- a/bus/apparmor.c +++ b/bus/apparmor.c @@ -215,10 +215,7 @@ static dbus_bool_t _dbus_append_pair_uint (DBusString *auxdata, const char *name, unsigned long value) { - return _dbus_string_append (auxdata, " ") && - _dbus_string_append (auxdata, name) && - _dbus_string_append (auxdata, "=") && - _dbus_string_append_uint (auxdata, value); + return _dbus_string_append_printf (auxdata, " %s=%lu", name, value); } static dbus_bool_t diff --git a/bus/driver.c b/bus/driver.c index 7bc12f42..ebd98015 100644 --- a/bus/driver.c +++ b/bus/driver.c @@ -416,16 +416,8 @@ create_unique_client_name (BusRegistry *registry, /* appname:MAJOR-MINOR */ - if (!_dbus_string_append (str, ":")) - return FALSE; - - if (!_dbus_string_append_int (str, next_major_number)) - return FALSE; - - if (!_dbus_string_append (str, ".")) - return FALSE; - - if (!_dbus_string_append_int (str, next_minor_number)) + if (!_dbus_string_append_printf (str, ":%d.%d", + next_major_number, next_minor_number)) return FALSE; next_minor_number += 1; diff --git a/bus/selinux.c b/bus/selinux.c index 16665f45..200914b9 100644 --- a/bus/selinux.c +++ b/bus/selinux.c @@ -496,10 +496,7 @@ bus_selinux_allows_acquire_service (DBusConnection *connection, if (spid) { - if (!_dbus_string_append (&auxdata, " spid=")) - goto oom; - - if (!_dbus_string_append_uint (&auxdata, spid)) + if (!_dbus_string_append_printf (&auxdata, " spid=%lu", spid)) goto oom; } @@ -608,19 +605,13 @@ bus_selinux_allows_send (DBusConnection *sender, if (spid) { - if (!_dbus_string_append (&auxdata, " spid=")) - goto oom; - - if (!_dbus_string_append_uint (&auxdata, spid)) + if (!_dbus_string_append_printf (&auxdata, " spid=%lu", spid)) goto oom; } if (tpid) { - if (!_dbus_string_append (&auxdata, " tpid=")) - goto oom; - - if (!_dbus_string_append_uint (&auxdata, tpid)) + if (!_dbus_string_append_printf (&auxdata, " tpid=%lu", tpid)) goto oom; } diff --git a/dbus/dbus-auth.c b/dbus/dbus-auth.c index 09942f80..3ce06704 100644 --- a/dbus/dbus-auth.c +++ b/dbus/dbus-auth.c @@ -670,15 +670,9 @@ sha1_handle_first_client_response (DBusAuth *auth, &tmp2, _dbus_string_get_length (&tmp2))) goto out; - if (!_dbus_string_append (&tmp2, " ")) + if (!_dbus_string_append_printf (&tmp2, " %d ", auth->cookie_id)) goto out; - if (!_dbus_string_append_int (&tmp2, auth->cookie_id)) - goto out; - - if (!_dbus_string_append (&tmp2, " ")) - goto out; - if (!_dbus_generate_random_bytes (&tmp, N_CHALLENGE_BYTES, &error)) { if (dbus_error_has_name (&error, DBUS_ERROR_NO_MEMORY)) diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c index 13f5085f..53ca34a8 100644 --- a/dbus/dbus-connection.c +++ b/dbus/dbus-connection.c @@ -3403,7 +3403,8 @@ reply_handler_timeout (void *data) * @param pending_return return location for a #DBusPendingCall * object, or #NULL if connection is disconnected or when you try to * send Unix file descriptors on a connection that does not support - * them. + * them. The caller owns this reference, and is responsible for calling + * dbus_pending_call_unref() when it is no longer needed. * @param timeout_milliseconds timeout in milliseconds, -1 (or * #DBUS_TIMEOUT_USE_DEFAULT) for default or #DBUS_TIMEOUT_INFINITE for no * timeout diff --git a/dbus/dbus-keyring.c b/dbus/dbus-keyring.c index f55b21a8..e3cbf065 100644 --- a/dbus/dbus-keyring.c +++ b/dbus/dbus-keyring.c @@ -566,18 +566,8 @@ _dbus_keyring_reload (DBusKeyring *keyring, i = 0; while (i < n_keys) { - if (!_dbus_string_append_int (&contents, - keys[i].id)) - goto nomem; - - if (!_dbus_string_append_byte (&contents, ' ')) - goto nomem; - - if (!_dbus_string_append_printf (&contents, "%" DBUS_INT64_MODIFIER "d", - keys[i].creation_time)) - goto nomem; - - if (!_dbus_string_append_byte (&contents, ' ')) + if (!_dbus_string_append_printf (&contents, "%d %" DBUS_INT64_MODIFIER "d ", + keys[i].id, keys[i].creation_time)) goto nomem; if (!_dbus_string_hex_encode (&keys[i].secret, 0, diff --git a/dbus/dbus-string.h b/dbus/dbus-string.h index be2434db..c12532ca 100644 --- a/dbus/dbus-string.h +++ b/dbus/dbus-string.h @@ -212,12 +212,6 @@ dbus_bool_t _dbus_string_append_len (DBusString *str, const char *buffer, int len); DBUS_PRIVATE_EXPORT -dbus_bool_t _dbus_string_append_int (DBusString *str, - long value); -DBUS_PRIVATE_EXPORT -dbus_bool_t _dbus_string_append_uint (DBusString *str, - unsigned long value); -DBUS_PRIVATE_EXPORT dbus_bool_t _dbus_string_append_byte (DBusString *str, unsigned char byte); DBUS_PRIVATE_EXPORT diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c index cf99616d..eec9b20c 100644 --- a/dbus/dbus-sysdeps-unix.c +++ b/dbus/dbus-sysdeps-unix.c @@ -3112,8 +3112,7 @@ out: dbus_bool_t _dbus_append_user_from_current_process (DBusString *str) { - return _dbus_string_append_uint (str, - _dbus_geteuid ()); + return _dbus_string_append_printf (str, DBUS_UID_FORMAT, _dbus_geteuid ()); } /** diff --git a/dbus/dbus-sysdeps-util-unix.c b/dbus/dbus-sysdeps-util-unix.c index 49367d43..ce127388 100644 --- a/dbus/dbus-sysdeps-util-unix.c +++ b/dbus/dbus-sysdeps-util-unix.c @@ -273,8 +273,7 @@ _dbus_write_pid_to_file_and_pipe (const DBusString *pidfile, return FALSE; } - if (!_dbus_string_append_int (&pid, pid_to_write) || - !_dbus_string_append (&pid, "\n")) + if (!_dbus_string_append_printf (&pid, DBUS_PID_FORMAT "\n", pid_to_write)) { _dbus_string_free (&pid); _DBUS_SET_OOM (error); diff --git a/dbus/dbus-sysdeps-util-win.c b/dbus/dbus-sysdeps-util-win.c index befe1ba2..bb185f05 100644 --- a/dbus/dbus-sysdeps-util-win.c +++ b/dbus/dbus-sysdeps-util-win.c @@ -203,8 +203,7 @@ _dbus_write_pid_to_file_and_pipe (const DBusString *pidfile, return FALSE; } - if (!_dbus_string_append_int (&pid, pid_to_write) || - !_dbus_string_append (&pid, "\n")) + if (!_dbus_string_append_printf (&pid, DBUS_PID_FORMAT "\n", pid_to_write)) { _dbus_string_free (&pid); _DBUS_SET_OOM (error); diff --git a/dbus/dbus-sysdeps.c b/dbus/dbus-sysdeps.c index 8b82bfd5..ce9b7a75 100644 --- a/dbus/dbus-sysdeps.c +++ b/dbus/dbus-sysdeps.c @@ -354,81 +354,6 @@ _dbus_split_paths_and_append (DBusString *dirs, * * @{ */ -/** - * Appends an integer to a DBusString. - * - * @param str the string - * @param value the integer value - * @returns #FALSE if not enough memory or other failure. - */ -dbus_bool_t -_dbus_string_append_int (DBusString *str, - long value) -{ - /* this calculation is from comp.lang.c faq */ -#define MAX_LONG_LEN ((sizeof (long) * 8 + 2) / 3 + 1) /* +1 for '-' */ - int orig_len; - int i; - char *buf; - - orig_len = _dbus_string_get_length (str); - - if (!_dbus_string_lengthen (str, MAX_LONG_LEN)) - return FALSE; - - buf = _dbus_string_get_data_len (str, orig_len, MAX_LONG_LEN); - - snprintf (buf, MAX_LONG_LEN, "%ld", value); - - i = 0; - while (*buf) - { - ++buf; - ++i; - } - - _dbus_string_shorten (str, MAX_LONG_LEN - i); - - return TRUE; -} - -/** - * Appends an unsigned integer to a DBusString. - * - * @param str the string - * @param value the integer value - * @returns #FALSE if not enough memory or other failure. - */ -dbus_bool_t -_dbus_string_append_uint (DBusString *str, - unsigned long value) -{ - /* this is wrong, but definitely on the high side. */ -#define MAX_ULONG_LEN (MAX_LONG_LEN * 2) - int orig_len; - int i; - char *buf; - - orig_len = _dbus_string_get_length (str); - - if (!_dbus_string_lengthen (str, MAX_ULONG_LEN)) - return FALSE; - - buf = _dbus_string_get_data_len (str, orig_len, MAX_ULONG_LEN); - - snprintf (buf, MAX_ULONG_LEN, "%lu", value); - - i = 0; - while (*buf) - { - ++buf; - ++i; - } - - _dbus_string_shorten (str, MAX_ULONG_LEN - i); - - return TRUE; -} /** * Parses an integer contained in a DBusString. Either return parameter diff --git a/doc/dbus-send.1.xml.in b/doc/dbus-send.1.xml.in index 65194b44..9acb6c7a 100644 --- a/doc/dbus-send.1.xml.in +++ b/doc/dbus-send.1.xml.in @@ -165,6 +165,11 @@ The default is implementation‐defined, typically 25 seconds.</para> </variablelist> </refsect1> +<refsect1 id='exit-status'><title>EXIT STATUS</title> +<para>Exit status 0 indicates success. A non-zero exit status indicates any failure, including invalid parameters, failure to connect to the --bus or --peer, failure to obtain the --sender name, a timeout while waiting for a reply to a method call, or receiving an error as the reply to a method call. +</para> +</refsect1> + <refsect1 id='author'><title>AUTHOR</title> <para>dbus-send was written by Philip Blundell.</para> diff --git a/test/internals/dbus-string-util.c b/test/internals/dbus-string-util.c index d5a740c4..3fb5ab6b 100644 --- a/test/internals/dbus-string-util.c +++ b/test/internals/dbus-string-util.c @@ -534,7 +534,7 @@ _dbus_string_test (const char *test_data_dir _DBUS_GNUC_UNUSED) if (!_dbus_string_init (&str)) _dbus_test_fatal ("failed to init string"); - if (!_dbus_string_append_int (&str, 27)) + if (!_dbus_string_append_printf (&str, "%d", 27)) _dbus_test_fatal ("failed to append int"); i = _dbus_string_get_length (&str); diff --git a/test/internals/misc-internals.c b/test/internals/misc-internals.c index 3fc9d504..1b26e34c 100644 --- a/test/internals/misc-internals.c +++ b/test/internals/misc-internals.c @@ -660,11 +660,7 @@ _dbus_misc_test (const char *test_data_dir _DBUS_GNUC_UNUSED) if (!_dbus_string_init (&str)) _dbus_test_fatal ("no memory"); - if (!(_dbus_string_append_int (&str, major) && - _dbus_string_append_byte (&str, '.') && - _dbus_string_append_int (&str, minor) && - _dbus_string_append_byte (&str, '.') && - _dbus_string_append_int (&str, micro))) + if (!_dbus_string_append_printf (&str, "%d.%d.%d", major, minor, micro)) _dbus_test_fatal ("no memory"); _dbus_test_check (_dbus_string_equal_c_str (&str, DBUS_VERSION_STRING)); |