1. 04 May, 2003 2 commits
    • Havoc Pennington's avatar
      2003-05-04 Havoc Pennington <hp@pobox.com> · 3d0dcbf5
      Havoc Pennington authored
      	* dbus/dbus-connection.c (dbus_connection_preallocate_send):
      	unlock mutex on successful return, patch from Anders Gustafsson
      3d0dcbf5
    • Havoc Pennington's avatar
      2003-05-03 Havoc Pennington <hp@pobox.com> · c0158234
      Havoc Pennington authored
      	* 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.
      c0158234
  2. 03 May, 2003 2 commits
  3. 30 Apr, 2003 1 commit
  4. 29 Apr, 2003 3 commits
    • Havoc Pennington's avatar
      2003-04-29 Havoc Pennington <hp@redhat.com> · 410a80c4
      Havoc Pennington authored
      	* 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
      410a80c4
    • Havoc Pennington's avatar
      2003-04-29 Havoc Pennington <hp@redhat.com> · ae759bff
      Havoc Pennington authored
      	* 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
      ae759bff
    • Havoc Pennington's avatar
      2003-04-29 Havoc Pennington <hp@redhat.com> · 2a708128
      Havoc Pennington authored
      	* 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.
      2a708128
  5. 28 Apr, 2003 1 commit
    • Havoc Pennington's avatar
      2003-04-28 Havoc Pennington <hp@redhat.com> · 893d859e
      Havoc Pennington authored
      	* 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.
      893d859e
  6. 27 Apr, 2003 1 commit
    • Havoc Pennington's avatar
      2003-04-27 Havoc Pennington <hp@pobox.com> · e8d396ef
      Havoc Pennington authored
      	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
      e8d396ef
  7. 25 Apr, 2003 3 commits
    • Havoc Pennington's avatar
      2003-04-25 Havoc Pennington <hp@redhat.com> · b3bd48ed
      Havoc Pennington authored
              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
      b3bd48ed
    • Havoc Pennington's avatar
      2003-04-25 Havoc Pennington <hp@redhat.com> · 4b87aa40
      Havoc Pennington authored
      	* dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug
      	where we used >= 0 instead of != DBUS_UID_UNSET.
      4b87aa40
    • Havoc Pennington's avatar
      2003-04-25 Havoc Pennington <hp@redhat.com> · 9c010fbc
      Havoc Pennington authored
      	* glib/dbus-gmain.c (remove_watch): fix for a crash when watches
      	were toggled without add/remove, fix from Anders Gustafsson
      9c010fbc
  8. 24 Apr, 2003 3 commits
    • Havoc Pennington's avatar
      2003-04-24 Havoc Pennington <hp@redhat.com> · 1820f3bd
      Havoc Pennington authored
      	* 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.
      1820f3bd
    • Havoc Pennington's avatar
      2003-04-24 Havoc Pennington <hp@redhat.com> · e8bf15b2
      Havoc Pennington authored
      	* dbus/dbus-message.c (dbus_message_name_is): rename
      	(dbus_message_service_is): rename
      	(dbus_message_sender_is): rename
      	(dbus_message_get_service): rename
      e8bf15b2
    • Havoc Pennington's avatar
      2003-04-24 Havoc Pennington <hp@redhat.com> · c9cd648f
      Havoc Pennington authored
      	* 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
      c9cd648f
  9. 23 Apr, 2003 1 commit
    • Havoc Pennington's avatar
      2003-04-22 Havoc Pennington <hp@redhat.com> · b29d0c53
      Havoc Pennington authored
      	* 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
      b29d0c53
  10. 22 Apr, 2003 1 commit
    • Havoc Pennington's avatar
      2003-04-22 Havoc Pennington <hp@redhat.com> · b3a39698
      Havoc Pennington authored
      	* 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
      b3a39698
  11. 19 Apr, 2003 1 commit
    • Havoc Pennington's avatar
      2003-04-19 Havoc Pennington <hp@pobox.com> · 983200f9
      Havoc Pennington authored
      	* 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
      983200f9
  12. 18 Apr, 2003 3 commits
    • Havoc Pennington's avatar
      2003-04-18 Havoc Pennington <hp@pobox.com> · d3fb6f35
      Havoc Pennington authored
      	* 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.
      d3fb6f35
    • Havoc Pennington's avatar
      2003-04-18 Havoc Pennington <hp@pobox.com> · e0b284c7
      Havoc Pennington authored
      	* 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
      e0b284c7
    • Havoc Pennington's avatar
      2003-04-18 Havoc Pennington <hp@pobox.com> · 3df260c0
      Havoc Pennington authored
      	* 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.
      3df260c0
  13. 17 Apr, 2003 3 commits
    • Havoc Pennington's avatar
      2003-04-17 Havoc Pennington <hp@redhat.com> · 88cd5da3
      Havoc Pennington authored
      	* dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd
      	database usage so it all goes via the DBusUserDatabase cache.
      88cd5da3
    • Havoc Pennington's avatar
      2003-04-17 Havoc Pennington <hp@redhat.com> · 4219b08b
      Havoc Pennington authored
      	* 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
      4219b08b
    • Havoc Pennington's avatar
      2003-04-16 Havoc Pennington <hp@pobox.com> · dac0a1f8
      Havoc Pennington authored
      	* 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
      dac0a1f8
  14. 16 Apr, 2003 1 commit
    • Havoc Pennington's avatar
      2003-04-16 Havoc Pennington <hp@redhat.com> · 4b45f179
      Havoc Pennington authored
      	* 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
      4b45f179
  15. 14 Apr, 2003 2 commits
    • Havoc Pennington's avatar
      2003-04-14 Havoc Pennington <hp@redhat.com> · fe1cb3a9
      Havoc Pennington authored
      	* 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
      fe1cb3a9
    • Havoc Pennington's avatar
      2003-04-13 Havoc Pennington <hp@pobox.com> · 777707ed
      Havoc Pennington authored
      	* 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
      777707ed
  16. 13 Apr, 2003 2 commits
    • Havoc Pennington's avatar
      2003-04-13 Havoc Pennington <hp@pobox.com> · 8aabca8d
      Havoc Pennington authored
      	* 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
      8aabca8d
    • Havoc Pennington's avatar
      2003-04-12 Havoc Pennington <hp@pobox.com> · b09b7ca3
      Havoc Pennington authored
      	* 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.
      b09b7ca3
  17. 12 Apr, 2003 1 commit
    • Havoc Pennington's avatar
      2003-04-12 Havoc Pennington <hp@pobox.com> · bc983ecf
      Havoc Pennington authored
      	* 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))__
      bc983ecf
  18. 11 Apr, 2003 3 commits
    • Havoc Pennington's avatar
      2003-04-10 Havoc Pennington <hp@pobox.com> · 78e79022
      Havoc Pennington authored
      	* 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.
      78e79022
    • Havoc Pennington's avatar
      2003-04-10 Havoc Pennington <hp@pobox.com> · eb63ba50
      Havoc Pennington authored
      	* 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.
      eb63ba50
    • Havoc Pennington's avatar
      2003-04-10 Havoc Pennington <hp@redhat.com> · 6be547d3
      Havoc Pennington authored
      	* 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.
      6be547d3
  19. 10 Apr, 2003 4 commits
    • Alexander Larsson's avatar
      2003-04-10 Alexander Larsson <alexl@redhat.com> · e11e4ca8
      Alexander Larsson authored
      	* 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.
      e11e4ca8
    • Alexander Larsson's avatar
      2003-04-10 Alexander Larsson <alexl@redhat.com> · e84c3a03
      Alexander Larsson authored
      	* 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.
      e84c3a03
    • Havoc Pennington's avatar
      2003-04-10 Havoc Pennington <hp@pobox.com> · 51781f54
      Havoc Pennington authored
      	* 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.
      51781f54
    • Havoc Pennington's avatar
      2003-04-09 Havoc Pennington <hp@redhat.com> · 49f6e320
      Havoc Pennington authored
      	* dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought
      	I'd checked this in earlier but hadn't.
      49f6e320
  20. 09 Apr, 2003 2 commits
    • Havoc Pennington's avatar
      2003-04-09 Havoc Pennington <hp@redhat.com> · 7caf646f
      Havoc Pennington authored
      	* 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
      7caf646f
    • Havoc Pennington's avatar
      2003-04-09 Havoc Pennington <hp@redhat.com> · 1708094c
      Havoc Pennington authored
      	* 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.
      1708094c