1. 31 Mar, 2003 1 commit
    • Havoc Pennington's avatar
      2003-03-30 Havoc Pennington <hp@pobox.com> · bc86794f
      Havoc Pennington authored
      	* bus/config-parser.c: hacking
      
      	* dbus/dbus-memory.c: don't use DBusList for the list of stuff
      	to shut down, since it could cause weirdness with the DBusList
      	lock
      
      	* dbus/dbus-list.c (_dbus_list_test): add tests for the
      	link-oriented stack routines
      	(alloc_link): free the mempool if the first alloc from it fails
      
      	* dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
      
      	* dbus/dbus-string.c (UNICODE_VALID): sync new version of this
      	from GLib
      	(_dbus_string_skip_white): new
      
      	* doc/config-file.txt (Elements): add <includedir>
      bc86794f
  2. 28 Mar, 2003 3 commits
    • Anders Carlsson's avatar
      2003-03-28 Anders Carlsson <andersca@codefactory.se> · d361874e
      Anders Carlsson authored
      	* dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
      	* dbus/dbus-bus.h:
      	Add dbus_bus_get.
      
      	* dbus/dbus-memory.c:
      	Fix a doc comment.
      d361874e
    • Havoc Pennington's avatar
      2003-03-28 Havoc Pennington <hp@pobox.com> · bf993813
      Havoc Pennington authored
      	* bus/test.c (bus_test_flush_bus): remove the sleep from here,
      	I think it may have just been superstition. Not sure.
      
      	* dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
      	failures that were not being handled.
      
      	* dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
      
      	* dbus/dbus-memory.c: add ability to set number of mallocs in a
      	row that will fail on out-of-memory.
      
      	* dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
      	function for testing out-of-memory handling.
      
      	* bus/config-loader-expat.c (memsuite): don't wrap the dbus
      	allocation functions, they do map exactly to the expat ones.
      bf993813
    • Havoc Pennington's avatar
      2003-03-27 Havoc Pennington <hp@redhat.com> · 574c258b
      Havoc Pennington authored
      	* bus/config-loader-libxml.c (bus_config_load): add another error
      	check
      574c258b
  3. 27 Mar, 2003 1 commit
  4. 26 Mar, 2003 7 commits
  5. 25 Mar, 2003 2 commits
    • Havoc Pennington's avatar
      add start on config parser files · 17e82f57
      Havoc Pennington authored
      17e82f57
    • Havoc Pennington's avatar
      2003-03-24 Havoc Pennington <hp@redhat.com> · ce4fd314
      Havoc Pennington authored
      	* 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
      ce4fd314
  6. 24 Mar, 2003 2 commits
    • Havoc Pennington's avatar
      2003-03-24 Havoc Pennington <hp@pobox.com> · 44fff656
      Havoc Pennington authored
      	* bus/connection.c (bus_connections_setup_connection): set up
      	the "can this user connect" function, but it always returns
      	TRUE until we have a config file parser so we can have a config
      	file that allows connections.
      44fff656
    • Havoc Pennington's avatar
      2003-03-23 Havoc Pennington <hp@pobox.com> · c3af5ccd
      Havoc Pennington authored
      	* dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
      	DBUS_BUILD_TESTS, actually alloc/free a block of memory for
      	the mutex, so we can check for proper memory management
      	and OOM handling.
      
      	* dbus/dbus-dataslot.c: remove the mutex from
      	DBusDataSlotAllocator and lock it manually when using it,
      	to simplify fitting it into the global slots framework.
      
      	* dbus/dbus-threads.c (init_static_locks): rework how we're
      	handling global locks so they are easily shut down.
      
      	* bus/policy.c (bus_policy_append_rule): fix
      
      	* bus/test-main.c (main): check for memleaks
      
      	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
      	test suite check for memleaks
      
      	* dbus/dbus-memory.c: add support in test mode for tracking
      	number of outstanding blocks
      c3af5ccd
  7. 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
  8. 21 Mar, 2003 1 commit
  9. 20 Mar, 2003 1 commit
    • Havoc Pennington's avatar
      2003-03-20 Havoc Pennington <hp@pobox.com> · 056d76d8
      Havoc Pennington authored
      	* bus/connection.c (bus_connection_send_oom_error): assert that
      	message has a sender
      	(connection_execute_transaction): ditto
      	(bus_connection_preallocate_oom_error): fix to set the sender, and
      	set recipient to the destination service, not the bus driver
      
      	* bus/policy.c: hacking
      
      	* dbus/dbus-message.c (dbus_message_service_is): new function
      	(dbus_message_sender_is): new
      056d76d8
  10. 19 Mar, 2003 1 commit
  11. 18 Mar, 2003 2 commits
  12. 17 Mar, 2003 8 commits
    • Havoc Pennington's avatar
      2003-03-17 Havoc Pennington <hp@redhat.com> · 615fa679
      Havoc Pennington authored
      	* dbus/dbus-internals.h: add gcc attributes so that
      	our printf-style functions warn on bad arguments to
      	format
      
      	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
      	format bug
      
      	* dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
      	printf format bug
      615fa679
    • Havoc Pennington's avatar
      2003-03-17 Havoc Pennington <hp@redhat.com> · 1fbf6fa4
      Havoc Pennington authored
      	* bus/test-main.c (main): make it print something as it runs
      	so make check doesn't look stuck
      
      	* doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
      	from CVS, now obsolete
      1fbf6fa4
    • Anders Carlsson's avatar
      2003-03-17 Anders Carlsson <andersca@codefactory.se> · 73d7ba1d
      Anders Carlsson authored
      	* bus/dispatch.c: (bus_dispatch):
      	Refetch the service name since it may have been reallocated
      	when dbus_message_set_sender was called.
      
      	* dbus/dbus-sysdeps.c: (_dbus_accept):
      	Add address and address length variables and use them to stop
      	valgrind from complaining.
      73d7ba1d
    • Havoc Pennington's avatar
      2003-03-17 Havoc Pennington <hp@pobox.com> · f7c24715
      Havoc Pennington authored
      	All tests pass, no memleaks, no valgrind complaints.
      
      	* bus/test.c: refcount handler_slot
      
      	* bus/connection.c (bus_connections_new): refcount
      	connection_data_slot
      
      	* dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
      	bytes so that auth scripts pass.
      
      	* bus/dispatch.c: init message_handler_slot so it gets allocated
      	properly
      
      	* bus/dispatch.c (message_handler_slot_ref): fix memleak
      
      	* dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
      	dealloc server_pipe_hash when no longer used for benefit of
      	leak checking
      
      	* dbus/dbus-auth.c (process_command): memleak fix
      
      	* bus/dispatch.c (check_hello_message): memleak fix
      f7c24715
    • Havoc Pennington's avatar
      2003-03-16 Havoc Pennington <hp@pobox.com> · 15f02e10
      Havoc Pennington authored
      	* dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
      15f02e10
    • Anders Carlsson's avatar
      2003-03-17 Anders Carlsson <andersca@codefactory.se> · 0e298fbe
      Anders Carlsson authored
      	* bus/activation.c (bus_activation_activate_service): Append
      	the pending activation entry to the list of pending activations.
      0e298fbe
    • Havoc Pennington's avatar
      2003-03-16 Havoc Pennington <hp@pobox.com> · 23e4978e
      Havoc Pennington authored
      	* bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
      	connections
      
      	* dbus/dbus-address.c (create_entry): fix OOM handling when
      	failing to alloc entry->method
      23e4978e
    • Havoc Pennington's avatar
      2003-03-16 Havoc Pennington <hp@pobox.com> · b4a1100f
      Havoc Pennington authored
      	* 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
      b4a1100f
  13. 16 Mar, 2003 8 commits
    • Anders Carlsson's avatar
      2003-03-16 Anders Carlsson <andersca@codefactory.se> · 3caaa342
      Anders Carlsson authored
      	* doc/dbus-specification.sgml:
      	Document reply message for ActivateService.
      3caaa342
    • Anders Carlsson's avatar
      2003-03-16 Anders Carlsson <andersca@codefactory.se> · 3f4086f0
      Anders Carlsson authored
      	* bus/activation.c: (bus_pending_activation_entry_free),
      	(bus_pending_activation_free), (bus_activation_new),
      	(bus_activation_unref), (bus_activation_service_created),
      	(bus_activation_activate_service):
      	* bus/activation.h:
      	* bus/bus.c: (bus_context_new):
      	* bus/desktop-file.c: (new_section):
      	* bus/driver.c: (bus_driver_send_service_deleted),
      	(bus_driver_handle_activate_service):
      	* bus/services.c: (bus_registry_new), (bus_registry_ensure):
      	* bus/services.h:
      	* dbus/dbus-connection.c:
      	(dbus_connection_send_with_reply_and_block):
      	* dbus/dbus-message.c: (dbus_message_append_args_valist):
      	* dbus/dbus-protocol.h:
      	Make activation work better. Now pending activations will be queued
      	and the daemon won't try to activate services that are already registered.
      3f4086f0
    • Havoc Pennington's avatar
      2003-03-16 Havoc Pennington <hp@pobox.com> · d1f65c6c
      Havoc Pennington authored
      	* dbus/dbus-bus.c (ensure_bus_data): handle failure to set
      	connection data
      
      	* dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
      	DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
      d1f65c6c
    • Havoc Pennington's avatar
      2003-03-16 Havoc Pennington <hp@pobox.com> · ebb57e71
      Havoc Pennington authored
      	* dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
      	this. always run the test suite before commit...
      
      	* bus/*: adapt to DBusConnection API changes
      
      	* glib/dbus-gmain.c: adapt to DBusConnection API changes,
      	requires renaming stuff to avoid dbus_connection_dispatch name
      	conflict.
      
      	* dbus/dbus-transport.c (_dbus_transport_queue_messages): new
      	function
      
      	* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
      	separate from _dbus_message_loader_return_buffer()
      
      	* dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
      	this, because it's now always broken to use; the number of
      	messages in queue vs. the number still buffered by the message
      	loader is undefined/meaningless. Should use
      	dbus_connection_get_dispatch_state().
      	(dbus_connection_dispatch): rename from
      	dbus_connection_dispatch_message
      ebb57e71
    • Havoc Pennington's avatar
      2003-03-16 Havoc Pennington <hp@pobox.com> · 021305e5
      Havoc Pennington authored
      	* dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
      	implementation
      021305e5
    • Anders Carlsson's avatar
      2003-03-16 Anders Carlsson <andersca@codefactory.se> · e537e421
      Anders Carlsson authored
      	* dbus/dbus-connection.c:
      	(dbus_connection_send_with_reply_and_block):
      	Decrease connection->n_incoming when removing an entry
      	from the list.
      	* dbus/dbus-dict.c: (dbus_dict_entry_free),
      	(dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
      	(dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
      	(dbus_dict_set_byte_array), (dbus_dict_set_string_array),
      	(dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
      	(dbus_dict_get_byte_array):
      	Handle NULL arrays and strings. Also add support for byte arrays.
      
      	* dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
      	(_dbus_marshal_dict), (_dbus_demarshal_byte_array),
      	(_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
      	(_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
      	(_dbus_demarshal_dict), (demarshal_and_validate_len),
      	(_dbus_marshal_validate_arg), (_dbus_marshal_test):
      	* dbus/dbus-marshal.h:
      	Add support for marshalling and demarshalling empty arrays and strings.
      
      	* dbus/dbus-message.c: (dbus_message_append_args_valist),
      	(dbus_message_append_string_array),
      	(dbus_message_iter_get_boolean),
      	(dbus_message_iter_get_boolean_array),
      	(dbus_message_iter_get_int32_array),
      	(dbus_message_iter_get_uint32_array),
      	(dbus_message_iter_get_double_array),
      	(dbus_message_iter_get_byte_array),
      	(dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
      	(check_message_handling):
      	Add support for getting empty arrays and dicts.
      
      	* dbus/dbus-string.c: (_dbus_string_validate_utf8):
      	Don't do any validation at all for now, that's better than just checking
      	for ASCII.
      
      	* test/data/valid-messages/emptiness.message:
      	New test message with lots of empty arrays.
      e537e421
    • Havoc Pennington's avatar
      2003-03-16 Havoc Pennington <hp@pobox.com> · 5c53fb2a
      Havoc Pennington authored
      	* dbus/dbus-connection.c
      	(_dbus_connection_queue_received_message_link): new function that
      	can't fail due to OOM
      
      	* dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
      	new function pops a message together with a list link
      	containing it.
      
      	* dbus/dbus-transport-unix.c (queue_messages): use new link-based
      	message queuing functions to avoid needing to alloc memory
      5c53fb2a
    • Havoc Pennington's avatar
      2003-03-16 Havoc Pennington <hp@pobox.com> · ce173b29
      Havoc Pennington authored
      	Oops - test code was only testing failure of around 30 of the
      	mallocs in the test path, but it turns out there are 500+
      	mallocs. I believe this was due to misguided linking setup such
      	that there was one copy of dbus_malloc etc. in the daemon and one
      	in the shared lib, and only daemon mallocs were tested. In any
      	case, the test case now tests all 500+ mallocs, and doesn't pass
      	yet, though there are lots of fixes in this patch.
      
      	* dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
      	this so that it doesn't need to allocate memory, since it
      	has no way of indicating failure due to OOM (and would be
      	annoying if it did).
      
      	* dbus/dbus-list.c (_dbus_list_pop_first_link): new function
      
      	* bus/Makefile.am: rearrange to create two self-contained
      	libraries, to avoid having libraries with overlapping symbols.
      	that was resulting in weirdness, e.g. I'm pretty sure there
      	were two copies of global static variables.
      
      	* dbus/dbus-internals.c: move the malloc debug stuff to
      	dbus-memory.c
      
      	* dbus/dbus-list.c (free_link): free list mempool if it becomes
      	empty.
      
      	* dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
      
      	* dbus/dbus-address.c (dbus_parse_address): free list nodes
      	on failure.
      
      	* bus/dispatch.c (bus_dispatch_add_connection): free
      	message_handler_slot when no longer using it, so
      	memory leak checkers are happy for the test suite.
      
      	* dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
      
      	* bus/bus.c (new_connection_callback): disconnect in here if
      	bus_connections_setup_connection fails.
      
      	* bus/connection.c (bus_connections_unref): fix to free the
      	connections
      	(bus_connections_setup_connection): if this fails, don't
      	disconnect the connection, just be sure there are no side
      	effects.
      
      	* dbus/dbus-string.c (undo_alignment): unbreak this
      
      	* dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
      	leaking
      	(_dbus_auth_new): fix the order in which we free strings
      	on OOM failure
      
      	* bus/connection.c (bus_connection_disconnected): fix to
      	not send ServiceDeleted multiple times in case of memory
      	allocation failure
      
      	* dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
      	get the base service name
      	(dbus_bus_register_client): don't return base service name,
      	instead store it on the DBusConnection and have an accessor
      	function for it.
      	(dbus_bus_register_client): rename dbus_bus_register()
      
      	* bus/dispatch.c (check_hello_message): verify that other
      	connections on the bus also got the correct results, not
      	just the one sending hello
      ce173b29
  14. 15 Mar, 2003 2 commits
    • Havoc Pennington's avatar
      2003-03-15 Havoc Pennington <hp@pobox.com> · f587ce78
      Havoc Pennington authored
      	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
      f587ce78
    • Havoc Pennington's avatar
      2003-03-15 Havoc Pennington <hp@pobox.com> · f05f87a8
      Havoc Pennington authored
      	* bus/dispatch.c (bus_dispatch_test): OK, now finally actually
      	write useful test code, after all that futzing around ;-)
      
      	Test does not yet pass because we can't handle OOM in
      	_dbus_transport_messages_pending (basically,
      	dbus_connection_preallocate_send() does not prealloc the write
      	watch). To fix this, I think we need to add new stuff to
      	set_watch_functions, namely a SetEnabled function so we can alloc
      	the watch earlier, then enable it later.
      
      	* dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
      	dbus-memory.c to the convenience lib
      
      	* bus/test.c: rename some static functions to keep them clearly
      	distinct from stuff in connection.c. Handle client disconnection.
      f05f87a8