1. 13 Oct, 2006 3 commits
  2. 12 Oct, 2006 1 commit
    • John Palmieri's avatar
      · 6d34310b
      John Palmieri authored
      * configure.in: use AC_TRY_COMPILE for dirfd instead of AC_TRY_RUN
      6d34310b
  3. 11 Oct, 2006 2 commits
  4. 08 Oct, 2006 1 commit
  5. 02 Oct, 2006 2 commits
  6. 01 Oct, 2006 7 commits
    • Thiago Macieira's avatar
      * tools/dbus-launch.c (main): make it complain and abort · c6e066ff
      Thiago Macieira authored
      	execution in case an unknown option is given. Also, process
      	the '--' argument as the end of arguments.
      c6e066ff
    • Havoc Pennington's avatar
      2006-10-01 Havoc Pennington <hp@redhat.com> · 10fe37f5
      Havoc Pennington authored
      	* tools/dbus-launch.c (print_variables): if no syntax is given,
      	don't print something that's sort-of-half-sh-syntax, just print
      	a plain key-value pairs thing.
      
      	* tools/dbus-launch-x11.c: use machine ID rather than hostname for
      	the local machine representation (but still have the hostname in
      	the display). Remove the hostname from the display if it is
      	localhost. Change session files to be named
      	~/.dbus/session-bus/machine-display. Change X atoms to be
      	underscore-prefixed so nobody whines about ICCCM compliance.
      	Otherwise name them the same as the env variables.
      	Change session file format to include key-value pairs and an
      	explanatory comment. Keys are the same as the env variables.
      	(set_address_in_x11): X property format can't depend on
      	sizeof(pid_t) on a particular machine, fix to always be 32 bits
      
      	* tools/dbus-launch.c: make --autolaunch take a machine id
      	argument. If --autolaunch is used with a program to run, complain
      	for now (but add a FIXME). Also, don't look for existing bus if
      	there's a program to run (but add a FIXME).
      
      	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): pass
      	machine uuid to dbus-launch (avoids linking dbus-launch to libdbus
      	just to get this, and avoids duplicating uuid-reading code).
      
      	* tools/dbus-launch.1: clarify various things
      10fe37f5
    • Havoc Pennington's avatar
      2006-10-01 Havoc Pennington <hp@redhat.com> · 7020b573
      Havoc Pennington authored
      	* test/test-service.c (path_message_func): remove broken extra
      	unref that was hidden by the bugs in dbus-connection.c/dbus-bus.c
      
      	* test/test-shell-service.c (path_message_func): same fix
      
      	* dbus/dbus-connection.c
      	(_dbus_connection_get_dispatch_status_unlocked): break up the
      	function a little for clarity and fix the notification of
      	dbus-bus.c to not require dispatch to be complete
      
      	* dbus/dbus-connection.c (dbus_connection_unref): improve the
      	warning when you try to finalize an open connection.
      7020b573
    • Havoc Pennington's avatar
      2006-10-01 Havoc Pennington <hp@redhat.com> · eb1e11ba
      Havoc Pennington authored
      	* dbus/dbus-bus.c
      	(internal_bus_get): only weak ref the connection; this means
      	_dbus_bus_notify_shared_connection_disconnected_unlocked can be
      	called safely in any context
      	(_dbus_bus_notify_shared_connection_disconnected_unlocked): don't
      	unref
      
      	* dbus/dbus-connection.c
      	(_dbus_connection_get_dispatch_status_unlocked): move
      	_dbus_bus_notify_shared_connection_disconnected_unlocked here
      	when queuing Disconnected instead of when the Disconnected message
      	arrives, so dbus_bus_get() won't return closed connections.
      eb1e11ba
    • Havoc Pennington's avatar
      2006-10-01 Havoc Pennington <hp@redhat.com> · a2129f7c
      Havoc Pennington authored
      	* dbus/dbus-connection.c (_dbus_connection_close_if_only_one_ref):
      	Add a hack to make DBusNewConnectionFunction work right.
      
      	* dbus/dbus-server-socket.c (handle_new_client_fd_and_unlock): use
      	the hack here. Also, fix the todo about refcount leak.
      
      	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
      	and use the hack here
      
              * dbus/dbus-connection.c: Kill the "shared" flag vs. the
      	"shareable" flag; this was completely broken, since it meant
      	dbus_connection_open() returned a connection of unknown
      	shared-ness. Now, we always hold a ref on anything opened
      	as shareable.
      
      	Move the call to notify dbus-bus.c into
      	connection_forget_shared_unlocked, so libdbus consistently forgets
      	all its knowledge of a connection at once. This exposed numerous
      	places where things were totally broken if we dropped a ref inside
      	get_dispatch_status_unlocked where
      	connection_forget_shared_unlocked was previously, so move
      	connection_forget_shared_unlocked into
      	_dbus_connection_update_dispatch_status_and_unlock. Also move the
      	exit_on_disconnect here.
      
      	(shared_connections_shutdown): this assumed weak refs to the
      	shared connections; since we have strong refs now, the assertion
      	was failing and stuff was left in the hash. Fix it to close
      	still-open shared connections.
      
      	* bus/dispatch.c: fixup to use dbus_connection_open_private on the
      	debug pipe connections
      
      	* dbus/dbus-connection.c (dbus_connection_dispatch): only notify
      	dbus-bus.c if the closed connection is in fact shared
      	(_dbus_connection_close_possibly_shared): rename from
      	_dbus_connection_close_internal
      	(dbus_connection_close, dbus_connection_open,
      	dbus_connection_open_private): Improve docs to explain the deal
      	with when you should close or unref or both
      
      	* dbus/dbus-bus.c
      	(_dbus_bus_notify_shared_connection_disconnected_unlocked): rename
      	from _dbus_bus_check_connection_and_unref_unlocked and modify to
      	loop over all connections
      
      	* test/test-utils.c (test_connection_shutdown): don't try to close
      	shared connections.
      
      	* test/name-test/test-threads-init.c (main): fix warnings in here
      
      	* dbus/dbus-sysdeps.c (_dbus_abort): support DBUS_BLOCK_ON_ABORT
      	env variable to cause blocking waiting for gdb; drop
      	DBUS_PRINT_BACKTRACE and just call _dbus_print_backtrace()
      	unconditionally.
      
      	* configure.in: add -export-dynamic to libtool flags if assertions enabled
      	so _dbus_print_backtrace works.
      
      	* dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): use fprintf
      	instead of _dbus_verbose to print the backtrace, and diagnose lack
      	of -rdynamic/-export-dynamic
      a2129f7c
    • Havoc Pennington's avatar
      2006-09-30 Havoc Pennington <hp@redhat.com> · eef10bc3
      Havoc Pennington authored
      	* dbus/dbus-bus.c (dbus_bus_get_private, dbus_bus_get)
      	(internal_bus_get): fix screwy code formatting. whoever committed
      	that was not paying attention!
      eef10bc3
    • Havoc Pennington's avatar
      2006-09-30 Havoc Pennington <hp@redhat.com> · d8155bf5
      Havoc Pennington authored
      	* configure.in (LT_CURRENT, LT_AGE): increment current and age to
      	reflect addition of interfaces.
      
      	* doc/dbus-specification.xml: describe a new
      	org.freedesktop.DBus.Peer.GetMachineId method
      
      	* dbus/dbus-string.c (_dbus_string_skip_white_reverse): new function
      	(_dbus_string_skip_white, _dbus_string_skip_blank): use new
      	DBUS_IS_ASCII_BLANK, DBUS_IS_ASCII_WHITE macros and fix assertion
      	at end of skip_white
      	(_dbus_string_chop_white): new function
      
      	* bus/connection.c (bus_connections_setup_connection): call
      	dbus_connection_set_route_peer_messages.
      
      	* dbus/dbus-connection.c
      	(_dbus_connection_peer_filter_unlocked_no_update): modify to
      	support a GetMachineId method.
      
      	Also, support a new flag to let the bus pass peer methods through
      	to apps on the bus, which can be set with
      	dbus_connection_set_route_peer_messages.
      
      	Finally, handle and return an error for anything unknown on the
      	Peer interface, which will allow us to extend the Peer interface
      	in the future without fear that we're now intercepting something
      	apps were wanting to see.
      
      	* tools/dbus-uuidgen.c: a thin wrapper around the functions in
      	dbus/dbus-uuidgen.c
      
      	* dbus/dbus-uuidgen.c: implement the bulk of the dbus-uuidgen
      	binary here, since most of the code is already in libdbus
      
      	* dbus/dbus-sysdeps.c (_dbus_read_local_machine_uuid): read the
      	uuid from the system config file
      
      	* dbus/dbus-internals.c (_dbus_generate_uuid, _dbus_uuid_encode)
      	(_dbus_read_uuid_file_without_creating)
      	(_dbus_create_uuid_file_exclusively, _dbus_read_uuid_file): new
      	uuid-related functions, partly factored out from dbus-server.c
      
      	* dbus/dbus-sysdeps.c (_dbus_error_from_errno): convert EEXIST to
      	DBUS_ERROR_FILE_EXISTS instead of EEXIST
      
      	* dbus/dbus-protocol.h (DBUS_ERROR_FILE_EXISTS): add file exists error
      
      	* tools/dbus-cleanup-sockets.1: explain what the point of this
      	thing is a bit more
      
      	* autogen.sh (run_configure): add --config-cache to default
      	configure args
      
      	* dbus/dbus-internals.h (_DBUS_ASSERT_ERROR_IS_SET): disable the
      	error set/clear assertions when DBUS_DISABLE_CHECKS is defined
      
      	* tools/dbus-launch.c (main): if xdisplay hasn't been opened,
      	don't try to save address, fixes crash in make check
      d8155bf5
  7. 30 Sep, 2006 1 commit
    • Thiago Macieira's avatar
      * configure.in: add DBUS_BINDIR as a #define to C source code. · f6fa0104
      Thiago Macieira authored
      	* tools/dbus-launch.c
      	* tools/dbus-launch.h
      	* tools/dbus-launch-x11.c:
      	* tools/dbus-launch.1: Add the --autolaunch option to
      	dbus-launch, which makes it scan for an existing session
      	started with --autolaunch. With that option, it also creates
      	an X11 window and saves the bus address and PID to it.
      
      	* dbus/dbus-sysdeps.h:
      	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): Add
      	a function that runs "dbus-launch --autolaunch" to retrieve
      	the running D-Bus session address (or start one if none was running)
      
      	* dbus/dbus-transport.c: Add the handler for the "autolaunch:"
              address protocol, which tries to get the running session from
              dbus-launch.
      
      	* dbus/dbus-bus.c:
      	* dbus/dbus-internals.h: Make "autolaunch:" be the default
      	D-Bus session bus address.
      
      	* dbus/dbus-connection.c: Fix horrible typo in error message.
      f6fa0104
  8. 18 Sep, 2006 1 commit
  9. 17 Sep, 2006 1 commit
    • Havoc Pennington's avatar
      2006-09-17 Havoc Pennington <hp@redhat.com> · 1ececca7
      Havoc Pennington authored
      	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
      	fix so that if unix_user_function is set on windows, we still
      	do the default check that the auth identity matches the bus identity
      1ececca7
  10. 16 Sep, 2006 6 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,
      	_dbus_transport_open_socket,
      	and _dbus_transport_open_debug_pipe
      
      	* dbus/dbus-transport-protected.h: add _dbus_transport_open_platform_specific
      fe4715b6
    • Havoc Pennington's avatar
      2006-09-16 Havoc Pennington <hp@redhat.com> · e001455a
      Havoc Pennington authored
              Attempt auditing public API to remove all cases where a Unix
      	function returns weird emulated goo to Windows. This probably
      	breaks the bus daemon on Windows, to fix it again we may
      	need to stop processing unix-specific config options on Windows,
      	and may need to add Windows-specific public API or config options.
      
      	* configure.in (LT_CURRENT, LT_AGE): increment current and age,
      	to reflect added interfaces; should not break soname.
      
      	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated): do
      	not invoke unix user function on Windows. Kind of a hacky fix, but
      	we don't want a "unix uid" leaking out on Windows.
      
      	* dbus/dbus-connection.c (dbus_connection_get_socket): add new API
      	to get the socket fd on Windows or UNIX
      	(dbus_connection_get_unix_fd): make this always fail on Windows
      e001455a
    • 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_server_listen_platform_specific.
      
      	* 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
      8027efc9
    • Havoc Pennington's avatar
      add forgotten dbus-sydeps-unix.h · a0a12210
      Havoc Pennington authored
      a0a12210
    • Havoc Pennington's avatar
      2006-09-16 Havoc Pennington <hp@redhat.com> · d0971c53
      Havoc Pennington authored
      	* dbus/dbus-sysdeps-unix.c (_dbus_open_tcp_socket)
      	(_dbus_open_unix_socket, _dbus_open_socket): change API for
      	_dbus_open_socket so the domain/type/protocol from system headers
      	are not required. This is kind of pointless though unless we move
      	part of _dbus_connect_tcp_socket into sysdeps.c instead of
      	sysdeps-unix.c, which would mean adding a wrapper around
      	bind/listen/etc.
      	Also, add DBusError to the socket-opening functions so they
      	don't require use of errno.
      d0971c53
    • 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.
      08079a5b
  11. 14 Sep, 2006 8 commits
  12. 13 Sep, 2006 2 commits
  13. 11 Sep, 2006 4 commits
  14. 10 Sep, 2006 1 commit
    • Havoc Pennington's avatar
      2006-09-10 Havoc Pennington <hp@redhat.com> · 8e659dac
      Havoc Pennington authored
             patch mostly by Peter Kümmel, bug #8211
      
      	* dbus/dbus-sysdeps-unix.c: new file, which splits out
      	unix-specific stuff in dbus-sysdeps.c
      
      	* dbus/dbus-sysdeps.c: don't include any UNIX-only headers,
      	and move unix-specific stuff to dbus-sysdeps-unix.c
      
      	* configure.in: check HAVE_ERRNO_H
      8e659dac