platform/upstream/dbus.git
21 years ago2003-03-31 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Mon, 31 Mar 2003 20:56:29 +0000 (20:56 +0000)]
2003-03-31  Havoc Pennington  <hp@redhat.com>

        Fix some annoying DBusString API and fix all affected code.

* dbus/dbus-string.c (_dbus_string_init): get rid of annoying
max_length argument
(_dbus_string_get_data): change to return string instead of using
an out param
(_dbus_string_get_const_data): ditto
(_dbus_string_get_data_len): ditto
(_dbus_string_get_const_data_len): ditto

21 years ago2003-03-31 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Mon, 31 Mar 2003 18:58:14 +0000 (18:58 +0000)]
2003-03-31  Havoc Pennington  <hp@redhat.com>

* bus/main.c (main): fix up the command line arguments to be nicer

21 years ago2003-03-31 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Mon, 31 Mar 2003 08:28:23 +0000 (08:28 +0000)]
2003-03-31  Havoc Pennington  <hp@redhat.com>

* dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
final location that lands in the config file

* bus/config-loader-expat.c (bus_config_load): fix type of
XML_Parser variable

* doc/TODO: remove TODO item for dbus_bus_get()

* dbus/dbus-bus.c (bus_data_free): add missing lock/unlock

21 years ago2003-03-31 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Mon, 31 Mar 2003 08:19:50 +0000 (08:19 +0000)]
2003-03-31  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
(_dbus_transport_new_for_tcp_socket): these didn't need the "server"
argument since they are always client side

* dbus/dbus-server.c (dbus_server_get_address): new function

* bus/main.c (main): take the configuration file as an argument.

* test/data/valid-config-files/debug-allow-all.conf: new file to
use with dispatch.c tests for example

* bus/test-main.c (main): require test data dir

* bus/bus.c (bus_context_new): change this to take a
configuration file name as argument

* doc/config-file.txt (Elements): add <servicedir>

* bus/system.conf, bus/session.conf: new files

* dbus/dbus-bus.c (dbus_bus_get): look for system bus on
well-known socket if none set

* configure.in: create system.conf and session.conf

21 years ago2003-03-30 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Mon, 31 Mar 2003 04:01:00 +0000 (04:01 +0000)]
2003-03-30  Havoc Pennington  <hp@pobox.com>

* 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>

21 years ago2003-03-28 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Fri, 28 Mar 2003 14:23:10 +0000 (14:23 +0000)]
2003-03-28  Anders Carlsson  <andersca@codefactory.se>

* 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.

21 years ago2003-03-28 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 28 Mar 2003 05:42:19 +0000 (05:42 +0000)]
2003-03-28  Havoc Pennington  <hp@pobox.com>

* 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.

21 years ago2003-03-27 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 28 Mar 2003 00:01:53 +0000 (00:01 +0000)]
2003-03-27  Havoc Pennington  <hp@redhat.com>

* bus/config-loader-libxml.c (bus_config_load): add another error
check

21 years agoMore updates
Anders Carlsson [Thu, 27 Mar 2003 00:43:39 +0000 (00:43 +0000)]
More updates

21 years agoFix a small error.
Anders Carlsson [Wed, 26 Mar 2003 21:43:56 +0000 (21:43 +0000)]
Fix a small error.

21 years agoSome more things.
Anders Carlsson [Wed, 26 Mar 2003 21:40:56 +0000 (21:40 +0000)]
Some more things.

21 years ago2003-03-26 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Wed, 26 Mar 2003 21:06:17 +0000 (21:06 +0000)]
2003-03-26  Anders Carlsson  <andersca@codefactory.se>

* doc/TODO:
Add note about automatic service activation.

* doc/dbus-specification.sgml:
Rename the specification and clarify a few things.

21 years agoForgot this.
Anders Carlsson [Wed, 26 Mar 2003 19:39:49 +0000 (19:39 +0000)]
Forgot this.

21 years ago2003-03-26 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Wed, 26 Mar 2003 19:21:42 +0000 (19:21 +0000)]
2003-03-26  Anders Carlsson  <andersca@codefactory.se>

* Doxyfile.in:
* dbus/dbus-address.c:
* dbus/dbus-dict.c:
* dbus/dbus-marshal.c:
* dbus/dbus-server-debug-pipe.c:
* dbus/dbus-transport-unix.c:
Fix documentation warnings.

