mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-08 21:17:47 +03:00
bus-policy: also add in other bus policy tests from dbus1
dbus1 only checks if these files parse correctly so let's do the same for now.
This commit is contained in:
parent
3a9cca1104
commit
55e189007c
@ -1384,7 +1384,9 @@ EXTRA_DIST += \
|
||||
test/bus-policy/methods.conf \
|
||||
test/bus-policy/ownerships.conf \
|
||||
test/bus-policy/signals.conf \
|
||||
test/bus-policy/check-own-rules.conf
|
||||
test/bus-policy/check-own-rules.conf \
|
||||
test/bus-policy/many-rules.conf \
|
||||
test/bus-policy/test.conf
|
||||
|
||||
|
||||
EXTRA_DIST += \
|
||||
|
@ -147,5 +147,17 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
policy_free(&p);
|
||||
|
||||
/* dbus1 test file: many rules */
|
||||
|
||||
assert_se(test_policy_load(&p, "many-rules.conf") >= 0);
|
||||
policy_dump(&p);
|
||||
policy_free(&p);
|
||||
|
||||
/* dbus1 test file: generic test */
|
||||
|
||||
assert_se(test_policy_load(&p, "test.conf") >= 0);
|
||||
policy_dump(&p);
|
||||
policy_free(&p);
|
||||
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
61
test/bus-policy/many-rules.conf
Normal file
61
test/bus-policy/many-rules.conf
Normal file
@ -0,0 +1,61 @@
|
||||
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
|
||||
<busconfig>
|
||||
<user>mybususer</user>
|
||||
<listen>unix:path=/foo/bar</listen>
|
||||
<listen>tcp:port=1234</listen>
|
||||
<includedir>basic.d</includedir>
|
||||
<standard_session_servicedirs />
|
||||
<servicedir>/usr/share/foo</servicedir>
|
||||
<include ignore_missing="yes">nonexistent.conf</include>
|
||||
<policy context="default">
|
||||
<allow user="*"/>
|
||||
<deny send_interface="org.freedesktop.System" send_member="Reboot"/>
|
||||
<deny receive_interface="org.freedesktop.System" receive_member="Reboot"/>
|
||||
<deny send_path="/foo/bar/SystemObjectThing" send_member="Reboot"/>
|
||||
<deny own="org.freedesktop.System"/>
|
||||
<deny own_prefix="org.freedesktop.ManySystems"/>
|
||||
<deny send_destination="org.freedesktop.System"/>
|
||||
<deny receive_sender="org.freedesktop.System"/>
|
||||
<deny user="root"/>
|
||||
<deny group="bin"/>
|
||||
<allow send_type="error"/>
|
||||
<allow send_type="method_call"/>
|
||||
<allow send_type="method_return"/>
|
||||
<allow send_type="signal"/>
|
||||
<deny send_destination="org.freedesktop.Bar" send_interface="org.freedesktop.Foo"/>
|
||||
<deny send_destination="org.freedesktop.Bar" send_interface="org.freedesktop.Foo" send_type="method_call"/>
|
||||
</policy>
|
||||
|
||||
<policy context="mandatory">
|
||||
<allow user="*"/>
|
||||
<deny send_interface="org.freedesktop.System" send_member="Reboot"/>
|
||||
<deny receive_interface="org.freedesktop.System" receive_member="Reboot"/>
|
||||
<deny send_path="/foo/bar/SystemObjectThing" send_member="Reboot"/>
|
||||
<deny own="org.freedesktop.System"/>
|
||||
<deny own_prefix="org.freedesktop.ManySystems"/>
|
||||
<deny send_destination="org.freedesktop.System"/>
|
||||
<deny receive_sender="org.freedesktop.System"/>
|
||||
<deny user="root"/>
|
||||
<deny group="bin"/>
|
||||
<allow send_type="error"/>
|
||||
<allow send_type="method_call"/>
|
||||
<allow send_type="method_return"/>
|
||||
<allow send_type="signal"/>
|
||||
<deny send_destination="org.freedesktop.Bar" send_interface="org.freedesktop.Foo"/>
|
||||
<deny send_destination="org.freedesktop.Bar" send_interface="org.freedesktop.Foo" send_type="method_call"/>
|
||||
</policy>
|
||||
|
||||
<limit name="max_incoming_bytes">5000</limit>
|
||||
<limit name="max_outgoing_bytes">5000</limit>
|
||||
<limit name="max_message_size">300</limit>
|
||||
<limit name="service_start_timeout">5000</limit>
|
||||
<limit name="auth_timeout">6000</limit>
|
||||
<limit name="max_completed_connections">50</limit>
|
||||
<limit name="max_incomplete_connections">80</limit>
|
||||
<limit name="max_connections_per_user">64</limit>
|
||||
<limit name="max_pending_service_starts">64</limit>
|
||||
<limit name="max_names_per_connection">256</limit>
|
||||
<limit name="max_match_rules_per_connection">512</limit>
|
||||
|
||||
</busconfig>
|
20
test/bus-policy/test.conf
Normal file
20
test/bus-policy/test.conf
Normal file
@ -0,0 +1,20 @@
|
||||
<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
|
||||
<busconfig>
|
||||
<!-- The following demonstrates how to punch holes in a default deny-all
|
||||
policy so that a particular user can own a service, and other
|
||||
connections can get messages from it -->
|
||||
|
||||
<!-- Only root can own the FooService service, and
|
||||
this user can only send the one kind of message -->
|
||||
<policy user="root">
|
||||
<allow own="org.foo.FooService"/>
|
||||
<allow send_interface="org.foo.FooBroadcastInterface"/>
|
||||
</policy>
|
||||
|
||||
<!-- Allow any connection to receive the message, but
|
||||
only if the message is sent by the owner of FooService -->
|
||||
<policy context="default">
|
||||
<allow receive_interface="org.foo.FooBroadcastInterface" receive_sender="org.foo.FooService"/>
|
||||
</policy>
|
||||
</busconfig>
|
Loading…
Reference in New Issue
Block a user