1. 23 Mar, 2003 1 commit
    • Havoc Pennington's avatar
      2003-03-23 Havoc Pennington <hp@pobox.com> · a26607ab
      Havoc Pennington authored
      	* bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
      	policies code
      
      	* dbus/dbus-hash.h: add ULONG hash keys
      
      	* dbus/dbus-sysdeps.c (_dbus_get_groups): new
      	(_dbus_get_group_id): new function
      a26607ab
  2. 13 Mar, 2003 2 commits
    • Havoc Pennington's avatar
      2003-03-12 Havoc Pennington <hp@pobox.com> · 6ecc14ff
      Havoc Pennington authored
      	Throughout: purge global variables, introduce BusActivation,
      	BusConnections, BusRegistry, etc. objects instead.
      
      	* bus/bus.h, bus/bus.c: introduce BusContext as a global
      	message bus object
      
      	* test/Makefile.am (TEST_BINARIES): disable bus-test for now,
      	going to redo this a bit differently I think
      6ecc14ff
    • 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. 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
  4. 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
  5. 21 Jan, 2003 1 commit
    • Anders Carlsson's avatar
      2003-01-21 Anders Carlsson <andersca@codefactory.se> · aff24a72
      Anders Carlsson authored
      	* bus/Makefile.am:
      	Add driver.[ch]
      
      	* bus/connection.c: (connection_disconnect_handler):
      	Remove the connection from the bus driver's list.
      
      	(connection_watch_callback): Dispatch messages.
      
      	(free_connection_data): Free connection name.
      
      	(bus_connection_setup): Add connection to the bus driver's list.
      	(bus_connection_remove_owned_service):
      	(bus_connection_set_name), (bus_connection_get_name):
      	Add functions for setting and getting the connection's name.
      
      	* bus/connection.h:
      	Add function headers.
      
      	* bus/driver.c: (create_unique_client_name),
      	(bus_driver_handle_hello_message),
      	(bus_driver_send_welcome_message), (bus_driver_message_handler),
      	(bus_driver_add_connection), (bus_driver_remove_connection):
      	* bus/driver.h:
      	* bus/main.c:
      	* bus/services.c: (bus_service_free):
      	* bus/services.h:
      	New file that handles communication and registreation with the bus
      	itself.
      aff24a72
  6. 06 Jan, 2003 1 commit
    • Havoc Pennington's avatar
      2003-01-05 Havoc Pennington <hp@pobox.com> · 96a9f803
      Havoc Pennington authored
      	* bus/connection.c: implement routines for handling connections,
      	first thing is keeping a list of owned services on each connection
      	and setting up watches etc.
      
      	* bus/services.c: implement a mapping from service names to lists
      	of connections
      
      	* dbus/dbus-hash.c: add DBUS_HASH_POINTER
      
      	* dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
      	to use static mutexes for global data
      
      	* dbus/dbus-connection.c (dbus_connection_set_data): add new
      	collection of functions to set/get application-specific data
      	on the DBusConnection.
      96a9f803
  7. 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
  8. 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
  9. 12 Dec, 2002 1 commit
    • Havoc Pennington's avatar
      2002-12-11 Havoc Pennington <hp@pobox.com> · d4b870e7
      Havoc Pennington authored
      	* dbus/dbus-types.h: add dbus_unichar
      
      	* dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
      
      	* dbus/dbus-connection.c (dbus_connection_send_message): return
      	TRUE on success
      
      	* dbus/dbus-transport.c: include dbus-watch.h
      
      	* dbus/dbus-connection.c: include dbus-message-internal.h
      
      	* HACKING: add file with coding guidelines stuff.
      
      	* dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
      	handling here, for security purposes (as in vsftpd). Not actually
      	using this class yet.
      
      	* dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
      	system/libc usage here, as in vsftpd, for ease of auditing (and
      	should also simplify portability). Haven't actually moved all the
      	system/libc usage into here yet.
      d4b870e7
  10. 23 Nov, 2002 2 commits
    • Havoc Pennington's avatar
      2002-11-23 Havoc Pennington <hp@pobox.com> · 576cdb6e
      Havoc Pennington authored
      	* dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
      	_DBUS_INT_MAX
      
      	* dbus/dbus-test.c (main): add list test, and include
      	dbus-test.h as intended
      
      	* dbus/dbus-hash.c (_dbus_hash_table_remove_string)
      	(_dbus_hash_table_remove_int): return value indicates
      	whether the entry existed to remove
      
      	* dbus/dbus-list.c: add linked list utility class,
      	with docs and tests
      
      	* dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
      	array sometimes.
      576cdb6e
    • Havoc Pennington's avatar
      2002-11-23 Havoc Pennington <hp@pobox.com> · 1428c65e
      Havoc Pennington authored
      	* 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
      1428c65e
  11. 21 Nov, 2002 3 commits
    • Havoc Pennington's avatar
      2002-11-21 Havoc Pennington <hp@redhat.com> · 5a6adeee
      Havoc Pennington authored
      	* dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
      	so we can allow ourselves to include files directly,
      	instead of having to use dbus.h
      
      	* dbus/dbus.h: fill in
      
      	* dbus/dbus-message.h: sketch out a sample header file.
      	Include griping if you include it directly instead of
      	via dbus.h
      
      	* dbus/dbus-macros.h: new file with macros for extern "C",
      	TRUE/FALSE, NULL, etc.
      
      	* doc/file-boilerplate.c: put include guards in here
      5a6adeee
    • Havoc Pennington's avatar
      2002-11-21 Havoc Pennington <hp@redhat.com> · 89161753
      Havoc Pennington authored
      	* doc/file-boilerplate.c: include both AFL and GPL boilerplate.
      
      	* COPYING: include the GPL as well, and license code
      	under both AFL and GPL.
      89161753
    • Havoc Pennington's avatar
      add file-boilerplate.c · f6343e58
      Havoc Pennington authored
      f6343e58