Commit graph

1525 commits

Author SHA1 Message Date
Jon Trowbridge
600e411f25 2004-04-15 Jon Trowbridge <trow@ximian.com>
* bus/main.c (signal_handler): Reload the configuration files
	    on SIGHUP.
	    (main): Set up our SIGHUP handler.

	    * bus/bus.c (struct BusContext): Store the config file, user and
	    fork flag in the BusContext.
	    (process_config_first_time_only): Added.  Contains the code
	    (previously in bus_context_new) for setting up the BusContext from
	    the BusConfigParser that should only be run the first time the
	    config files are read.
	    (process_config_every_time): Added.  Contains the code (previously
	    in bus_context_new) for setting up the BusContext from the
	    BusConfigParser that should be run every time the config files are
	    read.
	    (load_config): Added.  Builds a BusConfigParser from the config
	    files and passes the resulting structure off to
	    process_config_first_time_only (assuming this is the first time)
	    and process_config_every_time.
	    (bus_context_new): All of the config-related code has been moved
	    to process_config_first_time_only and process_config_every_time.
	    Now this function just does the non-config-related initializations
	    and calls load_config.
	    (bus_context_reload_config): Added.
2004-04-16 15:01:25 +00:00
Olivier Andrieu
a470eaa078 2004-04-15 Olivier Andrieu <oliv__a@users.sourceforge.net>
* bus/driver.c (bus_driver_handle_get_service_owner):
	implement a GetServiceOwner method.
	* doc/dbus-specification.xml: document it.
	* dbus/dbus-errors.h: add a 'ServiceHasNoOwner' error.

	* glib/dbus-gproxy.c (dbus_gproxy_new_for_service_owner):
	implement, using the bus GetServiceOwner method.

	* test/glib/test-dbus-glib.c:
	use dbus_gproxy_new_for_service_owner so that we can receive the
	signal.
2004-04-15 22:08:05 +00:00
Olivier Andrieu
61b294f1a9 2004-04-14 Olivier Andrieu <oliv__a@users.sourceforge.net>
* test/glib/test-dbus-glib.c (timed_exit): fail the test after
	a few seconds.
2004-04-13 22:29:50 +00:00
Michael Meeks
fefa7ed4d5 2004-04-13 Michael Meeks <michael@ximian.com>
* glib/dbus-gobject.c (handle_introspect): split out
	(introspect_properties): this.
	(handle_introspect): implement this.
2004-04-13 11:47:17 +00:00
Michael Meeks
83d3819577 2004-04-13 Michael Meeks <michael@ximian.com>
* test/glib/Makefile.am: use the absolute path so the bus
	daemon's chdir ("/") doesn't kill us dead.

	* configure.in: subst ABSOLUTE_TOP_BUILDDIR
2004-04-13 11:39:41 +00:00
Jon Trowbridge
0da46fa5a4 2004-04-12 Jon Trowbridge <trow@ximian.com>
* bus/config-parser.c (struct BusConfigParser): Added
	    included_files field.
	    (seen_include): Added.  Checks whether or not a file has already
	    been included by any parent BusConfigParser.
	    (bus_config_parser_new): Copy the parent's included_files.
	    (include_file): Track which files have been included, and fail on
	    circular inclusions.
	    (process_test_valid_subdir): Changed printf to report if we are
	    testing valid or invalid conf files.
	    (all_are_equiv): Changed printf to be a bit clearer about
	    what we are actually doing.
	    (bus_config_parser_test): Test invalid configuration files.
2004-04-13 01:37:57 +00:00
Jon Trowbridge
e039be5838 2004-04-09 Jon Trowbridge <trow@ximian.com>
* bus/config-parser.c (bus_config_parser_new): Added a 'parent'
	    argument.  If non-null, the newly-constructed BusConfigParser will
	    be initialized with the parent's BusLimits instead of the default
	    values.
	    (include_file): When including a config file, pass in
	    the current parser as the parent and then copy the BusLimits
	    from the included BusConfigParser pack to the current parser.
	    (process_test_valid_subdir): Renamed from process_test_subdir.
	    (process_test_equiv_subdir): Added.  Walks through a directory,
	    descending into each subdirectory and loading the config files
	    it finds there.  If any subdirectory contains two config files
	    that don't produce identical BusConfigParser structs, fail.
	    For now, the BusConfigParser's BusPolicies are not compared.
	    (bus_config_parser_test): Call both process_test_valid_subdir and
	    process_test_equiv_subdir.

	    * bus/config-loader-libxml.c (bus_config_load): Take a parent
	    argument and pass it along to the call to bus_config_parser_new.
	    Also made a few small changes to allow this code to compile.

	    * bus/config-loader-expat.c (bus_config_load): Take a parent
	    argument and pass it along to the call to bus_config_parser_new.

	    * bus/bus.c (bus_context_new): Load the config file
	    with a NULL parent argument.
