| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* configure.in: 0.13
	* doc/Makefile.am (dbus-test-plan.html): accept nonexistence of
	stylesheet-images for benefit of Debian
	Change back to using filesystem-linked sockets for the system
	bus, so only root can create the default system bus address.
	* bus/system.conf.in: change to use
	DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
	* dbus/Makefile.am (INCLUDES): remove DBUS_SYSTEM_BUS_PATH define
	from here.
	* configure.in: define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
	here, and AC_DEFINE DBUS_SYSTEM_PATH
 | 
| | 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-bus.c (init_connections_unlocked): fix default system
	bus address to be abstract if we have abstract sockets
	* NEWS: update
 | 
| | 
| 
| 
| 
|  | 
* dbus/dbus-message.c (dbus_message_iter_get_named):
	fix from Andy Hanton to remove broken "+1"
 | 
| | 
| 
| 
| 
|  | 
* doc/dbus-specification.sgml: clarify the format of a type code,
	change suggested by Jim Blandy
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
	the allocated block.
	(_dbus_memory_test): New function.
	* dbus/dbus-test.h: Add _dbus_memory_test ().
	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
 | 
| | 
| 
| 
| 
| 
|  | 
* dbus/dbus-message.c (decode_header_data): Use %.4s instead
	of %c%c%c%c.
	(dbus_message_new): Remove obsolete @todo.
 | 
| | 
| 
| 
| 
|  | 
* dbus/dbus-marshal.c (_dbus_marshal_set_int64)
	(_dbus_marshal_set_uint64): Fix comment.
 | 
| | 
| 
| 
| 
|  | 
* dbus/dbus-message.c (append_int_field, append_uint_field): Don't
	hardcode FIELD_REPLY_SERIAL.
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
	(_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p
	* configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
	and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
 | 
| | 
| 
| 
| 
| 
| 
|  | 
* mono/Connection.cs: add more bindings
	* dbus/dbus-threads.c (dbus_threads_init): allow calling this
	more than once.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* mono/Message.cs: implement Message.Wrap() that ensures we only
	have a single C# wrapper per DBusMessage, assuming it works which
	it probably doesn't.
	* dbus/dbus-message.c (dbus_message_allocate_data_slot): new
	(dbus_message_free_data_slot): new
	(dbus_message_set_data): new
	(dbus_message_get_data): new
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref)
	(_dbus_data_slot_allocator_alloc): rework these to keep a
	reference count on each slot and automatically manage a global
	slot ID variable passed in by address
	* bus/bus.c: convert to new dataslot API
	* dbus/dbus-bus.c: convert to new dataslot API
	* dbus/dbus-connection.c: convert to new dataslot API
	* dbus/dbus-server.c: convert to new dataslot API
	* glib/dbus-gmain.c: ditto
	* bus/test.c: ditto
	* bus/connection.c: ditto
 | 
| | 
| 
| 
| 
| 
|  | 
* dbus/dbus-transport-unix.c (unix_handle_watch): Check
	for hangup and error after checking read so we won't discard
	pending data if both hangup and read are set.
 | 
| |  | 
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* configure.in: Check for socklen_t.
	* dbus/dbus-sysdeps.c: Define socklen_t if it's not defined.
	* test/test-segfault.c: Add #include <sys/time.h>
	* tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since
	dbus-launch needs it.
 | 
| | 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use
	SUN_LEN, it breaks abstract socket usage
	* dbus/dbus-internals.c (_dbus_verbose_real): only print PID at
	starts of lines.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-server.c (dbus_server_listen): allow abstract sockets
	using unix:abstract=/foo, and when listening in a tmpdir
	i.e. unix:tmpdir=/tmp, always use abstract sockets if we can.
	* dbus/dbus-transport.c (_dbus_transport_open): support
	unix:abstract=/foo
	* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
	support abstract sockets
	* dbus/dbus-transport-unix.c
	(_dbus_transport_new_for_domain_socket): support abstract sockets
	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract"
	toggle as an argument, implement abstract namespace support
	(_dbus_listen_unix_socket): ditto
	* configure.in: add --enable-abstract-sockets and implement
	a configure check for autodetection of the right value.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* 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
 | 
| | 
| 
| 
| 
|  | 
* 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/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
 | 
| | 
| 
| 
| 
| 
| 
|  | 
* 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.
 | 
| | 
| 
| 
| 
|  | 
* 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: 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
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* 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
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* 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
 |