platform/upstream/dbus.git
21 years ago2003-04-27 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 27 Apr 2003 06:25:42 +0000 (06:25 +0000)]
2003-04-27  Havoc Pennington  <hp@pobox.com>

Unbreak my code...

* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
report correct status if we finish processing authentication
inside this function.

* bus/activation.c (try_send_activation_failure): use
bus_transaction_send_error_reply

* bus/connection.c (bus_connection_get_groups): return an error
explaining the problem

* bus/bus.c (bus_context_check_security_policy): implement
restriction here that inactive connections can only send the
hello message. Also, allow bus driver to send anything to
any recipient.

* bus/connection.c (bus_connection_complete): create the
BusClientPolicy here instead of on-demand.
(bus_connection_get_policy): don't return an error

* dbus/dbus-message.c (dbus_message_new_error_reply): allow NULL
sender field in message being replied to

* bus/bus.c (bus_context_check_security_policy): fix silly typo
causing it to return FALSE always

* bus/policy.c (bus_client_policy_check_can_send): fix bug where
we checked sender rather than destination

21 years ago2003-04-25 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 25 Apr 2003 23:50:34 +0000 (23:50 +0000)]
2003-04-25  Havoc Pennington  <hp@redhat.com>

        test suite is slightly hosed at the moment, will fix soon

* bus/connection.c (bus_connections_expire_incomplete): fix to
properly disable the timeout when required
(bus_connection_set_name): check whether we can remove incomplete
connections timeout after we complete each connection.

* dbus/dbus-mainloop.c (check_timeout): fix this up a bit,
probably still broken.

* bus/services.c (bus_registry_acquire_service): implement max
number of services owned, and honor allow/deny rules on which
services a connection can own.

* bus/connection.c (bus_connection_get_policy): report errors here

* bus/activation.c: implement limit on number of pending
activations

21 years ago2003-04-25 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 25 Apr 2003 20:48:45 +0000 (20:48 +0000)]
2003-04-25  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug
where we used >= 0 instead of != DBUS_UID_UNSET.

21 years ago2003-04-25 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 25 Apr 2003 20:41:49 +0000 (20:41 +0000)]
2003-04-25  Havoc Pennington  <hp@redhat.com>

* glib/dbus-gmain.c (remove_watch): fix for a crash when watches
were toggled without add/remove, fix from Anders Gustafsson

21 years ago2003-04-24 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Thu, 24 Apr 2003 22:30:38 +0000 (22:30 +0000)]
2003-04-24  Havoc Pennington  <hp@redhat.com>

* test/data/valid-config-files/basic.conf: add <limit> tags to
this test

* bus/config-parser.h, bus/config-parser.c, bus/bus.c: Implement
<limit> tag in configuration file.

21 years ago2003-04-24 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Thu, 24 Apr 2003 21:26:25 +0000 (21:26 +0000)]
2003-04-24  Havoc Pennington  <hp@redhat.com>

* bus/dispatch.c: somehow missed some name_is

* dbus/dbus-timeout.c (_dbus_timeout_set_enabled)
(_dbus_timeout_set_interval): new

* bus/connection.c (bus_connections_setup_connection): record time
when each connection is first set up, and expire them after the
auth timeout passes.

21 years agoremove TODO item for the name_is rename
Havoc Pennington [Thu, 24 Apr 2003 19:36:04 +0000 (19:36 +0000)]
remove TODO item for the name_is rename

21 years ago2003-04-24 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Thu, 24 Apr 2003 19:35:11 +0000 (19:35 +0000)]
2003-04-24  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-message.c (dbus_message_name_is): rename
(dbus_message_service_is): rename
(dbus_message_sender_is): rename
(dbus_message_get_service): rename

21 years ago2003-04-24 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Thu, 24 Apr 2003 19:18:23 +0000 (19:18 +0000)]
2003-04-24  Havoc Pennington  <hp@redhat.com>

* configure.in: add --enable-checks

* dbus/dbus-message.c (dbus_message_new): reverse name/service arguments

* dbus/dbus-connection.c (dbus_connection_preallocate_send): fix
to use thread locks.
(_dbus_connection_handler_destroyed_locked): move some private
functions into proper docs group

* dbus/dbus-internals.h: add _dbus_return_if_fail,
_dbus_return_val_if_fail

Throughout: use dbus_return_if_fail

21 years ago2003-04-23 James Willcox <jwillcox@gnome.org>
James Willcox [Thu, 24 Apr 2003 02:22:49 +0000 (02:22 +0000)]
2003-04-23  James Willcox  <jwillcox@gnome.org>

* glib/dbus-glib.h:
* glib/dbus-gmain.c: (add_timeout), (wakeup_main), (create_source),
(dbus_connection_setup_with_g_main),
(dbus_server_setup_with_g_main):
* glib/test-dbus-glib.c: (main):
* glib/test-thread-client.c: (main):
* glib/test-thread-server.c: (new_connection_callback), (main):
* tools/dbus-monitor.c: (main):