2004-04-09 19:50:29 +00:00
Michael Meeks
b498dbcc1a 2004-03-29 Michael Meeks <michael@ximian.com>
* glib/dbus-gobject.c (set_object_property): split out /
	re-work, use the property type, and not the message type(!)
	(get_object_property): ditto.

        * glib/dbus-gvalue.c (dbus_gvalue_demarshal),
	(dbus_gvalue_marshal): make this code re-usable, needed
	for signals too, also on both proxy and server side.
	Re-write for more efficiency / readability.
2004-03-29 13:24:50 +00:00
Michael Meeks
004b37eca4 2004-03-29 Michael Meeks <michael@ximian.com>
* dbus/dbus-message.c
	(dbus_message_new_error_printf): impl.

	* dbus/dbus-connection.c
	(dbus_connection_unregister_object_path): fix warning.

	* configure.in: fix no-mono-installed situation.
2004-03-29 13:11:05 +00:00
Havoc Pennington
a221eefadf 2004-03-27 Havoc Pennington <hp@redhat.com>
Patch from Timo Teräs:

	* tools/dbus-send.c (main): if --print-reply, assume type is
	method call; support boolean type args

	* dbus/dbus-connection.c (dbus_connection_send_with_reply): fix a
	bunch of memleak and logic bugs
2004-03-27 05:29:31 +00:00
Owen Fraser-Green
632d54e0db Added InterfaceProxy to Mono bindings to avoid having to generate a proxy for every registered object. Also added object_path functions to dbus-message. 2004-03-23 18:07:48 +00:00
Owen Fraser-Green
c916037773 First checkin of the Mono bindings. 2004-03-23 12:10:32 +00:00
Havoc Pennington
2195cf0dbd 2004-03-21 Havoc Pennington <hp@redhat.com>
* test/test-service.c (main): remove debug spew
2004-03-21 16:26:56 +00:00
Olivier Andrieu
eacb2afdc2 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): accept empty
arrays

* dbus/dbus-message.h, bus/dbus-message.c (dbus_message_iter_init)
(dbus_message_iter_init_array_iterator)
(dbus_message_iter_init_dict_iterator): return a dbus_bool_t to
indicate whether the iterator is empty

* dbus/dbus-pending-call.c, dbus/dbus-server.c: silence compiler
warnings
2004-03-21 13:42:23 +00:00
Havoc Pennington
4fd4d52dd6 2004-03-19 Havoc Pennington <hp@redhat.com>
* NEWS: 0.21 updates

	* configure.in: 0.21

	* doc/Makefile.am: add all XMLTO usage to DBUS_XML_DOCS_ENABLED

	* python/Makefile.am: change to avoid dist of dbus_bindings.c so
	you don't need pyrex to make dist

	* qt/Makefile.am (libdbus_qt_1_la_SOURCES): add integrator.h to
	sources; run moc
2004-03-19 22:36:31 +00:00
Richard Hult
69bf27e556 2004-03-18 Richard Hult <richard@imendio.com>
* dbus/dbus-message.c (dbus_message_get_auto_activation)
	(dbus_message_set_auto_activation): Add doxygen docs.
2004-03-18 11:10:59 +00:00
Richard Hult
93f433a17a 2004-03-16 Richard Hult <richard@imendio.com>
* bus/activation.c: (bus_activation_service_created),
	(bus_activation_send_pending_auto_activation_messages),
	(bus_activation_activate_service):
	* bus/activation.h:
	* bus/dispatch.c: (bus_dispatch),
	(check_nonexistent_service_auto_activation),
	(check_service_auto_activated),
	(check_segfault_service_auto_activation),
	(check_existent_service_auto_activation), (bus_dispatch_test):
	* bus/driver.c: (bus_driver_handle_activate_service):
	* bus/services.c: (bus_registry_acquire_service):
	* dbus/dbus-message.c: (dbus_message_set_auto_activation),
	(dbus_message_get_auto_activation):
	* dbus/dbus-message.h:
	* dbus/dbus-protocol.h: Implement auto-activation.
2004-03-16 18:00:35 +00:00
Olivier Andrieu
24ffe79c80 2004-03-12 Olivier Andrieu <oliv__a@users.sourceforge.net>
* dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos):
	fix a bug with CUSTOM types.

	* dbus/dbus-message.c (message_iter_test, _dbus_message_test): add
	a unit test for this bug (used to fail).
