| Commit message (Collapse) | Author | Age | Files | Lines | 
| | 
| 
| 
|  | 
* Fix a pile of Doxygen warnings and missing docs
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-transport.c (_dbus_transport_open): modify to delegate
	to _dbus_transport_open_platform_specific,
	_dbus_transport_open_socket,
	and _dbus_transport_open_debug_pipe
	* dbus/dbus-transport-protected.h: add _dbus_transport_open_platform_specific
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-server.c (dbus_server_listen): change how this works
	to be able to delegate to a set of handlers that can succeed,
	fail, or choose not to handle. Allows us to have
	dbus_server_listen_platform_specific.
	* dbus/dbus-server-socket.c (_dbus_server_new_for_tcp_socket):
	factor out the tcp socket stuff to be used on windows, leaving
	unix domain socket only in dbus-socket-unix.c
	* dbus/dbus-transport-socket.c
	(_dbus_transport_new_for_tcp_socket): factor out the tcp socket
	stuff to be used on windows, leaving unix domain socket only
	in dbus-transport-unix.c
	* dbus/dbus-connection.c (dbus_connection_get_unix_user): insert
	temporary hack to be sure this fails on windows
	(dbus_connection_get_unix_process_id): ditto
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-sysdeps-unix.h: small change to Peter's patch to make
	dbus-sysdeps-unix-util.c build, add unix-specific sysdeps header.
	* dbus/dbus-sysdeps.h, dbus-sysdeps-unix.c: patch from Peter
	Kümmel bug #8249 to make the sysdeps.h read/write/open/close
	functions specifically for sockets only, and move generic
	read/write/open/close into unix-specific code.
 | 
| | 
| 
| 
|  | 
Kimmo Hämäläinen <kimmo dot hamalainen at nokia dot com>)
 | 
| |  | 
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* doc/TODO: remove the "guid" item
	* test/glib/test-profile.c (no_bus_thread_func): use open_private
	(with_bus_thread_func): use open_private
	* dbus/dbus-connection.c (dbus_connection_open_private): new
	function that works like the old dbus_connection_open()
	(dbus_connection_open): now returns an existing connection if
	possible
	* dbus/dbus-server-unix.c (handle_new_client_fd_and_unlock): pass
	through the GUID to the transport
	* dbus/dbus-server.c (_dbus_server_init_base): keep around the
	GUID in hex-encoded form.
	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
	pass GUID argument in to the transport
	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): add
	guid argument
	* dbus/dbus-transport.c (_dbus_transport_init_base): add guid argument
	* dbus/dbus-auth.c (_dbus_auth_server_new): add guid argument
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-server.c, dbus/dbus-server-unix.c: change semantics so
	you must disconnect before unref, since locking and other things
	are screwed up otherwise. Fix assorted other locking stuff.
	* dbus/dbus-signature.c (dbus_signature_iter_get_element_type):
	fix compilation
	* dbus/dbus-threads-internal.h: move the mutex/condvar wrappers
	into a private header and don't export from the library
	* throughout - call _dbus_thread_stuff vs. dbus_thread_stuff
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
	fix a double-unlock
	* dbus/dbus-connection.c
	(_dbus_connection_detach_pending_call_unlocked): add this
        Initial semi-correct pass through to fix thread locking; there are
	still some issues with the condition variable paths I'm pretty
	sure
	* dbus/dbus-server.c: add a mutex on DBusServer and appropriate
	lock/unlock calls
	* dbus/dbus-connection.c (_dbus_connection_do_iteration_unlocked):
	rename to add _unlocked
	(struct DBusConnection): move "dispatch_acquired" and
	"io_path_acquired" to use only one bit each.
	(CONNECTION_LOCK, CONNECTION_UNLOCK): add checks with !DBUS_DISABLE_CHECKS
	(dbus_connection_set_watch_functions): hacky fix to reentrancy
	(_dbus_connection_add_watch, _dbus_connection_remove_watch)
	(_dbus_connection_toggle_watch, _dbus_connection_add_timeout)
	(_dbus_connection_remove_timeout)
	(_dbus_connection_toggle_timeout): drop lock when calling out to
	user functions; done in a hacky/bad way.
	(_dbus_connection_send_and_unlock): add a missing unlock
	(_dbus_connection_block_for_reply): add a missing unlock
	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
	drop lock in a hacky probably unsafe way to call out to user
	function
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* test/glib/test-dbus-glib.c (main): fix so this test doesn't fail
	(call dbus_g_proxy_add_signal)
	* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
	escape the hostname
	(_dbus_server_new_for_domain_socket): escape the path
	* dbus/dbus-address.c (dbus_address_escape_value): new
	(dbus_address_unescape_value): new
	(dbus_parse_address): unescape values
	* dbus/dbus-string.c (_dbus_string_append_byte_as_hex): new function
	* doc/dbus-specification.xml: explain how to escape values in
	addresses
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
The primary change here is to always write() once before adding
	the write watch, which gives us about a 10% performance increase.
	* dbus/dbus-transport-unix.c: a number of modifications to cope
	with removing messages_pending
	(check_write_watch): properly handle
	DBUS_AUTH_STATE_WAITING_FOR_MEMORY; adapt to removal of
	messages_pending stuff
	(check_read_watch): properly handle WAITING_FOR_MEMORY and
	AUTHENTICATED cases
	(unix_handle_watch): after writing, see if the write watch can be
	removed
	(unix_do_iteration): assert that write_watch/read_watch are
	non-NULL rather than testing that they aren't, since they
	aren't allowed to be NULL. check_write_watch() at the end so
	we add the watch if we did not finish writing (e.g. got EAGAIN)
	* dbus/dbus-transport-protected.h: remove messages_pending call,
	since it resulted in too much inefficient watch adding/removing;
	instead we now require that the transport user does an iteration
	after queueing outgoing messages, and after trying the first
	write() we add a write watch if we got EAGAIN or exceeded our
	max bytes to write per iteration setting
	* dbus/dbus-string.c (_dbus_string_validate_signature): add this
	function
	* dbus/dbus-server-unix.c (unix_finalize): the socket name was
	freed and then accessed, valgrind flagged this bug, fix it
	* dbus/dbus-message.c: fix several bugs where HEADER_FIELD_LAST was taken
	as the last valid field plus 1, where really it is equal to the
	last valid field. Corrects some message corruption issues.
	* dbus/dbus-mainloop.c: verbosity changes
	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): handle OOM
	instead of aborting in one of the test codepaths
	* dbus/dbus-internals.c (_dbus_verbose_real): fix a bug that
	caused not printing the pid ever again if a verbose was missing
	the newline at the end
	(_dbus_header_field_to_string): add HEADER_FIELD_SIGNATURE
	* dbus/dbus-connection.c: verbosity changes;
	(dbus_connection_has_messages_to_send): new function
	(_dbus_connection_message_sent): no longer call transport->messages_pending
	(_dbus_connection_send_preallocated_unlocked): do one iteration to
	try to write() immediately, so we can avoid the write watch. This
	is the core purpose of this patchset
	(_dbus_connection_get_dispatch_status_unlocked): if disconnected,
	dump the outgoing message queue, so nobody will get confused
	trying to send them or thinking stuff is pending to be sent
	* bus/test.c: verbosity changes
	* bus/driver.c: verbosity/assertion changes
	* bus/dispatch.c: a bunch of little tweaks to get it working again
	because this patchset changes when/where you need to block.
 | 