Added a GMainContext argument to dbus_connection_setup_with_g_main()
and dbus_server_setup_with_g_main().

21 years ago2003-04-20 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Wed, 23 Apr 2003 03:36:12 +0000 (03:36 +0000)]
2003-04-20  Havoc Pennington  <hp@pobox.com>

* doc/dbus-specification.sgml: document the restrictions on
message and service names

21 years ago2003-04-22 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 23 Apr 2003 03:33:52 +0000 (03:33 +0000)]
2003-04-22  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-message.c, dbus/dbus-marshal.c: add 64-bit integer
support, and do some code cleanups to share more code and
speed up array marshal/demarshal.

* dbus-1.0.pc.in (Cflags): put libdir include file in cflags

* configure.in: generate dbus-arch-deps.h

* dbus/dbus-protocol.h (DBUS_TYPE_INT64, DBUS_TYPE_UINT64): add
64-bit typecodes

21 years ago2003-04-22 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Tue, 22 Apr 2003 19:34:33 +0000 (19:34 +0000)]
2003-04-22  Havoc Pennington  <hp@redhat.com>

* test/data/valid-messages/opposite-endian.message: fix test
to use proper type for rply field

        * test/data/invalid-messages: add tests for below validation

* dbus/dbus-message.c (decode_header_data): validate field types,
and validate that named fields are valid names
(decode_name_field): consider messages in the
org.freedesktop.Local. namespace to be invalid.

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

21 years ago2003-04-19 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 19 Apr 2003 16:16:24 +0000 (16:16 +0000)]
2003-04-19  Havoc Pennington  <hp@pobox.com>

* bus/driver.c (bus_driver_handle_hello): check limits and
return an error if they are exceeded.

* bus/connection.c: maintain separate lists of active and inactive
connections, and a count of each. Maintain count of completed
connections per user. Implement code to check connection limits.

* dbus/dbus-list.c (_dbus_list_unlink): export

* bus/bus.c (bus_context_check_security_policy): enforce a maximum
number of bytes in the message queue for a connection

21 years ago2003-04-18 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 18 Apr 2003 17:45:34 +0000 (17:45 +0000)]
2003-04-18  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-auth.c (record_mechanisms): memleak fixes

* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): fix some
memleaks

* dbus/dbus-keyring.c (add_new_key): fix a memleak, and
on realloc be sure to update the pointer in the keyring

* dbus/dbus-string.c (_dbus_string_zero): compensate for align
offset to avoid writing to unallocated memory

* dbus/dbus-auth.c (process_rejected): return FALSE if we fail to
try the next mechanism, so we properly handle OOM

* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): fix double-free
on OOM.
(_dbus_keyring_new): fix OOM bug
(_dbus_keyring_new_homedir): always set error; impose a maximum
number of keys we'll load from the file, mostly to speed up the
test suite and make its OOM checks more useful, but also for
general sanity.

* dbus/dbus-auth.c (process_error_server): reject authentication
if we get an error from the client
(process_cancel): on cancel, send REJECTED, per the spec
(process_error_client): send CANCEL if we get an error from the
server.

21 years ago2003-04-18 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 18 Apr 2003 05:52:11 +0000 (05:52 +0000)]
2003-04-18  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-mainloop.c (_dbus_loop_iterate): fix UMR in verbose
debug spew

* dbus/dbus-auth.c (handle_client_data_cookie_sha1_mech): fix OOM
handling problem

* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): only whine
about DBUS_TEST_HOMEDIR once

* bus/Makefile.am (TESTS_ENVIRONMENT): put DBUS_TEST_HOMEDIR in
the environment

* bus/dispatch.c (bus_dispatch_sha1_test): actually load sha1
config file so we test the right thing

Throughout: assorted docs improvements

21 years ago2003-04-18 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 18 Apr 2003 04:18:57 +0000 (04:18 +0000)]
2003-04-18  Havoc Pennington  <hp@pobox.com>

* glib/dbus-gmain.c: adapt to watch changes

* bus/bus.c, bus/activation.c, etc.: adjust to watch changes

* dbus/dbus-server.h: remove dbus_server_handle_watch

* dbus/dbus-connection.h: remove dbus_connection_handle_watch

* dbus/dbus-watch.c (dbus_watch_handle): change DBusWatch to work
like DBusTimeout, so we don't need dbus_connection_handle_watch
etc.

21 years ago2003-04-17 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Thu, 17 Apr 2003 23:17:04 +0000 (23:17 +0000)]
2003-04-17  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd
database usage so it all goes via the DBusUserDatabase cache.

