Commit graph

18 commits

Author SHA1 Message Date
Colin Walters
b93476ce07 Don't drop pending activations when reloading configuration
The reload handling for activation simply dropped all knowledge
of pending activations, which was clearly wrong.  Refactor things
so that reload only reloads directories, server address etc.

Based on a patch originally from Matthias Clasen <mclasen@redhat.com>
2010-01-28 17:01:24 -05:00
Tobias Mueller
dc33f4f774 Bug 21161 - Update the FSF address
No comment.

Signed-off-by: Colin Walters <walters@verbum.org>
(cherry picked from commit 5baf2f856a)
2009-07-14 15:39:47 -04:00
Ray Strode
91306ef938 Store what environment to activate with on activation object
We now keep the environment in a hash table member of the
activation object and provide a method
bus_activation_set_environment_variable to modify the
hash table.  This hash table is seeded initially with the
environment of the bus daemon itself.
2008-07-12 13:21:23 -04:00
Havoc Pennington
d012387afe 2007-07-13 Havoc Pennington <hp@redhat.com>
* Add indent-tabs-mode: nil to all file headers.
2007-07-14 02:44:01 +00:00
John (J5) Palmieri
7628b54125 * bus/activation.[ch] (bus_activation_list_services): new function to
get the list of services that can be activated

* bus/dispatch.c: test coverage for the new bus method
  ListActivatableNames

* bus/driver.c: new bus method ListActivatableNames to get the list of
  services that can be activated

* doc/dbus-specification.xml: ListActivatableNames method documentation
2006-07-14 01:17:59 +00:00
Havoc Pennington
43605a6f4e 2004-08-09 Havoc Pennington <hp@redhat.com>
* COPYING: switch to Academic Free License version 2.1 instead of
	2.0, to resolve complaints about patent termination clause.
2004-08-10 03:07:01 +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
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
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
Havoc Pennington
e55fd2c670 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
2003-04-02 20:14:52 +00:00
Havoc Pennington
cfa261b49d 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
2003-04-02 00:29:33 +00:00
Havoc Pennington
29c71168cd 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
2003-03-31 08:19:50 +00:00
Anders Carlsson
3f4086f0fd 2003-03-16 Anders Carlsson <andersca@codefactory.se>
* bus/activation.c: (bus_pending_activation_entry_free),
	(bus_pending_activation_free), (bus_activation_new),
	(bus_activation_unref), (bus_activation_service_created),
	(bus_activation_activate_service):
	* bus/activation.h:
	* bus/bus.c: (bus_context_new):
	* bus/desktop-file.c: (new_section):
	* bus/driver.c: (bus_driver_send_service_deleted),
	(bus_driver_handle_activate_service):
	* bus/services.c: (bus_registry_new), (bus_registry_ensure):
	* bus/services.h:
	* dbus/dbus-connection.c:
	(dbus_connection_send_with_reply_and_block):
	* dbus/dbus-message.c: (dbus_message_append_args_valist):
	* dbus/dbus-protocol.h:
	Make activation work better. Now pending activations will be queued
	and the daemon won't try to activate services that are already registered.
2003-03-16 22:25:18 +00:00
Havoc Pennington
6ecc14ffab 2003-03-12 Havoc Pennington <hp@pobox.com>
Throughout: purge global variables, introduce BusActivation,
	BusConnections, BusRegistry, etc. objects instead.

	* bus/bus.h, bus/bus.c: introduce BusContext as a global
	message bus object

	* test/Makefile.am (TEST_BINARIES): disable bus-test for now,
	going to redo this a bit differently I think
