Commit graph

1047 commits

Author SHA1 Message Date
Havoc Pennington
3d0dcbf536 2003-05-04 Havoc Pennington <hp@pobox.com>
* dbus/dbus-connection.c (dbus_connection_preallocate_send):
	unlock mutex on successful return, patch from Anders Gustafsson
2003-05-04 23:55:06 +00:00
Havoc Pennington
f39d1d9f90 2003-05-04 Havoc Pennington <hp@pobox.com>
* dbus-glib-1.pc.in (Requires): fix dependencies, from
	Anders Gustafsson
2003-05-04 20:33:15 +00:00
Havoc Pennington
df01c98cc7 2003-05-04 Havoc Pennington <hp@pobox.com>
* tools/dbus-launch.c: implement

	* bus/main.c (main), bus/bus.c (bus_context_new):
	implement --print-pid and --fork
2003-05-04 08:54:24 +00:00
Havoc Pennington
c0158234d0 2003-05-03 Havoc Pennington <hp@pobox.com>
* dbus/dbus-watch.c (dbus_watch_handle): warn and return if a
	watch is invalid when handled

	* tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add
	dbus-launch utility to launch the bus from a shell script.  Didn't
	actually implement dbus-launch yet, it's just a placeholder still.
2003-05-04 03:22:46 +00:00
Havoc Pennington
f60d798c50 2003-05-03 Havoc Pennington <hp@redhat.com>
* dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
	the address had no value, and add to test suite. Fix and
	regression test from Miloslav Trmac
2003-05-03 23:20:34 +00:00
Havoc Pennington
f548adbae0 2003-05-03 Havoc Pennington <hp@pobox.com>
* bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
	daemon; also documents daemon config file, so replaces
	doc/config-file.txt. Corrected some stuff from config-file.txt in
	the process of moving it.
2003-05-03 23:07:19 +00:00
Havoc Pennington
24373ede7c 2003-05-03 Havoc Pennington <hp@pobox.com>
* tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1:
	add some man pages
2003-05-03 22:03:16 +00:00
Colin Walters
6c013f3be1 2003-05-03 Colin Walters <walters@verbum.org>
* dbus/dbus-sysdeps.c (fill_user_info): Test against
	DBUS_UID_UNSET to determine whether to do a uid lookup or not.

	* Makefile.am: Update to use new .pc versioning scheme.
2003-05-03 20:53:40 +00:00
Havoc Pennington
6fae526d09 2003-05-02 Havoc Pennington <hp@redhat.com>
* bus/system.conf.in: allow send/receive to/from message bus
	service
2003-05-02 22:24:32 +00:00
Havoc Pennington
987ce0abaa 2003-04-30 Havoc Pennington <hp@redhat.com>
* configure.in: print a note when building with unit tests and
	without assertions
2003-04-30 21:24:41 +00:00
Havoc Pennington
42d47c5f80 2003-04-30 Havoc Pennington <hp@redhat.com>
* Makefile.am: add a check-local that complains if you didn't
	configure with --enable-tests
2003-04-30 21:15:44 +00:00
Havoc Pennington
410a80c431 2003-04-29 Havoc Pennington <hp@redhat.com>
* glib/dbus-gmain.c: docs cleanups

	* dbus/dbus-types.h: add docs on int64 types

	* dbus/dbus-memory.c: fix docs to avoid putting private API in
	public API docs section
2003-04-29 22:57:13 +00:00
Havoc Pennington
ae759bff51 2003-04-29 Havoc Pennington <hp@redhat.com>
* dbus-1.pc.in, dbus-glib-1.pc.in: rename these from
	dbus-1.0.pc.in, dbus-glib-1.0.pc.in. As these change with the
	parallel install API version, not with the D-BUS package version.

	* HACKING: move some of README over here

	* README: updates, and document API/ABI policy

	* configure.in: reindentation
2003-04-29 21:56:37 +00:00
Havoc Pennington
2a708128ad 2003-04-29 Havoc Pennington <hp@redhat.com>
* dbus/dbus.h: add "you have to define DBUS_API_SUBJECT_TO_CHANGE
	to use this library" to be sure people have the right
	expectations.
