|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| ... |  | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * tools/dbus-send.c: Don't exit with an error code if --help was
	passed.  Default to using the session bus instead of the system
	one.
	* tools/dbus-launch.c: Ditto.
	* tools/dbus-monitor.c: Ditto.
	* tools/dbus-send.1: Update with new arguments.
	* tools/dbus-launch.c: Emit code to export variables.  New
	arguments -s and -c to specify shell syntax, and a bit of code to
	autodetect syntax.  Also, allow specifying a program to run.
	* tools/dbus-launch.1: Update with new arguments.
	* tools/dbus-send.1: Ditto.
	* tools/dbus-monitor.1: Ditto. | 
| | 
| 
| 
| 
| 
| 
| 
| | * bus/config-parser.c (merge_included): merge in policies from
	child configuration file.
	* bus/policy.c (bus_policy_merge): function to merge two policies
	together | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-connection.c: disable verbose lock spew
	* tools/dbus-send.c: add --print-reply command line option
	* tools/dbus-print-message.h (print_message): new util function
	shared by dbus-send and dbus-monitor
	* tools/dbus-monitor.c (handler_func): exit on disconnect
	* dbus/dbus-transport-unix.c (do_reading): if the transport is
	disconnected, don't try to use the read_watch
	* dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL
	so we can find this bug more easily | 
| | 
| 
| 
| 
| | * bus/policy.c (free_rule_list_func): avoid a crash when passed
	NULL as DBusHashTable is annoyingly likely to do. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | * tools/dbus-monitor.c: Add --session argument and usage()
	function.
	* tools/dbus-monitor.1: Update with new --session arg.
	* bus/Makefile.am (install-data-hook): Create
	$(libdir)/dbus-1.0/services so that the session bus is happy. | 
| | 
| 
| 
| 
| | * dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
	on non-x86. ifdef's are evil. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * configure.in: 0.11
	* NEWS: update
	* bus/Makefile.am (initddir): apparently we are supposed to put
	init scripts in /etc/rc.d/init.d not /etc/init.d
	* bus/Makefile.am: remove the "you must --enable-tests to make
	check" as it broke distcheck
	* bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * configure.in:
	* bus/activation.c: (bus_activation_service_created),
	(bus_activation_activate_service):
	* bus/driver.c: (bus_driver_send_service_deleted),
	(bus_driver_send_service_created), (bus_driver_send_service_lost),
	(bus_driver_send_service_acquired),
	(bus_driver_send_welcome_message),
	(bus_driver_handle_list_services):
	* bus/session.conf.in:
	* dbus/dbus-bus.c: (dbus_bus_acquire_service),
	(dbus_bus_service_exists), (dbus_bus_activate_service):
	* dbus/dbus-bus.h:
	Add some convenience API which lets you activate a service, and did a
	bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args()
	and dbus_message_get_args() | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid
	calling _dbus_marshal_validate_arg() for every byte in a byte
	array, etc.
	* dbus/dbus-message-handler.c: use atomic reference counting to
	reduce number of locks slightly; the global lock in here sucks
	* dbus/dbus-connection.c
	(_dbus_connection_update_dispatch_status_and_unlock): variant of
	update_dispatch_status that can be called with lock held; then use
	in a couple places to reduce locking/unlocking
	(dbus_connection_send): hold the lock over the whole function
	instead of acquiring it twice.
	* dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM
	* bus/connection.c (bus_connections_setup_connection): fix access
	to already-freed memory.
	* dbus/dbus-connection.c: keep a little cache of linked list
	nodes, to avoid using the global linked list alloc lock in the
	normal send-message case. Instead we just use the connection lock
	that we already have to take.
	* dbus/dbus-list.c (_dbus_list_find_last): new function
	* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec):
	change to use a struct for the atomic type; fix docs,
	they return value before increment, not after increment.
	* dbus/dbus-string.c (_dbus_string_append_4_aligned)
	(_dbus_string_append_8_aligned): new functions to try to
	microoptimize this operation.
	(reallocate_for_length): break this out of set_length(), to
	improve profile info, and also so we can consider inlining the
	set_length() part.
	* dbus/dbus-message.c (dbus_message_new_empty_header): init data
	strings with some preallocation, cuts down on our calls to realloc
	a fair bit. Though if we can get the "move entire string to empty
	string" optimization below to kick in here, it would be better.
	* dbus/dbus-string.c (_dbus_string_move): just call
	_dbus_string_move_len
	(_dbus_string_move_len): add a special case for moving
	an entire string into an empty string; we can just
	swap the string data instead of doing any reallocs.
	(_dbus_string_init_preallocated): new function | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | Write a "test-profile" that does echo client-server with threads;
	profile reveals lock contention, memcpy/realloc of buffers, and
	UTF-8 validation as hot spots. 20% of lock contention eliminated
	with dbus_atomic_inc/dec implementation on x86.  Much remaining
	contention is global mempool locks for GList and DBusList.
	* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
	x86 implementation
	* dbus/dbus-connection.c (struct DBusConnection): use
	dbus_atomic_t for the reference count
	* dbus/dbus-message.c (struct DBusMessage): declare
	dbus_atomic_t values as volatile
	* configure.in: code to detect ability to use atomic integer
	operations in assembly, from GLib patch
	* dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
	time, tired of it being wrong in threads and forked processes
	* glib/test-profile.c: a little program to bounce messages back
	and forth between threads and eat CPU
	* dbus/dbus-connection.c: add debug spew macros for debugging
	thread locks; include config.h at top; fix deadlock in
	dbus_connection_flush() | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov
	data from getting written, and there wasn't a good reason to
	use _exit really.
	* test/decode-gcov.c (mark_inside_dbus_build_tests): don't count
	dbus_verbose lines in test coverage
	(main): add list of functions sorted by # of untested blocks
	to the coverage report
	* dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS
	* dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage
	* dbus/dbus-message-handler.c (_dbus_message_handler_test):
	extend test coverage
	* test/data/auth/cancel.auth-script: test canceling an
	authentication
	* dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they
	aren't used. in CVS history if we end up needing them. | 
