Ralf Habacker [Thu, 8 Mar 2007 13:40:16 +0000 (13:40 +0000)]
* dbus-win.patch: dbus-connection.c (dbus_connection_get_unix_user,
dbus_connection_get_unix_process_id): Let return them valid user id's,
otherwise bus-test fails. How to replace on win32 ?.
* dbus/dbus-sysdeps-win.c (fill_win_user_info_homedir): fix memory leak.
Ralf Habacker [Thu, 8 Mar 2007 13:04:18 +0000 (13:04 +0000)]
* dbus/dbus-sysdeps-win.c (_dbus_win_set_error_from_win_error): use dbus friendly error name
((fill_win_user_info_homedir): print user name in error case too.
Ralf Habacker [Wed, 7 Mar 2007 18:34:01 +0000 (18:34 +0000)]
* bus/activation.c: win32 compile fix.
* test/test-segfault.c: win32 compile fix, rlimit isn't available on win32.
* dbus-win.patch: removed some more patches, they are applied or obsolate
Ralf Habacker [Sat, 3 Mar 2007 17:25:54 +0000 (17:25 +0000)]
* dbus/*-win.*,bus/*-win.*: added win32 platform related
files. These files are only added to the cmake build system.
The missing dbus-win32.patch file will be added later.
Ralf Habacker [Sat, 3 Mar 2007 14:32:17 +0000 (14:32 +0000)]
* cmake: new directory, contains cmake build support.
See http://www.cmake.org for more informations.
Currently only unix will be buildable because some
win32 required files are still missing.
Havoc Pennington [Fri, 26 Jan 2007 16:10:26 +0000 (16:10 +0000)]
2007-01-26 Havoc Pennington <hp@redhat.com>
* bus/session.conf.in: override all the default limits with much
higher limits on the session bus, there is no reason the session
bus should have low limits
* bus/config-parser.c (bus_config_parser_new): increase default
limits so they are less likely to be hit; in particular the max
replies per connection was way too low
Ralf Habacker [Mon, 1 Jan 2007 21:29:59 +0000 (21:29 +0000)]
* dbus/dbus-sysdeps-unix.c: unix compile fix, moved
atomic_exchange_and_add() from dbus/dbus-sysdeps.c
to here, it's used by _dbus_atomic_inc() and _dbus_atomic_dec().
Ralf Habacker [Sun, 31 Dec 2006 12:20:54 +0000 (12:20 +0000)]
* tools/dbus-monitor.c: gettimeofday() is not available
on windows so we have to provide our own. It's taken from
lgpl'd kdewin32 package. - Patches from Christian Ehrlicher
Ralf Habacker [Sun, 31 Dec 2006 12:16:04 +0000 (12:16 +0000)]
* dbus/dbus-sysdeps-unix.c: moved _dbus_atomic_inc/dec()
from dbus/dbus-sysdeps.c, windows version of _dbus_atomic_inc/dec()
is in dbus-sysdeps-win.c (not in this patch).
* dbus/dbus-sysdeps.h: DBusAtomic::value is long on windows to fit
with InterlockedInc/Decrement. - Patches from Christian Ehrlicher
Ray Strode [Wed, 20 Dec 2006 06:18:19 +0000 (06:18 +0000)]
2006-12-19 Ray Strode <rstrode@redhat.com>
* bus/bus.c (process_config_every_time):
don't overwrite existing bus context activation object
until after we've checked that the new activation is
valid.
* bus/main.c
(signal_handler), (handle_reload_watch):
don't call exit() on failure, instead make do and keep
going.
(close_reload_pipe): new function to turn off
hangup-causes-config-reload behavior if an unexpected
error occurs
Thiago Macieira [Sun, 19 Nov 2006 18:23:27 +0000 (18:23 +0000)]
* dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock,
_dbus_pthread_condvar_wait,
_dbus_pthread_condvar_wait_timeout): set pmutex->holder to
pthread_self() after coming back from a conditional variable
wait as well as in one codepath where it was forgotten.
Approved by: Havoc Pennington.
Havoc Pennington [Sat, 18 Nov 2006 03:30:47 +0000 (03:30 +0000)]
2006-11-17 Havoc Pennington <hp@redhat.com>
* update-dbus-docs.sh: allow setting fd.org username via env
variable. Make it run autogen with --enable-xml-docs=yes
--enable-doxygen-docs=yes so configure will fail if the required
tools are missing.
Havoc Pennington [Wed, 15 Nov 2006 03:07:59 +0000 (03:07 +0000)]
2006-11-14 Havoc Pennington <hp@redhat.com>
* 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.
Havoc Pennington [Wed, 15 Nov 2006 01:52:01 +0000 (01:52 +0000)]
2006-11-14 Havoc Pennington <hp@redhat.com>
* 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.
* HACKING: Update release instructions to include stuff about
stable releases, branching, etc. May not be totally correct,
please fix if needed, but keep instructions up-to-date so we do
each stable release consistently in the future.
* doc/dbus-specification.xml, doc/dbus-faq.xml, README: various
documentation updates. Bump faq/spec versions (not to 1.0; I don't
think the spec will be "finished"/1.0 when we ship the 1.0 library).
* bus/config-parser.c (service_dirs_find_dir): use
_dbus_list_get_next_link so we don't get stuck in an infinite loop
(start_busconfig_child): move processing of standard_session_servicedirs
tags here because they have no content
(bus_config_parser_content): check we don't have content in
standard_session_servicedirs tag
* tools/Makefile.am: Make sure the /var/lib/dbus directory is created
Packagers need to own this directory
* tools/run-with-tmp-session-bus.sh: fixed script to replace the
<standard_session_servicedirs> tag with a <sevicedir> tag that
points to the test service directory
* 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
Havoc Pennington [Sat, 28 Oct 2006 01:41:37 +0000 (01:41 +0000)]
2006-10-27 Havoc Pennington <hp@redhat.com>
* 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
* bus/config-parser.c (service_dirs_find_dir,
service_dirs_append_unique_or_free,
service_dirs_append_link_unique_or_free): New static methods
for only appending unique service directory names into
the service directory list
(merge_included, bus_config_parser_content): Only add unique
service directory names into the list
Havoc Pennington [Fri, 27 Oct 2006 14:00:20 +0000 (14:00 +0000)]
2006-10-27 Havoc Pennington <hp@redhat.com>
* 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.
Havoc Pennington [Fri, 27 Oct 2006 03:29:09 +0000 (03:29 +0000)]
2006-10-26 Havoc Pennington <hp@redhat.com>
* 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
Havoc Pennington [Fri, 27 Oct 2006 02:17:42 +0000 (02:17 +0000)]
2006-10-26 Havoc Pennington <hp@redhat.com>
* 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.
Havoc Pennington [Fri, 27 Oct 2006 01:09:24 +0000 (01:09 +0000)]
2006-10-26 Havoc Pennington <hp@redhat.com>
* 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.
Thiago Macieira [Thu, 26 Oct 2006 18:03:24 +0000 (18:03 +0000)]
* dbus/dbus-connection.c (_dbus_connection_open_internal): Fix
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.
Thiago Macieira [Thu, 26 Oct 2006 17:34:49 +0000 (17:34 +0000)]
* tools/dbus-launch-x11.c (get_session_file, init_x_atoms):
check if get_machine_uuid() returns NULL before proceeding any
further: we can't init the X atoms or create a session file
name if there is no machine ID.
This solves a crash reported by some users if
--exit-with-session was used without --autolaunch=<machine-id>
Havoc Pennington [Sun, 22 Oct 2006 15:03:10 +0000 (15:03 +0000)]
2006-10-22 Havoc Pennington <hp@redhat.com>
* 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
Havoc Pennington [Sun, 22 Oct 2006 00:31:08 +0000 (00:31 +0000)]
2006-10-21 Havoc Pennington <hp@redhat.com>
* Makefile.am (EXTRA_DIST): dist cleanup-man-pages.sh so it's in
the tarball if packagers want to run it
* cleanup-man-pages.sh: Add a script which munges all the internal
API man pages out of the Doxygen output. This reduces the size of
the installed man pages from 7 to 2 megs, and avoids
namespace-polluting pages. Right now (like Doxygen) this script
isn't in the build, it's something packagers can do manually.
Havoc Pennington [Sat, 21 Oct 2006 18:17:02 +0000 (18:17 +0000)]
2006-10-21 Havoc Pennington <hp@redhat.com>
* 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.
Havoc Pennington [Fri, 20 Oct 2006 05:16:58 +0000 (05:16 +0000)]
2006-10-20 Havoc Pennington <hp@redhat.com>
* 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