2003-04-29 21:27:59 +00:00
Havoc Pennington
ccc4926813 2003-04-28 Havoc Pennington <hp@redhat.com>
* configure.in: add --enable-docs which by default is auto yes if
        doxygen and db2html found, no otherwise; but can be forced on/off

        * doc/Makefile.am: conditionalize whether to build docs on
        --enable-docs
2003-04-28 23:40:17 +00:00
Havoc Pennington
893d859ed4 2003-04-28 Havoc Pennington <hp@redhat.com>
* configure.in: 0.10

	* NEWS: update

	* bus/system.conf.in: add <includedir>system.d</includedir>

	* dbus/dbus-userdb.c (_dbus_user_database_lookup): fix bug when
	username was provided but not uid

	* bus/config-parser.c (struct BusConfigParser): keep track of
	whether the parser is toplevel or was included; change some
	of the error handling if it's included.
2003-04-28 19:29:42 +00:00
Havoc Pennington
e8d396efef 2003-04-27 Havoc Pennington <hp@pobox.com>
Unbreak my code...

	* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
	report correct status if we finish processing authentication
	inside this function.

	* bus/activation.c (try_send_activation_failure): use
	bus_transaction_send_error_reply

	* bus/connection.c (bus_connection_get_groups): return an error
	explaining the problem

	* bus/bus.c (bus_context_check_security_policy): implement
	restriction here that inactive connections can only send the
	hello message. Also, allow bus driver to send anything to
	any recipient.

	* bus/connection.c (bus_connection_complete): create the
	BusClientPolicy here instead of on-demand.
	(bus_connection_get_policy): don't return an error

	* dbus/dbus-message.c (dbus_message_new_error_reply): allow NULL
	sender field in message being replied to

	* bus/bus.c (bus_context_check_security_policy): fix silly typo
	causing it to return FALSE always

	* bus/policy.c (bus_client_policy_check_can_send): fix bug where
	we checked sender rather than destination
2003-04-27 06:25:42 +00:00
Havoc Pennington
b3bd48edfc 2003-04-25 Havoc Pennington <hp@redhat.com>
test suite is slightly hosed at the moment, will fix soon

	* bus/connection.c (bus_connections_expire_incomplete): fix to
	properly disable the timeout when required
	(bus_connection_set_name): check whether we can remove incomplete
	connections timeout after we complete each connection.

	* dbus/dbus-mainloop.c (check_timeout): fix this up a bit,
	probably still broken.

	* bus/services.c (bus_registry_acquire_service): implement max
	number of services owned, and honor allow/deny rules on which
	services a connection can own.

	* bus/connection.c (bus_connection_get_policy): report errors here

	* bus/activation.c: implement limit on number of pending
	activations
2003-04-25 23:50:34 +00:00
Havoc Pennington
4b87aa40df 2003-04-25 Havoc Pennington <hp@redhat.com>
* dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug
	where we used >= 0 instead of != DBUS_UID_UNSET.
2003-04-25 20:48:45 +00:00
Havoc Pennington
9c010fbc04 2003-04-25 Havoc Pennington <hp@redhat.com>
* glib/dbus-gmain.c (remove_watch): fix for a crash when watches
	were toggled without add/remove, fix from Anders Gustafsson
2003-04-25 20:41:49 +00:00
Havoc Pennington
3185d7edde 2003-04-24 Havoc Pennington <hp@redhat.com>
* test/data/valid-config-files/basic.conf: add <limit> tags to
	this test

	* bus/config-parser.h, bus/config-parser.c, bus/bus.c: Implement
	<limit> tag in configuration file.
2003-04-24 22:30:38 +00:00
Havoc Pennington
1820f3bd0a 2003-04-24 Havoc Pennington <hp@redhat.com>
* bus/dispatch.c: somehow missed some name_is

	* dbus/dbus-timeout.c (_dbus_timeout_set_enabled)
	(_dbus_timeout_set_interval): new

	* bus/connection.c (bus_connections_setup_connection): record time
	when each connection is first set up, and expire them after the
	auth timeout passes.
