Commit graph

1047 commits

Author SHA1 Message Date
Havoc Pennington
2ad05d5ce4 2003-07-16 Havoc Pennington <hp@pobox.com>
* tools/dbus-launch.c (babysit): close stdout/stderr in the
	babysitter process, as suggested by Thomas Leonard, so
	an "eval `dbus-launch --exit-with-session`" will actually
	return
2003-07-17 01:53:42 +00:00
Havoc Pennington
1ec6694449 2003-07-16 Havoc Pennington <hp@pobox.com>
* configure.in: print out EXPANDED_* variables in the summary at
	the end; clean up the code that computes EXPANDED_ variables and
	get the ones using exec_prefix right. Should make things work
	when you build without --prefix
2003-07-17 01:32:43 +00:00
Havoc Pennington
8b7fe6f99d 2003-07-13 Havoc Pennington <hp@pobox.com>
* dbus/dbus-object.h (struct DBusObjectVTable): add padding
	fields to DBusObjectVTable and DBusObjectInfo
2003-07-17 01:10:57 +00:00
Havoc Pennington
f1ee877d76 2003-07-12 Havoc Pennington <hp@pobox.com>
* dbus/dbus-object-registry.c: implement unit test,
	fix bugs discovered in process

	* dbus/dbus-connection.c: remove handler_table and
	register_handler(), add DBusObjectRegistry usage

	* dbus/dbus-objectid.c (dbus_object_id_is_null)
	(dbus_object_id_set_null): new functions
2003-07-12 19:32:35 +00:00
Havoc Pennington
824d4a5edf 2003-07-08 Havoc Pennington <hp@pobox.com>
* dbus/dbus-object.c: implement some of this

	* dbus/dbus-object-registry.c
	(_dbus_object_registry_add_and_unlock): fill in the object_id out
	param
	(_dbus_object_registry_new): handle OOM
2003-07-09 03:41:00 +00:00
Havoc Pennington
d8abf955f5 2003-07-08 Havoc Pennington <hp@pobox.com>
* dbus/dbus-object.h: sketch out an API for registering objects
	with a connection, that allows us to use as little as 24 bytes
	per object and lets application code represent an object in
	any conceivable way.

	* dbus/dbus-object-registry.c: implement the hard bits of the
	DBusConnection aspect of object API. Not yet wired up.
2003-07-08 05:07:32 +00:00
Havoc Pennington
3f1ad214b5 2003-07-06 Havoc Pennington <hp@pobox.com>
* dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function
	(_dbus_marshal_object_id): new
	(_dbus_demarshal_object_id): new
	(_dbus_marshal_get_arg_end_pos): support object ID type, and
	consolidate identical switch cases. Don't conditionalize handling
	of DBUS_TYPE_UINT64, need to handle the type always.
	(_dbus_marshal_validate_arg): consolidate identical cases, and
	handle DBUS_TYPE_OBJECT_ID

	* dbus/dbus-objectid.c: new file with DBusObjectID data type.

	* dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID
2003-07-07 00:47:01 +00:00
Havoc Pennington
a7560f4567 2003-06-29 Havoc Pennington <hp@pobox.com>
* mono/Test.cs (class Test): fire up a main loop and run it

	* mono/DBus.cs (DBus): don't g_thread_init since it can only be
	done once, the app has to do it

2003-06-26  Havoc Pennington  <hp@pobox.com>

	* mono/Connection.cs: set up connection with the glib main loop
2003-07-03 01:48:31 +00:00
Ryan Lortie
320aac6ce6 This commit was manufactured by cvs2svn to create branch
'dbus-object-names'.
2003-07-03 01:48:31 +00:00
Havoc Pennington
23c9bbf77f 2003-07-01 Havoc Pennington <hp@redhat.com>
* doc/dbus-specification.sgml: clarify the format of a type code,
	change suggested by Jim Blandy
2003-07-01 20:21:35 +00:00
Miloslav Trmac
fc2743e206 2003-06-29 Miloslav Trmac <mitr@volny.cz>
* doc/Makefile.am:
	* tools/Makefile.am: Don't assume srcdir == builddir.
2003-06-29 15:35:06 +00:00
Miloslav Trmac
928d7f3cad 2003-06-29 Miloslav Trmac <mitr@volny.cz>
* dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
	the allocated block.
	(_dbus_memory_test): New function.
	* dbus/dbus-test.h: Add _dbus_memory_test ().
	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
2003-06-28 23:12:11 +00:00
Miloslav Trmac
00da8e46fd 2003-06-29 Miloslav Trmac <mitr@volny.cz>
* dbus/dbus-message.c (decode_header_data): Use %.4s instead
	of %c%c%c%c.
	(dbus_message_new): Remove obsolete @todo.
2003-06-28 23:08:14 +00:00
Miloslav Trmac
a513066ba9 2003-06-29 Miloslav Trmac <mitr@volny.cz>
* dbus/dbus-marshal.c (_dbus_marshal_set_int64)
	(_dbus_marshal_set_uint64): Fix comment.
2003-06-28 23:03:26 +00:00
Miloslav Trmac
f1475d8541 2003-06-29 Miloslav Trmac <mitr@volny.cz>
* dbus/dbus-message.c (append_int_field, append_uint_field): Don't
	hardcode FIELD_REPLY_SERIAL.
