platform/upstream/dbus.git
21 years ago2003-04-03 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Thu, 3 Apr 2003 21:56:22 +0000 (21:56 +0000)]
2003-04-03  Havoc Pennington  <hp@redhat.com>

* bus/activation.c (load_directory): fix up memleaks
(bus_activation_entry_free): free the entry

* dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
we get one from the message bus; fix memleaks.

* dbus/dbus-message.c (dbus_set_error_from_message): new function

21 years agocommit adds/removes here before builddir contents confuse matters
Havoc Pennington [Thu, 3 Apr 2003 21:25:10 +0000 (21:25 +0000)]
commit adds/removes here before builddir contents confuse matters

21 years ago2003-04-03 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Thu, 3 Apr 2003 05:22:49 +0000 (05:22 +0000)]
2003-04-03  Havoc Pennington  <hp@pobox.com>

* bus/config-parser.c (bus_config_parser_unref): free
list of mechanisms, bug discovered by test suite enhancements
(putting system.conf and session.conf into suite)

* test/Makefile.am, test/test-service.c: add placeholder for a
test service that we'll activate as part of test suite. Doesn't
do anything yet.

* dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by
setting NULL value, and use system malloc not dbus_malloc()
when we have unavoidable memleakage.

* dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
didn't work, and support DBUS_BUS_ACTIVATION.

* bus/activation.c (child_setup): pass our well-known bus type to
the child

* bus/config-parser.c: support <type> to specify well-known type

* doc/dbus-specification.sgml: document the env variables to
locate well-known buses and find service activator

21 years ago2003-04-02 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Thu, 3 Apr 2003 00:01:15 +0000 (00:01 +0000)]
2003-04-02  Havoc Pennington  <hp@redhat.com>

* test/Makefile.am (all-local): add a rule to copy tests to
builddir, so we can have generated tests. Use this to remove the
silly hack for testing system.conf and session.conf. Will use this
shortly to generate .service files pointing to test binaries.

21 years ago2003-04-02 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 2 Apr 2003 21:52:38 +0000 (21:52 +0000)]
2003-04-02  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-string.c (set_length): fix a bug - we allocated max of
current alloc and needed new length, not max of the doubled
allocation and needed new length. Also, when building tests,
don't do the double-allocation stuff, just realloc every time.

21 years ago2003-04-02 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 2 Apr 2003 21:43:29 +0000 (21:43 +0000)]
2003-04-02  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
in error messages
(_dbus_string_get_dirname): new
(_dbus_sysdeps_test): new
(_dbus_directory_open): include dirnames in error messages

* bus/config-parser.c: interpret <include> and <includedir> and
<servicedir> relative to config file location if the given
filename is not absolute.

* dbus/dbus-string.c (_dbus_string_find_byte_backward): new

21 years ago2003-04-02 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 2 Apr 2003 20:14:52 +0000 (20:14 +0000)]
2003-04-02  Havoc Pennington  <hp@redhat.com>

* bus/connection.c (bus_transaction_send_error_reply): set sender
service for the error, and unref the reply on success

* bus/activation.c: convert to use BusTransaction so OOM can be
handled correctly
(bus_activation_service_created): set sender of the message

21 years ago2003-04-01 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 2 Apr 2003 00:29:33 +0000 (00:29 +0000)]
2003-04-01  Havoc Pennington  <hp@redhat.com>

* bus/config-parser.c, bus/bus.c: implement <servicedir> and
<includedir> (at least mostly)

* dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
first, then the user ID

21 years ago2003-04-01 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Tue, 1 Apr 2003 05:33:01 +0000 (05:33 +0000)]
2003-04-01  Havoc Pennington  <hp@pobox.com>

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

* dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new

* dbus/dbus-internals.c (_dbus_dup_string_array): new function

* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
socket 0777, and unlink any existing socket.

* bus/bus.c (bus_context_new): change our UID/GID and fork if
the configuration file so specifies; set up auth mechanism
restrictions

* bus/config-parser.c (bus_config_parser_content): add support
for <fork> option and fill in code for <auth>

* bus/system.conf.in: add <fork/> to default configuration,
and limit auth mechanisms to EXTERNAL

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

* dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
(_dbus_change_identity): new function

21 years ago2003-03-31 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Tue, 1 Apr 2003 00:43:06 +0000 (00:43 +0000)]
2003-03-31  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket)
(_dbus_listen_unix_socket): fix off-by-one error in null
termination spotted by Nalin

21 years ago2003-03-31 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Tue, 1 Apr 2003 00:21:24 +0000 (00:21 +0000)]
2003-03-31  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
having a real home directory available.

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

* bus/Makefile.am (install-data-hook): create /var/run/dbus

* bus/messagebus.in: add init script for Red Hat /etc/init.d

* configure.in: add support for specifying a style of init script
to install

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.