2003-04-24 21:26:25 +00:00
Havoc Pennington
0ed8f3f3f3 remove TODO item for the name_is rename 2003-04-24 19:36:04 +00:00
Havoc Pennington
e8bf15b23a 2003-04-24 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message.c (dbus_message_name_is): rename
	(dbus_message_service_is): rename
	(dbus_message_sender_is): rename
	(dbus_message_get_service): rename
2003-04-24 19:35:11 +00:00
Havoc Pennington
c9cd648f11 2003-04-24 Havoc Pennington <hp@redhat.com>
* configure.in: add --enable-checks

	* dbus/dbus-message.c (dbus_message_new): reverse name/service arguments

	* dbus/dbus-connection.c (dbus_connection_preallocate_send): fix
	to use thread locks.
	(_dbus_connection_handler_destroyed_locked): move some private
	functions into proper docs group

	* dbus/dbus-internals.h: add _dbus_return_if_fail,
	_dbus_return_val_if_fail

	Throughout: use dbus_return_if_fail
2003-04-24 19:18:23 +00:00
James Willcox
c2a2855711 2003-04-23 James Willcox <jwillcox@gnome.org>
* glib/dbus-glib.h:
	* glib/dbus-gmain.c: (add_timeout), (wakeup_main), (create_source),
	(dbus_connection_setup_with_g_main),
	(dbus_server_setup_with_g_main):
	* glib/test-dbus-glib.c: (main):
	* glib/test-thread-client.c: (main):
	* glib/test-thread-server.c: (new_connection_callback), (main):
	* tools/dbus-monitor.c: (main):

	Added a GMainContext argument to dbus_connection_setup_with_g_main()
	and dbus_server_setup_with_g_main().
2003-04-24 02:22:49 +00:00
Havoc Pennington
da237031b3 2003-04-20 Havoc Pennington <hp@pobox.com>
* doc/dbus-specification.sgml: document the restrictions on
	message and service names
2003-04-23 03:36:12 +00:00
Havoc Pennington
b29d0c534a 2003-04-22 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message.c, dbus/dbus-marshal.c: add 64-bit integer
	support, and do some code cleanups to share more code and
	speed up array marshal/demarshal.

	* dbus-1.0.pc.in (Cflags): put libdir include file in cflags

	* configure.in: generate dbus-arch-deps.h

	* dbus/dbus-protocol.h (DBUS_TYPE_INT64, DBUS_TYPE_UINT64): add
	64-bit typecodes
2003-04-23 03:33:52 +00:00
Havoc Pennington
b3a3969897 2003-04-22 Havoc Pennington <hp@redhat.com>
* test/data/valid-messages/opposite-endian.message: fix test
	to use proper type for rply field

        * test/data/invalid-messages: add tests for below validation

	* dbus/dbus-message.c (decode_header_data): validate field types,
	and validate that named fields are valid names
	(decode_name_field): consider messages in the
	org.freedesktop.Local. namespace to be invalid.

	* dbus/dbus-string.c (_dbus_string_validate_name): new
2003-04-22 19:34:33 +00:00
Havoc Pennington
983200f912 2003-04-19 Havoc Pennington <hp@pobox.com>
* bus/driver.c (bus_driver_handle_hello): check limits and
	return an error if they are exceeded.

	* bus/connection.c: maintain separate lists of active and inactive
	connections, and a count of each. Maintain count of completed
	connections per user. Implement code to check connection limits.

	* dbus/dbus-list.c (_dbus_list_unlink): export

	* bus/bus.c (bus_context_check_security_policy): enforce a maximum
	number of bytes in the message queue for a connection
2003-04-19 16:16:24 +00:00
Havoc Pennington
d3fb6f3571 2003-04-18 Havoc Pennington <hp@pobox.com>
* dbus/dbus-auth.c (record_mechanisms): memleak fixes

	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): fix some
	memleaks

	* dbus/dbus-keyring.c (add_new_key): fix a memleak, and
	on realloc be sure to update the pointer in the keyring

	* dbus/dbus-string.c (_dbus_string_zero): compensate for align
	offset to avoid writing to unallocated memory

	* dbus/dbus-auth.c (process_rejected): return FALSE if we fail to
	try the next mechanism, so we properly handle OOM

	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): fix double-free
	on OOM.
	(_dbus_keyring_new): fix OOM bug
	(_dbus_keyring_new_homedir): always set error; impose a maximum
	number of keys we'll load from the file, mostly to speed up the
	test suite and make its OOM checks more useful, but also for
	general sanity.

	* dbus/dbus-auth.c (process_error_server): reject authentication
	if we get an error from the client
	(process_cancel): on cancel, send REJECTED, per the spec
	(process_error_client): send CANCEL if we get an error from the
	server.