21 years ago2003-03-26 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Wed, 26 Mar 2003 07:16:03 +0000 (07:16 +0000)]
2003-03-26  Havoc Pennington  <hp@pobox.com>

* bus/test-main.c, dbus/dbus-test.c (main): check memleaks
after every test so it's quick and easy to see which leaked, and
so we test multiple dbus_shutdown() calls

* configure.in: change configure.in XML stuff to also support
expat

* config-loader-libxml.c: some hacking

* config-loader-expat.c: some hacking

* config-parser.c: some hacking, plus tests

21 years ago2003-03-25 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 26 Mar 2003 03:58:11 +0000 (03:58 +0000)]
2003-03-25  Havoc Pennington  <hp@redhat.com>

        * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR

* configure.in: add --with-xml option to specify XML library,
right now only libxml is supported.

* bus/config-loader-libxml.c, config-parser.c: sync some minor
nonworking code between home and work, still just stubs

21 years agoadd start on config parser files
Havoc Pennington [Tue, 25 Mar 2003 04:45:25 +0000 (04:45 +0000)]
add start on config parser files

21 years ago2003-03-24 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Tue, 25 Mar 2003 04:37:08 +0000 (04:37 +0000)]
2003-03-24  Havoc Pennington  <hp@redhat.com>

* 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

21 years ago2003-03-24 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Mon, 24 Mar 2003 17:30:47 +0000 (17:30 +0000)]
2003-03-24  Havoc Pennington  <hp@pobox.com>

* 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.

21 years ago2003-03-23 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Mon, 24 Mar 2003 03:16:58 +0000 (03:16 +0000)]
2003-03-23  Havoc Pennington  <hp@pobox.com>

* 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

21 years ago2003-03-23 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 23 Mar 2003 07:41:54 +0000 (07:41 +0000)]
2003-03-23  Havoc Pennington  <hp@pobox.com>

* 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

21 years ago2003-03-20 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 21 Mar 2003 02:38:40 +0000 (02:38 +0000)]
2003-03-20  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
new function
(dbus_connection_get_unix_user): new function

21 years ago2003-03-20 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Thu, 20 Mar 2003 07:57:39 +0000 (07:57 +0000)]
2003-03-20  Havoc Pennington  <hp@pobox.com>

* 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

21 years ago2003-03-19 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 19 Mar 2003 23:48:17 +0000 (23:48 +0000)]
2003-03-19  Havoc Pennington  <hp@redhat.com>

* bus/policy.c: start sketching code for policy restrictions on
what connections can do.

21 years ago2003-03-18 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Tue, 18 Mar 2003 23:22:12 +0000 (23:22 +0000)]
2003-03-18  Havoc Pennington  <hp@redhat.com>

* doc/TODO: some notes on high-level todo items. Little nitpick
stuff is all in @todo, so no need to add it here.

* doc/config-file.txt: some notes on how config file might look

21 years ago2003-03-18 Anders Carlsson <andersca@codefactory.se> dbus-0.6
Anders Carlsson [Tue, 18 Mar 2003 09:41:54 +0000 (09:41 +0000)]
2003-03-18  Anders Carlsson  <andersca@codefactory.se>

* configure.in: 0.6

* NEWS: Update.

21 years ago2003-03-17 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Mon, 17 Mar 2003 23:46:21 +0000 (23:46 +0000)]
2003-03-17  Havoc Pennington  <hp@redhat.com>

* 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

21 years ago2003-03-17 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Mon, 17 Mar 2003 23:29:03 +0000 (23:29 +0000)]
2003-03-17  Havoc Pennington  <hp@redhat.com>

* 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

21 years ago2003-03-17 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Mon, 17 Mar 2003 06:49:33 +0000 (06:49 +0000)]
2003-03-17  Anders Carlsson  <andersca@codefactory.se>

* 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.

21 years ago2003-03-17 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Mon, 17 Mar 2003 05:39:10 +0000 (05:39 +0000)]
2003-03-17  Havoc Pennington  <hp@pobox.com>

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

21 years ago2003-03-16 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Mon, 17 Mar 2003 03:09:31 +0000 (03:09 +0000)]
2003-03-16  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot

21 years ago2003-03-17 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Mon, 17 Mar 2003 02:26:41 +0000 (02:26 +0000)]
2003-03-17  Anders Carlsson  <andersca@codefactory.se>

