]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
spec: Clarify behaviour of o.f.D.P.GetAll
authorPhilip Withnall <philip.withnall@collabora.co.uk>
Tue, 1 Nov 2016 04:17:54 +0000 (21:17 -0700)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Tue, 22 Nov 2016 11:26:46 +0000 (11:26 +0000)
Clarify its intended behaviour in two situations:
 • For interfaces which have no properties.
 • Where some properties are not visible to the caller (due to access
   control, for example).

The intention here is for this behaviour to be mandatory, but given that
this is quite late on in the specification’s life, and various D-Bus
libraries like dbus-glib and telepathy-glib cannot support access
control at a per-property level, for example. GDBus can, although it’s
questionable whether this is a good idea. Deliberately leave the
specification open to allow access control at a higher level as well
(such as per-(object, interface)).

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36190
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
doc/dbus-specification.xml

index fbb8f254c1de08b23f107d0fbd975c451cb4d686..9f1527b62c7b9ba2c31ff7b754429eefb6b5e22d 100644 (file)
         deterministic rule, or returning an error, are the reasonable
         possibilities).
       </para>
+      <para>
+        If <literal>org.freedesktop.DBus.Properties.GetAll</literal> is called
+        with a valid interface name which contains no properties, an empty array
+        should be returned. If it is called with a valid interface name for
+        which some properties are not accessible to the caller (for example, due
+        to per-property access control implemented in the service), those
+        properties should be silently omitted from the result array.
+        If <literal>org.freedesktop.DBus.Properties.Get</literal> is called for
+        any such properties, an appropriate access control error should be
+        returned.
+      </para>
       <para>
         If one or more properties change on an object, the
         <literal>org.freedesktop.DBus.Properties.PropertiesChanged</literal>