| | 
| 
| 
| 
|  | 
* COPYING: switch to Academic Free License version 2.1 instead of
	2.0, to resolve complaints about patent termination clause.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-glib-error-enum.h: autogenerate the GError enum
	codes from the dbus error names
        * glib/dbus-glib.h: move to subdir dbus/ since it's included
	as dbus/dbus-glib.h and that breakage is now visible due to
	including dbus/dbus-glib.h in dbus-glib-lowlevel.h
	* glib/dbus-glib.h: s/gproxy/g_proxy/
	* dbus/dbus-shared.h: new header to hold stuff shared with
	binding APIs
	* dbus/dbus-protocol.h (DBUS_ERROR_*): move errors here rather
	than dbus-errors.h
	* glib/dbus-glib.h (dbus_set_g_error): move to
	dbus-glib-lowlevel.h
	* glib/dbus-glib.h: remove dbus/dbus.h from here; change a bunch
	of stuff to enable this
	* dbus/dbus-glib-lowlevel.h: put dbus/dbus.h here
	* a bunch of other changes with the same basic "separate glib
	bindings from dbus.h" theme
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-server-unix.c (unix_finalize): Don't unref
	unix_server->watch here, it is unreffed in disconnect.
	(_dbus_server_new_for_tcp_socket): convert NULL host to
	"localhost" here so we don't append NULL to address.
	* dbus/dbus-server.c (_dbus_server_test): Add test case for
	various addresses, including tcp with no explicit host.
 | 
