summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci.yml2
-rw-r--r--bus/apparmor.c5
-rw-r--r--bus/driver.c12
-rw-r--r--bus/selinux.c15
-rw-r--r--dbus/dbus-auth.c8
-rw-r--r--dbus/dbus-connection.c3
-rw-r--r--dbus/dbus-keyring.c14
-rw-r--r--dbus/dbus-string.h6
-rw-r--r--dbus/dbus-sysdeps-unix.c3
-rw-r--r--dbus/dbus-sysdeps-util-unix.c3
-rw-r--r--dbus/dbus-sysdeps-util-win.c3
-rw-r--r--dbus/dbus-sysdeps.c75
-rw-r--r--doc/dbus-send.1.xml.in5
-rw-r--r--test/internals/dbus-string-util.c2
-rw-r--r--test/internals/misc-internals.c6
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&hyphen;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));