1. 21 Jan, 2019 1 commit
  2. 17 Dec, 2018 2 commits
    • Simon McVittie's avatar
      embedded tests: Conform to the same API for all tests · 03158095
      Simon McVittie authored
      This will make it possible to unify the wrapper code that runs them.
      I'm using a plain C string rather than a DBusString to make it
      more straightforward to carve out tests into their own executables.
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
    • Simon McVittie's avatar
      trivial: Remove trailing whitespace from copyright notices · 39ea37b5
      Simon McVittie authored
      We don't usually mass-remove trailing whitespace from the actual source
      code because it would complicate cherry-picking bug fixes to older
      branches, but that reasoning doesn't really apply to the comments
      containing copyright and licensing notices.
      Removing trailing whitespace makes it much easier to move code around:
      we have a commit hook that rejects commits containing trailing
      whitespace, but that commit hook counts moving a file as a delete + add
      pair, so it objects to moving code that contains trailing whitespace.
      Signed-off-by: Simon McVittie's avatarSimon McVittie <smcv@collabora.com>
  3. 12 May, 2015 1 commit
  4. 28 Jun, 2013 1 commit
  5. 12 Mar, 2012 1 commit
    • Lennart Poettering's avatar
      transport: add new unixexec transport on Unix · f67f4597
      Lennart Poettering authored
      The "unixexec:" transport will create a local AF_UNIX socket with
      socketpair(), then fork and execute a binary on one side with STDIN and
      STDOUT connected to it and then use the other side.
      This is useful to implement D-Bus tunneling schemes, for example to get
      a D-Bus connection to the system bus on a different host, similar how
      udisks is already doing it. (udisks uses SSH TCP tunneling for this,
      which is a bit ugly and less secure than this solution).
      Suggested use is with connection strings like the following:
      or even:
      The first line would execute the binary 'system-bus-bridge' on host
      'foobar' and then pass D-Bus traffic to it. This (hypothetical) bridge
      binary would then forward the information to the local system bus.
      The second and third line use this scheme locally to acquire a
      privileged connection through pkexec resp. sudo: instead of connecting
      directly to the bus, they use the same bridge binary which will forward
      all information to the system bus.
      The arguments of the protocol are 'path' for the first execlp()
      argument, and argv0, argv1, and so on for the following arguments. argv0
      can be left out in which case path will be used.
      Bug: https://bugs.freedesktop.org/show_bug.cgi?id=35230Reviewed-by: default avatarSimon McVittie <simon.mcvittie@collabora.co.uk>
  6. 06 Dec, 2010 1 commit
    • Benjamin Reed's avatar
      Enable launchd. · f1b9aac4
      Benjamin Reed authored
      This patch enables support for Mac OS X's launch daemon
      for startup as well as sharing of the DBus session bus
      environment.  It includes a LaunchAgent plist for automatic
      start of the session bus.
  7. 19 Mar, 2010 1 commit
  8. 14 Jul, 2009 1 commit
  9. 10 Jul, 2009 1 commit
  10. 20 May, 2009 1 commit
  11. 14 Jul, 2007 1 commit
  12. 20 Oct, 2006 1 commit
  13. 16 Sep, 2006 3 commits
    • Havoc Pennington's avatar
      2006-09-16 Havoc Pennington <hp@redhat.com> · fe4715b6
      Havoc Pennington authored
      	* dbus/dbus-transport.c (_dbus_transport_open): modify to delegate
      	to _dbus_transport_open_platform_specific,
      	and _dbus_transport_open_debug_pipe
      	* dbus/dbus-transport-protected.h: add _dbus_transport_open_platform_specific
    • Havoc Pennington's avatar
      voc Pennington <hp@redhat.com> · 8027efc9
      Havoc Pennington authored
      	* dbus/dbus-server.c (dbus_server_listen): change how this works
      	to be able to delegate to a set of handlers that can succeed,
      	fail, or choose not to handle. Allows us to have
      	* dbus/dbus-server-socket.c (_dbus_server_new_for_tcp_socket):
      	factor out the tcp socket stuff to be used on windows, leaving
      	unix domain socket only in dbus-socket-unix.c
      	* dbus/dbus-transport-socket.c
      	(_dbus_transport_new_for_tcp_socket): factor out the tcp socket
      	stuff to be used on windows, leaving unix domain socket only
      	in dbus-transport-unix.c
      	* dbus/dbus-connection.c (dbus_connection_get_unix_user): insert
      	temporary hack to be sure this fails on windows
      	(dbus_connection_get_unix_process_id): ditto
    • Havoc Pennington's avatar
      2006-09-16 Havoc Pennington <hp@redhat.com> · 08079a5b
      Havoc Pennington authored
      	* dbus/dbus-sysdeps-unix.h: small change to Peter's patch to make
      	dbus-sysdeps-unix-util.c build, add unix-specific sysdeps header.
      	* dbus/dbus-sysdeps.h, dbus-sysdeps-unix.c: patch from Peter
      	Kümmel bug #8249 to make the sysdeps.h read/write/open/close
      	functions specifically for sockets only, and move generic
      	read/write/open/close into unix-specific code.
  14. 14 Sep, 2006 1 commit
  15. 14 Aug, 2006 1 commit
    • John Palmieri's avatar
      Patches by Kjartan Maraas <kmaraas at gnome dot org> · c1091cbb
      John Palmieri authored
              * bus/services.c (bus_service_list_queued_owners):
              Add a pointer cast to fix compiler warning
              * dbus/dbus-dataslot.c (_dbus_data_slot_list_get):
              return a NULL instead of FALSE since the return type
              is not expecting a boolean
              * dbus/dbus-marshal-basic.c (_dbus_marshal_test):
              Remove unused variable
              * dbus/dbus-marshal-recursive-util.c (node_new):
              return a NULL instead of FALSE since the return type
              is not expecting a boolean
              * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
              Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
              because we are expecting a pointer not a boolean
              * dbus/dbus-sysdeps-util.c (_dbus_get_tmpdir):
              add void as the parameter so some compilers
              don't complain
              * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket,
              Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
              because we are expecting a pointer not a boolean
              * test/shell-test.c (test_command_line):
              cast the second argument to _dbus_list_append to avoid compiler
              * test/test-names.c (main): remove unused variable
              * test/test-service.c (check_hello_from_self_reply):
              Initialize echo_message and echo_reply to NULL
              * test/test-shell-service.c (handle_echo):
              Remove unused variable and cast the third parameter passed to
              dbus_connection_get_object_path_data to avoid compiler warrnings
              * test/name-test/test-names.c (clear_message_queue):
              Remove unused function
              * test/name-test/test-pending-call-dispatch.c:
              Fix format string in printf
  16. 30 May, 2006 1 commit
  17. 25 Oct, 2005 1 commit
  18. 11 Sep, 2005 1 commit
    • Mark McLoughlin's avatar
      2005-09-11 Mark McLoughlin <mark@skynet.ie> · 5e8110d7
      Mark McLoughlin authored
      	* test/data/auth/fallback.auth-script: we don't
      	retry the EXTERNAL method when we know its going
      	to fail anymore.
      2005-09-11  Mark McLoughlin  <mark@skynet.ie>
      	* dbus/dbus-connection-internal.h: rename
      	(add|remove|toggle)_(watch|timeout) to unlocked()
      	* dbus/dbus-connection.c: ditto.
      	* dbus/dbus-timeout.c, dbus/dbus-transport-unix.c:
      	Update some callers for the renaming.
      2005-09-10  Mark McLoughlin  <mark@skynet.ie>
      	* dbus/dbus-auth.c: (record_mechanisms): don't
      	retry the first auth mechanism because we know
      	we're just going to get rejected again.
      	* dbus/dbus-keyring.c: (_dbus_keyring_reload):
      	Fix thinko ... and what a nasty little bugger to
      	track down you were ...
      	* dbus/dbus-connection.c:
      	(_dbus_connection_remove_watch): add note about
      	these needing the connection to be locked.
      	set status to DATA_REMAINS when we queue the
      	disconnected message.
      	* bus/dispatch.c:
      	(bus_dispatch): fix warning.
      	Expect ChildSignaled error too.
      	(check_existent_hello_from_self): fix another
      	couple of warnings.
  19. 26 Feb, 2005 1 commit
    • Havoc Pennington's avatar
      2005-02-26 Havoc Pennington <hp@redhat.com> · ee27481d
      Havoc Pennington authored
      	* doc/TODO: remove the "guid" item
      	* test/glib/test-profile.c (no_bus_thread_func): use open_private
      	(with_bus_thread_func): use open_private
      	* dbus/dbus-connection.c (dbus_connection_open_private): new
      	function that works like the old dbus_connection_open()
      	(dbus_connection_open): now returns an existing connection if
      	* dbus/dbus-server-unix.c (handle_new_client_fd_and_unlock): pass
      	through the GUID to the transport
      	* dbus/dbus-server.c (_dbus_server_init_base): keep around the
      	GUID in hex-encoded form.
      	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
      	pass GUID argument in to the transport
      	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): add
      	guid argument
      	* dbus/dbus-transport.c (_dbus_transport_init_base): add guid argument
      	* dbus/dbus-auth.c (_dbus_auth_server_new): add guid argument
  20. 13 Feb, 2005 1 commit
    • Havoc Pennington's avatar
      2005-02-13 Havoc Pennington <hp@redhat.com> · f349e6b8
      Havoc Pennington authored
      	* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
      	fix a double-unlock
      	* dbus/dbus-connection.c
      	(_dbus_connection_detach_pending_call_unlocked): add this
              Initial semi-correct pass through to fix thread locking; there are
      	still some issues with the condition variable paths I'm pretty
      	* dbus/dbus-server.c: add a mutex on DBusServer and appropriate
      	lock/unlock calls
      	* dbus/dbus-connection.c (_dbus_connection_do_iteration_unlocked):
      	rename to add _unlocked
      	(struct DBusConnection): move "dispatch_acquired" and
      	"io_path_acquired" to use only one bit each.
      	(dbus_connection_set_watch_functions): hacky fix to reentrancy
      	(_dbus_connection_add_watch, _dbus_connection_remove_watch)
      	(_dbus_connection_toggle_watch, _dbus_connection_add_timeout)
      	(_dbus_connection_toggle_timeout): drop lock when calling out to
      	user functions; done in a hacky/bad way.
      	(_dbus_connection_send_and_unlock): add a missing unlock
      	(_dbus_connection_block_for_reply): add a missing unlock
      	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
      	drop lock in a hacky probably unsafe way to call out to user
  21. 26 Nov, 2004 2 commits
    • Havoc Pennington's avatar
      2004-11-25 Havoc Pennington <hp@redhat.com> · c670c238
      Havoc Pennington authored
      	* dbus/dbus-transport-unix.c (unix_do_iteration): if we're going
      	to write, without reading or blocking, try it before the poll()
      	and skip the poll() if nothing remains to write. This is about a
      	3% speedup in the echo client/server
    • Havoc Pennington's avatar
      2004-11-25 Havoc Pennington <hp@redhat.com> · dbdea921
      Havoc Pennington authored
              The primary change here is to always write() once before adding
      	the write watch, which gives us about a 10% performance increase.
      	* dbus/dbus-transport-unix.c: a number of modifications to cope
      	with removing messages_pending
      	(check_write_watch): properly handle
      	DBUS_AUTH_STATE_WAITING_FOR_MEMORY; adapt to removal of
      	messages_pending stuff
      	(check_read_watch): properly handle WAITING_FOR_MEMORY and
      	AUTHENTICATED cases
      	(unix_handle_watch): after writing, see if the write watch can be
      	(unix_do_iteration): assert that write_watch/read_watch are
      	non-NULL rather than testing that they aren't, since they
      	aren't allowed to be NULL. check_write_watch() at the end so
      	we add the watch if we did not finish writing (e.g. got EAGAIN)
      	* dbus/dbus-transport-protected.h: remove messages_pending call,
      	since it resulted in too much inefficient watch adding/removing;
      	instead we now require that the transport user does an iteration
      	after queueing outgoing messages, and after trying the first
      	write() we add a write watch if we got EAGAIN or exceeded our
      	max bytes to write per iteration setting
      	* dbus/dbus-string.c (_dbus_string_validate_signature): add this
      	* dbus/dbus-server-unix.c (unix_finalize): the socket name was
      	freed and then accessed, valgrind flagged this bug, fix it
      	* dbus/dbus-message.c: fix several bugs where HEADER_FIELD_LAST was taken
      	as the last valid field plus 1, where really it is equal to the
      	last valid field. Corrects some message corruption issues.
      	* dbus/dbus-mainloop.c: verbosity changes
      	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): handle OOM
      	instead of aborting in one of the test codepaths
      	* dbus/dbus-internals.c (_dbus_verbose_real): fix a bug that
      	caused not printing the pid ever again if a verbose was missing
      	the newline at the end
      	(_dbus_header_field_to_string): add HEADER_FIELD_SIGNATURE
      	* dbus/dbus-connection.c: verbosity changes;
      	(dbus_connection_has_messages_to_send): new function
      	(_dbus_connection_message_sent): no longer call transport->messages_pending
      	(_dbus_connection_send_preallocated_unlocked): do one iteration to
      	try to write() immediately, so we can avoid the write watch. This
      	is the core purpose of this patchset
      	(_dbus_connection_get_dispatch_status_unlocked): if disconnected,
      	dump the outgoing message queue, so nobody will get confused
      	trying to send them or thinking stuff is pending to be sent
      	* bus/test.c: verbosity changes
      	* bus/driver.c: verbosity/assertion changes
      	* bus/dispatch.c: a bunch of little tweaks to get it working again
      	because this patchset changes when/where you need to block.
  22. 07 Nov, 2004 1 commit
  23. 22 Oct, 2004 1 commit
    • Colin Walters's avatar
      2004-10-21 Colin Walters <walters@verbum.org> · 08162943
      Colin Walters authored
      	* dbus/dbus-transport-unix.c (do_authentication): Return
      	authentication status to callers.
      	(unix_handle_watch): If we completed authentication this round,
      	don't do another read.  Instead wait until the next iteration,
      	after we've read any pending data in the auth buffer.
      	(unix_do_iteration): Ditto.
      	(unix_handle_watch): Updated for new do_authentication prototype.
  24. 10 Aug, 2004 1 commit
  25. 30 Jul, 2004 1 commit
    • Havoc Pennington's avatar
      2004-07-24 Havoc Pennington <hp@redhat.com> · 1e9b185b
      Havoc Pennington authored
      	SELinux support from Matthew Rickard <mjricka@epoch.ncsc.mil>
      	* bus/selinux.c, bus/selinux.h: new file encapsulating selinux
      	* configure.in: add --enable-selinux
      	* bus/policy.c (bus_policy_merge): add FIXME to a comment
      	* bus/main.c (main): initialize and shut down selinux
      	* bus/connection.c: store SELinux ID on each connection, to avoid
      	repeated getting of the string context and converting it into
      	an ID
      	* bus/bus.c (bus_context_get_policy): new accessor, though it
      	isn't used
      	(bus_context_check_security_policy): check whether the security
      	context of sender connection can send to the security context of
      	recipient connection
      	* bus/config-parser.c: add parsing for <selinux> and <associate>
      	* dbus/dbus-transport.c (_dbus_transport_get_unix_fd): to
      	implement dbus_connection_get_unix_fd()
      	* dbus/dbus-connection.c (dbus_connection_get_unix_fd): new
      	function, used by the selinux stuff
  26. 29 Jul, 2004 1 commit
    • Olivier Andrieu's avatar
      * bus/config-loader-libxml.c: complete the implementation of libxml · 4076d31c
      Olivier Andrieu authored
      backend for config file loader. Doesn't work with full OOM test yet.
      * configure.in: change error when selecting libxml into a warning.
      * test/data/invalid-config-files: add two non-well-formed XML files.
      * glib/Makefile.am: libdbus_gtool always uses expat, not libxml.
      * dbus/dbus-transport-unix.c (unix_handle_watch): do not disconnect in
      case of DBUS_WATCH_HANGUP, several do_reading() may be necessary to
      read all the buffer. (bug #894)
      * bus/activation.c (bus_activation_activate_service): fix a potential
      assertion failure (bug #896). Small optimization in the case of
      auto-activation messages.
      * dbus/dbus-message.c (verify_test_message, _dbus_message_test): add
      test case for byte-through-vararg bug (#901). patch by Kimmo
  27. 22 Jul, 2004 1 commit
    • Olivier Andrieu's avatar
      2004-07-22 Olivier Andrieu <oliv__a@users.sourceforge.net> · 7eb304c5
      Olivier Andrieu authored
      	* dbus/dbus-sysdeps.c (fill_user_info): fix inexistent label name,
      	breaking build on Solaris, reported by Farhad Saberi on the ML.
      	* dbus/dbus-message.c (dbus_message_append_args_valist): fix the
      	va_arg invocation to account for integer promotion in the case of
      	DBUS_TYPE_BYTE (unsigned char is promoted to int). (bug #901)
      	* bus/services.c (bus_service_remove_owner): fix bug #902, use
      	_dbus_list_get_first_link, not _dbus_list_get_first.
      	* dbus/dbus-bus.c (dbus_bus_service_exists): plug a memory leak.
      	* dbus/dbus-object-tree.c (free_subtree_recurse): always null
      	handler functions so that the asserts in _dbus_object_subtree_unref
      	do not fail.
      	* dbus/dbus-transport-unix.c (do_reading):
      	_dbus_transport_queue_messages return value is of type
      	dbus_bool_t, not DBusDispatchStatus.
  28. 17 May, 2004 1 commit
    • Kristian Høgsberg's avatar
      * dbus/dbus-auth.c (client_try_next_mechanism): Remove logic to · c614e5b4
      Kristian Høgsberg authored
      	filter against auth->allowed_mechs; we only add allowed mechs in
       	* dbus/dbus-auth-script.c (_dbus_auth_script_run): Add an
      	ALLOWED_MECHS to auth-script format so we can set the list of
      	allowed mechanisms.
       	* data/auth/client-out-of-mechanisms.auth-script: New test to
      	check client disconnects when it is out of mechanisms to try.
       	* dbus/dbus-auth.c (process_command): Remove check for lines
      	longer that 1 MB; we only buffer up maximum 16 kB.
       	* dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
      	dbus/dbus-auth-script.c, dbus/dbus-auth.c, dbus/dbus-auth.h:
      	Remove auth state AUTHENTICATED_WITH_UNUSED_BYTES, instead always
      	assume there might be unused bytes.
       	* dbus/dbus-auth.c (_dbus_auth_do_work): Remove check for
      	client-out-of-mechs, it is handled in process_reject(). Move check
      	for max failures to send_rejected(), as it's a server-only thing.
  29. 19 Apr, 2004 1 commit
  30. 02 Dec, 2003 1 commit
  31. 21 Jun, 2003 1 commit
  32. 04 Jun, 2003 1 commit
    • Havoc Pennington's avatar
      2003-06-04 Havoc Pennington <hp@pobox.com> · a70b042f
      Havoc Pennington authored
      	* 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
      	* 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.
  33. 16 May, 2003 1 commit
    • Havoc Pennington's avatar
      2003-05-16 Havoc Pennington <hp@redhat.com> · 306eab3e
      Havoc Pennington authored
      	* 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
  34. 18 Apr, 2003 2 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
      	* 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
    • 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
  35. 17 Apr, 2003 1 commit
    • 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