| | |  | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-message-handler.c (_dbus_message_handler_test): add
	unit test
	* dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this
	function, which assumed length was in # of strings, not bytes
	* dbus/dbus-message.c (_dbus_message_test): add tests for some
	missing coverage
	* dbus/dbus-connection.c
	(_dbus_connection_queue_received_message): disable function for
	now, we are only using it in test mode
	* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
	remove a mistaken FIXME | 
| | 
| 
| 
| 
| | * dbus/dbus-connection.c (dbus_connection_preallocate_send):
	unlock mutex on successful return, patch from Anders Gustafsson | 
| | 
| 
| 
| 
| | * dbus-glib-1.pc.in (Requires): fix dependencies, from
	Anders Gustafsson | 
| | 
| 
| 
| 
| 
| 
| | * tools/dbus-launch.c: implement
	* bus/main.c (main), bus/bus.c (bus_context_new):
	implement --print-pid and --fork | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| | * 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 | 
| | 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| | * tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1:
	add some man pages | 
| | 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| | * bus/system.conf.in: allow send/receive to/from message bus
	service | 
| | 
| 
| 
| 
| | * configure.in: print a note when building with unit tests and
	without assertions | 
| | 
| 
| 
| 
| | * Makefile.am: add a check-local that complains if you didn't
	configure with --enable-tests | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | * 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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 | 
| | 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| 
| | * 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | 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 | 
| | 
| 
| 
| 
| | * dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug
	where we used >= 0 instead of != DBUS_UID_UNSET. | 
| | 
| 
| 
| 
| | * glib/dbus-gmain.c (remove_watch): fix for a crash when watches
	were toggled without add/remove, fix from Anders Gustafsson | 
| | 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | |  | 
| | 
| 
| 
| 
| 
| 
| | * dbus/dbus-message.c (dbus_message_name_is): rename
	(dbus_message_service_is): rename
	(dbus_message_sender_is): rename
	(dbus_message_get_service): rename | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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(). | 
| | 
| 
| 
| 
| | * doc/dbus-specification.sgml: document the restrictions on
	message and service names | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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. | 
| | 
| 
| 
| 
| | * dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd
	database usage so it all goes via the DBusUserDatabase cache. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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 | 
| | 
| 
| 
| 
| 
| 
| 
| | * 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 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | * 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. |