Havoc Pennington [Sun, 22 Jun 2003 20:46:17 +0000 (20:46 +0000)]
2003-06-22 Havoc Pennington <hp@pobox.com>
* mono/Message.cs: implement Message.Wrap() that ensures we only
have a single C# wrapper per DBusMessage, assuming it works which
it probably doesn't.
* dbus/dbus-message.c (dbus_message_allocate_data_slot): new
(dbus_message_free_data_slot): new
(dbus_message_set_data): new
(dbus_message_get_data): new
Havoc Pennington [Sun, 22 Jun 2003 19:39:47 +0000 (19:39 +0000)]
2003-06-22 Havoc Pennington <hp@pobox.com>
* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref)
(_dbus_data_slot_allocator_alloc): rework these to keep a
reference count on each slot and automatically manage a global
slot ID variable passed in by address
* bus/bus.c: convert to new dataslot API
* dbus/dbus-bus.c: convert to new dataslot API
* dbus/dbus-connection.c: convert to new dataslot API
* dbus/dbus-server.c: convert to new dataslot API
* glib/dbus-gmain.c: ditto
* bus/test.c: ditto
* bus/connection.c: ditto
Anders Carlsson [Sun, 22 Jun 2003 15:24:16 +0000 (15:24 +0000)]
2003-06-22 Anders Carlsson <andersca@codefactory.se>
* configure.in: Add AM_PROG_GCJ and move AM_PROG_LIBTOOL
after the gcj checks so that the correct configuration tags
will be added to libtool.
Anders Carlsson [Sun, 22 Jun 2003 06:53:42 +0000 (06:53 +0000)]
2003-06-22 Anders Carlsson <andersca@codefactory.se>
* dbus-glib-1.pc.in: No need to specify any includes since
dbus-1.pc.in has those.
Havoc Pennington [Sun, 22 Jun 2003 05:53:06 +0000 (05:53 +0000)]
2003-06-22 Havoc Pennington <hp@pobox.com>
* mono/*, gcj/*, configure.in, Makefile.am:
Check in makefiles and subdirs for mono and gcj bindings.
Neither binding actually exists, just trying to get through
all the build and other boring bits.
Philip Blundell [Sat, 21 Jun 2003 22:20:30 +0000 (22:20 +0000)]
2003-06-21 Philip Blundell <philb@gnu.org>
* tools/dbus-monitor.1: Updated.
* tools/dbus-send.1: Likewise.
Anders Carlsson [Sat, 21 Jun 2003 07:51:39 +0000 (07:51 +0000)]
2003-06-20 Anders Carlsson <andersca@codefactory.se>
* dbus/dbus-transport-unix.c (unix_handle_watch): Check
for hangup and error after checking read so we won't discard
pending data if both hangup and read are set.
Anders Carlsson [Thu, 19 Jun 2003 22:22:37 +0000 (22:22 +0000)]
2003-06-19 Philip Blundell <philb@gnu.org>
* tools/dbus-print-message.c (print_message): Handle BOOLEAN.
* tools/dbus-send.c: Accept both --system and --session.
* tools/dbus-monitor.c: Same here.
Anders Carlsson [Thu, 19 Jun 2003 22:19:56 +0000 (22:19 +0000)]
2003-06-19 Anders Carlsson <andersca@codefactory.se>
* glib/dbus-glib.h: Fix so that dbus-glib.h can be used
from C++ (Patch by Miloslav Trmac).
Anders Carlsson [Wed, 18 Jun 2003 10:56:34 +0000 (10:56 +0000)]
Add .dbus-keyrings
Anders Carlsson [Wed, 18 Jun 2003 10:48:08 +0000 (10:48 +0000)]
Add .cvsignore files
Joe Shaw [Sun, 15 Jun 2003 10:45:07 +0000 (10:45 +0000)]
2003-06-15 Joe Shaw <joe@assbarn.com>
* configure.in: Check for socklen_t.
* dbus/dbus-sysdeps.c: Define socklen_t if it's not defined.
* test/test-segfault.c: Add #include <sys/time.h>
* tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since
dbus-launch needs it.
Havoc Pennington [Mon, 9 Jun 2003 22:09:34 +0000 (22:09 +0000)]
2003-06-09 Havoc Pennington <hp@redhat.com>
* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use
SUN_LEN, it breaks abstract socket usage
* dbus/dbus-internals.c (_dbus_verbose_real): only print PID at
starts of lines.
Havoc Pennington [Wed, 4 Jun 2003 05:20:20 +0000 (05:20 +0000)]
2003-06-04 Havoc Pennington <hp@pobox.com>
* dbus/dbus-server.c (dbus_server_listen): allow abstract sockets
using unix:abstract=/foo, and when listening in a tmpdir
i.e. unix:tmpdir=/tmp, always use abstract sockets if we can.
* dbus/dbus-transport.c (_dbus_transport_open): support
unix:abstract=/foo
* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
support abstract sockets
* dbus/dbus-transport-unix.c
(_dbus_transport_new_for_domain_socket): support abstract sockets
* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract"
toggle as an argument, implement abstract namespace support
(_dbus_listen_unix_socket): ditto
* configure.in: add --enable-abstract-sockets and implement
a configure check for autodetection of the right value.
Havoc Pennington [Sun, 1 Jun 2003 07:33:59 +0000 (07:33 +0000)]
2003-06-01 Havoc Pennington <hp@pobox.com>
* tools/dbus-cleanup-sockets.c: add utility to clean up sockets
in /tmp (though on Linux this will end up being useless,
when we add abstract namespace support)
* configure.in: define DBUS_SESSION_SOCKET_DIR in addition to
subst'ing it
Colin Walters [Wed, 28 May 2003 21:26:03 +0000 (21:26 +0000)]
2003-05-28 Colin Walters <walters@verbum.org>
* tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/).
Anders Carlsson [Sun, 18 May 2003 11:18:11 +0000 (11:18 +0000)]
2003-05-18 Anders Carlsson <andersca@codefactory.se>
* dbus/dbus-message.c (dbus_message_new): Remove @todo.
Colin Walters [Sun, 18 May 2003 02:39:47 +0000 (02:39 +0000)]
2003-05-17 Colin Walters <walters@gnu.org>
* tools/dbus-send.c: Don't exit with an error code if --help was
passed. Default to using the session bus instead of the system
one.
* tools/dbus-launch.c: Ditto.
* tools/dbus-monitor.c: Ditto.
* tools/dbus-send.1: Update with new arguments.
* tools/dbus-launch.c: Emit code to export variables. New
arguments -s and -c to specify shell syntax, and a bit of code to
autodetect syntax. Also, allow specifying a program to run.
* tools/dbus-launch.1: Update with new arguments.
* tools/dbus-send.1: Ditto.
* tools/dbus-monitor.1: Ditto.
Havoc Pennington [Sat, 17 May 2003 17:53:17 +0000 (17:53 +0000)]
2003-05-17 Havoc Pennington <hp@pobox.com>
* bus/config-parser.c (merge_included): merge in policies from
child configuration file.
* bus/policy.c (bus_policy_merge): function to merge two policies
together
Havoc Pennington [Fri, 16 May 2003 20:09:25 +0000 (20:09 +0000)]
2003-05-16 Havoc Pennington <hp@redhat.com>
* dbus/dbus-connection.c: disable verbose lock spew
* tools/dbus-send.c: add --print-reply command line option
* tools/dbus-print-message.h (print_message): new util function
shared by dbus-send and dbus-monitor
* tools/dbus-monitor.c (handler_func): exit on disconnect
* dbus/dbus-transport-unix.c (do_reading): if the transport is
disconnected, don't try to use the read_watch
* dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL
so we can find this bug more easily
Havoc Pennington [Fri, 16 May 2003 16:48:07 +0000 (16:48 +0000)]
2003-05-16 Havoc Pennington <hp@redhat.com>
* bus/policy.c (free_rule_list_func): avoid a crash when passed
NULL as DBusHashTable is annoyingly likely to do.
Colin Walters [Fri, 16 May 2003 16:01:56 +0000 (16:01 +0000)]
2003-05-16 Colin Walters <walters@verbum.org>
* tools/dbus-monitor.c: Add --session argument and usage()
function.
* tools/dbus-monitor.1: Update with new --session arg.
* bus/Makefile.am (install-data-hook): Create
$(libdir)/dbus-1.0/services so that the session bus is happy.
Havoc Pennington [Thu, 15 May 2003 20:11:34 +0000 (20:11 +0000)]
2003-05-15 Havoc Pennington <hp@redhat.com>
* dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
on non-x86. ifdef's are evil.
Havoc Pennington [Thu, 15 May 2003 19:59:19 +0000 (19:59 +0000)]
2003-05-15 Havoc Pennington <hp@redhat.com>
* configure.in: 0.11
* NEWS: update
* bus/Makefile.am (initddir): apparently we are supposed to put
init scripts in /etc/rc.d/init.d not /etc/init.d
* bus/Makefile.am: remove the "you must --enable-tests to make
check" as it broke distcheck
* bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d
James Willcox [Wed, 14 May 2003 02:40:41 +0000 (02:40 +0000)]
2003-05-13 James Willcox <jwillcox@gnome.org>
* configure.in:
* bus/activation.c: (bus_activation_service_created),
(bus_activation_activate_service):
* bus/driver.c: (bus_driver_send_service_deleted),
(bus_driver_send_service_created), (bus_driver_send_service_lost),
(bus_driver_send_service_acquired),
(bus_driver_send_welcome_message),
(bus_driver_handle_list_services):
* bus/session.conf.in:
* dbus/dbus-bus.c: (dbus_bus_acquire_service),
(dbus_bus_service_exists), (dbus_bus_activate_service):
* dbus/dbus-bus.h:
Add some convenience API which lets you activate a service, and did a
bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args()
and dbus_message_get_args()
Havoc Pennington [Mon, 12 May 2003 02:44:45 +0000 (02:44 +0000)]
2003-05-11 Havoc Pennington <hp@pobox.com>
* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid
calling _dbus_marshal_validate_arg() for every byte in a byte
array, etc.
* dbus/dbus-message-handler.c: use atomic reference counting to
reduce number of locks slightly; the global lock in here sucks
* dbus/dbus-connection.c
(_dbus_connection_update_dispatch_status_and_unlock): variant of
update_dispatch_status that can be called with lock held; then use
in a couple places to reduce locking/unlocking
(dbus_connection_send): hold the lock over the whole function
instead of acquiring it twice.
* dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM
* bus/connection.c (bus_connections_setup_connection): fix access
to already-freed memory.
* dbus/dbus-connection.c: keep a little cache of linked list
nodes, to avoid using the global linked list alloc lock in the
normal send-message case. Instead we just use the connection lock
that we already have to take.
* dbus/dbus-list.c (_dbus_list_find_last): new function
* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec):
change to use a struct for the atomic type; fix docs,
they return value before increment, not after increment.
* dbus/dbus-string.c (_dbus_string_append_4_aligned)
(_dbus_string_append_8_aligned): new functions to try to
microoptimize this operation.
(reallocate_for_length): break this out of set_length(), to
improve profile info, and also so we can consider inlining the
set_length() part.
* dbus/dbus-message.c (dbus_message_new_empty_header): init data
strings with some preallocation, cuts down on our calls to realloc
a fair bit. Though if we can get the "move entire string to empty
string" optimization below to kick in here, it would be better.
* dbus/dbus-string.c (_dbus_string_move): just call
_dbus_string_move_len
(_dbus_string_move_len): add a special case for moving
an entire string into an empty string; we can just
swap the string data instead of doing any reallocs.
(_dbus_string_init_preallocated): new function
Havoc Pennington [Sun, 11 May 2003 07:59:08 +0000 (07:59 +0000)]
2003-05-11 Havoc Pennington <hp@pobox.com>
Write a "test-profile" that does echo client-server with threads;
profile reveals lock contention, memcpy/realloc of buffers, and
UTF-8 validation as hot spots. 20% of lock contention eliminated
with dbus_atomic_inc/dec implementation on x86. Much remaining
contention is global mempool locks for GList and DBusList.
* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
x86 implementation
* dbus/dbus-connection.c (struct DBusConnection): use
dbus_atomic_t for the reference count
* dbus/dbus-message.c (struct DBusMessage): declare
dbus_atomic_t values as volatile
* configure.in: code to detect ability to use atomic integer
operations in assembly, from GLib patch
* dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
time, tired of it being wrong in threads and forked processes
* glib/test-profile.c: a little program to bounce messages back
and forth between threads and eat CPU
* dbus/dbus-connection.c: add debug spew macros for debugging
thread locks; include config.h at top; fix deadlock in
dbus_connection_flush()
Havoc Pennington [Fri, 9 May 2003 04:15:56 +0000 (04:15 +0000)]
2003-05-08 Havoc Pennington <hp@pobox.com>
* dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov
data from getting written, and there wasn't a good reason to
use _exit really.
* test/decode-gcov.c (mark_inside_dbus_build_tests): don't count
dbus_verbose lines in test coverage
(main): add list of functions sorted by # of untested blocks
to the coverage report
* dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS
* dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage
* dbus/dbus-message-handler.c (_dbus_message_handler_test):
extend test coverage
* test/data/auth/cancel.auth-script: test canceling an
authentication
* dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they
aren't used. in CVS history if we end up needing them.
Havoc Pennington [Mon, 5 May 2003 19:12:58 +0000 (19:12 +0000)]
add note to TODO about serial numbers
Havoc Pennington [Mon, 5 May 2003 03:13:35 +0000 (03:13 +0000)]
2003-05-04 Havoc Pennington <hp@pobox.com>
* dbus/dbus-message-handler.c (_dbus_message_handler_test): add
unit test
* dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this
function, which assumed length was in # of strings, not bytes
* dbus/dbus-message.c (_dbus_message_test): add tests for some
missing coverage
* dbus/dbus-connection.c
(_dbus_connection_queue_received_message): disable function for
now, we are only using it in test mode
* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
remove a mistaken FIXME
Havoc Pennington [Sun, 4 May 2003 23:55:06 +0000 (23:55 +0000)]
2003-05-04 Havoc Pennington <hp@pobox.com>
* dbus/dbus-connection.c (dbus_connection_preallocate_send):
unlock mutex on successful return, patch from Anders Gustafsson
Havoc Pennington [Sun, 4 May 2003 20:33:15 +0000 (20:33 +0000)]
2003-05-04 Havoc Pennington <hp@pobox.com>
* dbus-glib-1.pc.in (Requires): fix dependencies, from
Anders Gustafsson
Havoc Pennington [Sun, 4 May 2003 08:54:24 +0000 (08:54 +0000)]
2003-05-04 Havoc Pennington <hp@pobox.com>
* tools/dbus-launch.c: implement
* bus/main.c (main), bus/bus.c (bus_context_new):
implement --print-pid and --fork
Havoc Pennington [Sun, 4 May 2003 03:22:46 +0000 (03:22 +0000)]
2003-05-03 Havoc Pennington <hp@pobox.com>
* dbus/dbus-watch.c (dbus_watch_handle): warn and return if a
watch is invalid when handled
* tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add
dbus-launch utility to launch the bus from a shell script. Didn't
actually implement dbus-launch yet, it's just a placeholder still.
Havoc Pennington [Sat, 3 May 2003 23:20:34 +0000 (23:20 +0000)]
2003-05-03 Havoc Pennington <hp@redhat.com>
* dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
the address had no value, and add to test suite. Fix and
regression test from Miloslav Trmac
Havoc Pennington [Sat, 3 May 2003 23:07:19 +0000 (23:07 +0000)]
2003-05-03 Havoc Pennington <hp@pobox.com>
* bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
daemon; also documents daemon config file, so replaces
doc/config-file.txt. Corrected some stuff from config-file.txt in
the process of moving it.
Havoc Pennington [Sat, 3 May 2003 22:03:16 +0000 (22:03 +0000)]
2003-05-03 Havoc Pennington <hp@pobox.com>
* tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1:
add some man pages
Colin Walters [Sat, 3 May 2003 20:53:40 +0000 (20:53 +0000)]
2003-05-03 Colin Walters <walters@verbum.org>
* dbus/dbus-sysdeps.c (fill_user_info): Test against
DBUS_UID_UNSET to determine whether to do a uid lookup or not.
* Makefile.am: Update to use new .pc versioning scheme.
Havoc Pennington [Fri, 2 May 2003 22:24:32 +0000 (22:24 +0000)]
2003-05-02 Havoc Pennington <hp@redhat.com>
* bus/system.conf.in: allow send/receive to/from message bus
service
Havoc Pennington [Wed, 30 Apr 2003 21:24:41 +0000 (21:24 +0000)]
2003-04-30 Havoc Pennington <hp@redhat.com>
* configure.in: print a note when building with unit tests and
without assertions
Havoc Pennington [Wed, 30 Apr 2003 21:15:44 +0000 (21:15 +0000)]
2003-04-30 Havoc Pennington <hp@redhat.com>
* Makefile.am: add a check-local that complains if you didn't
configure with --enable-tests
Havoc Pennington [Tue, 29 Apr 2003 22:57:13 +0000 (22:57 +0000)]
2003-04-29 Havoc Pennington <hp@redhat.com>
* glib/dbus-gmain.c: docs cleanups
* dbus/dbus-types.h: add docs on int64 types
* dbus/dbus-memory.c: fix docs to avoid putting private API in
public API docs section
Havoc Pennington [Tue, 29 Apr 2003 21:56:37 +0000 (21:56 +0000)]
2003-04-29 Havoc Pennington <hp@redhat.com>
* dbus-1.pc.in, dbus-glib-1.pc.in: rename these from
dbus-1.0.pc.in, dbus-glib-1.0.pc.in. As these change with the
parallel install API version, not with the D-BUS package version.
* HACKING: move some of README over here
* README: updates, and document API/ABI policy
* configure.in: reindentation
Havoc Pennington [Tue, 29 Apr 2003 21:27:59 +0000 (21:27 +0000)]
2003-04-29 Havoc Pennington <hp@redhat.com>
* dbus/dbus.h: add "you have to define DBUS_API_SUBJECT_TO_CHANGE
to use this library" to be sure people have the right
expectations.
Havoc Pennington [Mon, 28 Apr 2003 23:40:17 +0000 (23:40 +0000)]
2003-04-28 Havoc Pennington <hp@redhat.com>
* configure.in: add --enable-docs which by default is auto yes if
doxygen and db2html found, no otherwise; but can be forced on/off
* doc/Makefile.am: conditionalize whether to build docs on
--enable-docs
Havoc Pennington [Mon, 28 Apr 2003 19:29:42 +0000 (19:29 +0000)]
2003-04-28 Havoc Pennington <hp@redhat.com>
* configure.in: 0.10
* NEWS: update
* bus/system.conf.in: add <includedir>system.d</includedir>
* dbus/dbus-userdb.c (_dbus_user_database_lookup): fix bug when
username was provided but not uid
* bus/config-parser.c (struct BusConfigParser): keep track of
whether the parser is toplevel or was included; change some
of the error handling if it's included.
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
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
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.
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
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.
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.
Havoc Pennington [Thu, 24 Apr 2003 19:36:04 +0000 (19:36 +0000)]
remove TODO item for the name_is rename
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
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
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().
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
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
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
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
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.
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
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.
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.
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
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
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.
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
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
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.
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
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
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.
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))__
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.
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
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
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.
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
Havoc Pennington [Fri, 11 Apr 2003 16:18:24 +0000 (16:18 +0000)]
add DBUS_TYPE_INT64
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.
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.
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.
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.
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.
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/
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.
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.
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.
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.
Havoc Pennington [Thu, 10 Apr 2003 01:15:28 +0000 (01:15 +0000)]
-
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
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.
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.
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
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
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.
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 ':'
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
Havoc Pennington [Mon, 7 Apr 2003 15:42:22 +0000 (15:42 +0000)]
having a bad cvs add day apparently