diff options
author | Havoc Pennington <hp@redhat.com> | 2003-03-31 08:19:50 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2003-03-31 08:19:50 +0000 |
commit | 29c71168cd17b11eed65023c97aff401d5305b01 (patch) | |
tree | 431a05106d857cf38abbdea74a375326f395485e /test | |
parent | bc86794f23fa538a405813fb61b531c2eacc9ae1 (diff) |
2003-03-31 Havoc Pennington <hp@pobox.com>
* dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
(_dbus_transport_new_for_tcp_socket): these didn't need the "server"
argument since they are always client side
* dbus/dbus-server.c (dbus_server_get_address): new function
* bus/main.c (main): take the configuration file as an argument.
* test/data/valid-config-files/debug-allow-all.conf: new file to
use with dispatch.c tests for example
* bus/test-main.c (main): require test data dir
* bus/bus.c (bus_context_new): change this to take a
configuration file name as argument
* doc/config-file.txt (Elements): add <servicedir>
* bus/system.conf, bus/session.conf: new files
* dbus/dbus-bus.c (dbus_bus_get): look for system bus on
well-known socket if none set
* configure.in: create system.conf and session.conf
Diffstat (limited to 'test')
-rw-r--r-- | test/Makefile.am | 15 | ||||
-rw-r--r-- | test/data/valid-config-files/debug-allow-all.conf | 12 | ||||
-rw-r--r-- | test/data/valid-config-files/session.conf | 31 | ||||
-rw-r--r-- | test/data/valid-config-files/system.conf | 20 | ||||
-rwxr-xr-x | test/fix-standard-tests.sh | 8 |
5 files changed, 84 insertions, 2 deletions
diff --git a/test/Makefile.am b/test/Makefile.am index f900b021..5d67283b 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -44,13 +44,24 @@ break_loader_LDADD= $(TEST_LIBS) #bus_test_LDADD=$(TEST_LIBS) $(top_builddir)/bus/libdbus-daemon.la spawn_test_LDADD=$(TEST_LIBS) +EXTRA_DIST=fix-standard-tests.sh + dist-hook: - DIRS="data data/valid-messages data/invalid-messages data/incomplete-messages data/auth data/sha-1"; \ + DIRS="data data/valid-messages data/invalid-messages data/incomplete-messages data/auth data/sha-1 data/valid-config-files"; \ for D in $$DIRS; do \ test -d $(distdir)/$$D || mkdir $(distdir)/$$D ; \ done ; \ - FILES=`find -name "*.message" -o -name "*.message-raw" -o -name "*.auth-script" -o -name "*.sha1" -o -name "*.txt"` ; \ + FILES=`find -name "*.message" -o -name "*.message-raw" -o -name "*.auth-script" -o -name "*.sha1" -o -name "*.txt" -o -name "*.conf"` ; \ for F in $$FILES; do \ echo '-- Disting file '$$F ; \ cp $$F $(distdir)/$$F ; \ done + + +### we want our standard session.conf and system.conf in the test suite, +### right now we manually sync copies of them over to the test suite +### from time to time +update-standard-tests: + cp -f $(top_builddir)/bus/system.conf.in data/valid-config-files/system.conf ; \ + cp -f $(top_builddir)/bus/session.conf.in data/valid-config-files/session.conf ; \ + $(srcdir)/fix-standard-tests.sh diff --git a/test/data/valid-config-files/debug-allow-all.conf b/test/data/valid-config-files/debug-allow-all.conf new file mode 100644 index 00000000..86900ebb --- /dev/null +++ b/test/data/valid-config-files/debug-allow-all.conf @@ -0,0 +1,12 @@ +<!-- Bus that listens on a debug pipe and doesn't create any restrictions --> + +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + <listen>debug-pipe:name=test-server</listen> + <policy context="default"> + <allow send="*"/> + <allow receive="*"/> + <allow own="*"/> + </policy> +</busconfig> diff --git a/test/data/valid-config-files/session.conf b/test/data/valid-config-files/session.conf new file mode 100644 index 00000000..fe7aa5f0 --- /dev/null +++ b/test/data/valid-config-files/session.conf @@ -0,0 +1,31 @@ +<!-- This configuration file controls the per-user-login-session message bus. + Add a session-local.conf and edit that rather than changing this + file directly. --> + +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + <!-- FIXME - this is fairly complicated to fix. + Propose the following: + - add "unix:tmpdir=/tmp" which means unix domain transport + creates a socket with a random secure name + - add dbus_server_get_address() that gets the actual + server address + - add command line option or env variable to the daemon + causing it to print its list of addresses to a given + file descriptor + - session manager or whatever launches the session bus + reads the address from there and sets the env variable + --> + <listen>unix:path=/tmp/foobar</listen> + <policy context="default"> + <!-- Allow everything --> + <allow send="*"/> + <allow receive="*"/> + <allow own="*"/> + </policy> + + <!-- This is included last so local configuration can override what's + in this standard file --> + <include ignore_missing="yes">session-local.conf</include> +</busconfig> diff --git a/test/data/valid-config-files/system.conf b/test/data/valid-config-files/system.conf new file mode 100644 index 00000000..e2c7ab7f --- /dev/null +++ b/test/data/valid-config-files/system.conf @@ -0,0 +1,20 @@ +<!-- This configuration file controls the systemwide message bus. + Add a system-local.conf and edit that rather than changing this + file directly. --> + +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + <user>fixme</user> + <listen>unix:path=/var/run/dbus/system_bus_socket</listen> + <policy context="default"> + <!-- Deny everything --> + <deny send="*"/> + <deny receive="*"/> + <deny own="*"/> + </policy> + + <!-- This is included last so local configuration can override what's + in this standard file --> + <include ignore_missing="yes">system-local.conf</include> +</busconfig> diff --git a/test/fix-standard-tests.sh b/test/fix-standard-tests.sh new file mode 100755 index 00000000..80e6dae1 --- /dev/null +++ b/test/fix-standard-tests.sh @@ -0,0 +1,8 @@ +#! /bin/sh + +### this script is a lame hack used in the Makefile because +### I couldn't figure out how to escape @EXPANDED_LOCALSTATEDIR@ etc. +### inside the Makefile + +perl -pi -e "s%\@EXPANDED_LOCALSTATEDIR\@%/var%g" data/valid-config-files/system.conf +perl -pi -e "s%\@DBUS_SYSTEM_SOCKET\@%run/dbus/system_bus_socket%g" data/valid-config-files/system.conf |