2003-04-18 17:45:34 +00:00
Havoc Pennington
e0b284c7e3 2003-04-18 Havoc Pennington <hp@pobox.com>
* dbus/dbus-mainloop.c (_dbus_loop_iterate): fix UMR in verbose
	debug spew

	* dbus/dbus-auth.c (handle_client_data_cookie_sha1_mech): fix OOM
	handling problem

	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): only whine
	about DBUS_TEST_HOMEDIR once

	* bus/Makefile.am (TESTS_ENVIRONMENT): put DBUS_TEST_HOMEDIR in
	the environment

	* bus/dispatch.c (bus_dispatch_sha1_test): actually load sha1
	config file so we test the right thing

	Throughout: assorted docs improvements
2003-04-18 05:52:11 +00:00
Havoc Pennington
3df260c071 2003-04-18 Havoc Pennington <hp@pobox.com>
* glib/dbus-gmain.c: adapt to watch changes

	* bus/bus.c, bus/activation.c, etc.: adjust to watch changes

	* dbus/dbus-server.h: remove dbus_server_handle_watch

	* dbus/dbus-connection.h: remove dbus_connection_handle_watch

	* dbus/dbus-watch.c (dbus_watch_handle): change DBusWatch to work
	like DBusTimeout, so we don't need dbus_connection_handle_watch
	etc.
2003-04-18 04:18:57 +00:00
Havoc Pennington
88cd5da3c0 2003-04-17 Havoc Pennington <hp@redhat.com>
* dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd
	database usage so it all goes via the DBusUserDatabase cache.
2003-04-17 23:17:04 +00:00
Havoc Pennington
4219b08bfa 2003-04-17 Havoc Pennington <hp@redhat.com>
* dbus/dbus-mainloop.c (_dbus_loop_iterate): fix logic so that if
	there was an OOM watch we skipped, we always return TRUE so we
	iterate again to have a look at it again. Fixes test suite hang.
	Code rearrangement also lets us lose some memset and only iterate
	over callbacks once.

	* bus/driver.c (bus_driver_handle_message): sense of test for
	reply was backward
2003-04-17 20:25:33 +00:00
Havoc Pennington
dac0a1f893 2003-04-16 Havoc Pennington <hp@pobox.com>
* doc/dbus-specification.sgml: make spec say serials are unsigned

	* dbus/dbus-message.h: change message serials to unsigned

	* dbus/dbus-connection.c: adapt to message serials being unsigned
2003-04-17 04:25:45 +00:00
Havoc Pennington
7c022a80c9 2003-04-15 Havoc Pennington <hp@pobox.com>
* bus/bus.c: create and keep around a shared DBusUserDatabase
	object.

	* bus/connection.c (bus_connection_get_groups): don't cache
	groups for user in the connection object, since user database
	object now does that.
2003-04-17 00:46:36 +00:00
Havoc Pennington
4b45f17965 2003-04-16 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message.c (_dbus_message_add_size_counter): keep a
	list of size counters
	(_dbus_message_loader_putback_message_link): put back a popped link

	* dbus/dbus-connection.c
	(dbus_connection_set_max_live_messages_size): rename
	max_received_size
	(dbus_connection_get_outgoing_size): get size of outgoing
	queue
	(_dbus_connection_set_connection_counter): remove this cruft
2003-04-16 23:01:33 +00:00
Havoc Pennington
fe1cb3a9a1 2003-04-14 Havoc Pennington <hp@redhat.com>
* dbus/dbus-userdb.c: user database abstraction, mostly to get
	caching, but at some point we might want to be able to use a
	different database.

	* bus/dispatch.c (bus_dispatch_sha1_test): add a test that uses
	SHA1 conf file to test the sha1 auth mechanism, since the regular
	test always uses EXTERNAL when available.

	* configure.in,
	test/data/valid-config-files/debug-allow-all-sha1.conf.in:
	add conf file that requires use of sha1 auth