* bus/activation.c (bus_activation_activate_service): Append
the pending activation entry to the list of pending activations.

21 years ago2003-03-16 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Mon, 17 Mar 2003 02:20:18 +0000 (02:20 +0000)]
2003-03-16  Havoc Pennington  <hp@pobox.com>

* 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

21 years ago2003-03-16 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Mon, 17 Mar 2003 01:54:37 +0000 (01:54 +0000)]
2003-03-16  Havoc Pennington  <hp@pobox.com>

* 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

21 years ago2003-03-16 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sun, 16 Mar 2003 22:29:14 +0000 (22:29 +0000)]
2003-03-16  Anders Carlsson  <andersca@codefactory.se>

* doc/dbus-specification.sgml:
Document reply message for ActivateService.

21 years ago2003-03-16 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sun, 16 Mar 2003 22:25:18 +0000 (22:25 +0000)]
2003-03-16  Anders Carlsson  <andersca@codefactory.se>

* 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.

21 years ago2003-03-16 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 16 Mar 2003 21:01:57 +0000 (21:01 +0000)]
2003-03-16  Havoc Pennington  <hp@pobox.com>

* 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

21 years ago2003-03-16 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 16 Mar 2003 20:16:47 +0000 (20:16 +0000)]
2003-03-16  Havoc Pennington  <hp@pobox.com>

* 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

21 years ago2003-03-16 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 16 Mar 2003 17:47:04 +0000 (17:47 +0000)]
2003-03-16  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
implementation

21 years ago2003-03-16 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sun, 16 Mar 2003 13:32:10 +0000 (13:32 +0000)]
2003-03-16  Anders Carlsson  <andersca@codefactory.se>

* 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.

21 years ago2003-03-16 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 16 Mar 2003 08:31:00 +0000 (08:31 +0000)]
2003-03-16  Havoc Pennington  <hp@pobox.com>

* 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

21 years ago2003-03-16 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 16 Mar 2003 08:08:21 +0000 (08:08 +0000)]
2003-03-16  Havoc Pennington  <hp@pobox.com>

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

21 years ago2003-03-15 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 15 Mar 2003 20:47:16 +0000 (20:47 +0000)]
2003-03-15  Havoc Pennington  <hp@pobox.com>

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

21 years ago2003-03-15 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 15 Mar 2003 06:00:01 +0000 (06:00 +0000)]
2003-03-15  Havoc Pennington  <hp@pobox.com>

* 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.

21 years ago2003-03-14 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 15 Mar 2003 04:25:09 +0000 (04:25 +0000)]
2003-03-14  Havoc Pennington  <hp@pobox.com>

* bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
transport, tests more of the real codepath. Set up clients
with bus_setup_debug_client.

* bus/test.c (bus_setup_debug_client): function to set up debug
"clients" on the main loop

* dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
support

* dbus/dbus-server.c (dbus_server_listen): add debug-pipe
server type

* dbus/dbus-server-debug.c: support a debug server based on pipes

* dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
(_dbus_close): new function

* configure.in: check for socketpair

21 years ago2003-03-14 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 15 Mar 2003 02:19:02 +0000 (02:19 +0000)]
2003-03-14  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-memory.c: add a "detect buffer overwrites on free"
cheesy hack

* dbus/dbus-transport-debug.c: rework this a good bit to be
less complicated. hopefully still works.

* dbus/dbus-server-debug.c (handle_new_client): remove timeout
manually

* glib/dbus-gmain.c (timeout_handler): don't remove timeout
after running it

* dbus/dbus-message.c (dbus_message_copy): rename from
dbus_message_new_from_message, fix it up to copy
all the message fields, add test case

* bus/dispatch.c (bus_dispatch_test): add some more test code,
not quite passing yet

21 years ago2003-03-14 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 14 Mar 2003 05:17:19 +0000 (05:17 +0000)]
2003-03-14  Havoc Pennington  <hp@pobox.com>

* bus/loop.c (bus_loop_iterate): add this so we can "run loop
until no work remains" in test code. (the large diff here
is just code movement, no actual changes)

* dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
1, no point waiting around for test code.
(_dbus_server_debug_accept_transport): unref the timeout
after adding it (right?)

* dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto

21 years ago2003-03-13 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 14 Mar 2003 01:27:58 +0000 (01:27 +0000)]
2003-03-13  Havoc Pennington  <hp@redhat.com>

* 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