2004-03-12 14:18:35 +00:00
Mikael Hallendal
520bdf704d 2004-03-12 Mikael Hallendal <micke@imendio.com>
* bus/activation.c:
	(babysitter_watch_callback): notify all pending activations waiting for
	  the same exec that the activation failed.
	(bus_activation_activate_service): shortcut the activation if we
	  already waiting for the same executable to start up.
2004-03-12 14:15:14 +00:00
Mikael Hallendal
dd79fc73f0 2004-03-12 Mikael Hallendal <micke@imendio.com>
* bus/activation.c:
	- Added service file reloading.
	  Each service files directory is kept in an hash table in
	  BusActivation and each BusActivationEntry knows what .service-file it
	  was read from. So when you try to activate a service the bus will
	  check if it's been updated, removed or if new .service-files has
	  been installed.
	- Test code at the bottom for the service file reloading.
	* bus/test-main.c: (main):
	* bus/test.h:
	- added service reloading test.
	* dbus/dbus-sysdeps.c:
	* dbus/dbus-sysdeps.h: (_dbus_delete_directory): Added.
2004-03-12 14:07:16 +00:00
Michael Meeks
387510da64 2004-03-08 Michael Meeks <michael@ximian.com>
* dbus/dbus-connection.c (_dbus_connection_block_for_reply):
	bail immediately if disconnected, to avoid busy loop.
2004-03-08 10:59:20 +00:00
Michael Meeks
9d633977d1 2004-03-08 Michael Meeks <michael@ximian.com>
* dbus/dbus-message.c (dbus_message_iter_get_args_valist):
	cleanup cut/paste/inefficiency.
2004-03-08 10:29:16 +00:00
David Zeuthen
868dd4b4b0 2004-03-01 David Zeuthen <david@fubar.dk>
* dbus/dbus-string.c (_dbus_string_append_printf_valist): Fix a
	bug where args were used twice. This bug resulted in a segfault
	on a Debian/PPC system when starting the messagebus daemon. Include
	dbus-sysdeps.h for DBUS_VA_COPY

	* dbus/dbus-sysdeps.h: Define DBUS_VA_COPY if neccessary. From GLib

	* configure.in: Check for va_copy; define DBUS_VA_COPY to the
	appropriate va_copy implementation. From GLib
2004-03-05 14:05:33 +00:00
Joe Shaw
47d8e53bfe 2004-02-24 Joe Shaw <joe@ximian.com>
* bus/services.c (bus_registry_acquire_service): We need to pass
	in the service name to dbus_set_error() to prevent a crash.
2004-02-24 19:50:25 +00:00
Anders Carlsson
f02a9001f2 2003-12-26 Anders Carlsson <andersca@gnome.org>
* AUTHORS: Reveal my True identity.
2003-12-26 21:41:22 +00:00
Mikael Hallendal
a9a28b7a6a 2003-12-17 Mikael Hallendal <micke@imendio.com>
* dbus/dbus-message.c: (dbus_message_append_args_valist):
	- Added case for DBUS_TYPE_BYTE, patch from Johan Hedberg.
2003-12-17 12:24:33 +00:00
Mikael Hallendal
db400fed47 2003-12-13 Mikael Hallendal <micke@imendio.com>
* doc/TODO: Added not about better error check of configuration files.
2003-12-13 14:30:37 +00:00
Richard Hult
a1df3040f2 2003-12-02 Richard Hult <richard@imendio.com>
* Update AFL version to 2.0 throughout the source files to reflect
	the update that was done a while ago.
2003-12-02 10:44:22 +00:00
Richard Hult
8e1fc1d779 2003-12-02 Richard Hult <richard@imendio.com>
* dbus/dbus-message.c (dbus_message_iter_append_dict): Set
	wrote_dict_key to FALSE on the iter that the dict is appended to,
	just like when appending other types. Fixes a bug where a dict
	couldn't be put inside a dict.
	(dbus_message_iter_append_dict_key): Fix typo in warning message.
	(message_iter_test, _dbus_message_test): Add test case for dict
	inside dict.
2003-12-02 10:33:35 +00:00
David Zeuthen
3e77824dff 2003-12-01 David Zeuthen <david@fubar.dk>
* python/dbus.py: Add the actual message when calling the reciever
	of a signal such that parameters can be inspected. Add the method
	remove_signal_receiver
