From 4e9830147f9a265965e76f1375a10a8a427beca2 Mon Sep 17 00:00:00 2001
From: Chris Morin <cmtm@google.com>
Date: Fri, 14 Jun 2019 13:16:10 -0700
Subject: [PATCH] dbus-send: add --sender option

Clients listening for a signal can match against the 'sender', expecting
it to come from a connection with a specific name. With this change,
dbus-send can send signals to them.

[Adrian Ratiu: rebased on dbus-1.12.20]
Signed-off-by: Adrian Ratiu <adrian.ratiu@collabora.com>
---
 doc/dbus-send.1.xml.in |  7 +++++++
 tools/dbus-send.c      | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 39 insertions(+)

diff --git a/doc/dbus-send.1.xml.in b/doc/dbus-send.1.xml.in
index 34c4b99e..c3ddda1c 100644
--- a/doc/dbus-send.1.xml.in
+++ b/doc/dbus-send.1.xml.in
@@ -22,6 +22,7 @@
 <cmdsynopsis>
   <command>dbus-send</command>
   <group choice='opt'><arg choice='plain'>--system </arg><arg choice='plain'>--session </arg><arg choice='plain'>--bus=<replaceable>ADDRESS</replaceable></arg><arg choice='plain'>--peer=<replaceable>ADDRESS</replaceable></arg></group>
+    <arg choice='opt'>--sender=<replaceable>NAME</replaceable></arg>
     <arg choice='opt'>--dest=<replaceable>NAME</replaceable></arg>
     <arg choice='opt'><arg choice='plain'>--print-reply </arg><arg choice='opt'><replaceable>=literal</replaceable></arg></arg>
     <arg choice='opt'>--reply-timeout=<replaceable>MSEC</replaceable></arg>
@@ -146,6 +147,12 @@ The default is implementation&hyphen;defined, typically 25 seconds.</para>
   <term><option>--peer=</option><replaceable>ADDRESS</replaceable></term>
   <listitem>
 <para>Send to a non-message-bus D-Bus server at <replaceable>ADDRESS</replaceable>. In this case <command>dbus-send</command> will not call the <literal>Hello</literal> method.</para>
+  </listitem>
+  </varlistentry>
+  <varlistentry>
+  <term><option>--sender=</option><replaceable>NAME</replaceable></term>
+  <listitem>
+<para>Request ownership of name <replaceable>NAME</replaceable> before sending message.</para>
   </listitem>
   </varlistentry>
   <varlistentry>
diff --git a/tools/dbus-send.c b/tools/dbus-send.c
index efeb76e0..a1884837 100644
--- a/tools/dbus-send.c
+++ b/tools/dbus-send.c
@@ -261,6 +261,7 @@ main (int argc, char *argv[])
   int message_type = DBUS_MESSAGE_TYPE_SIGNAL;
   const char *type_str = NULL;
   const char *address = NULL;
+  const char *sender = NULL;
   int is_bus = FALSE;
   int session_or_system = FALSE;
 
@@ -313,6 +314,16 @@ main (int argc, char *argv[])
               usage (1);
             }
         }
+      else if (strstr (arg, "--sender=") == arg)
+        {
+          sender = strchr (arg, '=') + 1;
+
+          if (sender[0] == '\0')
+            {
+              fprintf (stderr, "\"--sender=\" requires a NAME\n");
+              usage (1);
+            }
+        }
       else if (strncmp (arg, "--print-reply", 13) == 0)
 	{
 	  print_reply = TRUE;
@@ -421,6 +432,27 @@ main (int argc, char *argv[])
         }
     }
 
+  if (sender != NULL)
+    {
+      switch(dbus_bus_request_name (connection, sender, DBUS_NAME_FLAG_DO_NOT_QUEUE, &error))
+        {
+        case DBUS_REQUEST_NAME_REPLY_PRIMARY_OWNER:
+          /* success */
+          break;
+        case DBUS_REQUEST_NAME_REPLY_EXISTS:
+          fprintf (stderr, "Requested name \"%s\" already has owner\n", sender);
+          exit (1);
+        case -1:
+          fprintf (stderr, "Failed to request sender name \"%s\": %s\n", sender, error.message);
+          dbus_error_free(&error);
+          exit (1);
+        default:
+          /* This should be unreachable if the bus is compliant */
+          fprintf (stderr, "Request of sender name failed unexpectedly\n");
+          exit (1);
+        }
+    }
+
   if (message_type == DBUS_MESSAGE_TYPE_METHOD_CALL)
     {
       char *last_dot;
-- 
2.30.1

