1. 04 Jan, 2003 1 commit
    • Havoc Pennington's avatar
      2003-01-04 Havoc Pennington <hp@pobox.com> · 01af5ff4
      Havoc Pennington authored
      	* 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
      01af5ff4
  2. 27 Dec, 2002 1 commit
    • Havoc Pennington's avatar
      2002-12-26 Havoc Pennington <hp@pobox.com> · ff5283ab
      Havoc Pennington authored
      	* 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
      ff5283ab
  3. 25 Nov, 2002 1 commit
    • Havoc Pennington's avatar
      2002-11-24 Havoc Pennington <hp@pobox.com> · 041b0767
      Havoc Pennington authored
              * 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.
      041b0767