21 years ago2003-04-17 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Thu, 17 Apr 2003 20:25:33 +0000 (20:25 +0000)]
2003-04-17  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-mainloop.c (_dbus_loop_iterate): fix logic so that if
there was an OOM watch we skipped, we always return TRUE so we
iterate again to have a look at it again. Fixes test suite hang.
Code rearrangement also lets us lose some memset and only iterate
over callbacks once.

* bus/driver.c (bus_driver_handle_message): sense of test for
reply was backward

21 years ago2003-04-16 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Thu, 17 Apr 2003 04:25:45 +0000 (04:25 +0000)]
2003-04-16  Havoc Pennington  <hp@pobox.com>

* doc/dbus-specification.sgml: make spec say serials are unsigned

* dbus/dbus-message.h: change message serials to unsigned

* dbus/dbus-connection.c: adapt to message serials being unsigned

21 years ago2003-04-15 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Thu, 17 Apr 2003 00:46:36 +0000 (00:46 +0000)]
2003-04-15  Havoc Pennington  <hp@pobox.com>

* bus/bus.c: create and keep around a shared DBusUserDatabase
object.

* bus/connection.c (bus_connection_get_groups): don't cache
groups for user in the connection object, since user database
object now does that.

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

* dbus/dbus-message.c (_dbus_message_add_size_counter): keep a
list of size counters
(_dbus_message_loader_putback_message_link): put back a popped link

* dbus/dbus-connection.c
(dbus_connection_set_max_live_messages_size): rename
max_received_size
(dbus_connection_get_outgoing_size): get size of outgoing
queue
(_dbus_connection_set_connection_counter): remove this cruft

21 years ago2003-04-14 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Mon, 14 Apr 2003 23:52:40 +0000 (23:52 +0000)]
2003-04-14  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-userdb.c: user database abstraction, mostly to get
caching, but at some point we might want to be able to use a
different database.

* bus/dispatch.c (bus_dispatch_sha1_test): add a test that uses
SHA1 conf file to test the sha1 auth mechanism, since the regular
test always uses EXTERNAL when available.

* configure.in,
test/data/valid-config-files/debug-allow-all-sha1.conf.in:
add conf file that requires use of sha1 auth

21 years ago2003-04-13 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Mon, 14 Apr 2003 03:25:19 +0000 (03:25 +0000)]
2003-04-13  Havoc Pennington  <hp@pobox.com>

        * tools/dbus-send.c, tools/dbus-monitor.c: two utility programs
from Philip Blundell to send messages and monitor them.

21 years ago2003-04-13 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Mon, 14 Apr 2003 02:29:21 +0000 (02:29 +0000)]
2003-04-13  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting
callbacks

* test/data/valid-config-files/debug-allow-all.conf.in: allow all
users

* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
fix to only recover unused bytes if we're already authenticated
(_dbus_transport_get_is_authenticated): fix to still mark us
authenticated if there are unused bytes.

* bus/dispatch.c: implement security policy checking

* bus/connection.c (bus_transaction_send_from_driver): new

* bus/bus.c (bus_context_check_security_policy): new

* bus/dispatch.c (send_service_nonexistent_error): delete this,
now we just set the DBusError and it gets converted to an error
reply.

* bus/connection.c (allow_user_function): enable code using actual
data from the config file

* bus/policy.c (list_allows_user): handle wildcard rules for
user/group connection perms

21 years ago2003-04-13 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 13 Apr 2003 08:33:10 +0000 (08:33 +0000)]
2003-04-13  Havoc Pennington  <hp@pobox.com>

* bus/config-parser.c: Load up the BusPolicy and BusPolicyRules

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

* bus/policy.c (bus_policy_append_mandatory_rule)
(bus_policy_append_default_rule, bus_policy_append_user_rule)
(bus_policy_append_group_rule): new functions

21 years ago2003-04-12 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 13 Apr 2003 00:10:53 +0000 (00:10 +0000)]
2003-04-12  Havoc Pennington  <hp@pobox.com>

* bus/config-parser.c (bus_config_parser_new): fix a memleak

* dbus/dbus-sysdeps.c: change DBusCredentials to use longs for
the pid/gid/uid, just for paranoia.

* test/break-loader.c (randomly_do_n_things): find a byte
containing a type code, and randomly change it to a different
type code.

21 years ago2003-04-12 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 12 Apr 2003 18:32:11 +0000 (18:32 +0000)]
2003-04-12  Havoc Pennington  <hp@pobox.com>

* bus/policy.h: change BusPolicy to be the thing from the config
file, and rename old BusPolicy to BusClientPolicy

* bus/bus.c, bus/connection.c, bus/config-parser.c: change to
match change in how policy works

* dbus/dbus-internals.h: mark assert_not_reached as
__attribute((noreturn))__

21 years ago2003-04-11 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 11 Apr 2003 21:21:21 +0000 (21:21 +0000)]
2003-04-11  Havoc Pennington  <hp@redhat.com>

