summaryrefslogtreecommitdiffstats
path: root/dbus
Commit message (Collapse)AuthorAgeFilesLines
* 2006-11-14 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-11-158-59/+166
| | | | | | | | * dbus/dbus-misc.c, dbus/dbus-misc.h: Move dbus_get_local_machine_id() to its own file, no substantive changes. There are a couple other things we might want to add that are "misc" so moving out of dbus-connection.[hc] which is big enough already.
* 2006-11-14 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-11-153-11/+10
| | | | | | | | | | | | | | * dbus/dbus-internals.c (_dbus_generate_uuid): The spec said the UUID had the timestamp last, but the implementation had it first; move it to last since I think it's a tiny bit nicer (easier to compare at a glance, faster to sort, less code), and will not cause any practical compatibility problems. Also, always convert the timestamp to big endian. * doc/dbus-specification.xml: Clean up the docs on the UUID. * tools/dbus-uuidgen.1: more prominently say it is not suitable as a replacement for regular uuidgen/RFC4122.
* * dbus/dbus-threads.h: fix DBUS_THREAD_FUNCTIONS_ALL_MASK to haveJohn (J5) Palmieri2006-11-141-1/+1
| | | | | | | | the correct value so we don't assert when initalizing recursive threads * test/name-test/test-thread-init.c: call dbus_threads_init_default instead of _dbus_threads_init_debug since it is more of a real world test
* * configure.in: Add a check for DIR *dirp->dd_fdJohn (J5) Palmieri2006-11-021-1/+3
| | | | | | * dbus/dbus-sysdeps-util-unix: if HAVE_DDFD is defined use DIR *dirp->dd_fd else use DIR *dirp->__dd_fd. This takes care of both Solaris and Irix
* 2006-11-01 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-11-021-6/+8
| | | | * bus/dbus-daemon.1.in: document standard_session_servicedirs
* * configure.in: expose DBUS_DATADIRJohn (J5) Palmieri2006-11-013-2/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * bus/config-parser.c: add the standard_session_servicedirs element to the parser (bus_config_parser_content): process the standard_session_servicedirs element by getting the standard directories from sysdeps and merging them into the service directory list (test_default_session_servicedirs): make sure we get what we expect * bus/session.conf.in: replace the servicedir tag with the standard_session_servicedirs tag * dbus/dbus-list.h: remove the typedef of DBusList and place it in dbus-sysdeps.h to avoid circular header dependencies * dbus/dbus-sysdeps.h: add the typedef of DBusList * dbus/dbus-sysdeps-unix.c (split_paths_and_append): utility function which takes a string of directories delimited by colons, parses them out, appends a suffix and puts them in a list ignoring empty elements (_dbus_get_standard_session_servicedirs): returns the standard directories for a session bus to look for service activation files on Unix which includes the XDG_DATA_HOME, XDG_DATA_DIRS and DBUS_DATADIR directories * test/data/valid-config-files/many-rules.conf: add the standard_session_servicedirs tag to the valid config file tests
* 2006-10-27 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-281-1/+11
| | | | | * dbus/dbus-connection.c (dbus_connection_open_private): document how to choose shared vs. private connections
* 2006-10-27 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-286-33/+142
| | | | | | | | | | | | | | | | | | | | | * dbus/dbus-test.c: enclose more of the file in the DBUS_BUILD_TESTS check. * dbus/dbus-sysdeps-pthread.c (PTHREAD_CHECK): fix for DBUS_DISABLE_ASSERT case. * dbus/dbus-connection.c (dbus_connection_get_unix_user): document that it only works on the server side * dbus/dbus-bus.c: add a global lock covering the BusData we attach to each connection (internal_bus_get): lock our access to the BusData (dbus_bus_register): lock the entire registration process with _DBUS_LOCK(bus_datas). If we get the lock and registration is already complete, silently return (vs. previous behavior of aborting). (dbus_bus_set_unique_name): lock the BusData (dbus_bus_get_unique_name): lock the BusData
* 2006-10-27 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-271-9/+19
| | | | | | | | * dbus/dbus-sysdeps-pthread.c: make the "count" and "holder" variables volatile, suggested by Thiago. Document struct fields. (PTHREAD_CHECK): remove pthread error checking if assertions are disabled, should reduce the no-assertions case to the bare minimum code.
* 2006-10-26 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-271-18/+93
| | | | | | | | * dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock): change to be recursive (_dbus_pthread_mutex_unlock): make it recursive (_dbus_pthread_condvar_wait): save/restore the recursion count (_dbus_pthread_condvar_wait_timeout): save/restore the recursion count
* 2006-10-26 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-272-37/+114
| | | | | | | | | * doc/dbus-specification.xml: clarify the UUID text slightly * dbus/dbus-sysdeps-pthread.c: check for and mostly abort on pthread errors. Add DBusMutexPThread and DBusCondVarPThread in preparation for being able to extend them for e.g. recursive mutexes.
* 2006-10-26 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-278-385/+493
| | | | | | | | | | | | | * dbus/dbus-threads.[hc]: Documentation improvements. Clarify how condition variables relate to recursive mutexes. * dbus/dbus-sysdeps-pthread.c, dbus/dbus-sysdeps-win-thread.c, dbus/dbus-threads.c: Split the platforms-specific thread implementations into their own files. * dbus/dbus-sysdeps-pthread.c (_dbus_pthread_condvar_wait_timeout): invert the return value, it was backward. Not that anything uses it.
* * dbus-sysdeps-unix.c (_dbus_set_local_creds): Clean up theJohn (J5) Palmieri2006-10-261-6/+7
| | | | | | | | LOCAL_CREDS vs CMSGCRED stuff a bit. Prefer CMSGCRED. This needs to be cleaned up more. * doc/TODO: Add a todo that *BSD hackers should look at cleaning up the CREDS issue.
* * configure.in, dbus-1.pc.in: Check to see if thread methodsJohn (J5) Palmieri2006-10-261-1/+1
| | | | | are in glibc or libpthread and add -lpthread to the link stage if it is the latter
* * dbus/dbus-connection.c (_dbus_connection_open_internal): FixThiago Macieira2006-10-261-32/+21
| | | | | | | bug 8780: the connection lock is only required while recording the shared connection, so protect only that code section. Don't require connection_lookup_shared to return a locked connection.
* 2006-10-25 Sjoerd Simons <sjoerd@luon.net>Sjoerd Simons2006-10-251-1/+1
| | | | | | | * dbus/Makefile.am: * tools/Makefile.am: * toos/dbus-uuidgen.1: Move the machine-id file to /var/lib/dbus
* 2006-10-24 David Zeuthen <davidz@redhat.com>David Zeuthen2006-10-241-1/+1
| | | | | | * 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.h:Thiago Macieira2006-10-243-4/+35
| | | | | | | | | | | | * 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.
* 2006-10-23 David Zeuthen <davidz@redhat.com>David Zeuthen2006-10-232-16/+15
| | | | | | | | | | | | | | * 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
* 2006-10-22 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-222-2/+13
| | | | | | | * 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
* 2006-10-21 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-211-18/+33
| | | | | * dbus/dbus-connection.h: don't include the watch/timeout functions in connection section
* 2006-10-21 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-2112-108/+202
| | | | | * Documentation! Whee! Doxygen now 100% silent. If you make it angry again, you will be punished.
* 2006-10-21 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-217-26/+114
| | | | | * More documentation - all public API now documented according to Doxygen
* 2006-10-21 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-218-17/+107
| | | | * Document a bunch of undocumented stuff
* 2006-10-21 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-2120-15/+152
| | | | | | | * 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.
* 2006-10-21 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-213-1/+30
| | | | | | | * dbus/dbus-macros.h: add DBUS_GNUC_DEPRECATED macro * dbus/dbus-message.h: mark dbus_message_iter_get_array_len() as DBUS_GNUC_DEPRECATED
* 2006-10-21 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-214-210/+216
| | | | | * Move all private API into the private Doxygen group sections of the files, so they don't show up in the public API docs
* 2006-10-21 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-219-325/+660
| | | | | | | * dbus/dbus-message.h: put #ifndef DBUS_DISABLE_DEPRECATED around dbus_message_iter_get_array_len(). * throughout: documentation improvements.
* fix typoHavoc Pennington2006-10-211-1/+1
|
* 2006-10-20 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-204-197/+306
| | | | | | | | | | | | | * 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
* 2006-10-19 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-203-517/+524
| | | | | * more Doxygen-related fixes (lots of moving things from the public to internal section in dbus-connection.c)
* remove untrue commentHavoc Pennington2006-10-201-4/+0
|
* 2006-10-19 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-2030-73/+412
| | | | * Fix a pile of Doxygen warnings and missing docs
* 2006-10-17 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-171-4/+0
| | | | | | | | * 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.
* 2006-10-17 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-1711-57/+116
| | | | | | * 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.
* * dbus-transport-socket.c (exchange_credentials):John (J5) Palmieri2006-10-131-4/+11
| | | | | | Print out more detailed errors if reading or sending credentials fail (Patch from Julio M. Merino Vidal <jmmv at NetBSD dot org>)
* 2006-10-13 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-131-2/+6
| | | | | | * dbus/dbus-connection.c (dbus_connection_send_with_reply_and_block): fix to handle closed connections, from Tambet Ingo bug #8631
* * configure.in: define _POSIX_PTHREAD_SEMANTICS on solarisJohn (J5) Palmieri2006-10-081-3/+6
| | | | | avoid using dirfd on systems that don't have dirfd (Patch by Brian Cameron <brian dot cameron at sun dot com>)
* * dbus/dbus-sysdeps.c (_dbus_abort): Remove fromJohn (J5) Palmieri2006-10-022-4/+1
| | | | | | | | | | #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
* * dbus/dbus-sysdeps-util-unix.c (dirent_buf_size): Add check forJohn (J5) Palmieri2006-10-021-0/+2
| | | | MAXNAMELEN for Mac OSX. (Patch from Jonas B <sanoix at gmail dot com>)
* 2006-10-01 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-011-8/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* 2006-10-01 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-013-55/+101
| | | | | | | | | | | | | | | * 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.
* 2006-10-01 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-012-9/+44
| | | | | | | | | | | | | | | * 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.
* 2006-10-01 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-0111-169/+441
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* 2006-09-30 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-011-5/+8
| | | | | | * 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!
* 2006-09-30 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-10-0118-91/+772
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* * configure.in: add DBUS_BINDIR as a #define to C source code.Thiago Macieira2006-09-306-2/+232
| | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* * tools/Makefile.am: use @EXPANDED_DATADIR@ instead of @DATADIRNAME@John (J5) Palmieri2006-09-181-0/+4
|
* 2006-09-17 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-09-171-19/+11
| | | | | | * 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
* 2006-09-16 Havoc Pennington <hp@redhat.com>Havoc Pennington2006-09-1613-204/+336
| | | | | | | | | * 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