Commit graph

13 commits

Author SHA1 Message Date
Anders Carlsson
4a85d321b4 2003-01-21 Anders Carlsson <andersca@codefactory.se>
* 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
2003-01-21 09:23:18 +00:00
Havoc Pennington
502fbda220 2003-01-18 Havoc Pennington <hp@pobox.com>
* 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
2003-01-19 03:33:35 +00:00
Havoc Pennington
0363701c34 2003-01-18 Havoc Pennington <hp@pobox.com>
* 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.
2003-01-18 17:40:42 +00:00
Havoc Pennington
368e150afc 2003-01-18 Havoc Pennington <hp@pobox.com>
* 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
2003-01-18 14:41:37 +00:00
Havoc Pennington
8c11bc0671 2003-01-15 Havoc Pennington <hp@redhat.com>
* test/Makefile.am: fix so that test source code ends up in the
	distribution on make distcheck
2003-01-15 18:30:12 +00:00
Anders Carlsson
1b53cbcce3 2003-01-07 Anders Carlsson <andersca@codefactory.se>
* 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.
2003-01-07 20:18:23 +00:00
Havoc Pennington
01af5ff410 2003-01-04 Havoc Pennington <hp@pobox.com>
* 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
2003-01-04 07:28:54 +00:00
Havoc Pennington
ff5283ab92 2002-12-26 Havoc Pennington <hp@pobox.com>
* 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
2002-12-27 00:44:41 +00:00
Harri Porten
3327ecfdcf make test compilable without prior make install. not sure how about
the preferred way to activate test compilation (DBUS_BUILD_TESTS)
2002-12-15 14:53:29 +00:00
Havoc Pennington
271fa7fc33 2002-12-12 Havoc Pennington <hp@pobox.com>
* 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
2002-12-13 03:55:38 +00:00
Havoc Pennington
041b0767b2 2002-11-24 Havoc Pennington <hp@pobox.com>
* 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.
2002-11-25 05:13:09 +00:00
Havoc Pennington
1428c65e7c 2002-11-23 Havoc Pennington <hp@pobox.com>
* 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
2002-11-23 06:53:37 +00:00
Havoc Pennington
93cff3d69f initial import of "dbus" skeleton 2002-11-21 16:41:33 +00:00