* configure.in: add another directory to look for qt in.

21 years ago2003-04-11 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 11 Apr 2003 20:31:10 +0000 (20:31 +0000)]
2003-04-11  Havoc Pennington  <hp@redhat.com>

* AUTHORS: add Colin Walters

21 years ago2003-04-11 Havoc Pennington <hp@redhat.com> dbus-0.9
Havoc Pennington [Fri, 11 Apr 2003 20:25:34 +0000 (20:25 +0000)]
2003-04-11  Havoc Pennington  <hp@redhat.com>

* NEWS: update

* configure.in: 0.9

21 years ago2003-04-11 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 11 Apr 2003 20:20:05 +0000 (20:20 +0000)]
2003-04-11  Havoc Pennington  <hp@redhat.com>

* bus/messagebus.in: remove pid file when stopping the
message bus, since the bus won't have privileges to remove it
itself.

21 years ago2003-04-11 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 11 Apr 2003 20:10:36 +0000 (20:10 +0000)]
2003-04-11  Havoc Pennington  <hp@redhat.com>

* bus/bus.c (bus_context_new): move credentials change after
creating pidfile

21 years agoadd DBUS_TYPE_INT64
Havoc Pennington [Fri, 11 Apr 2003 16:18:24 +0000 (16:18 +0000)]
add DBUS_TYPE_INT64

21 years ago2003-04-11 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 11 Apr 2003 04:52:29 +0000 (04:52 +0000)]
2003-04-11  Havoc Pennington  <hp@pobox.com>

* test/decode-gcov.c: add "below average functions" to the
coverage report, and change how some of the code works.

* bus/test-main.c: bracket some stuff in DBUS_BUILD_TESTS so it's
not in the coverage stats.

* test/test-service.c (main): use _dbus_verbose not fprintf in a
couple places so running the test suite doesn't result in megaspam.

21 years ago2003-04-11 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 11 Apr 2003 03:58:56 +0000 (03:58 +0000)]
2003-04-11  Havoc Pennington  <hp@pobox.com>

* bus/dispatch.c (check_existent_service_activation): accept a no
memory error in a place we didn't before

* bus/test.c (bus_test_run_everything): remove hacky "do it twice
in case the first one failed," since the test suite is less
broken now.

21 years ago2003-04-10 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 11 Apr 2003 03:45:40 +0000 (03:45 +0000)]
2003-04-10  Havoc Pennington  <hp@pobox.com>

* bus/dispatch.c (check_segfault_service_activation): add test
for launching an executable that just crashes.

* test/test-segfault.c (main): try setting coredumpsize to 0 so we
don't leave a million cores. We'll see how portable this is.

21 years ago2003-04-10 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 11 Apr 2003 03:05:58 +0000 (03:05 +0000)]
2003-04-10  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all
the possible parent failures before we fork, so that we don't
fail to create a babysitter after creating the child.

* bus/activation.c (bus_activation_activate_service): kill child
if we don't successfully complete the activation.

21 years ago2003-04-10 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 11 Apr 2003 00:03:06 +0000 (00:03 +0000)]
2003-04-10  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-connection.c (dbus_connection_flush): don't spin on
the connection if it's disconnected

* bus/activation.c (bus_activation_service_created): use new
transaction features to roll back removal of pending activation if
we don't successfully create the service after all. Don't remove
pending activation if the function fails.

* dbus/dbus-list.c (_dbus_list_insert_before_link)
(_dbus_list_insert_after_link): new code to facilitate
services.c fixes

* dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated):
new functionality, so we can preallocate the ability to insert
into a hash table.

* bus/connection.c (bus_transaction_add_cancel_hook): new function
allowing us to put custom hooks in a transaction to be used for
cancelling said transaction

* doc/dbus-specification.sgml: add some discussion of secondary
service owners, and disallow zero-length service names

* bus/services.c (bus_registry_acquire_service): new function,
splits out part of bus_driver_handle_acquire_service() and fixes
a bug where we didn't remove the service doing the acquiring
from the secondary queue if we failed to remove the current owner
from the front of the queue.

21 years ago2003-04-10 Alexander Larsson <alexl@redhat.com>
Alexander Larsson [Thu, 10 Apr 2003 13:01:44 +0000 (13:01 +0000)]
2003-04-10  Alexander Larsson  <alexl@redhat.com>

* doc/dbus-specification.sgml:
s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/

21 years ago2003-04-10 Alexander Larsson <alexl@redhat.com>
Alexander Larsson [Thu, 10 Apr 2003 12:09:00 +0000 (12:09 +0000)]
2003-04-10  Alexander Larsson  <alexl@redhat.com>

* bus/.cvsignore:
* glib/.cvsignore:
* test/.cvsignore:
Added files to cvsignore

