1. 13 Mar, 2003 2 commits
    • Havoc Pennington's avatar
      2003-03-12 Havoc Pennington <hp@pobox.com> · 6ecc14ff
      Havoc Pennington authored
      	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
      6ecc14ff
    • Havoc Pennington's avatar
      2003-03-12 Havoc Pennington <hp@redhat.com> · 29560adc
      Havoc Pennington authored
              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
      29560adc
  2. 10 Mar, 2003 1 commit
    • Anders Carlsson's avatar
      2003-03-10 Anders Carlsson <andersca@codefactory.se> · 799a3ff4
      Anders Carlsson authored
      	* dbus/dbus-marshal.c:
      	(_dbus_marshal_set_string):
      	Take a length argument so we can marshal the correct string
      	length.
      
      	(_dbus_marshal_dict), (_dbus_demarshal_dict),
      	(_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
      	(_dbus_marshal_test):
      	* dbus/dbus-marshal.h:
      	Add support for marshalling and demarshalling dicts.
      
      	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
      	Add support for TYPE DICT.
      
      	* dbus/dbus-message.c: (set_string_field):
      	Adjust header padding.
      
      	(dbus_message_append_args_valist), (dbus_message_append_dict),
      	(dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
      	(dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
      	(check_message_handling), (check_have_valid_message):
      	* dbus/dbus-message.h:
      	Add functions for setting and getting dicts.
      
      	* dbus/dbus-protocol.h:
      	Add DBUS_TYPE_DICT.
      
      	* dbus/dbus.h:
      	Add dbus-dict.h
      
      	* doc/dbus-specification.sgml:
      	Add information about how dicts are marshalled.
      
      	* test/data/invalid-messages/dict-with-nil-value.message:
      	* test/data/invalid-messages/too-short-dict.message:
      	* test/data/valid-messages/dict-simple.message:
      	* test/data/valid-messages/dict.message:
      	Add sample messages containing dicts.
      799a3ff4
  3. 08 Mar, 2003 1 commit
  4. 07 Mar, 2003 2 commits
    • Anders Carlsson's avatar
      2003-03-07 Anders Carlsson <andersca@codefactory.se> · 546a0ce6
      Anders Carlsson authored
      	* dbus/Makefile.am:
      	* dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
      	(dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
      	(dbus_dict_set_int32), (dbus_dict_set_uint32),
      	(dbus_dict_set_double), (dbus_dict_set_string),
      	(dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
      	(dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
      	(dbus_dict_set_string_array), (_dbus_dict_test):
      	* dbus/dbus-dict.h:
      	Fix according to comments from Havoc.
      546a0ce6
    • Michael Meeks's avatar
      2003-03-06 Michael Meeks <michael@server.home> · 51b46d71
      Michael Meeks authored
              * configure.in: if we don't have kde-config, disable have_qt.
      51b46d71
  5. 06 Mar, 2003 1 commit
    • Anders Carlsson's avatar
      2003-03-07 Anders Carlsson <andersca@codefactory.se> · ee09dbf0
      Anders Carlsson authored
      	* dbus/Makefile.am:
      	Add dbus-dict.[ch]
      
      	* dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
      	(dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
      	(dbus_dict_remove), (dbus_dict_get_value_type),
      	(dbus_dict_get_keys), (dbus_dict_put_boolean),
      	(dbus_dict_put_int32), (dbus_dict_put_uint32),
      	(dbus_dict_put_double), (dbus_dict_put_string),
      	(dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
      	(dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
      	(dbus_dict_put_string_array), (dbus_dict_get_boolean),
      	(dbus_dict_get_int32), (dbus_dict_get_uint32),
      	(dbus_dict_get_double), (dbus_dict_get_string),
      	(dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
      	(dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
      	(dbus_dict_get_string_array), (_dbus_dict_test):
      	* dbus/dbus-dict.h:
      	Add DBusDict implementation
      
      	* dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
      	* dbus/dbus-test.h:
      	Add _dbus_dict_test.
      ee09dbf0
  6. 05 Mar, 2003 1 commit
    • Havoc Pennington's avatar
      2003-03-04 Havoc Pennington <hp@pobox.com> · 7e050c88
      Havoc Pennington authored
      	* test/data/auth/*: adapt to changes
      
      	* dbus/dbus-auth-script.c (_dbus_auth_script_run): add
      	USERID_BASE64 and change USERNAME_BASE64 to put in username not
      	userid
      
      	* dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
      	more stuff from being in a context name, to make the protocol
      	simpler to deal with
      
      	* dbus/dbus-errors.c (dbus_error_has_name): new function
      	(dbus_error_is_set): new function
      
      	* dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
      	with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
      
      	* dbus/dbus-connection.c (dbus_connection_flush): also read
      	messages during a flush operation
      
      	* dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
      7e050c88
  7. 04 Mar, 2003 7 commits
  8. 02 Mar, 2003 4 commits
    • Joe Shaw's avatar
      fix email address · 3c92df88
      Joe Shaw authored
      3c92df88
    • Havoc Pennington's avatar
      2003-03-02 Havoc Pennington <hp@pobox.com> · f7d96bdf
      Havoc Pennington authored
      	* test/break-loader.c (randomly_set_extreme_ints): add test that
      	sets really huge and small integers
      
      	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
      	that length of boolean array fits in the string, and that
      	string has room for boolean value in single-bool case.
      
      	* dbus/dbus-message-builder.c (_dbus_message_data_load): add
      	optional value to "ALIGN" command which is what to fill the
      	alignment with.
      
      	* test/data/valid-messages/no-padding.message: add regression
      	test for the message padding problem
      f7d96bdf
    • Havoc Pennington's avatar
      2003-03-02 Havoc Pennington <hp@pobox.com> · 7584a7bd
      Havoc Pennington authored
      	* dbus/dbus-message.c (decode_header_data): fix to always init
      	message_padding, from Benjamin Dauvergne
      7584a7bd
    • Havoc Pennington's avatar
      2003-03-02 Havoc Pennington <hp@pobox.com> · 108f662a
      Havoc Pennington authored
      	* configure.in: 0.5
      
      	* NEWS: Update.
      108f662a
  9. 01 Mar, 2003 1 commit
    • Joe Shaw's avatar
      2003-03-01 Joe Shaw <joe@ximian.com> · e0db9aa1
      Joe Shaw authored
      	* configure.in: Check for "struct cmsgcred" and try to access its
      	members for BSD-like unices.
      
      	* dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
      	_dbus_read_credentials_unix_socket().
      	(_dbus_read_credentials_unix_socket): Use recvmsg() instead of
      	read() for reading the credential byte off the unix socket.  Use
      	struct cmsgcred on systems that support it.
      e0db9aa1
  10. 27 Feb, 2003 3 commits
    • Alexander Larsson's avatar
      2003-02-27 Alexander Larsson <alexl@redhat.com> · 83087f78
      Alexander Larsson authored
      	* glib/Makefile.am:
      	* configure.in:
      	Make gthreads-2.0 dependency optional. Don't build thread test if
      	its not found.
      83087f78
    • Havoc Pennington's avatar
      2003-02-27 Havoc Pennington <hp@pobox.com> · ff190005
      Havoc Pennington authored
      	* dbus/dbus-connection.c
      	(dbus_connection_send_message_with_reply_and_block): fix doh!
      	doh! doh! bug that resulted in never removing a reply from the
      	queue, no wonder we called get_reply_serial so much ;-)
      
      	* dbus/dbus-message.c (struct DBusMessage): cache reply serial
      	and client serial instead of demarshaling them every time
      ff190005
    • Havoc Pennington's avatar
      2003-02-27 Havoc Pennington <hp@pobox.com> · 13f70ce7
      Havoc Pennington authored
      	* dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
      	more inlined, using dbus-string-private.h, speeds things up
      	substantially
      
      	* dbus/dbus-string.c (_dbus_string_free): apply align offset
      	when freeing the string
      	(_dbus_string_steal_data): fix for align offset
      	(undo_alignment): new function
      13f70ce7
  11. 26 Feb, 2003 4 commits
    • Havoc Pennington's avatar
      2003-02-26 Havoc Pennington <hp@redhat.com> · b7bc5ba7
      Havoc Pennington authored
              All kinds of audit fixes from Owen, plus initial attempt to
      	handle unaligned memory returned from malloc.
      
      	* dbus/dbus-string.c (_dbus_string_init): clamp max length to
      	leave room for align_offset and nul byte
      	(fixup_alignment): function to track an align_offset and
      	ensure real->str is aligned
      	(DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
      	to allow a nul byte plus align offset
      	(_dbus_string_lock): fix overflow issue
      	(_dbus_string_init_const_len): add assertions on sanity of len,
      	assign allocated to be ALLOCATION_PADDING larger than len
      	(set_length): fixup the overflow handling
      	(_dbus_string_get_data_len): fix overflow in assertion
      	(open_gap): detect overflow in size of gap to be opened
      	(_dbus_string_lengthen): add overflow check
      	(_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
      	(_dbus_string_append): add overflow check
      	(_dbus_string_append_unichar): overflow
      	(_dbus_string_delete): fix overflow in assertion
      	(_dbus_string_copy_len): overflow in assertion
      	(_dbus_string_replace_len): overflows in assertions
      	(_dbus_string_find): change to implement in terms of
      	_dbus_string_find_to
      	(_dbus_string_find_to): assorted fixage
      	(_dbus_string_equal_c_str): assert c_str != NULL,
      	fix logic so the function works
      	(_dbus_string_ends_with_c_str): fix overflow thingy
      	(_dbus_string_base64_encode): overflow fix
      	(_dbus_string_validate_ascii): overflow
      	(_dbus_string_validate_nul): overflow
      b7bc5ba7
    • Havoc Pennington's avatar
      2003-02-26 Havoc Pennington <hp@redhat.com> · 8d1eba0f
      Havoc Pennington authored
      	* dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
      8d1eba0f
    • Alexander Larsson's avatar
      2003-02-26 Alexander Larsson <alexl@redhat.com> · 89e6dfd2
      Alexander Larsson authored
      	* configure.in:
      	Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
      
      	* dbus/dbus-connection.c:
      	* dbus/dbus-connection.h:
      	Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
      	Add dbus_connection_set_wakeup_main_function and use it when queueing
      	incoming and outgoing messages.
      
      
      	* dbus/dbus-dataslot.c:
      	Threadsafe usage of DBusDataSlotAllocator
      
      	* dbus/dbus-message.c: (dbus_message_get_args_iter):
      	dbus_new can fail.
      
      	* dbus/dbus-server-unix.c:
      	Add todo comment
      
      	* glib/dbus-gmain.c:
      	Implement the new wakeup functions for glib.
      
      	* glib/Makefile.am:
      	* glib/test-thread-client.c:
      	* glib/test-thread-server.c:
      	* glib/test-thread.h:
      	Initial cut at some thread test code. Not really done yet.
      89e6dfd2
    • Havoc Pennington's avatar
      2003-02-26 Havoc Pennington <hp@pobox.com> · 72654234
      Havoc Pennington authored
      	* dbus/dbus-connection.c
      	(dbus_connection_send_message_with_reply_and_block): fix crash
      	where we ref'd the outgoing message instead of the returned reply
      
      	* dbus/dbus-transport-unix.c (do_authentication): check read watch
      	at the end of this function, so if we didn't need to read for
      	authentication, we reinstall it for receiving messages
      
      	* dbus/dbus-message.c (dbus_message_new_reply): allow replies to
      	a NULL sender for peer-to-peer case
      
      	* dbus/dbus-transport-unix.c (check_read_watch): handle
      	!authenticated case correctly
      
      	* glib/dbus-gmain.c: add support for DBusServer
      
      	* dbus/dbus-server.c: add data slot support
      
      	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
      	return values and handle errors
      
      	* dbus/dbus-dataslot.c: factor out the data slot stuff from
      	DBusConnection
      
      	* Doxyfile.in (INPUT): add glib subdir
      
      	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
      	setup_with_g_main instead of hookup_with_g_main; write docs
      72654234
  12. 24 Feb, 2003 4 commits
    • Anders Carlsson's avatar
      2003-02-24 Anders Carlsson <andersca@codefactory.se> · 3781f063
      Anders Carlsson authored
      	* dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
      	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
      	* dbus/dbus-message.c: (dbus_message_append_boolean),
      	(dbus_message_append_boolean_array),
      	(dbus_message_get_args_valist), (_dbus_message_test):
      	* dbus/dbus-message.h:
      	* doc/dbus-specification.sgml:
      	Various fixes as pointed out by Havoc.
      
      	* test/data/invalid-messages/bad-boolean-array.message:
      	* test/data/invalid-messages/bad-boolean.message:
      	Add invalid boolean value test cases.
      3781f063
    • Anders Carlsson's avatar
      Fix changelog · c96500c3
      Anders Carlsson authored
      c96500c3
    • Anders Carlsson's avatar
      2003-02-24 Anders Carlsson <andersca@codefactory.se> · c8769e0b
      Anders Carlsson authored
      	* dbus/dbus-internals.c: (_dbus_type_to_string):
      	* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
      	(_dbus_marshal_validate_arg):
      	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
      	* dbus/dbus-message.c: (dbus_message_append_args_valist),
      	(dbus_message_append_boolean), (dbus_message_append_boolean_array),
      	(dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
      	(dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
      	(dbus_message_iter_get_double),
      	(dbus_message_iter_get_boolean_array), (message_iter_test):
      	* dbus/dbus-message.h:
      	* dbus/dbus-protocol.h:
      	* doc/dbus-specification.sgml:
      	* test/data/valid-messages/lots-of-arguments.message:
      	Add support for boolean and boolean array types.
      c8769e0b
    • Havoc Pennington's avatar
      2003-02-23 Havoc Pennington <hp@pobox.com> · 2f38c959
      Havoc Pennington authored
      	* dbus/dbus-keyring.c: finish most of this implementation and
      	simple unit test
      
      	* dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
      	these barf if the error isn't cleared to NULL
      
      	* dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
      	(_dbus_create_directory): new function
      
      	* dbus/dbus-errors.c (dbus_set_error): fix warning
      
      	* dbus/dbus-string.c (_dbus_string_hex_encode): new function
      	(_dbus_string_hex_decode): new function
      	(test_hex_roundtrip): test code
      
      	* dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
      
      	* dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
      
      	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
      	the save-to-temp/rename trick to atomically write the new file
      	(_dbus_string_parse_uint): new function
      2f38c959
  13. 23 Feb, 2003 1 commit
  14. 22 Feb, 2003 2 commits
  15. 21 Feb, 2003 4 commits
    • Anders Carlsson's avatar
      2003-02-21 Anders Carlsson <andersca@codefactory.se> · 92f7d50b
      Anders Carlsson authored
      	* dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
      	Make string arrays NULL-terminated.
      
      	* dbus/dbus-memory.c: (dbus_free_string_array):
      	* dbus/dbus-memory.h:
      	New function for freeing NULL-terminated string arrays.
      
      	* dbus/dbus-message-builder.c: (append_quoted_string),
      	(_dbus_message_data_load):
      	Add support for array types.
      
      	* dbus/dbus-message.c: (check_message_handling):
      	Add more types as test cases.
      
      	* dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
      	(_dbus_string_parse_double):
      	Add the start offset to the end offset.
      
      	* test/data/valid-messages/lots-of-arguments.message:
      	New test message with lots of arguments.
      92f7d50b
    • Anders Carlsson's avatar
      2003-02-21 Anders Carlsson <andersca@codefactory.se> · fdb3ecc3
      Anders Carlsson authored
      	* dbus/dbus-message.c: (dbus_message_append_nil),
      	(dbus_message_append_int32), (dbus_message_append_uint32),
      	(dbus_message_append_double), (dbus_message_append_string),
      	(dbus_message_append_int32_array),
      	(dbus_message_append_uint32_array),
      	(dbus_message_append_double_array),
      	(dbus_message_append_byte_array),
      	(dbus_message_append_string_array):
      	Fix all out-of-memory handling in these functions.
      fdb3ecc3
    • Anders Carlsson's avatar
      2003-02-21 Anders Carlsson <andersca@codefactory.se> · babdabd4
      Anders Carlsson authored
      	* dbus/dbus-message.c: (dbus_message_append_args_valist),
      	(dbus_message_append_nil), (dbus_message_append_int32_array),
      	(dbus_message_append_uint32_array),
      	(dbus_message_append_double_array),
      	(dbus_message_append_byte_array),
      	(dbus_message_append_string_array), (dbus_message_get_args_valist),
      	(dbus_message_iter_get_int32_array),
      	(dbus_message_iter_get_uint32_array),
      	(dbus_message_iter_get_double_array),
      	(dbus_message_iter_get_byte_array),
      	(dbus_message_iter_get_string_array):
      	* dbus/dbus-message.h:
      	Add functions for appending and getting arrays.
      babdabd4
    • Anders Carlsson's avatar
      2003-02-21 Anders Carlsson <andersca@codefactory.se> · bc1d2b04
      Anders Carlsson authored
      	* dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
      	element size at least 8 bytes, fixes mempool tests on
      	64-bit machines.
      bc1d2b04
  16. 20 Feb, 2003 2 commits
    • Alexander Larsson's avatar
      2003-02-20 Alexander Larsson <alexl@redhat.com> · 5da911bc
      Alexander Larsson authored
      	* dbus/dbus-transport-unix.c (unix_do_iteration):
      	Unlock the connection mutex during a blocking select call.
      	Add todo about how we need a way to wake up the select.
      
      	* dbus/dbus-connection-internal.h:
      	* dbus/dbus-connection.c:
      	Add _dbus_connection_lock and _dbus_connection_unlock.
      5da911bc
    • Havoc Pennington's avatar
      2003-02-19 Havoc Pennington <hp@pobox.com> · 6b40feaf
      Havoc Pennington authored
      	* Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
      	Doxyfile.in, not Doxyfile
      
      	* dbus/dbus-keyring.c: do some hacking on this
      
      	* dbus/dbus-sysdeps.c (_dbus_delete_file): new
      
      	* dbus/dbus-errors.c (dbus_set_error_const): do not call
      	dbus_error_init
      	(dbus_set_error): remove dbus_error_init, check for message ==
      	NULL *before* we sprintf into it, and add @todo about including
      	system headers in this file
      
      	* dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
      
      	* dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
      
      	* dbus/dbus-sysdeps.c (get_user_info): break this function out to
      	get various bits of user information based on either username
      	or user ID
      	(_dbus_homedir_from_username): new function
      6b40feaf