| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
* dbus/Makefile.am:
* tools/Makefile.am:
* toos/dbus-uuidgen.1:
Move the machine-id file to /var/lib/dbus
|
|
|
|
|
|
| |
* dbus/dbus-threads.c (init_uninitialized_locks): Fix typo so it's
_dbus_assert (thread_init_generation != _dbus_current_generation)
not _dbus_assert (thread_init_generation == _dbus_current_generation)
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dbus/dbus-sysdeps-unix.c: Add function
_dbus_make_file_world_readable that chmods a file to 0644.
* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address):
Avoid writing to the static "argv" array, thereby avoiding a
COW on the child process.
* dbus/dbus-internals.c (_dbus_create_uuid_file_exclusively):
call _dbus_make_file_world_readable on the created file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* dbus/dbus-memory.c: Use atomic variable to protect
n_blocks_outstanding otherwise OOM will be reported using SMP on
some arches
* bus/dispatch.c: Add missing end of line characters
* bus/desktop-file.c (parse_section_start, parse_key_value)
(bus_desktop_file_load): Propertly handle OOM
* dbus/dbus-threads.c (init_uninitialized_locks): Check that
thread_init_generation equals _dbus_current_generation, not 0
|
|
|
|
|
|
|
| |
* dbus/dbus-connection-internal.h: move prototype of
_dbus_bus_notify_shared_connection_disconnected_unlocked() here so
it isn't in a public header and doesn't end up in the DBusBus
group in Doxygen
|
|
|
|
|
| |
* dbus/dbus-connection.h: don't include the watch/timeout
functions in connection section
|
|
|
|
|
| |
* Documentation! Whee! Doxygen now 100% silent. If you make it
angry again, you will be punished.
|
|
|
|
|
| |
* More documentation - all public API now documented according to
Doxygen
|
|
|
|
| |
* Document a bunch of undocumented stuff
|
|
|
|
|
|
|
| |
* Clean up Doxygen group markers for public API so Doxygen finds
everything (not comprehensively fixed for private API).
Means all remaining Doxygen warnings are just about missing docs
and thus pretty simple to resolve.
|
|
|
|
|
|
|
| |
* dbus/dbus-macros.h: add DBUS_GNUC_DEPRECATED macro
* dbus/dbus-message.h: mark dbus_message_iter_get_array_len()
as DBUS_GNUC_DEPRECATED
|
|
|
|
|
| |
* Move all private API into the private Doxygen group sections of
the files, so they don't show up in the public API docs
|
|
|
|
|
|
|
| |
* dbus/dbus-message.h: put #ifndef DBUS_DISABLE_DEPRECATED around
dbus_message_iter_get_array_len().
* throughout: documentation improvements.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* doc/TODO: remove the int64 thing from 1.0 since it doesn't
matter, and the message-loader-breaker thing since nobody is going
to do it. Add an item to 1.0 about supporting recursive locks
in dbus_threads_init_default() though, since it should be easy.
* dbus/dbus-connection.c (_dbus_connection_read_write_dispatch):
Fix this in the !dispatch case to avoid busy-looping after
disconnection
* More misc docs improvements
|
|
|
|
|
| |
* more Doxygen-related fixes (lots of moving things from the
public to internal section in dbus-connection.c)
|
| |
|
|
|
|
| |
* Fix a pile of Doxygen warnings and missing docs
|
|
|
|
|
|
|
|
| |
* configure.in (CPPFLAGS): don't do -DDBUS_API_SUBJECT_TO_CHANGE here
* dbus/dbus.h: drop the DBUS_API_SUBJECT_TO_CHANGE requirement,
since realistically it doesn't look like we'll be changing it
anymore.
|
|
|
|
|
|
| |
* dbus/dbus-internals.c (_dbus_warn_check_failed): new function to
be used for return_if_fail type warnings; prefixes the pid, and
fatal by default.
|
|
|
|
|
|
| |
Print out more detailed errors if reading or sending
credentials fail (Patch from Julio M. Merino Vidal
<jmmv at NetBSD dot org>)
|
|
|
|
|
|
| |
* dbus/dbus-connection.c
(dbus_connection_send_with_reply_and_block): fix to handle closed
connections, from Tambet Ingo bug #8631
|
|
|
|
|
| |
avoid using dirfd on systems that don't have dirfd
(Patch by Brian Cameron <brian dot cameron at sun dot com>)
|
|
|
|
|
|
|
|
|
|
| |
#ifndef DBUS_DISABLE_ASSERTS macro to fix distcheck
* dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): Remove from
#if !defined (DBUS_DISABLE_ASSERT) || defined(DBUS_BUILD_TESTS)
macro because _dbus_abort calls it
* tools/Makefile.am: Add dbus-launch.h to the source list so distcheck works
|
|
|
|
| |
MAXNAMELEN for Mac OSX. (Patch from Jonas B <sanoix at gmail dot com>)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
| |
* 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!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
| |
* dbus/dbus-transport-unix.c (unix_do_iteration): fix a valgrind
complaint about accessing revents when poll returns 0, from Julian Seward.
|
|
|
|
| |
parameter to _dbus_close
|
|
|
|
| |
use _dbus_close instead of close
|
|
|
|
|
|
| |
credentials. Fixes "external" authentication under e.g. NetBSD
which does not support any other socket credentials mechanism.
(Patch from Julio M. Merino Vidal <jmmv at NetBSD dot org>)
|
| |
|
|
|
|
|
|
|
| |
dbus_threads_init and be used by the dbus mutex functions to
avoid deadlocks.
* doc/TODO: Remove recursive mutex dbus_connection_dispatch TODO item
|
|
|
|
| |
use threadsafe readdir_r instead of readdir
|
|
|
|
|
| |
initializing the internal thread implementation (Patch from
Alexander Larsson <alexl at redhat dot com>)
|
| |
|
|
|
|
|
|
|
|
| |
complex debugging code
* dbus/dbus-marshal-basic.c (_dbus_marshal_read_fixed_multi): Move
between the test suite ifdefs
(_dbus_verbose_bytes): return if verbosity is not enabled
|