From c042f89fa2b69f566355a6d0bbf8208c5628a50f Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Wed, 19 Jul 2017 15:26:48 +0100 Subject: [PATCH] dbus-daemon(1): Document how send_* and receive_* work in general Signed-off-by: Simon McVittie --- doc/dbus-daemon.1.xml.in | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/doc/dbus-daemon.1.xml.in b/doc/dbus-daemon.1.xml.in index dcaba484..a1ef6e2f 100644 --- a/doc/dbus-daemon.1.xml.in +++ b/doc/dbus-daemon.1.xml.in @@ -879,6 +879,32 @@ statements, and works just like <deny> but with the inverse meaning. + + Rules with one or more of the send_* family of attributes + are checked in order when a connection attempts to send a message. The last + rule that matches the message determines whether it may be sent. + The well-known session bus normally allows sending any message. + The well-known system bus normally allows sending any signal, selected + method calls to the dbus-daemon, and exactly one + reply to each previously-sent method call (either success or an error). + Either of these can be overridden by configuration; on the system bus, + services that will receive method calls must install configuration that + allows them to do so, usually via rules of the form + <policy context="default"><allow send_destination="…"/><policy>. + + + + Rules with one or more of the receive_* family of + attributes, and/or the eavesdrop attribute, are checked + for each recipient of a message (there might be more than one recipient + if the message is a broadcast or a connection is eavesdropping). The last + rule that matches the message determines whether it may be received. + The well-known session bus normally allows receiving any message, including + eavesdropping. The well-known system bus normally allows receiving any + message that was not eavesdropped (any unicast message addressed to the + recipient, and any broadcast message). + + send_destination and receive_sender rules mean that messages may not be sent to or received from the *owner* of the given name, not that they may not be sent *to that name*. That is, if a connection -- 2.13.3