2003-12-01 20:49:53 +00:00
Mikael Hallendal
9f1a60dbba 2003-11-26 Mikael Hallendal <micke@imendio.com>
* bus/*.[ch]:
	* dbus/*.[ch]:
	* glib/*.[ch]: Made ref functions return the pointer
2003-11-27 01:25:50 +00:00
Zack Rusin
6d9f72b9e6 Adding DBusServer wrapper. Switching some thingies, looking pretty and
being cool... Anyway, we're done at a very basic level. I have to go back
to something else now, but i'll try to commit an example sometime soon.
2003-11-25 15:30:03 +00:00
Zack Rusin
27f6dca9ce As changelog says. Integration is pretty much there, so dbus should at least
use Qt for timeouts and watches comfortably now.
2003-11-24 19:11:55 +00:00
Zack Rusin
89d43511ec Updating changelog.
What sucks is the lack of automatic moc file creation in the configuration
system. Someone needs to copy over some of ours admin dir (and knowing life
that's probably going to be me).
2003-11-24 05:58:01 +00:00
Zack Rusin
fb1df4eaff "Zack, you're not updating ChangeLog"... Only because I chose not to and not
because i forgot.
It was a political statemant rising awerness of the fact that our ozone
layer is getting thiner. Glad you're with me on that one.
2003-11-23 20:58:16 +00:00
Havoc Pennington
221c07a435 2003-11-19 Havoc Pennington <hp@redhat.com>
* NEWS: update

        * configure.in: bump version to 0.20

	* configure.in (have_qt): add yet another place to look for qt
	(someone hand trolltech a .pc file...)
2003-11-19 21:51:09 +00:00
Havoc Pennington
d8beff11cd 2003-11-01 Havoc Pennington <hp@redhat.com>
* doc/dbus-specification.xml: add state machine docs on the auth
	protocol; just a first draft, I'm sure it's wrong.
2003-11-01 18:24:32 +00:00
Havoc Pennington
86351a1e3a 2003-10-28 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message.c (get_next_field): delete unused function
2003-10-29 00:29:52 +00:00
David Zeuthen
ddc560a9aa 2003-10-28 David Zeuthen <david@fubar.dk>
* python/dbus_bindings.pyx.in: add get_dict to handle dictionaries
        return types. Fixup TYPE_* to reflect changes in dbus/dbus-protocol.h
2003-10-29 00:06:07 +00:00
Havoc Pennington
bebc830fc4 2003-10-28 Havoc Pennington <hp@redhat.com>
* bus/expirelist.c (do_expiration_with_current_time): detect
	failure of the expire_func due to OOM

	* bus/connection.c (bus_pending_reply_expired): return FALSE on OOM

	* bus/dispatch.c (check_send_exit_to_service): fix to handle the
	NoReply error that's now created by the bus when the service exits
2003-10-28 23:51:24 +00:00
Havoc Pennington
e11ae72466 2003-10-28 Havoc Pennington <hp@redhat.com>
* dbus/dbus-message.c (_dbus_message_test): enable and fix the
	tests for set_path, set_interface, set_member, etc.

	* dbus/dbus-string.c (_dbus_string_insert_bytes): allow 0 bytes

	* dbus/dbus-message.c (set_string_field): always just delete and
	re-append the field; accept NULL for deletion
	(re_align_fields_recurse): reimplement
2003-10-28 22:53:36 +00:00
Havoc Pennington
a63411cb3d 2003-10-26 Havoc Pennington <hp@redhat.com>
* dbus/dbus-connection.c: fix docs to properly describe the
	disconnected message
	(_dbus_connection_notify_disconnected): remove this function;
	we can't synchronously add the disconnected message, we have to
	do it after we've queued any remaining real messages
	(_dbus_connection_get_dispatch_status_unlocked): queue the
	disconnect message only if the transport has finished queueing all
	its real messages and is disconnected.
	(dbus_connection_disconnect): update the dispatch status here
2003-10-26 15:36:15 +00:00
Havoc Pennington
eb9aa9da95 2003-10-22 Havoc Pennington <hp@redhat.com>
* bus/bus.c (bus_context_check_security_policy): fix up assertion

	* bus/connection.c (bus_transaction_send_from_driver): set the
	destination to the connection's base service
2003-10-22 16:01:08 +00:00
Havoc Pennington
7574224200 2003-10-20 Havoc Pennington <hp@redhat.com>
hmm, make check is currently not passing.

	* doc/dbus-specification.xml: add requirement that custom type
	names follow the same rules as interface names.

	* dbus/dbus-protocol.h: change some of the byte codes, to avoid
	duplication and allow 'c' to be 'custom'; dict is now 'm' for
	'map'

	* doc/dbus-specification.xml: update type codes to match
	dbus-protocol.h, using the ASCII byte values. Rename type NAMED to
	CUSTOM. Add type OBJECT_PATH to the spec.

2003-10-17  Havoc Pennington  <hp@redhat.com>

	* bus/driver.c (create_unique_client_name): use "." as separator
	in base service names instead of '-'

	* dbus/dbus-string.c (_dbus_string_get_byte): allow getting nul
	byte at the end of the string

	* dbus/dbus-internals.h (_DBUS_LIKELY, _DBUS_UNLIKELY): add
	optimization macros since string validation seems to be a slow
	point.

	* doc/dbus-specification.xml: restrict valid
	service/interface/member/error names. Add test suite code for the
	name validation.

	* dbus/dbus-string.c: limit service/interface/member/error names
	to [0-9][A-Z][a-z]_

	* dbus/dbus-connection.c (dbus_connection_dispatch): add missing
	format arg to verbose spew

	* glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): if not out of
	memory, return instead of g_error

	* test/test-service.c (path_message_func): support emitting a
	signal on request

	* dbus/dbus-bus.c (init_connections_unlocked): only fill in
	activation bus type if DBUS_BUS_ACTIVATION was set; default to
	assuming the activation bus was the session bus so that services
	started manually will still register.
	(init_connections_unlocked): fix so that in OOM situation we get
	the same semantics when retrying the function

	* test/test-service.c (main): change to use path registration, to
	test those codepaths; register with DBUS_BUS_ACTIVATION rather
	than DBUS_BUS_SESSION
2003-10-21 05:46:52 +00:00
Havoc Pennington
8a4d94fe70 2003-10-16 Havoc Pennington <hp@redhat.com>
* glib/dbus-gtest-main.c: bracket with #ifdef DBUS_BUILD_TESTS

	* Makefile.am (GCOV_DIRS): remove "test", we don't care about test
	coverage of the tests
	(coverage-report.txt): don't move the .da and .bbg files around
2003-10-17 16:23:19 +00:00
Havoc Pennington
c20c4181f2 2003-10-16 Havoc Pennington <hp@redhat.com>
* bus/bus.c (struct BusContext): remove struct field I didn't mean
	to put there
2003-10-16 06:43:32 +00:00
Havoc Pennington
d6e1b2adb3 2003-10-16 Havoc Pennington <hp@redhat.com>
* bus/connection.c (bus_pending_reply_expired): either cancel or
	execute, not both
	(bus_connections_check_reply): use unlink, not remove_link, as we
	don't want to free the link; fixes double free mess

	* dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case
	where no reply was received

	* dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock):
	fix a refcount leak

	* bus/signals.c (match_rule_matches): add special cases for the
	bus driver, so you can match on sender/destination for it.

	* dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if
	DBUS_PRINT_BACKTRACE is set

	* dbus/dbus-internals.c: add pid to assertion failure messages

	* dbus/dbus-connection.c: add message type code to the debug spew

	* glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want
	sender=foo not service=foo

	* dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the
	session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use
	DBUS_ACTIVATION_ADDRESS instead

	* bus/activation.c: set DBUS_SESSION_BUS_ADDRESS,
	DBUS_SYSTEM_BUS_ADDRESS if appropriate

	* bus/bus.c (bus_context_new): handle OOM copying bus type into
	context struct

	* dbus/dbus-message.c (dbus_message_iter_get_object_path): new function
	(dbus_message_iter_get_object_path_array): new function (half
	finished, disabled for the moment)

	* glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle
	DBUS_MESSAGE_TYPE_ERROR

	* tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to
	avoid redirecting stderr to /dev/null
	(babysit): close stdin if not doing the "exit_with_session" thing

	* dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover
	debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not
	stdout/stdin, so things don't get confused

	* bus/system.conf.in: fix to allow replies, I modified .conf
	instead of .conf.in again.
2003-10-16 06:34:51 +00:00
David Zeuthen
9b9dd4b80e 2003-10-14 David Zeuthen <david@fubar.dk>
* python/dbus_bindings.pyx.in (MessageIter.get): fixed typo in
        argtype to arg_type when raising unknown arg type exception.
        Changed type list to reflect the changes in dbus-protocol.h so
        the bindings actually work.
2003-10-15 21:25:13 +00:00
Havoc Pennington
cd077dc8f2 2003-10-14 Havoc Pennington <hp@redhat.com>
* test/decode-gcov.c: support gcc 3.3 also, though gcc 3.3 seems
	to have a bug keeping it from outputting the .da files sometimes
	(string_get_string): don't append garbage nul bytes to the string.
2003-10-15 21:09:40 +00:00
Seth Nickell
0612f348fd 2003-10-15 Seth Nickell <seth@gnome.org>
* python/Makefile.am:

	Include dbus_h_wrapper.h in the dist tarball.
2003-10-15 11:55:38 +00:00