|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| ... |  | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | Mega-patch that gets the message bus daemon initially handling
	out-of-memory. Work still needed. Also lots of random
	moving stuff to DBusError instead of ResultCode.
	* dbus/dbus-list.c (_dbus_list_length_is_one): new function
	* dbus/dbus-connection.c
	(dbus_connection_send_with_reply_and_block): use DBusError
	* dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
	DBusResultCode
	* dbus/dbus-connection.c (dbus_connection_send): drop the result
	code here, as the only failure possible is OOM.
	* bus/connection.c (bus_connection_disconnect):
	rename bus_connection_disconnected as it's a notification only
	* bus/driver.c (bus_driver_handle_acquire_service): don't free
	"name" on get_args failure, should be done by get_args;
	don't disconnect client for bad args, just return an error.
	(bus_driver_handle_service_exists): ditto
	* bus/services.c (bus_services_list): NULL-terminate returned array
	* bus/driver.c (bus_driver_send_service_lost)
	(bus_driver_send_service_acquired): send messages from driver to a
	specific client to the client's unique name, not to the broadcast
	service.
	* dbus/dbus-message.c (decode_header_data): reject messages that
	contain no name field
	(_dbus_message_get_client_serial): rename to
	dbus_message_get_serial and make public
	(_dbus_message_set_serial): rename from set_client_serial
	(_dbus_message_set_reply_serial): make public
	(_dbus_message_get_reply_serial): make public
	* bus/connection.c (bus_connection_foreach): allow stopping
	iteration by returning FALSE from foreach function.
	* dbus/dbus-connection.c (dbus_connection_send_preallocated)
	(dbus_connection_free_preallocated_send)
	(dbus_connection_preallocate_send): new API for sending a message
	without possibility of malloc failure.
	(dbus_connection_send_message): rename to just
	dbus_connection_send (and same for whole function family)
	* dbus/dbus-errors.c (dbus_error_free): make this reinit the error
	* dbus/dbus-sysdeps.c (_dbus_exit): new function
	* bus/activation.c: handle/return errors
	* dbus/dbus-errors.h: add more DBUS_ERROR #define
	* dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
	(_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
	(_dbus_result_from_errno): move to this file | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-marshal.c:
	(_dbus_marshal_set_string):
	Take a length argument so we can marshal the correct string
	length.
	(_dbus_marshal_dict), (_dbus_demarshal_dict),
	(_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
	(_dbus_marshal_test):
	* dbus/dbus-marshal.h:
	Add support for marshalling and demarshalling dicts.
	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
	Add support for TYPE DICT.
	* dbus/dbus-message.c: (set_string_field):
	Adjust header padding.
	(dbus_message_append_args_valist), (dbus_message_append_dict),
	(dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
	(dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
	(check_message_handling), (check_have_valid_message):
	* dbus/dbus-message.h:
	Add functions for setting and getting dicts.
	* dbus/dbus-protocol.h:
	Add DBUS_TYPE_DICT.
	* dbus/dbus.h:
	Add dbus-dict.h
	* doc/dbus-specification.sgml:
	Add information about how dicts are marshalled.
	* test/data/invalid-messages/dict-with-nil-value.message:
	* test/data/invalid-messages/too-short-dict.message:
	* test/data/valid-messages/dict-simple.message:
	* test/data/valid-messages/dict.message:
	Add sample messages containing dicts. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * test/data/auth/*: adapt to changes
	* dbus/dbus-auth-script.c (_dbus_auth_script_run): add
	USERID_BASE64 and change USERNAME_BASE64 to put in username not
	userid
	* dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
	more stuff from being in a context name, to make the protocol
	simpler to deal with
	* dbus/dbus-errors.c (dbus_error_has_name): new function
	(dbus_error_is_set): new function
	* dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
	with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
	* dbus/dbus-connection.c (dbus_connection_flush): also read
	messages during a flush operation
	* dbus/Makefile.am: remove dbus-md5 since it isn't currently used. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * test/break-loader.c (randomly_set_extreme_ints): add test that
	sets really huge and small integers
	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
	that length of boolean array fits in the string, and that
	string has room for boolean value in single-bool case.
	* dbus/dbus-message-builder.c (_dbus_message_data_load): add
	optional value to "ALIGN" command which is what to fill the
	alignment with.
	* test/data/valid-messages/no-padding.message: add regression
	test for the message padding problem | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
	* dbus/dbus-message.c: (dbus_message_append_boolean),
	(dbus_message_append_boolean_array),
	(dbus_message_get_args_valist), (_dbus_message_test):
	* dbus/dbus-message.h:
	* doc/dbus-specification.sgml:
	Various fixes as pointed out by Havoc.
	* test/data/invalid-messages/bad-boolean-array.message:
	* test/data/invalid-messages/bad-boolean.message:
	Add invalid boolean value test cases. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-internals.c: (_dbus_type_to_string):
	* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
	(_dbus_marshal_validate_arg):
	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
	* dbus/dbus-message.c: (dbus_message_append_args_valist),
	(dbus_message_append_boolean), (dbus_message_append_boolean_array),
	(dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
	(dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
	(dbus_message_iter_get_double),
	(dbus_message_iter_get_boolean_array), (message_iter_test):
	* dbus/dbus-message.h:
	* dbus/dbus-protocol.h:
	* doc/dbus-specification.sgml:
	* test/data/valid-messages/lots-of-arguments.message:
	Add support for boolean and boolean array types. | 
| | 
| 
| 
| | * test/Makefile.am (dist-hook): fix dist for test/data/sha-1 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-message.c (dbus_message_iter_get_string_array):
	(dbus_message_iter_get_byte_array): Fix up doxygen warnings
	* dbus/dbus-sha.c: add implementation of SHA-1 algorithm
	* dbus/test/data/sha-1: add US government test suite for SHA-1 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
	Make string arrays NULL-terminated.
	* dbus/dbus-memory.c: (dbus_free_string_array):
	* dbus/dbus-memory.h:
	New function for freeing NULL-terminated string arrays.
	* dbus/dbus-message-builder.c: (append_quoted_string),
	(_dbus_message_data_load):
	Add support for array types.
	* dbus/dbus-message.c: (check_message_handling):
	Add more types as test cases.
	* dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
	(_dbus_string_parse_double):
	Add the start offset to the end offset.
	* test/data/valid-messages/lots-of-arguments.message:
	New test message with lots of arguments. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * configure.in:
	Add check for nonposix getpwnam_r
	* dbus/dbus-mempool.c: (_dbus_mem_pool_new):
	Align the pool element size to a sizeof (void *) boundary.
	* dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
	(_dbus_listen_unix_socket), (_dbus_credentials_from_username):
	General Solaris fixes.
	* test/data/valid-messages/simplest-manual.message:
	Explicitly state that we want little-endian packing. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
	credentials from our currently running process.
	(get_word): Fix a buglet where we were copying the entire length
	instead of relative to our position.
	* dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
	keys on the stack... it's 640k of data.
	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
	read the credentials byte off the socket, even if we don't have
	SO_PEERCRED.
	(_dbus_poll): Implement poll() using select() for systems which
	don't have it.
	* glib/test-dbus-glib.c (main): Print out an error if no
	parameters are given.
	* test/data/auth/fallback.auth-script: Added.  Tests that a client
	can fallback to a secondary auth mechanism if the first fails. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * bus/activation.c: (bus_activation_init), (child_setup),
	(bus_activation_activate_service):
	* bus/activation.h:
	* bus/main.c: (main):
	Set DBUS_ADDRESS environment variable.
	* dbus/dbus-errors.c: (dbus_set_error):
	Don't use va_copy since that's a C99 feature.
	* dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
	(_dbus_spawn_async):
	* dbus/dbus-sysdeps.h:
	Add child_setup_func to _dbus_spawn_async.
	* doc/dbus-specification.sgml:
	Update specification.
	* test/spawn-test.c: (setup_func), (main):
	Fix test. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | * doc/.cvsignore:
	* doc/Makefile.am:
	* doc/dbus-test-plan.sgml:
	Add test plan document.
	* test/Makefile.am:
	Fix distcheck. | 
| | |  | 
| | |  | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * bus/dispatch.c: (send_one_message):
	Only send broadcast messages to registered connections.
	* dbus/dbus-message.c: (dbus_message_name_is):
	* dbus/dbus-message.h:
	New convenience function.
	* dbus/dbus-transport-debug.c: (do_reading):
	Only dispatch one message per run.
	* test/Makefile.am:
	* test/bus-test.c: (new_connection_callback), (die),
	(test_hello_client1_handler), (test_hello_client2_handler),
	(test_hello_replies), (main):
	* test/bus-test-loop.[ch]:
	Add these. | 
| | |  | 
| | 
| 
| 
| 
| 
| 
| | * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
	allow people to avoid setting SIGPIPE to SIG_IGN
	(_dbus_connection_new_for_transport): disable SIGPIPE unless
	we've been asked not to | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-errors.c: (dbus_set_error):
	* dbus/dbus-errors.h:
	Add a few errors and make dbus_set_error void.
	* dbus/dbus-sysdeps.c:
	(_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
	(write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
	* dbus/dbus-sysdeps.h:
	Add _dbus_spawn_async.
	* test/spawn-test.c: (main):
	Test for _dbus_spawn_async. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-threads.c:
	* dbus/dbus-threads.h:
	Add condvars. Remove static mutext from API.
	Implement static mutexes by initializing them from threads_init.
	* glib/dbus-gthread.c:
	* qt/dbus-qthread.cpp:
	Update with the thread api changes.
	* dbus/dbus-list.c:
	* dbus/dbus-list.h:
	Turn StaticMutex into normal mutex + init function.
	Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
	_dbus_list_append_link, _dbus_list_prepend_link
	* dbus/dbus-sysdeps.c:
	* dbus/dbus-sysdeps.h:
	New type dbus_atomic_t, and new functions _dbus_atomic_inc,
	_dbus_atomic_dec. Only slow fallback implementation at the moment.
	* dbus/dbus-protocol.h:
	Add DBUS_MESSAGE_LOCAL_DISCONNECT define
	* dbus/dbus-message.c:
	Make ref/unref atomic.
	Fix some docs.
	* dbus/dbus-connection-internal.h:
	* dbus/dbus-connection.c:
	* dbus/dbus-connection.h:
	Make threadsafe.
	Change _peek to _borrow,_return & _steal_borrowed.
	Change disconnect callback to event.
	Make dbus_connection_dispatch_messages reentrant.
	* dbus/dbus-transport.c:
	Don't ref the connection on calls to the transport
	implementation.
	* dbus/dbus-message-handler.c:
	Make threadsafe.
	* glib/dbus-gmain.c:
	Don't use peek_message anymore
	* test/Makefile.am:
	* test/debug-thread.c:
	* test/debug-thread.h:
	Simple thread implementation that asserts() on deadlocks in
	single-threaded code.
	* test/bus-test.c:
	(main) Call debug_threads_init.
	* test/watch.c:
	Use disconnect message instead of disconnect callback.
	* bus/connection.c:
	* bus/connection.h:
	Don't call dbus_connection_set_disconnect_function. Instead export
	bus_connection_disconnect.
	* bus/dispatch.c:
	Call bus_connection_disconnect when we get a disconnected message. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | * bus/driver.c: (bus_driver_handle_hello):
	* bus/driver.h:
	* bus/services.c: (bus_service_lookup):
	Reorder message sending so we get a more sane order.
	* test/bus-test.c: (message_handler):
	Fix tyop. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * 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_handle_hello),
	(bus_driver_send_welcome_message),
	(bus_driver_handle_list_services),
	(bus_driver_handle_acquire_service),
	(bus_driver_handle_service_exists):
	* dbus/dbus-bus.c: (dbus_bus_register_client),
	(dbus_bus_acquire_service), (dbus_bus_service_exists):
	* dbus/dbus-errors.c: (dbus_result_to_string):
	* dbus/dbus-errors.h:
	* dbus/dbus-message.c: (dbus_message_append_args),
	(dbus_message_append_args_valist), (dbus_message_get_args),
	(dbus_message_get_args_valist), (dbus_message_get_args_iter),
	(dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
	(dbus_message_iter_get_byte_array),
	(dbus_message_iter_get_string_array), (message_iter_test),
	(check_message_handling), (_dbus_message_test):
	* dbus/dbus-message.h:
	* test/bus-test.c: (main):
	Change fields to arguments in messages, so that they won't be
	confused with header fields.
	* glib/test-dbus-glib.c: (main):
	Remove append_fields from hello message. | 
| | 
| 
| 
| 
| 
| 
| | * dbus/dbus-message-builder.c: (_dbus_message_data_load):
	* dbus/dbus-message.c: (process_test_subdir):
	* test/break-loader.c: (find_breaks_based_on):
	Plug some memory leaks. | 
| | 
| 
| 
| 
| 
| 
| 
| | * test/data/valid-messages/standard-acquire-service.message:
	* test/data/valid-messages/standard-hello.message:
	* test/data/valid-messages/standard-list-services.message:
	* test/data/valid-messages/standard-service-exists.message:
	Add some standard messages. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-auth.c (handle_server_data_external_mech): args to
	dbus_credentials_match were backward
	* dbus/dbus-auth-script.c (_dbus_auth_script_run): support
	NO_CREDENTIALS and ROOT_CREDENTIALS
	* dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
	into here. Never process more commands after we've reached an
	end state; store further data as unused bytes.
	* test/data/auth/*: add more auth tests
	* dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
	command to match exact string and EXPECT_UNUSED to match unused
	bytes
	* test/Makefile.am (dist-hook): fix to dist all the test stuff | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
	\r off of popped lines
	* dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
	scripts
	* dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
	SEND, append \r\n | 
| | |  | 
| | 
| 
| 
| 
| 
| 
| 
| | * dbus/Makefile.am:
	* dbus/dbus-break-loader.c:
	* test/Makefile.am:
	* test/break-loader.c:
	Move dbus-break-loader to test/ and rename it to break-loader. | 
| | |  | 
| | 
| 
| 
| 
| 
| 
| 
| | * test/Makefile.am:
	* test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
	(message_handler), (new_connection_callback), (loop_quit),
	(loop_run), (main):
	Add bus test. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-address.c: (dbus_address_entry_free):
	Free key and value lists.
	* dbus/dbus-internals.c: (_dbus_type_to_string):
	Add the types we didn't have.
	* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
	(_dbus_marshal_validate_arg):
	Add NIL types.
	* dbus/dbus-message.c: (dbus_message_set_sender):
	Remove todo about being able to set sender to NULL.
	(dbus_message_set_is_error_reply),
	(dbus_message_get_is_error_reply):
	* dbus/dbus-message.h:
	New functions.
	* dbus/dbus-protocol.h:
	Add error reply flag.
	* test/data/valid-messages/opposite-endian.message:
	Add NIL type to test. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-message.c: use message->byte_order instead of
	DBUS_COMPILER_BYTE_ORDER throughout.
	(dbus_message_create_header): pad header to align the
	start of the body of the message to 8-byte boundary
	* dbus/dbus-marshal.h: make all the demarshalers take const
	DBusString arguments.
	* dbus/dbus-message.c (_dbus_message_loader_return_buffer):
	validate message args here, so we don't have to do slow validation
	later, and so we catch bad messages as they are incoming. Also add
	better checks on header_len and body_len. Also fill in
	message->byte_order
	* dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
	implemented properly)
	(_dbus_string_validate_nul): new function to check all-nul
	* dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
	get_arg_end_pos and remove all validation
	(_dbus_marshal_validate_arg): actually do validation here. | 
| | 
| 
| 
| 
| 
| 
| | * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
	the reverse order from how I had it
	(_dbus_string_base64_encode): reverse encoding order. I was
	basically byteswapping everything during encoding. | 
| | 
| 
| 
| 
| | * dbus/dbus-message.c (check_message_handling): function to check
	on the loaded message, iterates over it etc. | 
| | 
| 
| 
| 
| 
| | * test/Makefile.am (dist-hook): fix make distdir
	* dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-mempool.c (time_for_size): replace printf with
	_dbus_verbose
	* dbus/dbus-message-builder.c (_dbus_message_data_load): allow
	empty lines; fix the SAVE_LENGTH stuff to be
	START_LENGTH/END_LENGTH so it actually works; couple other
	bugfixes
	* test/Makefile.am (dist-hook): add dist-hook for .message files
	* dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
	can be constant or locked.
	(_dbus_string_free): allow freeing a const string as
	documented/intended
	* dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
	* dbus/dbus-test-main.c (main): take an argument which is the
	directory containing test data
	* dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
	argument to this and load all the messages in test/data/
	checking that they can be loaded or not loaded as appropriate. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-message-builder.c: implement, completely untested.
	* test/data/*: add data to be used in testing.
	".message" files are our simple loadable text format.
	".message-raw" will be binary dumps of messages.
	* dbus/dbus-string.c (_dbus_string_starts_with_c_str): new | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-connection.c: (dbus_connection_send_message):
	Add a new client_serial parameter.
	(dbus_connection_send_message_with_reply):
	Remove a @todo since we've implemented the blocking function.
	(dbus_connection_send_message_with_reply_and_block):
	New function that sends a message and waits for a reply and
	then returns the reply.
	* dbus/dbus-connection.h:
	Add new functions.
	* dbus/dbus-errors.c: (dbus_result_to_string):
	* dbus/dbus-errors.h:
	Add new DBUS_RESULT.
	* dbus/dbus-message-internal.h:
	* dbus/dbus-message.c: (_dbus_message_get_reply_serial),
	(_dbus_message_set_sender), (dbus_message_write_header),
	(dbus_message_new_reply), (decode_header_data),
	(_dbus_message_loader_return_buffer), (_dbus_message_test):
	* dbus/dbus-message.h:
	Add new functions that set the reply serial and sender.
	Also marshal and demarshal them correctly and add test.
	* dbus/dbus-protocol.h:
	Add new DBUS_MESSAGE_TYPE_SENDER.
	* glib/dbus-glib.h:
	* glib/dbus-gmain.c: (watch_callback), (free_callback_data),
	(add_watch), (remove_watch), (add_timeout), (remove_timeout),
	(dbus_connection_hookup_with_g_main):
	* glib/test-dbus-glib.c: (main):
	Rewrite to use GIOChannel and remove the GSource crack.
	* test/echo-client.c: (main):
	* test/watch.c: (check_messages):
	Update for changed APIs | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-transport-unix.c (unix_do_iteration): only do the
	reading/writing if read_watch != NULL or write_watch != NULL.
	* dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
	the message loader code to actually load message->header and
	message->body into the newly-created message.
	* dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
	in OOM case
	* dbus/dbus-connection.c (dbus_connection_set_max_message_size)
	(dbus_connection_get_max_message_size)
	(dbus_connection_set_max_live_messages_size)
	(dbus_connection_get_max_live_messages_size): implement some
	resource limitation functions
	* dbus/dbus-resources.c: new file implementing some of the
	resource limits stuff
	* dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
	missing docs, add @todo to handle OOM etc.
	* dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
	docs | 
| | 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-connection.c (dbus_connection_unref): disconnect the
	connection if it hasn't been already.
	* dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
	replace with DisconnectFunction. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | * configure.in: default --enable-tests to $USE_MAINTAINER_MODE
	* dbus/Makefile.am: fix it up so dubs-test-main.c is included in
	the distribution
	* test/Makefile.am: don't use special variable "TESTS" for echo-*
	since we don't want to use those in make check | 
| | 
| 
| 
| 
| | * test/Makefile.am: fix so that test source code ends up in the
	distribution on make distcheck | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-connection-internal.h:
	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
	(_dbus_connection_get_next_client_serial),
	(dbus_connection_send_message):
	* dbus/dbus-internals.h:
	* dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
	(dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
	(_dbus_marshal_uint32), (_dbus_demarshal_double),
	(_dbus_demarshal_int32), (_dbus_demarshal_uint32),
	(_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
	(_dbus_verbose_bytes), (_dbus_marshal_test):
	* dbus/dbus-marshal.h:
	* dbus/dbus-message-internal.h:
	* dbus/dbus-message.c: (_dbus_message_set_client_serial),
	(dbus_message_write_header), (_dbus_message_lock),
	(dbus_message_new), (dbus_message_ref), (dbus_message_unref),
	(dbus_message_get_name), (dbus_message_append_int32),
	(dbus_message_append_uint32), (dbus_message_append_double),
	(dbus_message_append_string), (dbus_message_append_byte_array),
	(dbus_message_get_fields_iter), (dbus_message_iter_ref),
	(dbus_message_iter_unref), (dbus_message_iter_has_next),
	(dbus_message_iter_next), (dbus_message_iter_get_field_type),
	(dbus_message_iter_get_string), (dbus_message_iter_get_int32),
	(dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
	(decode_header_data), (_dbus_message_loader_return_buffer),
	(message_iter_test), (_dbus_message_test):
	* dbus/dbus-message.h:
	* dbus/dbus-protocol.h:
	* dbus/dbus-test.c: (main):
	* dbus/dbus-test.h:
	* glib/test-dbus-glib.c: (message_handler), (main):
	* test/echo-client.c: (main):
	* test/watch.c: (check_messages):
	Make messages sendable and receivable for real. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * test/watch.c (error_handler): make it safe if the error handler
	is called multiple times (if we s/error handler/disconnect
	handler/ we should just guarantee it's called only once)
	* dbus/dbus-transport.c (_dbus_transport_disconnect): call the
	error handler on disconnect (it's quite possible we should
	just change the error handler to a "disconnect handler," I'm
	not sure we have any other meaningful errors)
	* configure.in: check for getpwnam_r
	* dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
	dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
	mechanism as in SASL spec, using socket credentials
	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
	(_dbus_send_credentials_unix_socket): new function
	* dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
	dbus_accept()
	(_dbus_write): only check errno if <0 returned
	(_dbus_write_two): ditto | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
	WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
	doh
	* dbus/dbus-marshal.c: Add macros to do int swapping in-place and
	avoid swap_bytes() overhead (ignoring possible assembly stuff for
	now). Main point is because I wanted unpack_uint32 to implement
	_dbus_verbose_bytes
	(_dbus_verbose_bytes): new function
	* dbus/dbus-string.c (_dbus_string_validate_ascii): new function
	* dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
	mechanism to handle a corrupt message stream
	(_dbus_message_loader_new): fix preallocation to only prealloc,
	not prelengthen
	* dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
	(_dbus_string_test): enhance tests for copy/move and fix the
	functions
	* dbus/dbus-transport-unix.c: Hold references in more places to
	avoid reentrancy problems
	* dbus/dbus-transport.c: ditto
	* dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
	leak reference count in no-message case
	* test/watch.c (do_mainloop): handle adding/removing watches
	during iteration over the watches. Also, ref the connection/server
	stored on a watch, so we don't try to mangle a destroyed one.
	* dbus/dbus-transport-unix.c (do_authentication): perform
	authentication
	* dbus/dbus-auth.c (get_state): add a state
	AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
	(_dbus_auth_get_unused_bytes): append the unused bytes
	to the passed in string, rather than prepend
	* dbus/dbus-transport.c (_dbus_transport_init_base): create
	the auth conversation DBusAuth
	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
	(_dbus_transport_new_for_domain_socket): when creating a
	transport, pass in whether it's a client-side or server-side
	transport so we know which DBusAuth to create | 
| | 
| 
| 
| | the preferred way to activate test compilation (DBUS_BUILD_TESTS) | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
	below new interfaces and include fewer system headers.
	* dbus/dbus-sysdeps.c (_dbus_read): new function
	(_dbus_write): new function
	(_dbus_write_two): new function
	(_dbus_connect_unix_socket): new function
	(_dbus_listen_unix_socket): new function
	* dbus/dbus-message-internal.h: change interfaces to use
	DBusString | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * test/echo-client.c, test/echo-server.c: cheesy test
	clients.
	* configure.in (AC_CHECK_FUNCS): check for writev
	* dbus/dbus-message.c (_dbus_message_get_network_data): new
	function
	* dbus/dbus-list.c (_dbus_list_foreach): new function
	* dbus/dbus-internals.c (_dbus_verbose): new function
	* dbus/dbus-server.c, dbus/dbus-server.h: public object
	representing a server that listens for connections.
	* dbus/.cvsignore: create
	* dbus/dbus-errors.h, dbus/dbus-errors.c:
	public API for reporting errors
	* dbus/dbus-connection.h, dbus/dbus-connection.c:
	public object representing a connection that
	sends/receives messages. (Same object used for
	both client and server.)
	* dbus/dbus-transport.h, dbus/dbus-transport.c:
	Basic abstraction for different kinds of stream
	that we might read/write messages from. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | * configure.in: pile on more warning flags if using gcc
	* Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
	to document static functions
	* configure.in: add summary to end of configure so it
	looks nice and attractive
	* dbus/dbus-hash.c: finish implementation and write unit
	tests and docs
	* configure.in: add --enable-tests to enable unit tests
	* dbus/dbus-test.c: test program to run unit tests
	for all files in dbus/*, initially runs a test for
	dbus-hash.c
	* dbus/dbus-internals.h: file to hold some internal utility stuff | 
|  |  |