2003-04-14 23:52:40 +00:00
Havoc Pennington
7c434a849a 2003-04-13 Havoc Pennington <hp@pobox.com>
* tools/dbus-send.c, tools/dbus-monitor.c: two utility programs
	from Philip Blundell to send messages and monitor them.
2003-04-14 03:25:19 +00:00
Havoc Pennington
777707ed8d 2003-04-13 Havoc Pennington <hp@pobox.com>
* dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting
	callbacks

	* test/data/valid-config-files/debug-allow-all.conf.in: allow all
	users

	* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
	fix to only recover unused bytes if we're already authenticated
	(_dbus_transport_get_is_authenticated): fix to still mark us
	authenticated if there are unused bytes.

	* bus/dispatch.c: implement security policy checking

	* bus/connection.c (bus_transaction_send_from_driver): new

	* bus/bus.c (bus_context_check_security_policy): new

	* bus/dispatch.c (send_service_nonexistent_error): delete this,
	now we just set the DBusError and it gets converted to an error
	reply.

	* bus/connection.c (allow_user_function): enable code using actual
	data from the config file

	* bus/policy.c (list_allows_user): handle wildcard rules for
	user/group connection perms
2003-04-14 02:29:21 +00:00
Havoc Pennington
8aabca8dd2 2003-04-13 Havoc Pennington <hp@pobox.com>
* bus/config-parser.c: Load up the BusPolicy and BusPolicyRules

	* dbus/dbus-sysdeps.c (_dbus_get_user_id): new function

	* bus/policy.c (bus_policy_append_mandatory_rule)
	(bus_policy_append_default_rule, bus_policy_append_user_rule)
	(bus_policy_append_group_rule): new functions
2003-04-13 08:33:10 +00:00
Havoc Pennington
b09b7ca33c 2003-04-12 Havoc Pennington <hp@pobox.com>
* bus/config-parser.c (bus_config_parser_new): fix a memleak

	* dbus/dbus-sysdeps.c: change DBusCredentials to use longs for
	the pid/gid/uid, just for paranoia.

	* test/break-loader.c (randomly_do_n_things): find a byte
	containing a type code, and randomly change it to a different
	type code.
2003-04-13 00:10:53 +00:00
Havoc Pennington
bc983ecf15 2003-04-12 Havoc Pennington <hp@pobox.com>
* bus/policy.h: change BusPolicy to be the thing from the config
	file, and rename old BusPolicy to BusClientPolicy

	* bus/bus.c, bus/connection.c, bus/config-parser.c: change to
	match change in how policy works

	* dbus/dbus-internals.h: mark assert_not_reached as
	__attribute((noreturn))__
2003-04-12 18:32:11 +00:00
Havoc Pennington
4b773b4a54 2003-04-11 Havoc Pennington <hp@redhat.com>
* configure.in: add another directory to look for qt in.
2003-04-11 21:21:21 +00:00
Havoc Pennington
f4692372ec 2003-04-11 Havoc Pennington <hp@redhat.com>
* AUTHORS: add Colin Walters
2003-04-11 20:31:10 +00:00
Havoc Pennington
e486b3a693 2003-04-11 Havoc Pennington <hp@redhat.com>
* NEWS: update

	* configure.in: 0.9
2003-04-11 20:25:34 +00:00
Havoc Pennington
a7ca4d94dc 2003-04-11 Havoc Pennington <hp@redhat.com>
* bus/messagebus.in: remove pid file when stopping the
	message bus, since the bus won't have privileges to remove it
	itself.
2003-04-11 20:20:05 +00:00
Havoc Pennington
fff4709be6 2003-04-11 Havoc Pennington <hp@redhat.com>
* bus/bus.c (bus_context_new): move credentials change after
	creating pidfile
2003-04-11 20:10:36 +00:00
Havoc Pennington
477507c4e9 add DBUS_TYPE_INT64 2003-04-11 16:18:24 +00:00