21 years ago2003-03-14 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Fri, 14 Mar 2003 00:59:12 +0000 (00:59 +0000)]
2003-03-14  Anders Carlsson  <andersca@codefactory.se>

* bus/dispatch.c (send_service_nonexistent_error): Fix typo.

21 years ago2003-03-13 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Thu, 13 Mar 2003 06:18:06 +0000 (06:18 +0000)]
2003-03-13  Havoc Pennington  <hp@pobox.com>

* bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
set up a test framework as for the library

21 years ago2003-03-12 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Thu, 13 Mar 2003 03:52:58 +0000 (03:52 +0000)]
2003-03-12  Havoc Pennington  <hp@pobox.com>

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

21 years ago2003-03-12 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Thu, 13 Mar 2003 00:56:43 +0000 (00:56 +0000)]
2003-03-12  Havoc Pennington  <hp@redhat.com>

        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

21 years ago2003-03-10 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Mon, 10 Mar 2003 00:13:55 +0000 (00:13 +0000)]
2003-03-10  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-marshal.c:
(_dbus_marshal_set_string):
Take a length argument so we can marshal the correct string
length.

(_dbus_marshal_dict), (_dbus_demarshal_dict),
(_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
(_dbus_marshal_test):
* dbus/dbus-marshal.h:
Add support for marshalling and demarshalling dicts.

* dbus/dbus-message-builder.c: (_dbus_message_data_load):
Add support for TYPE DICT.

* dbus/dbus-message.c: (set_string_field):
Adjust header padding.

(dbus_message_append_args_valist), (dbus_message_append_dict),
(dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
(dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
(check_message_handling), (check_have_valid_message):
* dbus/dbus-message.h:
Add functions for setting and getting dicts.

* dbus/dbus-protocol.h:
Add DBUS_TYPE_DICT.

* dbus/dbus.h:
Add dbus-dict.h

* doc/dbus-specification.sgml:
Add information about how dicts are marshalled.

* test/data/invalid-messages/dict-with-nil-value.message:
* test/data/invalid-messages/too-short-dict.message:
* test/data/valid-messages/dict-simple.message:
* test/data/valid-messages/dict.message:
Add sample messages containing dicts.

21 years ago2003-03-08 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Sat, 8 Mar 2003 10:34:58 +0000 (10:34 +0000)]
2003-03-08  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-dict.h: Add DBUS_END_DECLS.

21 years ago2003-03-07 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Fri, 7 Mar 2003 13:39:07 +0000 (13:39 +0000)]
2003-03-07  Anders Carlsson  <andersca@codefactory.se>

* dbus/Makefile.am:
* dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
(dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
(dbus_dict_set_int32), (dbus_dict_set_uint32),
(dbus_dict_set_double), (dbus_dict_set_string),
(dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
(dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
(dbus_dict_set_string_array), (_dbus_dict_test):
* dbus/dbus-dict.h:
Fix according to comments from Havoc.

21 years ago2003-03-06 Michael Meeks <michael@server.home>
Michael Meeks [Fri, 7 Mar 2003 10:08:56 +0000 (10:08 +0000)]
2003-03-06  Michael Meeks  <michael@server.home>

        * configure.in: if we don't have kde-config, disable have_qt.

21 years ago2003-03-07 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Thu, 6 Mar 2003 23:11:49 +0000 (23:11 +0000)]
2003-03-07  Anders Carlsson  <andersca@codefactory.se>

* dbus/Makefile.am:
Add dbus-dict.[ch]

* dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
(dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
(dbus_dict_remove), (dbus_dict_get_value_type),
(dbus_dict_get_keys), (dbus_dict_put_boolean),
(dbus_dict_put_int32), (dbus_dict_put_uint32),
(dbus_dict_put_double), (dbus_dict_put_string),
(dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
(dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
(dbus_dict_put_string_array), (dbus_dict_get_boolean),
(dbus_dict_get_int32), (dbus_dict_get_uint32),
(dbus_dict_get_double), (dbus_dict_get_string),
(dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
(dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
(dbus_dict_get_string_array), (_dbus_dict_test):
* dbus/dbus-dict.h:
Add DBusDict implementation

* dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
* dbus/dbus-test.h:
Add _dbus_dict_test.

21 years ago2003-03-04 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Wed, 5 Mar 2003 02:01:34 +0000 (02:01 +0000)]
2003-03-04  Havoc Pennington  <hp@pobox.com>

* test/data/auth/*: adapt to changes

* dbus/dbus-auth-script.c (_dbus_auth_script_run): add
USERID_BASE64 and change USERNAME_BASE64 to put in username not
userid

* dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
more stuff from being in a context name, to make the protocol
simpler to deal with

* dbus/dbus-errors.c (dbus_error_has_name): new function
(dbus_error_is_set): new function

* dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1

* dbus/dbus-connection.c (dbus_connection_flush): also read
messages during a flush operation

* dbus/Makefile.am: remove dbus-md5 since it isn't currently used.

21 years ago2003-03-05 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Tue, 4 Mar 2003 23:47:48 +0000 (23:47 +0000)]
2003-03-05  Anders Carlsson  <andersca@codefactory.se>

* configure.in: Check for gethostbyname on Solaris.

21 years agoDoh
Anders Carlsson [Tue, 4 Mar 2003 23:06:11 +0000 (23:06 +0000)]
Doh

21 years ago2003-03-05 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Tue, 4 Mar 2003 23:02:40 +0000 (23:02 +0000)]
2003-03-05  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-transport.c: (_dbus_transport_open):
Remove duplicate "tcp" entry.

* doc/dbus-specification.sgml:
Clarify some things.

21 years ago2003-03-05 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Tue, 4 Mar 2003 23:00:19 +0000 (23:00 +0000)]
2003-03-05  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
* dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
(_dbus_keyring_test):
* dbus/dbus-md5.c: (_dbus_md5_compute):
* dbus/dbus-sha.c: (_dbus_sha_compute):
Plug memory leaks.

21 years agoPrepare for spam
Anders Carlsson [Tue, 4 Mar 2003 22:58:56 +0000 (22:58 +0000)]
Prepare for spam

21 years ago2003-03-05 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Tue, 4 Mar 2003 22:53:20 +0000 (22:53 +0000)]
2003-03-05  Anders Carlsson  <andersca@codefactory.se>

* README: Add some things.

21 years ago2003-03-04 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Tue, 4 Mar 2003 16:59:44 +0000 (16:59 +0000)]
2003-03-04  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
after case DBUS_TYPE_BOOELAN.

21 years agofix email address
Joe Shaw [Sun, 2 Mar 2003 20:45:50 +0000 (20:45 +0000)]
fix email address

21 years ago2003-03-02 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 2 Mar 2003 17:34:30 +0000 (17:34 +0000)]
2003-03-02  Havoc Pennington  <hp@pobox.com>

* test/break-loader.c (randomly_set_extreme_ints): add test that
sets really huge and small integers

* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
that length of boolean array fits in the string, and that
string has room for boolean value in single-bool case.

* dbus/dbus-message-builder.c (_dbus_message_data_load): add
optional value to "ALIGN" command which is what to fill the
alignment with.

* test/data/valid-messages/no-padding.message: add regression
test for the message padding problem

21 years ago2003-03-02 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 2 Mar 2003 16:26:15 +0000 (16:26 +0000)]
2003-03-02  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-message.c (decode_header_data): fix to always init
message_padding, from Benjamin Dauvergne

21 years ago2003-03-02 Havoc Pennington <hp@pobox.com> dbus-0.5
Havoc Pennington [Sun, 2 Mar 2003 05:58:08 +0000 (05:58 +0000)]
2003-03-02  Havoc Pennington  <hp@pobox.com>

* configure.in: 0.5

* NEWS: Update.

21 years ago2003-03-01 Joe Shaw <joe@ximian.com>
Joe Shaw [Sat, 1 Mar 2003 20:50:18 +0000 (20:50 +0000)]
2003-03-01  Joe Shaw  <joe@ximian.com>

* configure.in: Check for "struct cmsgcred" and try to access its
members for BSD-like unices.

* dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
_dbus_read_credentials_unix_socket().
(_dbus_read_credentials_unix_socket): Use recvmsg() instead of
read() for reading the credential byte off the unix socket.  Use
struct cmsgcred on systems that support it.

21 years ago2003-02-27 Alexander Larsson <alexl@redhat.com>
Alexander Larsson [Thu, 27 Feb 2003 14:22:36 +0000 (14:22 +0000)]
2003-02-27  Alexander Larsson  <alexl@redhat.com>

* glib/Makefile.am:
* configure.in:
Make gthreads-2.0 dependency optional. Don't build thread test if
its not found.

21 years ago2003-02-27 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Thu, 27 Feb 2003 05:12:39 +0000 (05:12 +0000)]
2003-02-27  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-connection.c
(dbus_connection_send_message_with_reply_and_block): fix doh!
doh! doh! bug that resulted in never removing a reply from the
queue, no wonder we called get_reply_serial so much ;-)

* dbus/dbus-message.c (struct DBusMessage): cache reply serial
and client serial instead of demarshaling them every time

21 years ago2003-02-27 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Thu, 27 Feb 2003 04:17:44 +0000 (04:17 +0000)]
2003-02-27  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
more inlined, using dbus-string-private.h, speeds things up
substantially

* dbus/dbus-string.c (_dbus_string_free): apply align offset
when freeing the string
(_dbus_string_steal_data): fix for align offset
(undo_alignment): new function

21 years ago2003-02-26 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 26 Feb 2003 22:08:19 +0000 (22:08 +0000)]
2003-02-26  Havoc Pennington  <hp@redhat.com>

        All kinds of audit fixes from Owen, plus initial attempt to
handle unaligned memory returned from malloc.

* dbus/dbus-string.c (_dbus_string_init): clamp max length to
leave room for align_offset and nul byte
(fixup_alignment): function to track an align_offset and
ensure real->str is aligned
(DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
to allow a nul byte plus align offset
(_dbus_string_lock): fix overflow issue
(_dbus_string_init_const_len): add assertions on sanity of len,
assign allocated to be ALLOCATION_PADDING larger than len
(set_length): fixup the overflow handling
(_dbus_string_get_data_len): fix overflow in assertion
(open_gap): detect overflow in size of gap to be opened
(_dbus_string_lengthen): add overflow check
(_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
(_dbus_string_append): add overflow check
(_dbus_string_append_unichar): overflow
(_dbus_string_delete): fix overflow in assertion
(_dbus_string_copy_len): overflow in assertion
(_dbus_string_replace_len): overflows in assertions
(_dbus_string_find): change to implement in terms of
_dbus_string_find_to
(_dbus_string_find_to): assorted fixage
(_dbus_string_equal_c_str): assert c_str != NULL,
fix logic so the function works
(_dbus_string_ends_with_c_str): fix overflow thingy
(_dbus_string_base64_encode): overflow fix
(_dbus_string_validate_ascii): overflow
(_dbus_string_validate_nul): overflow

21 years ago2003-02-26 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 26 Feb 2003 18:26:13 +0000 (18:26 +0000)]
2003-02-26  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS

21 years ago2003-02-26 Alexander Larsson <alexl@redhat.com>
Alexander Larsson [Wed, 26 Feb 2003 15:52:25 +0000 (15:52 +0000)]
2003-02-26  Alexander Larsson  <alexl@redhat.com>

* 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.

21 years ago2003-02-26 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Wed, 26 Feb 2003 06:42:57 +0000 (06:42 +0000)]
2003-02-26  Havoc Pennington  <hp@pobox.com>

* 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

21 years ago2003-02-24 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Mon, 24 Feb 2003 20:26:13 +0000 (20:26 +0000)]
2003-02-24  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
* dbus/dbus-message-builder.c: (_dbus_message_data_load):
* dbus/dbus-message.c: (dbus_message_append_boolean),
(dbus_message_append_boolean_array),
(dbus_message_get_args_valist), (_dbus_message_test):
* dbus/dbus-message.h:
* doc/dbus-specification.sgml:
Various fixes as pointed out by Havoc.

* test/data/invalid-messages/bad-boolean-array.message:
* test/data/invalid-messages/bad-boolean.message:
Add invalid boolean value test cases.

21 years agoFix changelog
Anders Carlsson [Mon, 24 Feb 2003 19:17:48 +0000 (19:17 +0000)]
Fix changelog

21 years ago2003-02-24 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Mon, 24 Feb 2003 19:04:13 +0000 (19:04 +0000)]
2003-02-24  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-internals.c: (_dbus_type_to_string):
* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
(_dbus_marshal_validate_arg):
* dbus/dbus-message-builder.c: (_dbus_message_data_load):
* dbus/dbus-message.c: (dbus_message_append_args_valist),
(dbus_message_append_boolean), (dbus_message_append_boolean_array),
(dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
(dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
(dbus_message_iter_get_double),
(dbus_message_iter_get_boolean_array), (message_iter_test):
* dbus/dbus-message.h:
* dbus/dbus-protocol.h:
* doc/dbus-specification.sgml:
* test/data/valid-messages/lots-of-arguments.message:
Add support for boolean and boolean array types.

21 years ago2003-02-23 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Mon, 24 Feb 2003 02:24:13 +0000 (02:24 +0000)]
2003-02-23  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-keyring.c: finish most of this implementation and
simple unit test

* dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
these barf if the error isn't cleared to NULL

* dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
(_dbus_create_directory): new function

* dbus/dbus-errors.c (dbus_set_error): fix warning

* dbus/dbus-string.c (_dbus_string_hex_encode): new function
(_dbus_string_hex_decode): new function
(test_hex_roundtrip): test code

* dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode

* dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode

* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
the save-to-temp/rename trick to atomically write the new file
(_dbus_string_parse_uint): new function

21 years agofix a warning
Joe Shaw [Sun, 23 Feb 2003 03:36:20 +0000 (03:36 +0000)]
fix a warning

21 years ago2003-02-22 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 22 Feb 2003 17:31:24 +0000 (17:31 +0000)]
2003-02-22  Havoc Pennington  <hp@pobox.com>

* test/Makefile.am (dist-hook): fix dist for test/data/sha-1

21 years ago2003-02-22 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 22 Feb 2003 17:29:48 +0000 (17:29 +0000)]
2003-02-22  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-message.c (dbus_message_iter_get_string_array):
(dbus_message_iter_get_byte_array): Fix up doxygen warnings

* dbus/dbus-sha.c: add implementation of SHA-1 algorithm

* dbus/test/data/sha-1: add US government test suite for SHA-1

21 years ago2003-02-21 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Fri, 21 Feb 2003 20:51:34 +0000 (20:51 +0000)]
2003-02-21  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
Make string arrays NULL-terminated.

* dbus/dbus-memory.c: (dbus_free_string_array):
* dbus/dbus-memory.h:
New function for freeing NULL-terminated string arrays.

* dbus/dbus-message-builder.c: (append_quoted_string),
(_dbus_message_data_load):
Add support for array types.

* dbus/dbus-message.c: (check_message_handling):
Add more types as test cases.

* dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
(_dbus_string_parse_double):
Add the start offset to the end offset.

* test/data/valid-messages/lots-of-arguments.message:
New test message with lots of arguments.

21 years ago2003-02-21 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Fri, 21 Feb 2003 18:45:08 +0000 (18:45 +0000)]
2003-02-21  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-message.c: (dbus_message_append_nil),
(dbus_message_append_int32), (dbus_message_append_uint32),
(dbus_message_append_double), (dbus_message_append_string),
(dbus_message_append_int32_array),
(dbus_message_append_uint32_array),
(dbus_message_append_double_array),
(dbus_message_append_byte_array),
(dbus_message_append_string_array):
Fix all out-of-memory handling in these functions.

21 years ago2003-02-21 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Fri, 21 Feb 2003 15:23:04 +0000 (15:23 +0000)]
2003-02-21  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-message.c: (dbus_message_append_args_valist),
(dbus_message_append_nil), (dbus_message_append_int32_array),
(dbus_message_append_uint32_array),
(dbus_message_append_double_array),
(dbus_message_append_byte_array),
(dbus_message_append_string_array), (dbus_message_get_args_valist),
(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/dbus-message.h:
Add functions for appending and getting arrays.

21 years ago2003-02-21 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Fri, 21 Feb 2003 13:58:14 +0000 (13:58 +0000)]
2003-02-21  Anders Carlsson  <andersca@codefactory.se>

* dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
element size at least 8 bytes, fixes mempool tests on
64-bit machines.

21 years ago2003-02-20 Alexander Larsson <alexl@redhat.com>
Alexander Larsson [Thu, 20 Feb 2003 10:00:48 +0000 (10:00 +0000)]
2003-02-20  Alexander Larsson  <alexl@redhat.com>

* dbus/dbus-transport-unix.c (unix_do_iteration):
Unlock the connection mutex during a blocking select call.
Add todo about how we need a way to wake up the select.

* dbus/dbus-connection-internal.h:
* dbus/dbus-connection.c:
Add _dbus_connection_lock and _dbus_connection_unlock.

21 years ago2003-02-19 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Thu, 20 Feb 2003 03:43:18 +0000 (03:43 +0000)]
2003-02-19  Havoc Pennington  <hp@pobox.com>

* Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
Doxyfile.in, not Doxyfile

* dbus/dbus-keyring.c: do some hacking on this

* dbus/dbus-sysdeps.c (_dbus_delete_file): new

* dbus/dbus-errors.c (dbus_set_error_const): do not call
dbus_error_init
(dbus_set_error): remove dbus_error_init, check for message ==
NULL *before* we sprintf into it, and add @todo about including
system headers in this file

* dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new

* dbus/dbus-errors.h (DBUS_ERROR_FAILED): add

* dbus/dbus-sysdeps.c (get_user_info): break this function out to
get various bits of user information based on either username
or user ID
(_dbus_homedir_from_username): new function

21 years ago2003-02-19 Anders Carlsson <andersca@codefactory.se>
Anders Carlsson [Wed, 19 Feb 2003 16:23:41 +0000 (16:23 +0000)]
2003-02-19  Anders Carlsson  <andersca@codefactory.se>

* configure.in:
Add check for nonposix getpwnam_r

* dbus/dbus-mempool.c: (_dbus_mem_pool_new):
Align the pool element size to a sizeof (void *) boundary.

* dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
(_dbus_listen_unix_socket), (_dbus_credentials_from_username):
General Solaris fixes.

* test/data/valid-messages/simplest-manual.message:
Explicitly state that we want little-endian packing.

21 years agoforgot to remove a header
Mikael Hallendal [Wed, 19 Feb 2003 08:14:23 +0000 (08:14 +0000)]
forgot to remove a header

21 years ago2003-02-19 Mikael Hallendal <micke@codefactory.se>
Mikael Hallendal [Wed, 19 Feb 2003 08:13:31 +0000 (08:13 +0000)]
2003-02-19  Mikael Hallendal  <micke@codefactory.se>

* dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.

* dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
Added to create a transport connecting using a tcp/ip socket.

* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
to a tcp socket at given host and port.
(_dbus_listen_tcp_socket): added to listen on tcp socket for given
hostname and port.

* dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.

* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
Added to create a server listening on a TCP/IP socket.

21 years ago2003-02-19 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Wed, 19 Feb 2003 03:53:24 +0000 (03:53 +0000)]
2003-02-19  Havoc Pennington  <hp@pobox.com>

Throughout: mop up all the Doxygen warnings and undocumented
stuff.

* dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
to search any paths.

* dbus/dbus-threads.c: move global mutex initializers to
dbus-internals.h, multiple prototypes was confusing doxygen
besides being kind of ugly

* Doxyfile (PREDEFINED): have Doxygen define
DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
(do not abuse the feature! it's for stuff like the autogenerated
macros in dbus-md5.c, not just for things you don't feel like
documenting...)

21 years ago2003-02-18 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Wed, 19 Feb 2003 03:18:55 +0000 (03:18 +0000)]
2003-02-18  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-string.c (_dbus_string_zero): new function

* dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
wrap it in some dbus-friendly API

* dbus/dbus-types.h: add 16-bit types

21 years ago2003-02-18 Joe Shaw <joe@assbarn.com>
Joe Shaw [Tue, 18 Feb 2003 22:51:35 +0000 (22:51 +0000)]
2003-02-18  Joe Shaw  <joe@assbarn.com>

* 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.

21 years agoanother FIXME about method call mapping signals and slots
Havoc Pennington [Tue, 18 Feb 2003 04:43:35 +0000 (04:43 +0000)]
another FIXME about method call mapping signals and slots

21 years agoadd FIXME about how we might want to consider BYTE or BOOL
Havoc Pennington [Tue, 18 Feb 2003 04:39:05 +0000 (04:39 +0000)]
add FIXME about how we might want to consider BYTE or BOOL

21 years ago2003-02-18 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Tue, 18 Feb 2003 04:25:30 +0000 (04:25 +0000)]
2003-02-18  Havoc Pennington  <hp@pobox.com>

* AUTHORS: add Alex

21 years ago2003-02-17 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Tue, 18 Feb 2003 03:08:04 +0000 (03:08 +0000)]
2003-02-17  Havoc Pennington  <hp@pobox.com>

* doc/dbus-specification.sgml: lots of cosmetic
cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
env variable to DBUS_BUS_ADDRESS, s/client/application/,
s/server/bus/ (except in authentication section). Add a section
"Message Bus Message Routing"