* dbus/dbus-message.h:
* dbus/dbus-message.c: (dbus_message_iter_get_named):
Make get_named() take two out argument and return a boolean.
(dbus_message_iter_get_args_valist):
Update usage of get_named().
(dbus_message_iter_append_byte):
Fix typo
(dbus_message_iter_append_named)
Fix typo
(message_iter_test), (check_message_handling_type), (_dbus_message_test):
More tests.

21 years ago2003-04-10 Alexander Larsson <alexl@redhat.com>
Alexander Larsson [Thu, 10 Apr 2003 11:04:24 +0000 (11:04 +0000)]
2003-04-10  Alexander Larsson  <alexl@redhat.com>

* dbus/dbus-marshal.[ch]:
Add array_type_pos argument to _dbus_marshal_validate_arg.
Let you pass a NULL end_pos to _dbus_marshal_validate_type.

* dbus/dbus-message.[ch]:
Multi-dimensional arrays have full type specification in the
outermost array. Iter code re-arranged to handle this.
Added some more iter tests.

* doc/dbus-specification.sgml:
Add me to authors.
Remove old FIXME.
Update new array encoding description.
Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description.

* test/data/invalid-messages/array-with-mixed-types.message:
* test/data/valid-messages/array-of-array-of-uint32.message:
Change to the new array format.

* test/data/invalid-messages/too-short-dict.message:
Fix bug in test.

* test/data/valid-messages/recursive-types.message:
Fix up and extend test.

21 years ago2003-04-10 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Thu, 10 Apr 2003 05:12:19 +0000 (05:12 +0000)]
2003-04-10  Havoc Pennington  <hp@pobox.com>

* bus/dispatch.c: lots of fixes

* dbus/dbus-mainloop.c (_dbus_loop_dispatch): export
(_dbus_loop_iterate): remove old "quit if no callbacks" code,
that was crack, broke the test service.

* dbus/dbus-transport.c (_dbus_transport_open): fix error
handling to avoid piling up errors if we get a failure on the
first address.

* dbus/dbus-internals.c (_dbus_real_assert_not_reached): include
pid in assertion failures.

* dbus/dbus-mainloop.c (_dbus_loop_iterate): use static arrays up
to some fixed size of file descriptor array. Don't return TRUE
anytime a timeout exists, that led to lots of busy loop silliness
in the tests.

21 years ago2003-04-09 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Thu, 10 Apr 2003 01:27:57 +0000 (01:27 +0000)]
2003-04-09  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought
I'd checked this in earlier but hadn't.

21 years ago-
Havoc Pennington [Thu, 10 Apr 2003 01:15:28 +0000 (01:15 +0000)]
-

21 years ago2003-04-09 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 9 Apr 2003 22:15:05 +0000 (22:15 +0000)]
2003-04-09  Havoc Pennington  <hp@redhat.com>

* test/test-utils.c: use dispatch status function to fix this up

* bus/connection.c (connection_watch_callback): don't dispatch
from here
(connection_timeout_callback): don't dispatch from here
(bus_connections_setup_connection): set the dispatch status function
(bus_connection_disconnected): unset it

* dbus/dbus-mainloop.c (_dbus_loop_queue_dispatch): new function
used to add a connection to be dispatched
(_dbus_loop_iterate): do the dispatching at the end of each
iteration

* dbus/dbus-connection.c
(dbus_connection_set_dispatch_status_function): new function
allowing us to fix up main loop usage
(_dbus_connection_last_unref): free all the various function
user data
(dbus_connection_dispatch): call the DispatchStatusFunction
whenever this function returns
(dbus_connection_handle_watch): call DispatchStatusFunction
(dbus_connection_send_with_reply_and_block): call DispatchStatusFunction
(reply_handler_timeout): call DispatchStatusFunction
(dbus_connection_flush): call DispatchStatusFunction

21 years ago2003-04-09 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Wed, 9 Apr 2003 20:31:21 +0000 (20:31 +0000)]
2003-04-09  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-bus.c (dbus_bus_register): fix up error handling and
a memory leak

* bus/dispatch.c (check_service_activated): fix bug in test

* dbus/dbus-mainloop.c (check_timeout): fix this up

* dbus/dbus-internals.c (_dbus_verbose_real): include PID in
verbose output so we can sort out output from different processes,
e.g. in the activation case.

21 years ago2003-04-08 Colin Walters <walters@gnu.org>
Havoc Pennington [Wed, 9 Apr 2003 00:27:41 +0000 (00:27 +0000)]
2003-04-08  Colin Walters  <walters@gnu.org>

  * bus/bus.c (struct BusContext) [pidfile]: New member, to store
  the pid file.
  (bus_context_new): Set it.
  (bus_context_unref): Use it to delete the pid file.