| | 
| 
| 
| 
|  | 
* Update AFL version to 2.0 throughout the source files to reflect
	the update that was done a while ago.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* bus/dispatch.c (bus_dispatch): make this return proper
	DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD
	* dbus/dbus-errors.c (dbus_set_error): use
	_dbus_string_append_printf_valist
	* dbus/dbus-string.c (_dbus_string_append_printf_valist)
	(_dbus_string_append_printf): new
	* dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to
	UNKNOWN_METHOD
	* dbus/dbus-connection.c (dbus_connection_dispatch): handle
	DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a
	message is unhandled.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* 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.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* 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-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
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
	save the domain socket name, and unlink it when we disconnect the
	server. Means that at least when we exit normally, we won't leave
	a bunch of junk in /tmp
	* dbus/dbus-transport-unix.c
	(_dbus_transport_new_for_domain_socket): code cleanup (nicer
	memory management). (I was making a real change here but then
	didn't)
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
	function
	* dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
	* dbus/dbus-internals.c (_dbus_dup_string_array): new function
	* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
	socket 0777, and unlink any existing socket.
	* bus/bus.c (bus_context_new): change our UID/GID and fork if
	the configuration file so specifies; set up auth mechanism
	restrictions
	* bus/config-parser.c (bus_config_parser_content): add support
	for <fork> option and fill in code for <auth>
	* bus/system.conf.in: add <fork/> to default configuration,
	and limit auth mechanisms to EXTERNAL
	* doc/config-file.txt (Elements): add <fork>
	* dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
	(_dbus_change_identity): new function
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Fix some annoying DBusString API and fix all affected code.
	* dbus/dbus-string.c (_dbus_string_init): get rid of annoying
	max_length argument
	(_dbus_string_get_data): change to return string instead of using
	an out param
	(_dbus_string_get_const_data): ditto
	(_dbus_string_get_data_len): ditto
	(_dbus_string_get_const_data_len): ditto
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* 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
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
	file
	* dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
	NULL argument for "message" if the error is a well-known one,
	fill in a generic message in this case.
	* dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
	favor of DBusError
	* bus/test.c (bus_test_flush_bus): add
	* bus/policy.c (bus_policy_test): test code stub
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
	the watch
	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
	add some missing dbus_set_result
	* bus/dispatch.c (bus_dispatch_add_connection): handle failure to
	alloc the DBusMessageHandler
	* dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
	the transport here, since we call this from the finalizer; it
	resulted in a double-finalize.
	* dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
	where we tried to use transport->connection that was NULL,
	happened when transport was disconnected early on due to OOM
	* bus/*.c: adapt to handle OOM for watches/timeouts
	* dbus/dbus-transport-unix.c: port to handle OOM during
	watch handling
	* dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
	reference to unused bytes instead of a copy
	* dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
	out of memory
	* dbus/dbus-connection.c (dbus_connection_handle_watch): return
	FALSE on OOM
	* dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
	of memory
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
Make it pass the Hello handling test including all OOM codepaths.
	Now to do other messages...
	* bus/services.c (bus_service_remove_owner): fix crash when
	removing owner from an empty list of owners
	(bus_registry_ensure): don't leave service in the list of
	a connection's owned services if we fail to put the service
	in the hash table.
	* bus/connection.c (bus_connection_preallocate_oom_error): set
	error flag on the OOM error.
	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
	handle _dbus_transport_set_connection failure
	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
	to create watches up front and simply enable/disable them as
	needed.
	(unix_connection_set): this can now fail on OOM
	* dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
	of enabling/disabling a watch or timeout.
	* bus/loop.c (bus_loop_iterate): don't touch disabled
	watches/timeouts
	* glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* configure.in:
	Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
	* dbus/dbus-connection.c:
	* dbus/dbus-connection.h:
	Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
	Add dbus_connection_set_wakeup_main_function and use it when queueing
	incoming and outgoing messages.
	* dbus/dbus-dataslot.c:
	Threadsafe usage of DBusDataSlotAllocator
	* dbus/dbus-message.c: (dbus_message_get_args_iter):
	dbus_new can fail.
	* dbus/dbus-server-unix.c:
	Add todo comment
	* glib/dbus-gmain.c:
	Implement the new wakeup functions for glib.
	* glib/Makefile.am:
	* glib/test-thread-client.c:
	* glib/test-thread-server.c:
	* glib/test-thread.h:
	Initial cut at some thread test code. Not really done yet.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
	Added to create a transport connecting using a tcp/ip socket.
	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
	to a tcp socket at given host and port.
	(_dbus_listen_tcp_socket): added to listen on tcp socket for given
	hostname and port.
	* dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
	* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
	Added to create a server listening on a TCP/IP socket.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* bus/activation.c: (load_directory), (bus_activation_init),
	(bus_activation_activate_service):
	* bus/activation.h:
	* bus/driver.c:
	(bus_driver_handle_activate_service), (bus_driver_handle_message):
	More work on the activation handling.
	* dbus/dbus-errors.h:
	Add some error messages
	* dbus/dbus-message.c: (dbus_message_new_error_reply):
	* dbus/dbus-message.h:
	New function that creates an error message.
	* dbus/dbus-protocol.h:
	Add ACTIVATE_SERVER message.
	* dbus/dbus-server-unix.c: (unix_handle_watch),
	(_dbus_server_new_for_domain_socket):
	Call _dbus_fd_set_close_on_exec.
	* dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
	(_dbus_spawn_async), (_dbus_disable_sigpipe),
	(_dbus_fd_set_close_on_exec):
	* dbus/dbus-sysdeps.h:
	Add _dbus_fd_set_close_on exec function. Also add function that checks
	that all open fds are set to close-on-exec and warns otherwise.
	* dbus/dbus-transport-unix.c:
	(_dbus_transport_new_for_domain_socket):
	Call _dbus_fd_set_close_on_exec.
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
	new function
	* dbus/dbus-server.c (dbus_server_set_max_connections)
	(dbus_server_get_max_connections, dbus_server_get_n_connections):
	keep track of current number of connections, and add API for
	setting a max (but haven't implemented enforcing the max yet)
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* 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
 | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
|  | 
* 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.
 |