2003-03-13 03:52:58 +00:00
Havoc Pennington
29560adcc7 2003-03-12 Havoc Pennington <hp@redhat.com>
Mega-patch that gets the message bus daemon initially handling
	out-of-memory. Work still needed. Also lots of random
	moving stuff to DBusError instead of ResultCode.

	* dbus/dbus-list.c (_dbus_list_length_is_one): new function

	* dbus/dbus-connection.c
	(dbus_connection_send_with_reply_and_block): use DBusError

	* dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
	DBusResultCode

	* dbus/dbus-connection.c (dbus_connection_send): drop the result
	code here, as the only failure possible is OOM.

	* bus/connection.c (bus_connection_disconnect):
	rename bus_connection_disconnected as it's a notification only

	* bus/driver.c (bus_driver_handle_acquire_service): don't free
	"name" on get_args failure, should be done by get_args;
	don't disconnect client for bad args, just return an error.
	(bus_driver_handle_service_exists): ditto

	* bus/services.c (bus_services_list): NULL-terminate returned array

	* bus/driver.c (bus_driver_send_service_lost)
	(bus_driver_send_service_acquired): send messages from driver to a
	specific client to the client's unique name, not to the broadcast
	service.

	* dbus/dbus-message.c (decode_header_data): reject messages that
	contain no name field
	(_dbus_message_get_client_serial): rename to
	dbus_message_get_serial and make public
	(_dbus_message_set_serial): rename from set_client_serial
	(_dbus_message_set_reply_serial): make public
	(_dbus_message_get_reply_serial): make public

	* bus/connection.c (bus_connection_foreach): allow stopping
	iteration by returning FALSE from foreach function.

	* dbus/dbus-connection.c (dbus_connection_send_preallocated)
	(dbus_connection_free_preallocated_send)
	(dbus_connection_preallocate_send): new API for sending a message
	without possibility of malloc failure.
	(dbus_connection_send_message): rename to just
	dbus_connection_send (and same for whole function family)

	* dbus/dbus-errors.c (dbus_error_free): make this reinit the error

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

	* bus/activation.c: handle/return errors

	* dbus/dbus-errors.h: add more DBUS_ERROR #define

	* dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
	(_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
	(_dbus_result_from_errno): move to this file
2003-03-13 00:56:43 +00:00
Anders Carlsson
3c8db26789 2003-02-17 Anders Carlsson <andersca@codefactory.se>
* bus/activation.c: (bus_activation_init), (child_setup),
	(bus_activation_activate_service):
	* bus/activation.h:
	* bus/main.c: (main):
	Set DBUS_ADDRESS environment variable.

	* dbus/dbus-errors.c: (dbus_set_error):
	Don't use va_copy since that's a C99 feature.

	* dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
	(_dbus_spawn_async):
	* dbus/dbus-sysdeps.h:
	Add child_setup_func to _dbus_spawn_async.

	* doc/dbus-specification.sgml:
	Update specification.

	* test/spawn-test.c: (setup_func), (main):
	Fix test.
2003-02-17 09:59:23 +00:00
Anders Carlsson
f116b1282f 2003-02-16 Anders Carlsson <andersca@codefactory.se>
* bus/activation.c: (load_directory), (bus_activation_init),
	(bus_activation_activate_service):
	* bus/activation.h:
	* bus/driver.c:
	(bus_driver_handle_activate_service), (bus_driver_handle_message):
	More work on the activation handling.

	* dbus/dbus-errors.h:
	Add some error messages

	* dbus/dbus-message.c: (dbus_message_new_error_reply):
	* dbus/dbus-message.h:
	New function that creates an error message.

	* dbus/dbus-protocol.h:
	Add ACTIVATE_SERVER message.

	* dbus/dbus-server-unix.c: (unix_handle_watch),
	(_dbus_server_new_for_domain_socket):
	Call _dbus_fd_set_close_on_exec.

	* dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
	(_dbus_spawn_async), (_dbus_disable_sigpipe),
	(_dbus_fd_set_close_on_exec):
	* dbus/dbus-sysdeps.h:
	Add _dbus_fd_set_close_on exec function. Also add function that checks
	that all open fds are set to close-on-exec and warns otherwise.

	* dbus/dbus-transport-unix.c:
	(_dbus_transport_new_for_domain_socket):
	Call _dbus_fd_set_close_on_exec.
2003-02-16 10:00:37 +00:00
Anders Carlsson
efd53eca67 2003-02-15 Anders Carlsson <andersca@codefactory.se>
* bus/Makefile.am:
	* bus/activation.c: (bus_activation_entry_free),
	(add_desktop_file_entry), (load_directory), (bus_activation_init):
	* bus/activation.h:
	* bus/main.c: (main):
	Add simple activation support, doesn't work yet though.
2003-02-15 18:22:40 +00:00