21 years ago2003-04-08 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Tue, 8 Apr 2003 22:07:09 +0000 (22:07 +0000)]
2003-04-08  Havoc Pennington  <hp@redhat.com>

* test/data/invalid-messages/array-with-mixed-types.message:
regression test that fails for the moment

* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): reorder
tests for convenience

* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): don't allow
array of nil, it broke things.

* test/data/invalid-messages/array-of-nil.message: regression test

* test/data/valid-messages/array-of-array-of-uint32.message:
happened to write this so added it to suite

21 years ago2003-04-08 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Tue, 8 Apr 2003 20:16:03 +0000 (20:16 +0000)]
2003-04-08  Havoc Pennington  <hp@redhat.com>

* bus/driver.c (bus_driver_handle_acquire_service): init
retval/reply before checking name

* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add a
recursion depth argument

* dbus/dbus-message.h (struct DBusMessageIter): put some padding
in the public struct for future extension

* dbus/dbus-message-builder.c (_dbus_message_data_load): fix
typo

* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix a verbose
message

* doc/dbus-specification.sgml: fix typo

21 years ago2003-04-08 Alexander Larsson <alexl@redhat.com>
Alexander Larsson [Tue, 8 Apr 2003 15:52:51 +0000 (15:52 +0000)]
2003-04-08  Alexander Larsson  <alexl@redhat.com>

Implemented recursive types, named types and new-style iters

* bus/driver.c:
* glib/test-thread-client.c: (thread_func):
* glib/test-thread-server.c: (handle_test_message):
* test/test-service.c: (handle_echo):
Update to new api

* dbus/Makefile.am:
* dbus/dbus-dict.c:
* dbus/dbus-dict.h:
* dbus/dbus.h
Remove DBusDict

* dbus/dbus-internals.c: (_dbus_type_to_string):
Update for new types.

* dbus/dbus-marshal.[ch]:
Implement recursive types and the new marshalling format.
Remove hardcoded dict marshalling.
Marshal named types.

* dbus/dbus-message-builder.c:
Add BYTE_ARRAY.
Remove references to old types

* dbus/dbus-message.[ch]:
New non-refcounted iter API that supports recursive iters.
Use iters for appending, including support for recursive
iters.
Add byte and named type support.
Update everything to new marshalling formats.
Add tests for new API.

* dbus/dbus-protocol.h:
Remove old array types.
Add types: BYTE, ARRAY, DICT, NAMED

* dbus/dbus-string.c:
* dbus/dbus-sysdeps.c:
Make parse_double locale safe.

* dbus/dbus-test-main.c:
Call setlocale.

* dbus/dbus-test.c:
Kill dict test

* doc/dbus-specification.sgml:
Update spec

* test/data/incomplete-messages/missing-body.message:
* test/data/invalid-messages/bad-boolean.message:
* test/data/invalid-messages/bad-boolean-array.message:
* test/data/invalid-messages/boolean-array-length-too-long.message-raw:
* test/data/invalid-messages/boolean-has-no-value.message-raw:
* test/data/invalid-messages/too-short-dict.message:
* test/data/valid-messages/dict-simple.message:
* test/data/valid-messages/dict.message:
* test/data/valid-messages/emptiness.message:
* test/data/valid-messages/lots-of-arguments.message:
* test/data/valid-messages/no-padding.message:
* test/data/valid-messages/recursive-types.message:
Add missing NAME fields
Fix up dicts & arrays

* test/data/invalid-messages/dict-with-nil-value.message:
Removed, this is not invalid anymore.

* test/data/valid-messages/recursive-types.message:
Add new test for deeply recursive types.

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

* bus/driver.c (bus_driver_handle_acquire_service): return an
error if you try to acquire a service that starts with ':'

21 years ago2003-04-07 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Mon, 7 Apr 2003 23:28:16 +0000 (23:28 +0000)]
2003-04-07  Havoc Pennington  <hp@redhat.com>

* doc/dbus-specification.sgml: require that base service names
start with ':' and that the base service is created/deleted
as first and last things a connection does on the bus

* bus/dispatch.c (check_existent_service_activation): lots more
work on the activation test; it doesn't fully pass yet...

* test/test-service.c (main): fix so we don't memleak the
connection to the message bus
(filter_func): accept a message asking us to exit

21 years agohaving a bad cvs add day apparently
Havoc Pennington [Mon, 7 Apr 2003 15:42:22 +0000 (15:42 +0000)]
having a bad cvs add day apparently

21 years agocommit missing files
Havoc Pennington [Mon, 7 Apr 2003 02:48:14 +0000 (02:48 +0000)]
commit missing files

21 years ago2003-04-06 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Mon, 7 Apr 2003 02:01:53 +0000 (02:01 +0000)]
2003-04-06  Havoc Pennington  <hp@pobox.com>

* qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h,
from Colin Walters