2003-06-28 23:00:58 +00:00
Miloslav Trmac
9e15a4f969 2003-06-29 Miloslav Trmac <mitr@volny.cz>
* dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
	(_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p

	* configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
	and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
2003-06-28 22:56:27 +00:00
Havoc Pennington
6fba6839f5 2003-06-24 Havoc Pennington <hp@pobox.com>
* mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0)
2003-06-25 01:05:46 +00:00
Anders Carlsson
f55377a708 2003-06-23 Anders Carlsson <andersca@codefactory.se>
* configure.in:
	* gcj/.cvsignore:
	* gcj/Hello.java:
	* gcj/Makefile.am:
	* gcj/TestMessage.java: (TestMessage), (TestMessage.main):
	* gcj/org/.cvsignore:
	* gcj/org/Makefile.am:
	* gcj/org/freedesktop/.cvsignore:
	* gcj/org/freedesktop/Makefile.am:
	* gcj/org/freedesktop/dbus/.cvsignore:
	* gcj/org/freedesktop/dbus/Makefile.am:
	* gcj/org/freedesktop/dbus/Message.java: (Message),
	(Message.Message):
	* gcj/org/freedesktop/dbus/natMessage.cc:
	Fix the build system.
2003-06-23 17:39:48 +00:00
Havoc Pennington
cef11442f6 2003-06-22 Havoc Pennington <hp@pobox.com>
* mono/Connection.cs: add more bindings

	* dbus/dbus-threads.c (dbus_threads_init): allow calling this
	more than once.
2003-06-23 02:12:19 +00:00
Havoc Pennington
1cc184b4a8 2003-06-22 Havoc Pennington <hp@pobox.com>
* mono/Connection.cs, mono/DBus.cs, mono/Error.cs:
	Start wrapping more stuff.
2003-06-22 22:59:31 +00:00
Havoc Pennington
9588054183 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
2003-06-22 20:46:17 +00:00
Havoc Pennington
6843ad3176 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
2003-06-22 19:39:47 +00:00
Anders Carlsson
8a71cf33ef 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.
2003-06-22 15:24:16 +00:00
Anders Carlsson
f94aff4c94 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.
2003-06-22 06:53:42 +00:00
Havoc Pennington
93b5a19c9f 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.
2003-06-22 05:53:06 +00:00
Philip Blundell
8e99e853a7 2003-06-21 Philip Blundell <philb@gnu.org>
* tools/dbus-monitor.1: Updated.

	* tools/dbus-send.1: Likewise.
2003-06-21 22:20:30 +00:00
Anders Carlsson
ed70a30a72 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.
2003-06-21 07:51:39 +00:00
Anders Carlsson
e94493fc11 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.
2003-06-19 22:22:37 +00:00
Anders Carlsson
9902499b56 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).
2003-06-19 22:19:56 +00:00
Anders Carlsson
3cd6e9f002 Add .dbus-keyrings 2003-06-18 10:56:34 +00:00
Anders Carlsson
f27c7150a9 Add .cvsignore files 2003-06-18 10:48:08 +00:00
Joe Shaw
496f1e18a9 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.
2003-06-15 10:45:07 +00:00
Havoc Pennington
6a109938f7 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.
2003-06-09 22:09:34 +00:00
Havoc Pennington
a70b042f0d 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.
2003-06-04 05:20:20 +00:00
Havoc Pennington
0e024fc53a 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
2003-06-01 07:33:59 +00:00
Colin Walters
a2e144132e 2003-05-28 Colin Walters <walters@verbum.org>
* tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/).
2003-05-28 21:26:03 +00:00
Anders Carlsson
2d86773903 2003-05-18 Anders Carlsson <andersca@codefactory.se>
* dbus/dbus-message.c (dbus_message_new): Remove @todo.
2003-05-18 11:18:11 +00:00
Colin Walters
fc5e3a06cf 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.
2003-05-18 02:39:47 +00:00
Havoc Pennington
8826fea417 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
2003-05-17 17:53:17 +00:00
Havoc Pennington
306eab3e3d 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
2003-05-16 20:09:25 +00:00
Havoc Pennington
ce53bbd7af 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.
2003-05-16 16:48:07 +00:00
Colin Walters
351a91c736 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.
2003-05-16 16:01:56 +00:00
Havoc Pennington
a1d3ffb0d4 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.
2003-05-15 20:11:34 +00:00
Havoc Pennington
f0f4335bd9 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
2003-05-15 19:59:19 +00:00
James Willcox
e9cb382daf 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()
2003-05-14 02:40:41 +00:00
Havoc Pennington
d4e80132af 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
2003-05-12 02:44:45 +00:00
Havoc Pennington
ab10ae902d 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()
2003-05-11 07:59:08 +00:00
Havoc Pennington
27b694f6e1 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.
2003-05-09 04:15:56 +00:00
Havoc Pennington
e2a1ff66c3 add note to TODO about serial numbers 2003-05-05 19:12:58 +00:00
Havoc Pennington
d1c7eefb66 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
2003-05-05 03:13:35 +00:00