1. 14 Mar, 2003 1 commit
    • Havoc Pennington's avatar
      2003-03-13 Havoc Pennington <hp@redhat.com> · 3bea9353
      Havoc Pennington authored
      	* dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
      	out of memory
      
      	* dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
      	of memory
      
      	* dbus/dbus-connection.h: Make AddWatchFunction and
      	AddTimeoutFunction return a bool so they can fail on out-of-memory
      
      	* bus/bus.c (bus_context_new): set up timeout handlers
      
      	* bus/connection.c (bus_connections_setup_connection): set up
      	timeout handlers
      
      	* glib/dbus-gmain.c: adapt to the fact that set_functions stuff
      	can fail
      
      	* bus/bus.c (bus_context_new): adapt to changes
      
      	* bus/connection.c: adapt to changes
      
      	* test/watch.c: adapt to DBusWatch changes
      
      	* bus/dispatch.c (bus_dispatch_test): started adding this but
      	didn't finish
      3bea9353
  2. 13 Mar, 2003 1 commit
    • Havoc Pennington's avatar
      2003-03-12 Havoc Pennington <hp@redhat.com> · 29560adc
      Havoc Pennington authored
              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
      29560adc
  3. 27 Feb, 2003 1 commit
  4. 26 Feb, 2003 2 commits
    • Alexander Larsson's avatar
      2003-02-26 Alexander Larsson <alexl@redhat.com> · 89e6dfd2
      Alexander Larsson authored
      	* 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.
      89e6dfd2
    • Havoc Pennington's avatar
      2003-02-26 Havoc Pennington <hp@pobox.com> · 72654234
      Havoc Pennington authored
      	* dbus/dbus-connection.c
      	(dbus_connection_send_message_with_reply_and_block): fix crash
      	where we ref'd the outgoing message instead of the returned reply
      
      	* dbus/dbus-transport-unix.c (do_authentication): check read watch
      	at the end of this function, so if we didn't need to read for
      	authentication, we reinstall it for receiving messages
      
      	* dbus/dbus-message.c (dbus_message_new_reply): allow replies to
      	a NULL sender for peer-to-peer case
      
      	* dbus/dbus-transport-unix.c (check_read_watch): handle
      	!authenticated case correctly
      
      	* glib/dbus-gmain.c: add support for DBusServer
      
      	* dbus/dbus-server.c: add data slot support
      
      	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
      	return values and handle errors
      
      	* dbus/dbus-dataslot.c: factor out the data slot stuff from
      	DBusConnection
      
      	* Doxyfile.in (INPUT): add glib subdir
      
      	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
      	setup_with_g_main instead of hookup_with_g_main; write docs
      72654234
  5. 18 Feb, 2003 1 commit
    • Joe Shaw's avatar
      2003-02-18 Joe Shaw <joe@assbarn.com> · 9ada6e2c
      Joe Shaw authored
      	* 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.
      9ada6e2c
  6. 16 Feb, 2003 2 commits
    • Anders Carlsson's avatar
      2003-02-16 Anders Carlsson <andersca@codefactory.se> · bf07fc88
      Anders Carlsson authored
      	* dbus/dbus-auth.c: (client_try_next_mechanism):
      	Plug a leak.
      
      	* dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
      	Return TRUE if there's no thread implementation around.
      
      	* glib/dbus-gmain.c: (free_source),
      	(dbus_connection_hookup_with_g_main):
      	Make sure to remove the GSource when the connection is finalized.
      bf07fc88
    • Havoc Pennington's avatar
      2003-02-16 Havoc Pennington <hp@pobox.com> · 4a8a03ae
      Havoc Pennington authored
      	* 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
      4a8a03ae
  7. 15 Feb, 2003 1 commit
    • Alexander Larsson's avatar
      2003-02-15 Alexander Larsson <alexl@redhat.com> · fe401894
      Alexander Larsson authored
      	* 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.
      fe401894
  8. 13 Feb, 2003 2 commits
  9. 01 Feb, 2003 1 commit
    • Alexander Larsson's avatar
      2003-02-02 Alexander Larsson <alexl@redhat.com> · f0238955
      Alexander Larsson authored
      	* dbus/dbus-watch.c (dbus_watch_get_flags):
      	Add note in the docs that ERROR or HANGUP won't be returned
      	and are assumed always on.
      
      	* glib/dbus-gmain.c (add_watch):
      	Always add IO_ERR | IO_HUP
      
      	* dbus/dbus-message.h:
      	Add semicolon after dbus_message_iter_get_string_array().
      	Makes qt code build again
      f0238955
  10. 26 Jan, 2003 1 commit
  11. 25 Jan, 2003 1 commit
    • Anders Carlsson's avatar
      2003-01-25 Anders Carlsson <andersca@codefactory.se> · f7867d88
      Anders Carlsson authored
      	* glib/dbus-gmain.c: (dbus_connection_prepare),
      	(dbus_connection_check), (dbus_connection_dispatch), (add_watch),
      	(remove_watch), (dbus_connection_hookup_with_g_main):
      	Rewrite the glib handling to use its own GSource instead of a
      	GIOChannel so we can catch messages put in the queue while waiting
      	for a reply.
      f7867d88
  12. 24 Jan, 2003 1 commit
    • Anders Carlsson's avatar
      2003-01-25 Anders Carlsson <andersca@codefactory.se> · a16e83f4
      Anders Carlsson authored
      	* bus/connection.c: (bus_connection_foreach):
      	* bus/connection.h:
      	Add new bus_connection_foreach function.
      
      	* bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
      	Add function that broadcasts a message to all clients.
      
      	(bus_driver_send_service_created), (bus_driver_handle_hello),
      	(bus_driver_send_welcome_message),
      	(bus_driver_handle_list_services), (bus_driver_message_handler):
      	Implement functions that take care of listing services, and notifying
      	clients when new services are created.
      
      	* bus/services.c: (bus_services_list):
      	* bus/services.h:
      	Add new function that returns an array of strings with the currently
      	registered services.
      
      	* glib/dbus-glib.h:
      	* glib/dbus-gmain.c:
      	Update copyright year.
      a16e83f4
  13. 21 Jan, 2003 1 commit
    • Anders Carlsson's avatar
      2003-01-21 Anders Carlsson <andersca@codefactory.se> · 4a85d321
      Anders Carlsson authored
      	* 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
      4a85d321
  14. 07 Jan, 2003 1 commit
    • Anders Carlsson's avatar
      2003-01-07 Anders Carlsson <andersca@codefactory.se> · 1b53cbcc
      Anders Carlsson authored
      	* 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.
      1b53cbcc
  15. 27 Dec, 2002 1 commit
  16. 24 Dec, 2002 1 commit
    • Havoc Pennington's avatar
      2002-12-24 Havoc Pennington <hp@pobox.com> · 17fbe2b7
      Havoc Pennington authored
      	* glib/dbus-gthread.c: fix include
      
      	* glib/dbus-glib.h: rename DBusMessageHandler for now.
      	I think glib API needs to change, though, as you don't
      	want to use DBusMessageFunction, you want to use the
      	DBusMessageHandler object. Probably
      	dbus_connection_open_with_g_main_loop()
      	and dbus_connection_setup_g_main_loop() or something like that
      	(but think of better names...) that just create a connection
      	that has watch/timeout functions etc. already set up.
      
      	* dbus/dbus-connection.c
      	(dbus_connection_send_message_with_reply): new function just to
      	show how the message handler helps us deal with replies.
      
      	* dbus/dbus-list.c (_dbus_list_remove_last): new function
      
      	* dbus/dbus-string.c (_dbus_string_test): free a string that
      	wasn't
      
      	* dbus/dbus-hash.c: use memory pools for the hash entries
      	(rebuild_table): be more paranoid about overflow, and
      	shrink table when we can
      	(_dbus_hash_test): reduce number of sprintfs and write
      	valid C89. Add tests for case where we grow and then
      	shrink the hash table.
      
      	* dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
      
      	* dbus/dbus-connection.c (dbus_connection_register_handler)
      	(dbus_connection_unregister_handler): new functions
      
      	* dbus/dbus-message.c (dbus_message_get_name): new
      
      	* dbus/dbus-list.c: fix docs typo
      
      	* dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
      	an object representing a handler for messages.
      17fbe2b7
  17. 16 Dec, 2002 3 commits
    • Anders Carlsson's avatar
      Doh · 849d1e92
      Anders Carlsson authored
      849d1e92
    • Anders Carlsson's avatar
      2002-12-16 Anders Carlsson <andersca@codefactory.se> · 9a5e216f
      Anders Carlsson authored
      	* glib/dbus-glib.h:
      	* glib/dbus-gthread.c: (dbus_gthread_init):
      	Don't use the gdbus prefix for public functions.
      9a5e216f
    • Anders Carlsson's avatar
      2002-12-16 Anders Carlsson <andersca@codefactory.se> · c531a709
      Anders Carlsson authored
      	* Makefile.am:
      	* configure.in:
      	Add GLib checks and fixup .pc files
      
      	* glib/Makefile.am:
      	* glib/dbus-glib.h:
      	* glib/dbus-gmain.c: (gdbus_connection_prepare),
      	(gdbus_connection_check), (gdbus_connection_dispatch),
      	(gdbus_add_connection_watch), (gdbus_remove_connection_watch),
      	(dbus_connection_gsource_new):
      	* glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
      	(dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
      	* glib/test-dbus-glib.c: (message_handler), (main):
      	Add GLib support.
      c531a709