]> git.ipfire.org Git - thirdparty/dbus.git/commitdiff
Bug 18229 - Change system.conf to correctly deny non-reply sends by default
authorColin Walters <walters@verbum.org>
Wed, 21 Jan 2009 19:58:49 +0000 (14:58 -0500)
committerColin Walters <walters@verbum.org>
Wed, 21 Jan 2009 19:58:49 +0000 (14:58 -0500)
The previous rule <allow send_requested_reply="true"/> was actually
applied to all messages, even if they weren't a reply.  This meant
that in fact the default DBus policy was effectively allow, rather
than deny as claimed.

This fix ensures that the above rule only applies to actual reply
messages.
Signed-off-by: Colin Walters <walters@verbum.org>
Conflicts:

bus/system.conf.in

bus/system.conf.in
test/name-test/tmp-session-like-system.conf

index 287efc9f6ee53fd91e0ae2b6ccb68739f1e07451..a96dd25187ec5229ba118bc5b7585f8e3d1e854c 100644 (file)
          even if they aren't in here -->
     <allow send_destination="org.freedesktop.DBus"/>
     <allow receive_sender="org.freedesktop.DBus"/>
-    <!-- valid replies are always allowed -->
-    <allow send_requested_reply="true"/>
+    <!-- allow sending valid replies -->
+    <allow send_requested_reply="true" send_type="method_return"/>
+    <allow send_requested_reply="true" send_type="error"/>
+    <!-- allow receiving valid replies -->
     <allow receive_requested_reply="true"/>
+    <!-- Note: the rule above also allows receiving of all non-reply messages
+         that are not denied later.  See:
+         https://bugs.freedesktop.org/show_bug.cgi?id=18229
+         Potentially this will be replaced in the future by the
+         following two rules:
+    <allow receive_requested_reply="true" receive_type="method_return"/>
+    <allow receive_requested_reply="true" receive_type="error"/>
+    -->
   </policy>
 
   <!-- Config files are placed here that among other things, punch 
index e483c89bb0f63ddf8fa5d6b7797a2e87cdb62479..1cbc95c5f4d27750a26e2c971a2bf3551a4b098b 100644 (file)
@@ -8,10 +8,6 @@
   <!-- Our well-known bus type, don't change this -->
   <type>session</type>
 
-  <!-- If we fork, keep the user's original umask to avoid affecting
-       the behavior of child processes. -->
-  <keep_umask/>
-
   <listen>unix:tmpdir=/tmp</listen>
 
   <standard_session_servicedirs />