* configure.in: fixes to Qt detection from Colin Walters

* doc/Makefile.am: Only remove generated docbook dirs if they
exist, from Colin Walters

* dbus/dbus-bus.c: change how we set well-known connections to
NULL, so that it works if a single connection is stored in
two well-known array slots.

* test/Makefile.am: remove a lot of stuff that isn't immediately
useful, it's in CVS history if we want it.

* test/test-service.c: use dbus-mainloop instead of that
watch.[hc] crack

21 years ago2003-04-06 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Mon, 7 Apr 2003 01:07:13 +0000 (01:07 +0000)]
2003-04-06  Havoc Pennington  <hp@pobox.com>

* test/Makefile.am: remove a lot of stuff that isn't immediately
useful, it's in CVS history if we want it.

* test/test-service.c: use dbus-mainloop instead of that
watch.[hc] crack

21 years ago2003-04-06 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 6 Apr 2003 23:53:27 +0000 (23:53 +0000)]
2003-04-06  Havoc Pennington  <hp@pobox.com>

* dbus/Makefile.am: split lists of sources into stuff that goes in
the library, util functions that go in the lib and are also used
elsewhere, and util functions that are used in tests/daemon but
don't go in the lib.

* dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc]
here so it can be used in test binaries also

21 years ago2003-04-06 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 6 Apr 2003 23:15:41 +0000 (23:15 +0000)]
2003-04-06  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile
here in the parent process, so we can return an error if it
fails. Also, move some of the code into the child so the parent
is less hosed if we fail midway through.

* bus/bus.c (bus_context_new): move pidfile detection further up
in the function, before we start overwriting sockets and such.

* bus/messagebus.in: adjust this a bit, not sure if it will work.

* configure.in: add --with-system-pid-file and --with-system-socket

2003-04-06  Colin Walters  <walters@verbum.org>

* configure.in (DBUS_SYSTEM_PID_FILE): New variable.

* bus/system.conf.in: Declare a pidfile.

* bus/bus.c (bus_context_new): Test for an existing pid file, and
create one (if appropriate).

* bus/config-parser.c (enum ElementType) [ELEMENT_PIDFILE]: New.
(struct BusConfigParser) [pidfile]: New.
(element_type_to_name, merge_included, start_busconfig_child)
(bus_config_parser_end_element, bus_config_parser_content): Handle it.
(bus_config_parser_unref): Free it.
(bus_config_parser_get_pidfile): New function.

* bus/config-parser.h (_dbus_write_pid_file): Prototype.

* dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error.

* dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function.

* dbus/dbus-sysdeps.h: Prototype it.

21 years ago2003-04-06 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 6 Apr 2003 20:04:47 +0000 (20:04 +0000)]
2003-04-06  Havoc Pennington  <hp@pobox.com>

* bus/bus.c (bus_context_new): print the address in here, rather
than in main(), because we need to do it before forking the daemon

* bus/dispatch.c (send_service_nonexistent_error): set the sender
on the service nonexistent error

* bus/driver.c (bus_driver_handle_acquire_service): set the
sender on the AcquireService reply

* test/data/valid-config-files/debug-allow-all.conf.in: Make test
server also listen on a UNIX socket so services can connect to it.

21 years ago2003-04-06 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 6 Apr 2003 19:12:45 +0000 (19:12 +0000)]
2003-04-06  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-threads.c: Redo how the fake debug mutexes are done
so it detects deadlocks and also we actually init threads when
debugging.

21 years ago2003-04-06 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 6 Apr 2003 18:27:23 +0000 (18:27 +0000)]
2003-04-06  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
save the domain socket name, and unlink it when we disconnect the
server. Means that at least when we exit normally, we won't leave
a bunch of junk in /tmp

* dbus/dbus-transport-unix.c
(_dbus_transport_new_for_domain_socket): code cleanup (nicer
memory management). (I was making a real change here but then
didn't)

21 years ago2003-04-06 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sun, 6 Apr 2003 18:03:03 +0000 (18:03 +0000)]
2003-04-06  Havoc Pennington  <hp@pobox.com>

* bus/bus.c (bus_context_new): fix wrong handling of
server_data_slot_unref() in the error case.

* dbus/dbus-internals.h (_dbus_assert): change so it passes
"(condition) != 0" to _dbus_real_assert so that
"_dbus_assert (pointer)" doesn't cause a warning

* bus/main.c (main): accept --print-address option to print out
the message bus address

* dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this

* dbus/dbus-transport.c (_dbus_transport_open): special error for
"tmpdir" option to unix: address on client side

* dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option
to unix: address

* configure.in (TEST_SOCKET_DIR): locate a temporary directory
we can use to create sockets in the test suite.

* bus/main.c (signal_handler): on SIGTERM, exit the daemon
cleanly. To be used for testing.

* dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler()

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

* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
handle trying to call this when there's no servers active

21 years ago0.8 dbus-0.8
Havoc Pennington [Sun, 6 Apr 2003 02:44:49 +0000 (02:44 +0000)]
0.8

21 years ago2003-04-05 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 5 Apr 2003 23:50:47 +0000 (23:50 +0000)]
2003-04-05  Havoc Pennington  <hp@pobox.com>

* bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't
crash on startup. Need to get "try starting the daemon"
in the test suite I guess. ;-)

* dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
tracked the number of open connections; it's better done in
application-specific code as you want it to span all servers etc.

21 years ago2003-04-05 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 5 Apr 2003 23:07:47 +0000 (23:07 +0000)]
2003-04-05  Havoc Pennington  <hp@pobox.com>

* bus/Makefile.am (install-data-hook): add missing DESTDIR,
patch from Colin Walters

21 years ago2003-04-05 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 5 Apr 2003 20:38:01 +0000 (20:38 +0000)]
2003-04-05  Havoc Pennington  <hp@pobox.com>

* doc/config-file.txt (Elements): fix docs of <auth> to reflect
reality; in fact multiple mechanisms are allowed.

* dbus/dbus-internals.c (_dbus_real_assert)
(_dbus_real_assert_not_reached): move guts of _dbus_assert() and
_dbus_assert_not_reached() into functions, so that they don't show
up in basic block counts for test coverage, and don't use up as
much disk space. Does mean slower execution speed though, so
assumes --disable-asserts is the normal production case.

21 years ago2003-04-05 Havoc Pennington <hp@pobox.com> dbus-0.7
Havoc Pennington [Sat, 5 Apr 2003 20:03:58 +0000 (20:03 +0000)]
2003-04-05  Havoc Pennington  <hp@pobox.com>

* test/Makefile.am (dist-hook): also dist *.in files

* NEWS: update

* configure.in: 0.7

21 years ago2003-04-05 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 5 Apr 2003 19:09:49 +0000 (19:09 +0000)]
2003-04-05  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-string.c: docs warning

* dbus/dbus-spawn.c: missing docs

* dbus/dbus-memory.c (struct ShutdownClosure): missing docs

21 years ago2003-04-05 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 5 Apr 2003 19:03:40 +0000 (19:03 +0000)]
2003-04-05  Havoc Pennington  <hp@pobox.com>

* bus/loop.c (bus_loop_iterate): fix the timeout code, using
magic from GLib

* dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid
to -1 once we've reaped the babysitter
(_dbus_babysitter_handle_watch): do as much work as we can, not
just one go of it

* bus/activation.c: add code using DBusBabysitter so that we
handle it when a service fails to start up properly.
(bus_activation_service_created): don't remove the activation
entries as we go, just let them get removed when we free the pending
activation. Unref reply messages after sending them.

21 years ago2003-04-05 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 5 Apr 2003 17:04:23 +0000 (17:04 +0000)]
2003-04-05  Havoc Pennington  <hp@pobox.com>

* test/decode-gcov.c (main): print per-directory stats in the report

* Makefile.am (coverage-report.txt): don't include test/* in gcov stats

21 years ago2003-04-05 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Sat, 5 Apr 2003 10:04:04 +0000 (10:04 +0000)]
2003-04-05  Havoc Pennington  <hp@pobox.com>

* Makefile.am (coverage-report.txt): add target "coverage-report.txt"

* test/decode-gcov.c: hack up a little program to suck data
out of gcov files. Yes this is sort of silly.

* configure.in: define something in config.h and do an
AM_CONDITIONAL when gcov is enabled

21 years ago2003-04-04 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Sat, 5 Apr 2003 00:37:17 +0000 (00:37 +0000)]
2003-04-04  Havoc Pennington  <hp@redhat.com>

* dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
return a "babysitter" object that is used to monitor the status of
the spawned process and reap it when required.

* test/test-segfault.c, test/test-exit.c,
test/test-sleep-forever.c: binaries that do various lame things,
used in the test suite.

* dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()

21 years ago2003-04-03 Havoc Pennington <hp@pobox.com>
Havoc Pennington [Fri, 4 Apr 2003 01:55:28 +0000 (01:55 +0000)]
2003-04-03  Havoc Pennington  <hp@pobox.com>

* dbus/dbus-spawn.c: Move dbus-spawn into a separate file
in preparation for modifying it, dbus-sysdeps is getting
a bit unmanageable.

21 years ago2003-04-03 Havoc Pennington <hp@redhat.com>
Havoc Pennington [Fri, 4 Apr 2003 00:39:22 +0000 (00:39 +0000)]
2003-04-03  Havoc Pennington  <hp@redhat.com>

* bus/loop.h, bus/loop.c: make the mainloop an object so we can
have multiple ones

* bus/*.[hc]: adapt to mainloop change

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.