Home | History | Annotate | Download | only in dbus
      1 2007-07-10  Havoc Pennington  <hp (a] redhat.com>
      2 
      3 	* dbus/dbus-connection.c (struct DBusConnection): Fix from Olivier
      4 	Hochreutiner to avoid trying to protect individual bits in a word
      5 	with different locks (make dispatch_acquired and io_path_acquired
      6 	dbus_bool_t rather than bitfields)
      7 
      8 2006-12-12  John (J5) Palmieri  <johnp (a] redhat.com>
      9 
     10 	* Released 1.0.2
     11 
     12 2006-12-12  John (J5) Palmieri  <johnp (a] redhat.com>
     13 
     14 	* bus/signal.c: Fix match_rule_equal errata
     15 	(CVE-2006-6107 - Patch from Kimmo Hmlinen 
     16 	<kimmo.hamalainen (a] nokia.com>)
     17 
     18 2006-11-19  Thiago Macieira  <thiago (a] kde.org>
     19 
     20 	* dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock,
     21         _dbus_pthread_condvar_wait,
     22         _dbus_pthread_condvar_wait_timeout): set pmutex->holder to
     23         pthread_self() after coming back from a conditional variable
     24         wait as well as in one codepath where it was forgotten.
     25 	Approved by: Havoc Pennington.
     26 
     27 2006-11-17  Havoc Pennington  <hp (a] redhat.com>
     28 
     29 	* update-dbus-docs.sh: allow setting fd.org username via env
     30 	variable. Make it run autogen with --enable-xml-docs=yes
     31 	--enable-doxygen-docs=yes so configure will fail if the required
     32 	tools are missing.
     33 
     34 2006-11-17  Havoc Pennington  <hp (a] redhat.com>
     35 
     36 	* doc/dbus-faq.xml: minor FAQ tweaks
     37 
     38 2006-11-17  John (J5) Palmieri  <johnp (a] redhat.com>
     39 
     40 	* Released 1.0.1
     41 
     42 2006-11-14  Havoc Pennington  <hp (a] redhat.com>
     43 	
     44 	* dbus/dbus-misc.c, dbus/dbus-misc.h: Move
     45 	dbus_get_local_machine_id() to its own file, no substantive
     46 	changes. There are a couple other things we might want to add that
     47 	are "misc" so moving out of dbus-connection.[hc] which is big
     48 	enough already.
     49 	
     50 2006-11-14  Havoc Pennington  <hp (a] redhat.com>
     51 
     52 	* dbus/dbus-internals.c (_dbus_generate_uuid): The spec said the
     53 	UUID had the timestamp last, but the implementation had it first;
     54 	move it to last since I think it's a tiny bit nicer (easier to
     55 	compare at a glance, faster to sort, less code), and will not
     56 	cause any practical compatibility problems. Also, always convert
     57 	the timestamp to big endian.
     58 
     59 	* doc/dbus-specification.xml: Clean up the docs on the UUID.
     60 
     61 	* tools/dbus-uuidgen.1: more prominently say it is not suitable
     62 	as a replacement for regular uuidgen/RFC4122.
     63 
     64 2006-11-14  John (J5) Palmieri  <johnp (a] redhat.com>
     65 
     66 	* configure.in: Bump version to 1.0.1 for next stable release
     67 
     68 	* dbus/dbus-threads.h: fix DBUS_THREAD_FUNCTIONS_ALL_MASK to have
     69 	the correct value so we don't assert when initalizing recursive threads
     70 
     71 	* test/name-test/test-thread-init.c: call dbus_threads_init_default
     72 	instead of _dbus_threads_init_debug since it is more of a real world
     73 	test
     74 
     75 2006-11-09  John (J5) Palmieri  <johnp (a] redhat.com>
     76 
     77 	* Released 1.0.0
     78 
     79 2006-11-09  John (J5) Palmieri  <johnp (a] redhat.com>
     80 
     81 	* AUTHORS: added Peter and Tor of windows porting fame
     82 
     83 2006-11-08  Havoc Pennington  <hp (a] redhat.com>
     84 
     85 	* doc/dbus-specification.xml: add a note about protocol stability
     86 
     87 	* doc/TODO: Remove "important for 1.0" section, replace with
     88 	"important for 1.2" section
     89 	
     90 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
     91 
     92 	* README: remove some of the out of date flags
     93 
     94 	* doc/TODO: Remove todo items which are done
     95 
     96 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
     97 
     98 	* tools/dbus-monitor.c: Handle sigint so we flush stdout
     99 	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
    100 
    101 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
    102 
    103 	* tools/dbus-monitor.1: update the manpage for dbus-monitor
    104 	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
    105 
    106 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
    107 
    108 	* AUTHORS: Update with all people listed in the ChangeLog
    109 
    110 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
    111 
    112 	* tools/dbus-monitor.c: add profiling tools to dbus-monitor
    113 	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
    114 
    115 2006-11-07  Havoc Pennington  <hp (a] redhat.com>
    116 
    117 	* HACKING: Update release instructions to include stuff about
    118 	stable releases, branching, etc. May not be totally correct,
    119 	please fix if needed, but keep instructions up-to-date so we do
    120 	each stable release consistently in the future.
    121 
    122 2006-11-07  Havoc Pennington  <hp (a] redhat.com>
    123 
    124 	* doc/dbus-specification.xml, doc/dbus-faq.xml, README: various
    125 	documentation updates. Bump faq/spec versions (not to 1.0; I don't
    126 	think the spec will be "finished"/1.0 when we ship the 1.0 library).
    127 
    128 2006-11-06  John (J5) Palmieri  <johnp (a] redhat.com>
    129 
    130 	* bus/bus.c: Missed patch - pass in the context to the directory watch
    131 
    132 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
    133 
    134 	* Released D-Bus 1.0 RC 3(0.95)
    135 
    136 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
    137 
    138 	* bus/activation.c (bus_activation_new): don't fail if we can not read
    139 	the directory as it may not exist
    140 
    141 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
    142 
    143 	* bus/config-parser.c (service_dirs_find_dir): use 
    144 	_dbus_list_get_next_link so we don't get stuck in an infinite loop
    145 	(start_busconfig_child): move processing of standard_session_servicedirs
    146 	tags here because they have no content
    147 	(bus_config_parser_content): check we don't have content in 
    148 	standard_session_servicedirs tag
    149 
    150 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
    151 
    152 	* tools/Makefile.am: Make sure the /var/lib/dbus directory is created
    153 	Packagers need to own this directory
    154 
    155 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
    156 
    157 	* tools/run-with-tmp-session-bus.sh: fixed script to replace the 
    158 	<standard_session_servicedirs> tag with a <sevicedir> tag that
    159 	points to the test service directory
    160 
    161 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
    162 
    163 	* configure.in: Add a check for DIR *dirp->dd_fd
    164 
    165 	* dbus/dbus-sysdeps-util-unix: if HAVE_DDFD is defined use 
    166 	DIR *dirp->dd_fd else use DIR *dirp->__dd_fd.  This takes care
    167 	of both Solaris and Irix
    168 
    169 2006-11-01  Havoc Pennington  <hp (a] redhat.com>
    170 
    171 	* bus/dbus-daemon.1.in: document standard_session_servicedirs
    172 
    173 2006-11-01  John (J5) Palmieri  <johnp (a] redhat.com>
    174 
    175 	* configure.in: expose DBUS_DATADIR
    176 	
    177 	* bus/config-parser.c: add the standard_session_servicedirs element
    178 	to the parser
    179 	(bus_config_parser_content): process the standard_session_servicedirs
    180 	element by getting the standard directories from sysdeps and merging
    181 	them into the service directory list
    182 	(test_default_session_servicedirs): make sure we get what we expect
    183 
    184 	* bus/session.conf.in: replace the servicedir tag with the 
    185 	standard_session_servicedirs tag
    186 
    187 	* dbus/dbus-list.h: remove the typedef of DBusList and place it in
    188 	dbus-sysdeps.h to avoid circular header dependencies
    189 
    190 	* dbus/dbus-sysdeps.h: add the typedef of DBusList
    191 
    192 	* dbus/dbus-sysdeps-unix.c (split_paths_and_append): utility function
    193 	which takes a string of directories delimited by colons, parses them 
    194 	out, appends a suffix and puts them in a list ignoring empty elements
    195 	(_dbus_get_standard_session_servicedirs): returns the standard 
    196 	directories for a session bus to look for service activation files
    197 	on Unix which includes the XDG_DATA_HOME, XDG_DATA_DIRS and 
    198 	DBUS_DATADIR directories
    199 
    200 	* test/data/valid-config-files/many-rules.conf: add the 
    201 	standard_session_servicedirs tag to the valid config file tests
    202 
    203 2006-10-30  Havoc Pennington  <hp (a] redhat.com>
    204 
    205 	* tools/dbus-launch.1, doc/TODO: capture intent to change the
    206 	command line options of dbus-launch a bit post 1.0
    207 
    208 2006-10-27  Havoc Pennington  <hp (a] redhat.com>
    209 	
    210 	* dbus/dbus-connection.c (dbus_connection_open_private): document
    211 	how to choose shared vs. private connections
    212 
    213 2006-10-27  Havoc Pennington  <hp (a] redhat.com>
    214 
    215 	* dbus/dbus-test.c: enclose more of the file in the
    216 	DBUS_BUILD_TESTS check.
    217 
    218 	* dbus/dbus-sysdeps-pthread.c (PTHREAD_CHECK): fix for
    219 	DBUS_DISABLE_ASSERT case.
    220 
    221 	* dbus/dbus-connection.c (dbus_connection_get_unix_user): document
    222 	that it only works on the server side
    223 
    224 	* dbus/dbus-bus.c: add a global lock covering the BusData we
    225 	attach to each connection
    226 	(internal_bus_get): lock our access to the BusData
    227 	(dbus_bus_register): lock the entire registration process
    228 	with _DBUS_LOCK(bus_datas). If we get the lock and 
    229 	registration is already complete, silently return (vs. previous
    230 	behavior of aborting).
    231 	(dbus_bus_set_unique_name): lock the BusData
    232 	(dbus_bus_get_unique_name): lock the BusData
    233 
    234 2006-10-27  John (J5) Palmieri  <johnp (a] redhat.com>
    235 
    236 	* bus/config-parser.c (service_dirs_find_dir, 
    237 	service_dirs_append_unique_or_free, 
    238 	service_dirs_append_link_unique_or_free): New static methods
    239 	for only appending unique service directory names into
    240 	the service directory list
    241 	(merge_included, bus_config_parser_content): Only add unique
    242 	service directory names into the list
    243 
    244 2006-10-27  Havoc Pennington  <hp (a] redhat.com>
    245 
    246 	* dbus/dbus-sysdeps-pthread.c: make the "count" and "holder"
    247 	variables volatile, suggested by Thiago. Document struct fields.
    248 	(PTHREAD_CHECK): remove pthread error checking if assertions are
    249 	disabled, should reduce the no-assertions case to the bare
    250 	minimum code.
    251 
    252 2006-10-26  Havoc Pennington  <hp (a] redhat.com>
    253 	
    254 	* dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock): change
    255 	to be recursive
    256 	(_dbus_pthread_mutex_unlock): make it recursive
    257 	(_dbus_pthread_condvar_wait): save/restore the recursion count
    258 	(_dbus_pthread_condvar_wait_timeout): save/restore the recursion count
    259 
    260 2006-10-26  Havoc Pennington  <hp (a] redhat.com>
    261 
    262 	* doc/dbus-specification.xml: clarify the UUID text slightly
    263 
    264 	* dbus/dbus-sysdeps-pthread.c: check for and mostly abort on
    265 	pthread errors. Add DBusMutexPThread and DBusCondVarPThread 
    266 	in preparation for being able to extend them for e.g. recursive
    267 	mutexes.
    268 
    269 2006-10-26  Havoc Pennington  <hp (a] redhat.com>
    270 
    271         * dbus/dbus-threads.[hc]: Documentation improvements. Clarify how 
    272 	condition variables relate to recursive mutexes.
    273 	
    274         * dbus/dbus-sysdeps-pthread.c, dbus/dbus-sysdeps-win-thread.c, 
    275 	dbus/dbus-threads.c: Split the platforms-specific thread 
    276 	implementations into their own files.
    277 	
    278 	* dbus/dbus-sysdeps-pthread.c
    279 	(_dbus_pthread_condvar_wait_timeout): invert the return value, it
    280 	was backward. Not that anything uses it.
    281 
    282 2006-10-26  John (J5) Palmieri  <johnp (a] redhat.com>
    283 
    284 	* dbus-sysdeps-unix.c (_dbus_set_local_creds): Clean up the
    285 	LOCAL_CREDS vs CMSGCRED stuff a bit.  Prefer CMSGCRED.  This
    286 	needs to be cleaned up more.
    287 
    288 	* doc/TODO: Add a todo that *BSD hackers should look at cleaning
    289 	up the CREDS issue.
    290 
    291 2006-10-26  John (J5) Palmieri  <johnp (a] redhat.com>
    292 
    293 	* configure.in, dbus-1.pc.in: Check to see if thread methods 
    294 	are in glibc or libpthread and add -lpthread to the link stage 
    295 	if it is the latter
    296 
    297 2006-10-26  Thiago Macieira  <thiago (a] kde.org>
    298 
    299 	* dbus/dbus-connection.c (_dbus_connection_open_internal): Fix
    300         bug 8780: the connection lock is only required while recording
    301         the shared connection, so protect only that code
    302         section. Don't require connection_lookup_shared to return a
    303         locked connection.
    304 
    305 2006-10-26  Thiago Macieira  <thiago (a] kde.org>
    306 
    307 	* tools/dbus-launch-x11.c (get_session_file, init_x_atoms):
    308         check if get_machine_uuid() returns NULL before proceeding any
    309         further: we can't init the X atoms or create a session file
    310         name if there is no machine ID.
    311 	This solves a crash reported by some users if
    312         --exit-with-session was used without --autolaunch=<machine-id>
    313 
    314 2006-10-26  John (J5) Palmieri  <johnp (a] redhat.com>
    315 
    316 	* tools/dbus-launch.c (main): run the dbus-daemon in the builddir
    317 	if tests are enabled and the DBUS_USE_TEST_BINARY env variable is set
    318 
    319 	* tools/run-with-tmp-session-bus.sh: set DBUS_USE_TEST_BINARY
    320 	before we run dbus-launch
    321 
    322 	* configure.in: define TEST_BUS_BINARY to be the full path to 
    323 	dbus-daemon in the build root 
    324 
    325 2006-10-25  Sjoerd Simons  <sjoerd (a] luon.net>
    326 
    327 	* dbus/Makefile.am:
    328 	* tools/Makefile.am:
    329 	* toos/dbus-uuidgen.1:
    330 		Move the machine-id file to /var/lib/dbus 
    331 
    332 2006-10-24  David Zeuthen  <davidz (a] redhat.com>
    333 
    334 	* dbus/dbus-threads.c (init_uninitialized_locks): Fix typo so it's
    335 	_dbus_assert (thread_init_generation != _dbus_current_generation)
    336 	not _dbus_assert (thread_init_generation == _dbus_current_generation)
    337 
    338 2006-10-24  Thiago Macieira  <thiago (a] kde.org>
    339 
    340 	* dbus/dbus-sysdeps.h:
    341 	* dbus/dbus-sysdeps-unix.c: Add function
    342 	_dbus_make_file_world_readable that chmods a file to 0644.
    343 
    344 	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address):
    345         Avoid writing to the static "argv" array, thereby avoiding a
    346         COW on the child process.
    347 
    348 	* dbus/dbus-internals.c (_dbus_create_uuid_file_exclusively):
    349         call _dbus_make_file_world_readable on the created file.
    350 
    351 2006-10-23  David Zeuthen  <davidz (a] redhat.com>
    352 
    353 	* dbus/dbus-memory.c: Use atomic variable to protect
    354 	n_blocks_outstanding otherwise OOM will be reported using SMP on
    355 	some arches
    356 	
    357 	* bus/dispatch.c: Add missing end of line characters
    358 
    359 	* bus/desktop-file.c (parse_section_start, parse_key_value) 
    360 	(bus_desktop_file_load): Propertly handle OOM
    361 
    362 	* dbus/dbus-threads.c (init_uninitialized_locks): Check that
    363 	thread_init_generation equals _dbus_current_generation, not 0
    364 
    365 2006-10-22  Havoc Pennington  <hp (a] redhat.com>
    366 
    367 	* dbus/dbus-connection-internal.h: move prototype of
    368 	_dbus_bus_notify_shared_connection_disconnected_unlocked() here so
    369 	it isn't in a public header and doesn't end up in the DBusBus
    370 	group in Doxygen
    371 
    372 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    373 
    374 	* Makefile.am (EXTRA_DIST): dist cleanup-man-pages.sh so it's in
    375 	the tarball if packagers want to run it
    376 
    377 	* cleanup-man-pages.sh: Add a script which munges all the internal
    378 	API man pages out of the Doxygen output. This reduces the size of
    379 	the installed man pages from 7 to 2 megs, and avoids
    380 	namespace-polluting pages. Right now (like Doxygen) this script
    381 	isn't in the build, it's something packagers can do manually.
    382 
    383 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    384 
    385 	* dbus/dbus-connection.h: don't include the watch/timeout
    386 	functions in connection section
    387 
    388 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    389 
    390 	* Documentation! Whee! Doxygen now 100% silent. If you make it
    391 	angry again, you will be punished.
    392 	
    393 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    394 
    395 	* More documentation - all public API now documented according to
    396 	Doxygen
    397 
    398 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    399 
    400 	* Document a bunch of undocumented stuff
    401 	
    402 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    403 
    404 	* Clean up Doxygen group markers for public API so Doxygen finds
    405 	everything (not comprehensively fixed for private API).
    406 	Means all remaining Doxygen warnings are just about missing docs
    407 	and thus pretty simple to resolve.
    408 	
    409 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    410 	
    411 	* dbus/dbus-macros.h: add DBUS_GNUC_DEPRECATED macro
    412 
    413 	* dbus/dbus-message.h: mark dbus_message_iter_get_array_len() 
    414 	as DBUS_GNUC_DEPRECATED
    415 
    416 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    417 
    418         * Move all private API into the private Doxygen group sections of
    419 	the files, so they don't show up in the public API docs
    420 	
    421 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    422 
    423 	* dbus/dbus-message.h: put #ifndef DBUS_DISABLE_DEPRECATED around 
    424 	dbus_message_iter_get_array_len().
    425 
    426 	* throughout: documentation improvements.
    427 
    428 2006-10-20  Havoc Pennington  <hp (a] redhat.com>
    429 
    430 	* doc/TODO: remove the int64 thing from 1.0 since it doesn't
    431 	matter, and the message-loader-breaker thing since nobody is going
    432 	to do it.  Add an item to 1.0 about supporting recursive locks
    433 	in dbus_threads_init_default() though, since it should be easy.
    434 
    435 	* dbus/dbus-connection.c (_dbus_connection_read_write_dispatch):
    436 	Fix this in the !dispatch case to avoid busy-looping after
    437 	disconnection
    438 
    439         * More misc docs improvements
    440 
    441 2006-10-19  Havoc Pennington  <hp (a] redhat.com>
    442 
    443 	* more Doxygen-related fixes (lots of moving things from the
    444 	public to internal section in dbus-connection.c)
    445 
    446 2006-10-19  Havoc Pennington  <hp (a] redhat.com>
    447 
    448 	* Fix a pile of Doxygen warnings and missing docs
    449 
    450 2006-10-19  John (J5) Palmieri  <johnp (a] redhat.com>
    451 
    452 	* bus/dir-watch-default.c, bus/dir-watch-dnotify.c, 
    453 	bus/dir-watch-kqueue.c (bus_watch_directory): Pass in a BusContext 
    454 	instead of a void *.  kqueue uses this to get the context's loop
    455 	while the other modules ignore the parameter.  This allows us to
    456 	avoid platform conditionals
    457 
    458 	* bus/bus.c (process_config_postinit): Pass in the context to the 
    459 	watch
    460 
    461 2006-10-19  John (J5) Palmieri  <johnp (a] redhat.com>
    462 
    463 	* bus/messagebus.in, bus/rc.messagebus.in: run dbus-uuidgen --ensure
    464 	when starting the system bus
    465 
    466 2006-10-18  John (J5) Palmieri  <johnp (a] redhat.com>
    467 
    468 	* configure.in: More fixups for cross compile (Patch from 
    469 	Marco Pracucci <development at pracucci dot com>)
    470 
    471 2006-10-17  Havoc Pennington  <hp (a] redhat.com>
    472 
    473 	* tools/dbus-send.c (main): don't close shared connection, fix
    474 	from Timo Hoenig
    475 
    476 2006-10-17  Havoc Pennington  <hp (a] redhat.com>
    477 
    478 	* configure.in (CPPFLAGS): don't do -DDBUS_API_SUBJECT_TO_CHANGE here
    479 
    480 	* dbus/dbus.h: drop the DBUS_API_SUBJECT_TO_CHANGE requirement,
    481 	since realistically it doesn't look like we'll be changing it
    482 	anymore.
    483 
    484 2006-10-17  Havoc Pennington  <hp (a] redhat.com>
    485 
    486 	* dbus/dbus-internals.c (_dbus_warn_check_failed): new function to
    487 	be used for return_if_fail type warnings; prefixes the pid, and
    488 	fatal by default.
    489 
    490 2006-10-14  John (J5) Palmieri  <johnp (a] redhat.com>
    491 
    492 	* configure.in: Released 1.0 RC 2(0.94)
    493 	Add check for -fPIC and enable it if available
    494 
    495 2006-10-14  John (J5) Palmieri  <johnp (a] redhat.com>
    496 
    497 	* doc/TODO: Remove the check TODO item
    498 
    499 2006-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
    500 
    501 	* dbus-transport-socket.c (exchange_credentials):
    502 	Print out more detailed errors if reading or sending
    503 	credentials fail (Patch from Julio M. Merino Vidal 
    504 	<jmmv at NetBSD dot org>)
    505 
    506 2006-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
    507 
    508 	* configure.in: when checking for posix getpwnam_r assume true
    509 	for cross compiles
    510 
    511 2006-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
    512 
    513 	* configure.in: Check for gethostbyname first before we check for it
    514 	in libnsl.  On gnu systems it is implemeneted 
    515 
    516 2006-10-13  Havoc Pennington  <hp (a] redhat.com>
    517 
    518 	* dbus/dbus-connection.c
    519 	(dbus_connection_send_with_reply_and_block): fix to handle closed
    520 	connections, from Tambet Ingo bug #8631
    521 
    522 2006-10-11  John (J5) Palmieri  <johnp (a] redhat.com>
    523 
    524 	* configure.in: use AC_TRY_COMPILE for dirfd instead of AC_TRY_RUN
    525 
    526 2006-10-11  John (J5) Palmieri  <johnp (a] redhat.com>
    527 
    528 	* test/name-test/Makefile.am: don't link against both libdbus and
    529 	libdbus-convenience
    530 
    531 2006-10-11  John (J5) Palmieri  <johnp (a] redhat.com>
    532 
    533 	* configure.in: check for dirfd even if it is a macro
    534 	(Patch from Timothy Redaelli <drizzt at gufi dot org>)
    535 
    536 2006-10-08  John (J5) Palmieri  <johnp (a] redhat.com>
    537 
    538 	* configure.in: define _POSIX_PTHREAD_SEMANTICS on solaris
    539 	avoid using dirfd on systems that don't have dirfd 
    540 	(Patch by Brian Cameron <brian dot cameron at sun dot com>) 
    541 
    542 2006-10-02  John (J5) Palmieir  <johnp (a] redhat.com>
    543 
    544 	* dbus/dbus-sysdeps.c (_dbus_abort): Remove from 
    545 	#ifndef DBUS_DISABLE_ASSERTS macro to fix distcheck
    546 
    547 	* dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): Remove from
    548 	#if !defined (DBUS_DISABLE_ASSERT) || defined(DBUS_BUILD_TESTS)
    549 	macro because _dbus_abort calls it
    550 
    551 	* tools/Makefile.am: Add dbus-launch.h to the source list so distcheck
    552 	works
    553 
    554 2006-10-02  John (J5) Palmieir  <johnp (a] redhat.com>
    555 
    556 	* dbus/dbus-sysdeps-util-unix.c (dirent_buf_size): Add check for
    557 	MAXNAMELEN for Mac OSX.  (Patch from Jonas B <sanoix at gmail dot com>)
    558 
    559 2006-10-02  Thiago Macieira  <thiago (a] kde.org>
    560 
    561 	* tools/dbus-launch.c (main): make it complain and abort
    562 	execution in case an unknown option is given. Also, process
    563 	the '--' argument as the end of arguments.
    564 
    565 2006-10-01  Havoc Pennington  <hp (a] redhat.com>
    566 
    567 	* tools/dbus-launch.c (print_variables): if no syntax is given,
    568 	don't print something that's sort-of-half-sh-syntax, just print
    569 	a plain key-value pairs thing.
    570 
    571 	* tools/dbus-launch-x11.c: use machine ID rather than hostname for
    572 	the local machine representation (but still have the hostname in
    573 	the display). Remove the hostname from the display if it is
    574 	localhost. Change session files to be named
    575 	~/.dbus/session-bus/machine-display. Change X atoms to be
    576 	underscore-prefixed so nobody whines about ICCCM compliance.
    577 	Otherwise name them the same as the env variables.
    578 	Change session file format to include key-value pairs and an
    579 	explanatory comment. Keys are the same as the env variables.
    580 	(set_address_in_x11): X property format can't depend on
    581 	sizeof(pid_t) on a particular machine, fix to always be 32 bits
    582 
    583 	* tools/dbus-launch.c: make --autolaunch take a machine id
    584 	argument. If --autolaunch is used with a program to run, complain
    585 	for now (but add a FIXME). Also, don't look for existing bus if 
    586 	there's a program to run (but add a FIXME).
    587 
    588 	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): pass
    589 	machine uuid to dbus-launch (avoids linking dbus-launch to libdbus
    590 	just to get this, and avoids duplicating uuid-reading code).
    591 
    592 	* tools/dbus-launch.1: clarify various things
    593 	
    594 2006-10-01  Havoc Pennington  <hp (a] redhat.com>
    595 
    596 	* test/test-service.c (path_message_func): remove broken extra
    597 	unref that was hidden by the bugs in dbus-connection.c/dbus-bus.c
    598 
    599 	* test/test-shell-service.c (path_message_func): same fix
    600 	
    601 	* dbus/dbus-connection.c
    602 	(_dbus_connection_get_dispatch_status_unlocked): break up the
    603 	function a little for clarity and fix the notification of
    604 	dbus-bus.c to not require dispatch to be complete
    605 
    606 	* dbus/dbus-connection.c (dbus_connection_unref): improve the
    607 	warning when you try to finalize an open connection.
    608 	
    609 2006-10-01  Havoc Pennington  <hp (a] redhat.com>
    610 
    611 	* dbus/dbus-bus.c
    612 	(internal_bus_get): only weak ref the connection; this means 
    613 	_dbus_bus_notify_shared_connection_disconnected_unlocked can be
    614 	called safely in any context
    615 	(_dbus_bus_notify_shared_connection_disconnected_unlocked): don't
    616 	unref
    617 
    618 	* dbus/dbus-connection.c
    619 	(_dbus_connection_get_dispatch_status_unlocked): move
    620 	_dbus_bus_notify_shared_connection_disconnected_unlocked here
    621 	when queuing Disconnected instead of when the Disconnected message
    622 	arrives, so dbus_bus_get() won't return closed connections.
    623 	
    624 2006-10-01  Havoc Pennington  <hp (a] redhat.com>
    625 
    626 	* dbus/dbus-connection.c (_dbus_connection_close_if_only_one_ref): 
    627 	Add a hack to make DBusNewConnectionFunction work right.
    628 
    629 	* dbus/dbus-server-socket.c (handle_new_client_fd_and_unlock): use
    630 	the hack here. Also, fix the todo about refcount leak.
    631 	
    632 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
    633 	and use the hack here
    634 	
    635         * dbus/dbus-connection.c: Kill the "shared" flag vs. the
    636 	"shareable" flag; this was completely broken, since it meant 
    637 	dbus_connection_open() returned a connection of unknown
    638 	shared-ness. Now, we always hold a ref on anything opened 
    639 	as shareable.
    640 
    641 	Move the call to notify dbus-bus.c into
    642 	connection_forget_shared_unlocked, so libdbus consistently forgets
    643 	all its knowledge of a connection at once. This exposed numerous
    644 	places where things were totally broken if we dropped a ref inside
    645 	get_dispatch_status_unlocked where
    646 	connection_forget_shared_unlocked was previously, so move
    647 	connection_forget_shared_unlocked into
    648 	_dbus_connection_update_dispatch_status_and_unlock. Also move the
    649 	exit_on_disconnect here.
    650 
    651 	(shared_connections_shutdown): this assumed weak refs to the
    652 	shared connections; since we have strong refs now, the assertion 
    653 	was failing and stuff was left in the hash. Fix it to close
    654 	still-open shared connections.
    655 	
    656 	* bus/dispatch.c: fixup to use dbus_connection_open_private on the 
    657 	debug pipe connections
    658 	
    659 	* dbus/dbus-connection.c (dbus_connection_dispatch): only notify
    660 	dbus-bus.c if the closed connection is in fact shared
    661 	(_dbus_connection_close_possibly_shared): rename from 
    662 	_dbus_connection_close_internal
    663 	(dbus_connection_close, dbus_connection_open,
    664 	dbus_connection_open_private): Improve docs to explain the deal
    665 	with when you should close or unref or both
    666 
    667 	* dbus/dbus-bus.c
    668 	(_dbus_bus_notify_shared_connection_disconnected_unlocked): rename
    669 	from _dbus_bus_check_connection_and_unref_unlocked and modify to
    670 	loop over all connections
    671 
    672 	* test/test-utils.c (test_connection_shutdown): don't try to close
    673 	shared connections.
    674 
    675 	* test/name-test/test-threads-init.c (main): fix warnings in here
    676 
    677 	* dbus/dbus-sysdeps.c (_dbus_abort): support DBUS_BLOCK_ON_ABORT
    678 	env variable to cause blocking waiting for gdb; drop
    679 	DBUS_PRINT_BACKTRACE and just call _dbus_print_backtrace() 
    680 	unconditionally.
    681 
    682 	* configure.in: add -export-dynamic to libtool flags if assertions enabled
    683 	so _dbus_print_backtrace works.
    684 
    685 	* dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): use fprintf
    686 	instead of _dbus_verbose to print the backtrace, and diagnose lack 
    687 	of -rdynamic/-export-dynamic
    688 	
    689 2006-09-30  Havoc Pennington  <hp (a] redhat.com>
    690 
    691 	* dbus/dbus-bus.c (dbus_bus_get_private, dbus_bus_get) 
    692 	(internal_bus_get): fix screwy code formatting. whoever committed
    693 	that was not paying attention!
    694 
    695 2006-09-30  Havoc Pennington  <hp (a] redhat.com>
    696 
    697 	* configure.in (LT_CURRENT, LT_AGE): increment current and age to
    698 	reflect addition of interfaces.
    699 
    700 	* doc/dbus-specification.xml: describe a new
    701 	org.freedesktop.DBus.Peer.GetMachineId method
    702 
    703 	* dbus/dbus-string.c (_dbus_string_skip_white_reverse): new function
    704 	(_dbus_string_skip_white, _dbus_string_skip_blank): use new
    705 	DBUS_IS_ASCII_BLANK, DBUS_IS_ASCII_WHITE macros and fix assertion
    706 	at end of skip_white
    707 	(_dbus_string_chop_white): new function
    708 
    709 	* bus/connection.c (bus_connections_setup_connection): call
    710 	dbus_connection_set_route_peer_messages.
    711 
    712 	* dbus/dbus-connection.c
    713 	(_dbus_connection_peer_filter_unlocked_no_update): modify to
    714 	support a GetMachineId method.
    715 
    716 	Also, support a new flag to let the bus pass peer methods through
    717 	to apps on the bus, which can be set with
    718 	dbus_connection_set_route_peer_messages.
    719 
    720 	Finally, handle and return an error for anything unknown on the
    721 	Peer interface, which will allow us to extend the Peer interface
    722 	in the future without fear that we're now intercepting something
    723 	apps were wanting to see.
    724 	
    725 	* tools/dbus-uuidgen.c: a thin wrapper around the functions in 
    726 	dbus/dbus-uuidgen.c
    727 
    728 	* dbus/dbus-uuidgen.c: implement the bulk of the dbus-uuidgen
    729 	binary here, since most of the code is already in libdbus
    730 
    731 	* dbus/dbus-sysdeps.c (_dbus_read_local_machine_uuid): read the
    732 	uuid from the system config file
    733 
    734 	* dbus/dbus-internals.c (_dbus_generate_uuid, _dbus_uuid_encode) 
    735 	(_dbus_read_uuid_file_without_creating) 
    736 	(_dbus_create_uuid_file_exclusively, _dbus_read_uuid_file): new
    737 	uuid-related functions, partly factored out from dbus-server.c
    738 
    739 	* dbus/dbus-sysdeps.c (_dbus_error_from_errno): convert EEXIST to
    740 	DBUS_ERROR_FILE_EXISTS instead of EEXIST
    741 
    742 	* dbus/dbus-protocol.h (DBUS_ERROR_FILE_EXISTS): add file exists error
    743 
    744 	* tools/dbus-cleanup-sockets.1: explain what the point of this
    745 	thing is a bit more
    746 
    747 	* autogen.sh (run_configure): add --config-cache to default
    748 	configure args
    749 
    750 	* dbus/dbus-internals.h (_DBUS_ASSERT_ERROR_IS_SET): disable the
    751 	error set/clear assertions when DBUS_DISABLE_CHECKS is defined
    752 
    753 	* tools/dbus-launch.c (main): if xdisplay hasn't been opened,
    754 	don't try to save address, fixes crash in make check
    755 	
    756 2006-09-30  Thiago Macieira  <thiago (a] kde.org>
    757 
    758 	* configure.in: add DBUS_BINDIR as a #define to C source code.
    759 
    760 	* tools/dbus-launch.c
    761 	* tools/dbus-launch.h
    762 	* tools/dbus-launch-x11.c:
    763 	* tools/dbus-launch.1: Add the --autolaunch option to
    764 	dbus-launch, which makes it scan for an existing session
    765 	started with --autolaunch. With that option, it also creates
    766 	an X11 window and saves the bus address and PID to it.
    767 
    768 	* dbus/dbus-sysdeps.h:
    769 	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): Add
    770 	a function that runs "dbus-launch --autolaunch" to retrieve
    771 	the running D-Bus session address (or start one if none was running)
    772 
    773 	* dbus/dbus-transport.c: Add the handler for the "autolaunch:"
    774         address protocol, which tries to get the running session from
    775         dbus-launch.
    776 
    777 	* dbus/dbus-bus.c:
    778 	* dbus/dbus-internals.h: Make "autolaunch:" be the default
    779 	D-Bus session bus address.
    780 
    781 	* dbus/dbus-connection.c: Fix horrible typo in error message.
    782 
    783 2006-09-18  John (J5) Palmieri  <johnp (a] redhat.com>
    784 
    785 	* tools/Makefile.am: use @EXPANDED_DATADIR@ instead of @DATADIRNAME@  
    786 
    787 2006-09-17  Havoc Pennington  <hp (a] redhat.com>
    788 
    789 	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
    790 	fix so that if unix_user_function is set on windows, we still
    791 	do the default check that the auth identity matches the bus identity
    792 
    793 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    794 
    795 	* dbus/dbus-transport.c (_dbus_transport_open): modify to delegate
    796 	to _dbus_transport_open_platform_specific,
    797 	_dbus_transport_open_socket,
    798 	and _dbus_transport_open_debug_pipe
    799 
    800 	* dbus/dbus-transport-protected.h: add _dbus_transport_open_platform_specific
    801 
    802 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    803 
    804         Attempt auditing public API to remove all cases where a Unix
    805 	function returns weird emulated goo to Windows. This probably 
    806 	breaks the bus daemon on Windows, to fix it again we may 
    807 	need to stop processing unix-specific config options on Windows,
    808 	and may need to add Windows-specific public API or config options.
    809 	
    810 	* configure.in (LT_CURRENT, LT_AGE): increment current and age,
    811 	to reflect added interfaces; should not break soname.
    812 	
    813 	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated): do
    814 	not invoke unix user function on Windows. Kind of a hacky fix, but 
    815 	we don't want a "unix uid" leaking out on Windows.
    816 
    817 	* dbus/dbus-connection.c (dbus_connection_get_socket): add new API
    818 	to get the socket fd on Windows or UNIX
    819 	(dbus_connection_get_unix_fd): make this always fail on Windows
    820 
    821 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    822 
    823 	* dbus/dbus-server.c (dbus_server_listen): change how this works
    824 	to be able to delegate to a set of handlers that can succeed,
    825 	fail, or choose not to handle. Allows us to have 
    826 	dbus_server_listen_platform_specific.
    827 
    828 	* dbus/dbus-server-socket.c (_dbus_server_new_for_tcp_socket):
    829 	factor out the tcp socket stuff to be used on windows, leaving
    830 	unix domain socket only in dbus-socket-unix.c
    831 
    832 	* dbus/dbus-transport-socket.c
    833 	(_dbus_transport_new_for_tcp_socket): factor out the tcp socket
    834 	stuff to be used on windows, leaving unix domain socket only 
    835 	in dbus-transport-unix.c
    836 
    837 	* dbus/dbus-connection.c (dbus_connection_get_unix_user): insert
    838 	temporary hack to be sure this fails on windows
    839 	(dbus_connection_get_unix_process_id): ditto
    840 
    841 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    842 
    843 	* dbus/dbus-sysdeps-unix.c (_dbus_open_tcp_socket) 
    844 	(_dbus_open_unix_socket, _dbus_open_socket): change API for 
    845 	_dbus_open_socket so the domain/type/protocol from system headers
    846 	are not required. This is kind of pointless though unless we move
    847 	part of _dbus_connect_tcp_socket into sysdeps.c instead of
    848 	sysdeps-unix.c, which would mean adding a wrapper around
    849 	bind/listen/etc.
    850 	Also, add DBusError to the socket-opening functions so they 
    851 	don't require use of errno.
    852 
    853 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    854 
    855 	* dbus/dbus-sysdeps-unix.h: small change to Peter's patch to make
    856 	dbus-sysdeps-unix-util.c build, add unix-specific sysdeps header.
    857 
    858 	* dbus/dbus-sysdeps.h, dbus-sysdeps-unix.c: patch from Peter 
    859 	Kmmel bug #8249 to make the sysdeps.h read/write/open/close
    860 	functions specifically for sockets only, and move generic 
    861 	read/write/open/close into unix-specific code.
    862 
    863 2006-09-14  Havoc Pennington  <hp (a] redhat.com>
    864 
    865 	* dbus/dbus-transport-unix.c (unix_do_iteration): fix a valgrind
    866 	complaint about accessing revents when poll returns 0, from Julian Seward.
    867 
    868 2006-09-14  John (J5) Palmieri  <johnp (a] redhat.com>
    869 
    870 	* Released 1.0 RC 1 (0.93) 
    871 
    872 2006-09-14  John (J5) Palmieri  <johnp (a] redhat.com>
    873 
    874 	* dbus/dbus-sysdeps-util-unix.c (_dbus_write_pid_file):
    875 	use _dbus_close instead of close
    876 
    877 2006-09-14  John (J5) Palmieri  <johnp (a] redhat.com>
    878 
    879 	* dbus/dbus-sysdeps.c: Add support for LOCAL_CREDS socket
    880 	credentials.  Fixes "external" authentication under e.g. NetBSD
    881 	which does not support any other socket credentials mechanism.
    882 	(Patch from Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
    883 
    884 2006-09-14  John (J5) Palmieri  <johnp (a] redhat.com>
    885 
    886 	* dbus/dbus-threads.c: Allow recursive mutex's to be passed into
    887 	dbus_threads_init and be used by the dbus mutex functions to
    888 	avoid deadlocks.
    889 
    890 	* doc/TODO: Remove recursive mutex dbus_connection_dispatch TODO item
    891 
    892 2006-09-13  John (J5) Palmieri  <johnp (a] redhat.com>
    893 
    894 	* dbus/dbus-sysdeps-util-unix.c (_dbus_directory_get_next_file):
    895 	use threadsafe readdir_r instead of readdir
    896 
    897 2006-09-13  John (J5) Palmieri  <johnp (a] redhat.com>
    898 
    899 	* dbus-threads.c (dbus_threads_init_default): New method for
    900 	initializing the internal thread implementation (Patch from
    901 	Alexander Larsson <alexl at redhat dot com>)
    902 
    903 2006-09-11  John (J5) Palmieri  <johnp (a] redhat.com>
    904 
    905 	* remove a bunch of todo items from the 1.0 list
    906 
    907 2006-09-11  John (J5) Palmieri  <johnp (a] redhat.com>
    908 
    909 	* bus/activation.c, bus/desktop-file.c: Distinguish between OOM and
    910 	key not found
    911 
    912 2006-09-11  John (J5) Palmieri  <johnp (a] redhat.com>
    913 
    914 	* dbus/dbus-internal.c: Add dbus_is_verbose so we can have more
    915 	complex debugging code
    916 
    917 	* dbus/dbus-marshal-basic.c (_dbus_marshal_read_fixed_multi): Move
    918 	between the test suite ifdefs
    919 	(_dbus_verbose_bytes): return if verbosity is not enabled 
    920 
    921 2006-09-11  John (J5) Palmieri  <johnp (a] redhat.com>
    922 
    923 	* dbus/dbus-marshal-recursive-util.c, dbus/dbus-marshal-recursive.c:
    924 	remove DBusMark
    925 
    926 2006-09-10  Havoc Pennington  <hp (a] redhat.com>
    927 
    928        patch mostly by Peter Kmmel, bug #8211
    929 	
    930 	* dbus/dbus-sysdeps-unix.c: new file, which splits out
    931 	unix-specific stuff in dbus-sysdeps.c
    932 
    933 	* dbus/dbus-sysdeps.c: don't include any UNIX-only headers, 
    934 	and move unix-specific stuff to dbus-sysdeps-unix.c
    935 
    936 	* configure.in: check HAVE_ERRNO_H
    937 	
    938 2006-09-08  John (J5) Palmieri  <johnp (a] redhat.com>
    939 
    940 	* bus/test-main.c (main): Initialize threading during tests
    941 
    942 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
    943 	Unlock connection on error
    944 	(generate_local_error_message): static method for generating
    945 	an error message when we don't have a message to reply to
    946 	(_dbus_connection_block_pending_call): Send a disconnect error
    947 	instead of just a timeout (NULL) when the bus gets disconnected
    948 	while blocking for a reply.
    949 	
    950 2006-09-08  John (J5) Palmieri  <johnp (a] redhat.com>
    951 
    952 	* dbus/dbus-connection.c (dbus_connection_dispatch): Properly remove
    953 	filters (Patch from Kimmo Hmlinen 
    954 	<kimmo dot hamalainen at nokia dot com>)
    955 
    956 2006-09-07  John (J5) Palmieri  <johnp (a] redhat.com>
    957 
    958 	* dbus/dbus-connection-internal.h: Add prototype for 
    959 	_dbus_connection_test_get_locks to remove warning
    960 
    961 2006-09-07  John (J5) Palmieri  <johnp (a] redhat.com>
    962 
    963 	* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): Make sure we
    964 	close child_err_report_pipe[WRITE_END] on exec (Patch from 
    965 	Kimmo Hmlinen <kimmo dot hamalainen at nokia dot com>)
    966 
    967 2006-09-07  John (J5) Palmieri  <johnp (a] redhat.com>
    968 
    969 	* Clean up close calls to use _dbus_close (Patch from 
    970 	Kimmo Hmlinen <kimmo dot hamalainen at nokia dot com>)
    971 
    972 2006-09-06  John (J5) Palmieri  <johnp (a] redhat.com>
    973 
    974 	* doc/TODO:
    975 	- Remove pending call locking todo item
    976 	- dbus_connection_open now holds hard ref.  Remove todo item
    977 	- do proper locking on _dbus_bus_check_connection_and_unref
    978 	  and handle DBUS_BUS_STARTER. Remove todo item
    979 	- Warn on closing of a shared connection.  Remove todo item
    980 
    981 	* bus/bus.c, bus/connection.c, bus/dispatch.c, dbus/dbus-bus.c,
    982 	dbus/dbus-connection.c: Use the dbus_connection_close_internal
    983 	so we don't get the warning when closing shared connections
    984 
    985 	* test/test-service.c, test/test-shell-service.c: Applications
    986 	don't close shared connections themselves so we unref instead of
    987 	close
    988 
    989 	* test/test-utils.c (test_connection_shutdown): Close the connection
    990 
    991 	* dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): Changed to
    992 	_dbus_bus_check_connection_and_unref_unlocked since we only call this
    993 	method on a locked connection.  
    994 	Make sure we call _dbus_connection_unref_unlocked instead of 
    995 	dbus_connection_unref also.
    996 	Handle DBUS_BUS_STARTER correctly
    997 
    998 	* dbus/dbus-connection.c (connection_record_shared_unlocked):
    999 	Mark as shared and hard ref the connection
   1000 	(connection_forget_shared_unlocked): Remove the hard ref from the 
   1001 	connection
   1002 	(_dbus_connection_close_internal_and_unlock):  New internal function
   1003 	which takes a locked connection and unlocks it after closing it
   1004 	(_dbus_connection_close_internal): New internal function which acts
   1005 	like the origonal dbus_connection_close method by grabbing a connection
   1006 	lock and calling _dbus_connection_close_internal_and_unlock
   1007 	(dbus_connection_close): Public close method, warns when the app
   1008 	trys to close a shared connection
   1009 
   1010 2006-09-06  John (J5) Palmieri  <johnp (a] redhat.com>
   1011 
   1012 	* bus/driver.c:
   1013 	(bus_driver_generate_introspect_string): New method for populating
   1014 	a DBusString with the introspect data
   1015 	(bus_driver_handle_introspect): Move introspect generation code to 
   1016 	bus_driver_generate_introspect_string
   1017 
   1018 	* bus/main.c:
   1019 	(introspect): New function which prints out the intropect data and
   1020 	exits
   1021 	(main): Add a --introspect switch
   1022 
   1023 2006-09-06  John (J5) Palmieri  <johnp (a] redhat.com>
   1024 
   1025 	* doc/TODO: Removed dtd publishing item.  
   1026 	It seems the dtd has already been added at
   1027 	http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd
   1028 
   1029 2006-09-05  John (J5) Palmieri  <johnp (a] redhat.com>
   1030 
   1031 	* doc/TODO, various source files: Audited todo's and FIXME's and
   1032 	prepended the ones we should be looking at with 1.0.  Those
   1033 	prepended with 1.0? need clerification or might not be needed
   1034 	for 1.0
   1035 
   1036 2006-09-05  John (J5) Palmieri  <johnp (a] redhat.com>
   1037 
   1038 	* dbus/dbus-pending-call.c: Add some checks so we don't crash on
   1039 	NULL in the public API (Patch from Kimmo Hmlinen 
   1040 	<kimmo dot hamalainen at nokia dot com>)
   1041 
   1042 2006-09-05  John (J5) Palmieri  <johnp (a] redhat.com>
   1043 
   1044 	* configure.in: Fix for OS-X compile time endian issues (patch from
   1045 	Benjamin Reed <ranger at befunk dot com>)
   1046 
   1047 2006-09-05  John (J5) Palmieri  <johnp (a] redhat.com>
   1048 
   1049 	* configure.in: Check for no-common compiler flag (OS-X fix from
   1050 	Benjamin Reed <ranger at befunk dot com>)
   1051 
   1052 2006-09-01  John (J5) Palmieri  <johnp (a] redhat.com>
   1053 
   1054 	* tools/dbus-launch.c: Add a sigterm handler (patch from Frederic Crozat
   1055 	<fcrozat at mandriva dot com>)
   1056 
   1057 2006-08-29  Havoc Pennington  <hp (a] redhat.com>
   1058 
   1059 	* test/test-service.c (path_message_func): fix lack of return value
   1060 
   1061 	* dbus/dbus-sysdeps.c (_dbus_printf_string_upper_bound): fix
   1062 	formatting, remove #ifdef, and fix docs. #ifdef doesn't make
   1063 	any more sense than on anything else in this file.
   1064 	(_dbus_get_tmpdir): add const to return value, and keep the
   1065 	results of the various getenv around in a static variable.
   1066 
   1067 2006-08-29  Havoc Pennington  <hp (a] redhat.com>
   1068 
   1069 	* dbus/dbus-sysdeps-util.c, dbus/dbus-sysdeps-util-unix.c: change
   1070 	from Ralf Habacker to move UNIX-specific sysdeps into a separate file.
   1071 
   1072 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   1073 
   1074 	* test/Makefile.am: change find to use syntax that works with non
   1075 	gnu versions of find
   1076 
   1077 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   1078 
   1079 	* dbus/dbus-transport.c: fix invalid deref when checking if
   1080 	a vtable method exists (Patch from Christian Ehrlicher 
   1081 	<ch dot ehrlicher at gmx dot de>)
   1082 
   1083 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   1084 
   1085 	* configure.in, dbus/Makefile.am, test/name-test/run-test.sh, 
   1086 	test/name-test/Makefile.am: Fixed some issues with getting get dbus 
   1087 	to build with builddir != srcdir (Taken from a patch by Bernard Leak
   1088 	<bernard at brenda-arkle dot demon dot co dot uk>)
   1089 
   1090 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   1091 
   1092 	* configure.in: Fix DBUS_DAEMONDIR to use EXPANDED_BINDIR for the
   1093 	default case
   1094 
   1095 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   1096 
   1097 	* configure.ac, bus/Makefile.am: Generalize kqueue support so that
   1098 	it works on any system providing this interface, not only FreeBSD.
   1099 	For example, NetBSD. (Patch by Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
   1100 
   1101 2006-08-20  Havoc Pennington  <hp (a] redhat.com>
   1102 
   1103 	* doc/dbus-faq.xml, doc/dbus-tutorial.xml: some improvements to
   1104 	the docs
   1105 
   1106 2006-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   1107 
   1108 	* Released 0.92 
   1109 
   1110 2006-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   1111 
   1112 	* dbus/dbus-threads.c (dbus_threads_init): change the documentation
   1113 	to reflect the init late change
   1114 
   1115 	* bus/bus.c (bus_context_new): Check user before we fork so we can
   1116 	print out an error message a user will be able to see
   1117 
   1118 2006-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   1119 
   1120 	Patch provided by Ralf Habacker (ralf dot habacker at freenet dot de) 
   1121 
   1122 	* dbus/dbus-sysdeps.c, dbus/dbus-threads.c, dbus/dbus-internals.h:
   1123 	Add two more global locks for use on windows platforms.  These are
   1124 	unused on non-windows platforms but are not ifdefed out to avoid
   1125 	potential bugs (i.e. the few bytes lost does not warrent the extra
   1126 	maintanence and complexity that having seperate sets of locks would
   1127 	cause)
   1128 
   1129 2006-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   1130 
   1131 	* bus/services.c (bus_registry_acquire_service): Return an error
   1132 	when an application tries to register the org.freedesktop.DBus Bus Name
   1133 
   1134 	* bus/services.c (bus_registry_release_service): Return an error
   1135 	when an application tries to release the org.freedesktop.DBus Bus Name
   1136 
   1137 2006-08-17  Alp Toker  <alp (a] atoker.com>
   1138 
   1139 	* doc/dbus-specification.xml: Fix some minor typos.
   1140 
   1141 2006-08-17  John (J5) Palmieri  <johnp (a] redhat.com>
   1142 
   1143 	* configure.in: use $with_init_scripts instead of $operating_system
   1144 	to determine where to store the pid since the init scripts manipulate 
   1145 	the pid file (patch from Marcelo Ricardo Leitner 
   1146 	<marcelo dot leitner at terra dot com dot br>.  
   1147 
   1148 2006-08-16  John (J5) Palmieri  <johnp (a] redhat.com>
   1149 
   1150 	* dbus/dbus-threads.c: Add static DBusList *uninitialized_mutex_list and
   1151 	static DBusList *uninitialized_condvar_list to support new late 
   1152 	initialization threading model.  In this model threads can be initialized
   1153 	even after the D-Bus API has been used but still needs to be initialized 
   1154 	before the second thread has been started.  Mutexes and condvar addresses
   1155 	are stored in the two static lists and are replaced with actuall locks
   1156 	when threads are initalized.
   1157 	(_dbus_mutex_new_at_location): New method for creating a mutex and placing
   1158 	the location into the static list
   1159 	(_dbus_mutex_free_at_location): New method for removing a mutex location 
   1160 	from the static list and freeing the mutex
   1161 	(_dbus_condvar_new_at_location): New method for creating a conditional 
   1162 	variable and placing the location into the static list
   1163 	(_dbus_condvar_free_at_location): New method for removing a conditional
   1164 	variable location from the static list and freeing the conditional variable 
   1165 	(init_uninitialized_locks): Atomic method which goes through the static 
   1166 	lists of mutex and condvar location and updates them with actuall locks
   1167 	(init_global_locks): changed to init_locks
   1168 	
   1169 	* dbus/dbus-connection.c:
   1170 	(_dbus_connection_test_get_locks): New method for tests to check connections
   1171 	(_dbus_connection_new_for_transport): Use the new at_location mutex and
   1172 	condvar API
   1173 	(dbus_connection_allocate_data_slot): Pass in the global lock address
   1174 	to _dbus_data_slot_allocator_alloc
   1175 
   1176 	* dbus/dbus-dataslot.c:
   1177 	(_dbus_data_slot_allocator_alloc): Use the address of the mutex
   1178 	instead of the mutex itself
   1179 
   1180 	* dbus/dbus-message.c:
   1181 	(dbus_message_allocate_data_slot): Pass in the global lock address
   1182 	to _dbus_data_slot_allocator_alloc
   1183 
   1184 	* dbus/dbus-pending-call.c:
   1185 	(dbus_pending_call_allocate_data_slot): Pass in the global lock address
   1186 	to _dbus_data_slot_allocator_alloc
   1187 
   1188 	* dbus/dbus-server.c:
   1189 	(_dbus_server_init_base): Use the new at_location mutex API
   1190 	(dbus_server_allocate_data_slot): Pass in the global lock address
   1191 	to _dbus_data_slot_allocator_alloc
   1192 
   1193 	* test/name-test/test-threads-init.c: New test case for late thread
   1194 	initialization
   1195 
   1196 2006-08-14  John (J5) Palmieri  <johnp (a] redhat.com>
   1197 
   1198 	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
   1199 	Change _dbus_abort to _dbus_assert_not_reached because _dbus_abort
   1200 	causes compile problems when asserts are turned off
   1201 	Keeping _dbus_warn for printing out the message so even if
   1202 	asserts are turned off the user gets the messages that something is 
   1203 	wrong 
   1204 
   1205 2006-08-14  John (J5) Palmieri  <johnp (a] redhat.com>
   1206 
   1207 	Patches by Kjartan Maraas <kmaraas at gnome dot org>
   1208 
   1209 	* bus/services.c (bus_service_list_queued_owners):
   1210 	Add a pointer cast to fix compiler warning
   1211 
   1212 	* dbus/dbus-dataslot.c (_dbus_data_slot_list_get):
   1213 	return a NULL instead of FALSE since the return type
   1214 	is not expecting a boolean
   1215 
   1216 	* dbus/dbus-marshal-basic.c (_dbus_marshal_test):
   1217 	Remove unused variable
   1218 
   1219 	* dbus/dbus-marshal-recursive-util.c (node_new):
   1220 	return a NULL instead of FALSE since the return type
   1221 	is not expecting a boolean
   1222 
   1223 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
   1224 	Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
   1225 	because we are expecting a pointer not a boolean
   1226 
   1227 	* dbus/dbus-sysdeps-util.c (_dbus_get_tmpdir): 
   1228 	add void as the parameter so some compilers
   1229 	don't complain
   1230 
   1231 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket,
   1232 	  _dbus_transport_new_for_tcp_socket):
   1233 	Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
   1234 	because we are expecting a pointer not a boolean
   1235 
   1236 	* test/shell-test.c (test_command_line):
   1237 	cast the second argument to _dbus_list_append to avoid compiler
   1238 	warnings
   1239 
   1240 	* test/test-names.c (main): remove unused variable
   1241 
   1242 	* test/test-service.c (check_hello_from_self_reply):
   1243 	Initialize echo_message and echo_reply to NULL
   1244 	
   1245 	* test/test-shell-service.c (handle_echo):
   1246 	Remove unused variable and cast the third parameter passed to
   1247 	dbus_connection_get_object_path_data to avoid compiler warrnings
   1248 
   1249 	* test/name-test/test-names.c (clear_message_queue):
   1250 	Remove unused function
   1251 
   1252 	* test/name-test/test-pending-call-dispatch.c:
   1253 	Fix format string in printf
   1254 
   1255 
   1256 2006-08-14  John (J5) Palmieri  <johnp (a] redhat.com>
   1257 
   1258 	* dbus/dbus-bus.c:
   1259 	* test/name-test/test-names.c:
   1260 	Remove test method dbus_bus_connection_get_unique_name because 
   1261 	we already have public method dbus_bus_get_unique_name that 
   1262 	does the exact same thing
   1263 
   1264 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1265 
   1266 	* dbus/dbus-signature.c:
   1267 	fix typos in Julio's previous patch which cause make check to fail
   1268 
   1269 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1270 
   1271 	* dbus/dbus-address.c (_dbus_address_test): Revert leaking strcmp.  
   1272 	In any case it was wrong since this is a test checking to see if
   1273 	address parsing is correct.  There was no need to get the true
   1274 	tmp directory.  
   1275 
   1276 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1277 
   1278 	* dbus/dbus-macros.h: Revert the addition of stddef.h
   1279 	as we should not be adding it to library headers 
   1280 
   1281 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1282 
   1283 	* dbus/dbus-signature.c:
   1284 	Fix the unit tests so that they work if assertions are not enabled.
   1285 	(patch from Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
   1286 
   1287 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1288 
   1289 	* tools/run-with-tmp-session-bus.sh:
   1290 	* test/name-test/run-test.sh:
   1291 	Remove bashisms (patch from Julio M. Merino Vidal
   1292 	<jmmv at NetBSD dot org>)
   1293 
   1294 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1295 
   1296 	* configure.in: add a version (>= 2.6.0) check for libxml2
   1297 
   1298 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1299 
   1300 	* configure.in: make sure the compiler supports -Wfloat-equal
   1301 	
   1302 	* bus/dir-watch-dnotify.c: move functional code after 
   1303 	variable declerations (C99 fix)  (patches from Jens Granseuer
   1304 	<jensgr at gmx dot net>
   1305 
   1306 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1307 
   1308 	* dbus/dbus-macros.h:
   1309 	add #include <stddef.h> so that Sun compilers don't complain about
   1310 	the defining NULL
   1311 
   1312 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1313 
   1314 	* dbus/dbus-sysdeps.c:
   1315 	* dbus/dbus-address.c:
   1316 	* bus/activation.c:
   1317 	* test/shell-test.c:
   1318 	don't hardcode tmp directory (patch from Dave Meikle 
   1319 	<dmk at davemeikle dot co dot uk>)
   1320 
   1321 2006-08-09  John (J5) Palmieri  <johnp (a] redhat.com>
   1322 
   1323 	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
   1324 	Change an assert to a detailed warning and abort.  
   1325 	When allocator->lock != mutex it indicates that the user has failed
   1326 	to initalize threads before using the D-Bus library.  This warning
   1327 	helps the user identify the issue and fix their app.
   1328 
   1329 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1330 
   1331 	These are all patches from Kjartan Maraas <kmaraas at gnome dot org>
   1332 	with cleanups of bugs found from Coverity reports:
   1333 
   1334 	* dbus/dbus-sysdeps-util.c (_dbus_write_pid_file):
   1335 	close the file on error to avoid a leak
   1336 
   1337 	* bus/expirelist.c (bus_expire_list_test):
   1338 	Check for NULL on dbus_new0
   1339 
   1340 	* bus/activation.c (update_directory):
   1341 	remove dead code
   1342 
   1343 	* bus/config-parser.c (merge_service_context_hash, start_selinux_child):
   1344 	Fix some leaks
   1345 
   1346 	* bus/bus.c (process_config_every_time):
   1347 	Fixed a leak
   1348 
   1349 	* bus/desktop-file.c (parse_key_value):
   1350 	Fixed leak
   1351 
   1352 	* bus/selinux.c (bus_selinux_id_table_insert):
   1353 	Fixed leak
   1354 
   1355 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1356 
   1357 	* dbus/dbus-object-tree.c (_dbus_object_subtree_new):
   1358 	remove dead code
   1359 
   1360 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1361 
   1362 	* tools/run-with-tmp-session-bus.sh: use #!/bin/sh instead of
   1363 	#!/bin/bash
   1364 
   1365 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1366 
   1367 	* Doxyfile.in: fix the INPUT line so we can generate docs 
   1368 	when sourcedir != builddir (patch from Cygwin Ports maintainer
   1369 	<yselkowitz at users dot sourceforge dot net>
   1370 
   1371 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1372 
   1373 	* dbus/dbus-sysdeps.h:
   1374 	* dbus/dbus-sysdeps.c: 
   1375 	* dbus/dbus-string.c: 
   1376 	s/_dbus_printf_length/_dbus_printf_string_upper_bound to comform with
   1377 	GLib's function which does the same thing
   1378 
   1379 	* configure.in:
   1380 	* bus/Makefile.am:
   1381 	* bus/dir-watch-default.c:
   1382 	* bus/dir-watch-dnotify.c:
   1383 	* bus/dir-watch-kqueue.c:
   1384 	Add kqueue directory watching for freebsd and split the directory
   1385 	watching code into seperate files per method/arch
   1386 	(patches from Timothy Redaelli <drizzt at gufi dotorg>)
   1387 
   1388 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1389 
   1390 	* configure.in:
   1391 	* tools/Makefile.am:
   1392 	* tools/dbus-launch.c:
   1393 	* bus/Makefile.am:
   1394 	allow --with-dbus-daemondir switch to be used to make the
   1395 	daemon install to a seperate bindir like /usr/libexec
   1396 	(patch from Brian Cameron <brian dot cameron at sun dot com)
   1397 
   1398 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1399 
   1400 	* bus/Makefile.am (install-data-hook): removed the slash after 
   1401 	$(DESTDIR) so we don't get the double slash which does not work
   1402 	in windows (patch from Andras Porjesz 
   1403 	<andras dot porjesz at siemens dot com>)
   1404 
   1405 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1406 
   1407 	* dbus/dbus-sysdeps.h:
   1408 	* dbus/dbus-sysdeps.c: 
   1409 	  add _dbus_printf_length (patch from Peter Kmmel 
   1410 	  <syntheticpp at gmx dot net>)
   1411 
   1412 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1413 
   1414 	* dbus/dbus-internals.c: unistd.h is not used 
   1415 	(_dbus_verbose_real): only enable verbose printing 
   1416 	if DBUS_VERBOSE environment var is set to '1'
   1417 	(patch from Peter Kmmel <syntheticpp at gmx dot net>)
   1418 
   1419 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1420 
   1421 	* configure.in: add a GCC flag check for -Wdeclaration-after-statement
   1422 	so we still compile on older gcc (patch from Frederic Peters 
   1423 	<fpeters at 0d dot be>
   1424 
   1425 2006-08-04  Havoc Pennington  <hp (a] redhat.com>
   1426 
   1427 	* configure.in: add -Wdeclaration-after-statement
   1428 
   1429 	* dbus/dbus-connection.c: change all the pending call stuff to
   1430 	reflect the fact that pending call operations use the connection
   1431 	lock
   1432 
   1433 	* dbus/dbus-pending-call.c: add locking here
   1434 
   1435 	* dbus/dbus-errors.c (struct DBusRealError): don't make the name
   1436 	field const consistent with how message field is done
   1437 
   1438 2006-08-03  John (J5) Palmieri  <johnp (a] redhat.com>
   1439 
   1440 	* s/D-BUS/D-Bus/g
   1441 
   1442 2006-08-03  John (J5) Palmieri  <johnp (a] redhat.com>
   1443 
   1444 	* dbus/dbus-object-tree.c: Patch by Benjamin Otte 
   1445 	<in7y118 at public.uni-hamburg dot de> - fix invalid
   1446 	read/write reported by valgrind
   1447 
   1448 2006-07-24  John (J5) Palmieri  <johnp (a] redhat.com>
   1449 
   1450 	* Released 0.91
   1451 
   1452 2006-07-22  John (J5) Palmieri  <johnp (a] redhat.com>
   1453 
   1454 	* dbus/dbus-connection.c:
   1455 	(_dbus_connection_attach_pending_call_unlocked):
   1456 	(connection_timeout_and_complete_all_pending_calls_unlocked):
   1457 	Make sure we set timeout_added on pending calls to FALSE when
   1458 	we remove the timeout from the connection
   1459 
   1460 2006-07-21  John (J5) Palmieri  <johnp (a] redhat.com>
   1461 
   1462 	* Removed some extra bindings stuff lingering around (thanks timo)
   1463 	* dbus-pendingcall.c (_dbus_pending_call_new): 
   1464 	s/dbus_connection_ref/_dbus_connection_ref_unlocked fixes assertion
   1465 	when we tried to take a lock on an already locked connection
   1466 
   1467 2006-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   1468 
   1469 	* Released 0.90
   1470 
   1471 2006-07-17  Havoc Pennington  <hp (a] redhat.com>
   1472 
   1473 	* dbus/dbus-marshal-basic.c (_dbus_type_to_string): support 64-bit
   1474 	ints, reported by Owen Taylor
   1475 
   1476 2006-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   1477 
   1478 	* doc/TODO:
   1479 	* dbus/dbus-bus.c:
   1480 	* dbus-errors.c:
   1481 	* dbus/dbus-marshal-validate.c:
   1482 	  Removed TODO items which were fixed or are no longer relevent
   1483 
   1484 2006-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   1485 
   1486 	* dbus-qt4-1.pc.in, dbus-sharp.pc.in:
   1487 	Remove stray files from the stripped bindings
   1488 
   1489 2006-07-16  Havoc Pennington  <hp (a] redhat.com>
   1490 
   1491 	* dbus/dbus-pending-call.c (_dbus_pending_call_set_timeout_error):
   1492 	Improve the error message on reply timeout
   1493 
   1494 2006-07-14  John (J5) Palmieri  <johnp (a] redhat.com>
   1495 
   1496 	* Remove all bindings
   1497 
   1498 2006-07-13  John (J5) Palmieri  <johnp (a] redhat.com>
   1499 
   1500 	* dbus-connection.c (dbus_connection_send_with_reply): return TRUE
   1501 	and set pending_reply out arg to NULL is connection is disconnected
   1502 	(connection_timeout_and_complete_all_pending_calls_unlocked): New
   1503 	static method for cleaning up pending calls on disconnect
   1504 	(_dbus_connection_get_dispatch_status_unlocked): If we have pending 
   1505 	calls queued timeouts on disconnect 
   1506 
   1507 	 * dbus/dbus-pending-call.c (_dbus_pending_call_set_connection):
   1508 	Remove 
   1509 
   1510 2006-07-13  Carlos Garcia Campos  <carlosgc (a] gnome.org>
   1511 
   1512 	* bus/activation.[ch] (bus_activation_list_services): new function to 
   1513 	get the list of services that can be activated
   1514 
   1515 	* bus/dispatch.c: test coverage for the new bus method
   1516 	ListActivatableNames
   1517 
   1518 	* bus/driver.c: new bus method ListActivatableNames to get the list of
   1519 	services that can be activated
   1520 
   1521 	* doc/dbus-specification.xml: ListActivatableNames method documentation
   1522 
   1523 2006-07-12  John (J5) Palmieri  <johnp (a] redhat.com>
   1524 	* dbus/Makefile.am: add dbus-pending-call-internal.h to the list of
   1525 	source files
   1526 
   1527 2006-07-12  John (J5) Palmieri  <johnp (a] redhat.com>
   1528 	* dbus/dbus-message-factory.c:
   1529 	Fix index into an array (patch by Peter Kmmel <syntheticpp at gmx.net>)
   1530 
   1531 2006-07-12  John (J5) Palmieri  <johnp (a] redhat.com>
   1532 	* dbus/dbus-connection-internal.h:
   1533 	* dbus/dbus-connection.c:
   1534 	* file dbus/dbus-pending-call.c:
   1535 	* dbus/dbus-pending-call.h:
   1536 	Make DBusPendingCall an opaque type even to D-Bus internals
   1537 
   1538 2006-07-07  John (J5) Palmieri  <johnp (a] redhat.com>
   1539 
   1540 	* dbus/dbus-connection.h: remove connection_disconnect and replace with
   1541 	connection_close
   1542 
   1543 	* dbus/dbus-connection.c: include dbus-bus.h
   1544 	(_dbus_connection_read_write_dispatch): make static
   1545 
   1546 2006-07-07  John (J5) Palmieri  <johnp (a] redhat.com>
   1547 
   1548 	* dbus/dbus-connection.c (dbus_connection_close): removed deprecated
   1549 	function
   1550 	(dbus_connection_dispatch): On disconnect unref any shared connections
   1551 
   1552 	* dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): new function
   1553 	for cleaning up shared connections on disconnect
   1554 	(internal_bus_get): get a hard refrence to shared connections when
   1555 	they are created
   1556 	
   1557 	* doc/TODO: Remove items which are no longer relevent or have been fixed
   1558 	Split 1.0 todo items with a 0.90 freeze todo list
   1559  
   1560 2006-06-14  Ross Burton  <ross (a] openedhand.com>
   1561 
   1562 	* glib/dbus-gobject.c:
   1563 	Free a leaking GArray (surely not!) in dbus_g_method_return.
   1564 
   1565 2006-06-14  Ross Burton  <ross (a] openedhand.com>
   1566 
   1567 	* tools/Makefile.am:
   1568 	* tools/dbus-monitor.c:
   1569 	Don't use the GLib bindings in dbus-monitor (patch from Ralf
   1570 	Habacker).
   1571 	
   1572 2006-06-14  Ross Burton  <ross (a] openedhand.com>
   1573 
   1574 	* tools/dbus-print-message.c:
   1575 	Also print the object path when outputting signals or method calls.
   1576 
   1577 2006-06-13  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1578 
   1579 	* qt/src/Makefile.am: install the qdbus.h header.
   1580 	This allows people to actually use the installed code.
   1581 
   1582 2006-06-12  Ross Burton  <ross (a] openedhand.com>
   1583 
   1584 	* glib/dbus-gproxy.c:
   1585 	Don't leak a GArray when firing signals (thank Rob Taylor for review).
   1586 
   1587 2006-06-12  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1588 
   1589 	* Released 0.62
   1590 
   1591 2006-06-12  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1592 
   1593 	* dbus/dbus-arch-deps.h.in: Remove spurious semi-colons that
   1594         break pedantic builds. Closes bug 6043 (patch approved by
   1595         Havoc back in February).
   1596 
   1597 2006-06-12  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1598 
   1599 	* qt/src/qdbusintegrator.cpp: Fix bug in parsing async methods
   1600         that took a QDBusMessage parameter.
   1601 	* qt/src/qdbusbus.h: Add a default flag for RequestName.
   1602 	* qt/tools/dbus.cpp: Don't use automatic call because we might
   1603         be calling an async method: request a reply.
   1604 
   1605 2006-06-11  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1606 
   1607 	* test/qt/*: Update the testcases, including testing the new
   1608         functionality of sending null QByteArray and QString over the
   1609         bus. Add new headertest test and restore the old
   1610         qdbusxmlparser test.
   1611 
   1612 2006-06-11  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1613 
   1614 	* qt/tools/dbuscpp2xml.cpp: Compile on Windows.
   1615 	* qt/tools/dbusidl2cpp.cpp: Add missing newline.
   1616 
   1617 	* qt/examples/Makefile.am:
   1618 	* qt/examples/chat.h: Use UI-generated files with the ui_*.h
   1619 	form.
   1620 
   1621 	* qt/src/qdbusmarshall.cpp: Allow sending of QString() and
   1622 	QByteArray() (nulls) over the bus.
   1623 	* qt/src/qdbusabstractinterface.cpp: Use the correct variable,
   1624 	the one that has the signature suffix stripped.
   1625 	* qt/src/qdbusreply.h: Make some methods const.
   1626 
   1627 2006-06-09  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1628 
   1629 	Patch from Timo Hoenig <thoenig (a] suse.de>.
   1630 
   1631 	* qt/dbus/Makefile.am: New file.  Fix "make dist", add all headers
   1632 	required during build to EXTRA_DIST.
   1633 	* qt/src/Makefile.am: Fix "make dist", add 'qdbus.h' to EXTRA_DIST.
   1634 	* qt/Makefile.am: Fix "make dist", add 'dbus' to DIST_SUBDIRS.
   1635 	* configure.in: Fix "make dist", take care that the Makefile for
   1636 	qt/dbus is being generated.
   1637 
   1638 2006-06-07  John (J5) Palmieri  <johnp (a] redhat.com>
   1639 
   1640 	* bus/bus.c: Fix eavesdropping on method calls
   1641 
   1642 2006-06-07  John (J5) Palmieri  <johnp (a] redhat.com>
   1643 
   1644 	* configure.in:
   1645 	* dbus/dbus-userdb-util.c:
   1646 	Add Solaris console owner patch from Artem Kachitchkine
   1647 
   1648 2006-06-07  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1649 
   1650 	* qt/Makfile.am:
   1651 	* qt/src/Makefile.am: Fix the EXTRA_DIST after the
   1652 	reorganisation. Thanks to Timo Hoenig for pointing this out.
   1653 
   1654 2006-06-06  Robert McQueen  <robot101 (a] debian.org>
   1655 
   1656 	* glib/dbus-gtype-specialized.c: Fix obvious leak of GArray in every
   1657 	  call to dbus_g_type_get_struct.
   1658 
   1659 2006-06-06  Robert McQueen  <robot101 (a] debian.org>
   1660 
   1661 	* glib/dbus-gvalue-utils.c: Fix the failing test where static string
   1662 	  pointers were put into a GPtrArray-based specialised collection, and
   1663 	  then freed along with the array. GValues which you add into
   1664 	  collections or maps which have the NOCOPY flag set are assumed to not
   1665 	  belong to the caller, so rather than the existing pointer-stealing
   1666 	  semantics, they are copied instead. Given that the main consumers of
   1667 	  this abstraction are the bindings themselves, I don't think this is
   1668 	  too bad, but others should watch their choice of take vs set_static.
   1669 
   1670 2006-06-06  Robert McQueen  <robot101 (a] debian.org>
   1671 
   1672 	* glib/dbus-gvalue-utils.c: Spotted a warning about the return value
   1673 	  of g_slist_prepend not being used. Fixed copying of slist-based
   1674 	  specialised collections, then wrote a test case and found that it was
   1675 	  all broken. Went on to fix iterating and appending too. Good thing
   1676 	  nobody uses this code yet.
   1677 
   1678 2006-06-06  Robert McQueen  <robot101 (a] debian.org>
   1679 
   1680 	* glib/dbus-gvalue-utils.c: Remove duplicated code by having all of
   1681 	  the iterators use gvalue_take_ptrarray_value (the GValues themselves
   1682 	  are discarded without unsetting, so it makes no difference whether
   1683 	  we take or set_static). Remove cases for G_TYPE_POINTER because
   1684 	  there really is nothing useful we can do with them in our
   1685 	  specialised types - we *need* boxed copy/free functions at the very
   1686 	  least.
   1687 
   1688 2006-06-05  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1689 
   1690 	* qt/dbus: Add directory. I had forgotten to add this
   1691 	yesterday after the move...
   1692 
   1693 	* qt/examples/Makefile.am:
   1694 	* qt/examples/dbus.cpp: Moved to qt/tools/dbus.cpp.
   1695 
   1696 	* qt/tools/Makefile.am:
   1697 	* qt/tools/dbus.cpp: Moved from qt/examples/dbus.cpp.
   1698 	Added feature to get and set properties.
   1699 	Added validation of service, object path and interface names.
   1700 
   1701 	* qt/tools/dbusidl2cpp.cpp: Two new features:
   1702 	1) Allow specifying both the header and the source file names,
   1703 	by separating them with a colon.
   1704 	2) Don't write an interface output if the -p switch wasn't
   1705 	given, but the -a was.
   1706 
   1707 	* qt/src/*: Fix usage of Iterators and ConstIterators.
   1708 	Fix shadowing of variables by other variables (-Wshadow).
   1709 	Fix keyword-cleanliness in headers.
   1710 	Fix ASCII-cast (QLatin1String, QLatin1Char).
   1711 	Fix validation of member names.
   1712 	Add extra checking of introspection data during XML parsing.
   1713 	Various bug fixes.
   1714 
   1715 2006-06-04  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1716 
   1717 	* dbus/Makefile.am:
   1718 	* dbus/qdbus.h: Remove unnecessary file. This is mirrored into
   1719         qt/dbus/qdbus.h now.
   1720 
   1721 2006-06-04  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1722 
   1723 	* configure.in: Make --disable-qt actually do
   1724           something. Patch inspired by Zack Rusin.
   1725 
   1726 2006-06-04  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1727 
   1728 	* qt/: Update to Subversion r548032.
   1729 	This includes a big reorganisation of the files inside the
   1730 	subdir.
   1731 
   1732 2006-05-30  Sjoerd Simons  <sjoerd (a] luon.net>
   1733 
   1734 	* dbus/dbus-sysdeps.c: Make tcp socket connection error somewhat more
   1735 	clear:  
   1736 	"Failed to connect to socket <host>:<port> <error>" instead of
   1737 	"Failed to connect to socket <host>: <error>:<port>"
   1738 
   1739 	* dbus/dbus-transport-unix.c: Fix crash when no host option is given
   1740 	for a tcp transport. 
   1741 
   1742 2006-05-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1743 
   1744 	* qt/*: Update the QtDBus bindings up to revision 546310 in
   1745         Subversion.
   1746 	This adds the dbuscpp2xml tool, that parses a C++ header and
   1747         outputs a D-BUS Introspection XML.
   1748 
   1749 2006-05-21  Havoc Pennington  <hp (a] redhat.com>
   1750 
   1751 	* glib/dbus-gproxy.c: Put in a pile of assertions that the proxy name
   1752 	is not NULL when it shouldn't be. Also a couple of possible fixes
   1753 	for #4637 though I don't understand why the bug happens, to be
   1754 	honest... also the object constructor has an assert name != NULL
   1755 	and the name is only currently NULL for peer-to-peer proxies that 
   1756 	I don't think anyone uses? So it should be asserting.
   1757 	Anyway, for now at least see if we get an earlier assertion failure.
   1758 
   1759 	* glib/dbus-gvalue-utils.c: Put in a couple of assertions for
   1760 	apparently broken code to be sure the tests fail and someone 
   1761 	will fix them...
   1762 
   1763 2006-05-07  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1764 
   1765 	* qt/qdbusmarshall.cpp: Fix a problem of demarshalling lists
   1766         and arrays when they had a single element: has_next returns
   1767         false, even before you read the element. So, instead, check
   1768         the array length.
   1769 
   1770 2006-05-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1771 
   1772 	* qt/qdbusmessage.cpp:
   1773 	* qt/qdbustypehelper_p.h:
   1774 	* qt/qdbusintegrator.cpp: gcc 3.4 doesn't like Q_FOREACH when
   1775 	the list is a const-reference
   1776 
   1777 2006-05-03  John (J5) Palmieri  <johnp (a] redhat.com>
   1778 
   1779 	* Adding old doc patch that never got applied
   1780 	
   1781 	* dbus/bus.c (dbus_bus_add_match): Add documentation
   1782 
   1783 	* doc/dbus-specification.xml: Add documentation for the match rules
   1784 	  and the AddMatch and RemoveMatch methods
   1785 
   1786 2006-05-02  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1787 
   1788 	* qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
   1789         call (r535506)
   1790 
   1791 	* qt/dbusidl2cpp.cpp:
   1792 	* qt/qdbusabstractadaptor.cpp:
   1793 	* qt/qdbusabstractadaptor.h: Make QDBusAdaptorConnector be a
   1794         sibling of the QDBusAbstractAdaptor objects instead of the
   1795         parent. (r535848)
   1796 
   1797 	* qt/dbusidl2cpp.cpp:
   1798 	* qt/qdbusabstractinterface.cpp:
   1799 	* qt/qdbusabstractinterface.h:
   1800 	* qt/qdbusabstractinterface_p.h:
   1801 	* qt/qdbusinterface.cpp: Make properties in interfaces
   1802         actually work. The code that was generated would not compile,
   1803         due to moc calls to functions that did not exist. They now
   1804         shall. (r536571)
   1805 
   1806 2006-04-30  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1807 
   1808 	* Makefile.am:
   1809 	* configure.in:
   1810 	* dbus-qt4-1.pc.in: Add a pkg-config file for libdbus-qt4-1.
   1811 	Thanks to Brad Hards for providing the patch
   1812 
   1813 2006-04-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1814 
   1815 	* qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
   1816         call. (r535506)
   1817 
   1818 2006-04-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1819 
   1820 	* qt/examples/dbus.cpp: Enhance error messages and use
   1821         QDBusInterfacePtr.
   1822 
   1823 2006-04-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1824 
   1825 	* qt/qdbusinterface.h: Rename QDBusRef to QDBusInterfacePtr
   1826         and disable the copy operators. (r533772, r534746)
   1827 
   1828 	* qt/qdbuserror.h: Remove the automatic cast to bool. (r533929)
   1829 
   1830 	* qt/qdbusabstractinterface.cpp:
   1831 	* qt/qdbusabstractinterface.h: Change the default call mode to
   1832         not use the event loop. Add convenience call() methods that
   1833         take a CallMode parameter. (r534042)
   1834 
   1835 	* qt/qdbusconnection.h: Change the default call mode to not
   1836         use the event loop. (r534042)
   1837 
   1838 	* qt/qdbusinterface.cpp:
   1839 	* qt/qdbusinterface.h: Add a method to tell us if the
   1840 	interface is valid (since we don't return a null pointer
   1841 	anymore) (r534099)
   1842 
   1843 	* qt/qdbusinterface_p.h: Don't crash if metaObject is 0
   1844         (r534101)
   1845 
   1846 	* qt/qdbusinternalfilters.cpp: Decouple the introspection
   1847         function in two so taht we get the chance to introspect
   1848         without having a QDBusMessage (r534102)
   1849 
   1850 	* qt/qdbusbus.h:
   1851 	* qt/qdbusconnection.cpp:
   1852 	* qt/qdbusconnection_p.h:
   1853 	* qt/qdbusintegrator.cpp: Keep a list of our own names to
   1854         avoid a round-trip to the server when attempting to introspect
   1855         one of our own objects. Also make sure the filter functions
   1856         match the empty interface as well. (r534108)
   1857 	Don't keep the connection names. Instead, trust the unique
   1858         connection name (r534111)
   1859 	Remove event loop usage (r534112)
   1860 
   1861 2006-04-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1862 
   1863 	* qt/qdbusintegrator.cpp: Fix assertion failure spotted by
   1864 	Brad Hards.
   1865 
   1866 2006-04-28  Robert McQueen  <robot101 (a] debian.org>
   1867 
   1868 	* glib/dbus-gproxy.c: Fix properties so that they can be given in
   1869 	any order, making it easier for people who inherit from this
   1870 	object.
   1871 
   1872 2006-04-28  Robert McQueen  <robot101 (a] debian.org>
   1873 
   1874 	* glib/dbus-gvalue-utils.c: Patch from Jakub Stachowski to fix leaking
   1875 	of memory from within pointer arrays and lists. Fixes bug #6300.
   1876 
   1877 2006-04-28  Robert McQueen  <robot101 (a] debian.org>
   1878 
   1879 	* glib/dbus-gvalue.c: Patch from Jakub Stachowski to fix a leak in
   1880 	generating struct signatures. Fixes bug #6083.
   1881 
   1882 2006-04-28  Robert McQueen  <robot101 (a] debian.org>
   1883 
   1884 	* qt/Makefile.am: Tweak CLEANFILES from qdbusconnection.moc
   1885 	to qdbusconnection_p.moc.
   1886 
   1887 2006-04-24 John (J5) Palmieri <johnp (a] redhat.com>
   1888 
   1889 	* README, INSTALL: Doc fixes
   1890 	Patch from Brad Hards <bradh at frogmouth.net>
   1891 
   1892 2006-04-23  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1893 
   1894 	* qt/examples/dbus.cpp: Use the new merged-interface mode for
   1895 	the dynamic meta object. No need to guess which interface to
   1896 	call.
   1897 
   1898 2006-04-23  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1899 
   1900 	* qt/qdbusconnection_p.h:
   1901 	* qt/qdbusmetaobject.cpp:
   1902 	* qt/qdbusmetaobject_p.h:
   1903 	* qt/qdbusintegrator.cpp: Use the new merged-interface mode
   1904 	for the dynamic meta object. No need to guess which
   1905 	interface to call.
   1906 	* qt/qdbusabstractinterface_p.h:
   1907 	* qt/qdbusconnection.cpp:
   1908 	* qt/qdbusintegrator.cpp:
   1909 	* qt/qdbusinterface.cpp:
   1910 	* qt/qdbusinterface.h: Make findInterface always return a non-null pointer.
   1911 	Add a QDBusRef that looks and behaves like DCOPRef.
   1912 
   1913 2006-04-23  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1914 
   1915 	* dbus/dbus-connection.c: Interfaces are optional in method
   1916         calls, so don't give up if the interface parameter is NULL.
   1917 	Patch reviewed by Havoc Pennington.
   1918 
   1919 2006-04-23  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1920 
   1921 	* qt/qdbusreply.h: Add default constructor and operator=
   1922           (r532625)
   1923 	* qt/qdbustypehelper_p.h: Use a clean namespace: no foreach()
   1924           in public headers (r532952)
   1925 	* qt/qdbusabstractinterface.cpp:
   1926 	* qt/qdbusabstractinterface_p.h: Add the AutoDetect mode and
   1927           make it the default (r532951)
   1928 
   1929 2006-04-19  John (J5) Palmieri  <johnp (a] redhat.com>
   1930 
   1931 	* dbus/dbus-connection.c: Fix asserts
   1932 	Patch from Tim Moloney <t.moloney at verizon.net>
   1933 
   1934 2006-04-19  John (J5) Palmieri  <johnp (a] redhat.com>
   1935 
   1936 	* mono/Connection.cs, mono/Message.cs: Check Target type
   1937 	Patch from Aaron Bockover (abockover at novell.com)
   1938 
   1939 2006-04-13  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1940 
   1941 	* INSTALL: fine-tune the requirements for the Qt4 binding.
   1942 
   1943 2006-04-16  Daniel P. Berrange  <dan (a] berrange.com>
   1944 
   1945 	* tools/dbus-print-message.c: Added support for printing of all 
   1946 	  remaining data types. Fixed logic for indentation of compound
   1947 	  data types.
   1948 	
   1949 2006-04-15  Daniel P. Berrange  <dan (a] berrange.com>
   1950 
   1951 	* INSTALL: fill out content of file providing DBus specific
   1952 	  build installations, followed by generic Auto* INSTALL file
   1953 	  content
   1954 	
   1955 2006-04-13  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1956 
   1957 	* qt/qdbusintegrator.cpp: Work around g++ 3.3 bug.
   1958 	  Patch by Stefan Eilers. (r529537)
   1959 
   1960 2006-04-13  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1961 
   1962 	* qt/qdbusinternalfilters.cpp: Don't show the parent's
   1963   	  contents (r528208)
   1964 
   1965 2006-04-10  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1966 
   1967 	* qt/Makefile.am: fix the dependency for
   1968           qdbusconnection_p.moc. It's included in qdbusintegrator.cpp,
   1969 	  not in qdbusconnection.cpp.
   1970 	  Thanks to Jakub Stachowski <stachowski (a] hypair.net> for
   1971           spotting this.
   1972 
   1973 2006-04-10  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1974 
   1975 	* qt/examples/listnames.cpp:
   1976 	* qt/examples/Makefile.am: Three ways to list the names on the
   1977 	  bus.
   1978 
   1979 2006-04-10  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1980 
   1981 	* test/qt/tst_hal.cpp: Remove the waiting, since it's not
   1982           needed anymore. Requires Qt 4.1.3 to work properly. (r528148)
   1983 
   1984 2006-04-10  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1985 
   1986 	Merge from Subversion:
   1987 	* qt/qt-dbus.qdocconf: Update Trolltech's webpage link to
   1988 	  something that exists (r526315)
   1989 	* qt/qdbusinternalfilters.cpp: Correctly detect non-scriptable
   1990 	  slots/signals (r526316)
   1991 	* qt/qdbusinternalfilters.cpp: Fix the setProperty call and
   1992 	  also return an unknown-method error if the parameters don't
   1993 	  match for org.freedesktop.DBus.Properties. (r526842)
   1994 	* qt/examples/dbus.cpp: Allow passing of QVariants (r526843)
   1995 	* qt/qdbusintegrator.cpp: Restore the proper order of
   1996 	  delivery: don't make method returns be delivered on priority
   1997 	  (r528150)
   1998 
   1999 2006-03-28  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2000 
   2001 	* configure.in qt/Makefile.am: add qt/examples
   2002 	* qt/examples: Add QtDBus example programs:
   2003 	  - hello: Hello, World
   2004 	  - ping: Simple method-calling program
   2005 	  - pong: Simple object-exporting program (not using adaptors)
   2006 	  - complexping: Interactive method-calling program 
   2007 		(also gets and sets properties).
   2008 	  - complexpong: Sample program exporting methods, signals and
   2009 		properties, using adaptors.
   2010 	  - dbus: Simple implementation of a generic method-calling
   2011 		program, similar to 'dbus-send', but with semantics
   2012 		similar to 'dcop'.
   2013 	  - chat: Simplistic chat program, implemented using signals
   2014 		and the system bus. Looks like IRC.
   2015 
   2016 2006-03-28  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2017 
   2018 	* configure.in: Detect QtGui (necessary for one of the
   2019           example programs). Note: this increases the minimum required
   2020           version of Qt to 4.1.3.
   2021 
   2022 2006-03-28  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2023 
   2024 	* test/qt/*: Sync with KDE Subversion revision 523647.
   2025         Update the testcases to the new API. Remove testcases for
   2026         classes that are no longer public or have been removed.
   2027 
   2028 2006-03-28  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2029 
   2030 	* qt/*: 
   2031 	* dbus/qdbus.h: Sync with KDE Subversion revision
   2032 	523647. Hopefully, this will be the last of the
   2033 	source-incompatible changes. Documentation has been improved;
   2034 	support for QList<basic-types> has been added; QDBusObject is
   2035 	gone; QDBus(Abstract)Interface is now a QObject with
   2036 	auto-generated meta-object; QDBusIntrospection is marked
   2037 	private, since QMetaObject can be used now; lots of bugfixes.
   2038 
   2039 2006-03-16  John (J5) Palmieri  <johnp (a] redhat.com>
   2040 
   2041 	Patch from Milosz Derezynski <internalerror at gmail.com>
   2042 	
   2043 	* configure.in:
   2044 	Output the service directory in the configure summary
   2045 
   2046 	* dbus-1.pc.in:
   2047 	Add session_bus_services_dir
   2048 
   2049 2006-03-10  Ross Burton  <ross (a] openedhand.com>
   2050 
   2051 	* tools/dbus-print-message.c:
   2052 	Add support for object paths and signatures.
   2053 
   2054 2006-03-06  Sjoerd Simons <sjoerd (a] luon.net>
   2055 
   2056 	* bus/bus.c: (bus_context_reload_config): Flush the user database cache on
   2057 	config reload.
   2058 	* bus/dbus-daemon.1.in: Also note that SIGHUP flushes the user/group
   2059 	information caches
   2060 	* dbus/dbus-hash.c: (_dbus_hash_table_remove_all): 
   2061 	* dbus/dbus-hash.h: Add function to remove all entries from a hash table
   2062 	* dbus/dbus-userdb.c: (_dbus_user_database_flush):
   2063 	* dbus/dbus-userdb.h: Add function to flush all user/group information
   2064 	caches.
   2065 
   2066 2006-03-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2067 
   2068 	* qt/dbusidl2cpp.cpp:
   2069 	* qt/Makefile.am: add the dbusidl2cpp tool, the replacement
   2070 	for dcopidl2cpp, found in the KDE installations (or the more
   2071 	modern kalyptus): generate Qt4 C++ code for the input XML
   2072 	introspection. Currently no IDL parsing.
   2073 
   2074 2006-03-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2075 
   2076 	* test/qt/*: Update the self-tests.
   2077 
   2078 2006-03-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2079 
   2080 	* qt/*: 
   2081 	* dbus/qdbus.h: Sync with KDE Subversion revision 516237. This
   2082 	represents the first feature-complete version of the Qt4
   2083 	bindings since I took ove maintainership.
   2084 
   2085 2006-03-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2086 
   2087 	* qt/Doxyfile: Adding a Doxyfile for the Qt4 bindings
   2088         dir. This is C++, so we can't use the DBus ones.
   2089 
   2090 2006-03-02  John (J5) Palmieri  <johnp (a] redhat.com>
   2091 
   2092 	* python/dbus_bindings.pyx: Remove refrence to sys/cdefs.h
   2093 	(Patch from Artem Kachitchkine <Artem.Kachitchkin at Sun.COM>)
   2094 
   2095 2006-03-02  John (J5) Palmieri  <johnp (a] redhat.com>
   2096 
   2097 	* dbus/dbus-connection.c: 
   2098 	(_dbus_connection_block_pending_call):
   2099 	Check to see if our data has already been read off the connection
   2100 	by another blocking pending call before we block in poll.
   2101 	(check_for_reply_and_update_dispatch_unlocked):
   2102 	Code taken from _dbus_connection_block_pending_call - checks for
   2103 	an already read reply and updates the dispatch if there is one.
   2104 
   2105 	* test/name-test/test-pending-call-dispatch.c:
   2106 	New test for making sure we don't get stuck polling a 
   2107 	dbus connection which has no data on the socket when
   2108 	blocking out of order on two or more pending calls.
   2109 
   2110 2006-02-28  Thiago Macieira <thiago.macieira (a] trolltech.com>
   2111 
   2112 	* qt/Makefile.am: Patch by Sjoerd Simons. More .moc issues:
   2113         make/automake don't detect that we're talking about the same
   2114         .lo file if I specify the full path to the source files.
   2115 
   2116 2006-02-26  Havoc Pennington  <hp (a] redhat.com>
   2117 
   2118 	* bus/dbus-daemon.1.in: improve the language in a couple spots I noticed
   2119 
   2120 	* dbus/dbus-bus.c (internal_bus_get): in the error message if the
   2121 	session bus variable is unset, suggest "man dbus-launch" and "man
   2122 	dbus-daemon" to figure out how to fix the problem
   2123 
   2124 2006-02-25  Havoc Pennington  <hp (a] redhat.com>
   2125 
   2126 	* glib/dbus-glib-tool.c (usage): fix up the usage message, someone
   2127 	should make this thing use the new glib options parser
   2128 
   2129 2006-02-25  Thiago Macieira <thiago.macieira (a] trolltech.com>
   2130 
   2131 	* qt/Makefile.am: Patch by Sjoerd Simons. Fix the path to the
   2132         .lo files taking moc sources.
   2133 
   2134 2006-02-25  Havoc Pennington  <hp (a] redhat.com>
   2135 
   2136 	* dbus/dbus.h, dbus/Makefile.am: add dbus-signature.h to dbus.h
   2137 	and install it as a public header
   2138 
   2139 2006-02-24  John (J5) Palmieri  <johnp (a] redhat.com>
   2140 
   2141 	* Released 0.61
   2142 
   2143 2006-02-24  John (J5) Palmieri  <johnp (a] redhat.com>
   2144 	
   2145 	* proxies.py: Fix the callchain
   2146 
   2147 2006-02-24  John (J5) Palmieri <johnp (a] redhat.com>
   2148 	
   2149 	* patch from Sjoerd Simons <sjoerd at debian.org>:	
   2150 
   2151 	* dbus/dbus-sysdeps-util.c (_dbus_group_info_free): Moved to 
   2152 	dbus/dbus-sysdeps.c
   2153 
   2154 	* dbus/dbus-userdb.c (_dbus_group_info_free_allocated): Don't
   2155 	call _dbus_group_info_free_allocated which causes infinite loop,
   2156 	correctly call _dbus_group_info_free
   2157 
   2158 2006-02-20  Thiago Macieira <thiago.macieira (a] trolltech.com>
   2159 
   2160 	* qt/qdbusinterface_p.h:
   2161 	* qt/qdbusinterface.cpp: Use the standard
   2162 	org.freedesktop.DBus.Method.NoReply annotation for the "async"
   2163 	calls instead of creating one for us.
   2164 
   2165 	* qt/qdbusconnection_p.h:
   2166 	* qt/qdbusintegrator.cpp: Remove debugging code.
   2167 
   2168 	* qt/qdbusintegrator.cpp:
   2169 	* qt/qdbusmessage.cpp:
   2170 	* qt/qdbusmessage_p.h:
   2171 	* qt/qdbusmessage.h: Change the behaviour of automatic
   2172 	reply-sending: now a reply is always sent, unless the caller
   2173 	didn't request one or if the user slot has already sent one.
   2174 
   2175 2006-02-16  Robert McQueen  <robot101 (a] debian.org>
   2176 
   2177 	* configure.in: Patch from Debian packages by Sjoerd Simons
   2178 	<sjoerd (a] debian.org> to add --with-qt-moc and --with-qt3-moc
   2179 	arguments so it's possible to build both bindings in the
   2180 	same tree.
   2181 
   2182 	* qt/Makefile.am: Fix truncated value so that make dist works.
   2183 
   2184 2006-02-16  Robert McQueen  <robot101 (a] debian.org>
   2185 
   2186 	* acinclude.m4, configure.in: Patch from Brad Hards
   2187 	<bradh (a] frogmouth.net> to avoid warnings from autoconf 1.9 by
   2188 	improving quoting, re-ordering a few checks, and a few other
   2189 	aesthetic tidy-ups.
   2190 
   2191 2006-02-16  Robert McQueen  <robot101 (a] debian.org>
   2192 
   2193 	* dbus/dbus-message.c (dbus_message_iter_get_fixed_array):
   2194 	Patch from Rob Taylor <rob.taylor (a] collabora.co.uk> to correct a bogus
   2195 	assertion that the next element to read from the iter is fixed in
   2196 	size. This is not the case when you are at the end of the iter,
   2197 	because the next element type is INVALID.
   2198 
   2199 	* dbus/dbus-string.c (_dbus_string_init_const_len): Correct a
   2200 	a bogus assert which means that you may not initialise a 0-length
   2201 	string unless you provide a non-NULL pointer. This prevented
   2202 	you from marshalling messages containing zero-length arrays in
   2203 	some cases.
   2204 
   2205 	* glib/dbus-gvalue.c (demarshal_collection_array): Another patch
   2206 	from Rob to correct bogus asserts when trying to demarshal an
   2207 	array and get_fixed_array got you 0 elements. Append nothing to
   2208 	the GArray in this case.
   2209 
   2210 	* test/glib/test-dbus-glib.c: Add a test case for round-tripping
   2211 	an empty array via the glib bindings. Without all of the above
   2212 	patches, this new test fails.
   2213 
   2214 2006-02-16  Robert McQueen  <robot101 (a] debian.org>
   2215 
   2216 	* glib/dbus-gmain.c: Make the previous commit compile.
   2217 
   2218 	* python/_dbus.py, python/matchrules.py: Patch from Ole Andre
   2219 	Ravnaas <ole.andre.ravnaas (a] collabora.co.uk> to allow you to
   2220 	specify sender_keyword="foo", path_keyword="bar" when adding
   2221 	a signal listener, so that you can bind to signals generically
   2222 	but still do something useful in your callback.
   2223 
   2224 	* python/dbus_bindings.pyx: Demarshal the byte type as unsigned
   2225 	chars so that they're not cast to chars and made negative. Thanks
   2226 	to Jakub Stachowski for reporting this and testing the fix.
   2227 
   2228 2006-02-15  John (J5) Palmieri  <johnp (a] redhat.com>
   2229 
   2230 	* dbus/dbus-glib.h:
   2231 	* glib/dbus-gmain.h:
   2232 	(dbus_g_connection_open): new method for openning
   2233 	a connection to an arbitrary address in the glib bindings
   2234 
   2235 	* ChangeLog: checkin last entry which doesn't seem to be commited
   2236 
   2237 2006-02-13  John (J5) Palmieri  <johnp (a] redhat.com>
   2238 
   2239 	* tools/dbus-launch.c: Fixed sh syntax output
   2240 
   2241 2006-02-13  Robert McQueen  <robot101 (a] debian.org>
   2242 
   2243 	* glib/dbus-binding-tool-glib.c, glib/dbus-gmain.c,
   2244 	glib/dbus-gsignature.c, glib/dbus-gtype-specialized.c,
   2245 	glib/dbus-gtype-specialized.h, glib/dbus-gvalue-utils.c,
   2246 	glib/dbus-gvalue-utils.h, glib/dbus-gvalue.c:
   2247 	Patch from Rob Taylor <rob.taylor (a] collabora.co.uk> to add a big
   2248 	missing piece of the glib bindings jigsaw puzzle. This modifies
   2249 	the existing specialised types to have N type parameters (rather
   2250 	than the current 1 or 2 for arrays and dictionaries respectively).
   2251 	You can then use this to get a glib type to represent any arbitrary
   2252 	D-Bus struct type using dbus_g_type_get_struct. The only
   2253 	implementation of these types is with GValueArrays as before,
   2254 	but it's now possible to store these in arrays, emit them in
   2255 	signals, etc.
   2256 
   2257 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2258 
   2259 	* dbus/dbus-signature.c (dbus_signature_iter_recurse): Correctly
   2260 	deal with nested arrays (Bug #5823) Patch by Thiago Macieira 
   2261 	<thiago.macieira at trolltech.com>
   2262 
   2263 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2264 
   2265 	* mono/doc/Makefile.am: Fix parallel make problem with mono-doc
   2266 	(Bug #4213) Patch from Doug Goldstein <cardoe at gentoo.org>
   2267 
   2268 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2269 
   2270 	* bus/connection.c (bus_connections_expect_reply): Make
   2271 	pending reply limit not common to all connections (Bug #5416)
   2272 	Patch from Kimmo Hmlinen <kimmo.hamalainen at nokia.com>
   2273 
   2274 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2275 
   2276 	* tools/dbus-launch.c: Fixed csh syntax output (Bug #5720)
   2277 
   2278 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2279 
   2280 	* gcj/Makefile.am: point to correct jar command (Bug #4529)
   2281 	patch from Doug Goldstein <cardoe at gentoo.org>
   2282 
   2283 2006-02-09  Joe Shaw  <joeshaw (a] novell.com>
   2284 
   2285 	* mono/Arguments.cs: Fix a magic number in the mono bindings
   2286 	that doesn't work on 64 bit arches.  Patch from Peter Johanson.
   2287 
   2288 2006-01-27  Robert McQueen  <robot101 (a] debian.org>
   2289 
   2290 	* glib/dbus-binding-tool-glib.[ch]: Patch based on Ricardo Kekki's
   2291 	patch to use an annotation org.freedesktop.DBus.GLib.ClientCSymbol
   2292 	when generating the client-side methods, instead of overloading
   2293 	CSymbol which broke everything horribly. My apologies.
   2294 
   2295 2006-01-27  Robert McQueen  <robot101 (a] debian.org>
   2296 
   2297 	* glib/dbus-gtype-specialized.[ch], glib/dbus-gvalue-utils.c: Patch
   2298 	by me and Rob Taylor to add a simple_free function to D-Bus map
   2299 	and collection types, which allows those types which can be freed
   2300 	with a GDestroyNotify (such as GHashTables and GArrays, but not
   2301 	GPtrArrays) to be stored as the values in hashtables.
   2302 
   2303 	* test/glib/test-dbus-glib.c, test/glib/test-service-glib.{c,xml}:
   2304 	Patch by Rob Taylor to add nested dicts to the glib tests to check
   2305 	the above code works, and appears not to leak when called repeatedly.
   2306 
   2307 2006-01-27  Robert McQueen  <robot101 (a] debian.org>
   2308 
   2309 	* glib/dbus-gvalue.c (demarshal_valuearray): Patch from Rob Taylor
   2310 	to free a D-Bus allocated string with dbus_free () instead of
   2311 	g_free ().
   2312 
   2313 2006-01-27  Iain Holmes  <iain (a] openedhand.com>
   2314 
   2315 	* glib/dbus-gproxy.c (dbus_g_proxy_dispose): Protect the dispose
   2316 	method from being called multiple times.
   2317 
   2318 2006-01-19  Robert McQueen  <robot101 (a] debian.org>
   2319 
   2320 	* glib/dbus-binding-tool-glib.c: Patch from Rob Taylor
   2321 	<rob.taylor (a] collabora.co.uk> to add support for generating bindings
   2322 	to arrays that are represented as GPtrArrays rather than GArrays (ie
   2323 	size-variable things, such as strings, objects, structs, etc).
   2324 
   2325 2006-01-05  Robert McQueen  <robot101 (a] debian.org>
   2326 
   2327 	* dbus/dbus-glib.h, glib/dbus-gproxy.c: Patch from Ricardo Kekki
   2328 	<ricardo.kekki (a] movial.fi> to make it possible to inherit from
   2329 	DBusGProxy, by splitting the DBusGProxy struct into a public part and
   2330 	a private part, and moving the setting of the DBusGProxyManager into a
   2331 	connection property, allowing proper GObject construction.
   2332 
   2333 2006-01-05  Robert McQueen  <robot101 (a] debian.org>
   2334 
   2335 	* glib/dbus-binding-tool-glib.c: Patch from Ricardo Kekki
   2336 	<ricardo.kekki (a] movial.fi> to make dbus-binding-tool heed C symbol name
   2337 	annotations when generating glib client bindings.
   2338 
   2339 2005-12-19 John (J5) Palmieri  <johnp (a] redhat.com>
   2340 
   2341 	* dbus/dbus-shared.h: Call it shared constants instead of shared macros
   2342 
   2343 	* dbus/dbus-protocol.h: add DOxygen markup to quiet warnings
   2344 
   2345 2005-12-19 John (J5) Palmieri  <johnp (a] redhat.com>
   2346 
   2347 	* dbus/dbus-shared.h: add DOxygen markup to quiet warnings
   2348 
   2349 2005-12-19 John (J5) Palmieri  <johnp (a] redhat.com> 
   2350 
   2351 	* dbus/dbus-macros.h: correct DOxygen end of section (s/}@/@})
   2352 
   2353 2005-12-19  Ross Burton  <ross (a] openedhand.com>
   2354 
   2355 	* doc/dbus-tutorial.xml:
   2356 	Document the Glib client-side bindings, and list all possible annotations.
   2357 
   2358 2005-12-19  John (J5) Palmieri  <johnp (a] redhat.com>
   2359 
   2360 	* dbus/bus.c (dbus_bus_release_name): Add documentation
   2361 
   2362 2005-12-06  Robert McQueen  <robot101 (a] debian.org>
   2363 
   2364 	* python/service.py: s/sucessful/successful/ so we're allocating to
   2365 	and reading from the same variable. Oops.
   2366 
   2367 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2368 
   2369 	* Released 0.60
   2370 
   2371 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2372 
   2373 	* test/qt/Makefile.am: build from srcdir
   2374 
   2375 	* qt/qtconnection.cpp (requestName): Changed PROHIBIT_REPLACE to ALLOW_REPLACE
   2376 	Note - this code is wrong and needs to be fixed by the Qt binding
   2377 	developers.  The flags should be treated as bitfields and not enums.
   2378 
   2379 	* qt/qtconnection.h: Change ProhibitReplace to AllowReplace
   2380 
   2381 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2382 
   2383 	* dbus/dbus-list.c (_dbus_list_insert_after_link, _dbus_list_insert_after, 
   2384 	  link_after): remove #ifdef DBUS_BUILD_TESTS since we use these methods 
   2385 	  in production code
   2386 
   2387 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2388 
   2389 	* dbus/dbus-connection.c (dbus_connection_read_write): Add new
   2390 	method for getting messages off the bus in the absence of a
   2391 	mainloop.  This method is much like 
   2392 	dbus_connection_read_write_dispatch except it does not dispatch
   2393 	the messages to a registered filter function.  Instead it
   2394 	allows a developer to process messages by directly popping
   2395 	them off the bus.
   2396 
   2397 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2398 
   2399 	* bus/desktop-file.c (parse_key_value): Ignore locales allowing 
   2400 	the parser to continue instead of returning error
   2401 	(bus_desktop_file_load): Do not free parser data when
   2402 	parse_section_start or parse_key_value fails because it was 
   2403 	already freed by parser_free (patch from Carlos Garcia Campos  
   2404 	<carlosgc at gnome.org>)
   2405 
   2406 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2407 
   2408 	* dbus/dbus-auth.c, dbus/dbus-connection.c, dbus/dbus-keyring.c,
   2409 	dbus/dbus-server-debug-pipe.c, glib/dbus-binding-tool-glib.c
   2410 	glib/dbus-glib-tool.c, glib/dbus-gparser.c, glib/dbus-gproxy.c
   2411 	test/test-segfault.c, test/test-utils.c,
   2412 	test/glib/test-dbus-glib.c, tools/dbus-cleanup-sockets.c
   2413 	tools/dbus-launch.c, tools/dbus-tree-view.c, tools/dbus-viewer.c:
   2414 	Various cleanup of dead code and compiler warnings (patch from
   2415 	Kjartan Maraas <kmaraas at gnome.org>) 
   2416 
   2417 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2418 
   2419 	* glib/dbus-gmain.c (connection_setup_add_watch): plugged a leak
   2420 	(patch from Carlos Garnacho Parro <carlosg at gnome.org>
   2421 
   2422 2005-11-27  Robert McQueen  <robot101 (a] debian.org>
   2423 
   2424 	* python/dbus_bindings.pyx: Repair my previous commit which reverted
   2425 	part of the preceding one. Oops. Merge patch by Johan Hedberg
   2426 	<johan.hedberg (a] nokia.com> to fix marshalling of 16-bit integer values
   2427 	on big-endian platforms.
   2428 
   2429 	* test/python/test-client.py: Add some 16-bit integers to the test
   2430 	values.
   2431 
   2432 2005-11-27  Carlos Garcia Campos  <carlosgc (a] gnome.org>
   2433 
   2434 	* glib/dbus-gobject.c: Append a GValue instead of a basic type in
   2435 	method return message for property getters
   2436 
   2437 2005-11-27  Robert McQueen  <robot101 (a] debian.org>
   2438 
   2439 	* python/dbus_bindings.pyx: Fix a bug where doing a strict append
   2440 	with type v of an instance of dbus.Variant(foo, type='x') caused
   2441 	it to be boxed twice before sending over the bus.
   2442 
   2443 	* python/dbus_bindings.pyx, python/service.py,
   2444 	test/python/test-client.py: Update the constants for the new
   2445 	request_name flags, and update comments/test cases now that queueing
   2446 	is the default action.
   2447 
   2448 2005-11-22  John (J5) Palmieri  <johnp (a] redhat.com>
   2449 
   2450 	* configure.in:
   2451 	- Change version to 0.60 for impending release
   2452 	- upped the sonames because of ABI and API breakage
   2453 
   2454 2005-11-22  John (J5) Palmieri  <johnp (a] redhat.com>
   2455 
   2456 	* configure.in: Add test/name-test/Makefile to the generated
   2457 	Makefile list
   2458 
   2459 	* dbus/dbus-shared.h (#define DBUS_NAME_FLAG_ALLOW_REPLACEMENT):
   2460 	New flag which replaces DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT
   2461 	(#define DBUS_NAME_FLAG_DO_NOT_QUEUE): New flag for specifying
   2462 	not to queue an ower if it can't be the primary owner
   2463 
   2464 	* bus/bus.h: Add new internal BusOwner struct
   2465 
   2466 	* bus/driver.c (bus_driver_handle_hello): Send flags (0 for default)
   2467 	to bus_registry_ensure and don't set the prohibit_replacement flag
   2468 	since they are now set per BusOwner and not per name.
   2469 	(bus_driver_handle_list_queued_owners): bus method (ListQueuedOwners) 
   2470 	that returns the list of connections in a name's connection queue
   2471 	
   2472 	* bus/services.c (struct BusService): remove prohibit_replacement field
   2473 	(struct BusOwner): new struct for keeping track of queued connections
   2474 	and their associated flags for the queue
   2475 	(struct BusRegistry): add a BusOwner memory pool
   2476 	(bus_registry_new): initialize the BusOwner memory pool
   2477 	(bus_registry_unref): free the BusOwner memory pool
   2478 	(_bus_service_find_owner_link): new internal method for
   2479 	searching the queue for a specific connection
   2480 	(bus_owner_set_flags): new method for adding setting the flags on a
   2481 	bus owner
   2482 	(bus_owner_new): new method that creates a BusOwner object from the
   2483 	pool and sets its flags
   2484 	(bus_owner_ref, bus_owner_unref): ref counting for BusOwner objects
   2485 	(bus_registry_ensure): Add the flags parameter
   2486 	(bus_registry_acquire_service): Switch from using raw connections to
   2487 	using the BusOwner struct
   2488 	Add new state machine for dealing with the new set of flags
   2489 	(bus_registry_set_service_context_table, struct OwnershipCancelData, 
   2490 	cancel_ownership, free_ownership_cancel_data, 
   2491 	add_cancel_ownership_to_transaction, struct OwnershipRestoreData, 
   2492 	restore_ownership, free_ownership_restore_data, 
   2493 	add_restore_ownership_to_transaction): Switch to using BusOwner 
   2494 	instead of raw connections
   2495 	(bus_service_add_owner): Add flags parameter
   2496 	Switch to using BusOwner instead of raw connections
   2497 	Add state machine for dealing with the new set of flags
   2498 	(bus_service_swap_owner): Swaps the first and second owners in the
   2499 	queue.  Used to make sure proper signals are sent when a service looses 
   2500 	or gains primary ownership.  We never insert an owner at the top of the
   2501 	queue.  Instead we insert it in the second position and then swap.
   2502 	(bus_service_remove_owner): Remove the owner from the queue sending
   2503 	out the NameLost and NameOwnerChanged signals if the we were the 
   2504 	primary owner
   2505 	(bus_service_get_primary_owners_connection): New method that extracts
   2506 	the connection from the primary owner
   2507 	(bus_service_get_primary_owner): Returns the BusOwner instead of the 
   2508 	connection
   2509 	(bus_service_get_allow_replacement): Changed from the old 
   2510 	bus_service_get_prohibit_replacement method.  Checks the flags of the 
   2511 	primary owner and returns if it can be replaced or not
   2512 	(bus_service_set_prohibit_replacement): removed
   2513 	(bus_service_has_owner): returns TRUE if and owner with
   2514 	the specified connection exists in the queue
   2515 	
   2516 	* dbus/dbus-bus.c (dbus_bus_connection_get_unique_name): New helper
   2517 	method that only compiles if tests are enabled.  Allows us to get the 
   2518 	unique name of a connection so we can check it against the queue when
   2519 	doing regression tests
   2520 
   2521 	* bus/activation.c (bus_activation_send_pending_auto_activate),
   2522 	bus/dispatch.c (bus_dispatch),  
   2523 	bus/driver.c (bus_driver_handle_get_service_owner, 
   2524 	bus_driver_handle_get_connection_unix_user, 
   2525 	bus_driver_handle_get_connection_unix_process_id,
   2526 	bus_driver_handle_get_connection_selinux_security_context),
   2527 	bus/signals.c (connection_is_primary_owner): 
   2528 	use bus_service_get_primary_owners_connection instead of
   2529 	bus_service_get_primary_owner
   2530 
   2531 	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket, 
   2532 	_dbus_listen_unix_socket): Calculate the length of the socket
   2533 	path and use that instead of using a fixed length which was
   2534 	causing socket names to contain many trailing Nul bytes.
   2535 
   2536 	* dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c
   2537 	(dbus_g_method_get_sender): New method for extracting the sender 
   2538 	from a DBusGMethodInvocation
   2539 	(dbus_g_method_return_get_reply): changed name to 
   2540 	dbus_g_method_get_reply
   2541 	(dbus_g_method_return_send_reply): changed name to
   2542 	dbus_g_method_send reply
   2543 
   2544 	* doc/dbus-specification.xml: New docs that describe how the new
   2545 	queueing system works and talks about the changes to the how
   2546 	we specify socket names
   2547 
   2548 	* glib/examples/example-service.c, 
   2549 	glib/examples/example-signal-emitter.c,
   2550 	glib/examples/statemachine/statemachine-server.c:
   2551 	Changed the RequestName flags to the new system
   2552 
   2553 	* test/name-test/ (test-names.c, run-test.sh, Makefile.am): New
   2554 	regression test suite for testing various states of the new
   2555 	queueing system
   2556 	
   2557 2005-11-15  Robert McQueen  <robot101 (a] debian.org>
   2558 
   2559 	* dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c: Patch from Rob
   2560 	Taylor to add two methods, dbus_g_method_return_get_reply and
   2561 	dbus_g_method_return_send_reply, to allow you to get the reply
   2562 	message from a DBusGMethodInvocation, append arbitrary stuff to it,
   2563 	and send it. The GLib bindings can't marshal a return value of
   2564 	something like a(s) if the array is empty - ultimately they should be
   2565 	made to heed the signature of the out arguments as the Python bindings
   2566 	now can, but this is a workable interim solution which might have
   2567 	other applications.
   2568 
   2569 2005-11-15  Robert McQueen  <robot101 (a] debian.org>
   2570 
   2571 	* bus/driver.c, bus/services.c, bus/services.h: Add a ReleaseName
   2572 	method to org.freedesktop.DBus to release a bus name or give up
   2573 	waiting in the queue for it.
   2574 
   2575 	* dbus/dbus-bus.c, dbus/dbus-bus.h, dbus/dbus-shared.h: Add a
   2576 	dbus_bus_release_name method to send the ReleaseName method calls.
   2577 	Add constants for the return values to dbus/dbus-shared.h.
   2578 
   2579 	* doc/dbus-specification.xml: Document the new ReleaseName method
   2580 	in the specification.
   2581 
   2582 	* python/dbus_bindings.pyx: Add a low-level python binding for the
   2583 	release name method.
   2584 
   2585 	* python/exceptions.py, python/service.py: Make freeing BusName
   2586 	objects release the name. Add a NameExistsException, and fix a
   2587 	bug with creating UnknownMethodException.
   2588 
   2589 	* test/python/test-client.py: Add tests for freeing BusName
   2590 	objects causing names to be released.
   2591 
   2592 2005-11-14  Robert McQueen  <robot101 (a] debian.org>
   2593 
   2594 	* python/service.py: Include the traceback in the error reply when we
   2595 	send an exception over the bus. _BEST_ _PATCH_ _EVER_
   2596 
   2597 2005-11-14  David Zeuthen  <davidz (a] redhat.com>
   2598 
   2599 	Patch from Timo Hoenig <thoenig (a] suse.de>.
   2600 
   2601 	* bus/bus.c: I've recently investigated why the automatic reload
   2602 	of configuration files does not work as expected.
   2603 
   2604 	Currently, reloading configuration files does only work when
   2605 	running dbus-daemon with --nodaemon.  If we are running as daemon
   2606 	we're hitting a dnotify bug once we fork the process.
   2607 
   2608 	We're initializing the dnotify fds before calling fork().  Once
   2609 	the child process forked it does still have the fds (and they
   2610 	still show up in /proc/`pidof dbus-daemon`/fd/) but we're not
   2611 	getting SIGIO as changes are made to the configuration files.
   2612 
   2613 	The attached patch moves the initialization of the dnotify fds to
   2614 	process_config_postinit().  This is safe for all current code
   2615 	paths and solves the dnotify disfunction.  If we're running
   2616 	dbus-daemon as daemon the fds for dnotify are now being
   2617 	initialized after fork() for the child process.
   2618 
   2619 	* configure.in: The current configure.in check for dnotify probes
   2620 	'x$target_os' for being 'xlinux-gnu'.  I've changed the check to
   2621 	match for 'xlinux', too. Additionally I have adapted the configure
   2622 	option's style to match with the others.
   2623 
   2624 2005-11-14  Robert McQueen  <robot101 (a] debian.org>
   2625 
   2626 	* python/decorators.py, python/service.py: Add a new argument to the
   2627 	dbus.service.method decorator called sender_keyword, which if set,
   2628 	specifies the name of an argument which will be provided the bus
   2629 	name of the method caller.
   2630 
   2631 	* test/python/test-client.py, test/python/test-service.py: Add a
   2632 	method and test to check the sender_keyword functionality.
   2633 
   2634 2005-11-07  John (J5) Palmieri  <johnp (a] redhat.com>
   2635 
   2636 	* bus/driver.c (bus_driver_handle_reload_config): Make sure we send an 
   2637 	empty reply so blocking calls don't block forever (Patch from Sjoerd 
   2638 	Simons <sjoerd at luon.net>)
   2639 
   2640 	* AUTHORS: Add Robert McQueen for his work on the Python
   2641 	Bindings and other parts of D-Bus
   2642 
   2643 2005-11-07  Robert McQueen  <robot101 (a] debian.org>
   2644 
   2645 	* python/decorators.py: Change emit_signal function to use the
   2646 	signature annotation of the signal when marhsalling the arguments from
   2647 	the service. Fix a bug where the code checking signature length
   2648 	against argument length referenced the wrong variable.
   2649 
   2650 	* python/introspect_parser.py: Avoid adding the type signature of
   2651 	signal arguments to any methods which occur after them in the
   2652 	introspection data (!) by making the parser a little more careful
   2653 	about its current state.
   2654 
   2655 	* python/service.py: Remove debug prints from last commit (again :D).
   2656 
   2657 	* test/python/test-client.py, test/python/test-service.py: Add test
   2658 	signals with signature decorators to test the strict marshalling code
   2659 	gives errors at the right time. Could do with checking the signals
   2660 	actually get emitted too, given that the test does nothing with
   2661 	signals at the moment...
   2662 
   2663 2005-11-07  Robert McQueen  <robot101 (a] debian.org>
   2664 
   2665 	* python/_dbus.py: Add WeakReferenceDictionary cache of dbus.Bus
   2666 	instances to stop madness of creating new instances representing
   2667 	the same bus connection all the time, rendering any tracking of
   2668 	match rules and bus names quite meaningless. Caught a bug where
   2669 	the private argument to SessionBus() and friends was being passed
   2670 	in as use_default_mainloop by mistake. Still some problems with
   2671 	multiple dbus_binding.Connection instances representing the same
   2672 	low-level connection (eg when you use both SessionBus() and
   2673 	StarterBus() in same process), but it's a lot better now than it
   2674 	was.
   2675 
   2676 	* python/dbus_bindings.pyx: Add constants with the return values
   2677 	for bus_request_name().
   2678 
   2679 	* python/service.py: Store bus name instances in a per-dbus.Bus cache
   2680 	and retrieve the same instances for the same name, so deletion can be
   2681 	done with refcounting. Also now throws some kind of error if you
   2682 	don't actually get the name you requested, unlike previously...
   2683 
   2684 	* test/python/test-client.py: Add tests for instance caching of buses
   2685 	and bus name objects.
   2686 
   2687 2005-11-04  Robert McQueen  <robot101 (a] debian.org>
   2688 
   2689 	* python/dbus_bindings.pyx, test/python/test-client.py: Fix
   2690 	marshalling of boolean values. Add some booleans to the values in
   2691 	the test client.
   2692 
   2693 	* python/decorators.py, python/service.py: Add an 'async_callbacks'
   2694 	argument to the dbus.service.method decorator, which allows you to
   2695 	name arguments to take two callback functions for replying with
   2696 	return values or an exception.
   2697 
   2698 	* test/python/test-client.py, test/python/test-service.py: Add test
   2699 	case using asynchronous method reply functions, both return values and
   2700 	errors, and from within both the function itself and from a mainloop
   2701 	callback.
   2702 
   2703 	* python/decorators.py, python/service.py: Perform checking that the
   2704 	number of method/signal arguments matches the number of types in the
   2705 	signature at class loading time, not when you first introspect the
   2706 	class.
   2707 
   2708 	* python/service.py: Remove debug print left by the last commit.
   2709 
   2710 2005-11-03  Robert McQueen  <robot101 (a] debian.org>
   2711 
   2712 	* python/service.py: Heavy refactoring of method invocation, with
   2713 	hopefully no effect on functionality. Nuked _dispatch_dbus_method_call
   2714 	in favour of a new _message_cb that uses seperate functions for
   2715 	looking up the method to call, marshalling the return values, and
   2716 	sending exceptions as errors, and is easier to follow as a
   2717 	consequence.  Fixes some corner cases about returning things that
   2718 	don't match your declared out_signature, allows exceptions to define
   2719 	_dbus_error_name and have it be sent over the bus as the error name,
   2720 	and paves the way for cool stuff like heeding the message no reply
   2721 	flag, asynchronous method implementations, informing the method of the
   2722 	sender, and including backtraces in the error messages.
   2723 
   2724 	* test/python/test-client.py: Catch and print exceptions thrown in the
   2725 	async callback tests, rather than passing them to the low-level
   2726 	bindings to be ignored in a noisy and frustrating manner.
   2727 
   2728 2005-11-03  Robert McQueen  <robot101 (a] debian.org>
   2729 
   2730 	* python/_dbus.py, python/proxies.py, python/service.py: Add __repr__
   2731 	functions to dbus.Bus, dbus.service.BusName and dbus.service.Object,
   2732 	tweak others to be consistent.
   2733 
   2734 	* test/python/test-client.py: Tweak output of testInheritance.
   2735 
   2736 2005-10-29  Robert McQueen  <robot101 (a] debian.org>
   2737 
   2738 	* python/service.py: Major changes to allow multiple inheritance
   2739 	from classes that define D-Bus interfaces:
   2740 	
   2741 	 1. Create a new Interface class which is the parent class of
   2742 	    Object, and make the ObjectType metaclass into InterfaceType.
   2743 	
   2744 	 2. Patch written with Rob Taylor to replace use of method_vtable
   2745 	    with code that walks the class's __MRO__ (method resolution order)
   2746 	    to behave like Python does when invoking methods and allow
   2747 	    overriding as you'd expect. Code is quite tricky because
   2748 	    we have to find two methods, the one to invoke which has the
   2749 	    right name and isn't decorated with the /wrong/ interface,
   2750 	    and the one to pick up the signatures from which is decorated
   2751 	    with the right interface.
   2752 	
   2753 	    The same caveats apply as to normal multiple inheritance -
   2754 	    this has undefined behaviour if you try and inherit from two
   2755 	    classes that define a method with the same name but are
   2756 	    decorated with different interfaces. You should decorate
   2757 	    your overriding method with the interface you want.
   2758 	
   2759 	 3. Replace grungy introspection XML generation code in the metaclass
   2760 	    with dictionaries that cope correctly with multiple inheritance
   2761 	    and the overriding of methods. This also uses the signature
   2762 	    decorations to provide correct introspection data, including
   2763 	    the debut appearance of the types of your return values. :D
   2764 
   2765 	* test/python/test-client.py, test/python/test-service.py: Add a test
   2766 	case to try invoking an method that overrides one inherited from a
   2767 	D-Bus interface class.
   2768 
   2769 2005-10-29  Robert McQueen  <robot101 (a] debian.org>
   2770 
   2771 	* python/dbus_bindings.pyx: Tweak 'raise AssertionError' to assert().
   2772 	Add checking for the end of struct character when marshalling a
   2773 	struct in MessageIter.append_strict.
   2774 
   2775 	* python/examples/example-service.py,
   2776 	python/examples/gconf-proxy-service.py,
   2777 	python/examples/gconf-proxy-service2.py: Update to use gobject
   2778 	mainloop directly rather than appearing to depend on gtk.
   2779 
   2780 	* python/test/test-client.py, python/test/test-server.py: Remove
   2781 	obsolete and broken test scripts for old bindings. We have up to date
   2782 	and working tests in test/python/.
   2783 
   2784 2005-10-29  Robert McQueen  <robot101 (a] debian.org>
   2785 
   2786 	* python/decorators.py: Add optional arguments to the method and
   2787 	signal decorators to allow you to specify the signature of arguments
   2788 	and return values. Preserve the doc strings of signal functions in the
   2789 	decorated version, for pydoc and friends.
   2790 
   2791 	* python/dbus_bindings.pyx, python/proxies.py: Replace the
   2792 	parse_signature_block function with an iterable dbus.Signature()
   2793 	type. Fix a bug in MessageIter.append_strict where you could append
   2794 	anything by claiming it was a string.
   2795 
   2796 	* python/service.py: Use the out_signature decoration on methods to
   2797 	marshal return values, meaning you no longer require dbus.Array()
   2798 	or dbus.Dictionary() to indicate the type when returning empty
   2799 	arrays or dictionaries. Fix a bug where exceptions which are defined
   2800 	in __main__ are not turned into error replies.
   2801 
   2802 	* test/python/test-client.py, test/python/test-service.py: Add test
   2803 	for correct marshalling of return values according to out_signature.
   2804 	Fix a bug in the async call test where the error_handler is missing a
   2805 	self argument.
   2806 
   2807 2005-10-29  Robert McQueen  <robot101 (a] debian.org>
   2808 
   2809 	* glib/Makefile.am, glib/examples/Makefile.am,
   2810 	glib/examples/statemachine/Makefile.am: Merge patch from Ubuntu by
   2811 	Daniel Stone to replace explicit calls to libtool with $(LIBTOOL).
   2812 
   2813 	* test/python/.cvsignore: Add run-with-tmp-session-bus.conf.
   2814 
   2815 	* tools/dbus-monitor.1, tools/dbus-monitor.c: Merge dbus-monitor patch
   2816 	from Ubuntu by Daniel Silverstone to allow specifying match rules on
   2817 	the command line.
   2818 
   2819 2005-10-27  Ross Burton  <ross (a] openedhand.com>
   2820 
   2821 	* dbus/dbus-marshal-header.c:
   2822 	Remove dead code.
   2823 
   2824 	* glib/dbus-gobject.c:
   2825 	Stop compiler warning.
   2826 
   2827 2005-10-25  Ross Burton  <ross (a] openedhand.com>
   2828 
   2829 	* dbus/dbus-auth.c:
   2830 	* dbus/dbus-server-unix.c:
   2831 	* dbus/dbus-transport-unix.c:
   2832 	* glib/dbus-gmain.c:
   2833 	* glib/dbus-gobject.c:
   2834 	Add some const keywords.
   2835 
   2836 2005-10-25  Ross Burton  <ross (a] openedhand.com>
   2837 
   2838 	* doc/dbus-specification.xml:
   2839 	Document the NoReply annotation.
   2840 
   2841 	* glib/dbus-binding-tool-glib.h:
   2842 	* glib/dbus-binding-tool-glib.c:
   2843 	Respect the NoReply annotation.
   2844 
   2845 2005-10-24  Robert McQueen <robot101 (a] debian.org>
   2846 
   2847 	* python/dbus_bindings.pyx (String, MessageIter): make D-Bus strings
   2848 	derive from unicode instead of str, and encode/decode UTF-8 when
   2849 	marshalling/unmarshalling bus messages
   2850 
   2851 	* python/introspect_parser.py: encode introspection data as UTF-8
   2852 	before passing the buffer into libxml2
   2853 
   2854 	* test/python/test-client.py: add unicode test strings
   2855 
   2856 	* test/data/valid-service-files/.cvsignore, test/python/.cvsignore:
   2857 	ignore generated python test files
   2858 
   2859 2005-10-17  John (J5) Palmieri  <johnp (a] redhat.com>
   2860 
   2861 	* glib/dbus-gvalue-utils.c (hash_free_from_gtype): handle gdouble
   2862 	and G_TYPE_VALUE_ARRAY (DBUS_TYPE_STRUCT)
   2863 	(gvalue_from_hash_value, hash_value_from_gvalue): handle gdouble
   2864 
   2865 	* glib/dbus-gvalue.c (dbus_gvalue_to_signature): add missing
   2866 	DBUS_STRUCT_BEGIN_CHAR and DBUS_STRUCT_END_CHAR charaters
   2867 	when constructing struct signatures
   2868 
   2869 	* python/_dbus.py (Bus): handle private connections using the
   2870 	private keyword in the constructor. defaults to private=False
   2871 	(Bus::close): new method to close a connection to the bus
   2872 
   2873 	* python/dbus_bindings.pyx (Connection::close): renamed method
   2874 	was previously called disconnect
   2875 	(bus_get): now supports getting a private connection
   2876 
   2877 	* python/proxies.py (ProxyMethod::__call__): check if ignore_reply
   2878 	keyword is set to True.  if it is, execute the method without waiting
   2879 	for a reply
   2880 	(ProxyObject::_introspect_execute_queue): new method for executing
   2881 	all the pending methods that were waiting for the introspect to
   2882 	finish.  this is called when introspect either succeeds or fails
   2883 	(ProxyObject::_introspect_error_handler): call queued methods
   2884 
   2885 2005-10-14  John (J5) Palmieri  <johnp (a] redhat.com>
   2886 
   2887 	* python/dbus_bindings.pyx (MessageIter::append_strict): check for
   2888 	STRUCT_BEGIN not TYPE_STRUCT in indicate we are marshalling a struct
   2889 
   2890 	* python/service.py (Object::_message_cb): handle exceptions correctly
   2891 	by sending them over the wire to the calling app.  This makes sure
   2892 	the client returns immediately instead of waiting the 15 seconds to
   2893 	timeout.
   2894 
   2895 	* test/python/test-client.py (TestDBusBindings::testBenchmarkIntrospect): 
   2896 	Add a test to benchmark how long it takes to introspect a service and 
   2897 	call a method which returns a large element (pretty fast)
   2898 
   2899 	* test/python/test-service.py (TestObject::GetComplexArray): new test 
   2900 	method which pushes a lot of data
   2901 
   2902 2005-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
   2903 
   2904 	* python/service.py(ObjectType::_reflect_on_signal, _reflect_on_method): 	
   2905 	reclaim memory outside of the loop and use del istead of just setting
   2906 	the key to None
   2907 
   2908 2005-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
   2909 
   2910 	* python/service.py (ObjectType::_reflect_on_signal): Always close
   2911 	signal tag even when there are no arguments
   2912 
   2913 2005-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
   2914 
   2915 	* configure.in: Set mono, mono-docs and Qt3 to default
   2916 	to no instead of auto when building.  These bindings do not
   2917 	have full time maintainers and will not be supported for the
   2918 	1.0 release.
   2919 
   2920 2005-10-12  John (J5) Palmieri  <johnp (a] redhat.com>
   2921 
   2922 	patches from Michael Krivoruchko <misha at sun.com>: 
   2923 	
   2924 	* dbus/dbus-connection.c (_dbus_connection_queue_received_message_link,
   2925 	_dbus_connection_message_sent, 
   2926 	_dbus_connection_send_preallocated_unlocked_no_update, 
   2927 	_dbus_connection_pop_message_link_unlocked): handle the case when path 
   2928 	is NULL when calling _dbus_verbose
   2929 
   2930 	* configure.in: check for functions getpeerucred and getpeereid
   2931 
   2932 	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): provides 
   2933 	support of auth EXTERNAL on Solaris 10+ (getpeerucred), FreeBSD 4.6+, 
   2934 	OpenBSD 3.0+ and FreeBSD 5.0+ as well as MacOSX 10.2+ (getpeereid). 
   2935 	Patch was only tested on Solaris 10 x86 so it might be issues
   2936 	with other platforms (i.e. BSDs and MacOSX)
   2937 	
   2938 
   2939 2005-10-05  John (J5) Palmieri  <johnp (a] redhat.com>
   2940 
   2941 	* glib/dbus-gvalue.c (marshal_variant): call _dbus_gvalue_marshal 
   2942 	instead of marshal basic so we can handle recursive types in a variant
   2943 
   2944 	* test/glib/test-dbus-glib.c: Add test for marshaling recurive types
   2945 	in variants
   2946 
   2947 	* test/glib/test-service-glib.c, test-service-glib.xml
   2948 	(my_object_echo_variant [EchoVariant], 
   2949 	my_object_process_variant_of_array_of_ints123
   2950 	[ProcessVariantOfArrayOfInts123]): 
   2951 	Add two test methods
   2952 
   2953 	* python/introspect_parser.py: New module for parsing introspect
   2954 	data.
   2955 
   2956 	* python/dbus_bindings.pyx:
   2957 	(various places): when throwing errors fix to use errormsg instead 
   2958 	of message local variable because Pyrex can get confused with other 
   2959 	message variables (initial patch by Robert McQueen 
   2960 	<robert.mcqueen at collabora.co.uk>)
   2961 	(MessageIter::parse_signature_block): new method for getting the next
   2962 	block in a signiture.
   2963 	(MessageIter::append_strict): new method for appending values strictly
   2964 	using the passed in signature instead of guessing at the type
   2965 	(MessageItter:: append_dict, append_struct, append_array): use 
   2966 	signatures to marshal children if the signature is available
   2967 	
   2968 	* python/exceptions.py (IntrospectionParserException): new exception
   2969 
   2970 	* python/proxies.py (ProxyMethod::__call__): Marshal args with 
   2971 	introspected signatures if available, else we fall back to the
   2972 	old way of doing things.
   2973 	(ProxyObject::_introspect_reply_handler ): parse introspection data
   2974 	
   2975 	* python/service.py (ObjectType::_reflect_on_method): Properly
   2976 	terminate <method> if there are no args in the reflection data
   2977 
   2978 	* test/python/test-client.py: add tests for talking with the GLib
   2979 	test server.  This gives us better coverage for introspection since
   2980 	python to python will always generate arguments as variants.  It also
   2981 	allows us to test the robustness of the GLib bindings and interlanguage
   2982 	communications.
   2983 
   2984 	
   2985 2005-10-03  John (J5) Palmieri  <johnp (a] redhat.com>
   2986 
   2987 	* bus/driver.c (bus_driver_handle_introspect): Add signals
   2988 	to the introspect data. (patch from Daniel P. Berrange 
   2989 	<dan at berrange.com>)
   2990 
   2991 	* bus/dispatch.c (check_existent_ping): Add testcase for Ping
   2992 	
   2993 	* dbus/dbus-connection.c (_dbus_connection_peer_filter,
   2994 	_dbus_connection_run_builtin_filters): Changed these to
   2995 	be unlock_no_update functions and call 
   2996 	_dbus_connection_send_unlocked_no_update instead of
   2997 	dbus_connection_send to avoid locking errors.
   2998 	
   2999 	* doc/TODO: Removed the make Ping test TODO
   3000 	
   3001 2005-09-26  John (J5) Palmieri  <johnp (a] redhat.com>
   3002 
   3003 	* dbus/Python.pyx: Fixed memory leaks when throwing errors.
   3004 	We now copy the message from a DBusError and then free 
   3005 	the error object befor throwing the error
   3006 
   3007 	* glib/dbus-glib-tool.c: removed extra comma at the end of the
   3008 	DBusBindingOutputMode enum which was causing a warning.
   3009 	#include <time.h> so using time_t is explicitly defined
   3010 
   3011 2005-09-26  John (J5) Palmieri  <johnp (a] redhat.com>
   3012 
   3013 	* Integrate patches from Lennart Poettering <mzsqb at 0pointer.de>:
   3014 	- dbus/dbus-bus.c
   3015 	(internal_bus_get): new method that take over the heavy lifting
   3016 	of dbus_bus_get and adds the ability to get a private connection
   3017 	to the bus
   3018 	(dbus_bus_get): wrapper to internal_bus_get that provides the same
   3019 	interface as in previous versions
   3020 	(dbus_bus_get_private): new method that is a wrapper to 
   3021 	internal_bus_get to get a private connection to the bus
   3022 
   3023 	- dbus/dbus-bus.h
   3024 	(dbus_bus_get_private): add as a public libdbus interface
   3025 
   3026 	- dbus-1.pc.in: output system_bus_default_address and 
   3027 	sysconfdir variables so apps can use them when compiling
   3028 
   3029 2005-09-23  Harald Fernengel  <harry (a] kdevelop.org>
   3030 	* dbus/qt: New Qt bindings
   3031 
   3032 2005-09-12  Waldo Bastian  <bastian (a] kde.org>
   3033 
   3034 	* dbus/dbus-marshal-validate.c,
   3035 	doc/dbus-specification.xml, test/Makefile.am,
   3036 	test/test-names.c: allow hyphens in bus names.
   3037 
   3038 2005-09-11  Mark McLoughlin  <mark (a] skynet.ie>
   3039 
   3040 	* test/data/auth/fallback.auth-script: we don't
   3041 	retry the EXTERNAL method when we know its going
   3042 	to fail anymore.
   3043 
   3044 2005-09-11  Mark McLoughlin  <mark (a] skynet.ie>
   3045 
   3046 	* dbus/dbus-connection-internal.h: rename
   3047 	(add|remove|toggle)_(watch|timeout) to unlocked()
   3048 	
   3049 	* dbus/dbus-connection.c: ditto.
   3050 	
   3051 	* dbus/dbus-timeout.c, dbus/dbus-transport-unix.c:
   3052 	Update some callers for the renaming.
   3053 
   3054 2005-09-10  Mark McLoughlin  <mark (a] skynet.ie>
   3055 
   3056 	* dbus/dbus-auth.c: (record_mechanisms): don't
   3057 	retry the first auth mechanism because we know
   3058 	we're just going to get rejected again.
   3059 	
   3060 	* dbus/dbus-keyring.c: (_dbus_keyring_reload):
   3061 	Fix thinko ... and what a nasty little bugger to
   3062 	track down you were ...
   3063 
   3064 	* dbus/dbus-connection.c:
   3065 	(_dbus_connection_add_watch),
   3066 	(_dbus_connection_remove_watch): add note about
   3067 	these needing the connection to be locked.
   3068 	(_dbus_connection_get_dispatch_status_unlocked):
   3069 	set status to DATA_REMAINS when we queue the
   3070 	disconnected message.
   3071 	
   3072 	* bus/dispatch.c:
   3073 	(bus_dispatch): fix warning.
   3074 	(check_existent_service_no_auto_start):
   3075 	Expect ChildSignaled error too.
   3076 	(check_existent_hello_from_self): fix another
   3077 	couple of warnings.
   3078 	
   3079 2005-09-08  Joe Shaw  <joeshaw (a] novell.com>
   3080 
   3081 	Patches from James Willcox <snorp (a] snorp.net>
   3082 
   3083 	* mono/Makefile.am: Add Int16.cs and UInt16.cs
   3084 
   3085 	* mono/DBusType/Array.cs: Handle multidimensional arrays, and
   3086 	support array "out" parameters.
   3087 
   3088 	* mono/DBusType/Int16.cs, mono/DBusType/UInt16.cs: New files,
   3089 	for 16-bit int support.
   3090 
   3091 2005-09-06  John (J5) Palmieri  <johnp (a] redhat.com>
   3092 
   3093 	* Released 0.50
   3094 
   3095 	* Patch from Steve Grubb:
   3096 	- bus/activation.c (bus_activation_service_reload_test): clean up
   3097 	some indentation
   3098 	- dbus/dbus-keyring.c (_dbus_keyring_reload): fix conditional 
   3099 	- dbus/dbus-message-factory.c (generate_special): fix a couple of
   3100 	buffer overflows in the test suite.  This is non critical because
   3101 	it can not be exploited and this code is only run when doing a 
   3102 	make check.
   3103 
   3104 	* Patch from Yaakov Selkowitz: Build fixes for Cygwin
   3105 	- configure.in: Don't check and link against kdecore, only qt headers
   3106 	- dbus/Makefile.am: Add -no-undefined to libdbus_1_la_LDFLAGS
   3107 	- gcj/org/freedesktop/dbus/Makefile.am:
   3108 	add libdbus_gcj_1_la_LDFLAGS = -no-undefined
   3109 	- glib/Makefile.am: Add -no-undefined to libdbus_glib_1_la_LDFLAGS
   3110 	and $(DBUS_GLIB_LIBS) to dbus_binding_tool_LDADD
   3111 	- qt/Makefile.am: Add -no-undefined to libdbus_qt_1_la_LDFLAGS
   3112 	- tools/Makefile.am: Add platform extentions to binaries 
   3113 	(i.e. .exe on windows)
   3114 
   3115 	* configure.in: 
   3116 	- Make it so if no suitable version of python is found we only 
   3117 	disable building python instead of exiting the configure script
   3118 	- Require version 2.4 of glib for glib bindings
   3119 	- Up version to 0.50
   3120 
   3121 	* python/__init__.py: Sync version with libdbus to (0,50,0)
   3122 	
   3123 2005-09-05  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   3124 
   3125 	* dbus/dbus-object-tree.c (find_subtree_recurse):
   3126 	a couple of optimizations (bug #710):
   3127 	- do a binary search in the tree
   3128 	- insert a new child at the right place directly, no need for
   3129 	  qsort anymore
   3130 	- do the "double alloc" thing when allocating children
   3131 
   3132 2005-08-31  John (J5) Palmieri  <johnp (a] redhat.com>
   3133 
   3134 	* python/Makefile.am: Break on pyrexc errors instead of ignoring them
   3135 
   3136 	* python/dbus_bindings.pyx: Memory management foo
   3137 	(global): remove hacky _user_data_references global list
   3138 	(GIL_safe_cunregister_function_handler): userdata now stuffed into
   3139 	tuples. Unref user_data
   3140 	(GIL_safe_cmessage_function_handler): userdata now stuffed into tuples
   3141 	(Connection::__del__): Remove and replace with __dealloc__ method
   3142 	(Connection::add_filter): Stuff user_data into a tuple.  Use Py_INCREF
   3143 	to keep tuple from being deallocated instead of the global var hack
   3144 	(Connection::register_object_path): Stuff user_data into a tuple.
   3145 	Use Py_INCREF to keep tuple from being deallocated instead of the 
   3146 	global var hack
   3147 	(Connection::register_fallback): Stuff user_data into a tuple.
   3148 	Use Py_INCREF to keep tuple from being deallocated instead of the 
   3149 	global var hack
   3150 	(GIL_safe_pending_call_notification): Don't unref the message
   3151 	because it gets unreffed when going out of scope.  Py_XDECREF
   3152 	the user_data
   3153 	(PendingCall::__del__): Remove and replace with __dealloc__ method
   3154 	(PendingCall::set_notify): ref the pending call because we will
   3155 	need it to stick around for when the notify callback gets called
   3156 	(Message::__del__): Remove and replace with __dealloc__ method
   3157 
   3158 	* python/dbus_glib_bindings.pyx (init_gthreads): Changed to 
   3159 	gthreads_init to match up with the dbus call
   3160 
   3161 	* python/glib.py (init_threads): Changed to threads_init to match
   3162 	up with gobject.threads_init().  init_threads is kept for backwards
   3163 	compat but will most likely be deprecated in the future
   3164 
   3165 	* test/python/test-client.py: 
   3166 	- revamp to use Python's unittest functionality
   3167 	- add async call tests
   3168 	- setup threads in glib and dbus so we make sure locks are working
   3169 	
   3170 2005-08-30  John (J5) Palmieri  <johnp (a] redhat.com>
   3171 
   3172 	* python/dbus_bindings.pyx 
   3173 	(_pending_call_notification, cunregister_function_handler, 
   3174 	cmessage_function_handler): All callback functions have been rearranged 
   3175 	to workaround a bug in Pyrex when working with the GIL which is Python's 
   3176 	global lock when dealing with threads.  They have been split into
   3177 	a wrapper function (which assumes the name of the old function) and
   3178 	a _GIL_safe_<function name> function which contains the functionality
   3179 	of the old function.  This ensures that Pyrex does not write code
   3180 	the lock is released.
   3181 	
   3182 
   3183 2005-08-30  John (J5) Palmieri  <johnp (a] redhat.com>
   3184 
   3185 	* python/dbus_bindings.pyx (_pending_call_notification): Obtain the
   3186 	GIL global lock when calling back into Python
   3187 
   3188 2005-08-29  John (J5) Palmieri  <johnp (a] redhat.com>
   3189 
   3190 	* Release 0.36.2
   3191 
   3192 	* Add Havoc's patch that never got applied to HEAD (Bug #2436):
   3193 
   3194 	* bus/policy.c (bus_policy_allow_user): change default "user is
   3195 	allowed" to be "user has same uid as the bus itself"; any
   3196 	allow/deny rules will override.
   3197 
   3198 	* bus/session.conf.in: don't allow all users, since now by default
   3199 	the user that ran the bus can connect.
   3200 
   3201 2005-08-26  Colin Walters  <walters (a] verbum.org>
   3202 
   3203 	* tools/dbus-print-message.c (print_message): Flush stdout
   3204 	after printing a message, so that redirecting to a file, then
   3205 	hitting Ctrl-C works.
   3206 
   3207 2005-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   3208 
   3209 	* python/dbus_bindings.pyx: Tracked down a major memleak and fixed it
   3210 	(EmptyMessage): new class that subclasses Message.  This is a workaround
   3211 	to a Pyrex bug that fails to call __del__ when the Message object goes out
   3212 	of scope.  For some reason subclassing Message fixes this bug
   3213 	(Bus::send_with_reply_and_block): use EmptyMessage instead of Message
   3214 	- s/Message(_create=0)/EmptyMessage everywhere else
   3215 	
   3216 	* test/python/test-{server|client}.py: add the python/.libs directory
   3217 	to the lookup path so dbus_bindings and dbus_glib_bindings don't
   3218 	get picked up from the system
   3219 
   3220 2005-08-25  Colin Walters  <walters (a] verbum.org>
   3221 
   3222 	* glib/dbus-gproxy.c (dbus_g_proxy_call): Doc update, thanks
   3223 	to Ryan Lortie for the suggestion.
   3224 
   3225 2005-08-24  John (J5) Palmieri  <johnp (a] redhat.com>
   3226 
   3227 	* test/python: Add python regression test
   3228 
   3229 	* configure.in: Add test/python/Makefile
   3230 
   3231 	* test/Makefile.am: Add the python directory to SUBDIRS
   3232 
   3233 2005-08-24  John (J5) Palmieri  <johnp (a] redhat.com>
   3234 
   3235 	* Release 0.36.1
   3236 
   3237 	* python/_dbus.py: 
   3238 	(Interface::connect_to_signal): propigate keywords for match on args
   3239 	(Bus::add_signal_receiver): Fix typo s/dbus_inteface/dbus_interface
   3240 
   3241 	* python/proxies.py (ProxyObject::connect_to_signal):
   3242 	propigate keywords for match on args
   3243 
   3244 	* Makefile.am: point everything to pyexecdir since python borks
   3245 	on multilib
   3246 
   3247 2005-08-23  John (J5) Palmieri  <johnp (a] redhat.com>
   3248 
   3249 	* Release 0.36
   3250 
   3251 2005-08-23  Colin Walters  <walters (a] verbum.org>
   3252 
   3253 	* test/glib/Makefile.am: Don't multiply-define EXTRA_DIST.
   3254 
   3255 2005-08-23  John (J5) Palmieri  <johnp (a] redhat.com>
   3256 
   3257 	* python/dbus_glib_bindings.pyx: reorder imports and c definitions
   3258 	to fix some wranings. We now use dbus_bindings.DBusConnection instead
   3259 	of defining DBusConnection ourselves.
   3260 
   3261 2005-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   3262 
   3263 	* python/dbus.pth: New path file to fix up problems when installing
   3264 	c libraries to lib64 and python files to lib.
   3265 
   3266 	* python/Makefile.am: install dbus.pth in the correct spot
   3267 
   3268 2005-08-17  John (J5) Palmieri  <johnp (a] redhat.com>
   3269 	* ChangeLog: clean up my last entry a bit
   3270 
   3271 	* doc/introspect.xsl: New stylesheet for converting introspection data
   3272 	into browser renderable xhtml. Contributed by Lennart Poettering.
   3273 
   3274 	* doc/introspect.dtd: Fixups in the introspect format from Lennart
   3275 	Poettering.
   3276 
   3277 	* doc/dbus-tutorial.xml: 
   3278 	- Add Colin Walter to the Authors section for authoring the GLib
   3279 	section
   3280 	- Add descriptions of the new signature and type functionality
   3281 	in the Python complex type mapping section
   3282 	- Add a sidenote on the new args matching functionality in 
   3283 	the Python bindings
   3284 	- Fixed up some of the examples to use the gobject.MainLoop
   3285 	instead of gtk.main
   3286 	
   3287 	* python/_dbus.py:
   3288 	(Bus::_create_args_dict): New. Converts a hash of arg matches
   3289 	to a more useable format
   3290 	(Bus::add_signal_receiver): add a **keywords parameter for catching
   3291 	arg match parameters
   3292 	(Bus::remove_signal_receiver): add a **keywords parameter for catching
   3293 	arg match parameters
   3294 	
   3295 	* python/matchrules.py:
   3296 	(MatchTree::exec_matches): Check for arg matches
   3297 	(SignalMatchRule::add_args_match): New method
   3298 	(SignalMatchRule::execute): Added args_list parameter as an optimization
   3299 	so we don't have to marshal the args more than once
   3300 	(SignalMatchRule::match_args_from_list): New method that checks to see
   3301 	if the rule's arg matches match an argument list.  Only arguments
   3302 	set in the rule are checked.
   3303 	(SignalMatchRule::match_args_from_rule): New method that checks to see
   3304 	if the rule's arg matches match another rule's.  All args have to match
   3305 	in order for this method to return true.  If either rule has more args
   3306 	then it is not a match.
   3307 	(SignalMatchRule::is_match): Add args match
   3308 	(SignalMatchRule::repr): Add args to the final output if they exist
   3309 
   3310 2005-08-17  Ross Burton  <ross (a] burtonini.com>
   3311 
   3312 	* glib/dbus-gproxy.c:
   3313 	(dbus_g_proxy_call_no_reply): unref the message once sent.
   3314 	(dbus_g_proxy_call): protect against NULL proxy.
   3315 
   3316 2005-08-16  John (J5) Palmieri  <johnp (a] redhat.com>
   3317 
   3318 	* python/__init__.py: Version updated (0, 43, 0)
   3319 	
   3320 	* python/dbus_bindings.pyx: 
   3321 	- Fixed type objects to have self passed into __init__
   3322 	- Added the Variant type
   3323 	- Add the ability to specify types or signatures for Array, Variant 
   3324 	and Dictionary
   3325 	(Connection::send_with_reply_handlers): return a PendingCall object
   3326 	(_pending_call_notification): handle the case when an error is returned 
   3327 	without an error message in the body
   3328 	(MessageIter::get_boolean): return True or False instead of an integer
   3329 	(MessageIter::python_value_to_dbus_sig): add direct checking of types 
   3330 	and add checks for objects with embeded signatures or types (Array, 
   3331 	Variant and Dictionary)
   3332 	(MessageIter::append_byte): handle case when the value is a dbus.Byte
   3333 	(MessageIter::append_dict): handle embeded types or signatures
   3334 	(MessageIter::append_array): handle embeded types or signatures
   3335 	(MessageIter::append_variant): new method
   3336 	
   3337 	* python/proxies.py:
   3338 	(DeferedMethod): New. Dummy executable object used when queuing calls 
   3339 	blocking on introspection data
   3340 	(ProxyMethod::__call__): add the timeout keyword for specifying longer 
   3341 	or shorter timeouts for method calls
   3342 	(ProxyObject): Add first pass at an introspection state machine
   3343 	(ProxyObject::__init__): Add introspect keyword for turing off an on 
   3344 	introspection. 
   3345 	(ProxyObject::_Introspect): Internal Introspect call that bypasses 
   3346 	the usual mechanisms for sending messages.  This is to avoid a deadlock
   3347 	where the Intospect call would be queued waiting for the Introspect 
   3348 	call to finish ;-)
   3349 	(ProxyObject::_introspect_reply_handler): New.  This method is called 
   3350 	when introspection returns with no error
   3351 	(ProxyObject::_introspect_error_handler): New.  This method is called 
   3352 	when introspection encounters an error
   3353 	(ProxyObject::__getattr__): Code to handle different introspection 
   3354 	states.  Queue async calls or block blocking calls if we are 
   3355 	introspecting.  Pass through as normal if we are not or are done with 
   3356 	introspecting.
   3357 	
   3358 	* python/service.py: Import signal and method from decorators.py
   3359 
   3360 	* python/types.py: Add Variant type
   3361 
   3362 2005-08-16  Colin Walters  <walters (a] verbum.org>
   3363 
   3364 	* glib/dbus-gobject.c (dbus_set_g_error): Don't lose if the
   3365 	DBusError message is NULL.
   3366 
   3367 2005-08-09  Havoc Pennington  <hp (a] redhat.com>
   3368 
   3369 	* dbus/dbus-errors.c: apply patch from Timo Teras to make a
   3370 	malloc'd copy of the name parameter
   3371 
   3372 2005-08-09  Havoc Pennington  <hp (a] redhat.com>
   3373 
   3374 	* dbus/dbus-message.c (dbus_message_set_reply_serial): print
   3375 	warning if the reply serial is set to 0
   3376 
   3377 2005-08-04  Colin Walters  <walters (a] verbum.org>
   3378 
   3379 	* glib/dbus-gvalue-utils.h (_dbus_g_type_specialized_builtins_init)
   3380 	(dbus_g_type_is_fixed, dbus_g_type_fixed_get_size)
   3381 	(dbus_gvalue_set_from_pointer, dbus_g_hash_table_value_foreach)
   3382 	(dbus_g_hash_table_insert_values, dbus_g_hash_table_insert_steal_values)
   3383 	(dbus_gtype_is_valid_hash_key, dbus_gtype_is_valid_hash_value)
   3384 	(dbus_g_hash_func_from_gtype, dbus_g_hash_free_from_gtype)
   3385 	(dbus_g_hash_equal_from_gtype, dbus_gvalue_stor, dbus_gvalue_take):
   3386 	* glib/dbus-gvalue.h (dbus_g_value_types_init)
   3387 	(dbus_gvalue_demarshal, dbus_gvalue_demarshal_variant)
   3388 	(dbus_gvalue_demarshal_message, dbus_gvalue_marshal):
   3389 	
   3390 	Prefix name with _ to ensure they're not exported.  All callers
   3391 	updated.
   3392 
   3393 	* glib/dbus-gvalue.c (typecode_to_gtype)
   3394 	(dbus_typecode_maps_to_basic, basic_typecode_to_gtype)
   3395 	(signature_iter_to_g_type_dict)
   3396 	(signature_iter_to_g_type_array)
   3397 	(dbus_gtype_from_signature_iter, dbus_gtype_from_signature)
   3398 	(dbus_gtypes_from_arg_signature):
   3399 	Move to dbus-gsignature.c.
   3400 
   3401 	* glib/dbus-binding-tool-glib.c (dbus_binding_tool_output_glib_server): Call
   3402 	dbus_g_type_specialized_builtins_init instead of dbus_g_value_types_init.
   3403 	(dbus_binding_tool_output_glib_client): Ditto.
   3404 
   3405 	* glib/Makefile.am (DBUS_GLIB_INTERNALS): Add dbus-gsignature.c
   3406 	and dbus-gsignature.h
   3407 
   3408 	* test/glib/test-service-glib.c (my_object_rec_arrays): Delete
   3409 	unused variable.
   3410 
   3411 2005-08-03  Colin Walters  <walters (a] verbum.org>
   3412 
   3413 	* glib/dbus-gobject.c: Add tests on hardcoded object info; this should
   3414 	catch any incompatible changes accidentally made.
   3415 
   3416 2005-08-03  Havoc Pennington  <hp (a] redhat.com>
   3417 
   3418 	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): fix
   3419 	typo, from Julien Puydt
   3420 
   3421 	* bus/connection.c (bus_connection_disconnected): we were always
   3422 	doing a wait_for_memory due to a buggy loop, found by Timo Hoenig
   3423 
   3424 2005-08-01  Colin Walters  <walters (a] verbum.org>
   3425 
   3426 	Patch from Joe Markus Clarke:	
   3427 	
   3428 	* glib/dbus-gidl.c (property_info_unref, arg_info_unref): Fix
   3429 	use-after-free.
   3430 
   3431 2005-08-01  Colin Walters  <walters (a] verbum.org>
   3432 	
   3433 	Patch from Joe Markus Clarke:	
   3434 	
   3435 	* tools/dbus-send.c (main): 
   3436 	
   3437 	Don't use C99 style initializers (bug #3933).
   3438 	
   3439 2005-08-01  Colin Walters  <walters (a] verbum.org>
   3440 
   3441 	Patch from Joe Markus Clarke:	
   3442 
   3443 	* glib/dbus-gvalue.c (dbus_g_value_types_init): 
   3444 	* glib/dbus-gvalue-utils.c (dbus_g_type_specialized_builtins_init) 
   3445 	* glib/dbus-gobject.c (write_interface):
   3446 
   3447 	Don't use C99 style initializers (bug #3933).
   3448 
   3449 2005-07-31  Havoc Pennington  <hp (a] redhat.com>
   3450 
   3451 	* tools/dbus-viewer.c (load_child_nodes): fix invocation of
   3452 	dbus_g_proxy_call, fix from Piotr Zielinski bug #3920
   3453 
   3454 2005-07-30  Havoc Pennington  <hp (a] redhat.com>
   3455 
   3456 	* fix a bunch of Doxygen warnings and mistakes
   3457 
   3458 2005-07-30  Havoc Pennington  <hp (a] redhat.com>
   3459 
   3460 	* dbus/dbus-sysdeps.c (_dbus_string_parse_uint): remove #ifdef
   3461 	DBUS_BUILD_TESTS since it's now used in production code
   3462 
   3463 2005-07-29  Havoc Pennington  <hp (a] redhat.com>
   3464 
   3465 	* test/glib/test-profile.c (write_junk): initialize the junk
   3466 	buffer so valgrind doesn't have a breakdown
   3467 
   3468 2005-07-29  Havoc Pennington  <hp (a] redhat.com>
   3469 
   3470 	* bus/signals.c (bus_signals_test): add match_rule_equal() tests
   3471 	(match_rule_matches): remove unused arg
   3472 	(test_matching): add tests for match_rule_matches()
   3473 
   3474 	* bus/signals.c (bus_match_rule_parse_arg_match): add ability to
   3475 	do arg0='foo' arg5='bar' in the match rules
   3476 	(match_rule_matches): don't match if the arg0='foo' doesn't match.
   3477 
   3478 	* dbus/dbus-protocol.h (DBUS_MAXIMUM_MATCH_RULE_ARG_NUMBER): add this
   3479 
   3480 2005-07-29  Ross Burton  <ross (a] openedhand.com>
   3481 
   3482 	* dbus/dbus-connection.c:
   3483 	Don't create a DBusCondVar which is never used.
   3484 
   3485 2005-07-27  Ross Burton  <ross (a] openedhand.com>
   3486 
   3487 	* dbus/dbus-message.c:
   3488 	Reduce the size of the maximum cached message to 10K.
   3489 
   3490 2005-07-25  Ross Burton  <ross (a] openedhand.com>
   3491 
   3492 	* glib/dbus-gproxy.c:
   3493 	Remove matches when all proxies are unregistered.
   3494 
   3495 2005-07-24  Colin Walters  <walters (a] verbum.org>
   3496 
   3497 	* glib/dbus-gvalue.c (signature_iter_to_g_type_array): Don't require
   3498 	typedata; recursive arrays won't have it.
   3499 
   3500 	* test/glib/test-dbus-glib.c:
   3501 	* test/glib/test-service-glib.c:
   3502 	* test/glib/test-service-glib.xml: Add recursive arrays tests.
   3503 	
   3504 2005-07-20  John (J5) Palmieir  <johnp (a] redhat.com>
   3505 
   3506 	* python/_dbus.py, _util.py, decorators.py, extract.py, matchrules.py.
   3507 	proxies.py, service.py: Cleanup of code after running it through the
   3508 	pyflakes code checker mostly dealing with undefined names.  
   3509 	(Bug #3828, Patch from Anthony Baxter <anthony (a] interlink.com.au>)
   3510 
   3511 2005-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   3512 
   3513 	* NEWS: Update to 0.35.2
   3514 
   3515 2005-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   3516 
   3517 	* python/_dbus.py: Remove import of the dbus.services
   3518 	module as it no longer exists (patch from Dimitur Kirov)
   3519 
   3520 	* python/service.py (Object::__init__): Fixed typo
   3521 	s/name/bus_name (patch from Dimitur Kirov)
   3522 
   3523 	* python/examples/example-signal-emitter.py: import dbus.glib
   3524 	to get the main loop and use glib mainloop instead of gtk so
   3525 	X doesn't have to be running.
   3526 
   3527 	* python/examples/example-signal-recipient.py: import dbus.glib
   3528 	to get the main loop and use glib mainloop instead of gtk so
   3529 	X doesn't have to be running. Import the decorators module
   3530 	directly.
   3531 
   3532 	* test/glib/Makefile.am:  Added DIST_EXTRA files that distcheck
   3533 	didn't pick up on but are needed to build
   3534 
   3535 	* configure.in: upped version to 0.35.2
   3536 
   3537 	* bus/driver.c, bus/selinux.c, bus/selinux.h, dbus/dbus-protocol.h:
   3538 	added Colin Walters' SELinux API rename patch from head 
   3539 	s/unix sercurity context/selinux security context/
   3540 
   3541 2005-07-16  John (J5) Palmieri  <johnp (a] redhat.com>
   3542 
   3543 	* python/Makefile.am: dbus_binding.pxd.in should be included 
   3544 	in EXTRA_DIST not dbus_binding.pxd
   3545 	fix up $(srcdir) hopefully for the last time
   3546 
   3547 	* NEWS: Update to 0.35.1
   3548 
   3549 2005-07-16  Colin Walters  <walters (a] verbum.org>
   3550 
   3551 	* bus/driver.c (bus_driver_handle_get_connection_selinux_security_context): Renamed
   3552 	from bus_driver_handle_get_connection_unix_security_context.  Update for
   3553 	error usage.
   3554 	(message_handlers): Update for renames.
   3555 
   3556 	* bus/selinux.c (bus_selinux_allows_send): Handle OOM on
   3557 	_dbus_string_init failure correctly.
   3558 	(bus_selinux_append_context): Convert SID to context.  Append it
   3559 	as a byte array.
   3560 	(bus_selinux_shutdown): Handle the case where bus_selinux_full_init
   3561 	hasn't been called.
   3562 
   3563 	* bus/selinux.h: Update prototype.
   3564 
   3565 	* dbus/dbus-protocol.h (DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN): Renamed
   3566 	from DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN.
   3567 
   3568 2005-07-15  Colin Walters  <walters (a] verbum.org>
   3569 
   3570 	* doc/TODO: Add note about convenience wrappers.
   3571 
   3572 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3573 
   3574 	* NEWS: Update to 0.35
   3575 
   3576 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3577 
   3578 	* glib/Makefile.am: Add make-dbus-glib-error-switch.sh to EXTRA_DIST
   3579 	so distcheck doesn't fail
   3580 
   3581 	* glib/examples/Makefile.am: Add example-service.xml and 
   3582 	example-signal-emitter.xml to EXTRA_DIST so distcheck doesn't fail
   3583 
   3584 	* glib/examples/statemachine/Makefile.am: Add statemachine.xml and
   3585 	statemachine-server.xml to EXTRA_DIST so distcheck doesn't fail
   3586 
   3587 	* python/Makefile.am: Preprend $(srcdir)/ to source files so the
   3588 	compiler looks in the right places during distcheck
   3589 
   3590 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3591 
   3592 	* glib/example/Makefile.am: Fix a typo which cause make distcheck
   3593 	to fail
   3594 
   3595 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3596 
   3597 	* python/examples/example-service.py,
   3598 	python/examples/example-signal-emitter.py: Fixed up examples
   3599 	for API changes
   3600 
   3601 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3602 
   3603 	* python/__init__.py: Upped to version (0,42,0) because of
   3604 	the API change
   3605 
   3606 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3607 
   3608 	* ChangeLog: fix date in last entry
   3609 
   3610 	* configure.in, bus/system.conf.in: add the ability to configure 
   3611 	the system bus user at compiletime with the --with-dbus-user flag
   3612 	(patch from Kristof Vansant)
   3613 
   3614 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3615 
   3616 	* bus/dispatch.c, test/test-service.c: Add testcase
   3617 	for sending messages to oneself (TODO item).
   3618 
   3619 	* python/service.py (class Object): Swap ordering of bus_name 
   3620 	and object_path parameters to better support inheritance.
   3621 
   3622 	* doc/dbus-tutorial.xml: change Python docs to reflect change
   3623 	in parameter ordering and fix the inheritance section.
   3624 
   3625 	* doc/TODO: remove sending message to oneself TODO item
   3626 
   3627 2005-07-15  Ross Burton  <ross (a] openedhand.com>
   3628 
   3629 	* glib/dbus-gproxy.c:
   3630 	Fix a leak when calling methods via the proxy.
   3631 
   3632 2005-07-15  Colin Walters  <walters (a] verbum.org>
   3633 
   3634 	* bus/selinux.c (bus_selinux_append_context): Wrap in
   3635 	HAVE_SELINUX.
   3636 
   3637 2005-07-14  John (J5) Palmieri  <johnp (a] redhat.com>
   3638 
   3639 	* python/_dbus.py (Bus::remove_signal_receiver):
   3640 	don't add a callback to the match if none has been passed in
   3641 	
   3642 	* python/matchrules.py (SignalMatchTree::remove): if the rule
   3643 	being matched does not have a callback treat it as a wildcard
   3644 	fix matching logic
   3645 
   3646 	* doc/dbus-tutorial.xml: Add Python tutorial
   3647 
   3648 2005-07-14  Colin Walters  <walters (a] verbum.org>
   3649 
   3650 	* bus/driver.c
   3651 	(bus_driver_handle_get_connection_unix_security_context): New function.
   3652 	(message_handlers): Add.
   3653 
   3654 	* bus/selinux.c (bus_selinux_append_context): New function; appends
   3655 	security context to message.
   3656 
   3657 	* bus/selinux.h: Prototype.
   3658 
   3659 	* dbus/dbus-protocol.h (DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN): New.
   3660 
   3661 2005-07-14  John (J5) Palmieri  <johnp (a] redhat.com>
   3662 
   3663 	* bus/activation.c: clean up all tabs to be 8 spaces 
   3664 	(bus_activation_activate_service): make sure we clean up
   3665 	if activation fails
   3666 
   3667 	* bus/dispatch.c: clean up all tabs to be 8 spaces 
   3668 	(check_shell_fail_service_auto_start): New function
   3669 	tests to make sure we get fail properly when trying to auto start a service
   3670 	with a faulty command line
   3671 	(check_shell_service_success_auto_start): New function tests to make sure
   3672 	auto started services get the arguments on the command line
   3673 
   3674 	* test/test-shell-service.c: Added service for testing auto-starting with 
   3675 	command line arguments
   3676 
   3677 	* test/data/valid-service-files/debug-shell-echo-fail.service.in, 
   3678 	test/data/valid-service-files/debug-shell-echo-success.service.in:
   3679 	Added service files for testing auto-starting with command line arguments
   3680 
   3681 	* */.cvsignore: added a bunch of generated files to various .cvsignore files
   3682 
   3683 2005-07-14  Rodrigo Moya  <rodrigo (a] novell.com>
   3684 
   3685 	* dbus/dbus-shell.[ch]: copy/pasted code from GLib.
   3686 	
   3687 	* dbus/Makefile.am: added new files to build.
   3688 
   3689 	* bus/activation.c (bus_activation_activate_service): support
   3690 	activation commands with parameters.
   3691 
   3692 	* test/shell-test.c: added test program for the shell parsing
   3693 	code.
   3694 
   3695 2005-07-13  David Zeuthen  <davidz (a] redhat.com>
   3696 
   3697 	* tools/dbus-send.c (append_arg, type_from_name): Also support 16 and
   3698 	64 bit signed and unsigned parameters
   3699 
   3700 2005-07-13  John (J5) Palmieri  <johnp (a] redhat.com>
   3701 
   3702 	* python/.cvsignore: remove dbus_bindings.pyx, add dbus_bindings.pxd
   3703 
   3704 	* python/service.py (class Name): renamed BusName to make it clearer
   3705 	what the object is for (a name on the bus)
   3706 
   3707 	* python/examples/example-service.py,
   3708 	python/examples/example-signal-emitter.py: change the Name object to
   3709 	BusName
   3710 
   3711 2005-07-12  Colin Walters  <walters (a] verbum.org>
   3712 
   3713 	Patch from Jim Gettys <Jim.Gettys (a] hp.com>.
   3714 
   3715 	* tools/dbus-launch.c: Include sys/select.h.
   3716 
   3717 2005-07-12  John (J5) Palmieri  <johnp (a] redhat.com>
   3718 	* python/dbus_bindings.pyx.in: removed
   3719 
   3720 	* python/dbus_bindings.pyx: Added.
   3721 	- Fixed some memleaks (patch from 
   3722 	Sean Meiners <sean.meiners (a] linspireinc.com>)
   3723 	- Broke out the #include "dbus_h_wrapper.h" and put it in its
   3724 	own pxd file (Pyrex definition)
   3725 	- Broke out glib dependancies into its own pyx module
   3726 	
   3727 	* python/dbus_bindings.pdx: Added.
   3728 	- Defines C class Connection for exporting to other modules
   3729 
   3730 	* python/dbus_glib_bindings.pyx: Added.
   3731 	- New module to handle lowlevel dbus-glib mainloop integration
   3732 
   3733 	* python/glib.py: Added.
   3734 	- Registers the glib mainloop when you import this module
   3735 
   3736 	* python/services.py: Removed (renamed to service.py)
   3737 	
   3738 	* python/service.py: Added.
   3739 	- (class Server): renamed Name
   3740 
   3741 	* python/__init__.py: Bump ro version (0,41,0)
   3742 	-don't import the decorators or service module
   3743 	by default.  These now reside in the dbus.service namespace
   3744 
   3745 	* python/_dbus.py (Bus::__init__): Add code run the main loop 
   3746 	setup function on creation 
   3747 
   3748 	* python/examples/example-service.py,
   3749 	python/examples/example-signal-emitter.py: update examples
   3750 
   3751 	* python/examples/gconf-proxy-service.py,
   3752 	python/examples/gconf-proxy-service2.py: TODO fix these up
   3753 
   3754 	* doc/TODO: Addition
   3755 	- Added a Python Bindings 1.0 section
   3756 	- added "Add match on args or match on details to match rules"
   3757 
   3758 
   3759 2005-07-12  Colin Walters  <walters (a] verbum.org>
   3760 
   3761 	* glib/examples/statemachine/Makefile.am (statemachine-server-glue.h) 
   3762 	(statemachine-glue.h): 
   3763 	* glib/examples/Makefile.am (example-service-glue.h) 
   3764 	(example-signal-emitter-glue.h): 
   3765 	* glib/Makefile.am (dbus-glib-error-switch.h): 
   3766 	Add libtool --mode=execute so we use the built library instead
   3767 	of any installed one.
   3768 
   3769 2005-07-11  Colin Walters  <walters (a] verbum.org>
   3770 
   3771 	* glib/dbus-gvalue.c (struct _DBusGValue): Delete.
   3772 	(dbus_g_value_types_init): Remove assertion.
   3773 	(dbus_g_value_get_g_type, dbus_g_value_open)
   3774 	(dbus_g_value_iterator_get_values, dbus_g_value_get_signature)
   3775 	(dbus_g_value_copy, dbus_g_value_free): Delete unimplemented
   3776 	functions related to DBusGValue.  Now we marshal/demarshal
   3777 	structures as GValueArray.
   3778 	(dbus_gtype_from_signature_iter): Return G_TYPE_VALUE_ARRAY for
   3779 	structures.
   3780 	(signature_iter_to_g_type_array): Don't call
   3781 	signature_iter_to_g_type_struct.
   3782 	(signature_iter_to_g_type_struct): Delete.
   3783 	(dbus_gvalue_to_signature): Delete.
   3784 	(dbus_gvalue_to_signature): New function with same name as other
   3785 	one; we can convert structures to signatures.
   3786 	(demarshal_valuearray): New function.
   3787 	(get_type_demarshaller): Use it.
   3788 	(demarshal_recurse): Delete.
   3789 	(marshal_proxy): New function.
   3790 	(marshal_map): Warn if we can't determine signature from type.
   3791 	(marshal_collection_ptrarray): Ditto.
   3792 	(marshal_collection_array): Ditto.
   3793 	(get_type_marshaller): Use marshal_valuearray.
   3794 	(marshal_recurse): Delete.
   3795 	(_dbus_gvalue_test): Add some tests.
   3796 
   3797 	* dbus/dbus-glib.h (struct _DBusGValueIterator): 
   3798 	(dbus_g_value_get_g_type, DBUS_TYPE_G_VALUE)
   3799 	(dbus_g_value_open, dbus_g_value_iterator_get_value)
   3800 	(dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
   3801 	(dbus_g_value_free): Remove prototypes.
   3802 
   3803 	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_lookup_function): Handle
   3804 	G_TYPE_VALUE_ARRAY.
   3805 
   3806 	* glib/examples/example-service.c:
   3807 	* glib/examples/example-client.c: Implement GetTuple.
   3808 
   3809 	* test/glib/test-dbus-glib.c:
   3810 	* test/glib/test-service-glib.c:
   3811 	* test/glib/test-service-glib.xml: Add structure tests.
   3812 
   3813 2005-07-10  Colin Walters  <walters (a] verbum.org>
   3814 
   3815 	* doc/TODO: Knock off some GLib items with this patch.
   3816 
   3817 	* glib/dbus-gvalue-utils.c (_dbus_gtype_can_signal_error) 
   3818 	(_dbus_gvalue_signals_error): New functions.
   3819 
   3820 	* glib/dbus-gvalue-utils.h: Prototype them.
   3821 
   3822 	* glib/dbus-gobject.c (arg_iterate): Update to handle return vals
   3823 	and change to not output const/retval flags for input args.  All
   3824 	callers updated.
   3825 	(invoke_object_method): Refactor to handle return values.  Add
   3826 	some more comments in various places.  Remove debug g_print.
   3827 
   3828 	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_RETURNVAL): New.
   3829 
   3830 	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_marshal_name):
   3831 	Handle G_TYPE_NONE.
   3832 	(compute_gsignature): New function; refactored from code from
   3833 	compute_marshaller and compute_marshaller_name.  Enhance to
   3834 	handle return values and async ops more cleanly.  Update for
   3835 	async ops returning NONE instead of BOOLEAN.
   3836 	(compute_marshaller, compute_marshaller_name): Call compute_gsignature
   3837 	and output appropriate string.
   3838 	(generate_glue): Handle return value annotation.  Also don't dump
   3839 	constness flag for input arguments.
   3840 
   3841 	* glib/Makefile.am (DBUS_GLIB_INTERNALS): New variable; contains
   3842 	files shared between installed library and utilities.
   3843 	(libdbus_glib_1_la_SOURCES): Move some stuf into DBUS_GLIB_INTERNALS.
   3844 	(libdbus_gtool_la_SOURCES): Suck in DBUS_GLIB_INTERNALS so the
   3845 	binding tool can access gtype utility functions.
   3846 
   3847 	* test/glib/test-service-glib.c: 
   3848 	* test/glib/test-service-glib.xml: 
   3849 	* test/glib/test-dbus-glib.c: Add some tests for return values.
   3850 
   3851 2005-07-09  Colin Walters  <walters (a] verbum.org>
   3852 
   3853 	* glib/dbus-gparser.c (parse_annotation): Add annotations to
   3854 	argument if available, not method.
   3855 
   3856 	* glib/dbus-gobject.c (arg_iterate): More verbose warnings.
   3857 	(invoke_object_method): First, remove some redundant
   3858 	GValues (object_value, error_value) in favor of working on
   3859 	array directly.  Second, rework constness to be less buggy.
   3860 	Now we iterate directly over the argument metadata instead
   3861 	of parallel iterating over output signature and metadata.
   3862 
   3863 	* glib/dbus-glib-tool.h: Add INVALID_ANNOTATION error.
   3864 
   3865 	* glib/dbus-binding-tool-glib.c (generate_glue): Barf on const
   3866 	annotation on input args.
   3867 	
   3868 2005-07-09  Colin Walters  <walters (a] verbum.org>
   3869 
   3870 	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_CONST):
   3871 	Define.
   3872 
   3873 	* glib/dbus-binding-tool-glib.c (generate_glue): Handle Const
   3874 	annotation.
   3875 
   3876 	* glib/dbus-gobject.c (arg_iterate): Update to parse constval too.
   3877 	(method_dir_signature_from_object_info): Handle arg_iterate change.
   3878 	(write_interface): Ditto.
   3879 	(lookup_object_info): Don't barf if format_version is > 0.
   3880 	(invoke_object_method): Handle arg constness.
   3881 
   3882 	* glib/dbus-gidl.c (struct ArgInfo): Add annotations.
   3883 	(arg_info_new): Create.
   3884 	(arg_info_unref): Destroy.
   3885 	(arg_info_get_annotations, arg_info_get_annotation) 
   3886 	(arg_info_add_annotation): New functions.
   3887 
   3888 	* glib/dbus-gidl.h: Prototype them.
   3889 
   3890 	* glib/dbus-gparser.c (parse_annotation): Allow annotations in
   3891 	args, disallow them in properties.
   3892 	(parse_annotation): Handle arg annotations.
   3893 
   3894 	* test/glib/test-service-glib.xml: 
   3895 	* test/glib/test-service-glib.c: Update to make some methods
   3896 	const.
   3897 
   3898 2005-07-08  Colin Walters  <walters (a] verbum.org>
   3899 
   3900 	* test/glib/test-service-glib.xml: 
   3901 	* test/glib/test-service-glib.c:
   3902 	* test/glib/test-dbus-glib.c: Test a{sv}.
   3903 
   3904 	* glib/examples/statemachine/statemachine.c:
   3905 	* glib/examples/statemachine/statemachine-server.c:
   3906 	* glib/examples/statemachine/statemachine-client.c: Fix some bugs,
   3907 	add progress bar, etc.
   3908 
   3909 	* glib/dbus-gvalue.c (register_array, register_dict): Delete; not
   3910 	needed anymore due to generic array/map marshalling.
   3911 	(dbus_g_value_types_init): Don't register basic arrays or the
   3912 	string/string hash.
   3913 	(dbus_gtype_from_signature_iter): Don't try to recurse into
   3914 	variants.
   3915 	(dbus_gtype_to_signature): Check collection/map before type
   3916 	metadata.
   3917 	(demarshal_garray_basic): Renamed to demarshal_collection_array.
   3918 	(demarshal_ghashtable): Renamed to demarshal_map; fix to use new
   3919 	generic map creation/append functions instead of hash table
   3920 	specifically.
   3921 	(get_type_demarshaller): Handle maps.
   3922 	(demarshal_collection): Dispatch on collection type to either
   3923 	demarshal_collection_ptrarray or demarshal_collection_array.
   3924 	(get_type_marshaller): Handle maps.
   3925 	(marshal_collection): Dispatch collection type to either
   3926 	marshal_collection_ptrarray or marshal_collection_array.
   3927 	(_dbus_gvalue_test): New test.
   3928 
   3929 	* glib/dbus-gvalue-utils.c (unset_and_free_g_value): New function.
   3930 	(hash_free_from_gtype): Use it to free GValues.
   3931 	(hashtable_append): New function.
   3932 	(ptrarray_append): Fix prototype.
   3933 	(slist_append): Ditto.
   3934 	(_dbus_gvalue_utils_test): Extend tests.
   3935 
   3936 	* glib/dbus-gtype-specialized.c
   3937 	(dbus_g_type_specialized_init_append): Renamed from
   3938 	dbus_g_type_specialized_collection_init_append.  Remove const from
   3939 	value, since we steal it.
   3940 	(dbus_g_type_specialized_map_append): New function.
   3941 
   3942 	* glib/dbus-gtype-specialized.h: Update prototypes.
   3943 	Add DBusGTypeSpecializedMapAppendFunc.
   3944 
   3945 	* glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
   3946 	_dbus_gvalue_test.
   3947 	
   3948 	* glib/dbus-gtest.h: Prototype it.
   3949 
   3950 2005-07-08  Ross Burton  <ross (a] openedhand.com>
   3951 
   3952 	* dbus/dbus-glib.h:
   3953 	Add DBysGAsyncData for the async bindings.
   3954 
   3955 	* glib/dbus-binding-tool-glib.c:
   3956 	Re-enable the async bindings.
   3957 
   3958 	* test/glib/test-dbus-glib.c:
   3959 	Add a test for the generated async bindings.
   3960 
   3961 2005-07-08  Colin Walters  <walters (a] verbum.org>
   3962 
   3963 	* doc/TODO: Update GLib todo bits, also add a post-1.0 TODO for a
   3964 	connection concept.
   3965 	
   3966 2005-07-08  Colin Walters  <walters (a] verbum.org>
   3967 	
   3968 	* tools/Makefile.am: Kill of print-introspect in favor of using
   3969 	dbus-send --print-reply=literal.
   3970 
   3971 	* test/glib/test-service-glib.xml: 
   3972 	* test/glib/test-service-glib.c (my_object_get_objs): New test
   3973 	for "ao".
   3974 
   3975 	* test/glib/test-dbus-glib.c (echo_received_cb): Free echo data.
   3976 	(main): Test GetObjs.
   3977 
   3978 	* glib/examples/statemachine/Makefile.am:
   3979 	* glib/examples/statemachine/sm-marshal.list:
   3980 	* glib/examples/statemachine/statemachine-client.c:
   3981 	* glib/examples/statemachine/statemachine-server.c:
   3982 	* glib/examples/statemachine/statemachine-server.xml:
   3983 	* glib/examples/statemachine/statemachine.c:
   3984 	* glib/examples/statemachine/statemachine.h:
   3985 	* glib/examples/statemachine/statemachine.xml:
   3986 
   3987 	New example.
   3988 
   3989 	* glib/examples/example-service.c (main): Move invocation
   3990 	of dbus_g_object_type_install_info earlier, to emphasize it
   3991 	should only be done once.
   3992 
   3993 	* glib/examples/example-signal-emitter.c (main): Ditto.
   3994 
   3995 	* glib/examples/Makefile.am (SUBDIRS): Include statemachine.
   3996 
   3997 	* glib/dbus-gvalue.h (dbus_gtype_to_signature)
   3998 	(dbus_gvalue_marshal): Update prototypes.
   3999 
   4000 	* glib/dbus-gvalue.c: Update all marshalling functions to take
   4001 	const GValue instead of GValue.
   4002 	(signature_iter_to_g_type_array): Return a GPtrArray for nonfixed
   4003 	types.
   4004 	(dbus_gvalue_to_signature): Update for dbus_gtype_to_signature
   4005 	change.
   4006 	(dbus_gtype_to_signature): Handle generic collecitons and maps.
   4007 	Return a newly-allocated string.
   4008 	(demarshal_proxy, demarshal_object_path, demarshal_object)
   4009 	(demarshal_strv, demarshal_ghashtable): Set error, don't assert if
   4010 	we get the wrong types from message.
   4011 	(get_type_demarshaller): New function, extracted from
   4012 	dbus_gvalue_demarshal.
   4013 	(demarshal_collection): New function, demarshals generic
   4014 	collection.
   4015 	(dbus_gvalue_demarshal): Just invoke result of
   4016 	get_type_demarshaller.  Throw error if we don't have one.
   4017 	(marshal_garray_basic): Abort on OOM.
   4018 	(get_type_marshaller): New function, extracted from
   4019 	dbus_gvalue_marshal.
   4020 	(collection_marshal_iterator, marshal_collection): New functions;
   4021 	implements generic marshalling for an iteratable specialized
   4022 	collection.
   4023 	(dbus_gvalue_marshal): Just invoke result of get_type_marshaller.
   4024 
   4025 	* glib/dbus-gvalue-utils.c (gvalue_from_ptrarray_value): Handle
   4026 	G_TYPE_STRING.
   4027 	(ptrarray_value_from_gvalue): Ditto.
   4028 	(ptrarray_append, ptrarray_free): New functions.
   4029 	(slist_constructor, slist_iterator, slist_copy_elt, slist_copy) 
   4030 	(slist_append, slist_end_append, slist_free): New functions.
   4031 	(dbus_g_type_specialized_builtins_init): Add append fuctions
   4032 	for GPtrArray and GSList.  Register GSList.
   4033 	(test_specialized_hash, _dbus_gvalue_utils_test): New functions.
   4034 
   4035 	* glib/dbus-gtype-specialized.h (DBusGTypeSpecializedAppendContext):
   4036 	New.
   4037 	(dbus_g_type_specialized_collection_init_append)
   4038 	(dbus_g_type_specialized_collection_append)
   4039 	(dbus_g_type_specialized_collection_end_append): Prototype.
   4040 	(DBusGTypeSpecializedCollectionVtable): Add append_func and
   4041 	end_append_func.
   4042 
   4043 	* glib/dbus-gtype-specialized.c (dbus_g_type_specialized_collection_init_append) 
   4044 	(dbus_g_type_specialized_collection_append) 
   4045 	(dbus_g_type_specialized_collection_end_append): New functions.
   4046 	(dbus_g_type_map_value_iterate): Take const GValue.
   4047 	(dbus_g_type_collection_value_iterate): Ditto.
   4048 
   4049 	* glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
   4050 	_dbus_gvalue_utils_test.
   4051 	
   4052 	* glib/dbus-gtest.h: Prototype it.
   4053 
   4054 	* glib/dbus-gproxy.c (dbus_g_proxy_manager_filter): Avoid
   4055 	using uninitialized owner_list.
   4056 	(dbus_g_proxy_begin_call_internal): Move return_if_fail to
   4057 	public API.
   4058 	(dbus_g_proxy_end_call_internal): Update to use error set
   4059 	from dbus_gvalue_demarshal instead of setting it here.
   4060 	(dbus_g_proxy_begin_call): Move return_if_fail here.
   4061 
   4062 	* glib/dbus-gobject.c (write_interface): Update for
   4063 	dbus_gtype_to_signature returning new string.
   4064 
   4065 	* configure.in: Add glib/examples/statemachine.
   4066 
   4067 2005-07-08  Joe Shaw  <joeshaw (a] novell.com>
   4068 
   4069 	* configure.in: Add a configure option, --with-console-auth-dir
   4070 	
   4071 	* dbus/dbus-sysdeps-util.c (_dbus_user_at_console): Use the
   4072 	new setting.  Patch from Kay Sievers.
   4073 
   4074 2005-07-06  Colin Walters  <walters (a] verbum.org>
   4075 
   4076 	* dbus/dbus-glib.h (DBusGPendingCall, DBusGPendingCallNotify)
   4077 	(DBUS_TYPE_G_PENDING_CALL, dbus_g_pending_call_get_g_type)
   4078 	(dbus_g_pending_call_ref, dbus_g_pending_call_unref): Delete.
   4079 	(dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel):
   4080 	Delete in favor of dbus_g_proxy_begin_call and
   4081 	dbus_g_proxy_cancel_call.
   4082 	(DBusGProxyCall, DBusGProxyCallNotify): New.
   4083 	(dbus_g_proxy_begin_call): Change prototype to take callback, user
   4084 	data, and destroy function.  This replaces
   4085 	dbus_g_pending_call_set_notify.
   4086 	(dbus_g_proxy_cancel_call): Prototype.
   4087 	(DBusGAsyncData): Delete, shouldn't be needed anymore.
   4088 
   4089 	* glib/dbus-gproxy.c (struct _DBusGProxy): Add call_id_counter and
   4090 	pending_calls map.
   4091 	(struct _DBusGProxyManager): Add bus_proxy member, which is an
   4092 	internal proxy for calls to the bus. Remove
   4093 	pending_nameowner_calls, now the internal proxy keeps track.
   4094 	(dbus_g_proxy_manager_unref): Unref bus proxy, remove reference to
   4095 	pending_nameowner_calls.
   4096 	(got_name_owner_cb): Update prototype, and use
   4097 	dbus_g_proxy_end_call.
   4098 	(got_name_owner_cb): Remove reference to pending_nameowner_calls.
   4099 	(dbus_g_proxy_manager_register): Delete directly libdbus code in
   4100 	favor of using internal proxy.
   4101 	(dbus_g_proxy_manager_unregister): Update to use
   4102 	dbus_g_proxy_cancel_call for any pending GetNameOwner call.
   4103 	(dbus_g_proxy_init): Initialize pending calls map.
   4104 	(dbus_g_proxy_constructor): New.
   4105 	(dbus_g_proxy_class_init): Add get/set property functions,
   4106 	constructor, and add NAME, PATH, and INTERFACE properties.
   4107 	(cancel_pending_call): New function.
   4108 	(dbus_g_proxy_dispose): Iterate over any outstanding calls and
   4109 	cancel them.
   4110 	(dbus_g_proxy_set_property, dbus_g_proxy_get_property): New.
   4111 	(GPendingNotifyClosure): New structure.
   4112 	(d_pending_call_notify, d_pending_call_free): Moved here from
   4113 	dbus-glib.c.
   4114 	(DBUS_G_VALUE_ARRAY_COLLECT_ALL): Moved around to satisfy function
   4115 	ordering.
   4116 	(manager_begin_bus_call): New internal function for talking to
   4117 	internal bus proxy.
   4118 	(dbus_g_proxy_new): Construct object using GObjet properties.
   4119 	(dbus_g_proxy_begin_call_internal): Update to take user data, etc.
   4120 	Create closure of same, and insert call into map of pending calls.
   4121 	(dbus_g_proxy_end_call_internal): Take call id instead of pending
   4122 	call.  Look up pending call in current set.  Remove it when we've
   4123 	completed.
   4124 	(dbus_g_pending_call_end, dbus_g_proxy_end_call_internal): Delete.
   4125 	(dbus_g_proxy_begin_call): Change API to take callback, user data,
   4126 	and destroy function directly.
   4127 	(dbus_g_proxy_end_call): Update to take DBusGProxyCall.
   4128 	(dbus_g_proxy_call): Invoke with NULL callback.
   4129 	(dbus_g_proxy_cancel_call): New function, replaces
   4130 	dbus_g_pending_call_cancel.
   4131 
   4132 	* glib/dbus-gparser.c (validate_signature): Fix call to
   4133 	dbus_set_g_error.
   4134 
   4135 	* glib/dbus-gobject.c (dbus_g_object_type_dbus_metadata_quark):
   4136 	New quark for attaching metadata to GType.
   4137 	(info_hash): Delete.
   4138 	(lookup_object_info): Look up using quark.
   4139 	(dbus_g_object_type_install_info): Check that a type is classed,
   4140 	not that it's an object.  Also just install type data using quark
   4141 	instead of using global hash.
   4142 
   4143 	* glib/dbus-glib.c (dbus_g_pending_call_ref) 
   4144 	(dbus_g_pending_call_unref, dbus_pending_call_get_g_type)
   4145 	(GPendingNotifyClosure): Delete.
   4146 	(d_pending_call_notify, d_pending_call_free): Move to dbus-gproxy.c.
   4147 	(dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel): Delete.
   4148 
   4149 	* glib/dbus-binding-tool-glib.c (generate_client_glue): Disable async
   4150 	client method generation until we can fix it...
   4151 	
   4152 	* tools/dbus-viewer.c (load_child_nodes): Use dbus_g_proxy_call.
   4153 	(load_from_service_thread_func): Ditto.
   4154 
   4155 	* tools/dbus-names-model.c (struct NamesModel): Hold
   4156 	DBusGProxyCall.
   4157 	(have_names_notify): Update prototype, use
   4158 	dbus_g_proxy_cancel_call.
   4159 	(names_model_reload): Update for new dbus_g_proxy_begin_call API.
   4160 
   4161 	* tools/dbus-monitor.c (filter_func): Update for print_message
   4162 	API change.
   4163 
   4164 	* test/glib/test-dbus-glib.c: Add more tests for async
   4165 	invocations.  Update many begin_call/end_call pairs to just use
   4166 	dbus_g_proxy_call.
   4167 
   4168 	* tools/dbus-send.c (main): Add --print-reply=literal mode.  This
   4169 	allows us to dump print-introspect.c.
   4170 
   4171 	* tools/dbus-print-message.h (print_message): Add literal argument
   4172 	to print_message which is intended to allow printing arguments without
   4173 	metadata like "string=".
   4174 
   4175 	* tools/dbus-print-message.c (print_iter): Add literal argument.
   4176 	(print_message): Allow printing string messages literally.
   4177 
   4178 2005-07-05  Colin Walters  <walters (a] verbum.org>
   4179 
   4180 	* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
   4181 	Remove value refcount leak, original patch from Jorn Baayen
   4182 	<jorn (a] openedhand.com>.  Also remove useless extra value in favor
   4183 	of prepending to value array directly.
   4184 
   4185 2005-07-02  Colin Walters  <walters (a] verbum.org>
   4186 
   4187 	* glib/dbus-gmain.c (_dbus_gmain_test): Fix test.
   4188 
   4189 2005-07-01  Colin Walters  <walters (a] verbum.org>
   4190 
   4191 	Patch from Jonathan Matthew <jonathan (a] kaolin.hn.org>
   4192 	
   4193 	* glib/dbus-gvalue.c (basic_typecode_to_gtype): Fix return type.
   4194 	(dbus_g_value_types_init): Marshal G_TYPE_CHAR as DBUS_TYPE_BYTE,
   4195 	G_TYPE_LONG as DBUS_TYPE_INT32, G_TYPE_ULONG as DBUS_TYPE_UINT32,
   4196 	and G_TYPE_FLOAT as DBUS_TYPE_DOUBLE.
   4197 
   4198 2005-06-30  Colin Walters  <walters (a] verbum.org>
   4199 
   4200 	* test/glib/test-dbus-glib.c:
   4201 	* test/glib/test-service-glib.c:
   4202 	* test/glib/test-service-glib.xml: Update tests for new error
   4203 	setting bits, also add async tests (patch from Ross Burton).
   4204 
   4205 	* test/glib/Makefile.am (test_service_glib_LDADD): Add
   4206 	DBUS_GLIB_THREADS_LIBS.
   4207 
   4208 	* glib/dbus-gproxy.c (get_name_owner)
   4209 	(dbus_g_pending_call_end_valist): Ditto.
   4210 
   4211 	* glib/dbus-gobject.c (error_metadata): New mapping from GError
   4212 	domain (GQuark) to DBusGErrorInfo.  
   4213 	(gerror_domaincode_to_dbus_error_name): Attempt to look up error
   4214 	quark in error_metadata.  Take message interface as default
   4215 	error message interface.
   4216 	(gerror_to_dbus_error_message): Pass message interface.
   4217 	(dbus_set_g_error): Resurrected.
   4218 	(dbus_g_error_info_free): New function.
   4219 	(dbus_g_object_type_install_info): Use g_type_class_ref instead
   4220 	of _peek to actually create the object class if it hasn't been
   4221 	created yet.
   4222 	(dbus_g_error_domain_register): New function.
   4223 
   4224 	* glib/dbus-gmain.c (dbus_g_bus_get): Switch to dbus_set_g_error.
   4225 
   4226 	* glib/dbus-gparser.c (validate_signature): Ditto.
   4227 
   4228 	* dbus/dbus-glib.h (dbus_g_error_set): Delete.
   4229 	(dbus_g_error_domain_register): Prototype.
   4230 
   4231 	* glib/dbus-glib.c (dbus_g_error_set): Delete.
   4232 	Update tests.
   4233 
   4234 2005-06-29  Colin Walters  <walters (a] verbum.org>
   4235 
   4236 	* dbus/dbus-glib.h: Delete DBUS_TYPE_G_PROXY_ARRAY.  Add
   4237 	DBUS_TYPE_G_OBJECT_PATH.
   4238 
   4239 	* glib/dbus-gvalue.c (dbus_g_value_types_init): Remove marshallers
   4240 	for G_TYPE_OBJECT and DBUS_TYPE_G_PROXY_ARRAY (the latter should
   4241 	be handled more generically).  Add DBUS_TYPE_G_OBJECT_PATH.
   4242 	(dbus_g_object_path_get_g_type): New function.
   4243 	(dbus_gtype_from_signature_iter): Map DBUS_TYPE_OBJECT_PATH
   4244 	to DBUS_TYPE_G_OBJECT_PATH by default.
   4245 	(demarshal_proxy): Remove unused name variable.
   4246 	(demarshal_object_path, marshal_object_path): New functions.
   4247 	(demarshal_proxy_array, marshal_proxy_array): Delete.
   4248 	
   4249 	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_c_name): Map
   4250 	DBUS_TYPE_G_OBJECT_PATH to char *.
   4251 	(dbus_g_type_get_lookup_function): Map builtin
   4252 	DBUS_TYPE_G_OBJECT_PATH.
   4253 
   4254 	* test/glib/test-dbus-glib.c
   4255 	* test/glib/test-service-glib.c (my_object_objpath): 
   4256 	Adapt tests to new object path marshalling.
   4257 
   4258 2005-06-29  John (J5) Palmieri  <johnp (a] redhat.com>
   4259 
   4260 	* configure.in: force check for Python >= 2.4
   4261 
   4262 2005-06-29  Colin Walters  <walters (a] verbum.org>
   4263 	
   4264 	Patch from Ross Burton <ross (a] openedhand.com>
   4265 	
   4266 	* glib/dbus-gobject.c (invoke_object_method): Unset object
   4267 	value in all cases, not only in async case.
   4268 
   4269 2005-06-29  Colin Walters  <walters (a] verbum.org>
   4270 
   4271 	* glib/dbus-gproxy.c (struct _DBusGProxy): Add new member
   4272 	name_call for keeping track of any outgoing GetNameOwner call.
   4273 	Also add for_owner and associated.
   4274 	(struct _DBusGProxyManager): Add owner_names, which is hash table
   4275 	that maps a base name to a list of names it owns (that we're
   4276 	interested in).  Add pending_nameowner_calls which is a list of
   4277 	all outstanding GetNameOwner; avoids us having to iterate over
   4278 	every proxy.  Add unassociated_proxies which keeps track of name
   4279 	proxies with no associated name owner.
   4280 	(dbus_g_proxy_manager_unref): Destroy owner_names.
   4281 	(struct DBusGProxyNameOwnerInfo): New struct for keeping track of
   4282 	name refcounts.
   4283 	(find_name_in_info, name_owner_foreach)
   4284 	(dbus_g_proxy_manager_lookup_name_owner, insert_nameinfo)
   4285 	(dbus_g_proxy_manager_monitor_name_owner)
   4286 	(dbus_g_proxy_manager_unmonitor_name_owner)
   4287 	(unassociate_proxies, dbus_g_proxy_manager_replace_name_owner):
   4288 	New functions; they manipulate the owner_names mapping.
   4289 	(got_name_owner_cb): New function.
   4290 	(get_name_owner): New function, extracted from
   4291 	dbus_g_proxy_new_for_name_owner.
   4292 	(dbus_g_proxy_manager_register): For now we need to keep track of
   4293 	all NameOwnerChanged.  Also if the proxy is for a name, if we
   4294 	don't already know the name owner, queue a new GetNameOwner
   4295 	request and add it to our list of unassociated proxies.  Otherwise
   4296 	inc the refcount.
   4297 	(dbus_g_proxy_manager_unregister): If this proxy is for a name,
   4298 	cancel any pending GetNameOwner call, etc.
   4299 	(dbus_g_proxy_manager_filter): Handle NameOwnerChanged.  Also use
   4300 	the owner_names mapping to look up the current names for the
   4301 	signal source, and dispatch to any proxies for that name.
   4302 	(dbus_g_proxy_new): Initialize new members.
   4303 	(dbus_g_proxy_new_for_name): Delete unused proxy variable.
   4304 	(dbus_g_proxy_new_for_name_owner): Use get_name_owner.
   4305 	(dbus_g_pending_call_end_valist): New function, extracted from
   4306 	dbus_g_proxy_end_call_internal.  Useful when we don't have a proxy
   4307 	but want to use the GLib infrastructure.  Also note how many
   4308 	arguments in reply were over.
   4309 	(dbus_g_pending_call_end): New function, just call
   4310 	dbus_g_pending_call_end_valist.
   4311 	(dbus_g_proxy_end_call_internal): Just call
   4312 	dbus_g_pending_call_end_valist.
   4313 
   4314 	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Fix lookup
   4315 	of builtin marshaller for STRING_STRING_STRING.
   4316 
   4317 	* test/glib/test-dbus-glib.c: 
   4318 	* test/glib/test-service-glib.c:
   4319 	* test/glib/test-service-glib.xml:
   4320 	Extend tests to cover name proxies, destruction of owner proxies,
   4321 	etc.
   4322 	
   4323 	* glib/examples/example-signal-recipient.c
   4324 	(dbus_g_proxy_new_for_name_owner): Create a name proxy.
   4325 	
   4326 	* tools/dbus-send.c (main): Print D-BUS error name in addition
   4327 	to message.
   4328 
   4329 2005-06-28  John (J5) Palmieri  <johnp (a] redhat.com>
   4330 
   4331 	* python/dbus_bindings.pyx.in (cunregister_function_handler,
   4332 	cmessage_function_handler): Patch from 
   4333 	Anthony Baxter <anthony (a] interlink.com.au> fixes threading problems
   4334 	by using the Py_GILState_Ensure/Release to synchronize with the
   4335 	python runtime.
   4336 	
   4337 2005-06-28  Ray Strode  <rstrode (a] redhat.com>
   4338 
   4339 	*  dbus/dbus-spawn.c (_dbus_babysitter_unref): kill
   4340 	babysitter helper process on last unref, bug #2813.
   4341 
   4342 2005-06-27  Colin Walters  <walters (a] verbum.org>
   4343 
   4344 	* test/glib/test-dbus-glib.c: 
   4345 	* test/glib/test-service-glib.c:
   4346 	* test/glib/test-service-glib.xml:
   4347 	Test hash table signal emitting.
   4348 
   4349 	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Convert
   4350 	types to their fundamental basis types, since this is what
   4351 	marshallers operate on.  Also add an entry for VOID__BOXED.
   4352 	(dbus_g_object_register_marshaller_array): Convert to fundamental.
   4353 
   4354 2005-06-26  Havoc Pennington  <hp (a] redhat.com>
   4355 
   4356 	* doc/dbus-tutorial.xml: fix names of interface/service/path, fix
   4357 	from Don Park
   4358 
   4359 2005-06-26  Colin Walters  <walters (a] verbum.org>
   4360 
   4361 	* glib/dbus-glib.c (dbus_set_g_error): Delete.
   4362 	(dbus_g_error_set): New public function from its ashes; used by
   4363 	both service-side method implementation and GLib bindings
   4364 	internals.
   4365 	(dbus_g_error_has_name, dbus_g_error_get_name): New function.
   4366 	(_dbus_glib_test): Add some tests.
   4367 
   4368 	* test/glib/test-dbus-glib.c (main): Test dbus_g_error_has_name.
   4369 
   4370 	* test/glib/test-service-glib.c (my_object_throw_error): Use
   4371 	dbus_g_error_set.
   4372 
   4373 	* glib/dbus-gobject.c (gerror_to_dbus_error_message): Handle
   4374 	errors thrown by dbus_g_error_set.
   4375 
   4376 	* glib/dbus-gmain.c (dbus_g_bus_get): Change to dbus_g_error_set.
   4377 
   4378 	* glib/dbus-gparser.c (validate_signature): Ditto.
   4379 
   4380 	* glib/dbus-gproxy.c (dbus_g_proxy_new_for_name_owner) 
   4381 	(dbus_g_proxy_end_call_internal): Ditto.
   4382 
   4383 	* glib/Makefile.am: Generate dbus-glib-error-switch.h, which
   4384 	converts DBUS_ERROR_x to DBUS_GERROR_x.
   4385 	(libdbus_glib_1_la_SOURCES, BUILT_SOURCES, CLEANFILES): Add it.
   4386 
   4387 	* doc/TODO: Remove error TODO.
   4388 
   4389 	* doc/dbus-tutorial.xml: Update with documentation about error
   4390 	handling.
   4391 
   4392 	* dbus/make-dbus-glib-error-enum.sh: Tighten up regexp to make
   4393 	sure we only change DBUS_ERROR to DBUS_GERROR, not all ERROR to
   4394 	GERROR.  Also add DBUS_GERROR_REMOTE_EXCEPTION.
   4395 
   4396 2005-06-22  Colin Walters  <walters (a] verbum.org>
   4397 	
   4398 	Patch from Ross Burton <ross (a] openedhand.com>
   4399 
   4400 	* glib/dbus-gobject.c (dbus_g_method_return): Free out_sig.
   4401 
   4402 2005-06-20  Colin Walters  <walters (a] verbum.org>
   4403 
   4404 	* configure.in: Add glib/examples.
   4405 
   4406 	* glib/Makefile.am: Add examples/
   4407 
   4408 	* glib/examples/.cvsignore
   4409 	* glib/examples/Makefile.am
   4410 	* glib/examples/example-client.c
   4411 	* glib/examples/example-service.c
   4412 	* glib/examples/example-service.xml
   4413 	* glib/examples/example-signal-emitter.c
   4414 	* glib/examples/example-signal-emitter.xml
   4415 	* glib/examples/example-signal-recipient.c:
   4416 	New files; GLib binding examples, ported from
   4417 	python/examples.
   4418 
   4419 2005-06-20  Colin Walters  <walters (a] verbum.org>
   4420 
   4421 	* dbus/dbus-glib.h: 
   4422 	* glib/dbus-gproxy.c: Rename dbus_g_proxy_invoke to
   4423 	dbus_g_proxy_call.
   4424 
   4425 	* glib/dbus-binding-tool-glib.c: 
   4426 	* doc/dbus-tutorial.xml: 
   4427 	* test/glib/test-dbus-glib.c: Update for rename.
   4428 	
   4429 2005-06-20  Colin Walters  <walters (a] verbum.org>
   4430 
   4431 	Patch suggested by Ross Burton <ross (a] openedhand.com>
   4432 
   4433 	* glib/dbus-gobject.c (export_signals): Free signal name.
   4434 	(g_value_init): Use G_VALUE_NOCOPY_CONTENTS to plug
   4435 	memory leak.  Add a bit of documentation.
   4436 	(dbus_g_method_return_error): Free context, and note we do
   4437 	so.
   4438 
   4439 2005-06-18  Murray Cumming  <murrayc (a] murrayc.com>
   4440 
   4441 	* dbus/dbus-glib.h:
   4442 	* glib/dbus-gobject.c:
   4443 	* glib/dbus-gproxy.c:
   4444 	* glib/dbus-gvalue.c: Predeclare structs as 
   4445 	typedef struct _Something Something instead of 
   4446   	typedef struct Something Something, so we can 
   4447 	redeclare the prototypes. Other GNOME libraries 
   4448 	do this already.
   4449 
   4450 2005-06-17  Colin Walters  <walters (a] verbum.org>
   4451 
   4452 	* tools/dbus-names-model.c (have_names_notify): Fix call
   4453 	to dbus_g_proxy_end_call.
   4454 	
   4455 2005-06-17  Colin Walters  <walters (a] verbum.org>
   4456 
   4457 	* glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): Don't
   4458 	spew warnings if we get malformed remote signals.
   4459 
   4460 	* glib/dbus-gobject.c (propsig_iterate): New function.
   4461 	(lookup_object_info): New function, extracted from
   4462 	lookup_object_and_method.
   4463 	(introspect_properties, introspect_signals): Delete; these
   4464 	are merged into write_interface.
   4465 	(write_interface): Write out signals and properties here;
   4466 	dump the org.gtk.object stuff and use the interface given
   4467 	in the introspection data blob.  Also fix up property XML.
   4468 	(lookup_values): New function.
   4469 	(introspect_interfaces): Gather a mapping from interface to a
   4470 	list of its methods, signals, and properties, then write out
   4471 	each interface.
   4472 	(lookup_object_and_method): Use lookup_object_info.
   4473 	(struct DBusGSignalClosure): Add interface.
   4474 	(dbus_g_signal_closure_new): Add interface. Don't dup signame;
   4475 	we can just use the constant data.
   4476 	(dbus_g_signal_closure_finalize): Don't free signal name.
   4477 	(signal_emitter_marshaller): Use interface from signal closure.
   4478 	(export_signals): Only export signals mentioned in introspection
   4479 	blob.
   4480 	(dbus_g_connection_register_g_object): Warn if we have no
   4481 	introspection data for an object.
   4482 	(funcsig_equal): Remove unused variable.
   4483 	(dbus_g_object_register_marshaller): Take varargs instead of
   4484 	list.
   4485 	(dbus_g_object_register_marshaller_array): New function,
   4486 	extracted from old dbus_g_object_register_marshaller.
   4487 
   4488 	* glib/dbus-binding-tool-glib.c (struct DBusBindingToolCData): Add
   4489 	signals and property data.
   4490 	(write_quoted_string): New function, extracted from generate_glue.
   4491 	(generate_glue): Write signals and properties to introspection
   4492 	blob.
   4493 
   4494 	* dbus/dbus-glib.h (struct DBusGObjectInfo): Include
   4495 	exported_signals and exported_properties.
   4496 	(dbus_g_object_register_marshaller): Update prototype.
   4497 	(dbus_g_object_register_marshaller_array): Prototype.
   4498 	
   4499 	* test/glib/test-dbus-glib.c: Extend testing to cover new signals.
   4500 
   4501 	* test/glib/test-service-glib.c: Add new test signals and method
   4502 	to emit them.
   4503 
   4504 	* test/glib/test-service-glib.xml: Add some test signals.
   4505 
   4506 	* test/glib/Makefile.am (BUILT_SOURCES): Add my-object-marshal.c
   4507 	and my-object-marshal.h
   4508 	(test_service_glib_SOURCES, test_dbus_glib_SOURCES): Add
   4509 	my-object-marshal.c.
   4510 	(my-object-marshal.c, my-object-marshal.h): Implement.
   4511 
   4512 	* test/glib/.cvsignore: Update.
   4513 
   4514 	* doc/TODO: Remove two GLib TODO items fixed by this
   4515 	patch.
   4516 
   4517 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4518 
   4519 	* doc/TODO: Update for GLib bindings.
   4520 	
   4521 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4522 
   4523 	* glib/dbus-binding-tool-glib.c:
   4524 	* glib/dbus-gobject.c:
   4525 	* glib/dbus-gproxy.c:  Add Nokia copyright; Patch
   4526 	from Ross Burton, for his GLib bindings work.
   4527 
   4528 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4529 
   4530 	* glib/dbus-gobject.c (funcsig_hash, funcsig_equal): Use n_params
   4531 	to iterate instead of walking to G_TYPE_INVALID.
   4532 
   4533 	Patch based on a patch from Ryan Gammon.
   4534 
   4535 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4536 
   4537 	* bus/bus.c (bus_context_new): Set parser to NULL
   4538 	after we unref it (Patch from Chris Boscolo, #2174).
   4539 	
   4540 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4541 
   4542 	* python/dbus_bindings.pyx.in: Import size_t,
   4543 	__int64_t, __uint64_t, and __signed.
   4544 
   4545 	* dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (write_credentials_byte):
   4546 	Define cmsg struct, output it.
   4547 	(_dbus_read_credentials_unix_socket):
   4548 	Use cmsg struct.
   4549 	
   4550 	Patch from Joe Markus Clarke for FreeBSD support.
   4551 	
   4552 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4553 
   4554 	* tools/dbus-send.c (append_array): Use strtok.
   4555 	(append_dict): New function.
   4556 	(type_from_name): New function, extracted from main.
   4557 	(main): Handle sending dicts.
   4558 
   4559 	* tools/dbus-print-message.c (print_iter): Print dict
   4560 	entries.
   4561 	
   4562 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4563 
   4564 	* glib/dbus-gvalue.c (marshal_basic): Marshal NULL string
   4565 	values as the empty string (#2948).
   4566 	
   4567 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4568 
   4569 	* dbus/Makefile.am:
   4570 	* mono/doc/Makefile.am:
   4571 	* test/glib/Makefile.am:
   4572 
   4573 	Fix srcdir != builddir issues (Patch from Chris Wilson, #3477)
   4574 
   4575 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4576 
   4577 	* dbus/dbus-marshal-header.c (_dbus_header_load): Set
   4578 	header byte order from expected byte order (Patch from Chris Wilson, #3475).
   4579 
   4580 	* dbus/dbus-marshal-byteswap.c (byteswap_body_helper): 
   4581 	Increment pointer after swapping fixed array.  Add assertion
   4582 	for array length.
   4583 		
   4584 2005-06-15  Colin Walters  <walters (a] verbum.org>
   4585 
   4586 	* dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (_dbus_read_credentials_unix_socket):
   4587 	Fix call to dbus_set_error.  (Patch from Michael Banck, #3461)
   4588 	
   4589 2005-06-15  John (J5) Palmieri  <johnp (a] redhat.com>
   4590 
   4591 	* NEWS: Update to 0.34
   4592 
   4593 2005-06-15  David Zeuthen  <davidz (a] redhat.com>
   4594 
   4595 	* configure.in (LT_CURRENT): Revert back to 1 as the library
   4596 	hasn't changed and we've certainly not committed to protocol
   4597 	stability yet.  All this does is to break ABI. See commit note
   4598 	from hp (a] redhat.com 2005-05-05 for details.
   4599 	
   4600 2005-06-15  John (J5) Palmieri  <johnp (a] redhat.com>
   4601 
   4602 	* dbus/dbus-connection.c (_dbus_connection_peer_filter): New method 
   4603 	(_dbus_connection_run_builtin_filters): New method
   4604 	(dbus_connection_dispatch): Run the builtin filters which in turn
   4605 	runs the peer filter which handles Ping messages.
   4606 
   4607 	* doc/TODO: 
   4608 	 - Ping isn't handled: This patch fixes it
   4609 	 
   4610 	 - Add a test case for the Ping message: added TODO item
   4611 
   4612 2005-06-15  John (J5) Palmieri  <johnp (a] redhat.com>
   4613 
   4614 	* dbus/dbus-message.c:
   4615 	(dbus_message_has_path): New method
   4616 	(dbus_message_has_interface): New method
   4617 	(dbus_message_has_member): New method
   4618 
   4619 	* dbus/dbus/dbus-sysdeps.c (_dbus_check_dir_is_private_to_user):
   4620 	New method
   4621 
   4622 	* dbus/dbus-keyring.c (_dbus_keyring_reload): Check to see that 
   4623 	the keyring directory is private to the user
   4624 
   4625 	* doc/TODO:
   4626 	 - The convenience functions in dbus-bus.h should perhaps have
   4627 	 the signatures that they would have if they were autogenerated
   4628 	 stubs. e.g. the acquire service function. We should also evaluate
   4629 	 which of these functions to include, in light of the fact that
   4630 	 GLib/Qt native stubs will probably also exist.: Punted
   4631 
   4632 	 - add dbus_message_has_path(), maybe has_member/interface:
   4633 	 fixed in this patch
   4634 
   4635 	 - in dbus-keyring.c, enforce that the keyring dir is not
   4636 	 world readable/writable: Fixed in this patch
   4637 
   4638 2005-06-15  John (J5) Palmieri  <johnp (a] redhat.com>
   4639 
   4640 	* dbus/dbus-marshal-validate.h: Added a new validation
   4641 	error code DBUS_VALIDITY_UNKNOWN_OOM_ERROR = -4 for 
   4642 	out of memory errors when validating signitures
   4643 
   4644 	* dbus/dbus-marshal-header.c: use DBUS_VALIDITY_UNKNOWN_OOM_ERROR
   4645 	in places where we previously used DBUS_VALID and a FALSE return 
   4646 	value to indicate OOM
   4647 	
   4648 	* dbus/dbus-marshal-validate.c (_dbus_validate_signature_with_reason):
   4649 	Use a stack to track the number of elements inside containers.  The 
   4650 	stack values are then used to validate that dict entries have only two
   4651 	elements within them.
   4652 	(validate_body_helper): check the reason for failure when validating
   4653 	varients
   4654 	
   4655 	* dbus/dbus-message.c (load_message): use 
   4656 	DBUS_VALIDITY_UNKNOWN_OOM_ERROR in places where we previously used 
   4657 	DBUS_VALID and a FALSE return value to indicate OOM
   4658 
   4659 	* doc/TODO: remove "- validate dict entry number of fields" as this
   4660 	patch fixes it
   4661 
   4662 2005-06-14  David Zeuthen  <davidz (a] redhat.com>
   4663 
   4664 	* bus/bus.c (process_config_every_time): Drop existing conf-dir
   4665 	watches (if applicable) and add new watches
   4666 
   4667 	* bus/main.c (signal_handler): Handle SIGIO if using D_NOTIFY
   4668 	(main): Setup SIGIO signal handler if using D_NOTIFY
   4669 
   4670 	* bus/config-parser.h: Add prototype bus_config_parser_get_conf_dirs
   4671 
   4672 	* bus/config-parser.c (struct BusConfigParser): Add conf_dirs list
   4673 	(merge_included): Also merge conf_dirs list
   4674 	(bus_config_parser_unref): Clear conf_dirs list
   4675 	(include_dir): Add directory to conf_dirs list
   4676 	(bus_config_parser_get_conf_dirs): New function
   4677 
   4678 	* bus/dir-watch.[ch]: New files
   4679 
   4680 	* bus/Makefile.am (BUS_SOURCES): Add dir-watch.[ch]
   4681 
   4682 	* configure.in: Add checks for D_NOTIFY on Linux
   4683 
   4684 2005-06-14  Colin Walters  <walters (a] verbum.org>
   4685 
   4686 	* glib/dbus-binding-tool-glib.c:
   4687 	* glib/dbus-gobject.c:
   4688 	* glib/dbus-gvalue.c: Fix indentation and brace style.
   4689 	
   4690 2005-06-14  Ross Burton <ross (a] openedhand.com>.
   4691 
   4692 	* glib/dbus-glib.h: Make DBusGMethodInvocation
   4693 	a private structure.  Rearrange prototypes a bit.
   4694 	
   4695 	* glib/dbus-gproxy.c (dbus_g_proxy_invoke): Add
   4696 	documentation for first_arg_type.
   4697 	
   4698 	* glib/dbus-gobject.c: Move DBusGMethodInvocation
   4699 	here, add documentation.  Move dbus_g_method_return
   4700 	and dbus_g_method_return_error into public API
   4701 	section.
   4702 
   4703 2005-06-14  Colin Walters  <walters (a] verbum.org>
   4704 
   4705 	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller):
   4706 	Add missing return statements, noticed by Ross Burton.
   4707 	
   4708 2005-06-13  Ross Burton <ross (a] openedhand.com>.
   4709 
   4710 	* glib/dbus-gobject.c: Handle errors on message
   4711 	demarshalling by sending error message back.
   4712 	* glib/dbus-gvalue.c: Initialize return variables.
   4713 
   4714 2005-06-13  Colin Walters  <walters (a] verbum.org>
   4715 
   4716 	* glib/Makefile.am: Fix thinko in last patch.
   4717 
   4718 2005-06-13  Colin Walters  <walters (a] verbum.org>
   4719 
   4720 	* glib/Makefile.am: Move dbus-gtype-specialized.c
   4721 	and dbus-gtype-specialized.h into a _HEADERS variable,
   4722 	install them.
   4723 
   4724 2005-06-12  Colin Walters  <walters (a] verbum.org>
   4725 
   4726 	Async signals and various bugfixes and testing by
   4727 	Ross Burton <ross (a] openedhand.com>.
   4728 
   4729 	* glib/dbus-gvalue.h: (struct DBusBasicGValue): Delete.
   4730 	(dbus_gvalue_genmarshal_name_from_type)
   4731 	(dbus_gvalue_ctype_from_type): Moved to dbus-binding-tool-glib.c.
   4732 	(dbus_gtype_to_dbus_type): Renamed to dbus_gtype_from_signature.
   4733 	(dbus_g_value_types_init, dbus_gtype_from_signature)
   4734 	(dbus_gtype_from_signature_iter, dbus_gtype_to_signature)
   4735 	(dbus_gtypes_from_arg_signature): New function prototypes.
   4736 	(dbus_gvalue_demarshal): Take context and error arguments.
   4737 	(dbus_gvalue_demarshal_variant): New function.
   4738 	(dbus_gvalue_demarshal_message): New function.
   4739 	(dbus_gvalue_store): Delete.
   4740 
   4741 	* glib/dbus-gvalue.c:
   4742 
   4743 	File has been almost entirely rewritten; now we special-case
   4744 	more types such as DBUS_TYPE_SIGNATURE, handle arrays and
   4745 	hash tables correctly, etc.  Full support for recursive values
   4746 	is not yet complete.
   4747 
   4748 	* glib/dbus-gproxy.c (dbus_g_proxy_class_init): Change last
   4749 	argument of signal to G_TYPE_POINTER since we now pass a
   4750 	structure.
   4751 	(lookup_g_marshaller): Delete in favor of
   4752 	_dbus_gobject_lookup_marshaller.
   4753 	(marshal_dbus_message_to_g_marshaller): Use
   4754 	_dbus_gobject_lookup_marshaller and dbus_gvalue_demarshal_message
   4755 	to handle remote signal callbacks.
   4756 	(dbus_g_proxy_new_from_proxy): New function; creates a new
   4757 	DBusGProxy by copying an existing one.
   4758 	(dbus_g_proxy_get_interface, dbus_g_proxy_set_interface)
   4759 	(dbus_g_proxy_get_path): New functions.
   4760 	(dbus_g_proxy_marshal_args_to_message): New function;
   4761 	factored out of existing code.
   4762 	(DBUS_G_VALUE_ARRAY_COLLECT_ALL): Collect all arguments
   4763 	from a varargs array.
   4764 	(dbus_g_proxy_begin_call_internal): New function.
   4765 	(dbus_g_proxy_end_call_internal): New function.
   4766 	(dbus_g_proxy_begin_call): Take GTypes instead of DBus types
   4767 	as arguments; simply invoke dbus_g_proxy_begin_call_internal
   4768 	after collecting args into value array.
   4769 	(dbus_g_proxy_end_call): Take GTypes instead of DBus types;
   4770 	invoke dbus_g_proxy_end_call_internal.
   4771 	(dbus_g_proxy_invoke): Simply invoke begin_call_interanl and
   4772 	end_call_internal.
   4773 	(dbus_g_proxy_call_no_reply): Take GTypes instead of DBus
   4774 	types.
   4775 	(array_free_all): New function.
   4776 	(dbus_g_proxy_add_signal): Take GTypes.
   4777 
   4778 	* glib/dbus-gobject.h:
   4779 	(_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
   4780 	(_dbus_gobject_get_path, _dbus_gobject_lookup_marshaller):
   4781 	Prototype.
   4782 
   4783 	* glib/dbus-gobject.c: Add a global marshal_table hash which
   4784 	stores mappings from type signatures to marshallers.  Change lots
   4785 	of invocations of dbus_gtype_to_dbus_type to
   4786 	dbus_gtype_to_signature.
   4787 	(_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
   4788 	(introspect_signals): Fix test for query.return_type.
   4789 	(set_object_property): Update invocation of dbus_gvalue_demarshal.
   4790 	(invoke_object_method): Many changes.  Handle asynchronous
   4791 	invocations.  Convert arguments with
   4792 	dbus_gvalue_demarshal_message.  Handle errors.  Use
   4793 	DBusSignatureIter instead of strlen on args. Handle all arguments
   4794 	generically.  Special-case variants.
   4795 	(dbus_g_method_return, dbus_g_method_return_error): New function.
   4796 	(DBusGSignalClosure): New structure, closes over signal
   4797 	information.
   4798 	(dbus_g_signal_closure_new): New function.
   4799 	(dbus_g_signal_closure_finalize): New function.
   4800 	(signal_emitter_marshaller): New function; is special marshaller
   4801 	which emits signals on bus.
   4802 	(export_signals): New function; introspects object signals and
   4803 	connects to them.
   4804 	(dbus_g_object_type_install_info): Take GType instead of
   4805 	GObjectClass.
   4806 	(dbus_g_connection_register_g_object): Invoke export_signals.
   4807 	(dbus_g_connection_lookup_g_object): New function.
   4808 	(DBusGFuncSignature) New structure; used for mapping type
   4809 	signatures to marshallers.
   4810 	(funcsig_hash): New function; hashes DBusGFuncSignature.
   4811 	(funcsig_equal): New function; compares DBusGFuncSignature.
   4812 	(_dbus_gobject_lookup_marshaller): New function.
   4813 	(dbus_g_object_register_marshaller): New function; used to
   4814 	register a marshaller at runtime for a particular signature.
   4815 
   4816 	* glib/dbus-gmain.c (_dbus_gmain_test): Add various tests.
   4817 
   4818 	* glib/dbus-binding-tool-glib.h: Add DBUS_GLIB_ANNOTATION_ASYNC
   4819 	which notes a server method implementation should be
   4820 	asynchronous.
   4821 
   4822 	* glib/dbus-binding-tool-glib.c
   4823 	(dbus_binding_tool_output_glib_server): Call
   4824 	dbus_g_value_types_init.
   4825 	(write_formal_parameters): Use dbus_gtype_from_signature.  Handle
   4826 	variants specially.
   4827 	(dbus_g_type_get_lookup_function): Turn GType into an invocation
   4828 	of a lookup function.
   4829 	(write_args_for_direction): Use dbus_g_type_get_lookup_function.
   4830 	(write_untyped_out_args): New method; write output arguments.
   4831 	(write_formal_declarations_for_direction): Function for
   4832 	writing prototypes.
   4833 	(write_formal_parameters_for_direction): Function for
   4834 	writing implementations.
   4835 	(write_typed_args_for_direction): Function for writing
   4836 	arguments prefixed with GTypes.
   4837 	(write_async_method_client): Write out async version
   4838 	of method.
   4839 
   4840 	* glib/dbus-binding-tool-glib.c: Include dbus-gvalue-utils.h.
   4841 	(dbus_g_type_get_marshal_name): Move mapping from GType
   4842 	to marshal name into here.
   4843 	(dbus_g_type_get_c_name): Move into here.
   4844 	(compute_marshaller): Convert signature to type with
   4845 	dbus_gtype_from_signature, use dbus_g_type_get_marshal_name.
   4846 	(compute_marshaller_name): Ditto.
   4847 	(compute_marshaller): Handle async signal annotations.
   4848 	(gather_marshallers): Return if we don't have a known
   4849 	prefix.
   4850 	(generate_glue): Collect introspection blob here, and
   4851 	write all of the blob at the end.  This allows an object
   4852 	with multiple interfaces to work.
   4853 	Mark async methods in introspection blob.
   4854 
   4855 	* glib/Makefile.am (libdbus_glib_1_la_SOURCES): Add
   4856 	dbus-gtype-specialized.c, dbus-gtype-specialized.h,
   4857 	dbus-gvalue-utils.h, dbus-gvalue-utils.c.
   4858 
   4859 	* dbus/dbus-glib.h: Don't include dbus-protocol.h; this
   4860 	avoids people accidentally using DBUS_TYPE_* which should
   4861 	not be necessary anymore.
   4862 	Do include dbus-gtype-specialized.h, which are utilities
   4863 	for GLib container types.
   4864 	Add various #defines for types such as
   4865 	DBUS_TYPE_G_BOOLEAN_ARRAY.
   4866 	(DBusGValueIterator, DBusGValue): Define, not fully used
   4867 	yet.
   4868 	(dbus_g_value_get_g_type): Type for recursive value.
   4869 	(dbus_g_value_open, dbus_g_value_iterator_get_value)
   4870 	(dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
   4871 	(dbus_g_value_free): Prototypes.
   4872 	(dbus_g_object_register_marshaller, dbus_g_proxy_new_from_proxy): Prototype.
   4873 	(dbus_g_proxy_set_interface): Prototype.
   4874 	(dbus_g_proxy_begin_call, dbus_g_proxy_end_call)
   4875 	(dbus_g_proxy_call_no_reply): Take GLib types instead of DBus
   4876 	types.
   4877 	(dbus_g_proxy_get_path, dbus_g_proxy_get_interface):
   4878 	Accessors.
   4879 	(DBusGAsyncData, DBusGMethodInvocation): Structures for
   4880 	doing async invocations.
   4881 	(dbus_g_method_return, dbus_g_method_return_error):
   4882 	Prototypes.
   4883 	* doc/dbus-tutorial.xml: Update GLib section.
   4884 	
   4885 	* tools/dbus-viewer.c (load_child_nodes): Update
   4886 	for new invocation type of dbus_g_proxy_end_call.
   4887 	(load_from_service_thread_func): Ditto.
   4888 
   4889 	* tools/print-introspect.c (main): Ditto.
   4890 
   4891 	* tools/dbus-names-model.c (have_names_notify)
   4892 	(names_model_reload, names_model_set_connection)
   4893 	Use GTypes.
   4894 
   4895 	* python/Makefile.am (INCLUDES): Define DBUS_COMPILATION,
   4896 	needed since Python bindings use GLib bindings.
   4897 
   4898 	* test/glib/Makefile.am (INCLUDES): Define DBUS_COMPILATION.
   4899 	Add --prefix argument.
   4900 
   4901 	* tools/Makefile.am: Define DBUS_COMPILATION.  Remove
   4902 	unneeded --ignore-unsupported arg.
   4903 	
   4904 	* test/glib/test-service-glib.c: 
   4905 	* test/glib/test-service-glib.xml:
   4906 	* test/glib/test-dbus-glib.c: Add many more tests.
   4907 
   4908 2005-06-06  David Zeuthen  <davidz (a] redhat.com>
   4909 
   4910 	* doc/TODO: Add item about need to remove deprecated functions.
   4911 
   4912 	* dbus/dbus-connection.h: Add prototype for dbus_connection_disconnect
   4913 
   4914 	* dbus/dbus-connection.c (dbus_connection_disconnect): New function
   4915 	to repair the ABI which was broken with the last commit.
   4916 
   4917 2005-06-02  John (J5) Palmieri <johnp (a] redhat.com>
   4918 
   4919 	*  dbus/dbus-connection.c, dbus/dbus-connection.h 
   4920 	(dbus_connection_disconnect): renamed to dbus_connection_close 
   4921 	for API symmetry with dbus_connection_open
   4922 	(_dbus_connection_open_internal): 
   4923 	s/dbus_connection_disconnect/dbus_connection_close
   4924 
   4925 	* dbus/dbus-bus.c (dbus_bus_get):
   4926 	s/dbus_connection_disconnect/dbus_connection_close
   4927 
   4928 	* bus/connection.c (bus_connections_unref, 
   4929 	bus_connections_setup_connection, bus_connections_expire_incomplete):
   4930 	s/dbus_connection_disconnect/dbus_connection_close
   4931 
   4932 	* bus/dispatch.c (bus_dispatch, kill_client_connection, 
   4933 	kill_client_connection_unchecked, check_hello_connection):
   4934 	s/dbus_connection_disconnect/dbus_connection_close
   4935 
   4936 	* bus/bus.c (new_connection_callback):
   4937 	s/dbus_connection_disconnect/dbus_connection_close
   4938 
   4939 	* tools/dbus-send.c (main):
   4940 	s/dbus_connection_disconnect/dbus_connection_close
   4941 
   4942 	* test/glib/test-profile.c (no_bus_thread_func, with_bus_thread_func):
   4943 	s/dbus_connection_disconnect/dbus_connection_close
   4944 	
   4945 	* test/test-service.c (path_message_func, filter_func):
   4946 	s/dbus_connection_disconnect/dbus_connection_close
   4947 	
   4948 	* doc/TODO: remove connection_open/connection_disconnect lacks symmetry 	item that was just fixed
   4949 	
   4950 2005-05-25  Colin Walters  <walters (a] verbum.org>
   4951 
   4952 	* dbus/dbus-protocol.h: Move various bus service #defines such
   4953 	  as DBUS_SERVICE_DBUS and DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT to
   4954 	  dbus/dbus-shared.h.
   4955 	* dbus/dbus-shared.h: Various defines moved here.
   4956 	* dbus/dbus-marshal-header.c: Include dbus-shared.h.
   4957 
   4958 2005-05-25  John (J5) Palmieri  <johnp (a] redhat.com>
   4959 
   4960 	* python/__init__.py: Python bindings deserve a minor version
   4961 	update.  Upped to (0, 40, 2)
   4962 
   4963 2005-05-24  John (J5) Palmieri  <johnp (a] redhat.com>
   4964 
   4965 	* python/decorators.py: add explicitly_pass_message decorator
   4966 	for passing in the dbus message as keyword for edge case signal
   4967 	handling
   4968 
   4969 	* python/matchrules.py (SignalMatchRule.__repr__): fix output
   4970 	to conform with what dbus expects for match rules
   4971 	(SignalMatchRule.execute): add the dbus message as a keyword
   4972 	if the signal handler has requested it
   4973 
   4974 	* python/examples/example/signal-recipient.py: added some more
   4975 	examples on how to hook up to signals
   4976 
   4977 2005-05-23  John (J5) Palmieri  <johnp (a] redhat.com>
   4978 
   4979 	* python/decorators.py: import dbus_bindings
   4980 
   4981 	* python/matchrules.py (SignalMatchRule, SignalMatchTree, 
   4982 	SignalMatchNode): new classes that implement wildcard signal
   4983 	callback matching using a tree lookup. Heavily modified from a
   4984 	patch sent by Celso Pinto (fd.o bug #3241)
   4985 
   4986 	* _dbus.py (add_signal_receiver, remove_signal_receiver, _signal_func):
   4987 	use new match classes to handle signals.
   4988 
   4989 2005-05-19  John (J5) Palmieri  <johnp (a] redhat.com>
   4990 	
   4991 	* python/dbus_bindings.pyx.in: s/TYPE_PATH/TYPE_OBJECT_PATH
   4992 
   4993 2005-05-18  Havoc Pennington  <hp (a] redhat.com>
   4994 
   4995 	* configure.in: use GLIB_GNU_GETTEXT to get INTLLIBS and require
   4996 	gettext. Not really worth requiring yet perhaps, but any
   4997 	production quality 1.0 would require it so we should go ahead and
   4998 	get things set up. We do have a couple token calls to
   4999 	bindtextdomain in the code already.
   5000 
   5001 2005-05-16  John (J5) Palmieri  <johnp (a] redhat.com>
   5002 
   5003 	* glib/dbus-gmain.c (io_handler_dispatch): fix deadlock
   5004 	when using recursive g_main_loops
   5005 
   5006 	* python/_dbus.py (class Bus): add the ProxyObjectClass
   5007 	alias for ProxyObject to make it easier for the Twisted 
   5008 	networking framework to integrate dbus.
   5009 
   5010 	* python/proxies.py (class ProxyObject): add the ProxyMethodClass
   5011 	alias for ProxyMethod to make it easier for the Twisted 
   5012 	networking framework to integrate dbus. 
   5013 
   5014 2005-05-11  Ross Burton  <ross (a] openedhand.com>
   5015 
   5016 	* glib/dbus-glib-tool.c: Add --prefix argument.
   5017 	* glib/dbus-binding-tool-glib.h: Add prefix argument.
   5018 	* glib/dbus-binding-tool-glib.c (compute_marshaller_name):
   5019 	Add prefix argument.
   5020 	(generate_glue): Pass prefix argument down.
   5021 	(dbus_binding_tool_output_glib_server): Pass prefix to
   5022 	glib-genmarshal.
   5023 	
   5024 2005-05-11  Colin Walters  <walters (a] verbum.org>
   5025 
   5026 	* tools/dbus-send.c (append_array): New function.
   5027 	(append_arg): Broken out from main.
   5028 	(main): Add cheesy hack to send arrays and variants.
   5029 	(usage): Update.
   5030 	* tools/dbus-print-message.c (print_iter): Broken out
   5031 	from main.
   5032 
   5033 2005-05-11  Colin Walters  <walters (a] verbum.org>
   5034 
   5035 	* dbus/dbus-signature.c (dbus_signature_iter_get_signature):
   5036 	New function, returns signature string for signature iter.
   5037 	* dbus/dbus-signature.h: Prototype it.
   5038 	* dbus/dbus-message.c (dbus_message_iter_get_signature):
   5039 	New function, returns signature string for message iter.
   5040 	(dbus_message_iter_get_array_len): New function, returns
   5041 	length of array.
   5042 	(dbus_message_iter_get_fixed_array): Fix assertion; this
   5043 	function should be used when the iter is pointing to the
   5044 	contents of an array
   5045 	* dbus/dbus-message.h: Prototypes.
   5046 	* dbus/dbus-marshal-recursive.c (_dbus_type_reader_get_array_length):
   5047 	New function; returns length of an array.
   5048 	* dbus/dbus-marshal-recursive.h: Prototype it.
   5049 	
   5050 2005-05-11  Colin Walters  <walters (a] verbum.org>
   5051 
   5052 	* dbus/dbus-sysdeps-util.c <!HAVE_POSIX_GETPWNAM_R>: Fix
   5053 	compilation error.
   5054 	
   5055 2005-05-08  Havoc Pennington  <hp (a] redhat.com>
   5056 
   5057 	* dbus/dbus-sysdeps-util.c (_dbus_become_daemon): write the
   5058 	daemon's pid, not the parent's pid, to the file descriptor.
   5059 	Reported by Taj Morton.
   5060 
   5061 2005-05-05  Havoc Pennington  <hp (a] redhat.com>
   5062 
   5063 	* configure.in (LT_*): add notes on how the libtool versioning
   5064 	works to save thinking. Increment soname to indicate protocol
   5065 	breakage (though really the library interface hasn't changed I
   5066 	guess)
   5067 
   5068 	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
   5069 	verify the GUID received from server matches what we were
   5070 	expecting, if we had an expectation
   5071 
   5072 	* dbus/dbus-auth.c (send_ok): send GUID along with the OK command
   5073 	(_dbus_auth_get_guid_from_server): new function
   5074 	(send_begin): parse the OK args
   5075 
   5076 	* doc/dbus-specification.xml: add GUID to the auth protocol
   5077 
   5078 2005-05-05  John (J5) Palmieri  <johnp (a] redhat.com>
   5079 
   5080 	* Fix my name in previous changelog ;)
   5081 
   5082 	* python/proxies.py (ProxyObject.__getattr__): add further patch
   5083 	from Anthony Baxter to throw an AttributeError when python 
   5084 	__special__ functions are called instead of marshling them over 
   5085 	the bus (Bug#1685 comment 3).
   5086 
   5087 2005-05-04  John (J5) Palmieri  <johnp (a] redhat.com>
   5088 
   5089 	* python/Makefile.am: changed to use pyexecdir for the binding
   5090 	shared libraries (Bug#2494)
   5091 
   5092 	* python/exceptions.py: bring exceptions over from the bindings
   5093 	so they can be used in applications (Bug#2036)
   5094 	Make all exceptions derive from DBusException
   5095 
   5096 	* python/_dbus.py, python/proxies.py: implement __repr__ in a couple
   5097 	of classes so that print obj doesn't throw an exception (Bug #1685)
   5098 
   5099 2005-05-03  Ross Burton  <ross (a] openedhand.com>
   5100 
   5101 	* glib/dbus-gobject.c (dbus_g_connection_register_g_object):
   5102 	Return if we get an error during registration.  Set up a
   5103 	weak reference on object to unregister if object is destroyed.
   5104 	(unregister_gobject): New function.
   5105 	
   5106 2005-05-01  John (J5) Palmieri  <johnp (a] redhat.com>
   5107 
   5108 	* python/dbus_bindings.pyx.in: 
   5109 	- added new type classes for hinting to the marashaler what type 
   5110 	to send over the wire
   5111 	- added int16 and uint16 marshalers
   5112 	- Fixed a bug in the type constants that caused int32 to go out
   5113 	as uint16 over the wire
   5114 	* python/dbus.py: split up into different files and renamed _dbus.py
   5115 	* python/__init__.py, python/_util.py, python/decorators.py, 
   5116 	python/exceptions.py, python/proxies.py, python/services.py,
   5117 	python/types.py: new files split off from dbus.py
   5118 	* python/Makefile.am: Add new files, remove dbus.py and 
   5119 	install all python files to <python module dir>/dbus
   5120 	* python/examples/*: Added #!/usr/bin/env python to the top of
   5121 	every example.  Patch provided by Tatavarty Kalyan
   5122 
   5123 2005-04-25  John (J5) Palmieri  <johnp (a] redhat.com>
   5124 
   5125 	* NEWS: Update to 0.33
   5126 
   5127 2005-04-25  John (J5) Palmieri  <johnp (a] redhat.com>
   5128 
   5129 	* python/dbus_bindings.pyx.in (send_with_reply_handlers): New send
   5130 	method for doing async calls
   5131 	(_pending_call_notification): New C function for handling pendning call
   5132 	callbacks
   5133 	(set_notify): New method for setting pending call notification
   5134 	
   5135 	* python/dbus.py: new version tuple "version" is set at (0, 40, 0)
   5136 	Async capabilities added to remote method calls
   5137 	(Sender): class removed
   5138 	(RemoteService): class removed
   5139 	(ObjectTree): class removed for now
   5140 	(RemoteObject): Renamed to ProxyObject
   5141 	(RemoteMethod): Renamed to ProxyMethod
   5142 	(method): Decorator added for decorating python methods as dbus methods
   5143 	(signal): Decorator added for decorating python methods as signal emitters
   5144 	(ObjectType): Metaclass added for generating introspection data and the
   5145 	method callback vtable
   5146 	(Interface): Wrapper class added to wrap objects in a dbus interface
   5147 	(Object): Uses ObjectType as its metaclass and exports Introspect
   5148 	of the org.freedesktop.DBus.Introspectable interface
   5149 	(ValidationException, UnknownMethodException): new exceptions
   5150 
   5151 	* python/examples/*: Modified to fit with the new bindings
   5152 
   5153 2005-04-23  Havoc Pennington  <hp (a] redhat.com>
   5154 
   5155 	* dbus/dbus-message.c (dbus_message_append_args): fix doc comment,
   5156 	reported by Tony Houghton
   5157 
   5158 	* test/test-service.c (main): test
   5159 	dbus_connection_get_object_path_data()
   5160 
   5161 	* dbus/dbus-object-tree.c (find_handler): be sure we always init
   5162 	the exact_match
   5163 	(_dbus_object_tree_get_user_data_unlocked): new function used by
   5164 	dbus_connection_get_object_path_data()
   5165 	(do_register): add assertion test for get_user_data_unlocked
   5166 	(object_tree_test_iteration): more tests
   5167 
   5168 	* dbus/dbus-connection.c (dbus_connection_get_object_path_data):
   5169 	new function from Dan Reed to let you get the user data from 
   5170 	dbus_connection_register_object_path()
   5171 
   5172 2005-04-23  John (J5) Palmieri  <johnp (a] redhat.com>
   5173 
   5174 	* dbus/dbus-marshal-recursive-util.c: Fixed buffer overflow
   5175 	in numerous places that did not account for the NULL terminator
   5176 	(signature_from_seed): changed the manual string copy loop to 
   5177 	just use strcpy instead
   5178 	make check should now pass
   5179 
   5180 2005-04-19  John (J5) Palmieri  <johnp (a] redhat.com>
   5181 
   5182 	* dbus/dbus-marshal-header.c (_dbus_header_create): Fix assert
   5183 	so that it allows messages that are not signals to pass in 
   5184 	NULL as the interface.
   5185 
   5186 2005-04-18  David Zeuthen  <davidz (a] redhat.com>
   5187 
   5188 	* glib/dbus-gmain.c (io_handler_destroy_source): 
   5189 	(timeout_handler_destroy_source, connection_setup_free): 
   5190 	Also unref the source to avoid memory leaks.
   5191 
   5192 2005-04-13  David Zeuthen  <davidz (a] redhat.com>
   5193 
   5194 	* bus/config-parser.c (bus_config_parser_new): Bump this to a
   5195 	more reasonable, yet still totally arbitrary, value :-). 
   5196 
   5197 2005-04-13  David Zeuthen  <davidz (a] redhat.com>
   5198 
   5199 	* doc/TODO: Added an "important for 1.0" item about selinux
   5200 	allow/deny messages
   5201 
   5202 2005-04-13  David Zeuthen  <davidz (a] redhat.com>
   5203 
   5204 	* bus/selinux.c: Add c-file-style to top of file
   5205 	(log_audit_callback): Don't free the data here anymore
   5206 	(bus_selinux_check): Don't take spid and tpid since appending
   5207 	that to auxdata may OOM.
   5208 	(bus_selinux_allows_acquire_service): Handle OOM and signal back
   5209 	to the caller if we are OOM by taking an error object.
   5210 	(bus_selinux_allows_send): -do-
   5211 
   5212 	* bus/selinux.h: Fix prototypes for bus_selinux_allows_acquire_service
   5213 	and bus_selinux_allows_send
   5214 
   5215 	* bus/bus.c (bus_context_check_security_policy): Pass error and
   5216 	pass on OOM thrown by bus_selinux_allows_send()
   5217 
   5218 	* bus/services.c (bus_registry_acquire_service): Pass error and
   5219 	pass on OOM thrown by bus_selinux_allows_acquire_service()
   5220 
   5221 2005-04-13  Havoc Pennington  <hp (a] redhat.com>
   5222 
   5223 	* glib/dbus-gmain.c (message_queue_dispatch): only dispatch one
   5224 	message at a time to avoid monopolizing the main loop, bug 
   5225 	#2953 from Benjamin Otte
   5226 
   5227 2005-04-09  Havoc Pennington  <hp (a] redhat.com>
   5228 
   5229 	* dbus/dbus-string.c (copy): change a memcpy to memmove due to
   5230 	possible overlap, fix from Daniel Reed
   5231 	(fixup_alignment): fix signedness warnings
   5232 	(_dbus_string_append_unichar): ditto
   5233 
   5234 2005-04-09  Havoc Pennington  <hp (a] redhat.com>
   5235 
   5236 	* dbus/dbus-message-util.c (_dbus_message_test): fix signedness warning
   5237 
   5238 	* glib/dbus-glib-tool.c (main): fix warning
   5239 
   5240 	* glib/dbus-binding-tool-glib.c (generate_glue): fix warning
   5241 
   5242 	* dbus/dbus-connection.c (dbus_connection_read_write_dispatch):
   5243 	add a new function that can be used in simple applications that
   5244 	don't have a main loop and are willing to block
   5245 
   5246 2005-04-05  David Zeuthen  <davidz (a] redhat.com>
   5247 
   5248 	Fix https://bugs.freedesktop.org/show_bug.cgi?id=2889
   5249 
   5250 	* glib/dbus-gmain.c:
   5251 	(io_handler_destroy_source): Remove from list of IO handlers
   5252 	of the ConnectionSetup object
   5253 	(timeout_handler_destroy_source): -do- for timeout handlers
   5254 	(io_handler_source_finalized): Don't remove from list since
   5255 	we now do that in io_handler_destroy_source(). Renamed from
   5256 	io_handler_source_destroyed
   5257 	(timeout_handler_source_destroyed): -do- for timeout handlers
   5258 	(connection_setup_free): It is now safe to iterate over all
   5259 	IO and timeout handlers as the _destroy_source removes them
   5260 	from the list synchronously
   5261 
   5262 2005-03-30  Havoc Pennington  <hp (a] redhat.com>
   5263 
   5264 	* configure.in: change check to gtk 2.4
   5265 
   5266 	* tools/dbus-viewer.c (name_combo_changed_callback): remove
   5267 	gtk_combo_box_get_active_text() usage to decrement GTK requirement
   5268 	to 2.4
   5269 
   5270 2005-03-29  John (J5) Palmieri  <johnp (a] redhat.com>
   5271 
   5272 	* News: Update 0.32
   5273 
   5274 	* HACKING: Fixed realease instructions.  configure.in should be updated to
   5275 	  the next release by the person who made the last release.
   5276 
   5277 2005-03-29  John (J5) Palmieri  <johnp (a] redhat.com>
   5278 
   5279 	* python/lvalue_cast_post_process.py - removed.  Patch has been
   5280 	  submitted to Pyrex maintainers that fixes gcc4.0 errors
   5281 
   5282 	* python/Makefile.am: removed refrences to lvalue_cast_post_process.py
   5283 
   5284 2005-03-24  Daniel Reed  <n (a] ml.org>
   5285 
   5286 	* tools/Makefile.am: Make print-introspect and
   5287 	dbus-bus-introspect.xml building conditional on HAVE_GLIB.
   5288 
   5289 2005-03-22  John (J5) Palmieri  <johnp (a] redhat.com>
   5290 
   5291 	* tools/Makefile.am: Patch by Colin Walters that fixes distcheck
   5292 
   5293 	* dbus/dbus-userdb.c, dbus/dbus-userdb-util.c: Add patch we have 
   5294 	  had in Red Hat packages for a while but for some reason never 
   5295 	  got merged upstream
   5296 	  (_dbus_is_a_number): New checks if a string
   5297 	  can be converted to a number and does the conversion if it can
   5298 	  (_dbus_user_database_lookup): Add check to see if the given username
   5299 	  is a udi.  This allows udi's to be used instead of usernames in the
   5300 	  config file.
   5301 	  (_dbus_user_database_lookup_group): Add check to see if the given groupname
   5302 	  is a gdi.  This allows gdi's to be used instead of groupnames in the
   5303 	  config file.
   5304 
   5305 2005-03-21  John (J5) Palmieri  <johnp (a] redhat.com>
   5306 
   5307 	* python/lvalue_cast_post_process.py - added post processor to fix Pyrex
   5308 	  code so that it compiles with gcc4.0
   5309 
   5310 	* python/Makefile.am: Added lvalue_cast_post_process.py to EXTRA_DIST
   5311 	  run dbus_bindings.c through lvalue_cast_post_process.py and copy the
   5312 	  results back to dbus_binding.c
   5313 
   5314 2005-03-20  Colin Walters  <walters (a] verbum.org>
   5315 
   5316 	Patch suggested by Inguva Rajasekhar <ringuva (a] novell.com>.
   5317 
   5318 	* configure.in: Require GTK+ 2.6.
   5319 	
   5320 2005-03-20  Colin Walters  <walters (a] verbum.org>
   5321 
   5322 	* Makefile.am (SUBDIRS, DIST_SUBDIRS): Build tools before test.
   5323 
   5324 2005-03-17  Tom Parker  <palfrey (a] tevp.net>
   5325 
   5326 	* dbus/dbus-userdb.c (_dbus_user_database_lookup): Don't
   5327 	print DBUS_UID_UNSET; instead print passed username.  Also
   5328 	be sure to actually use gid looked up in cache.
   5329 	
   5330 	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): Ditto
   5331 	for DBUS_GID_UNSET and groupname.
   5332 
   5333 2005-03-17  Colin Walters  <walters (a] verbum.org>
   5334 
   5335 	* bus/print-introspect.c: Move to tools/.
   5336 	* bus/run-with-tmp-session-bus.sh: Ditto.
   5337 	
   5338 	* glib/Makefile.am (dbus-glib-bindings.h): Move
   5339 	generation to tools/Makefile.am.
   5340 
   5341 	* test/glib/run-test.sh: Update to handle move
   5342 	of run-with-tmp-session-bus.sh.
   5343 
   5344 	* test/glib/test-service-glib.c: Update to handle
   5345 	move of dbus-glib-bindings.h.
   5346 
   5347 	* tools/print-introspect.c: Moved here
   5348 	from bus/, and ported to GLib bindings.
   5349 
   5350 	* tools/run-with-tmp-session-bus.sh: Moved here
   5351 	from bus/.
   5352 
   5353 	* tools/Makefile.am: Generate dbus-glib-bindings.h
   5354 	and dbus-bus-introspect.xml here.
   5355 
   5356 	* tools/.cvsignore, glib/.cvsignore, bus/.cvsignore:
   5357 	Update.
   5358 
   5359 2005-03-17  Colin Walters  <walters (a] verbum.org>
   5360 
   5361 	* bus/driver.c (write_args_for_direction): Use
   5362 	_dbus_string_get_const_data to retrieve string;
   5363 	_dbus_string_get_const_data_len doesn't actually return
   5364 	a NULL-terminated substring.
   5365 
   5366 	* test/glib/test-service-glib.c: Include dbus-glib-bindings.h.
   5367 	(main): Change to use org_freedesktop_DBus_request_name
   5368 	instead of using g_proxy_begin_call/end_call.
   5369 
   5370 2005-03-15  Joe Shaw  <joeshaw (a] novell.com>
   5371 
   5372 	* mono/ProxyBuilder.cs (BuildFinalizer): Fix some invalid IL when
   5373 	generating the finalizer.  Fixes from Ben Maurer.
   5374 
   5375 2005-03-12  Joe Shaw  <joeshaw (a] novell.com>
   5376 
   5377 	* mono/BusDriver.cs: Update method names: ListServices
   5378 	becomes ListNames; GetOwner becomes GetNameOwner.
   5379 
   5380 	* mono/ProxyBuilder.cs (BuildFinalizer): Need to load arg 0
   5381 	onto the eval stack when removing the delegate.
   5382 
   5383 2005-03-12  Joe Shaw  <joeshaw (a] novell.com>
   5384 
   5385 	* mono/dbus-sharp.dll.config.in: Don't hardcode 0 for
   5386 	LT_CURRENT.  Set it to the autoconf variable.
   5387                                                                                 
   5388 	* mono/ProxyBuilder.cs: Add a finalizer to the generated proxy
   5389 	classes that disconnects the signal handler delegate from the
   5390 	service object.  Fixes a big leak of proxy objects on the
   5391 	client side of things.  Patch from Ben Maurer
   5392 	<bmaurer (a] ximian.com>
   5393 
   5394 2005-03-12  Colin Walters  <walters (a] verbum.org>
   5395 
   5396 	* bus/driver.c (write_args_for_direction): New function,
   5397 	parses a type signature into arguments and outputs to
   5398 	XML.
   5399 	(bus_driver_handle_introspect): Use it instead of
   5400 	hardcoding XML for certain signatures.
   5401 	
   5402 	* bus/Makefile.am (dbus-bus-introspect.xml): Add
   5403 	dependency on dbus-daemon.
   5404 
   5405 	* glib/dbus-glib-tool.c (main): Parse ignore_unsupported
   5406 	argument, pass it to dbus_binding_tool_output_glib_client.
   5407 
   5408 	* glib/dbus-binding-tool-glib.c
   5409 	(generate_client_glue): Protect against multiple inclusion.
   5410 	(dbus_binding_tool_output_glib_client): Add
   5411 	G_BEGIN_DECLS/G_END_DECLS.
   5412 
   5413 	* glib/dbus-binding-tool-glib.c (compute_client_method_name):
   5414 	Change to just take iface prefix directly.
   5415 	(write_formal_parameters): Clarify error message.
   5416 	(check_supported_parameters): New function; checks to see type
   5417 	signatures of method parameters are supported.
   5418 	(generate_client_glue): Handle ignore_unsupported flag.
   5419 	(dbus_binding_tool_output_glib_client): Handle ignore_unsupported
   5420 	parameter.
   5421 
   5422 	* glib/Makefile.am (dbus-glib-bindings.h): Pass
   5423 	--ignore-unsupported by default until glib bindings
   5424 	support arrays.
   5425 
   5426 2005-03-11  Colin Walters  <walters (a] verbum.org>
   5427 
   5428 	* glib/Makefile.am: Generate dbus-glib-bindings.h and
   5429 	install it.
   5430 
   5431 	* bus/print-introspect.c: New file; prints introspection
   5432 	data for a given name and object path.
   5433 
   5434 	* bus/run-with-tmp-session-bus.sh: New file, refactored
   5435 	from test/glib/run-test.sh.  Creates a temporary session
   5436 	bus and runs another program.
   5437 
   5438 	* test/glib/run-test.sh: Refactor to invoke
   5439 	run-with-tmp-session-bus.sh.
   5440 
   5441 	* bus/driver.c (bus_driver_handle_introspect): Fix to print new
   5442 	introspection format.  Also change to use DBUS_TYPE_x_AS_STRING
   5443 	macros instead of hardcoding.
   5444 
   5445 	* glib/.cvsignore, bus/.cvsignore, test/glib/.cvsignore: Update.
   5446 
   5447 2005-03-11  Joe Shaw  <joeshaw (a] novell.com>
   5448 
   5449 	* dbus/dbus-connection.c (dbus_connection_send_with_reply): Remove
   5450 	this unref; it doesn't match up evenly in some codepaths.
   5451 	(_dbus_connection_block_pending_call): Unref at every exitpoint;
   5452 	this evenly matches with the ref near the top of this function.
   5453 
   5454 2005-03-09  Joe Shaw  <joeshaw (a] novell.com>
   5455 
   5456 	* dbus/dbus-object-tree.c
   5457 	(_dbus_object_tree_unregister_and_unlock): If checks are enabled
   5458 	and we try to unregister a path that's not registered, still go
   5459 	through the process of unlocking and don't just return.
   5460 
   5461 2005-03-09  Colin Walters  <walters (a] verbum.org>
   5462 
   5463 	* glib/dbus-gproxy.c (dbus_g_proxy_invoke): New method; calls
   5464 	to this are generated for client-side wrappers.  Invokes a
   5465 	D-BUS method and returns reply values.  
   5466 
   5467 	* glib/dbus-binding-tool-glib.c (write_args_sig_for_direction): New
   5468 	function; writes signature string for argument direction.
   5469 	(write_args_for_direction): Change to pass input values directly
   5470 	instead of via address, and fix indentation.
   5471 	(generate_client_glue): Change to invoke dbus_g_proxy_invoke.  Also
   5472 	make generated wrappers inlineable.
   5473 
   5474 	* dbus/dbus-message.c (dbus_message_iter_get_fixed_array): Add
   5475 	note about using dbus_type_is_fixed.
   5476 
   5477 	* dbus/dbus-marshal-basic.c (_dbus_type_is_fixed): Moved to
   5478 	dbus/dbus-signature.c as dbus_type_is_fixed.
   5479 
   5480 	All callers updated.
   5481 
   5482 	* dbus/dbus-signature.c (dbus_type_is_fixed): Moved here
   5483 	from dbus/dbus-marshal-basic.c:_dbus_type_is_fixed.
   5484 
   5485 	* dbus/dbus-signature.h: Prototype.
   5486 
   5487 	* glib/dbus-binding-tool-glib.c (compute_marshaller_name): Fix
   5488 	error printf code.
   5489 
   5490 	* test/glib/test-dbus-glib.c (main): Be sure to clear error as
   5491 	appropriate instead of just freeing it.
   5492 	(main): Free returned strings using g_free.
   5493 
   5494 	* test/glib/Makefile.am (test-service-glib-glue.h)
   5495 	(test-service-glib-bindings.h): Add dependency on dbus-binding-tool.
   5496 
   5497 	* glib/dbus-gvalue.c (MAP_BASIC): Refactored from MAP_BASIC_INIT;
   5498 	simply maps a simple D-BUS type to GType.
   5499 	(dbus_dbus_type_to_gtype): Function which maps D-BUS type to
   5500 	GType.
   5501 	(dbus_gvalue_init): Just invoke dbus_dbus_type_to_gtype and
   5502 	initialize the value with it.
   5503 	(dbus_gvalue_binding_type_from_type): Unused, delete.
   5504 	(dbus_gvalue_demarshal): Switch to hardcoding demarshalling for
   5505 	various types instead of unmarshalling to value data directly.
   5506 	Remove can_convert boolean.
   5507 	(dbus_gvalue_marshal): Remove duplicate initialization; switch to
   5508 	returning directly instead of using can_convert boolean.
   5509 	(dbus_gvalue_store): New function; not related to D-BUS per-se.
   5510 	Stores a GValue in a pointer to a value of its corresponding C
   5511 	type.
   5512 
   5513 	* glib/dbus-gvalue.h: Remove dbus_gvalue_binding_type_from_type,
   5514 	add dbus_gvalue_store.
   5515 
   5516 2005-03-08  Joe Shaw  <joeshaw (a] novell.com>
   5517 
   5518 	Fix a bunch of lifecycle and memory management problems
   5519 	in the mono bindings.
   5520 
   5521 	* mono/Arguments.cs (Arguments): Implement IDisposable
   5522 
   5523 	* mono/Bus.cs (Bus): Don't allow public instantiation.  This is
   5524 	strictly a static class.
   5525 
   5526 	* mono/Connection.cs: Move the DBusObjectPathVTable and associated
   5527 	delegates into this file.
   5528 	(Connection): Implement IDisposable.
   5529 	(Dispose): Disconnect the connection and set the raw connection
   5530 	pointer to IntPtr.Zero.
   5531 	(~Connection): Call Dispose().
   5532 	(RegisterObjectPath): Added.  Manages the registration of object
   5533 	paths so we can cleanly disconnect them at dispose/finalize time.
   5534 	(UnregisterObjectPath): Ditto.
   5535 	(set_RawConnection): Unregister all of the object paths when
   5536 	changing the underlying DBusConnection.  Add them back onto the
   5537 	new connection, if any.
   5538 
   5539 	* mono/Handler.cs: Don't implement IDisposable; it doesn't use any
   5540 	more unmanaged resources anymore, so it's not necessary.  Move all
   5541 	the DBusObjectPathVTable stuff out of here.
   5542 	(Handler): Save references to our delegates so that they don't get
   5543 	finalized.  Call Connection.RegisterObjectPath() instead of
   5544 	dbus_connection_register_object_path() directly.
   5545 	(Message_Called): Dispose the message after we're finished with
   5546 	it.
   5547 
   5548 	* mono/Message.cs (Message): Implement IDisposable.
   5549 	(Dispose): Dispose the Arguments, and set the RawMessage to
   5550 	IntPtr.Zero.
   5551 	(SendWithReplyAndBlock): We own the ref to the reply that comes
   5552 	back from dbus_connection_send_with_reply_and_block() so add a
   5553 	comment about that and unref it after we've constructed a managed
   5554 	MethodReturn class around it.  Fixes a big, big leak.
   5555 
   5556 	* mono/ProxyBuilder.cs: Reflect into Message to get the Dispose
   5557 	method.
   5558 	(BuildSignalHandler): After we've sent the Signal message, dispose
   5559 	of it.
   5560 	(BuildMethod): Dispose of the method call and reply messages after
   5561 	we've sent the message and extracted the data we want from the
   5562 	reply.
   5563 
   5564 	* mono/Service.cs (UnregisterObject): Don't call handler.Dispose()
   5565 	anymore.
   5566 	(Service_FilterCalled): Dispose of the message after we're
   5567 	finished with it.
   5568 
   5569 2005-03-08  Joe Shaw  <joeshaw (a] novell.com>
   5570 
   5571         * dbus/dbus-connection.c (dbus_connection_send_with_reply):
   5572         After we attach our pending call to the connection, unref
   5573         it.  Fixes a leak.
   5574  
   5575         * mono/Connection.cs (set_RawConnection): Disconnect our
   5576         filter and match callbacks from the old connection and
   5577         reconnect them to the new connection, if any.
   5578 
   5579 	* mono/DBusType/Array.cs: "Code" is a static member, so
   5580 	don't use "this" to refer to it.  Fix for stricter checking
   5581 	in Mono 1.1.4.
   5582  
   5583         * mono/DBusType/ObjectPath.cs (Append): Don't leak the
   5584 	object path that we pass into unmanaged code.
   5585  
   5586         * mono/DBusType/String.cs (Append): Don't leak the string
   5587 	that we pass into unmanged code.
   5588 
   5589 2005-03-07  John (J5) Palmieri  <johnp (a] redhat.com>
   5590 	* NEWS: Update for 0.31
   5591 
   5592 	* configure.in: Release 0.31
   5593 	add LT_CURRENT, LT_REVISION, LT_AGE for easy soname bumping
   5594 
   5595 	* qt/Makefile.am: fixed build
   5596 
   5597 	* dbus/Makefile.am: soname bump for libdbus
   5598 
   5599 	* glib/Makefile.am: soname bump for libdbus-glib
   5600 
   5601 2005-03-05  Havoc Pennington  <hp (a] redhat.com>
   5602 
   5603 	* dbus/dbus-sysdeps.c:
   5604 	(pseudorandom_generate_random_bytes_buffer): fix to have no return
   5605 	value
   5606 	(_dbus_generate_random_bytes_buffer): fix return value
   5607 
   5608 	* dbus/dbus-sysdeps-util.c: s/GETPWNAME/GETPWNAM/ so configure
   5609 	checks actually work, from Tom Parker <fdo (a] tevp.net>
   5610 
   5611 2005-03-01  Colin Walters  <walters (a] verbum.org>
   5612 
   5613 	* test/glib/test-dbus-glib.c (lose, lose_gerror): Utility
   5614 	functions copied from dbus-glib-tool.c.
   5615 	(main): Convert lots of error code to use them.
   5616 	Also add some testing for introspection bits.
   5617 
   5618 2005-03-01  Colin Walters  <walters (a] verbum.org>
   5619 	
   5620 	* doc/TODO: Remove introspection signature TODO.
   5621 
   5622 2005-02-27  Colin Walters  <walters (a] verbum.org>
   5623 
   5624 	* glib/dbus-gidl.c (property_info_get_type, arg_info_get_type):
   5625 	Change return value to const char * instead of int so we can do
   5626 	full signatures.
   5627 	(struct PropertyInfo, struct ArgInfo): Store char *.
   5628 	(property_info_new, arg_info_new): Update parameters, strdup.
   5629 	(property_info_unref, arg_info_unref): Free.
   5630 
   5631 	* glib/dbus-gidl.h: Update prototypes.
   5632 
   5633 	* glib/dbus-gparser.c (basic_type_from_string): Delete.
   5634 	(validate_signature): New function, just validates signature and
   5635 	sets GError.
   5636 	(parse_property, parse_arg): Invoke validate_signature.  Store
   5637 	signature instead of just type code.
   5638 
   5639 	* glib/dbus-gvalue.c (base_type_from_signature): New utility
   5640 	function to return a primary type for a signature, dropping
   5641 	information about types in container types.
   5642 	(dbus_gvalue_genmarshal_name_from_type)
   5643 	(dbus_gvalue_binding_type_from_type)
   5644 	(dbus_gvalue_ctype_from_type): Update to take full signature
   5645 	 instead of type code.
   5646 	(dbus_gtype_to_dbus_type): Moved here from glib/dbus-gobject.c.
   5647 
   5648 	* glib/dbus-gvalue.h: Update prototypes for above.
   5649 
   5650 	* glib/dbus-gobject.c (gtype_to_dbus_type): Moved to
   5651 	glib/dbus-gvalue.c as dbus_gtype_to_dbus_type.
   5652 	(introspect_properties, introspect_signals, write_interface):
   5653 	Update to handle signatures, and remove usage of
   5654 	_dbus_gutils_type_to_string.
   5655 	(handle_introspect): Print out type codes instead of e.g. "string"
   5656 	in hardcoded introspection XML; also use x_AS_STRING constants
   5657 	instead of hardcoding in string.
   5658 
   5659 	* glib/dbus-glib-tool.c (pretty_print): Handle signature change
   5660 	to string.  Remove usage of _dbus_gutils_type_to_string.
   5661 
   5662 	* glib/dbus-gutils.c (_dbus_gutils_type_to_string): Delete.
   5663 
   5664 	* glib/dbus-gutils.h (_dbus_gutils_type_to_string): Update for
   5665 	deletion.
   5666 	
   5667 	* glib/dbus-binding-tool-glib.c (compute_marshaller)
   5668 	(compute_marshaller_name, generate_glue): Handle signature change
   5669 	to string.
   5670 	(write_formal_parameters, write_args_for_direction): Ditto, and
   5671 	remove FIXME.
   5672 
   5673 	* tools/dbus-tree-view.c (type_to_string): Delete.
   5674 	(info_set_func_text): Update to print full signatures.
   5675 
   5676 	* test/glib/test-service-glib.xml: Change types to new
   5677 	introspection format.
   5678 
   5679 2005-02-26  Havoc Pennington  <hp (a] redhat.com>
   5680 
   5681 	* doc/TODO: remove the "guid" item
   5682 
   5683 	* test/glib/test-profile.c (no_bus_thread_func): use open_private
   5684 	(with_bus_thread_func): use open_private
   5685 
   5686 	* dbus/dbus-connection.c (dbus_connection_open_private): new
   5687 	function that works like the old dbus_connection_open()
   5688 	(dbus_connection_open): now returns an existing connection if
   5689 	possible
   5690 
   5691 	* dbus/dbus-server-unix.c (handle_new_client_fd_and_unlock): pass
   5692 	through the GUID to the transport
   5693 
   5694 	* dbus/dbus-server.c (_dbus_server_init_base): keep around the
   5695 	GUID in hex-encoded form.
   5696 
   5697 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
   5698 	pass GUID argument in to the transport
   5699 
   5700 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): add
   5701 	guid argument
   5702 
   5703 	* dbus/dbus-transport.c (_dbus_transport_init_base): add guid argument
   5704 
   5705 	* dbus/dbus-auth.c (_dbus_auth_server_new): add guid argument
   5706 
   5707 2005-02-25  Havoc Pennington  <hp (a] redhat.com>
   5708 
   5709 	* doc/dbus-specification.xml: document the GUID thing
   5710 
   5711 	* dbus/dbus-server.c (_dbus_server_init_base): initialize a
   5712 	globally unique ID for the server, and put a "guid=hexencoded"
   5713 	field in the address
   5714 
   5715 	* dbus/dbus-bus.c: fix missing #include of dbus-threads-internal.h
   5716 
   5717 	* dbus/dbus-message.c: ditto
   5718 
   5719 	* dbus/dbus-dataslot.c: ditto
   5720 
   5721 	* dbus/dbus-list.c: ditto
   5722 
   5723 	* dbus/dbus-internals.h: wait, just include
   5724 	dbus-threads-internal.h here
   5725 	
   5726 	* dbus/dbus-string.c (_dbus_string_copy_to_buffer): move back for
   5727 	use in main library
   5728 
   5729 	* dbus/dbus-sysdeps.c (_dbus_generate_random_bytes_buffer): new function
   5730 
   5731 2005-02-24  Colin Walters  <walters (a] verbum.org>
   5732 
   5733 	* test/glib/Makefile.am (EXTRA_DIST): Add test-service-glib.xml
   5734 
   5735 2005-02-24  John (J5) Palmieir  <johnp (a] redhat.com>
   5736 
   5737 	* glib/Makefile.am: added dbus-gobject.h to sources list
   5738 	so distcheck doesn't fail
   5739 	
   5740 2005-02-24  Havoc Pennington  <hp (a] redhat.com>
   5741 
   5742 	* dbus/dbus-server.c, dbus/dbus-server-unix.c: change semantics so
   5743 	you must disconnect before unref, since locking and other things
   5744 	are screwed up otherwise. Fix assorted other locking stuff.
   5745 
   5746 	* dbus/dbus-signature.c (dbus_signature_iter_get_element_type):
   5747 	fix compilation
   5748 
   5749 	* dbus/dbus-threads-internal.h: move the mutex/condvar wrappers
   5750 	into a private header and don't export from the library
   5751 
   5752 	* throughout - call _dbus_thread_stuff vs. dbus_thread_stuff
   5753 
   5754 2005-02-24  Colin Walters  <walters (a] verbum.org>
   5755 	
   5756 	* dbus/dbus-signature.c: New file; implements various functions
   5757 	related to type signatures.  Includes an interator for parsing,
   5758 	validation functions.
   5759 	(dbus_type_is_basic): Moved here from
   5760 	dbus-marshal-basic.c:_dbus_type_is_basic.
   5761 	(dbus_type_is_container): Moved here from
   5762 	dbus-marshal-basic.c:_dbus_type_is_container.
   5763 
   5764 	All callers of _dbus_type_is_container and _dbus_type_is_basic
   5765 	updated, and include dbus-signature.h.
   5766 
   5767 	* dbus/dbus-signature.h: New file; prototypes for the above.
   5768 
   5769 	* dbus/Makefile.am (DBUS_LIB_SOURCES): Add dbus-signature.c,
   5770 	dbus-signature.h.
   5771 
   5772 	* dbus/dbus-marshal-basic.c (map_type_char_to_type): New utility
   5773 	function factored out of _dbus_first_type_in_signature.
   5774 	(_dbus_first_type_in_signature_c_str): New function; returns first
   5775 	type code for a type signature character.
   5776 
   5777 	* dbus/dbus-marshal-basic.h: Prototype _dbus_first_type_in_signature_c_str,
   5778 	handle function moves.
   5779 
   5780 	* dbus/dbus-marshal-recursive.h: Export _dbus_type_signature_next.
   5781 
   5782 	* dbus/dbus-marshal-recursive.c (_dbus_type_signature_next): New
   5783 	function; skips to next complete type in type signature.
   5784 	Implemented using previous skip_one_complete_type.  Now
   5785 	skip_one_complete_type just delegates to
   5786 	_dbus_type_signature_next.
   5787 
   5788 	* dbus/dbus-marshal-basic.c (_dbus_type_is_basic): Moved
   5789 	to dbus-signature.c
   5790 	(_dbus_type_is_container): Ditto.
   5791 
   5792 	* doc/dbus-specification.xml: Update introspection sample to
   5793 	use real type signatures.
   5794 
   5795 	* dbus/dbus-test.h: Prototype signature test.
   5796 
   5797 	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Run
   5798 	signature tests.
   5799 
   5800 	* dbus/dbus-protocol.h (DBUS_ERROR_INVALID_SIGNATURE): New error.
   5801 
   5802 2005-02-23  John (J5) Palmieri  <johnp (a] redhat.com>
   5803 
   5804 	* python/dbus_bindings.pyx.in (PendingCall::get_reply):
   5805 	s/dbus_pending_call_get_reply/dbus_pending_call_steal_reply
   5806 
   5807 2005-02-21  Colin Walters  <walters (a] verbum.org>
   5808 
   5809 	* dbus/dbus-test-main.c (main): Take optional specific test
   5810 	argument.
   5811 
   5812 	* dbus/dbus-test.c (run_test): New function, runs a test function
   5813 	with no data directory.
   5814 	(run_data_test): Like above, but takes data directory.
   5815 	(dbus_internal_do_not_use_run_tests): Take
   5816 	specific test argument.  Replace lots of cut n' paste code
   5817 	with run_test and run_data_test.
   5818 
   5819 	* dbus/dbus-test.h: Update prototype for
   5820 	dbus_internal_do_not_use_run_tests.
   5821 
   5822 2005-02-20  Havoc Pennington  <hp (a] redhat.com>
   5823 
   5824         Fix bugs reported by Daniel P. Berrange
   5825 	
   5826 	* dbus/dbus-server.c (_dbus_server_unref_unlocked): new function
   5827 	(protected_change_watch): new function
   5828 	(_dbus_server_toggle_watch, _dbus_server_remove_watch)
   5829 	(_dbus_server_add_watch): change to work like the
   5830 	dbus-connection.c equivalents; like those, probably kind of
   5831 	busted, but should at least mostly work for now
   5832 	(dbus_server_disconnect): drop the lock if we were already
   5833 	disconnected, patch from Daniel P. Berrange
   5834 
   5835 	* dbus/dbus-server.c (_dbus_server_toggle_timeout) 
   5836 	(_dbus_server_remove_timeout, _dbus_server_add_timeout): all the
   5837 	same stuff
   5838 
   5839 	* doc/TODO: todo about unscrewing this mess
   5840 
   5841 2005-02-19  Colin Walters  <walters (a] verbum.org>
   5842 
   5843 	* glib/dbus-binding-tool-glib.c
   5844 	(dbus_binding_tool_output_glib_server): Fix iochannel refcounting.
   5845 
   5846 	* glib/dbus-glib-tool.c: Include dbus-glib-tool.h, as well
   5847 	as errno.h and sys/stat.h.
   5848 	(lose): New function, prints error with
   5849 	newline and exits.
   5850 	(lose_gerror): Similar, but takes GError for message.
   5851 	(main): Add --output argument to specify output file to write to,
   5852 	instead of always printing to stdout.  In this mode, determine
   5853 	timestamps on source files to see whether any are newer than the
   5854 	target file.  If not, exit.  Also convert a number of error
   5855 	messages to use lose (since it's shorter), and switch to using
   5856 	g_io_channel_shutdown.
   5857 
   5858 2005-02-19  Havoc Pennington  <hp (a] redhat.com>
   5859 
   5860 	* glib/dbus-gobject.c
   5861 	(_dbus_glib_marshal_dbus_message_to_gvalue_array): add docs
   5862 
   5863 	* glib/dbus-glib.c: fix doxygen warnings
   5864 
   5865 	* glib/dbus-gparser.c (parse_annotation): error if an annotation
   5866 	is found on an <arg>
   5867 
   5868 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5869 
   5870 	* glib/dbus-gobject.h: Don't export
   5871 	_dbus_glib_marshal_dbus_message_to_gvalue_array.
   5872 	
   5873 	* glib/dbus-gobject.c (_dbus_glib_marshal_dbus_message_to_gvalue_array): Do rename.
   5874 	(invoke_object_method): Handle it.
   5875 
   5876 	* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
   5877 	Handle rename.
   5878 	
   5879 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5880 
   5881 	* bus/.cvsignore, doc/.cvsignore
   5882 	* test/data/valid-service-files/.cvsignore, test/glib/.cvsignore:
   5883 	Update.
   5884 
   5885 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5886 	
   5887 	* dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS):
   5888 	Rename to DBUS_SERVICE_DBUS.
   5889 	(DBUS_PATH_ORG_FREEDESKTOP_DBUS): Rename to DBUS_PATH_DBUS.
   5890 	(DBUS_PATH_ORG_FREEDESKTOP_LOCAL): Rename to DBUS_PATH_LOCAL.
   5891 	Change the value from "org.freedesktop.Local"
   5892 	to "org.freedesktop.DBus.Local".
   5893 	(DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS): Rename to DBUS_INTERFACE_DBUS.
   5894 	(DBUS_INTERFACE_ORG_FREEDESKTOP_INTROSPECTABLE): Rename to
   5895 	DBUS_INTERFACE_INTROSPECTABLE.
   5896 	Change the value from "org.freedesktop.Introspectable"
   5897 	to "org.freedesktop.DBus.Introspectable".
   5898 	(DBUS_INTERFACE_ORG_FREEDESKTOP_PROPERTIES): Rename to
   5899 	DBUS_INTERFACE_PROPERTIES.
   5900 	Change the value from "org.freedesktop.Properties"
   5901 	to "org.freedesktop.DBus.Properties".
   5902 	(DBUS_INTERFACE_ORG_FREEDESKTOP_PEER): Rename to
   5903 	DBUS_INTERFACE_PEER.
   5904 	Change the value from "org.freedesktop.Peer"
   5905 	to "org.freedesktop.DBus.Peer".
   5906 	(DBUS_INTERFACE_ORG_FREEDESKTOP_LOCAL): 
   5907 	DBUS_INTERFACE_LOCAL.
   5908 	Change the value from "org.freedesktop.Local"
   5909 	to "org.freedesktop.DBus.Local".
   5910 
   5911 	All other users of those constants have been changed.
   5912 
   5913 	* bus/driver.c (bus_driver_handle_introspect): Use constants.
   5914 
   5915 	* glib/dbus-gobject.c (handle_introspect): Use constants.
   5916 
   5917 	* doc/dbus-faq.xml, doc/dbus-specification.xml: Update for rename.
   5918 
   5919 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5920 
   5921 	* glib/dbus-gparser.c (struct Parser): Add in_annotation boolean.
   5922 	(parse_node, parse_interface, parse_method, parse_signal)
   5923 	(parse_property, parse_annotation): Lose if we're currently in an
   5924 	annotation.
   5925 	(parse_annotation): New function.
   5926 	(parser_start_element, parser_end_element): Handle annotation.
   5927 	(parse_method, parse_interface): Remove support for c_name attribute,
   5928 	switch to annotations.
   5929 
   5930 	* glib/dbus-gidl.h (interface_info_get_binding_names)
   5931 	(method_info_get_binding_names)
   5932 	(interface_info_get_binding_name, method_info_get_binding_name)
   5933 	(interface_info_set_binding_name, method_info_set_binding_name):
   5934 	Remove.
   5935 	(interface_info_get_annotations, method_info_get_annotations)
   5936 	(interface_info_get_annotation, method_info_get_annotation)
   5937 	(interface_info_add_annotation, method_info_add_annotation):
   5938 	Prototype.
   5939 
   5940 	* glib/dbus-gidl.c (struct InterfaceInfo): Substitute "annotations"
   5941 	for "bindings".
   5942 	(struct MethodInfo): Ditto.
   5943 	Straightfoward conversion of binding methods into annotation methods
   5944 	as prototyped.
   5945 
   5946 	* glib/dbus-glib-tool.c (pretty_print): Print annotations.
   5947 
   5948 	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_C_SYMBOL): Define.
   5949 
   5950 	* glib/dbus-binding-tool-glib.c (gather_marshallers, generate_glue):
   5951 	Use new annotation API.
   5952 
   5953 	* doc/introspect.dtd: Fix a number of DTD syntax errors.  Add
   5954 	annotation element.
   5955 	
   5956 	* doc/dbus-specification.xml: Discuss introspection annotations,
   5957 	include list of well-known annotations.
   5958 
   5959 	* test/glib/test-service-glib.xml: Make validate against new DTD.
   5960 
   5961 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5962 
   5963 	This patch is based on initial work from
   5964 	Paul Kuliniewicz <kuliniew (a] purdue.edu>.
   5965 
   5966 	* glib/dbus-gvalue.c (dbus_gvalue_init): New function; move
   5967 	initialization of GValue from dbus type to here.
   5968 	(dbus_gvalue_genmarshal_name_from_type): New function; generates a string
   5969 	for the "glib-genmarshal" program from a DBus type.
   5970 	(dbus_gvalue_binding_type_from_type): New function; turns a DBus type
   5971 	into the C name for it we use in the glib bindings.
   5972 	(dbus_gvalue_ctype_from_type): New function; maps a DBus type into a
   5973 	glib C type (not GValue).
   5974 	(dbus_gvalue_demarshal): invoke dbus_gvalue_init.
   5975 
   5976 	* glib/dbus-gutils.c (_dbus_gutils_wincaps_to_uscore): Moved here
   5977 	from dbus-gobject.c.
   5978 
   5979 	* glib/dbus-gutils.h: Prototype it.
   5980 
   5981 	* glib/dbus-gproxy.c: Include new dbus-gobject.h.
   5982 	(marshal_dbus_message_to_g_marshaller): Use new shared function
   5983 	dbus_glib_marshal_dbus_message_to_gvalue_array.
   5984 
   5985 	* glib/dbus-gparser.c (parse_interface, parse_method): Handle c_name attribute.
   5986 	Will be changed once we have annotations.
   5987 
   5988 	* glib/dbus-gobject.c: Change info_hash_mutex from GStaticMutex to
   5989 	GStaticRWLock.  Callers updated.
   5990 	(wincaps_to_uscore): Move to dbus-gutils.c.  Callers updated.
   5991 	(string_table_next): New function for iterating over zero-terminated
   5992 	string value array.
   5993 	(string_table_lookup): New function; retrieves specific entry in
   5994 	array.
   5995 	(get_method_data): New function; look up method data in object data chunk.
   5996 	(object_error_domain_prefix_from_object_info)
   5997 	(object_error_code_from_object_info): New functions, but not implemented yet.
   5998 	(method_interface_from_object_info): New function; retrieve interface name.
   5999 	(method_name_from_object_info): New function; retrieve method name.
   6000 	(method_arg_info_from_object_info): New function; retrieve argument data.
   6001 	(arg_iterate): New function; iterates over serialized argument data.
   6002 	(method_dir_signature_from_object_info): New function; returns a
   6003 	GString holding type signature for arguments for just one
   6004 	direction (input or output).
   6005 	(method_input_signature_from_object_info)
   6006 	(method_output_signature_from_object_info): New functions.
   6007 	(dbus_glib_marshal_dbus_message_to_gvalue_array): New shared function;
   6008 	converts dbus message arguments into a GValue array.  Used for both
   6009 	signal handling and method invocation.
   6010 	(struct DBusGlibWriteIterfaceData): New utility structure.
   6011 	(write_interface): New function; generate introspection XML for
   6012 	an interface.
   6013 	(introspect_interfaces): New function; gathers all interface->methods,
   6014 	generates introspection XML for them.
   6015 	(handle_introspect): Invoke introspect_interfaces.
   6016 	(get_object_property): Be sure to zero-initalize stack-allocated GValue.
   6017 	(lookup_object_and_method): New function; examines an incoming message
   6018 	and attempts to match it up (via interface, method name, and argument
   6019 	signature) with a known object and method.
   6020 	(gerror_domaincode_to_dbus_error_name): New function; converts a
   6021 	GError domain and code into a DBus error name.  Needs GError data
   6022 	added to object introspection to work well.
   6023 	(gerror_to_dbus_error_message): Creates a DBusMessage error return from
   6024 	GError.
   6025 	(invoke_object_method): New function to invoke an object method
   6026 	looked up via lookup_object_and_method.  Parses the incoming
   6027 	message, turns it into a GValue array, then invokes the marshaller
   6028 	specified in the DBusGMethodInfo.  Creates a new message with
   6029 	either return values or error message as appropriate.
   6030 	(gobject_message_function): Invoke lookup_object_and_method and
   6031 	invoke_object_method.
   6032 
   6033 	* glib/dbus-glib-tool.c: Include dbus-binding-tool-glib.h.
   6034 	(enum DBusBindingOutputMode): New enum for binding output modes.
   6035 	(pretty_print): Print binding names.
   6036 	(dbus_binding_tool_error_quark): GError bits.
   6037 	(version): Fix typo.
   6038 	(main): Create GIOChannel for output.  Parse new --mode argument,
   6039 	possible values are "pretty-print", "glib-server", "glib-client".
   6040 	Use mode to invoke appropriate function.
   6041 	
   6042 	* glib/dbus-gobject.h: Prototype dbus_glib_marshal_dbus_message_to_gvalue_array.
   6043 
   6044 	* glib/dbus-glib-tool.h: New header, just includes GError bits
   6045 	for now.
   6046 
   6047 	* glib/dbus-gidl.c (struct InterfaceInfo): Add bindings hashtable;
   6048 	maps binding style to name.
   6049 	(struct MethodInfo): Ditto.
   6050 	(get_hash_keys, get_hash_key): Utility function, returns keys for
   6051 	a GHashTable.
   6052 	(interface_info_new, method_info_new): Initialize bindings.
   6053 	(interface_info_unref, method_info_unref): Destroy bindings.
   6054 	(method_info_get_binding_names, method_info_get_binding_name)
   6055 	(interface_info_get_binding_names, interface_info_get_binding_name):
   6056 	Functions for retrieving binding names.
   6057 	(method_info_set_binding_name, interface_info_set_binding_name):
   6058 	Functions for setting binding names.
   6059 
   6060 	* glib/dbus-binding-tool-glib.h: New file, has prototypes
   6061 	for glib binding generation.
   6062 
   6063 	* glib/dbus-binding-tool-glib.c: New file, implements server-side
   6064 	and client-side glib glue generation.
   6065 
   6066 	* glib/Makefile.am (dbus_binding_tool_SOURCES): Add
   6067 	dbus-binding-tool-glib.c, dbus-binding-tool-glib.h,
   6068 	dbus-glib-tool.h.
   6069 
   6070 	* dbus/dbus-glib.h (struct DBusGMethodMarshaller): Remove in favor
   6071 	of using GClosureMarshal directly.
   6072 	(struct DBusGObjectInfo): Add n_infos member.
   6073 
   6074 	* test/glib/test-service-glib.xml: New file; contains introspection data
   6075 	for MyTestObject used in test-service-glib.c.
   6076 
   6077 	* test/glib/test-service-glib.c (enum MyObjectError): New GError enum.
   6078 	(my_object_do_nothing, my_object_increment, my_object_throw_error)
   6079 	(my_object_uppercase, my_object_many_args): New test methods.
   6080 	(main): Use dbus_g_object_class_install_info to include generated object
   6081 	info.
   6082 
   6083 	* test/glib/Makefile.am: Generate server-side glue for test-service-glib.c,
   6084 	as well as client-side bindings.
   6085 
   6086 	* test/glib/test-dbus-glib.c: Include test-service-glib-bindings.h.
   6087 	(main): Activate TestSuiteGLibService; test invoke a bunch of its methods
   6088 	using both the dbus_gproxy stuff directly as well as the generated bindings.
   6089 
   6090 2005-02-15  Havoc Pennington  <hp (a] redhat.com>
   6091 
   6092 	* dbus/dbus-connection.c (dbus_connection_dispatch): always
   6093 	complete a pending call, don't run filters first.
   6094 
   6095 	* glib/dbus-gproxy.c (dbus_g_proxy_end_call): change to use
   6096 	dbus_pending_call_steal_reply
   6097 
   6098 	* dbus/dbus-pending-call.c (dbus_pending_call_block): just call
   6099 	_dbus_connection_block_pending_call
   6100 	(dbus_pending_call_get_reply): change to steal_reply and return a
   6101 	ref
   6102 
   6103 	* dbus/dbus-connection.c
   6104 	(dbus_connection_send_with_reply_and_block): port to work in terms
   6105 	of DBusPendingCall
   6106 	(_dbus_connection_block_pending_call): replace block_for_reply
   6107 	with this
   6108 
   6109 2005-02-14  Havoc Pennington  <hp (a] redhat.com>
   6110 
   6111 	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group):
   6112 	properly handle looking up group information by name; fix 
   6113 	from j (a] bootlab.org
   6114 
   6115 2005-02-13  Havoc Pennington  <hp (a] redhat.com>
   6116 
   6117 	* dbus/dbus-connection.c (dbus_connection_return_message) 
   6118 	(dbus_connection_borrow_message): hold dispatch lock while message
   6119 	is outstanding
   6120 	(_dbus_connection_block_for_reply): hold dispatch lock while we
   6121 	block for the reply, so nobody steals our reply
   6122 	(dbus_connection_pop_message): hold the dispatch lock while we
   6123 	pluck the message
   6124 
   6125 2005-02-13  Havoc Pennington  <hp (a] redhat.com>
   6126 
   6127 	* dbus/dbus-connection.c (_dbus_connection_acquire_dispatch)
   6128 	(_dbus_connection_release_dispatch)
   6129 	(_dbus_connection_acquire_io_path)
   6130 	(_dbus_connection_release_io_path): make the mutex and condvar
   6131 	control access to the "acquired" flag. Drop the connection lock
   6132 	while waiting on the condvar. Hopefully these are baby steps in
   6133 	roughly the right direction.
   6134 
   6135 2005-02-13  Havoc Pennington  <hp (a] redhat.com>
   6136 
   6137 	* dbus/dbus-connection.c: use separate mutexes for the condition
   6138 	variables; this is some kind of baseline for sanity, but the
   6139 	condition variables still aren't used correctly afaict
   6140 
   6141 2005-02-13  Havoc Pennington  <hp (a] redhat.com>
   6142 
   6143 	* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
   6144 	fix a double-unlock
   6145 
   6146 	* dbus/dbus-connection.c
   6147 	(_dbus_connection_detach_pending_call_unlocked): add this
   6148 
   6149         Initial semi-correct pass through to fix thread locking; there are
   6150 	still some issues with the condition variable paths I'm pretty
   6151 	sure
   6152 	
   6153 	* dbus/dbus-server.c: add a mutex on DBusServer and appropriate
   6154 	lock/unlock calls
   6155 
   6156 	* dbus/dbus-connection.c (_dbus_connection_do_iteration_unlocked):
   6157 	rename to add _unlocked
   6158 	(struct DBusConnection): move "dispatch_acquired" and
   6159 	"io_path_acquired" to use only one bit each.
   6160 	(CONNECTION_LOCK, CONNECTION_UNLOCK): add checks with !DBUS_DISABLE_CHECKS
   6161 	(dbus_connection_set_watch_functions): hacky fix to reentrancy
   6162 	(_dbus_connection_add_watch, _dbus_connection_remove_watch) 
   6163 	(_dbus_connection_toggle_watch, _dbus_connection_add_timeout) 
   6164 	(_dbus_connection_remove_timeout) 
   6165 	(_dbus_connection_toggle_timeout): drop lock when calling out to
   6166 	user functions; done in a hacky/bad way.
   6167 	(_dbus_connection_send_and_unlock): add a missing unlock
   6168 	(_dbus_connection_block_for_reply): add a missing unlock
   6169 
   6170 	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
   6171 	drop lock in a hacky probably unsafe way to call out to user
   6172 	function
   6173 
   6174 2005-02-12  Havoc Pennington  <hp (a] redhat.com>
   6175 
   6176 	* tools/dbus-tree-view.c (info_set_func_text): display more
   6177 	details on args
   6178 
   6179 	* bus/driver.c (bus_driver_handle_list_services): list the bus
   6180 	driver
   6181 
   6182 	* glib/dbus-gparser.c (parse_arg): generate an arg name if none is supplied
   6183 
   6184 	* glib/dbus-gidl.c (signal_info_get_n_args): new function
   6185 	(method_info_get_n_args): new function
   6186 
   6187 2005-02-12  Havoc Pennington  <hp (a] redhat.com>
   6188 
   6189 	* bus/driver.c (bus_driver_handle_introspect): add introspection
   6190 	for bus driver
   6191 
   6192 2005-02-12  Havoc Pennington  <hp (a] redhat.com>
   6193 
   6194 	* bus/driver.c: put the signature of each bus driver method in the
   6195 	table of handlers and check it on incoming calls; this isn't
   6196 	really useful, but going to add introspect support in a minute.
   6197 
   6198 2005-02-11  Joe Shaw  <joeshaw (a] novell.com>
   6199 
   6200 	* mono/Connection.cs: The unpredictability of finalizers in mono
   6201 	prevents us from deterministically disconnecting the filters from
   6202 	the Service class's finalizer, so move tracking of filters and
   6203 	matches here.  Add API for that.
   6204 
   6205 	* mono/Service.cs: Remove the code, add code which calls the
   6206 	methods now on the Connection class.
   6207 
   6208 2005-02-11  John (J5) Palmieri  <johnp (a] redhat.com>
   6209 
   6210 	* python/dbus.py (class Sender): added to support dbus signals better
   6211 	(Bus::add_signal_receiver): added expand_args parameter which defaults
   6212 	to True.  When expand args is True the signal handler will pass the 
   6213 	message arguments as parameters to the signal handler.  If False
   6214 	revert to previous behavior where the signal handler must get the
   6215 	argument list from the message.  This is to help port applications
   6216 	like HAL that have a tendancy to send variable length argument lists.
   6217 	self._match_rule_to_receivers is now a dict of dicts.
   6218 	(Bus::remove_signal_receiver): pop handler off the dict intead of 
   6219 	removing it from a list
   6220 	(Bus::_signal_func): change signal handlers so that interface,
   6221 	signal_name, service, path and message are packed into a Sender
   6222 	object and that is passed to the handler.  If expand_args is True
   6223 	extract the args list from the message and append it to the parameter
   6224 	list
   6225 	
   6226 	* python/dbus_bindings.pyx.in (class Signature): added to support 
   6227 	signiature types
   6228 	(MessageIter::__init__): changed iteration limit to match D-BUS
   6229 	(MessageIter::get*): added INT16, UINT16, SIGNATURE, DICT_ENTRY, 
   6230 	STRUCT and VARIENT type support
   6231 	(MessageIter::python_value_to_dbus_sig): made recursive to support
   6232 	recursive types
   6233 	(MessageIter::append*): added Signature, dict, tuple 
   6234 	support
   6235 
   6236 	* python/examples/example-client.py: added examples of getting tuples
   6237 	and dicts
   6238 
   6239 	* python/examples/example-service.py: added examples of sending tuples
   6240 	and dicts
   6241 
   6242 	* python/examples/example-signal-recipient.py: Fixed to handle new
   6243 	signal callback format
   6244 
   6245 2005-02-10  Havoc Pennington  <hp (a] redhat.com>
   6246 
   6247 	* test/glib/test-dbus-glib.c (main): fix so this test doesn't fail
   6248 	(call dbus_g_proxy_add_signal)
   6249 
   6250 	* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
   6251 	escape the hostname
   6252 	(_dbus_server_new_for_domain_socket): escape the path
   6253 
   6254 	* dbus/dbus-address.c (dbus_address_escape_value): new
   6255 	(dbus_address_unescape_value): new
   6256 	(dbus_parse_address): unescape values
   6257 
   6258 	* dbus/dbus-string.c (_dbus_string_append_byte_as_hex): new function
   6259 
   6260 	* doc/dbus-specification.xml: explain how to escape values in
   6261 	addresses
   6262 
   6263 2005-02-10  Havoc Pennington  <hp (a] redhat.com>
   6264 
   6265 	* dbus/dbus-message-factory.c (generate_special): modify test to
   6266 	avoid using a non-basic dict key
   6267 
   6268 	* dbus/dbus-marshal-validate-util.c: add test for the below
   6269 
   6270 	* doc/dbus-specification.xml: require that dict keys are a basic
   6271 	type
   6272 
   6273 	* dbus/dbus-marshal-validate.c
   6274 	(_dbus_validate_signature_with_reason): require that dict key is a
   6275 	basic type
   6276 
   6277 2005-02-10  Havoc Pennington  <hp (a] redhat.com>
   6278 
   6279 	* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
   6280 	change to be _and_unlock instead of _unlocked
   6281 
   6282 	* dbus/dbus-connection.c
   6283 	(_dbus_connection_send_preallocated_unlocked_no_update): rename to
   6284 	have no_update so we can find this bug quickly in future
   6285 
   6286 2005-02-10  Havoc Pennington  <hp (a] redhat.com>
   6287 
   6288 	* dbus/dbus-message-util.c (verify_test_message): tests for string
   6289 	array
   6290 
   6291 	* dbus/dbus-message.c (dbus_message_append_args_valist): add
   6292 	support for arrays of string/signature/path
   6293 
   6294 2005-02-10  Joe Shaw  <joeshaw (a] novell.com>
   6295 
   6296 	* dbus/dbus-connection.c
   6297 	(_dbus_connection_queue_received_message_link,
   6298 	_dbus_connection_message_sent): Add the path to
   6299 	the verbose output.
   6300 	(_dbus_connection_send_preallocated_and_unlock): Added.  Calls
   6301 	_dbus_connection_send_preallocated_unlocked(), updated the
   6302 	dispatch status, and unlocks.  Fixes a bug where certain
   6303 	situations (like a broken pipe) could cause a Disconnect message
   6304 	to not be sent, tricking the bus into thinking a service was still
   6305 	there when the process had quit.
   6306 	(_dbus_connection_send_preallocated): Call
   6307 	_dbus_connection_send_preallocated_and_unlock().
   6308 	(_dbus_connection_send_and_unlock): Added.  Calls
   6309 	_dbus_connection_send_preallocated_and_unlock().
   6310 	(dbus_connection_send): Call _dbus_connection_send_and_unlock().
   6311 	(dbus_connection_send_with_reply): Update the dispatch status and
   6312 	unlock.
   6313 
   6314 	* mono/Service.cs (~Service): Added.  Removes the filter so that
   6315 	we don't get unmanaged code calling back into a GCed delegate.
   6316 	(RemoveFilter); Added.
   6317 
   6318 2005-02-09  John (J5) Palmieri  <johnp (a] redhat.com>
   6319 
   6320 	* dbus/dbus-message.c (dbus_message_iter_open_container):
   6321 	- Removed check for iterator type being an array because
   6322 	get_arg_type does not work with writer iterators
   6323 	- Pass NULL to _dbus_type_writer_recurse if signiture is NULL
   6324 
   6325 2005-02-07  Havoc Pennington  <hp (a] redhat.com>
   6326 
   6327 	* doc/dbus-specification.xml: some more language cleanups; add
   6328 	stuff about how to deal with invalid protocol and extension
   6329 	points; add _ to allowed chars in auth commands; add EXTENSION_
   6330 	auth command prefix
   6331 
   6332 2005-02-06  Havoc Pennington  <hp (a] redhat.com>
   6333 
   6334 	* s/expected/required/ in a couple places for clarity
   6335 
   6336 2005-02-07  Colin Walters  <walters (a] verbum.org>
   6337 
   6338 	* bus/selinux.c (bus_selinux_allows_send): Handle NULL for
   6339 	sender or proposed_recipient.
   6340 
   6341 2005-02-06  Havoc Pennington  <hp (a] redhat.com>
   6342 
   6343 	* dbus/dbus-message-factory.c (generate_special): more tests
   6344 
   6345 	* dbus/dbus-marshal-validate.c (validate_body_helper): detect
   6346 	array length that exceeds the maximum
   6347 
   6348 2005-02-05  Havoc Pennington  <hp (a] redhat.com>
   6349 
   6350 	* dbus/dbus-message-factory.c (generate_special): more test cases,
   6351 	increasing coverage
   6352 
   6353 	* dbus/dbus-marshal-validate.c (validate_body_helper): return the
   6354 	reason why a signature was invalid
   6355 
   6356 	* dbus/dbus-marshal-header.c (load_and_validate_field): fix to
   6357 	skip the length of the string before we look at it in validation
   6358 
   6359 	* dbus/dbus-string-util.c (_dbus_string_test): add tests for
   6360 	equal_substring
   6361 
   6362 	* dbus/dbus-message.c (_dbus_message_loader_new): default
   6363 	max_message_length to DBUS_MAXIMUM_MESSAGE_LENGTH
   6364 
   6365 2005-02-05  Havoc Pennington  <hp (a] redhat.com>
   6366 
   6367 	* dbus/dbus-marshal-validate.c (validate_body_helper): fix crash
   6368 	if the signature of a variant was empty
   6369 	(_dbus_validate_signature_with_reason): catch "(a)" (array inside
   6370 	struct with no element type)
   6371 
   6372 	* dbus/dbus-message-factory.c (generate_uint32_changed): add more
   6373 	mangled messages to break things
   6374 
   6375 2005-02-04  Havoc Pennington  <hp (a] redhat.com>
   6376 
   6377 	* glib/dbus-gproxy.c (dbus_g_proxy_disconnect_signal): use
   6378 	g_quark_try_string() so it actually can return 0
   6379 	(dbus_g_proxy_connect_signal): ditto
   6380 
   6381 2005-02-04  Havoc Pennington  <hp (a] redhat.com>
   6382 
   6383 	* glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): fix a
   6384 	bogus warning
   6385 	(tristring_from_message): assert cleanly on null path/interface
   6386 	(should not be possible though I decided later)
   6387 	(dbus_g_proxy_dispose): move proxy manager unregistration here
   6388 	(DBUS_G_PROXY_DESTROYED): add this macro, and use it in a bunch of
   6389 	g_return_if_fail() checks
   6390 
   6391 2005-02-04  Havoc Pennington  <hp (a] redhat.com>
   6392 
   6393 	* doc/Makefile.am (EXTRA_DIST): add DTDs to makefile
   6394 
   6395 	* doc/introspect.dtd: add introspect.dtd from David A. Wheeler
   6396 	(with some minor changes)
   6397 
   6398 	* doc/dbus-specification.xml: add deprecated attribute to
   6399 	introspection format
   6400 
   6401 2005-01-31  Havoc Pennington  <hp (a] redhat.com>
   6402 
   6403 	* glib/dbus-gproxy.c: rewrite how signals work again, this time I
   6404 	think it's sort of right
   6405 
   6406 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6407 
   6408 	* tools/dbus-viewer.c: kind of half-ass hook up the option menu.
   6409 
   6410 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6411 
   6412 	* tools/dbus-names-model.c: dynamically watch NameOwnerChanged
   6413 
   6414 	* autogen.sh: change to autotools 1.9
   6415 
   6416 	* glib/dbus-gproxy.c: completely change how signals work
   6417 	(dbus_g_proxy_add_signal): new function to specify signature of a
   6418 	signal
   6419 	(dbus_g_proxy_emit_received): marshal the dbus message to GValues,
   6420 	and g_warning if the incoming message has the wrong signature.
   6421 
   6422 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6423 
   6424 	* tools/dbus-names-model.c (have_names_notify): fix this
   6425 
   6426 	* dbus/dbus-message.c (_dbus_message_iter_get_args_valist): clean
   6427 	up the string array handling a bit 
   6428 
   6429 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6430 
   6431 	* glib/dbus-glib.c (dbus_g_pending_call_set_notify): new function
   6432 	(dbus_g_pending_call_cancel): new function
   6433 
   6434 	* dbus/dbus-glib.h: move GType decls for connection/message here;
   6435 	* dbus/dbus-glib.c: move all the g_type and ref/unref stuff in
   6436 	here, just kind of rationalizing how we handle all that
   6437 
   6438 	* tools/dbus-names-model.c: new file for a tree model listing the
   6439 	services on a bus
   6440 
   6441 	* tools/dbus-tree-view.c (model_new): use proper typing on the
   6442 	model rows
   6443 
   6444 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6445 
   6446 	* glib/dbus-gmain.c: add a custom GSource back that just checks
   6447 	whether the message queue has anything in it; otherwise, there are 
   6448 	cases where we won't see messages in the queue since there was no 
   6449 	IO visible to the glib main loop
   6450 
   6451 	* dbus/dbus-connection-internal.h (_DBUS_DEFAULT_TIMEOUT_VALUE):
   6452 	increase default message timeout to 25 seconds
   6453 
   6454 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6455 
   6456 	* test/glib/test-profile.c (no_bus_stop_server): remove the
   6457 	warning about the g_warning that I just fixed
   6458 
   6459 	* glib/dbus-gmain.c: rewrite the main loop stuff to avoid the
   6460 	custom source, seems to be a lot easier to understand and work
   6461 	better.
   6462 
   6463 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6464 
   6465         I think this main loop thing is conceptually broken, but here are 
   6466 	some band aids. I'll maybe rewrite it in a minute.
   6467 	
   6468 	* glib/dbus-gmain.c (add_timeout): timeout stuff doesn't use the
   6469 	custom GSource, so don't pass it in; confusing
   6470 	(gsource_server_finalize, gsource_connection_finalize): add
   6471 	finalize handlers that remove all the watches.	
   6472 
   6473 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6474 
   6475 	* glib/dbus-gobject.c (introspect_properties): fix the XML
   6476 	generated
   6477 
   6478 	* dbus/dbus-message.c (dbus_message_unref): add an in_cache flag
   6479 	which effectively detects the use of freed messages
   6480 
   6481 	* glib/dbus-gobject.c (handle_introspect): modify and return the
   6482 	reply message instead of the incoming message
   6483 
   6484 	* dbus/dbus-object-tree.c (handle_default_introspect_unlocked):
   6485 	gee, maybe it should SEND THE XML instead of just making a string
   6486 	and freeing it again ;-)
   6487 
   6488 	* tools/dbus-print-message.c (print_message): improve printing of
   6489 	messages
   6490 
   6491 	* configure.in: add debug-glib.service to the output
   6492 
   6493 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6494 
   6495         dbus-viewer introspected and displayed the bus driver
   6496 	
   6497 	* dbus/dbus-object-tree.c 
   6498 	(object_tree_test_iteration): add tests for a handler registered on "/"
   6499 
   6500 	* dbus/dbus-object-tree.c
   6501 	(_dbus_decompose_path): fix to handle path "/" properly
   6502 	(run_decompose_tests): add tests for path decomposition
   6503 	
   6504 	* glib/dbus-gutils.c (_dbus_gutils_split_path): fix to handle "/"
   6505 	properly
   6506 
   6507 	* glib/dbus-gobject.c (handle_introspect): fix quotes
   6508 
   6509 	* test/glib/run-test.sh: support launching the bus, then running
   6510 	dbus-viewer
   6511 
   6512 	* test/glib/test-service-glib.c (main): put in a trivial gobject
   6513 	subclass and register it on the connection
   6514 
   6515 	* bus/driver.c (bus_driver_handle_introspect): implement
   6516 	introspection of the bus driver service
   6517 
   6518 	* dbus/dbus-protocol.h: add #defines for the XML namespace,
   6519 	identifiers, doctype decl
   6520 
   6521 	* bus/driver.c (bus_driver_handle_get_service_owner): handle
   6522 	attempts to get owner of DBUS_SERVICE_ORG_FREEDESKTOP_DBUS by 
   6523 	returning the service unchanged.
   6524 	(bus_driver_handle_message): remove old check for reply_serial in
   6525 	method calls, now the message type deals with that
   6526 	(bus_driver_handle_message): handle NULL interface
   6527 
   6528 	* glib/dbus-gproxy.c (dbus_g_proxy_get_bus_name): new function
   6529 
   6530 	* glib/dbus-gloader-expat.c (description_load_from_string): allow
   6531 	-1 for len
   6532 
   6533 	* tools/dbus-viewer.c: add support for introspecting a service on
   6534 	a bus
   6535 
   6536 	* glib/dbus-gproxy.c (dbus_g_pending_call_ref): add
   6537 	(dbus_g_pending_call_unref): add
   6538 
   6539 2005-01-29  Havoc Pennington  <hp (a] redhat.com>
   6540 
   6541 	* tools/dbus-tree-view.c: add support for displaying properties.
   6542 	(run dbus-viewer with an introspect xml file as arg, then resize
   6543 	the window so the tree elements show up, not sure what that is)
   6544 
   6545 	* glib/dbus-gobject.c (handle_introspect): return
   6546 	org.freedesktop.Properties and org.freedesktop.Introspectable
   6547 	interfaces when we are introspected.
   6548 
   6549 	* doc/dbus-specification.xml: allow empty interface name when 
   6550 	Get/Set a property
   6551 
   6552 2005-01-29  Havoc Pennington  <hp (a] redhat.com>
   6553 
   6554 	* glib/Makefile.am: rename dbus-glib-tool to dbus-binding-tool;
   6555 	though it uses glib, it could be extended for any binding in
   6556 	principle
   6557 
   6558 	* glib/dbus-gobject.c (gobject_message_function): change to the
   6559 	new way properties work
   6560 
   6561 	* dbus/dbus-protocol.h: add the new interfaces
   6562 
   6563 	* doc/dbus-specification.xml: document the introspection format,
   6564 	Introspectable interface, and add an org.freedesktop.Properties
   6565 	interface.
   6566 
   6567 	* glib/dbus-gparser.c: add support for a <property> element
   6568 
   6569 	* glib/dbus-gidl.c: add PropertyInfo
   6570 
   6571 	* glib/dbus-gobject.c (handle_introspect): put the outermost
   6572 	<node> outside the signal and property descriptions.
   6573 	(introspect_properties): export properties as <property> rather
   6574 	than as method calls
   6575 
   6576 2005-01-28  Havoc Pennington  <hp (a] redhat.com>
   6577 
   6578 	* doc/TODO, doc/dbus-specification.xml: spec and TODO tweaks
   6579 	related to authentication protocol
   6580 
   6581 2005-01-28  John (J5) Palmieri  <johnp (a] redhat.com>
   6582 
   6583 	* python/dbus_bindings.pyx.in: Updated to handle new D-BUS type system
   6584 		- BUS_ACTIVATION -> BUS_STARTER
   6585 		- DBUS_BUS_ACTIVATION -> DBUS_BUS_STARTER
   6586 		- class MessageIter (__init__): Added recursion checking 
   6587 		so we throw a nice error instead of just disconnecting from the
   6588 		bus.
   6589 		(get): Added arg_type parameter for recursion.
   6590 		Removed the nil type
   6591 		Added signiture type placeholder (not implemented)
   6592 		Added struct type placeholder (not implemented)
   6593 		Added varient type placeholder (not implemented)
   6594 		Commented out dict type for now	    
   6595 		(get_element_type): renamed from get_array_type
   6596 		(get_*): changed to use the dbus_message_iter_get_basic API
   6597 		(get_*_array): removed in favor of recursive get_array method
   6598 		(get_array): new recursive method which calls get to marshal
   6599 	        the elements of the array
   6600 		(value_to_dbus_sig): New method returns the corrasponding
   6601 		dbus signiture to a python value
   6602 		(append): Comment out dict handling for now
   6603 		Handle lists with the new recursive API
   6604 		Comment out None handling for now
   6605 		(append_nil): removed
   6606 		(append_*): changed to use dbus_message_iter_append_basic API
   6607 		(append_*_array): removed in favor of recursive append_array 
   6608 		method
   6609 		(__str__): Make it easier to print out recursive iterators
   6610 		for debugging
   6611 		- class Message (__str__): moved type inspection to the
   6612 		MessageIter class' __str__ method
   6613 		(get_iter): Added an append parameter wich defaults to False
   6614 		If True use the new API's to create an append iterator
   6615 
   6616 	* python/dbus.py: Update to use new bindings API
   6617 		- TYPE_ACTIVATION -> TYPE_STARTER
   6618 		- class Bus (_get_match_rule): GetServiceOwner -> GetNameOwner
   6619 		- class ActivationBus -> class StarterBus
   6620 		- class RemoteObject (__call__): get an append iterator
   6621 		- (_dispatch_dbus_method_call): get an append iterator
   6622 		- class Object (emit_signal): get an append iterator
   6623 
   6624 	* python/examples/: Fixed up the examples to work with the new API
   6625 		
   6626 2005-01-28  Joe Shaw  <joeshaw (a] novell.com>
   6627 
   6628 	* configure.in: Bump version up to 0.30.
   6629 
   6630 	* HACKING: Add a release item to bump the version number up after 
   6631 	a release.
   6632 
   6633 2005-01-28  Havoc Pennington  <hp (a] redhat.com>
   6634 
   6635 	* doc/dbus-specification.xml: update to describe 16-bit types and
   6636 	dict entries
   6637 
   6638 	* dbus/dbus-marshal-basic.c (_dbus_unpack_uint16): fix broken
   6639 	assertion
   6640 
   6641 	* dbus/dbus-protocol.h (DBUS_TYPE_DICT_ENTRY): add DICT_ENTRY as a
   6642 	type
   6643 
   6644 	* dbus/dbus-marshal-recursive.c: implement
   6645 
   6646 2005-01-27  Havoc Pennington  <hp (a] redhat.com>
   6647 
   6648 	* dbus/dbus-arch-deps.h.in: add 16/32-bit types
   6649 
   6650 	* configure.in: find the right type for 16 and 32 bit ints as well
   6651 	as 64
   6652 
   6653 	* dbus/dbus-protocol.h (DBUS_TYPE_INT16, DBUS_TYPE_UINT16): add
   6654 	the 16-bit types so people don't have to stuff them in 32-bit or
   6655 	byte arrays.
   6656 
   6657 2005-01-27  Havoc Pennington  <hp (a] redhat.com>
   6658 
   6659         * dbus/dbus-message.c: byteswap the message if you init an
   6660 	iterator to read/write from it
   6661 	
   6662 	* dbus/dbus-marshal-byteswap.c: new file implementing 
   6663 	_dbus_marshal_byteswap()
   6664 
   6665 	* dbus/dbus-marshal-basic.c: add _dbus_swap_array()
   6666 
   6667 2005-01-26  Havoc Pennington  <hp (a] redhat.com>
   6668 	
   6669 	* dbus/dbus-marshal-validate-util.c: break this out (and fix
   6670 	build, apparently - nobody noticed?)
   6671 	
   6672 2005-01-26  Havoc Pennington  <hp (a] redhat.com>
   6673 
   6674 	* dbus/dbus-marshal-recursive.h: remove todo comment
   6675 
   6676 2005-01-25  Joe Shaw  <joeshaw (a] novell.com>
   6677 
   6678 	* Land the mono binding changes to conform to the new APIs.
   6679 
   6680 	* mono/Makefile.am: Remove Custom.cs, DBusType/Custom.cs,
   6681 	DBusType/Dict.cs, and DBusType/Nil.cs from the build.
   6682 
   6683 	* mono/Arguments.cs (GetCodeAsString): Added.  Returns the dbus
   6684 	type code as a string.
   6685 	(InitAppending): Rename dbus_message_append_iter_init() to
   6686 	dbus_message_iter_init_append().
   6687 
   6688 	* mono/BusDriver.cs: Rename ServiceEventHandler to
   6689 	NameOwnerChangedHandler.  Rename GetServiceOwner to GetOwner.
   6690 	Rename ServiceOwnerChanged to NameOwnerChanged.
   6691 
   6692 	* mono/Connection.cs: Rename BaseService to UniqueName, and the
   6693 	underlying C call.
   6694 
   6695 	* mono/Custom.cs: Removed.  The CUSTOM type has been removed.
   6696 
   6697 	* mono/Service.cs: Rename Exists to HasOwner, internally rename
   6698 	dbus_bus_acquire_service() to dbus_bus_request_name().
   6699 
   6700 	* mono/DBusType/Array.cs (ctor): Use Type.GetElementType() instead
   6701 	of Type.UnderlyingSystemType to get the correct element type for
   6702 	the array.
   6703 	(ctor): Update code for new APIs: use dbus_message_iter_recurse(),
   6704 	dbus_message_get_{element|arg}_type() instead of
   6705 	dbus_message_iter_init_array_iterator().
   6706 	(Append): Replace dbus_message_iter_append_array() with
   6707 	dbus_message_iter_open_container() and
   6708 	dbus_message_iter_close_container().
   6709 
   6710 	* mono/DBusType/Custom.cs, mono/DBusType/Nil.cs: Removed.  These
   6711 	types have been removed.
   6712 	
   6713 	* mono/DBusType/*.cs: Replace calls of
   6714 	dbus_message_iter_get_[type]() to dbus_message_iter_get_basic(),
   6715 	but specify the type in the DllImport extern declaration.  Ditto
   6716 	for dbus_message_iter_append_[type]() ->
   6717 	dbus_message_iter_append_basic().
   6718 
   6719 	* mono/example/BusListener.cs: Update for ServiceEventHandler ->
   6720 	NameOwnerChangedHandler.
   6721 
   6722 2005-01-25  John (J5) Palmieri  <johnp (a] redhat.com>
   6723 
   6724 	* python/dbus_bindings.pyx.in: Rename of methods and bindings
   6725 		- get_base_service -> get_unique_name
   6726 		- bus_get_base_service -> bus_get_unique_name
   6727 		- dbus_bus_get_base_service -> dbus_bus_get_unique_name
   6728 		- ACTIVATION_REPLY_ACTIVATED -> DBUS_START_REPLY_SUCCESS 
   6729 		- ACTIVATION_REPLY_ALREADY_ACTIVE -> DBUS_START_REPLY_ALREADY_RUNNING
   6730 		- bus_activate_service -> bus_start_service_by_name
   6731 		- dbus_bus_activate_service -> dbus_bus_start_service_by_name
   6732 		- bus_acquire_service -> bus_request_name
   6733 		- dbus_bus_acquire_service -> dbus_bus_request_name
   6734 		- bus_service_exists -> bus_name_has_owner
   6735 		- dbus_bus_service_exists -> dbus_bus_name_has_owner
   6736 
   6737 	* python/dbus.py: Rename of methods
   6738 		- activate_service -> start_service_by_name
   6739 		- bus_acquire_service -> bus_request_name
   6740 		- ACTIVATION_REPLY_ACTIVATED -> START_REPLY_SUCCESS 
   6741 		- ACTIVATION_REPLY_ALREADY_ACTIVE -> START_REPLY_ALREADY_RUNNING
   6742 
   6743 	
   6744 2005-01-24  Joe Shaw  <joeshaw (a] novell.com>
   6745 
   6746 	* dbus/dbus-connection.c (dbus_connection_dispatch): Print out the
   6747 	signature for the method that can't be found.
   6748 
   6749 	* dbus/dbus-message.c (dbus_message_iter_init): To check to see if
   6750 	the message has any arguments, we need to call
   6751 	_dbus_type_reader_get_current_type(), not
   6752 	_dbus_type_reader_has_next().
   6753 
   6754 2005-01-24  Havoc Pennington  <hp (a] redhat.com>
   6755 
   6756 	* dbus/dbus-message-factory.c: more testing of message validation
   6757 
   6758 	* dbus/dbus-protocol.h (DBUS_MINIMUM_HEADER_SIZE): move to this
   6759 	header
   6760 
   6761 2005-01-23  Havoc Pennington  <hp (a] redhat.com>
   6762 
   6763 	* dbus/dbus-message-factory.c, dbus/dbus-message-util.c: 
   6764 	get this all working, not many tests in the framework yet though
   6765 
   6766 2005-01-22  Havoc Pennington  <hp (a] redhat.com>
   6767 
   6768 	* doc/dbus-faq.xml, doc/dbus-tutorial: add a FAQ and update
   6769 	tutorial, based on work from David Wheeler.
   6770 
   6771 2005-01-21  Havoc Pennington  <hp (a] redhat.com>
   6772 
   6773 	* dbus/dbus-bus.c: add more return_if_fail checks
   6774 
   6775 	* dbus/dbus-message.c (load_message): have the "no validation"
   6776 	mode (have to edit the code to toggle the mode for now though)
   6777 
   6778 	* dbus/dbus-marshal-header.c (_dbus_header_load): have a mode that
   6779 	skips all validation; I want to use this at least for benchmark
   6780 	baseline, I'm not sure if it should be a publicly-available switch.
   6781 
   6782 2005-01-21  Havoc Pennington  <hp (a] redhat.com>
   6783 
   6784 	* glib/dbus-gmain.c: don't put the GLib bindings in the same
   6785 	toplevel doxygen group as the low-level API stuff
   6786 
   6787 	* dbus/dbus.h: note that libdbus is the low-level API
   6788 
   6789 2005-01-20  Havoc Pennington  <hp (a] redhat.com>
   6790 
   6791 	* update-dbus-docs.sh: script to update docs on the web site, only
   6792 	works for me though. neener.
   6793 
   6794 2005-01-20  Havoc Pennington  <hp (a] redhat.com>
   6795 
   6796 	* dbus/dbus-sysdeps.c (_dbus_poll): amazingly, trying to compile
   6797 	code can reveal bugs in it
   6798 
   6799 2005-01-20  Havoc Pennington  <hp (a] redhat.com>
   6800 
   6801 	* dbus/dbus-sysdeps.c (_dbus_poll): fix several bugs in the
   6802 	select() version, patches from Tor Lillqvist
   6803 
   6804 2005-01-20  Havoc Pennington  <hp (a] redhat.com>
   6805 
   6806 	* doc/dbus-tutorial.xml: replace > with &gt;
   6807 
   6808 	* bus/services.c (bus_registry_acquire_service): validate the name
   6809 	and return a better error if it's no good.
   6810 
   6811 	* doc/dbus-specification.xml: note NO_AUTO_START change
   6812 
   6813 	* dbus/dbus-protocol.h (DBUS_HEADER_FLAG_NO_AUTO_START): change
   6814 	from AUTO_START, we're toggling the default
   6815 
   6816 	* bus/dispatch.c: adapt the tests to change of auto-start default
   6817 
   6818 2005-01-18  Havoc Pennington  <hp (a] redhat.com>
   6819 
   6820 	* rename dbus-daemon-1 to dbus-daemon throughout
   6821 
   6822 2005-01-18  Havoc Pennington  <hp (a] redhat.com>
   6823 
   6824         * Throughout, grand renaming to strip out the use of "service",
   6825 	just say "name" instead (or "bus name" when ambiguous).  Did not
   6826 	change the internal code of the message bus itself, only the
   6827 	programmer-facing API and messages.
   6828 	
   6829 	* doc/dbus-specification.xml: further update the message bus section
   6830 	
   6831 	* bus/config-parser.c (all_are_equiv): fix bug using freed string
   6832 	in error case
   6833 
   6834 2005-01-17  Havoc Pennington  <hp (a] redhat.com>
   6835 
   6836 	* dbus/dbus-types.h: remove 16-bit types since we don't use them
   6837 	ever
   6838 
   6839 	* dbus/dbus-marshal-validate.c (_dbus_validate_path): disallow any
   6840 	"invalid name character" not only non-ASCII
   6841 
   6842 	* doc/dbus-specification.xml: further update spec, message bus 
   6843 	parts are still out-of-date but the marshaling etc. stuff is now
   6844 	accurate-ish
   6845 
   6846 2005-01-17  Havoc Pennington  <hp (a] redhat.com>
   6847 
   6848 	* doc/dbus-specification.xml: partially update spec
   6849 
   6850 2005-01-17  Havoc Pennington  <hp (a] redhat.com>
   6851 
   6852         * Throughout, align variant bodies according to the contained
   6853 	type, rather than always to 8. Should save a fair bit of space in
   6854 	message headers.
   6855 	
   6856 	* dbus/dbus-marshal-validate.c (_dbus_validate_body_with_reason):
   6857 	fix handling of case where p == end
   6858 
   6859 	* doc/TODO: remove the dbus_bool_t item and variant alignment items
   6860 
   6861 2005-01-17  Havoc Pennington  <hp (a] redhat.com>
   6862 
   6863 	* dbus/dbus-types.h: hardcode dbus_bool_t to 32 bits
   6864 
   6865 	* Throughout: modify DBUS_TYPE_BOOLEAN to be a 32-bit type instead
   6866 	of an 8-bit type. Now dbus_bool_t is the type to use whenever you 
   6867 	are marshaling/unmarshaling a boolean.
   6868 
   6869 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6870 
   6871         This is about it on what can be disabled/deleted from libdbus
   6872 	easily, back below 150K anyhow. Deeper cuts are more work than 
   6873 	just turning the code off as I've done here.
   6874 	
   6875 	* dbus/dbus-marshal-basic.c (_dbus_pack_int32): we don't need the
   6876 	signed int convenience funcs
   6877 
   6878 	* dbus/dbus-internals.c (_dbus_verbose_real): omit when not in
   6879 	verbose mode
   6880 
   6881 	* dbus/dbus-string-util.c, dbus/dbus-string.c: more breaking
   6882 	things out of libdbus
   6883 
   6884 	* dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-util.c: same
   6885 	
   6886 	* dbus/dbus-hash.c: purge the TWO_STRINGS crap (well, make it
   6887 	tests-enabled-only, though it should probably be deleted)
   6888 
   6889 	* dbus/dbus-message-util.c: same stuff
   6890 
   6891 	* dbus/dbus-auth-util.c: same stuff
   6892 
   6893 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6894 
   6895 	* dbus/dbus-userdb-util.c: split out part of dbus-userdb.c
   6896 
   6897 	* dbus/dbus-sysdeps.c (_dbus_uid_from_string): move here to pave
   6898 	way for stripping down dbus-userdb.c stuff included in libdbus.
   6899 	Rename _dbus_parse_uid for consistency.
   6900 
   6901 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6902 
   6903 	* dbus/dbus-internals.c (_dbus_real_assert): print the function
   6904 	name the assertion failed in
   6905 
   6906 	* dbus/dbus-internals.h (_dbus_return_if_fail) 
   6907 	(_dbus_return_val_if_fail): assert that the name of the function
   6908 	containing the check doesn't start with '_', since we only want to 
   6909 	use checks on public functions
   6910 	
   6911 	* dbus/dbus-connection.c (_dbus_connection_ref_unlocked): change
   6912 	checks to assertions
   6913 
   6914 	* dbus/dbus-marshal-header.c (_dbus_header_set_field_basic):
   6915 	change checks to asserts for private function
   6916 
   6917 	* dbus/dbus-message.c (_dbus_message_set_serial): checks
   6918 	to asserts for private function
   6919 
   6920 	* dbus/dbus-marshal-recursive.c (skip_one_complete_type): remove
   6921 	broken assertion that was breaking make check
   6922 	(_dbus_type_reader_array_is_empty): remove this rather than fix
   6923 	it, was only used in assertions
   6924 
   6925 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6926 
   6927 	* test/unused-code-gc.py: hacky script to find code that's used
   6928 	only by the bus (not libdbus) or used only by tests or not used at
   6929 	all. It has some false alarms, but looks like we can clean up a
   6930 	lot of size from libdbus.
   6931 
   6932 	* dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-utils.c,
   6933 	dbus/Makefile.am: initially move 10K of binary size out of libdbus
   6934 	
   6935 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6936 
   6937         * Add and fix docs according to Doxygen warnings throughout
   6938 	source.
   6939 	
   6940 	* dbus/dbus-marshal-recursive.c
   6941 	(_dbus_type_reader_array_is_empty): change this to just call
   6942 	array_reader_get_array_len() and make it static
   6943 
   6944 	* dbus/dbus-message.c (dbus_message_iter_get_element_type): rename
   6945 	from get_array_type
   6946 	(dbus_message_iter_init_append): rename from append_iter_init
   6947 
   6948 	* dbus/dbus-marshal-recursive.c
   6949 	(_dbus_type_reader_get_element_type): rename from
   6950 	_dbus_type_reader_get_array_type
   6951 
   6952 2005-01-15  Havoc Pennington  <hp (a] redhat.com>
   6953 
   6954 	* test/glib/test-profile.c (with_bus_server_filter): fix crash
   6955 
   6956 	* dbus/dbus-marshal-basic.c (_dbus_unpack_uint32): inline as macro
   6957 	when DBUS_DISABLE_ASSERT
   6958 	(_dbus_marshal_set_basic): be sure we align for the string length
   6959 
   6960 	* dbus/dbus-marshal-recursive.c (skip_one_complete_type): make
   6961 	this look faster
   6962 
   6963 	* dbus/dbus-string.c (_dbus_string_get_const_data_len): add an
   6964 	inline macro version
   6965 	(_dbus_string_set_byte): provide inline macro version
   6966 
   6967 2005-01-15  Havoc Pennington  <hp (a] redhat.com>
   6968 
   6969 	* Land the new message args API and type system.
   6970 
   6971 	This patch is huge, but the public API change is not 
   6972 	really large. The set of D-BUS types has changed somewhat, 
   6973 	and the arg "getters" are more geared toward language bindings;
   6974 	they don't make a copy, etc.
   6975 
   6976 	There are also some known issues. See these emails for details
   6977 	on this huge patch:
   6978 	http://lists.freedesktop.org/archives/dbus/2004-December/001836.html
   6979         http://lists.freedesktop.org/archives/dbus/2005-January/001922.html
   6980 	
   6981 	* dbus/dbus-marshal-*: all the new stuff
   6982 
   6983 	* dbus/dbus-message.c: basically rewritten
   6984 
   6985 	* dbus/dbus-memory.c (check_guards): with "guards" enabled, init
   6986 	freed blocks to be all non-nul bytes so using freed memory is less
   6987 	likely to work right
   6988 
   6989 	* dbus/dbus-internals.c (_dbus_test_oom_handling): add
   6990 	DBUS_FAIL_MALLOC=N environment variable, so you can do
   6991 	DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or
   6992 	DBUS_FAIL_MALLOC=10 to make it really, really, really slow and
   6993 	thorough.
   6994 
   6995 	* qt/message.cpp: port to the new message args API
   6996 	(operator<<): use str.utf8() rather than str.unicode()
   6997 	(pretty sure this is right from the Qt docs?)
   6998 
   6999 	* glib/dbus-gvalue.c: port to the new message args API
   7000 
   7001 	* bus/dispatch.c, bus/driver.c: port to the new message args API
   7002 
   7003 	* dbus/dbus-string.c (_dbus_string_init_const_len): initialize the
   7004 	"locked" flag to TRUE and align_offset to 0; I guess we never
   7005 	looked at these anyhow, but seems cleaner.
   7006 
   7007 	* dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING):
   7008 	move allocation padding macro to this header; use it to implement
   7009 	(_DBUS_STRING_STATIC): ability to declare a static string.
   7010 
   7011 	* dbus/dbus-message.c (_dbus_message_has_type_interface_member):
   7012 	change to return TRUE if the interface is not set.
   7013 
   7014 	* dbus/dbus-string.[hc]: move the D-BUS specific validation stuff
   7015 	to dbus-marshal-validate.[hc]
   7016 
   7017 	* dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from
   7018 	dbus-internals.c
   7019 
   7020 	* dbus/Makefile.am: cut over from dbus-marshal.[hc]
   7021 	to dbus-marshal-*.[hc]
   7022 
   7023 	* dbus/dbus-object-tree.c (_dbus_decompose_path): move this
   7024 	function here from dbus-marshal.c
   7025 
   7026 2005-01-12  Joe Shaw  <joeshaw (a] novell.com>
   7027 
   7028 	* NEWS: Update for 0.23.
   7029 
   7030 	* configure.in: Release 0.23.
   7031 
   7032 2005-01-12  Joe Shaw  <joeshaw (a] novell.com>
   7033 
   7034 	* mono/Makefile.am, mono/example/Makefile.am: Always build the 
   7035 	dbus DLL with --debug.  Clean up after the .mdb files this leaves
   7036 	behind.
   7037 
   7038 	* mono/doc/Makefile.am: Need to uninstall the docs on "make
   7039 	uninstall"
   7040 
   7041 	* mono/Arguments.cs (GetDBusTypeConstructor): If the type
   7042 	is an enum, get the enum's underlying type.  Another mono
   7043 	1.1.3 fix.
   7044 
   7045 2005-01-11  Joe Shaw  <joeshaw (a] novell.com>
   7046 
   7047 	Patch from Sjoerd Simons <sjoerd (a] luon.net>
   7048 
   7049 	* mono/Makefile.am, mono/example/Makefile.am: Don't redefine
   7050 	DESTDIR.  It breaks stuff.
   7051 
   7052 2005-01-11  Joe Shaw  <joeshaw (a] novell.com>
   7053 
   7054 	Patch from Tambet Ingo <tambet (a] ximian.com>
   7055 
   7056 	* mono/DBusType/Array.cs (Get): Get the underlying element type by
   7057 	calling type.GetElementType().  The code previously depended on
   7058 	broken Mono behavior, which was fixed in Mono 1.1.3.
   7059 
   7060 	* mono/DBusType/Dict.cs (constructor): Fix the parameters for
   7061 	Activator.CreateInstance() so that the class's constructor is
   7062 	called with the right parameters.
   7063 
   7064 2005-01-11  Joe Shaw  <joeshaw (a] novell.com>
   7065 
   7066 	Patch from Timo Ters <ext-timo.teras (a] nokia.com>
   7067 
   7068 	* dbus/dbus-connection.c
   7069 	(_dbus_connection_queue_received_message_link): Call
   7070 	_dbus_connection_remove_timeout() instead of the _locked()
   7071 	variant, since it's always called from
   7072 	_dbus_connection_handle_watch(), which handles the locking.
   7073 	Removed the _locked() variant since it's no longer used.
   7074 
   7075 2005-01-03  Havoc Pennington  <hp (a] redhat.com>
   7076 
   7077 	* dbus/dbus-internals.h: I'm an idiot, _dbus_assert certainly can
   7078 	return
   7079 	
   7080 2004-12-26  Havoc Pennington  <hp (a] redhat.com>
   7081 
   7082 	* dbus/dbus-internals.h: add _DBUS_GNUC_NORETURN to _dbus_assert
   7083 
   7084 2005-01-03  Havoc Pennington  <hp (a] redhat.com>
   7085 
   7086 	* dbus/dbus-sysdeps.c (_dbus_sysdeps_test): fix using == on
   7087 	floating point
   7088 
   7089 	* dbus/dbus-string.c (_dbus_string_insert_alignment): new function
   7090 
   7091 2005-01-02  Havoc Pennington  <hp (a] redhat.com>
   7092 
   7093 	* dbus/dbus-internals.h (_DBUS_ALIGN_OFFSET): new macro
   7094 
   7095 2005-01-01  Havoc Pennington  <hp (a] redhat.com>
   7096 
   7097 	* configure.in: add -Wfloat-equal
   7098 
   7099 2005-01-01  Havoc Pennington  <hp (a] redhat.com>
   7100 
   7101 	* dbus/dbus-sysdeps.h: add _DBUS_DOUBLES_BITWISE_EQUAL macro, 
   7102 	for a variety of reasons '==' doesn't do this.
   7103 
   7104 2004-12-31  Havoc Pennington  <hp (a] redhat.com>
   7105 
   7106 	* dbus/dbus-string.c (_dbus_string_equal_substrings): new function
   7107 	I keep wishing I had
   7108 
   7109 2004-12-30  John (J5) Palmieri  <johnp (a] redhat.com>
   7110 
   7111 	* python/dbus.py: s/ACTIVATION_REPLY_ACTIVE/ACTIVATION_REPLY_ACTIVATED
   7112 
   7113 2004-12-30  John (J5) Palmieri  <johnp (a] redhat.com>
   7114 
   7115 	* python/dbus_bindings.pyx.in: Change DBUS_ACTIVATION_REPLY_ACTIVATED
   7116 	and DBUS_ACTIVATION_REPLY_ALREADY_ACTIVE to match the values in
   7117 	dbus-protocol.h.  Because they are defines and not enums they are not
   7118 	autogenerated.
   7119 
   7120 2004-12-26  John (J5) Palmieri  <johnp (a] redhat.com>
   7121 
   7122 	* python/dbus_bindings.pyx.in (bus_activate_service): Bind
   7123 	dbus_bus_activate_service
   7124 
   7125 	* python/dbus.py (Bus.activate_service): activate a service on the
   7126 	bus.
   7127 
   7128 2004-12-24  Havoc Pennington  <hp (a] redhat.com>
   7129 
   7130 	* test/decode-gcov.c: change to use .gcno and .gcda files, but the
   7131 	file format has also changed and I haven't adapted to that yet
   7132 	
   7133 	* Makefile.am: load .gcno files from latest gcc
   7134 
   7135 2004-12-23  John (J5) Palmieri  <johnp (a] redhat.com>
   7136 	* Patch from Rob Taylor <robtaylor (a] fastmail.fm>
   7137 
   7138 	* python/dbus_bindings.pyx.in (bus_get_unix_user): New
   7139 	lowlevel binding
   7140 
   7141 	* python/dbus.py (get_unix_user): Added binding to 
   7142 	call dbus_bindings.bus_get_unix_user
   7143 
   7144 	* python/extract.py: Modified the proto_pat regex to
   7145 	handle unsigned long
   7146 
   7147 2004-12-21  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7148 
   7149 	* dbus/make-dbus-glib-error-enum.sh: omit the function keyword for
   7150 	better POSIX compliance.
   7151 
   7152 2004-12-19  Havoc Pennington  <hp (a] redhat.com>
   7153 
   7154 	* dbus/dbus-string.c (_dbus_string_insert_4_aligned) 
   7155 	(_dbus_string_insert_8_aligned): new functions
   7156 
   7157 	* dbus/dbus-string.c (_dbus_string_alloc_space): new function
   7158 
   7159 2004-12-18  Havoc Pennington  <hp (a] redhat.com>
   7160 
   7161 	* dbus/dbus-string.c (_dbus_string_validate_ascii): use ISASCII
   7162 	macro
   7163 
   7164 	* dbus/dbus-message.c: fix a comment, and add a still-unused
   7165 	not-implemented function
   7166 
   7167 	* dbus/dbus-marshal.h: fix comment
   7168 
   7169 	* dbus/dbus-internals.h (_DBUS_ISASCII): new macro
   7170 
   7171 2004-12-17  Joe Shaw  <joeshaw (a] novell.com>
   7172 
   7173 	* mono/DBusType/Byte.cs, mono/DBusType/Int32.cs,
   7174 	mono/DBusType/Int64.cs, mono/DBusType/UInt32.cs,
   7175 	mono/DBusType/UInt64.cs: Use Enum.GetUnderlyingType() instead of
   7176 	Type.UnderlyingSystemType to get the actual system type
   7177 	underneath.  This code previously depended on the broken Mono
   7178 	behavior, which was fixed in 1.1.3.
   7179 
   7180 2004-11-27  Havoc Pennington  <hp (a] redhat.com>
   7181 
   7182 	* dbus/dbus-string.h (_dbus_string_get_byte): inline when asserts
   7183 	are disabled
   7184 	(_dbus_string_get_const_data): inline when asserts are disabled
   7185 
   7186 	* dbus/dbus-message.c: record the _dbus_current_generation of
   7187 	creation so we can complain if dbus_shutdown() is used improperly.
   7188 	Do this only if checks are enabled.
   7189 
   7190 	* dbus/dbus-connection.c: ditto
   7191 	
   7192 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7193 
   7194 	* test/glib/test-profile.c: add with_bus mode to profile echoes
   7195 	that go through the bus.
   7196 
   7197 	* test/glib/run-test.sh: add ability to run test-profile
   7198 
   7199 	* bus/dbus-daemon-1.1.in: fix to say that SIGHUP causes partial
   7200 	config file reload.
   7201 
   7202 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7203 
   7204 	* test/glib/test-profile.c: clean up how the fake_malloc_overhead
   7205 	thing was implemented
   7206 
   7207 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7208 
   7209 	* test/glib/test-profile.c: tweak a bit, add support for some
   7210 	made-up minimal malloc overhead with plain sockets, since in 
   7211 	real life some sort of buffers are unavoidable thus we could 
   7212 	count them in the theoretical best case
   7213 
   7214 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7215 
   7216 	* dbus/dbus-message.c (dbus_message_cache_or_finalize): fix bug
   7217 	where I was trying to cache one too many messages
   7218 
   7219 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7220 
   7221 	* dbus/dbus-message.c: reimplement message cache as an array which 
   7222 	makes the cache about twice as fast and saves maybe 1.5% overall
   7223 
   7224 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7225 
   7226 	* dbus/dbus-threads.c (init_global_locks): forgot to put the
   7227 	message cache lock here
   7228 
   7229 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7230 
   7231 	* dbus/dbus-message.c (struct DBusMessage): put the locked bit and
   7232 	the "char byte_order" next to each other to save 4 bytes
   7233 	(dbus_message_new_empty_header): reduce preallocation, since the
   7234 	message cache should achieve a similar effect
   7235 	(dbus_message_cache_or_finalize, dbus_message_get_cached): add a
   7236 	message cache that keeps a few DBusMessage around in a pool,
   7237 	another 8% speedup or so.
   7238 
   7239 	* dbus/dbus-dataslot.c (_dbus_data_slot_list_clear): new function
   7240 
   7241 2004-11-25  Havoc Pennington  <hp (a] redhat.com>
   7242 
   7243 	* dbus/dbus-transport-unix.c (unix_do_iteration): if we're going
   7244 	to write, without reading or blocking, try it before the poll()
   7245 	and skip the poll() if nothing remains to write. This is about a
   7246 	3% speedup in the echo client/server
   7247 
   7248 2004-11-25  Havoc Pennington  <hp (a] redhat.com>
   7249 
   7250         The primary change here is to always write() once before adding
   7251 	the write watch, which gives us about a 10% performance increase.
   7252 	
   7253 	* dbus/dbus-transport-unix.c: a number of modifications to cope
   7254 	with removing messages_pending
   7255 	(check_write_watch): properly handle
   7256 	DBUS_AUTH_STATE_WAITING_FOR_MEMORY; adapt to removal of
   7257 	messages_pending stuff
   7258 	(check_read_watch): properly handle WAITING_FOR_MEMORY and
   7259 	AUTHENTICATED cases
   7260 	(unix_handle_watch): after writing, see if the write watch can be
   7261 	removed
   7262 	(unix_do_iteration): assert that write_watch/read_watch are
   7263 	non-NULL rather than testing that they aren't, since they 
   7264 	aren't allowed to be NULL. check_write_watch() at the end so 
   7265 	we add the watch if we did not finish writing (e.g. got EAGAIN)
   7266 
   7267 	* dbus/dbus-transport-protected.h: remove messages_pending call,
   7268 	since it resulted in too much inefficient watch adding/removing; 
   7269 	instead we now require that the transport user does an iteration 
   7270 	after queueing outgoing messages, and after trying the first
   7271 	write() we add a write watch if we got EAGAIN or exceeded our 
   7272 	max bytes to write per iteration setting
   7273 
   7274 	* dbus/dbus-string.c (_dbus_string_validate_signature): add this
   7275 	function
   7276 
   7277 	* dbus/dbus-server-unix.c (unix_finalize): the socket name was
   7278 	freed and then accessed, valgrind flagged this bug, fix it
   7279 
   7280 	* dbus/dbus-message.c: fix several bugs where HEADER_FIELD_LAST was taken
   7281 	as the last valid field plus 1, where really it is equal to the
   7282 	last valid field. Corrects some message corruption issues.
   7283 
   7284 	* dbus/dbus-mainloop.c: verbosity changes
   7285 
   7286 	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): handle OOM
   7287 	instead of aborting in one of the test codepaths
   7288 
   7289 	* dbus/dbus-internals.c (_dbus_verbose_real): fix a bug that
   7290 	caused not printing the pid ever again if a verbose was missing
   7291 	the newline at the end
   7292 	(_dbus_header_field_to_string): add HEADER_FIELD_SIGNATURE
   7293 
   7294 	* dbus/dbus-connection.c: verbosity changes; 
   7295 	(dbus_connection_has_messages_to_send): new function
   7296 	(_dbus_connection_message_sent): no longer call transport->messages_pending
   7297 	(_dbus_connection_send_preallocated_unlocked): do one iteration to
   7298 	try to write() immediately, so we can avoid the write watch. This
   7299 	is the core purpose of this patchset
   7300 	(_dbus_connection_get_dispatch_status_unlocked): if disconnected,
   7301 	dump the outgoing message queue, so nobody will get confused
   7302 	trying to send them or thinking stuff is pending to be sent
   7303 
   7304 	* bus/test.c: verbosity changes
   7305 
   7306 	* bus/driver.c: verbosity/assertion changes
   7307 
   7308 	* bus/dispatch.c: a bunch of little tweaks to get it working again
   7309 	because this patchset changes when/where you need to block.
   7310 
   7311 2004-11-23  Havoc Pennington  <hp (a] redhat.com>
   7312 
   7313 	* test/glib/test-profile.c: modify to accept a plain_sockets
   7314 	argument in which case it will bench plain sockets instead of
   7315 	libdbus, for comparison purposes.
   7316 
   7317 2004-11-22  Havoc Pennington  <hp (a] redhat.com>
   7318 
   7319 	* test/glib/test-profile.c (N_CLIENT_THREADS): run multiple
   7320 	threads for more time, so sysprof can get a grip on it.
   7321 
   7322 	* dbus/dbus-string.c (_dbus_string_validate_utf8): remove
   7323 	pointless variable
   7324 
   7325 2004-11-13  Havoc Pennington  <hp (a] redhat.com>
   7326 
   7327 	* test/glib/test-profile.c: fix this thing up a bit
   7328 
   7329 	* dbus/dbus-message.c (dbus_message_new_empty_header): increase
   7330 	preallocation sizes by a fair bit; not sure if this will be an
   7331 	overall performance win or not, but it does reduce reallocs.
   7332 
   7333 	* dbus/dbus-string.c (set_length, reallocate_for_length): ignore
   7334 	the test hack that forced constant realloc if asserts are
   7335 	disabled, so we can profile sanely. Sprinkle in some
   7336 	_DBUS_UNLIKELY() which are probably pointless, but before I
   7337 	noticed the real performance problem I put them in.
   7338 	(_dbus_string_validate_utf8): micro-optimize this thing a little
   7339 	bit, though callgrind says it didn't help; then special-case
   7340 	ascii, which did help a lot; then be sure we detect nul bytes as
   7341 	invalid, which is a bugfix.
   7342 	(align_length_then_lengthen): add some more _DBUS_UNLIKELY
   7343 	superstition; use memset to nul the padding instead of a manual
   7344 	loop.
   7345 	(_dbus_string_get_length): inline this as a
   7346 	macro; it showed up in the profile because it's used for loop
   7347 	tests and so forth
   7348 
   7349 2004-11-10  Colin Walters  <walters (a] verbum.org>
   7350 
   7351 	* dbus/dbus-spawn.c (check_babysit_events): Handle EINTR,
   7352 	for extra paranoia.
   7353 
   7354 2004-11-09  Colin Walters  <walters (a] verbum.org>
   7355 
   7356 	* dbus/dbus-string.c (_dbus_string_get_length): New
   7357 	function, writes DBusString to C buffer.
   7358 
   7359 	* dbus/dbus-string.h: Prototype it.
   7360 
   7361 	* dbus/dbus-message.c (dbus_message_type_to_string): New
   7362 	function, converts message type into C string.
   7363 
   7364 	* dbus/dbus-message.h: Prototype it.
   7365 
   7366 	* bus/selinux.c (bus_selinux_check): Take source pid,
   7367 	target pid, and audit data.  Pass audit data to
   7368 	avc_has_perm.
   7369 	(log_audit_callback): New function, appends extra
   7370 	audit information.
   7371 	(bus_selinux_allows_acquire_service): Also take
   7372 	service name, add it to audit data.
   7373 	(bus_selinux_allows_send): Also take message
   7374 	type, interface, method member, error name,
   7375 	and destination, and add them to audit data.
   7376 	(log_cb): Initialize func_audit.
   7377 	
   7378 	* bus/selinux.h (bus_selinux_allows_acquire_service)
   7379 	(bus_selinux_allows_send): Update prototypes 
   7380 
   7381 	* bus/services.c (bus_registry_acquire_service): Pass
   7382 	service name to bus_selinux_allows_acquire_service.
   7383 
   7384 	* bus/bus.c (bus_context_check_security_policy): Pass
   7385 	additional audit data.  Move assignment of dest
   7386 	to its own line.
   7387 
   7388 2004-11-07  Colin Walters  <walters (a] verbum.org>
   7389 
   7390 	* dbus/dbus-transport-unix.c (do_authentication): Always
   7391 	initialize auth_completed.
   7392 	
   7393 2004-11-07  Colin Walters  <walters (a] verbum.org>
   7394 
   7395 	* bus/bus.c (load_config): Break into three
   7396 	separate functions: process_config_first_time_only,
   7397 	process_config_every_time, and process_config_postinit.
   7398 	(process_config_every_time): Move call of
   7399 	bus_registry_set_service_context_table into
   7400 	process_config_postinit.
   7401 	(process_config_postinit): New function, does
   7402 	any processing that needs to happen late
   7403 	in initialization (and also on reload).
   7404 	(bus_context_new): Instead of calling load_config,
   7405 	open config parser here and call process_config_first_time_only
   7406 	and process_config_every_time directly.  Later, after
   7407 	we have forked but before changing UID,
   7408 	invoke bus_selinux_full_init, and then call
   7409 	process_config_postinit.
   7410 	(bus_context_reload_config): As in bus_context_new,
   7411 	load parse file inside here, and call process_config_every_time
   7412 	and process_config_postinit.
   7413 
   7414 	* bus/services.h, bus/services.c
   7415 	(bus_registry_set_service_context_table): Rename
   7416 	from bus_registry_set_sid_table.  Take string hash from config
   7417 	parser, and convert them here into SIDs.
   7418 
   7419 	* bus/config-parser.c (struct BusConfigParser): Have
   7420 	config parser only store a mapping of service->context
   7421 	string.
   7422 	(merge_service_context_hash): New function.
   7423 	(merge_included): Merge context string hashes instead
   7424 	of using bus_selinux_id_table_union.
   7425 	(bus_config_parser_new): Don't use bus_selinux_id_table_new;
   7426 	simply create a new string hash.
   7427 	(bus_config_parser_unref): Unref it.
   7428 	(start_selinux_child): Simply insert strings into hash,
   7429 	don't call bus_selinux_id_table_copy_over.
   7430 
   7431 	* bus/selinux.h, bus/selinux.c (bus_selinux_id_table_union)
   7432 	(bus_selinux_id_table_copy_over): Delete.
   7433 
   7434 2004-11-03  Colin Walters  <walters (a] verbum.org>
   7435 
   7436 	* bus/selinux.c (bus_selinux_pre_init): Kill some unused
   7437 	variables.
   7438 	
   7439 2004-11-03  Colin Walters  <walters (a] verbum.org>
   7440 
   7441 	* bus/test-main.c (test_pre_hook): Fix test logic,
   7442 	thanks Joerg Barfurth <Joerg.Barfurth (a] Sun.COM>.
   7443 
   7444 2004-11-02  Colin Walters  <walters (a] redhat.com>
   7445 
   7446 	* bus/selinux.c (bus_selinux_init): Split into two functions,
   7447 	bus_selinux_pre_init and bus_selinux_post_init.
   7448 	(bus_selinux_pre_init): Just determine whether SELinux is
   7449 	enabled.
   7450 	(bus_selinux_post_init): Do everything else.
   7451 
   7452 	* bus/main.c (main): Call bus_selinux_pre_init before parsing
   7453 	config file, and bus_selinux_post_init after.  This ensures that
   7454 	we don't lose the policyreload notification thread that
   7455 	bus_selinux_init created before forking previously.
   7456 	
   7457 	* bus/test-main.c (test_pre_hook): Update for split.
   7458 
   7459 2004-10-31  Owen Fraser-Green  <owen (a] discobabe.net>
   7460 
   7461 	Patch from Johan Fischer <linux (a] fischaz.com>
   7462 	
   7463 	* mono/doc/Makefile.am (install-data-local): Added directory
   7464 	install for DESTDIR
   7465 
   7466 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7467 
   7468 	* dbus/dbus-sysdeps.h (_dbus_become_daemon): Also take
   7469 	parameter for fd to write pid to.	
   7470 
   7471 	* dbus/dbus-sysdeps.c (_dbus_become_daemon): Implement it.
   7472 	
   7473 	* bus/bus.c (bus_context_new): Pass print_pid_fd
   7474 	to _dbus_become_daemon (bug #1720)
   7475 
   7476 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7477 
   7478 	Patch from Ed Catmur <ed (a] catmur.co.uk>
   7479 
   7480 	* mono/doc/Makefile.am (install-data-local): Handle
   7481 	DESTDIR.
   7482 
   7483 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7484 
   7485 	* bus/.cvsignore, qt/.cvsignore: Update.
   7486 
   7487 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7488 
   7489 	Patch from Kristof Vansant <de_lupus (a] pandora.be>
   7490 
   7491 	* configure.in: Detect Slackware.
   7492 	* bus/Makefile.am (SCRIPT_IN_FILES): Add rc.messagebus.in.
   7493 	* bus/rc.messagebus.in: New file.
   7494 
   7495 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7496 
   7497 	* tools/dbus-monitor.c (filter_func): Return
   7498 	DBUS_HANDLER_RESULT_HANDLED in filter function
   7499 	for now.  See:
   7500 	http://freedesktop.org/pipermail/dbus/2004-August/001433.html
   7501 
   7502 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7503 
   7504 	Patch from Matthew Rickard <mjricka (a] epoch.ncsc.mil>
   7505 
   7506 	* bus/services.c (bus_registry_acquire_service): 
   7507 	Correctly retrieve service name from DBusString
   7508 	for printing.
   7509 
   7510 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7511 
   7512 	* dbus/dbus-glib.h: Update documentation to not
   7513 	refer to internal APIs.
   7514 
   7515 2004-10-27  Joe Shaw  <joeshaw (a] novell.com>
   7516 
   7517 	* mono/Arguments.cs (GetDBusTypeConstructor):
   7518 	type.UnderlyingSystemType will return "System.Byte" if you do it
   7519 	on "byte[]", which is not what we want.  So check the type.IsArray
   7520 	property and use System.Array instead.
   7521 
   7522 2004-10-25  John (J5) Palmieri  <johnp (a] redhat.com>
   7523 
   7524 	* dbus/dbus-sysdeps.c (fill_user_info): On errors do not free
   7525 	the DBusUserInfo structure since this is passed into the function.
   7526 	This would cause a double free when the function that allocated
   7527 	the structure would try to free it when an error occured.
   7528 
   7529 	* (bus/session.conf.in, bus/Makefile.am, dbus/configure.in):
   7530 	use /usr/share/dbus-1/services instead of /usr/lib/dbus-1.0/services
   7531 	for service activation to avoid 32bit/64bit parallel install issues
   7532 
   7533 2004-10-21  Colin Walters  <walters (a] verbum.org>
   7534 
   7535 	* AUTHORS: Fix my email address, the @gnu.org one
   7536 	has been bouncing for some time.  Also add J5.
   7537 	
   7538 2004-10-21  Colin Walters  <walters (a] verbum.org>
   7539 
   7540 	* dbus/dbus-transport-unix.c (do_authentication): Return
   7541 	authentication status to callers.
   7542 	(unix_handle_watch): If we completed authentication this round,
   7543 	don't do another read.  Instead wait until the next iteration,
   7544 	after we've read any pending data in the auth buffer.
   7545 	(unix_do_iteration): Ditto.
   7546 	(unix_handle_watch): Updated for new do_authentication prototype.
   7547 
   7548 2004-10-18  Colin Walters  <walters (a] verbum.org>
   7549 
   7550 	* bus/selinux.c (bus_selinux_enabled): Handle
   7551 	--disable-selinux case.
   7552 	
   7553 2004-10-18  Colin Walters  <walters (a] verbum.org>
   7554 
   7555 	* bus/selinux.h: Add bus_selinux_enabled.
   7556 	
   7557 	* bus/selinux.c (bus_selinux_enabled): Implement it.
   7558 	
   7559 	* bus/config-parser.c (struct include): Add
   7560 	if_selinux_enabled member.
   7561 	(start_busconfig_child): Parse if_selinux_enabled
   7562 	attribute for include.
   7563 	(bus_config_parser_content): Handle it.
   7564 
   7565 	* bus/session.conf.in, bus/system.conf.in: Add
   7566 	inclusion of context mapping to default config files;
   7567 	conditional on SELinux being enabled.
   7568 	
   7569 	* doc/busconfig.dtd: Add to if_selinux_enabled to default DTD.
   7570 	
   7571 	* test/data/invalid-config-files/badselinux-1.conf, 
   7572 	test/data/invalid-config-files/badselinux-2.conf:
   7573 	Test files for bad syntax.
   7574 	
   7575 2004-10-17  Colin Walters  <walters (a] verbum.org>
   7576 
   7577 	* dbus/dbus-memory.c (_dbus_initialize_malloc_debug, check_guards)
   7578 	(dbus_malloc, dbus_malloc0, dbus_realloc): Fix up printf
   7579 	format specifier mismatches.
   7580 
   7581 2004-10-07  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7582 
   7583 	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): fix an incorrect
   7584 	format string.
   7585 
   7586 	* glib/dbus-dbus-gmain.c (dbus_g_bus_get): do not mangle NULL
   7587 	pointer (bug #1540, Leonardo Boiko).
   7588 
   7589 2004-09-28  Jon Trowbridge  <trow (a] ximian.com>
   7590 
   7591 	* mono/BusDriver.cs: Changed BusDriver struct to remove
   7592 	the ServiceCreated and ServiceDeleted events and replace them
   7593 	with the new ServiceOwnerChanged event.
   7594 
   7595 	* mono/example/BusListener.cs: Added a new example program,
   7596 	which listens for and reports any ServiceOwnerChanged events
   7597 	on the bus driver.
   7598 
   7599 	* mono/example/Makefile.am (DESTDIR): Build changes for the
   7600 	new BusListener.cs example.
   7601 
   7602 2004-09-27  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7603 
   7604 	* bus/signals.c (bus_match_rule_parse): validate the components of
   7605 	match rules (bug #1439).
   7606 
   7607 	* dbus/dbus-bus.c (dbus_bus_add_match): add a missing OOM test.
   7608 
   7609 2004-09-24  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7610 
   7611 	* doc/dbus-specification.xml: document ServiceOwnerChanged
   7612 	signal.
   7613 	
   7614 	* bus/driver.c, bus/driver.h, bus/services.c: Use
   7615 	ServiceOwnerChanged signal instead of ServiceCreated and
   7616 	ServiceDeleted.
   7617 	
   7618 	* bus/dispatch.c: update testcase for the new signal.
   7619 
   7620 2004-09-20  Jon Trowbridge  <trow (a] ximian.com>
   7621 
   7622 	Patch from Nat Friedman <nat (a] novell.com>
   7623 
   7624 	* mono/Makefile.am: A number of small build fixes to allow "make
   7625 	distcheck" to succeed.
   7626 
   7627 	* mono/example/Makefile.am: "make distcheck" fixes.
   7628 
   7629 	* mono/AssemblyInfo.cs.in: When signing the assembly, look for the
   7630 	key in @srcdir@.
   7631 
   7632 	* test/Makefile.am: "make distcheck" fixes.
   7633 
   7634 2004-09-17  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7635 
   7636 	* dbus/dbus-sysdeps.c (_dbus_user_at_console): fix memleak in OOM.
   7637 
   7638 	* doc/busconfig.dtd: update the DTD for the at_console attribute.
   7639 
   7640 	* bus/driver.c (bus_driver_handle_hello): correctly handle Hello
   7641 	messages after the first one (bug #1389).
   7642 	
   7643 	* bus/dispatch.c (check_double_hello_message): add a test case for
   7644 	the double hello message bug.
   7645 	(check_existent_service_activation): fix check of spawning error.
   7646 	
   7647 2004-09-16  David Zeuthen  <david (a] fubar.dk>
   7648 
   7649 	* python/dbus_bindings.pyx.in: Add support for int64 and uint64
   7650 
   7651 2004-09-12  David Zeuthen  <david (a] fubar.dk>
   7652 
   7653 	Patch from Kay Sievers <kay.sievers (a] vrfy.org>
   7654 
   7655 	* bus/bus.c (bus_context_new):
   7656 	* bus/bus.h:
   7657 	* bus/main.c (usage)
   7658 	(main):
   7659 	Add commandline option --nofork to override configuration file
   7660 	setting.
   7661 
   7662 2004-09-09  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7663 
   7664 	* dbus/dbus-*.h: remove the ; after DBUS_(BEGIN|END)_DECLS. Some C
   7665 	compilers don't like it (bug #974).
   7666 
   7667 2004-09-04  Harald Fernengel  <harry (a] kdevelop.org>
   7668 
   7669 	* qt/connection.*: Applied patch by Jrme Lodewyck
   7670 	<lodewyck (a] clipper.ens.fr> to integrate an existing
   7671 	connection into the Qt eventloop
   7672 
   7673 2004-08-30  Jon Trowbridge  <trow (a] ximian.com>
   7674 
   7675 	* mono/BusDriver.cs: Added.  This is a class for interacting with
   7676 	the org.freedesktop.DBus service.
   7677 
   7678 	* mono/Message.cs: Added a mechanism to expose the message that is
   7679 	currently being dispatched via the static Message.Current
   7680 	property.  Added Message.Sender and Message.Destination
   7681 	properties.
   7682 
   7683 	* mono/Handler.cs: Expose the dispatched message via
   7684 	Message.Current when handling method calls.
   7685 
   7686 	* mono/Service.cs: Expose the dispatched message via
   7687 	Message.Current when handling signal emissions.
   7688 	
   7689 	* mono/Connection.cs: Bind dbus_bus_get_base_service via the
   7690 	Connection.BaseService property.
   7691 
   7692 2004-08-28  Havoc Pennington  <hp (a] redhat.com>
   7693 
   7694 	* dbus/dbus-userdb.c (_dbus_is_console_user): remove unused variable
   7695 
   7696         More fixes from Steve Grubb
   7697 	
   7698 	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix fd leak
   7699 	(_dbus_listen_tcp_socket): fix fd leak
   7700 
   7701 	* dbus/dbus-spawn.c (read_pid, read_ints): move the "again:" for
   7702 	EINTR to a bit lower in the code
   7703 
   7704 2004-08-26  Jon Trowbridge  <trow (a] ximian.com>
   7705 
   7706 	* bus/driver.c (bus_driver_handle_service_exists): Respond with
   7707 	TRUE if we are inquiring about the existence of the built-in
   7708 	org.freedesktop.DBus service.
   7709 
   7710 2004-08-25  John Palmieri  <johnp (a] redhat.com>
   7711 	* bus/config-parser.c:
   7712 	(struct PolicyType): Add POLICY_CONSOLE
   7713 	(struct Element.d.policy): s/gid_or_uid/gid_uid_or_at_console
   7714 	(start_busconfig_child): Sets up console element when
   7715 	<policy at_console=""> is encountered in a policy file
   7716 	(append_rule_from_element): Convert console elements to console
   7717 	rules.
   7718 
   7719 	* bus/policy.c: 
   7720 	(bus_policy_create_client_policy): Add console rules to the client
   7721 	policy based on if the client is at the console
   7722 	(bus_policy_append_console_rule): New function for adding a
   7723 	console rule to a policy
   7724 	(bus_policy_merge): Handle console rule merging
   7725 
   7726 	* dbus/dbus-sysdeps.h: Added the DBUS_CONSOLE_DIR constant
   7727 	where we check for console user files
   7728 	
   7729 	* dbus/dbus-sysdeps.c:
   7730 	(_dbus_file_exists): New function which checks if the given
   7731 	file exists
   7732 	(_dbus_user_at_console): New function which does the system
   7733 	specific process of checking if the user is at the console
   7734 
   7735 	* dbus/dbus-userdb.c:
   7736 	(_dbus_is_console_user): New function converts a UID to user name
   7737 	and then calls the system specific _dbus_user_at_console to 
   7738 	see if the user is at the console and therefor a console user
   7739 
   7740 2004-08-25  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7741 
   7742 	* bus/config-parser.c (set_limit):
   7743 	* bus/dbus-daemon-1.1.in:
   7744 	* test/data/valid-config-files/many-rules.conf: set the
   7745 	max_match_rules_per_connection limt from the config file. 
   7746 
   7747 	* doc/busconfig.dtd: update the DTD.
   7748 
   7749 	* bus/driver.c: remove some unused variables.
   7750 
   7751 2004-08-24  Mikael Hallendal  <micke (a] imendio.com>
   7752 
   7753 	* dbus/dbus-glib-lowlevel.h: Removed dbus_bus_get_with_g_main since 
   7754 	it's been replaced by dbus_g_bus_get
   7755 
   7756 2004-08-23  Colin Walters  <walters (a] redhat.com>
   7757 
   7758 	Updated SELinux support from Matthew Rickard <mjricka (a] epoch.ncsc.mil>
   7759 
   7760 	* bus/selinux.h: Prototype bus_selinux_get_policy_root.
   7761 
   7762 	* bus/selinux.c: Create a thread for policy reload notification.
   7763 	(bus_selinux_get_policy_root): Implement.
   7764 
   7765 	* bus/config-parser.c (start_busconfig_child)
   7766 	(bus_config_parser_content): Support SELinux-root relative
   7767 	inclusion.
   7768 
   7769 	* configure.in <HAVE_SELINUX>: Add -lpthread.
   7770 	
   7771 	* bus/test-main.c (test_pre_hook, test_post_hook): New.
   7772 	(test_post_hook): Move memory checking into here.
   7773 	(test_pre_hook, test_post_hook): Move SELinux checks in
   7774 	here, but conditional on a DBUS_TEST_SELINUX environment
   7775 	variable.  Unfortunately we can't run the SELinux checks
   7776 	as a normal user, since they won't have any permissions
   7777 	for /selinux.  So this will have to be tested manually
   7778 	for now, until we have virtualization for most of
   7779 	libselinux.
   7780 	
   7781 2004-08-23  Havoc Pennington  <hp (a] redhat.com>
   7782 
   7783 	* dbus/dbus-sysdeps.c (_dbus_change_identity): add setgroups() to
   7784 	drop supplementary groups, suggested by Steve Grubb
   7785 
   7786 2004-08-20  Colin Walters  <walters (a] redhat.com>
   7787 
   7788 	* bus/config-parser.c (start_busconfig_child): Remove some unused
   7789 	variables.
   7790 	
   7791 	* bus/selinux.c (bus_selinux_id_table_insert): Avoid compiler
   7792 	warning.
   7793 
   7794 2004-08-17  Joe Shaw  <joeshaw (a] novell.com>
   7795 
   7796 	* configure.in: If --enable-mono is passed in, if we can't find
   7797 	mono error out.
   7798 
   7799 	* mono/Makefile.am: Use /gacutil to install assemblies into the
   7800 	GAC and not /root.
   7801 
   7802 2004-08-12  Havoc Pennington  <hp (a] redhat.com>
   7803 
   7804 	* NEWS: update for 0.22
   7805 
   7806 	* configure.in: release 0.22
   7807 
   7808 2004-08-11  Colin Walters  <walters (a] redhat.com>
   7809 
   7810 	* tools/dbus-send.c (main, usage): Add --reply-timeout
   7811 	argument.
   7812 
   7813 2004-08-10  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7814 
   7815 	* bus/bus.c (process_config_first_time_only): get rid of an unused
   7816 	DBusError that was causing a memoy leak (bug #989).
   7817 
   7818 	* dbus/dbus-keyring.c, dbus/dbus-message.c:
   7819 	fix compilation on Solaris/Forte C (bug #974)
   7820 
   7821 	* bus/main.c (main): plug two minuscule memleaks.
   7822 
   7823 2004-08-10  Havoc Pennington  <hp (a] redhat.com>
   7824 
   7825 	* doc/dbus-tutorial.xml: add some more info on GLib bindings
   7826 
   7827 2004-08-09  Havoc Pennington  <hp (a] redhat.com>
   7828 
   7829 	* COPYING: switch to Academic Free License version 2.1 instead of
   7830 	2.0, to resolve complaints about patent termination clause.
   7831 
   7832 2004-07-31  John (J5) Palmieri  <johnp (a] redhat.com>
   7833 
   7834 	* README: added documentation for the --enable-python 
   7835 	configure switch.
   7836 
   7837 2004-07-31  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7838 
   7839 	* bus/config-parser.c (bus_config_parser_new): fix an invalid
   7840 	_unref in the SELinux support.
   7841 
   7842 	* doc/busconfig.dtd: update DTD for SELinux support.
   7843 
   7844 	* bus/config-loader-libxml.c: fix error handler and parser
   7845 	initialisation/cleanup. OOM test now works with libxml2 HEAD.
   7846 
   7847 	* configure.in: remove the warning about libxml2.
   7848 
   7849 	* dbus/dbus-bus.c: silence doxygen warning.
   7850 
   7851 2004-07-31  Colin Walters  <walters (a] redhat.com>
   7852 
   7853 	* configure.in: Move #error in SELinux check to its own line.
   7854 
   7855 2004-07-31  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7856 
   7857 	* dbus/dbus-internals.h (_DBUS_SET_OOM):
   7858 	* bus/utils.h (BUS_SET_OOM): use dbus_error_set_const instead of
   7859 	dbus_error_set.
   7860 
   7861 	* bus/dispatch.c (check_send_exit_to_service): fix the test case,
   7862 	broken by the change in the _SET_OOM macros.
   7863 
   7864 2004-07-31  Colin Walters  <walters (a] redhat.com>
   7865 
   7866 	* bus/selinux.c <HAVE_SELINUX>: Include utils.h to get
   7867 	BUS_SET_OOM.
   7868 
   7869 2004-07-31  Colin Walters  <walters (a] redhat.com>
   7870 
   7871 	* configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADER
   7872 	to correctly detect DBUS__ACQUIRE_SVC.  Also add an
   7873 	AC_MSG_CHECKING.
   7874 
   7875 2004-07-24  Havoc Pennington  <hp (a] redhat.com>
   7876 
   7877 	SELinux support from Matthew Rickard <mjricka (a] epoch.ncsc.mil>
   7878 
   7879 	* bus/selinux.c, bus/selinux.h: new file encapsulating selinux
   7880 	functionality
   7881 
   7882 	* configure.in: add --enable-selinux
   7883 	
   7884 	* bus/policy.c (bus_policy_merge): add FIXME to a comment
   7885 
   7886 	* bus/main.c (main): initialize and shut down selinux
   7887 
   7888 	* bus/connection.c: store SELinux ID on each connection, to avoid 
   7889 	repeated getting of the string context and converting it into 
   7890 	an ID
   7891 
   7892 	* bus/bus.c (bus_context_get_policy): new accessor, though it
   7893 	isn't used
   7894 	(bus_context_check_security_policy): check whether the security
   7895 	context of sender connection can send to the security context of
   7896 	recipient connection
   7897 
   7898 	* bus/config-parser.c: add parsing for <selinux> and <associate>
   7899 	
   7900 	* dbus/dbus-transport.c (_dbus_transport_get_unix_fd): to
   7901 	implement dbus_connection_get_unix_fd()
   7902 
   7903 	* dbus/dbus-connection.c (dbus_connection_get_unix_fd): new
   7904 	function, used by the selinux stuff
   7905 	
   7906 2004-07-29  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7907 
   7908 	* bus/config-loader-libxml.c: complete the implementation of
   7909 	libxml backend for config file loader. Doesn't work with full OOM
   7910 	test yet. 
   7911 	
   7912 	* configure.in: change error when selecting libxml into a warning.
   7913 	
   7914 	* test/data/invalid-config-files: add two non-well-formed XML
   7915 	files. 
   7916 	
   7917 	* glib/Makefile.am: libdbus_gtool always uses expat, not libxml.
   7918 	
   7919 	* dbus/dbus-transport-unix.c (unix_handle_watch): do not
   7920 	disconnect in case of DBUS_WATCH_HANGUP, several do_reading() may
   7921 	be necessary to read all the buffer. (bug #894)
   7922 
   7923 	* bus/activation.c (bus_activation_activate_service): fix a
   7924 	potential assertion failure (bug #896). Small optimization in the
   7925 	case of auto-activation messages.
   7926 
   7927 	* dbus/dbus-message.c (verify_test_message, _dbus_message_test):
   7928 	add test case for byte-through-vararg bug (#901). patch by Kimmo
   7929 	Hmlinen. 
   7930 
   7931 2004-07-28  Anders Carlsson  <andersca (a] gnome.org>
   7932 
   7933 	* python/dbus.py:
   7934 	* python/dbus_bindings.pyx.in:
   7935 	Add dbus.init_gthreads (), allow emit_signal to pass
   7936 	arguments to the signal.
   7937 	
   7938 2004-07-24  Havoc Pennington  <hp (a] redhat.com>
   7939 
   7940 	* AUTHORS: add some people, not really comprehensively, let me
   7941 	know if I missed you
   7942 
   7943 2004-07-24  Havoc Pennington  <hp (a] redhat.com>
   7944 
   7945 	* Makefile.am (DIST_SUBDIRS): add DIST_SUBDIRS, problem solved by
   7946 	Owen
   7947 
   7948 	* test/Makefile.am (DIST_SUBDIRS): here also
   7949 
   7950 2004-07-22  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7951 
   7952 	* dbus/dbus-sysdeps.c (fill_user_info): fix inexistent label name,
   7953 	breaking build on Solaris, reported by Farhad Saberi on the ML.
   7954 
   7955 	* dbus/dbus-message.c (dbus_message_append_args_valist): fix the
   7956 	va_arg invocation to account for integer promotion in the case of
   7957 	DBUS_TYPE_BYTE (unsigned char is promoted to int). (bug #901)
   7958 
   7959 	* bus/services.c (bus_service_remove_owner): fix bug #902, use
   7960 	_dbus_list_get_first_link, not _dbus_list_get_first.
   7961 
   7962 	* dbus/dbus-bus.c (dbus_bus_service_exists): plug a memory leak.
   7963 
   7964 	* dbus/dbus-object-tree.c (free_subtree_recurse): always null
   7965 	handler functions so that the asserts in _dbus_object_subtree_unref
   7966 	do not fail.
   7967 
   7968 	* dbus/dbus-transport-unix.c (do_reading):
   7969 	_dbus_transport_queue_messages return value is of type
   7970 	dbus_bool_t, not DBusDispatchStatus.
   7971 	
   7972 2004-07-19  David Zeuthen  <david (a] fubar.dk>
   7973 
   7974 	* dbus/dbus-protocol.h: Add DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN
   7975 
   7976 	* bus/dispatch.c:
   7977 	(check_get_connection_unix_user): Debug says GetProperty; but the
   7978 	method is called GetConnectionUnixUser
   7979 	(check_get_connection_unix_process_id): New function
   7980 	(bus_dispatch_test): Actually call check_get_connection_unix_user();
   7981 	also call check_get_connection_unix_process_id()
   7982 	
   7983 	* bus/driver.c:
   7984 	(bus_driver_handle_get_connection_unix_process_id): New function,
   7985 	handles GetConnectionUnixProcessID on the org.freedesktop.DBus
   7986 	interface
   7987 	
   7988 	* dbus/dbus-auth.c:
   7989 	(handle_server_data_external_mech): Set pid from the credentials
   7990 	obtained from the socket
   7991 	
   7992 	* dbus/dbus-connection.c:
   7993 	(dbus_connection_get_unix_process_id): New function
   7994 	
   7995 	* dbus/dbus-connection.h: 
   7996 	Add prototype for dbus_connection_get_unix_process_id
   7997 	
   7998 	* dbus/dbus-transport.c:
   7999 	(_dbus_transport_get_unix_process_id): New function
   8000 	
   8001 	* dbus/dbus-transport.h:
   8002 	Add prototype for _dbus_transport_get_unix_process_id
   8003 	
   8004 2004-07-19  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8005 
   8006 	* dbus/dbus-message.c: Message counter fix, patch by Christian
   8007 	Hammond <chipx86 (a] gnupdate.org>
   8008 
   8009 2004-07-18  Seth Nickell  <seth (a] gnome.org>
   8010 
   8011 	* python/dbus.py:
   8012 	* python/dbus_bindings.pyx.in:
   8013 	* python/tests/test-client.py:
   8014 
   8015 	Add dbus.ByteArray and dbus_bindings.ByteArray
   8016 	types so that byte streams can be passed back.
   8017 
   8018 	Give jdahlin the heaps of credit that are so
   8019 	rightfully his.
   8020 	
   8021 2004-07-12  Seth Nickell  <seth (a] gnome.org>
   8022 
   8023 	* python/dbus.py:
   8024 
   8025 	Add message argument to the default object_method_handler
   8026 	function.
   8027 	
   8028 	* python/dbus_bindings.pyx.in:
   8029 
   8030 	Automatically return NIL when passed an empty list
   8031 	(we can't pass back a list since lists are typed
   8032 	and we don't have any idea what type the the client
   8033 	intended the list to be... :-( )
   8034 	
   8035 2004-07-10  Seth Nickell  <seth (a] gnome.org>
   8036 
   8037 	* python/examples/Makefile.am:
   8038 
   8039 	Fix distcheck breakage caused by new examples.
   8040 
   8041 2004-07-10  Seth Nickell  <seth (a] gnome.org>
   8042 
   8043 	* python/dbus.py:
   8044 
   8045 	Add "message" argument to service-side dbus.Object
   8046 	methods. This will break existing services written
   8047 	using the python bindings, but will allow extraction
   8048 	of all the message information (e.g. who its from).
   8049 
   8050 	Add improved "object oriented" signal handling/emission.
   8051 	
   8052 	* python/examples/example-service.py:
   8053 
   8054 	Nix this example.
   8055 	
   8056 	* python/examples/example-signal-emitter.py:
   8057 	* python/examples/example-signal-recipient.py:
   8058 
   8059 	Two new examples that show how to emit and receive
   8060 	signals using the new APIs.
   8061 	
   8062 	* python/examples/example-signals.py:
   8063 	* python/examples/gconf-proxy-service.py:
   8064 	* python/examples/gconf-proxy-service2.py:
   8065 
   8066 	Add "message" argument to service methods.
   8067 
   8068 2004-06-28  Kay Sievers <kay.sievers (a] vrfy.org>
   8069 
   8070 	* bus/driver.c (bus_driver_handle_get_connection_unix_user)
   8071 	* dbus/bus.c (dbus_bus_get_unix_user)
   8072 	* doc/dbus-specification.xml: implement GetConnectionUnixUser
   8073 	method of org.freedesktop.DBus interface.
   8074 
   8075 	* bus/dispatch.c: test case
   8076 
   8077 2004-06-23  John (J5) Palmieri  <johnp (a] redhat.com>
   8078 
   8079 	* python/Makefile.am: switched include directory from glib/ to dbus/
   8080 	since dbus-glib.h moved
   8081  
   8082 2004-06-22  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8083 
   8084 	* configure.in: prevent building the gcj stuff and libxml loader
   8085 	since they are broken.
   8086 
   8087 2004-06-20  Havoc Pennington  <hp (a] redhat.com>
   8088 
   8089         * dbus/dbus-glib-error-enum.h: autogenerate the GError enum 
   8090 	codes from the dbus error names
   8091 	
   8092         * glib/dbus-glib.h: move to subdir dbus/ since it's included 
   8093 	as dbus/dbus-glib.h and that breakage is now visible due to 
   8094 	including dbus/dbus-glib.h in dbus-glib-lowlevel.h
   8095 	
   8096 	* glib/dbus-glib.h: s/gproxy/g_proxy/
   8097 
   8098 	* dbus/dbus-shared.h: new header to hold stuff shared with
   8099 	binding APIs
   8100 	
   8101 	* dbus/dbus-protocol.h (DBUS_ERROR_*): move errors here rather
   8102 	than dbus-errors.h
   8103 
   8104 	* glib/dbus-glib.h (dbus_set_g_error): move to
   8105 	dbus-glib-lowlevel.h
   8106 
   8107 	* glib/dbus-glib.h: remove dbus/dbus.h from here; change a bunch
   8108 	of stuff to enable this
   8109 
   8110 	* dbus/dbus-glib-lowlevel.h: put dbus/dbus.h here
   8111 
   8112 	* a bunch of other changes with the same basic "separate glib 
   8113 	bindings from dbus.h" theme
   8114 	
   8115 2004-06-10  Owen Fraser-Green  <owen (a] discobabe.net>
   8116 
   8117 	* dbus-sharp.pc.in: Removed glib-sharp inclusion in Libs.
   8118 
   8119 	* python/examples/Makefile.am: Fixed typo in EXTRA_DIST.
   8120 
   8121 2004-06-09  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8122 
   8123 	* bus/driver.c, dbus/dbus-bus.c: use BOOLEAN instead of UINT32 for
   8124 	the reply value of the ServiceExists message.
   8125 
   8126 2004-06-07  John (J5) Palmieri  <johnp (a] redhat.com>
   8127 
   8128 	* python/dbus_bindings.pyx.in: No longer need to parse path
   8129 	elements and pass them as arrays of strings.  The C API now
   8130 	accepts plain path strings.
   8131 	(_build_parsed_path): removed 
   8132 
   8133 2004-06-07  Havoc Pennington  <hp (a] redhat.com>
   8134 
   8135 	* doc/TODO: remove auto-activation item since it's done; sort
   8136 	items by importance/milestone
   8137 
   8138 2004-06-07  Havoc Pennington  <hp (a] redhat.com>
   8139 
   8140 	* dbus/dbus-message-builder.c (_dbus_message_data_load): append
   8141 	random signature when using REQUIRED_FIELDS (this hack won't work
   8142 	in the long term)
   8143 
   8144 	* dbus/dbus-message.c: change the signature to be a header field,
   8145 	instead of message->signature special-case string. Incremental
   8146 	step forward. Then we can fix up code to send the signature in the
   8147 	message, then fix up code to validate said signature, then fix up
   8148 	code to not put the typecodes inline, etc.
   8149 	(load_one_message): don't make up the signature after the fact
   8150 	(decode_header_data): require signature field for the known
   8151 	message types
   8152 
   8153 	* dbus/dbus-marshal.c (_dbus_marshal_string_len): new
   8154 
   8155 	* dbus/dbus-protocol.h: add DBUS_HEADER_FIELD_SIGNATURE
   8156 
   8157 2004-06-07  Owen Fraser-Green  <owen (a] discobabe.net>
   8158 
   8159 	* mono/DBusType/ObjectPath.cs: Renamed PathName argument to Path
   8160 
   8161 	* mono/Handler.cs: Updated to follow new path argument for
   8162 	(un-)registering objects.
   8163 
   8164 	* mono/example/Makefile.am:
   8165 	* mono/Makefile.am:
   8166 	* configure.in: Bumped required version for mono and use new -pkg
   8167 	syntax for deps
   8168 
   8169 2004-06-05  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8170 
   8171 	* dbus/dbus-connection.h, dbus/dbus-connection.c: have object path
   8172 	registration functions take the path argument as char* instead of
   8173 	char**.
   8174 
   8175 	* dbus/dbus-marshal.h, dbus/dbus-marshal.c (_dbus_decompose_path):
   8176 	split off the path decompostion part of
   8177 	_dbus_demarshal_object_path. Some misc. fixes to silence compiler
   8178 	warnings. 
   8179 
   8180 	* glib/dbus-gobject.c, test/test-service.c: update accordingly.
   8181 	
   8182 2004-06-02  Kristian Hgsberg  <krh (a] redhat.com>
   8183  
   8184 	* dbus/dbus-auth.c: Rewrite auth protocol handling to use a state
   8185 	machine approach.  A state is implemented as a function that
   8186 	handles incoming events as specified for that state.
   8187 	
   8188 	* doc/dbus-specification.xml: Update auth protocol state machine
   8189 	specification to match implementation.  Remove some leftover
   8190 	base64 examples.
   8191 
   8192 2004-06-02  Kristian Hgsberg  <krh (a] redhat.com>
   8193 
   8194 	* glib/dbus-gproxy.c, glib/dbus-gmain.c, dbus/dbus-string.c,
   8195 	dbus/dbus-object-tree.c, dbus/dbus-message.c: add comments to
   8196 	quiet doxygen.
   8197 
   8198 	* Doxyfile.in: remove deprecated options.
   8199 
   8200 	* dbus/dbus-message-handler.c, dbus/dbus-message-handler.h,
   8201 	glib/test-thread.h, glib/test-thread-client.c,
   8202 	glib/test-thread-server.c, glib/test-profile.c,
   8203 	glib/test-dbus-glib.c: remove these unused files.
   8204 
   8205 2004-06-01  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8206 
   8207 	* dbus/dbus-object-tree.c
   8208 	(_dbus_object_tree_dispatch_and_unlock): fix dispatch for
   8209 	non-fallback handlers (bug #684).
   8210 	(_dbus_object_subtree_new): initialize invoke_as_fallback field.
   8211 	(find_subtree_recurse): report wether the returned subtree is an
   8212 	exact match or a "fallback" match higher up in the tree.
   8213 	(object_tree_test_iteration): update test case.
   8214 
   8215 2004-06-01  Seth Nickell  <seth (a] gnome.org>
   8216 
   8217 	* python/dbus_bindings.pyx.in:
   8218 	* python/tests/test-client.py:
   8219 
   8220 	Round off basic type support. Add dicts (yay!), and 
   8221 	remaining array types.
   8222 
   8223 	Make MessageIter more general so it works for dicts too.
   8224 
   8225 	Mark all loop variables as C integers.
   8226 	
   8227 2004-05-31  Havoc Pennington  <hp (a] redhat.com>
   8228 
   8229 	* glib/dbus-gidl.c (method_info_add_arg): keep args sorted with
   8230 	"in" before "out"
   8231 
   8232 	* glib/dbus-gobject.c (dbus_type_to_string): move to dbus-gutils.c
   8233 
   8234 	* glib/dbus-glib-tool.c (main): set up to have a --self-test
   8235 	option that runs the tests, and start filling in some code
   8236 	including for starters just dumping the interfaces to stdout
   8237 
   8238 	* glib/Makefile.am (INCLUDES): define DBUS_LOCALEDIR
   8239 
   8240 	* test/data/valid-introspection-files/lots-of-types.xml: test of
   8241 	an example introspection file
   8242 
   8243 	* glib/dbus-gparser.c (parser_check_doctype): doctype should be
   8244 	"node" (I think...)
   8245 
   8246 2004-05-31  Seth Nickell  <seth (a] gnome.org>
   8247 
   8248 	* python/dbus_bindings.pyx.in:
   8249 	* python/tests/test-client.py:
   8250 
   8251 	Test Suite: 1
   8252 	Python Bindings: 0
   8253 
   8254 	Fix string array memory trashing bug... oops...
   8255 
   8256 2004-05-30  Seth Nickell  <seth (a] gnome.org>
   8257 
   8258 	* python/dbus.py:
   8259 
   8260 	Add a nicer-but-less-flexible alternate API for handling 
   8261 	calls to virtual objects in dbus.ObjectTree.
   8262 
   8263 	Screw up the argument order to the dbus.Object constructor
   8264 	for consistency with dbus.ObjectTree (and to make dbus_methods
   8265 	optional for future extension)
   8266 	
   8267 	* python/examples/Makefile.am:
   8268 	* python/examples/gconf-proxy-service.py:
   8269 	* python/examples/gconf-proxy-service2.py:
   8270 
   8271 	Alternate implementation of gconf-proxy-service using the
   8272 	nicer dbus.ObjectTree API.
   8273 	
   8274 	* python/examples/example-service.py:
   8275 	* python/tests/test-server.py
   8276 
   8277 	Reverse the argument order to deal with dbus.Object constructor
   8278 	changes.
   8279 	
   8280 2004-05-30  Seth Nickell  <seth (a] gnome.org>
   8281 
   8282 	* python/examples/example-client.py:
   8283 	* python/examples/example-service.py:
   8284 
   8285 	Take it back. Lists seem to work but they're broken
   8286 	in the test suite. Make the base examples use
   8287 	lists (works fine).
   8288 
   8289 2004-05-30  Seth Nickell  <seth (a] gnome.org>
   8290 
   8291 	* python/dbus_bindings.pyx.in:
   8292 	* python/tests/test-client.py:
   8293 
   8294 	Add some more tests and fix errors that crop up.
   8295 	Unfortunately, currently it seems like marshalling
   8296 	and unmarshalling of lists is completely broken :-(
   8297 
   8298 2004-05-30  Seth Nickell  <seth (a] gnome.org>
   8299 
   8300 	* python/dbus_bindings.pyx.in:
   8301 
   8302 	Add support for ObjectPath type.
   8303 
   8304 	* python/dbus.py:
   8305 
   8306 	Refactor message handling code to a common function.
   8307 	
   8308 	* python/tests/test-client.py:
   8309 	* python/tests/test-server.py:
   8310 
   8311 	Add tests that check to make sure values of all types
   8312 	can be echoed from a service w/o mangling.
   8313 	
   8314 2004-05-29  Seth Nickell  <seth (a] gnome.org>
   8315 
   8316 	* python/dbus.py:
   8317 
   8318 	Add ObjectTree class which allows implementation
   8319 	of trees of "virtual" objects. Basically the python
   8320 	wrapper for "register_fallback".
   8321 	
   8322 	* python/examples/Makefile.am
   8323 	* python/examples/gconf-proxy-client.py:
   8324 	* python/examples/gconf-proxy-service.py:
   8325 
   8326 	Implement a simple GConf proxy service that supports
   8327 	get/set on string and int GConf keys using the ObjectTree.
   8328 	
   8329 2004-05-29  Seth Nickell  <seth (a] gnome.org>
   8330 
   8331 	* python/dbus.py:
   8332 	* python/examples/example-client.py:
   8333 	* python/examples/example-service.py:
   8334 	* python/examples/list-system-services.py:
   8335 
   8336 	Add SessionBus, SystemBus and ActivationBus classes
   8337 	so you don't need to know the special little BUS_TYPE
   8338 	flag.
   8339 	
   8340 2004-05-29  Havoc Pennington  <hp (a] redhat.com>
   8341 
   8342 	* bus/config-parser.c (process_test_valid_subdir): temporarily
   8343 	stop testing config parser OOM handling, since expat has issues
   8344 	http://freedesktop.org/pipermail/dbus/2004-May/001153.html
   8345 
   8346 	* bus/dbus-daemon-1.1.in: change requested_reply to
   8347 	send_requested_reply/receive_requested_reply so we can send the
   8348 	replies, not just receive them.
   8349 
   8350 	* bus/config-parser.c: parse the new
   8351 	send_requested_reply/receive_requested_reply
   8352 
   8353 	* bus/policy.c (bus_client_policy_check_can_send): add
   8354 	requested_reply argument and use it
   8355 
   8356 	* bus/bus.c (bus_context_check_security_policy): pass through
   8357 	requested_reply status to message send check
   8358 
   8359 	* bus/system.conf.in: adapt to requested_reply change
   8360 	
   8361 2004-05-28  Havoc Pennington  <hp (a] redhat.com>
   8362 
   8363 	* test/glib/test-service-glib.c (main): remove unused variable
   8364 
   8365 	* glib/dbus-gidl.c (base_info_ref): fix a silly compiler warning
   8366 
   8367 	* dbus/dbus-auth.h (enum): remove AUTHENTICATED_WITH_UNUSED_BYTES
   8368 	from the enum, no longer in use.
   8369 
   8370 	* dbus/dbus-sysdeps.h: include config.h so DBUS_VA_COPY actually
   8371 	works right.
   8372 
   8373 	* dbus/dbus-message.c: add various _dbus_return_val_if_fail for
   8374 	whether error_name passed in is a valid error name.
   8375 
   8376 2004-05-28  John (J5) Palmieri  <johnp (a] redhat.com>
   8377 
   8378 	* dbus/dbus-message.c (dbus_message_get_args): Added support for
   8379 	OBJECT_PATH and OBJECT_PATH_ARRAY
   8380 
   8381 2004-05-28  Seth Nickell  <seth (a] gnome.org>
   8382 
   8383 	* python/examples/Makefile.am:
   8384 
   8385 	Forget to add Makefile.am. Do not pass go.
   8386 
   8387 2004-05-28  Michael Meeks  <michael (a] ximian.com>
   8388 
   8389 	* glib/dbus-gvalue.c (dbus_gvalue_marshal, dbus_gvalue_demarshal): 
   8390 	fix no int64 case.
   8391 
   8392 	* dbus/dbus-string.c (_dbus_string_parse_basic_type): impl.
   8393 
   8394 	* dbus/dbus-message.c (_dbus_message_iter_get_basic_type),
   8395 	(_dbus_message_iter_get_basic_type_array): impl.
   8396 	drastically simplify ~all relevant _get methods to use these.
   8397 	(_dbus_message_iter_append_basic_array),
   8398 	(dbus_message_iter_append_basic): impl
   8399 	drastically simplify ~all relevant _append methods to use these.
   8400 
   8401 	* dbus/dbus-message-builder.c (parse_basic_type) 
   8402 	(parse_basic_array, lookup_basic_type): impl.
   8403 	(_dbus_message_data_load): prune scads of duplicate /
   8404 	cut & paste coding.
   8405 
   8406 	* dbus/dbus-marshal.c (_dbus_demarshal_basic_type_array) 
   8407 	(_dbus_demarshal_basic_type): implement,
   8408 	(demarshal_and_validate_len/arg): beef up debug.
   8409 	(_dbus_marshal_basic_type, _dbus_marshal_basic_type_array): impl.
   8410 
   8411 2004-05-27  Seth Nickell  <seth (a] gnome.org>
   8412 
   8413 	* configure.in:
   8414 	* python/Makefile.am:
   8415 
   8416 	Include the example python apps in the tarball.
   8417 	
   8418 	* python/examples/list-system-services.py
   8419 
   8420 	Add a python new example that fetches the list of services
   8421 	from the system bus.
   8422 	
   8423 2004-05-27  Seth Nickell  <seth (a] gnome.org>
   8424 
   8425 	* python/dbus.py:
   8426 	* python/dbus_bindings.pyx.in:
   8427 
   8428 	Fix failure to notify that a signal was not handled,
   8429 	resulted in hung functions.
   8430 	
   8431 2004-05-25  Colin Walters  <walters (a] redhat.com>
   8432 
   8433 	* tools/dbus-monitor.c (main): Monitor all types of messages.
   8434 
   8435 2004-05-23  Owen Fraser-Green  <owen (a] discobabe.net>
   8436 
   8437 	* mono/Handler.cs, mono/Service.cs: Added UnregisterObject method
   8438 	which unregisters the object path and disposes the handler.
   8439 
   8440 2004-05-23  Kristian Hgsberg  <krh (a] redhat.com>
   8441  
   8442         Patch from Timo Ters <ext-timo.teras (a] nokia.com> (#614):
   8443          
   8444 	* dbus/dbus-message.c (dbus_message_iter_get_args_valist): Swap
   8445         operands to && so we call dbus_message_iter_next () for the last
   8446         argument also.
   8447 
   8448 2004-05-21  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8449 
   8450 	* dbus/dbus-object-tree.c
   8451 	(_dbus_object_tree_list_registered_unlock, lookup_subtree): return
   8452 	children even if the requested path isn't registered.
   8453 	(object_tree_test_iteration): test object_tree_list_registered.
   8454 
   8455 	* configure.in: undefine HAVE_ABSTRACT_SOCKETS instead of defining
   8456 	it to 0.
   8457 	
   8458 2004-05-20  Kristian Hgsberg  <krh (a] redhat.com>
   8459 
   8460 	* doc/TODO: Remove resolved items.
   8461 
   8462 	* bus/expirelist.h (struct BusExpireList): remove unused n_items
   8463 	field.
   8464 	
   8465 	* bus/connection.c (bus_connections_expect_reply): Enforce the
   8466 	per-connection limit on pending replies.
   8467 	
   8468 	Patch from Jon Trowbridge <trow (a] ximian.com>:
   8469  
   8470  	* bus/main.c (setup_reload_pipe): Added.  Creates a pipe and sets
   8471  	up a watch that triggers a config reload when one end of the pipe
   8472  	becomes readable.
   8473  	(signal_handler): Instead of doing the config reload in our SIGHUP
   8474  	handler, just write to the reload pipe and let the associated
   8475  	watch handle the reload when control returns to the main loop.
   8476  
   8477  	* bus/driver.c (bus_driver_handle_reload_config): Added.
   8478  	Implements a ReloadConfig method for requesting a configuration
   8479  	file reload via the bus driver.
   8480  
   8481 2004-05-19  Owen Fraser-Green  <owen (a] discobabe.net>
   8482 
   8483 	* HACKING: Updated release instructions concerning the wiki page.
   8484 
   8485 2004-05-18  Kristian Hgsberg  <krh (a] redhat.com>
   8486 
   8487  	* dbus/dbus-auth.c (client_try_next_mechanism): Remove logic to
   8488 	filter against auth->allowed_mechs; we only add allowed mechs in
   8489 	record_mechanisms().
   8490  
   8491  	* dbus/dbus-auth-script.c (_dbus_auth_script_run): Add an
   8492 	ALLOWED_MECHS to auth-script format so we can set the list of
   8493 	allowed mechanisms.
   8494  
   8495  	* data/auth/client-out-of-mechanisms.auth-script: New test to
   8496 	check client disconnects when it is out of mechanisms to try.
   8497  
   8498  	* dbus/dbus-auth.c (process_command): Remove check for lines
   8499 	longer that 1 MB; we only buffer up maximum 16 kB.
   8500  
   8501  	* dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
   8502 	dbus/dbus-auth-script.c, dbus/dbus-auth.c, dbus/dbus-auth.h:
   8503 	Remove auth state AUTHENTICATED_WITH_UNUSED_BYTES, instead always
   8504 	assume there might be unused bytes.
   8505  
   8506  	* dbus/dbus-auth.c (_dbus_auth_do_work): Remove check for
   8507 	client-out-of-mechs, it is handled in process_reject(). Move check
   8508 	for max failures to send_rejected(), as it's a server-only thing.
   8509 
   8510 	* dbus/dbus-auth.c: Factor out protocol reply code into functions
   8511 	send_auth(), send_data(), send_rejected(), send_error(),
   8512 	send_ok(), send_begin() and send_cancel().
   8513 
   8514 2004-05-17  Kristian Hgsberg  <krh (a] redhat.com>
   8515 
   8516 	Remove base64 encoding, replace with hex encoding. Original patch
   8517 	from trow (a] ximian.com, added error handling.
   8518 
   8519 	* dbus/dbus-string.c (_dbus_string_base64_encode)
   8520 	(_dbus_string_base64_decode): Remove.
   8521 	(_dbus_string_hex_decode): Add end_return argument so we can
   8522 	distinguish between OOM and invalid hex encoding.
   8523 	(_dbus_string_test): Remove base64 tests and add test case for
   8524 	invalid hex.
   8525 
   8526 	* dbus/dbus-keyring.c, dbus/dbus-auth-script.c, dbus/dbus-auth.c:
   8527 	Replace base64 with hex.
   8528 
   8529 	* test/data/auth/invalid-hex-encoding.auth-script: New test case
   8530 	for invalid hex encoded data in auth protocol.
   8531 
   8532 2004-05-17  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8533 
   8534 	* dbus/dbus-connection.c (check_for_reply_unlocked): plug a memory
   8535 	leak.
   8536 
   8537 2004-05-15  Owen Fraser-Green  <owen (a] discobabe.net>
   8538 
   8539 	* mono/dbus-sharp.dll.config.in: Added for GAC
   8540 	* mono/dbus-sharp.snk: Added for GAC
   8541 	* mono/Assembly.cs.in: Added for GAC
   8542 	* mono/Makefile.am: Changes for GAC installation	
   8543 	* configure.in: Added refs for dbus-sharp.dll.config.in and
   8544 	Assembly.cs.in. More fixes for mono testing
   8545 	* mono/example/Makefile.am: Changed var to CSC
   8546 	* Makefile.am: Changed flag name to DBUS_USE_CSC
   8547 
   8548 2004-05-15  Owen Fraser-Green  <owen (a] discobabe.net>
   8549 
   8550 	* mono/Makefile.am: Added SUBDIRS for docs. Changed SUBDIRS order
   8551 	* mono/doc/*: Added documentation framework
   8552 	* configure.in: Added monodoc check
   8553 	* README: Added description of mono configure flags
   8554 
   8555 2004-05-11  John (J5) Palmieri  <johnp (a] redhat.com>:
   8556 
   8557 	* doc/dbus-specification.xml: Added a "Required" column to the 
   8558 	header fields table and changed the "zero or more" verbage in
   8559 	the above paragraph to read "The header must contain the required 
   8560 	named header fields and zero or more of the optional named header 
   8561 	fields".
   8562 	* test/data/invalid-messages/*.message: Added the required PATH 
   8563 	named header field to the tests so that they don't fail on 
   8564 	'Missing path field'
   8565 
   8566 2004-05-07  John (J5) Palmieri  <johnp (a] redhat.com>
   8567 
   8568 	* python/dbus-bindings.pyx.in: Stopped the bindings from trashing
   8569 	the stack by implicitly defining variable and parameter types and
   8570 	removing the hack of defining C pointers as python objects and later
   8571 	casting them.
   8572 
   8573 2004-05-02  Owen Fraser-Green  <owen (a] discobabe.net>
   8574 
   8575 	* mono/Makefile.am: Removed test-dbus-sharp.exe from all target
   8576 
   8577 2004-05-01  Owen Fraser-Green  <owen (a] discobabe.net>
   8578 
   8579 	* mono/DBusType/Dict.cs: Handle empty dicts
   8580 	* mono/DBusType/Array.cs: Handle empty arrays
   8581 	* mono/Arguments.cs: Handle empty arguments
   8582 
   8583 2004-04-30  Owen Fraser-Green  <owen (a] discobabe.net>
   8584 
   8585 	* dbus-sharp.pc.in: Modified to include include Libs and Requires
   8586 	field
   8587 
   8588 2004-04-25  Kristian Hgsberg  <krh (a] redhat.com>
   8589 
   8590 	* test/data/valid-messages/standard-*.message: Update message
   8591 	test scripts to new header field names.
   8592 
   8593 2004-04-22  John (J5) Palmieri  <johnp (a] redhat.com>
   8594 
   8595 	* test/break-loader.c (randomly_do_n_things): tracked down buffer
   8596 	overflow to times_we_did_each_thing array which would chop off the
   8597 	first character of the failure_dir string. Increased the size of
   8598 	the array to 7 to reflect the number of random mutation functions
   8599 	we have.
   8600 
   8601 2004-04-21  Kristian Hgsberg  <krh (a] redhat.com>
   8602 
   8603 	* dbus/dbus-server-unix.c (unix_finalize): Don't unref
   8604 	unix_server->watch here, it is unreffed in disconnect.
   8605 	(_dbus_server_new_for_tcp_socket): convert NULL host to
   8606 	"localhost" here so we don't append NULL to address.
   8607 	
   8608 	* dbus/dbus-server.c (_dbus_server_test): Add test case for
   8609 	various addresses, including tcp with no explicit host.
   8610 
   8611 2004-04-21  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8612 
   8613 	* dbus/dbus-message.c (decode_header_data, decode_string_field):
   8614 	fix incorrect setting of .name_offset in the HeaderField (it was
   8615 	off by two bytes, positioned right after the name and typecode)
   8616 
   8617 	* bus/bus.c (bus_context_new, bus_context_unref): test before
   8618 	calling dbus_server_free_data_slot and _dbus_user_database_unref
   8619 	in case of an error.
   8620 
   8621 	* tools/Makefile.am: add $(DBUS_GLIB_TOOL_LIBS), xml libs needed
   8622 	by libdbus-gtool.
   8623 
   8624 2004-04-19  Kristian Hgsberg  <krh (a] redhat.com>
   8625 
   8626 	* dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use
   8627 	_dbus_poll() instead of select().
   8628 
   8629 2004-04-15  Jon Trowbridge  <trow (a] ximian.com>
   8630 
   8631 	* bus/main.c (signal_handler): Reload the configuration files
   8632 	on SIGHUP.
   8633 	(main): Set up our SIGHUP handler.
   8634 
   8635 	* bus/bus.c (struct BusContext): Store the config file, user and
   8636 	fork flag in the BusContext.
   8637 	(process_config_first_time_only): Added.  Contains the code
   8638 	(previously in bus_context_new) for setting up the BusContext from
   8639 	the BusConfigParser that should only be run the first time the
   8640 	config files are read.
   8641 	(process_config_every_time): Added.  Contains the code (previously
   8642 	in bus_context_new) for setting up the BusContext from the
   8643 	BusConfigParser that should be run every time the config files are
   8644 	read.
   8645 	(load_config): Added.  Builds a BusConfigParser from the config
   8646 	files and passes the resulting structure off to
   8647 	process_config_first_time_only (assuming this is the first time)
   8648 	and process_config_every_time.
   8649 	(bus_context_new): All of the config-related code has been moved
   8650 	to process_config_first_time_only and process_config_every_time.
   8651 	Now this function just does the non-config-related initializations
   8652 	and calls load_config.
   8653 	(bus_context_reload_config): Added.
   8654 
   8655 2004-04-15  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8656 
   8657 	* bus/driver.c (bus_driver_handle_get_service_owner):
   8658 	implement a GetServiceOwner method.
   8659 	* doc/dbus-specification.xml: document it.
   8660 	* dbus/dbus-errors.h: add a 'ServiceHasNoOwner' error.
   8661 	
   8662 	* glib/dbus-gproxy.c (dbus_gproxy_new_for_service_owner):
   8663 	implement, using the bus GetServiceOwner method.
   8664 
   8665 	* test/glib/test-dbus-glib.c:
   8666 	use dbus_gproxy_new_for_service_owner so that we can receive the
   8667 	signal. 
   8668 
   8669 2004-04-15  John (J5) Palmieri  <johnp (a] redhat.com>
   8670 
   8671 	* dbus/dbus-internals.c, dbus/dbus-message-builder.c,
   8672 	dbus/dbus-message.c, dbus/dbus-protocol.h
   8673 	(DBUS_HEADER_FIELD_SERVICE): renamed DBUS_HEADER_FIELD_DESTINATION
   8674 
   8675 	* dbus/dbus-internals.c, dbus/dbus-message-builder.c,
   8676 	dbus/dbus-message.c, dbus/dbus-protocol.h
   8677 	(DBUS_HEADER_FIELD_SENDER_SERVICE): renamed DBUS_HEADER_FIELD_SENDER
   8678 
   8679 	* dbus/dbus-internals.c (_dbus_header_field_to_string):
   8680 	DBUS_HEADER_FIELD_DESTINATION resolves to "destination"
   8681 	DBUS_HEADER_FIELD_SENDER resolves to "sender"
   8682 
   8683 	* doc/dbus-specification.xml (Header Fields Table):
   8684 	s/SERVICE/DESTINATION
   8685 	s/SENDER_SERVICE/SENDER
   8686 
   8687 
   8688 2004-04-14  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8689 
   8690 	* test/glib/test-dbus-glib.c (timed_exit): fail the test after
   8691 	a few seconds.
   8692 
   8693 2004-04-13  Michael Meeks  <michael (a] ximian.com>
   8694 
   8695 	* glib/dbus-gobject.c (handle_introspect): split out
   8696 	(introspect_properties): this.
   8697 	(handle_introspect): implement this.
   8698 
   8699 	* test/glib/Makefile.am: use the absolute path so the bus
   8700 	daemon's chdir ("/") doesn't kill us dead.
   8701 
   8702 	* configure.in: subst ABSOLUTE_TOP_BUILDDIR
   8703 
   8704 2004-04-12  Jon Trowbridge  <trow (a] ximian.com>
   8705 
   8706 	* bus/config-parser.c (struct BusConfigParser): Added
   8707 	included_files field.
   8708 	(seen_include): Added.  Checks whether or not a file has already
   8709 	been included by any parent BusConfigParser.
   8710 	(bus_config_parser_new): Copy the parent's included_files.
   8711 	(include_file): Track which files have been included, and fail on
   8712 	circular inclusions.
   8713 	(process_test_valid_subdir): Changed printf to report if we are
   8714 	testing valid or invalid conf files.
   8715 	(all_are_equiv): Changed printf to be a bit clearer about
   8716 	what we are actually doing.
   8717 	(bus_config_parser_test): Test invalid configuration files.
   8718 
   8719 2004-04-09  Jon Trowbridge  <trow (a] ximian.com>
   8720 
   8721 	* bus/config-parser.c (bus_config_parser_new): Added a 'parent'
   8722 	argument.  If non-null, the newly-constructed BusConfigParser will
   8723 	be initialized with the parent's BusLimits instead of the default
   8724 	values.
   8725 	(include_file): When including a config file, pass in
   8726 	the current parser as the parent and then copy the BusLimits
   8727 	from the included BusConfigParser pack to the current parser.
   8728 	(process_test_valid_subdir): Renamed from process_test_subdir.
   8729 	(process_test_equiv_subdir): Added.  Walks through a directory,
   8730 	descending into each subdirectory and loading the config files
   8731 	it finds there.  If any subdirectory contains two config files
   8732 	that don't produce identical BusConfigParser structs, fail.
   8733 	For now, the BusConfigParser's BusPolicies are not compared.
   8734 	(bus_config_parser_test): Call both process_test_valid_subdir and
   8735 	process_test_equiv_subdir.
   8736 
   8737 	* bus/config-loader-libxml.c (bus_config_load): Take a parent
   8738 	argument and pass it along to the call to bus_config_parser_new.
   8739 	Also made a few small changes to allow this code to compile.
   8740 
   8741 	* bus/config-loader-expat.c (bus_config_load): Take a parent
   8742 	argument and pass it along to the call to bus_config_parser_new.
   8743 
   8744 	* bus/bus.c (bus_context_new): Load the config file
   8745 	with a NULL parent argument.
   8746 
   8747 2004-03-29  Michael Meeks  <michael (a] ximian.com>
   8748 
   8749 	* glib/dbus-gobject.c (introspect_properties): split
   8750 	out, fix mangled 'while' flow control.
   8751 	(introspect_signals): implement.
   8752 	(handle_introspect): update.
   8753 
   8754 2004-03-29  Michael Meeks  <michael (a] ximian.com>
   8755 
   8756 	* glib/dbus-gobject.c (set_object_property): split out / 
   8757 	re-work, use the property type, and not the message type(!)
   8758 	(get_object_property): ditto.
   8759 
   8760         * glib/dbus-gvalue.c (dbus_gvalue_demarshal),
   8761 	(dbus_gvalue_marshal): make this code re-usable, needed
   8762 	for signals too, also on both proxy and server side.
   8763 	Re-write for more efficiency / readability.
   8764 
   8765 2004-03-29  Michael Meeks  <michael (a] ximian.com>
   8766 
   8767 	* dbus/dbus-message.c
   8768 	(dbus_message_new_error_printf): impl.
   8769 
   8770 	* dbus/dbus-connection.c
   8771 	(dbus_connection_unregister_object_path): fix warning.
   8772 
   8773 	* configure.in: fix no-mono-installed situation.
   8774 
   8775 2004-03-27  Havoc Pennington  <hp (a] redhat.com>
   8776 
   8777 	Patch from Timo Ters:
   8778 	
   8779 	* tools/dbus-send.c (main): if --print-reply, assume type is
   8780 	method call; support boolean type args
   8781 	
   8782 	* dbus/dbus-connection.c (dbus_connection_send_with_reply): fix a
   8783 	bunch of memleak and logic bugs
   8784 	
   8785 2004-03-23  Owen Fraser-Green  <owen (a] discobabe.net>
   8786 
   8787         * mono/Arguments.cs:
   8788 	* mono/Introspector.cs:
   8789 	* mono/Handler.cs:
   8790 	* mono/InterfaceProxy.cs:
   8791 	* mono/Message.cs
   8792 	* mono/ProxyBuilder.cs:
   8793 	* mono/Service.cs:
   8794 	Added InterfaceProxy class to avoid building proxies for every
   8795 	object.
   8796 
   8797 	* dbus-message.h:
   8798 	* dbus-message.c (dbus_message_append_args_valist)
   8799 	(dbus_message_iter_get_object_path)
   8800 	(dbus_message_iter_get_object_path_array)
   8801 	(dbus_message_iter_append_object_path)
   8802 	(dbus_message_iter_append_object_path_array):
   8803 	Added object_path iter functions to handle OBJECT_PATH arguments
   8804 	
   8805 2004-03-23  Owen Fraser-Green  <owen (a] discobabe.net>
   8806 
   8807 	First checkin of mono bindings.
   8808 	* configure.in:
   8809 	* Makefile.am:
   8810 	Build stuff for the bindings
   8811 	* dbus-sharp.pc.in: Added for pkgconfig
   8812 	
   8813 2004-03-21  Havoc Pennington  <hp (a] redhat.com>
   8814 
   8815 	* test/test-service.c (main): remove debug spew
   8816 
   8817 2004-03-21  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8818 
   8819 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): accept empty
   8820 	arrays
   8821 
   8822 	* dbus/dbus-message.h, bus/dbus-message.c (dbus_message_iter_init)
   8823 	(dbus_message_iter_init_array_iterator)
   8824 	(dbus_message_iter_init_dict_iterator): return a dbus_bool_t to
   8825 	indicate whether the iterator is empty
   8826 
   8827 	* dbus/dbus-pending-call.c, dbus/dbus-server.c: silence compiler
   8828 	warnings
   8829 
   8830 2004-03-19  Havoc Pennington  <hp (a] redhat.com>
   8831 
   8832 	* NEWS: 0.21 updates
   8833 
   8834 	* configure.in: 0.21
   8835 
   8836 	* doc/Makefile.am: add all XMLTO usage to DBUS_XML_DOCS_ENABLED
   8837 	
   8838 	* python/Makefile.am: change to avoid dist of dbus_bindings.c so
   8839 	you don't need pyrex to make dist
   8840 
   8841 	* qt/Makefile.am (libdbus_qt_1_la_SOURCES): add integrator.h to
   8842 	sources; run moc
   8843 	
   8844 2004-03-18  Richard Hult  <richard (a] imendio.com>
   8845 
   8846 	* dbus/dbus-message.c (dbus_message_get_auto_activation) 
   8847 	(dbus_message_set_auto_activation): Add doxygen docs.
   8848 
   8849 2004-03-16  Richard Hult  <richard (a] imendio.com>
   8850 
   8851 	* bus/activation.c: (bus_activation_service_created),
   8852 	(bus_activation_send_pending_auto_activation_messages),
   8853 	(bus_activation_activate_service):
   8854 	* bus/activation.h:
   8855 	* bus/dispatch.c: (bus_dispatch),
   8856 	(check_nonexistent_service_auto_activation),
   8857 	(check_service_auto_activated),
   8858 	(check_segfault_service_auto_activation),
   8859 	(check_existent_service_auto_activation), (bus_dispatch_test):
   8860 	* bus/driver.c: (bus_driver_handle_activate_service):
   8861 	* bus/services.c: (bus_registry_acquire_service):
   8862 	* dbus/dbus-message.c: (dbus_message_set_auto_activation),
   8863 	(dbus_message_get_auto_activation):
   8864 	* dbus/dbus-message.h:
   8865 	* dbus/dbus-protocol.h: Implement auto-activation.
   8866 	
   8867 	* doc/dbus-specification.xml: Add auto-activation to the spec.
   8868 
   8869 2004-03-12  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8870 
   8871 	* dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos):
   8872 	fix a bug with CUSTOM types.
   8873 
   8874 	* dbus/dbus-message.c (message_iter_test, _dbus_message_test): add
   8875 	a unit test for this bug (used to fail).
   8876 
   8877 2004-03-12  Mikael Hallendal  <micke (a] imendio.com>
   8878 
   8879 	* bus/activation.c:
   8880 	(babysitter_watch_callback): notify all pending activations waiting for
   8881 	  the same exec that the activation failed.
   8882 	(bus_activation_activate_service): shortcut the activation if we 
   8883 	  already waiting for the same executable to start up.
   8884 
   8885 2004-03-12  Mikael Hallendal  <micke (a] imendio.com>
   8886 
   8887 	* bus/activation.c: 
   8888 	- Added service file reloading. 
   8889 	  Each service files directory is kept in an hash table in 
   8890 	  BusActivation and each BusActivationEntry knows what .service-file it
   8891 	  was read from. So when you try to activate a service the bus will 
   8892 	  check if it's been updated, removed or if new .service-files has 
   8893 	  been installed.
   8894 	- Test code at the bottom for the service file reloading.
   8895 	* bus/test-main.c: (main):
   8896 	* bus/test.h:
   8897 	- added service reloading test.
   8898 	* dbus/dbus-sysdeps.c: 
   8899 	* dbus/dbus-sysdeps.h: (_dbus_delete_directory): Added.
   8900 
   8901 2004-03-08  Michael Meeks  <michael (a] ximian.com>
   8902 
   8903 	* dbus/dbus-connection.c (_dbus_connection_block_for_reply): 
   8904 	bail immediately if disconnected, to avoid busy loop.
   8905 
   8906 	* dbus/dbus-message.c (dbus_message_iter_get_args_valist):
   8907 	cleanup cut/paste/inefficiency.
   8908 
   8909 2004-03-01  David Zeuthen  <david (a] fubar.dk>
   8910 
   8911 	* dbus/dbus-string.c (_dbus_string_append_printf_valist): Fix a
   8912 	bug where args were used twice. This bug resulted in a segfault
   8913 	on a Debian/PPC system when starting the messagebus daemon. Include
   8914 	dbus-sysdeps.h for DBUS_VA_COPY
   8915 
   8916 	* dbus/dbus-sysdeps.h: Define DBUS_VA_COPY if neccessary. From GLib
   8917 
   8918 	* configure.in: Check for va_copy; define DBUS_VA_COPY to the
   8919 	appropriate va_copy implementation. From GLib
   8920  	
   8921 2004-02-24  Joe Shaw  <joe (a] ximian.com>
   8922 
   8923 	* bus/services.c (bus_registry_acquire_service): We need to pass
   8924 	in the service name to dbus_set_error() to prevent a crash.
   8925 
   8926 2003-12-26  Anders Carlsson  <andersca (a] gnome.org>
   8927 
   8928 	* AUTHORS: Reveal my True identity.
   8929 
   8930 2003-12-17  Mikael Hallendal  <micke (a] imendio.com>
   8931 
   8932 	* dbus/dbus-message.c: (dbus_message_append_args_valist): 
   8933 	- Added case for DBUS_TYPE_BYTE, patch from Johan Hedberg.
   8934 
   8935 2003-12-13  Mikael Hallendal  <micke (a] imendio.com>
   8936 
   8937 	* doc/TODO: Added not about better error check of configuration files.
   8938 
   8939 2003-12-02  Richard Hult  <richard (a] imendio.com>
   8940 
   8941 	* Update AFL version to 2.0 throughout the source files to reflect
   8942 	the update that was done a while ago.
   8943 
   8944 2003-12-02  Richard Hult  <richard (a] imendio.com>
   8945 
   8946 	* dbus/dbus-message.c (dbus_message_iter_append_dict): Set
   8947 	wrote_dict_key to FALSE on the iter that the dict is appended to,
   8948 	just like when appending other types. Fixes a bug where a dict
   8949 	couldn't be put inside a dict.
   8950 	(dbus_message_iter_append_dict_key): Fix typo in warning message.
   8951 	(message_iter_test, _dbus_message_test): Add test case for dict
   8952 	inside dict.
   8953 
   8954 2003-12-01  David Zeuthen  <david (a] fubar.dk>
   8955 
   8956 	* python/dbus.py: Add the actual message when calling the reciever
   8957 	of a signal such that parameters can be inspected. Add the method
   8958 	remove_signal_receiver
   8959 	
   8960 2003-11-26  Mikael Hallendal  <micke (a] imendio.com>
   8961 
   8962 	* bus/*.[ch]:
   8963 	* dbus/*.[ch]:
   8964 	* glib/*.[ch]: Made ref functions return the pointer
   8965 
   8966 2003-11-25  Zack Rusin  <zack (a] kde.org>
   8967 
   8968 	* qt/integrator.h, qt/integrator.cpp: Adding handling of DBusServer,
   8969 
   8970 	* qt/server.h, qt/server.cpp, qt/Makefile.am: Adding DBusServer 
   8971 	wrappers,
   8972 
   8973 	* qt/connection.h, qt/connection.cpp: Adjusting to changes in 
   8974 	the Integrator and to better fit with the server,
   8975 
   8976 2003-11-24  Zack Rusin  <zack (a] kde.org>
   8977 
   8978 	* qt/connection.h, qt/connection.cpp: removing initDbus method since
   8979 	the integrator handles it now
   8980 
   8981 	* qt/integrator.h, qt/integrator.cpp: reworking handling of timeouts,
   8982 	since QTimer wasn't really meant to be used the way DBusTimeout is
   8983 
   8984 2003-11-24  Zack Rusin  <zack (a] kde.org>
   8985 
   8986 	* qt/integrator.h, qt/integrator.cpp, Makefile.am: Adding 
   8987 	Integrator class which integrates D-BUS with the Qt event loop,
   8988 
   8989 	* qt/connection.h, qt/connection.cpp: Move all the code which
   8990 	was dealing with D-BUS integration to the Integrator class,
   8991 	and start using Integrator,
   8992 
   8993 2003-11-23  Zack Rusin  <zack (a] kde.org>
   8994 
   8995 	* qt/connection.h, qt/connection.cpp: Adding the DBusConnection 
   8996 	wrapper
   8997 
   8998 	* qt/message.h, qt/message.cpp: updating to the current D-BUS api,
   8999 	switching namespaces to DBusQt, reworking the class,
   9000 
   9001 	* Makefile.cvs: switching dependencies so that it matches KDE 
   9002 	schematics,
   9003 	
   9004 	* qt/Makefile.am: adding connection.{h,cpp} and message.{h,cpp} to 
   9005 	the library
   9006 
   9007 2003-11-19  Havoc Pennington  <hp (a] redhat.com>
   9008 
   9009 	* NEWS: update
   9010 
   9011         * configure.in: bump version to 0.20
   9012 
   9013 	* configure.in (have_qt): add yet another place to look for qt
   9014 	(someone hand trolltech a .pc file...)
   9015 
   9016 2003-11-01  Havoc Pennington  <hp (a] redhat.com>
   9017 
   9018 	* doc/dbus-specification.xml: add state machine docs on the auth
   9019 	protocol; just a first draft, I'm sure it's wrong.	
   9020 
   9021 2003-10-28  David Zeuthen  <david (a] fubar.dk>
   9022 
   9023 	* python/dbus_bindings.pyx.in: add get_dict to handle dictionaries
   9024 	return types. Fixup TYPE_* to reflect changes in dbus/dbus-protocol.h
   9025 	
   9026 2003-10-28  Havoc Pennington  <hp (a] redhat.com>
   9027 
   9028 	* dbus/dbus-message.c (get_next_field): delete unused function
   9029 
   9030 2003-10-28  Havoc Pennington  <hp (a] redhat.com>
   9031 
   9032 	* bus/expirelist.c (do_expiration_with_current_time): detect
   9033 	failure of the expire_func due to OOM
   9034 
   9035 	* bus/connection.c (bus_pending_reply_expired): return FALSE on OOM
   9036 
   9037 	* bus/dispatch.c (check_send_exit_to_service): fix to handle the
   9038 	NoReply error that's now created by the bus when the service exits
   9039 
   9040 2003-10-28  Havoc Pennington  <hp (a] redhat.com>
   9041 
   9042 	* dbus/dbus-message.c (_dbus_message_test): enable and fix the
   9043 	tests for set_path, set_interface, set_member, etc.
   9044 
   9045 	* dbus/dbus-string.c (_dbus_string_insert_bytes): allow 0 bytes
   9046 
   9047 	* dbus/dbus-message.c (set_string_field): always just delete and
   9048 	re-append the field; accept NULL for deletion
   9049 	(re_align_fields_recurse): reimplement
   9050 	
   9051 2003-10-26  Havoc Pennington  <hp (a] redhat.com>
   9052 
   9053 	* dbus/dbus-connection.c: fix docs to properly describe the
   9054 	disconnected message
   9055 	(_dbus_connection_notify_disconnected): remove this function; 
   9056 	we can't synchronously add the disconnected message, we have to 
   9057 	do it after we've queued any remaining real messages
   9058 	(_dbus_connection_get_dispatch_status_unlocked): queue the
   9059 	disconnect message only if the transport has finished queueing all
   9060 	its real messages and is disconnected.
   9061 	(dbus_connection_disconnect): update the dispatch status here
   9062 
   9063 2003-10-22  Havoc Pennington  <hp (a] redhat.com>
   9064 
   9065 	* bus/bus.c (bus_context_check_security_policy): fix up assertion
   9066 
   9067 	* bus/connection.c (bus_transaction_send_from_driver): set the
   9068 	destination to the connection's base service
   9069 
   9070 2003-10-20  Havoc Pennington  <hp (a] redhat.com>
   9071 
   9072         hmm, make check is currently not passing.
   9073 	
   9074 	* doc/dbus-specification.xml: add requirement that custom type
   9075 	names follow the same rules as interface names.
   9076 
   9077 	* dbus/dbus-protocol.h: change some of the byte codes, to avoid
   9078 	duplication and allow 'c' to be 'custom'; dict is now 'm' for
   9079 	'map'
   9080 
   9081 	* doc/dbus-specification.xml: update type codes to match
   9082 	dbus-protocol.h, using the ASCII byte values. Rename type NAMED to
   9083 	CUSTOM. Add type OBJECT_PATH to the spec.
   9084 
   9085 2003-10-17  Havoc Pennington  <hp (a] redhat.com>
   9086 
   9087 	* bus/driver.c (create_unique_client_name): use "." as separator
   9088 	in base service names instead of '-'
   9089 
   9090 	* dbus/dbus-string.c (_dbus_string_get_byte): allow getting nul
   9091 	byte at the end of the string
   9092 
   9093 	* dbus/dbus-internals.h (_DBUS_LIKELY, _DBUS_UNLIKELY): add
   9094 	optimization macros since string validation seems to be a slow
   9095 	point.
   9096 	
   9097 	* doc/dbus-specification.xml: restrict valid
   9098 	service/interface/member/error names. Add test suite code for the
   9099 	name validation.
   9100 
   9101 	* dbus/dbus-string.c: limit service/interface/member/error names 
   9102 	to [0-9][A-Z][a-z]_
   9103 
   9104 	* dbus/dbus-connection.c (dbus_connection_dispatch): add missing
   9105 	format arg to verbose spew
   9106 
   9107 	* glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): if not out of
   9108 	memory, return instead of g_error
   9109 
   9110 	* test/test-service.c (path_message_func): support emitting a
   9111 	signal on request
   9112 
   9113 	* dbus/dbus-bus.c (init_connections_unlocked): only fill in
   9114 	activation bus type if DBUS_BUS_ACTIVATION was set; default to
   9115 	assuming the activation bus was the session bus so that services
   9116 	started manually will still register.
   9117 	(init_connections_unlocked): fix so that in OOM situation we get
   9118 	the same semantics when retrying the function
   9119 	
   9120 	* test/test-service.c (main): change to use path registration, to
   9121 	test those codepaths; register with DBUS_BUS_ACTIVATION rather
   9122 	than DBUS_BUS_SESSION
   9123 
   9124 2003-10-16  Havoc Pennington  <hp (a] redhat.com>
   9125 
   9126 	* glib/dbus-gtest-main.c: bracket with #ifdef DBUS_BUILD_TESTS
   9127 
   9128 	* Makefile.am (GCOV_DIRS): remove "test", we don't care about test
   9129 	coverage of the tests
   9130 	(coverage-report.txt): don't move the .da and .bbg files around
   9131 
   9132 2003-10-16  Havoc Pennington  <hp (a] redhat.com>
   9133 
   9134 	* bus/bus.c (struct BusContext): remove struct field I didn't mean
   9135 	to put there
   9136 
   9137 2003-10-16  Havoc Pennington  <hp (a] redhat.com>
   9138 
   9139 	* bus/connection.c (bus_pending_reply_expired): either cancel or
   9140 	execute, not both
   9141 	(bus_connections_check_reply): use unlink, not remove_link, as we
   9142 	don't want to free the link; fixes double free mess
   9143 
   9144 	* dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case
   9145 	where no reply was received
   9146 
   9147 	* dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock):
   9148 	fix a refcount leak
   9149 
   9150 	* bus/signals.c (match_rule_matches): add special cases for the
   9151 	bus driver, so you can match on sender/destination for it.
   9152 
   9153 	* dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if
   9154 	DBUS_PRINT_BACKTRACE is set
   9155 
   9156 	* dbus/dbus-internals.c: add pid to assertion failure messages
   9157 
   9158 	* dbus/dbus-connection.c: add message type code to the debug spew
   9159 
   9160 	* glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want
   9161 	sender=foo not service=foo
   9162 
   9163 	* dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the
   9164 	session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use 
   9165 	DBUS_ACTIVATION_ADDRESS instead
   9166 
   9167 	* bus/activation.c: set DBUS_SESSION_BUS_ADDRESS,
   9168 	DBUS_SYSTEM_BUS_ADDRESS if appropriate
   9169 
   9170 	* bus/bus.c (bus_context_new): handle OOM copying bus type into
   9171 	context struct
   9172 
   9173 	* dbus/dbus-message.c (dbus_message_iter_get_object_path): new function
   9174 	(dbus_message_iter_get_object_path_array): new function (half
   9175 	finished, disabled for the moment)
   9176 	
   9177 	* glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle
   9178 	DBUS_MESSAGE_TYPE_ERROR
   9179 
   9180 	* tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to
   9181 	avoid redirecting stderr to /dev/null
   9182 	(babysit): close stdin if not doing the "exit_with_session" thing
   9183 
   9184 	* dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover
   9185 	debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not
   9186 	stdout/stdin, so things don't get confused
   9187 	
   9188 	* bus/system.conf.in: fix to allow replies, I modified .conf
   9189 	instead of .conf.in again.
   9190 
   9191 2003-10-14  David Zeuthen  <david (a] fubar.dk>
   9192 
   9193 	* python/dbus_bindings.pyx.in (MessageIter.get): fixed typo in
   9194 	argtype to arg_type when raising unknown arg type exception.
   9195 	Changed type list to reflect the changes in dbus-protocol.h so 
   9196 	the bindings actually work.
   9197 
   9198 2003-10-14  Havoc Pennington  <hp (a] redhat.com>
   9199 
   9200 	* test/decode-gcov.c: support gcc 3.3 also, though gcc 3.3 seems
   9201 	to have a bug keeping it from outputting the .da files sometimes
   9202 	(string_get_string): don't append garbage nul bytes to the string.
   9203 
   9204 2003-10-15  Seth Nickell  <seth (a] gnome.org>
   9205 
   9206 	* python/Makefile.am:
   9207 
   9208 	Include dbus_h_wrapper.h in the dist tarball.
   9209 
   9210 2003-10-14  Havoc Pennington  <hp (a] redhat.com>
   9211 
   9212 	* bus/bus.c (bus_context_check_security_policy): revamp this to
   9213 	work more sanely with new policy-based requested reply setup
   9214 
   9215 	* bus/connection.c (bus_transaction_send_from_driver): set bus
   9216 	driver messages as no reply
   9217 
   9218 	* bus/policy.c (bus_client_policy_check_can_receive): handle a
   9219 	requested_reply attribute on allow/deny rules
   9220 
   9221 	* bus/system.conf: add <allow requested_reply="true"/>
   9222 
   9223 	* bus/driver.c (bus_driver_handle_message): fix check for replies
   9224 	sent to the bus driver, which was backward. How did this ever work
   9225 	at all though? I think I'm missing something.
   9226 
   9227 	* dbus/dbus-message.c (decode_header_data): require error and
   9228 	method return messages to have a reply serial field to be valid
   9229 	(_dbus_message_loader_queue_messages): break up this function;
   9230 	validate that reply serial and plain serial are nonzero; 
   9231 	clean up the OOM/error handling.
   9232 	(get_uint_field): don't return -1 from this
   9233 	(dbus_message_create_header): fix signed/unsigned bug
   9234 
   9235 	* bus/connection.c (bus_connections_expect_reply): save serial of
   9236 	the incoming message, not reply serial
   9237 
   9238 2003-10-14  Havoc Pennington  <hp (a] redhat.com>
   9239 
   9240 	* bus/connection.c: implement pending reply tracking using
   9241 	BusExpireList
   9242 
   9243 	* bus/bus.c (bus_context_check_security_policy): verify that a
   9244 	reply is pending in order to allow a reply to be sent. Deny 
   9245 	messages of unknown type.
   9246 
   9247 	* bus/dbus-daemon-1.1.in: update to mention new resource limits
   9248 
   9249 	* bus/bus.c (bus_context_get_max_replies_per_connection): new
   9250 	(bus_context_get_reply_timeout): new
   9251 
   9252 2003-10-13  Seth Nickell  <seth (a] gnome.org>
   9253 
   9254 	* python/Makefile.am:
   9255 
   9256 	Pass "make distcheck": remove a couple files from DIST_FILES
   9257 	that weren't included in the final version.
   9258 
   9259 2003-10-12  Havoc Pennington  <hp (a] pobox.com>
   9260 
   9261         Added test code that 1) starts an actual bus daemon and 2) uses
   9262 	DBusGProxy; fixed bugs that were revealed by the test. Lots 
   9263 	more testing possible, but this is the basic framework.
   9264 	
   9265 	* glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove
   9266 	empty proxy lists from the proxy list hash
   9267 
   9268 	* dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a
   9269 	couple of return_if_fail checks
   9270 
   9271 	* dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0
   9272 	to allocate, so everything is cleared to NULL as it should be.
   9273 
   9274 	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass
   9275 	source as data to dbus_connection_set_timeout_functions() as the 
   9276 	timeout functions expected
   9277 
   9278 	* test/glib/run-test.sh: add a little script to start up a message
   9279 	bus and run tests using it
   9280 
   9281 	* tools/dbus-launch.1: updates
   9282 
   9283 	* tools/dbus-launch.c (main): add --config-file option
   9284 
   9285 	* tools/dbus-launch.c (main): remove confusing else if (runprog)
   9286 	that could never be reached.
   9287 
   9288 	* dbus/dbus-message.c (dbus_message_new_method_return) 
   9289 	(dbus_message_new_error, dbus_message_new_signal): set the
   9290 	no-reply-expected flag on all these. Redundant, but may
   9291 	as well be consistent.
   9292 
   9293 2003-10-11  Havoc Pennington  <hp (a] pobox.com>
   9294 
   9295 	* test/decode-gcov.c (function_solve_graph): make broken block
   9296 	graph a nonfatal error since it seems to be broken. Need to debug
   9297 	this.
   9298 
   9299 	* dbus/dbus-marshal.c (_dbus_type_is_valid): new function since we
   9300 	can't just check type > INVALID < LAST anymore
   9301 
   9302 	* dbus/dbus-message.c (dbus_message_get_signature): new function
   9303 	(dbus_message_has_signature): new function
   9304 	(struct DBusMessage): add signature field (right now it isn't sent
   9305 	over the wire, just generated on the fly)
   9306 	(dbus_message_copy): copy the signature, and init strings to
   9307 	proper length to avoid some reallocs
   9308 	(dbus_message_iter_init_array_iterator): return void, since it
   9309 	can't fail
   9310 	(dbus_message_iter_init_dict_iterator): return void since it can't fail
   9311 	(_dbus_message_loader_queue_messages): add silly temporary hack to
   9312 	fill in message->signature on load
   9313 
   9314 	* dbus/dbus-protocol.h: change DBUS_TYPE_* values to be ASCII
   9315 	characters, so they are relatively human-readable.
   9316 
   9317 2003-10-11  Havoc Pennington  <hp (a] pobox.com>
   9318 
   9319 	* dbus/dbus-message.c (_dbus_message_test): add more test
   9320 	coverage, but #if 0 for now since they uncover a bug 
   9321 	not fixed yet; I think in re_align_field_recurse()
   9322 	(re_align_field_recurse): add FIXME about broken assertion
   9323 
   9324 	* dbus/dbus-sysdeps.c (_dbus_sysdeps_test): add more test coverage
   9325 
   9326 	* bus/connection.c: share a couple code bits with expirelist.c
   9327 
   9328 	* bus/expirelist.h, bus/expirelist.c: implement a generic
   9329 	expire-items-after-N-seconds facility, was going to share between
   9330 	expiring connections and replies, decided not to use for expiring
   9331 	connections for now.
   9332 
   9333 	* COPYING: include AFL 2.0 (still need to change all the file headers)
   9334 
   9335 2003-10-09  Havoc Pennington  <hp (a] redhat.com>
   9336 
   9337 	* configure.in: define DBUS_HAVE_GCC33_GCOV if we have
   9338 	gcc 3.3. Not that we do anything about it yet.
   9339 
   9340 	* bus/signals.c (bus_match_rule_parse): impose max length on the
   9341 	match rule text
   9342 
   9343 	* dbus/dbus-protocol.h: add DBUS_MAXIMUM_MATCH_RULE_LENGTH
   9344 
   9345 2003-10-09  Havoc Pennington  <hp (a] redhat.com>
   9346 
   9347         Make matching rules theoretically work (add parser).
   9348 	
   9349 	* bus/bus.c (bus_context_check_security_policy): fix up to handle
   9350 	the case where destination is explicitly specified as bus driver
   9351 	and someone else is eavesdropping.
   9352 	
   9353 	* bus/policy.c (bus_client_policy_check_can_receive): fix up
   9354 	definition of eavesdropping and assertion
   9355 
   9356 	* tools/dbus-send.c (main): use dbus_message_type_from_string
   9357 
   9358 	* bus/signals.c (bus_match_rule_parse): implement
   9359 
   9360 	* dbus/dbus-message.c (dbus_message_type_from_string): new
   9361 
   9362 	* dbus/dbus-errors.h (DBUS_ERROR_MATCH_RULE_INVALID): add
   9363 
   9364 2003-10-02  Havoc Pennington  <hp (a] pobox.com>
   9365 
   9366 	* glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): rename from
   9367 	dbus_gproxy_oneway_call
   9368 
   9369 	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main) 
   9370 	(dbus_server_setup_with_g_main): fix to allow calling them more
   9371 	than once on the same args
   9372 	(dbus_bus_get_with_g_main): new function
   9373 
   9374 2003-10-02  Havoc Pennington  <hp (a] redhat.com>
   9375 
   9376 	* doc/dbus-tutorial.xml: write some stuff
   9377 
   9378 2003-09-29  Havoc Pennington  <hp (a] pobox.com>
   9379 
   9380 	* configure.in: split checks for Doxygen from XML docs, check for
   9381 	xmlto
   9382 
   9383 	* doc/Makefile.am: XML-ify all the docs, and add a blank
   9384 	dbus-tutorial.xml
   9385 
   9386 2003-09-29  Havoc Pennington  <hp (a] pobox.com>
   9387 
   9388 	* Merge dbus-object-names branch. To see the entire patch 
   9389 	do cvs diff -r DBUS_OBJECT_NAMES_BRANCHPOINT -r dbus-object-names,
   9390 	it's huuuuge though.
   9391 	To revert, I tagged DBUS_BEFORE_OBJECT_NAMES_MERGE.
   9392 	
   9393 2003-09-28  Havoc Pennington  <hp (a] pobox.com>
   9394 
   9395 	* HACKING: update to reflect new server
   9396 
   9397 2003-09-26  Seth Nickell  <seth (a] gnome.org>
   9398 
   9399 	* python/dbus.py:
   9400 	* python/examples/example-signals.py:
   9401 
   9402 	Start implementing some notions of signals. The API
   9403 	is really terrible, but they sort of work (with the
   9404 	exception of being able to filter by service, and to
   9405 	transmit signals *as* a particular service). Need to
   9406 	figure out how to make messages come from the service
   9407 	we registered :-(
   9408 	
   9409 	* python/dbus_bindings.pyx.in:
   9410 
   9411 	Removed duplicate message_handler callbacks.
   9412 	
   9413 2003-09-25  Havoc Pennington  <hp (a] redhat.com>
   9414 
   9415 	* bus/session.conf.in: fix my mess
   9416 
   9417 2003-09-25  Havoc Pennington  <hp (a] pobox.com>
   9418 
   9419 	* bus/session.conf.in: fix security policy, reported by Seth Nickell
   9420 
   9421 2003-09-25  Seth Nickell  <seth (a] gnome.org>
   9422 
   9423 	* python/examples/example-service.py:
   9424 
   9425 	Johan notices complete wrong code in example-service, but
   9426 	completely wrong in a way that works exactly the same (!).
   9427 	Johan is confused, how could this possibly work? Example
   9428 	code fails to serve purpose of making things clear.
   9429 	Seth fixes.
   9430 
   9431 2003-09-25  Mark McLoughlin  <mark (a] skynet.ie>
   9432 
   9433 	* doc/dbus-specification.sgml: don't require header fields
   9434 	to be 4-byte aligned and specify that fields should be
   9435 	distinguished from padding by the fact that zero is not
   9436 	a valid field name.
   9437 	
   9438 	* doc/TODO: remove re-alignment item and add item to doc
   9439 	the OBJECT_PATH type.
   9440 	
   9441 	* dbus/dbus-message.c:
   9442 	(HeaderField): rename the original member to value_offset
   9443 	and introduce a name_offset member to keep track of where
   9444 	the field actually begins.
   9445 	(adjust_field_offsets): remove.
   9446 	(append_int_field), (append_uint_field),
   9447 	(append_string_field): don't align the start of the header
   9448 	field to a 4-byte boundary.
   9449 	(get_next_field): impl finding the next marhsalled field
   9450 	after a given field.
   9451 	(re_align_field_recurse): impl re-aligning a number of
   9452 	already marshalled fields.
   9453 	(delete_field): impl deleting a field of any type and
   9454 	re-aligning any following fields.
   9455 	(delete_int_or_uint_field), (delete_string_field): remove.
   9456 	(set_int_field), (set_uint_field): no need to re-check
   9457 	that we have the correct type for the field.
   9458 	(set_string_field): ditto and impl re-aligning any
   9459 	following fields.
   9460 	(decode_header_data): update to take into account that
   9461 	the fields aren't 4-byte aligned any more and the new
   9462 	way to distinguish padding from header fields. Also,
   9463 	don't exit when there is too much header padding.
   9464 	(process_test_subdir): print the directory.
   9465 	(_dbus_message_test): add test to make sure a following
   9466 	field is re-aligned correctly after field deletion.
   9467 	
   9468 	* dbus/dbus-string.[ch]:
   9469 	(_dbus_string_insert_bytes): rename from insert_byte and
   9470 	allow the insert of multiple bytes.
   9471 	(_dbus_string_test): test inserting multiple bytes.
   9472 
   9473 	* dbus/dbus-marshal.c: (_dbus_marshal_set_string): add
   9474 	warning note to docs about having to re-align any
   9475 	marshalled values following the string.
   9476 	
   9477 	* dbus/dbus-message-builder.c:
   9478 	(append_string_field), (_dbus_message_data_load):
   9479 	don't align the header field.
   9480 	
   9481 	* dbus/dbus-auth.c: (process_test_subdir): print the
   9482 	directory.
   9483 	
   9484 	* test/break-loader.c: (randomly_add_one_byte): upd. for
   9485 	insert_byte change.
   9486 	
   9487 	* test/data/invalid-messages/bad-header-field-alignment.message:
   9488 	new test case.
   9489 	
   9490 	* test/data/valid-messages/unknown-header-field.message: shove
   9491 	a dict in the unknown field.
   9492 
   9493 2003-09-25  Seth Nickell  <seth (a] gnome.org>
   9494 
   9495 	* python/dbus.py:
   9496 	* python/dbus_bindings.pyx.in:
   9497 
   9498 	Handle return values.
   9499 	
   9500 	* python/examples/example-client.py:
   9501 	* python/examples/example-service.py:
   9502 
   9503 	Pass back return values from the service to the client.
   9504 	
   9505 2003-09-24  Seth Nickell  <seth (a] gnome.org>
   9506 
   9507 	* python/dbus.py:
   9508 
   9509 	Connect Object methods (when you are sharing an object) up... pass
   9510 	in a list of methods to be shared. Sharing all the methods just
   9511 	worked out too weird. You can now create nice Services over the
   9512 	DBus in Python. :-)
   9513 	
   9514 	* python/dbus_bindings.pyx.in:
   9515 
   9516 	Keep references to user_data tuples passed into C functions so 
   9517 	Python doesn't garbage collect on us.
   9518 
   9519 	Implement MethodReturn and Error subclasses of Message for creating
   9520 	DBusMessage's of those types.
   9521 	
   9522 	* python/examples/example-client.py:
   9523 	* python/examples/example-service.py:
   9524 
   9525 	Simple example code showing both how create DBus services and objects,
   9526 	and how to use them.
   9527 
   9528 2003-09-23  Havoc Pennington  <hp (a] pobox.com>
   9529 
   9530 	* glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement
   9531 
   9532 2003-09-23  Havoc Pennington  <hp (a] redhat.com>
   9533 
   9534 	* glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement
   9535 	(dbus_gproxy_disconnect_signal): implement
   9536 	(dbus_gproxy_manager_remove_signal_match): implement
   9537 	(dbus_gproxy_manager_add_signal_match): implement
   9538 	(dbus_gproxy_oneway_call): implement
   9539 
   9540 2003-09-23  Havoc Pennington  <hp (a] pobox.com>
   9541 
   9542 	* glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject
   9543 	subclass. This means dropping the transparent thread safety of the
   9544 	proxy; you now need a separate proxy per-thread, or your own
   9545 	locking on the proxy. Probably right anyway.
   9546 	(dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref
   9547 
   9548 2003-09-22  Havoc Pennington  <hp (a] redhat.com>
   9549 
   9550 	* glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement
   9551 
   9552 2003-09-21  Seth Nickell  <seth (a] gnome.org>
   9553 
   9554         First checkin of the Python bindings.
   9555 	
   9556 	* python/.cvsignore:
   9557 	* python/Makefile.am:
   9558 	* python/dbus_bindings.pyx.in:
   9559 	* python/dbus_h_wrapper.h:
   9560 
   9561 	Pieces for Pyrex to operate on, building a dbus_bindings.so
   9562 	python module for low-level access to the DBus APIs.
   9563 	
   9564 	* python/dbus.py:
   9565 
   9566 	High-level Python module for accessing DBus objects.
   9567 
   9568 	* configure.in:
   9569 	* Makefile.am:
   9570 
   9571 	Build stuff for the python bindings.
   9572 
   9573 	* acinclude.m4:
   9574 
   9575 	Extra macro needed for finding the Python C header files.
   9576 
   9577 2003-09-21  Havoc Pennington  <hp (a] pobox.com>
   9578 
   9579 	* glib/dbus-gproxy.c (dbus_gproxy_manager_new): start
   9580 	implementing the proxy manager, didn't get very far.
   9581 
   9582 	* dbus/dbus-bus.c (dbus_bus_add_match): new
   9583 	(dbus_bus_remove_match): new
   9584 
   9585 	* glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a
   9586 	path_name argument; adjust the other not-yet-implemented 
   9587 	gproxy constructors to be what I think they should be.
   9588 
   9589 2003-09-21  Havoc Pennington  <hp (a] pobox.com>
   9590 
   9591 	* dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE
   9592 	by default for message bus connections.
   9593 
   9594 	* dbus/dbus-connection.c (dbus_connection_dispatch): exit if
   9595 	exit_on_disconnect flag is set and we process the disconnected
   9596 	signal.
   9597 	(dbus_connection_set_exit_on_disconnect): new function
   9598 
   9599 2003-09-21  Havoc Pennington  <hp (a] pobox.com>
   9600 
   9601 	Get matching rules mostly working in the bus; only actually
   9602 	parsing the rule text remains. However, the client side of
   9603 	"signal connections" hasn't been started, this patch is only the
   9604 	bus side.
   9605 	
   9606 	* dbus/dispatch.c: fix for the matching rules changes
   9607 	
   9608 	* bus/driver.c (bus_driver_handle_remove_match)
   9609 	(bus_driver_handle_add_match): send an ack reply from these
   9610 	method calls
   9611 
   9612 	* glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of
   9613 	arguments, reported by Seth Nickell
   9614 
   9615 	* bus/config-parser.c (append_rule_from_element): support
   9616 	eavesdrop=true|false attribute on policies so match rules 
   9617 	can be prevented from snooping on the system bus.
   9618 
   9619 	* bus/dbus-daemon-1.1.in: consistently use terminology "sender"
   9620 	and "destination" in attribute names; fix some docs bugs; 
   9621 	add eavesdrop=true|false attribute
   9622 
   9623 	* bus/driver.c (bus_driver_handle_add_match)
   9624 	(bus_driver_handle_remove_match): handle AddMatch, RemoveMatch
   9625 	messages
   9626 
   9627 	* dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get
   9628 	rid of broadcast service concept, signals are just always broadcast
   9629 
   9630 	* bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c:
   9631 	mostly implement matching rules stuff (currently only exposed as signal
   9632 	connections)
   9633 
   9634 2003-09-21  Mark McLoughlin  <mark (a] skynet.ie>
   9635 
   9636 	* doc/dbus-specification.sgml: Change the header field name
   9637 	to be an enum and update the rest of the spec to reference
   9638 	the fields using the conventinal name.
   9639 
   9640 	* dbus/dbus-protocol.h: update to reflect the spec.
   9641 
   9642 	* doc/TODO: add item to remove the 4 byte alignment requirement.
   9643 	
   9644 	* dbus/dbus-message.c: Remove the code to generalise the
   9645 	header/body length and serial number header fields as named
   9646 	header fields so we can reference field names using the 
   9647 	protocol values.
   9648 	(append_int_field), (append_uint_field), (append_string_field):
   9649 	Append the field name as a byte rather than four chars.
   9650 	(delete_int_or_uint_field), (delete_string_field): reflect the
   9651 	fact that the field name and typecode now occupy 4 bytes instead
   9652 	of 8.
   9653 	(decode_string_field), (decode_header_data): update to reflect
   9654 	protocol changes and move the field specific encoding from
   9655 	decode_string_field() back into decode_header_data().
   9656 	
   9657 	* dbus/dbus-internals.[ch]: (_dbus_header_field_to_string):
   9658 	Add utility to aid debugging.
   9659 	
   9660 	* dbus/dbus-message-builder.c:
   9661 	(append_string_field), (_dbus_message_data_load): Update to
   9662 	reflect protocol changes; Change the FIELD_NAME directive
   9663 	to HEADER_FIELD and allow it to take the field's conventional
   9664 	name rather than the actual value.
   9665 	
   9666 	* test/data/*/*.message: Update to use HEADER_FIELD instead
   9667 	of FIELD_NAME; Always align the header on an 8 byte boundary
   9668 	*before* updating the header length.
   9669 
   9670 2003-09-15  Havoc Pennington  <hp (a] pobox.com>
   9671 
   9672 	* dbus/dbus-pending-call.c: add the get/set object data
   9673 	boilerplate as for DBusConnection, etc. Use generic object data
   9674 	for the notify callback.
   9675 
   9676 	* glib/dbus-gparser.c (parse_node): parse child nodes
   9677 
   9678 	* tools/dbus-viewer.c: more hacking on the dbus-viewer
   9679 	
   9680 	* glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to
   9681 	contain functions shared between the convenience lib and the
   9682 	installed lib
   9683 
   9684 	* glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add
   9685 	-export-symbols-regex to the GLib library
   9686 
   9687 	* dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock):
   9688 	fix the locking in here, and add a default handler for
   9689 	Introspect() that just returns sub-nodes.
   9690 
   9691 2003-09-14  Havoc Pennington  <hp (a] pobox.com>
   9692 
   9693 	* glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo
   9694 	rather than gfoo consistent
   9695 
   9696 	* glib/dbus-gproxy.h: delete for now, move contents to
   9697 	dbus-glib.h, because the include files don't work right since we
   9698 	aren't in the dbus/ subdir.
   9699 	
   9700 	* glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing
   9701 	(dbus_gproxy_end_call): finish
   9702 	(dbus_gproxy_begin_call): finish
   9703 
   9704 	* glib/dbus-gmain.c (dbus_set_g_error): new
   9705 
   9706 	* glib/dbus-gobject.c (handle_introspect): include information
   9707 	about child nodes in the introspection
   9708 
   9709 	* dbus/dbus-connection.c (dbus_connection_list_registered): new
   9710 	function to help in implementation of introspection
   9711 
   9712 	* dbus/dbus-object-tree.c
   9713 	(_dbus_object_tree_list_registered_and_unlock): new function
   9714 
   9715 2003-09-12  Havoc Pennington  <hp (a] pobox.com>
   9716 
   9717 	* glib/dbus-gidl.h: add common base class for all the foo_info
   9718 	types
   9719 
   9720         * tools/dbus-viewer.c: add GTK-based introspection UI thingy
   9721 	similar to kdcop
   9722 
   9723 	* test/Makefile.am: try test srcdir -ef . in addition to test
   9724 	srcdir = ., one of them should work (yeah lame)
   9725 	
   9726         * glib/Makefile.am: build the "idl" parser stuff as a convenience
   9727 	library
   9728 	
   9729 	* glib/dbus-gparser.h: make description_load routines return
   9730 	NodeInfo* not Parser*
   9731 
   9732 	* Makefile.am (SUBDIRS): build test dir after all library dirs
   9733 
   9734 	* configure.in: add GTK+ detection
   9735 
   9736 2003-09-07  Havoc Pennington  <hp (a] pobox.com>
   9737 
   9738 	* Make Doxygen contented.
   9739 
   9740 2003-09-07  Havoc Pennington  <hp (a] pobox.com>
   9741 
   9742 	* doc/dbus-specification.sgml: more updates
   9743 
   9744 2003-09-06  Havoc Pennington  <hp (a] pobox.com>
   9745 
   9746 	* doc/dbus-specification.sgml: partial updates
   9747 
   9748 	* bus/dbus-daemon-1.1.in: fix the config file docs for the
   9749 	zillionth time; hopefully I edited the right file this time.
   9750 
   9751 	* bus/config-parser.c (append_rule_from_element): support
   9752 	send_type, send_path, receive_type, receive_path
   9753 
   9754 	* bus/policy.c: add message type and path to the list of things
   9755 	that can be "firewalled"
   9756 
   9757 2003-09-06  Havoc Pennington  <hp (a] pobox.com>
   9758 
   9759 	* dbus/dbus-connection.c (dbus_connection_register_fallback): add this
   9760 	(dbus_connection_register_object_path): make this not handle
   9761 	messages to paths below the given path
   9762 
   9763 2003-09-03  Havoc Pennington  <hp (a] pobox.com>
   9764 
   9765 	* test/glib/Makefile.am: add this with random glib-linked test
   9766 	programs
   9767 
   9768 	* glib/Makefile.am: remove the random test programs from here,
   9769 	leave only the unit tests
   9770 
   9771 	* glib/dbus-gobject.c (_dbus_gobject_test): add test for 
   9772 	uscore/javacaps conversion, and fix	
   9773 	(get_object_property, set_object_property): change to .NET
   9774 	convention for mapping props to methods, set_FooBar/get_FooBar, 
   9775 	since one language has such a convention we may as well copy it. 
   9776 	Plus real methods in either getFooBar or get_foo_bar style won't 
   9777 	collide with this convention.
   9778 
   9779 2003-09-01  Havoc Pennington  <hp (a] pobox.com>
   9780 
   9781 	* glib/dbus-gparser.c: implement
   9782 
   9783 	* glib/dbus-gobject.c: start implementing skeletons support
   9784 
   9785 	* configure.in: when disabling checks/assert, also define
   9786 	G_DISABLE_ASSERT and G_DISABLE_CHECKS
   9787 
   9788 2003-09-01  Havoc Pennington  <hp (a] pobox.com>
   9789 
   9790 	* glib/Makefile.am: rearrange a bunch of files and get "make
   9791 	check" framework set up
   9792 
   9793 2003-08-31  Havoc Pennington  <hp (a] pobox.com>
   9794 
   9795 	* fix build with --disable-tests
   9796 
   9797 2003-08-30  Havoc Pennington  <hp (a] pobox.com>
   9798 
   9799 	* dbus/dbus-connection.c: purge DBusMessageHandler
   9800 
   9801 	* dbus/dbus-message-handler.c: remove DBusMessageHandler, just 
   9802 	use callbacks everywhere
   9803 
   9804 2003-08-30  Havoc Pennington  <hp (a] pobox.com>
   9805 
   9806 	* test/data/valid-config-files/system.d/test.conf: change to 
   9807 	root for the user so warnings don't get printed
   9808 
   9809 	* dbus/dbus-message.c: add dbus_message_get_path,
   9810 	dbus_message_set_path
   9811 	
   9812 	* dbus/dbus-object-tree.c (do_test_dispatch): add test of
   9813 	dispatching to a path
   9814 
   9815 	* dbus/dbus-string.c (_dbus_string_validate_path): add
   9816 
   9817 	* dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement
   9818 	(_dbus_marshal_object_path): implement
   9819 
   9820 	* dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field 
   9821 	to contain the path to the target object
   9822 	(DBUS_HEADER_FIELD_SENDER_SERVICE): rename
   9823 	DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service
   9824 
   9825 2003-08-30  Havoc Pennington  <hp (a] pobox.com>
   9826 
   9827 	* dbus/dbus-object-tree.c: write tests and fix the discovered bugs
   9828 
   9829 2003-08-29  Havoc Pennington  <hp (a] pobox.com>
   9830 
   9831 	* dbus/dbus-object-tree.c: modify to allow overlapping paths to be
   9832 	registered
   9833 	(struct DBusObjectSubtree): shrink this
   9834 	a lot, since we may have a lot of them
   9835 	(_dbus_object_tree_free_all_unlocked): implement
   9836 	(_dbus_object_tree_dispatch_and_unlock): implement
   9837 
   9838 2003-08-29  Havoc Pennington  <hp (a] pobox.com>
   9839 
   9840 	* dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS
   9841 
   9842 2003-08-28  Havoc Pennington  <hp (a] pobox.com>
   9843 
   9844 	purge DBusObjectID
   9845 	
   9846 	* dbus/dbus-connection.c: port to no ObjectID, create a
   9847 	DBusObjectTree, rename ObjectTree to ObjectPath in public API
   9848 
   9849 	* dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete 
   9850 	everything except UnregisterFunction and MessageFunction
   9851 	
   9852 	* dbus/dbus-marshal.c: port away from DBusObjectID, 
   9853 	add DBUS_TYPE_OBJECT_PATH
   9854 	
   9855 	* dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc], 
   9856 	dbus/dbus-objectid.[hc]: remove these, we are moving to 
   9857 	path-based object IDs
   9858 
   9859 2003-08-25  Havoc Pennington  <hp (a] pobox.com>
   9860 
   9861         Just noticed that dbus_message_test is hosed, I wonder when I
   9862 	broke that. I thought make check was passing earlier...
   9863 	
   9864 	* dbus/dbus-object-tree.c: add new "object tree" to match DCOP 
   9865 	container tree, will replace most of dbus-object-registry
   9866 
   9867 	* dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99
   9868 	screwup
   9869 
   9870 2003-08-19  Havoc Pennington  <hp (a] pobox.com>
   9871 
   9872 	* dbus/dbus-message.c (decode_string_field): support FIELD_SENDER
   9873 	(dbus_message_is_error): fix this function
   9874 
   9875 	* bus/dbus-daemon-1.1: clarify logic on when <deny>/<allow> rules
   9876 	match
   9877 
   9878 	* bus/policy.c (bus_client_policy_check_can_receive): fix code to
   9879 	reflect clarified man page
   9880 	(bus_client_policy_check_can_send): ditto
   9881 	
   9882 	* bus/session.conf.in: fixup
   9883 
   9884 	* bus/system.conf.in: fixup
   9885 
   9886 2003-08-18  Havoc Pennington  <hp (a] redhat.com>
   9887 
   9888 	* dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix
   9889 
   9890 	* dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
   9891 	dumb bug created earlier (wrong order of args to
   9892 	decode_header_data())
   9893 	
   9894 	* tools/dbus-send.c: port
   9895 
   9896 	* tools/dbus-print-message.c (print_message): port
   9897 
   9898         * test/data/*messages: port all messages over
   9899 	
   9900         * dbus/dbus-message-builder.c: support including 
   9901 	message type
   9902 	
   9903         * bus/driver.c: port over
   9904 	
   9905 	* bus/dispatch.c: port over to new stuff
   9906 
   9907 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
   9908 	rename disconnect signal to "Disconnected"
   9909 
   9910 2003-08-17  Havoc Pennington  <hp (a] pobox.com>
   9911 
   9912 	This doesn't compile yet, but syncing up so I can hack on it from
   9913 	work. What are branches for if not broken code? ;-)
   9914 	
   9915 	* dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add
   9916 	DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER,
   9917 	DBUS_HEADER_FIELD_ERROR_NAME
   9918 	
   9919 	* dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use
   9920 	for the interface+member pairs
   9921 	(string_hash): change to use g_str_hash algorithm
   9922 	(find_direct_function, find_string_function): refactor these to
   9923 	share most code.
   9924 	
   9925 	* dbus/dbus-message.c: port all of this over to support 
   9926 	interface/member fields instead of name field
   9927 
   9928 	* dbus/dbus-object-registry.c: port over
   9929 	
   9930 	* dbus/dbus-string.c (_dbus_string_validate_interface): rename
   9931 	from _dbus_string_validate_name
   9932 
   9933 	* bus/dbus-daemon-1.1: change file format for the 
   9934 	<deny>/<allow> stuff to match new message naming scheme
   9935 
   9936 	* bus/policy.c: port over
   9937 
   9938 	* bus/config-parser.c: parse new format
   9939 	
   9940 2003-08-16  Havoc Pennington  <hp (a] pobox.com>
   9941 
   9942 	* dbus/dbus-object-registry.c (add_and_remove_objects): remove
   9943 	broken assertion
   9944 
   9945 	* glib/dbus-gproxy.c: some hacking
   9946 
   9947 2003-08-15  Havoc Pennington  <hp (a] redhat.com>
   9948 
   9949 	* dbus/dbus-pending-call.c (dbus_pending_call_block): implement
   9950 
   9951 	* dbus/dbus-connection.c
   9952 	(dbus_connection_send_with_reply_and_block): factor out internals;
   9953 	change to convert any error replies to DBusError instead of 
   9954 	returning them as a message
   9955 
   9956 2003-08-15  Havoc Pennington  <hp (a] pobox.com>
   9957 
   9958 	* dbus/dbus-connection.c, 
   9959 	dbus/dbus-pending-call.c: Finish the pending call stuff
   9960 
   9961 2003-08-14  Havoc Pennington  <hp (a] redhat.com>
   9962 
   9963 	* dbus/dbus-pending-call.c: start on new object that will replace
   9964 	DBusMessageHandler and ReplyHandlerData for tracking outstanding
   9965 	replies
   9966 
   9967 	* dbus/dbus-gproxy.c: start on proxy object used to communicate
   9968 	with remote interfaces
   9969 
   9970 	* dbus/dbus-gidl.c: do the boring boilerplate in here
   9971 	
   9972 2003-08-12  Havoc Pennington  <hp (a] pobox.com>
   9973 
   9974 	* bus/dispatch.c (bus_dispatch): make this return proper 
   9975 	DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD
   9976 
   9977 	* dbus/dbus-errors.c (dbus_set_error): use
   9978 	_dbus_string_append_printf_valist
   9979 
   9980 	* dbus/dbus-string.c (_dbus_string_append_printf_valist)
   9981 	(_dbus_string_append_printf): new
   9982 
   9983 	* dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to
   9984 	UNKNOWN_METHOD
   9985 
   9986 	* dbus/dbus-connection.c (dbus_connection_dispatch): handle
   9987 	DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a
   9988 	message is unhandled.
   9989 
   9990 2003-08-11  Havoc Pennington  <hp (a] pobox.com>
   9991 
   9992 	* bus/test.c (client_disconnect_handler): change to return
   9993 	HANDLED (would have been REMOVE_MESSAGE)
   9994 
   9995 	* dbus/dbus-object.h (enum DBusHandlerResult): rename to
   9996 	HANDLED/NOT_YET_HANDLED instead of
   9997 	REMOVE_MESSAGE/ALLOW_MORE_HANDLERS to make it clearer how it 
   9998 	should be used.
   9999 
   10000 2003-08-10  Havoc Pennington  <hp (a] pobox.com>
   10001 
   10002 	* tools/dbus-send.c (main): add --type argument, for now
   10003 	supporting only method_call and signal types.
   10004 
   10005 	* tools/dbus-print-message.c: print message type
   10006 
   10007 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
   10008 	init connection->objects
   10009 
   10010 	* doc/dbus-specification.sgml: fix sgml
   10011 
   10012 	* bus/*.c: port over to object-instance API changes
   10013 
   10014 	* test/test-service.c: ditto
   10015 	
   10016 	* dbus/dbus-message.c (dbus_message_create_header): allow #NULL
   10017 	name, we will have to fix up the rest of the code to also handle
   10018 	this
   10019 	(dbus_message_new): generic message-creation call
   10020 	(set_string_field): allow appending name field
   10021 
   10022 2003-08-06  Havoc Pennington  <hp (a] pobox.com>
   10023 
   10024 	* dbus/dbus-object-registry.c: implement signal connection 
   10025 	and dispatch
   10026 
   10027 	* dbus/dbus-connection.c (_dbus_connection_unref_unlocked): new
   10028 
   10029 	* dbus/dbus-internals.c (_dbus_memdup): new function
   10030 
   10031 2003-08-02  Havoc Pennington  <hp (a] pobox.com>
   10032 
   10033 	* dbus/dbus-message.c (dbus_message_get_no_reply)
   10034 	(dbus_message_set_no_reply): add these and remove
   10035 	set_is_error/get_is_error
   10036 
   10037 	* dbus/dbus-protocol.h, doc/dbus-specification.sgml: 
   10038 	remove the ERROR flag, since there's now an ERROR type
   10039 
   10040 2003-08-01  Havoc Pennington  <hp (a] pobox.com>
   10041 
   10042 	* dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock):
   10043 	implement
   10044 
   10045 	* dbus/dbus-message.c (dbus_message_get_type): new function
   10046 
   10047 	* doc/dbus-specification.sgml: add "type" byte to messages
   10048 
   10049 2003-08-01  Havoc Pennington  <hp (a] pobox.com>
   10050 
   10051 	* dbus/dbus-protocol.h (DBUS_MESSAGE_TYPE_*): introduce
   10052 	a message type enum to distinguish kinds of message
   10053 	(DBUS_HEADER_FLAG_NO_REPLY_EXPECTED): flag for a message 
   10054 	that need not be replied to
   10055 
   10056 2003-08-01  Havoc Pennington  <hp (a] pobox.com>
   10057 
   10058 	* dbus/dbus-marshal.c: adapt to DBusObjectID changes
   10059 	(unpack_8_octets): fix no-64-bit-int bug
   10060 
   10061 	* dbus/dbus-object-registry.c (validate_id): validate the 
   10062 	connection ID bits, not just the instance ID.
   10063 
   10064 	* dbus/dbus-connection.c (_dbus_connection_init_id): initialize
   10065 	the connection-global 33 bits of the object ID
   10066 
   10067 	* dbus/dbus-object-registry.c (info_from_entry): fill in 
   10068 	object ID in the new way
   10069 
   10070 	* dbus/dbus-objectid.h: rather than high/low bits, specifically 
   10071 	define server/client/instance bits.
   10072 
   10073 2003-07-30  Havoc Pennington  <hp (a] pobox.com>
   10074 
   10075 	* dbus/dbus-connection.c (dbus_connection_register_object): fix
   10076 	build
   10077 
   10078 2003-07-13  Havoc Pennington  <hp (a] pobox.com>
   10079 
   10080 	* dbus/dbus-object.h (struct DBusObjectVTable): add padding
   10081 	fields to DBusObjectVTable and DBusObjectInfo
   10082 
   10083 2003-07-12  Havoc Pennington  <hp (a] pobox.com>
   10084 
   10085 	* dbus/dbus-object-registry.c: implement unit test,
   10086 	fix bugs discovered in process
   10087 
   10088 	* dbus/dbus-connection.c: remove handler_table and
   10089 	register_handler(), add DBusObjectRegistry usage
   10090 
   10091 	* dbus/dbus-objectid.c (dbus_object_id_is_null)
   10092 	(dbus_object_id_set_null): new functions
   10093 
   10094 2003-07-08  Havoc Pennington  <hp (a] pobox.com>
   10095 
   10096 	* dbus/dbus-object.c: implement some of this
   10097 
   10098 	* dbus/dbus-object-registry.c
   10099 	(_dbus_object_registry_add_and_unlock): fill in the object_id out
   10100 	param
   10101 	(_dbus_object_registry_new): handle OOM
   10102 
   10103 2003-07-08  Havoc Pennington  <hp (a] pobox.com>
   10104 
   10105 	* dbus/dbus-object.h: sketch out an API for registering objects
   10106 	with a connection, that allows us to use as little as 24 bytes
   10107 	per object and lets application code represent an object in 
   10108 	any conceivable way.
   10109 
   10110 	* dbus/dbus-object-registry.c: implement the hard bits of the
   10111 	DBusConnection aspect of object API. Not yet wired up.
   10112 	
   10113 2003-07-06  Havoc Pennington  <hp (a] pobox.com>
   10114 
   10115 	* dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function
   10116 	(_dbus_marshal_object_id): new
   10117 	(_dbus_demarshal_object_id): new
   10118 	(_dbus_marshal_get_arg_end_pos): support object ID type, and
   10119 	consolidate identical switch cases. Don't conditionalize handling
   10120 	of DBUS_TYPE_UINT64, need to handle the type always.
   10121 	(_dbus_marshal_validate_arg): consolidate identical cases, and
   10122 	handle DBUS_TYPE_OBJECT_ID
   10123 
   10124 	* dbus/dbus-objectid.c: new file with DBusObjectID data type.
   10125 
   10126 	* dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID
   10127 
   10128 2003-09-28  Havoc Pennington  <hp (a] pobox.com>
   10129 
   10130 	* real 0.13 release
   10131 
   10132 2003-09-28  Havoc Pennington  <hp (a] pobox.com>
   10133 
   10134 	* doc/Makefile.am (dbus-specification.html): testing a funky hack
   10135 	to work with Debian db2html
   10136 
   10137 2003-09-28  Havoc Pennington  <hp (a] pobox.com>
   10138 
   10139 	* configure.in: 0.13
   10140 
   10141 	* doc/Makefile.am (dbus-test-plan.html): accept nonexistence of
   10142 	stylesheet-images for benefit of Debian
   10143 	
   10144 	Change back to using filesystem-linked sockets for the system
   10145 	bus, so only root can create the default system bus address.
   10146 	
   10147 	* bus/system.conf.in: change to use
   10148 	DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
   10149 
   10150 	* dbus/Makefile.am (INCLUDES): remove DBUS_SYSTEM_BUS_PATH define
   10151 	from here.
   10152 
   10153 	* configure.in: define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
   10154 	here, and AC_DEFINE DBUS_SYSTEM_PATH
   10155 
   10156 2003-08-09  Anders Carlsson  <andersca (a] codefactory.se>
   10157 
   10158 	* doc/TODO:
   10159 	* doc/busconfig.dtd:
   10160 	Add busconfig DTD.
   10161 	
   10162 2003-08-09  Anders Carlsson  <andersca (a] codefactory.se>
   10163 
   10164 	* doc/dbus-specification.sgml:
   10165 	Add activation reply values.
   10166 	
   10167 2003-08-05  Havoc Pennington  <hp (a] redhat.com>
   10168 
   10169 	* configure.in: 0.12
   10170 
   10171 2003-08-05  Anders Carlsson  <andersca (a] codefactory.se>
   10172 
   10173 	* glib/dbus-gmain.c: (watch_fd_new), (watch_fd_ref),
   10174 	(watch_fd_unref), (dbus_gsource_check), (dbus_gsource_dispatch),
   10175 	(add_watch), (remove_watch), (create_source):
   10176 	Refcount fds, fixes some reentrancy issues.
   10177 	
   10178 2003-07-30  Havoc Pennington  <hp (a] redhat.com>
   10179 
   10180 	* dbus/dbus-bus.c (init_connections_unlocked): fix default system
   10181 	bus address to be abstract if we have abstract sockets
   10182 
   10183 	* NEWS: update
   10184 
   10185 2003-07-28  Havoc Pennington  <hp (a] redhat.com>
   10186 
   10187 	* bus/messagebus.in: fix to avoid processname/servicename 
   10188 	confusion, from Michael Kearey
   10189 	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100965
   10190 	
   10191 2003-07-23  Havoc Pennington  <hp (a] pobox.com>
   10192 
   10193 	* dbus/dbus-message.c (dbus_message_iter_get_named): 
   10194 	fix from Andy Hanton to remove broken "+1"
   10195 
   10196 2003-07-16  Havoc Pennington  <hp (a] pobox.com>
   10197 
   10198 	* tools/dbus-launch.c (babysit): close stdout/stderr in the
   10199 	babysitter process, as suggested by Thomas Leonard, so 
   10200 	an "eval `dbus-launch --exit-with-session`" will actually 
   10201 	return
   10202 
   10203 2003-07-16  Havoc Pennington  <hp (a] pobox.com>
   10204 
   10205 	* configure.in: print out EXPANDED_* variables in the summary at
   10206 	the end; clean up the code that computes EXPANDED_ variables and
   10207 	get the ones using exec_prefix right. Should make things work
   10208 	when you build without --prefix
   10209 
   10210 2003-06-29  Havoc Pennington  <hp (a] pobox.com>
   10211 
   10212 	* mono/Test.cs (class Test): fire up a main loop and run it
   10213 
   10214 	* mono/DBus.cs (DBus): don't g_thread_init since it can only be
   10215 	done once, the app has to do it
   10216 
   10217 2003-06-26  Havoc Pennington  <hp (a] pobox.com>
   10218 
   10219 	* mono/Connection.cs: set up connection with the glib main loop
   10220 
   10221 2003-07-01  Havoc Pennington  <hp (a] redhat.com>
   10222 
   10223 	* doc/dbus-specification.sgml: clarify the format of a type code,
   10224 	change suggested by Jim Blandy
   10225 
   10226 2003-06-29  Miloslav Trmac  <mitr (a] volny.cz>
   10227 
   10228 	* doc/Makefile.am:
   10229 	* tools/Makefile.am: Don't assume srcdir == builddir.
   10230 
   10231 	* dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
   10232 	the allocated block.
   10233 	(_dbus_memory_test): New function.
   10234 	* dbus/dbus-test.h: Add _dbus_memory_test ().
   10235 	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
   10236 
   10237 	* dbus/dbus-message.c (decode_header_data): Use %.4s instead
   10238 	of %c%c%c%c.
   10239 	(dbus_message_new): Remove obsolete @todo.
   10240 
   10241 	* dbus/dbus-marshal.c (_dbus_marshal_set_int64)
   10242 	(_dbus_marshal_set_uint64): Fix comment.
   10243 
   10244 	* dbus/dbus-message.c (append_int_field, append_uint_field): Don't
   10245 	hardcode FIELD_REPLY_SERIAL.
   10246 
   10247 	* dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
   10248 	(_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p
   10249 
   10250 	* configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
   10251 	and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
   10252 
   10253 2003-06-24  Havoc Pennington  <hp (a] pobox.com>
   10254 
   10255 	* mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0)
   10256 
   10257 2003-06-23  Anders Carlsson  <andersca (a] codefactory.se>
   10258 
   10259 	* configure.in:
   10260 	* gcj/.cvsignore:
   10261 	* gcj/Hello.java:
   10262 	* gcj/Makefile.am:
   10263 	* gcj/TestMessage.java: (TestMessage), (TestMessage.main):
   10264 	* gcj/org/.cvsignore:
   10265 	* gcj/org/Makefile.am:
   10266 	* gcj/org/freedesktop/.cvsignore:
   10267 	* gcj/org/freedesktop/Makefile.am:
   10268 	* gcj/org/freedesktop/dbus/.cvsignore:
   10269 	* gcj/org/freedesktop/dbus/Makefile.am:
   10270 	* gcj/org/freedesktop/dbus/Message.java: (Message),
   10271 	(Message.Message):
   10272 	* gcj/org/freedesktop/dbus/natMessage.cc:
   10273 	Fix the build system.
   10274 
   10275 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10276 
   10277 	* mono/Connection.cs: add more bindings
   10278 
   10279 	* dbus/dbus-threads.c (dbus_threads_init): allow calling this
   10280 	more than once.
   10281 
   10282 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10283 
   10284 	* mono/Connection.cs, mono/DBus.cs, mono/Error.cs:
   10285 	Start wrapping more stuff.
   10286 
   10287 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10288 
   10289 	* mono/Message.cs: implement Message.Wrap() that ensures we only
   10290 	have a single C# wrapper per DBusMessage, assuming it works which
   10291 	it probably doesn't.
   10292 
   10293 	* dbus/dbus-message.c (dbus_message_allocate_data_slot): new
   10294 	(dbus_message_free_data_slot): new
   10295 	(dbus_message_set_data): new
   10296 	(dbus_message_get_data): new
   10297 
   10298 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10299 
   10300 	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref)
   10301 	(_dbus_data_slot_allocator_alloc): rework these to keep a
   10302 	reference count on each slot and automatically manage a global
   10303 	slot ID variable passed in by address
   10304 
   10305 	* bus/bus.c: convert to new dataslot API
   10306 
   10307 	* dbus/dbus-bus.c: convert to new dataslot API
   10308 
   10309 	* dbus/dbus-connection.c: convert to new dataslot API
   10310 
   10311 	* dbus/dbus-server.c: convert to new dataslot API
   10312 
   10313 	* glib/dbus-gmain.c: ditto
   10314 
   10315 	* bus/test.c: ditto
   10316 
   10317 	* bus/connection.c: ditto
   10318 
   10319 2003-06-22  Anders Carlsson  <andersca (a] codefactory.se>
   10320 
   10321 	* configure.in: Add AM_PROG_GCJ and move AM_PROG_LIBTOOL
   10322 	after the gcj checks so that the correct configuration tags
   10323 	will be added to libtool.
   10324 
   10325 	* dbus-glib-1.pc.in: No need to specify any includes since
   10326 	dbus-1.pc.in has those.
   10327 
   10328 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10329 
   10330 	* mono/*, gcj/*, configure.in, Makefile.am:
   10331 	Check in makefiles and subdirs for mono and gcj bindings.
   10332 	Neither binding actually exists, just trying to get through
   10333 	all the build and other boring bits.
   10334 
   10335 2003-06-21  Philip Blundell  <philb (a] gnu.org>
   10336 
   10337 	* tools/dbus-monitor.1: Updated.
   10338 
   10339 	* tools/dbus-send.1: Likewise.
   10340 
   10341 2003-06-20  Anders Carlsson  <andersca (a] codefactory.se>
   10342 
   10343 	* dbus/dbus-transport-unix.c (unix_handle_watch): Check
   10344 	for hangup and error after checking read so we won't discard
   10345 	pending data if both hangup and read are set.
   10346 
   10347 2003-06-19  Philip Blundell  <philb (a] gnu.org>
   10348 
   10349 	* tools/dbus-print-message.c (print_message): Handle BOOLEAN.
   10350 
   10351 	* tools/dbus-send.c: Accept both --system and --session.
   10352 
   10353 	* tools/dbus-monitor.c: Same here.
   10354 
   10355 2003-06-19  Anders Carlsson  <andersca (a] codefactory.se>
   10356 
   10357 	* glib/dbus-glib.h: Fix so that dbus-glib.h can be used
   10358 	from C++ (Patch by Miloslav Trmac).
   10359 
   10360 2003-06-15  Joe Shaw  <joe (a] assbarn.com>
   10361 
   10362 	* configure.in: Check for socklen_t.
   10363 
   10364 	* dbus/dbus-sysdeps.c: Define socklen_t if it's not defined.
   10365 
   10366 	* test/test-segfault.c: Add #include <sys/time.h>
   10367 
   10368 	* tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since
   10369 	dbus-launch needs it.
   10370 
   10371 2003-06-09  Havoc Pennington  <hp (a] redhat.com>
   10372 
   10373 	* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use
   10374 	SUN_LEN, it breaks abstract socket usage
   10375 
   10376 	* dbus/dbus-internals.c (_dbus_verbose_real): only print PID at
   10377 	starts of lines.
   10378 
   10379 2003-06-04  Havoc Pennington  <hp (a] pobox.com>
   10380 
   10381 	* dbus/dbus-server.c (dbus_server_listen): allow abstract sockets
   10382 	using unix:abstract=/foo, and when listening in a tmpdir
   10383 	i.e. unix:tmpdir=/tmp, always use abstract sockets if we can.
   10384 
   10385 	* dbus/dbus-transport.c (_dbus_transport_open): support
   10386 	unix:abstract=/foo
   10387 
   10388 	* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
   10389 	support abstract sockets
   10390 
   10391 	* dbus/dbus-transport-unix.c
   10392 	(_dbus_transport_new_for_domain_socket): support abstract sockets
   10393 
   10394 	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract"
   10395 	toggle as an argument, implement abstract namespace support
   10396 	(_dbus_listen_unix_socket): ditto
   10397 
   10398 	* configure.in: add --enable-abstract-sockets and implement
   10399 	a configure check for autodetection of the right value.
   10400 
   10401 2003-06-01  Havoc Pennington  <hp (a] pobox.com>
   10402 
   10403 	* tools/dbus-cleanup-sockets.c: add utility to clean up sockets
   10404 	in /tmp (though on Linux this will end up being useless,
   10405 	when we add abstract namespace support)
   10406 
   10407 	* configure.in: define DBUS_SESSION_SOCKET_DIR in addition to
   10408 	subst'ing it
   10409 
   10410 2003-05-28  Colin Walters  <walters (a] verbum.org>
   10411 
   10412 	* tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/).
   10413 
   10414 2003-05-18  Anders Carlsson  <andersca (a] codefactory.se>
   10415 
   10416 	* dbus/dbus-message.c (dbus_message_new): Remove @todo.
   10417 
   10418 2003-05-17  Colin Walters  <walters (a] gnu.org>
   10419 
   10420 	* tools/dbus-send.c: Don't exit with an error code if --help was
   10421 	passed.  Default to using the session bus instead of the system
   10422 	one.
   10423 
   10424 	* tools/dbus-launch.c: Ditto.
   10425 
   10426 	* tools/dbus-monitor.c: Ditto.
   10427 
   10428 	* tools/dbus-send.1: Update with new arguments.
   10429 
   10430 	* tools/dbus-launch.c: Emit code to export variables.  New
   10431 	arguments -s and -c to specify shell syntax, and a bit of code to
   10432 	autodetect syntax.  Also, allow specifying a program to run.
   10433 
   10434 	* tools/dbus-launch.1: Update with new arguments.
   10435 
   10436 	* tools/dbus-send.1: Ditto.
   10437 
   10438 	* tools/dbus-monitor.1: Ditto.
   10439 
   10440 2003-05-17  Havoc Pennington  <hp (a] pobox.com>
   10441 
   10442 	* bus/config-parser.c (merge_included): merge in policies from
   10443 	child configuration file.
   10444 
   10445 	* bus/policy.c (bus_policy_merge): function to merge two policies
   10446 	together
   10447 
   10448 2003-05-16  Havoc Pennington  <hp (a] redhat.com>
   10449 
   10450 	* dbus/dbus-connection.c: disable verbose lock spew
   10451 
   10452 	* tools/dbus-send.c: add --print-reply command line option
   10453 
   10454 	* tools/dbus-print-message.h (print_message): new util function
   10455 	shared by dbus-send and dbus-monitor
   10456 
   10457 	* tools/dbus-monitor.c (handler_func): exit on disconnect
   10458 
   10459 	* dbus/dbus-transport-unix.c (do_reading): if the transport is
   10460 	disconnected, don't try to use the read_watch
   10461 
   10462 	* dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL
   10463 	so we can find this bug more easily
   10464 
   10465 2003-05-16  Havoc Pennington  <hp (a] redhat.com>
   10466 
   10467 	* bus/policy.c (free_rule_list_func): avoid a crash when passed
   10468 	NULL as DBusHashTable is annoyingly likely to do.
   10469 
   10470 2003-05-16  Colin Walters  <walters (a] verbum.org>
   10471 
   10472 	* tools/dbus-monitor.c: Add --session argument and usage()
   10473 	function.
   10474 
   10475 	* tools/dbus-monitor.1: Update with new --session arg.
   10476 
   10477 	* bus/Makefile.am (install-data-hook): Create
   10478 	$(libdir)/dbus-1.0/services so that the session bus is happy.
   10479 
   10480 2003-05-15  Havoc Pennington  <hp (a] redhat.com>
   10481 
   10482 	* dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
   10483 	on non-x86. ifdef's are evil.
   10484 
   10485 2003-05-15  Havoc Pennington  <hp (a] redhat.com>
   10486 
   10487 	* configure.in: 0.11
   10488 
   10489 	* NEWS: update
   10490 
   10491 	* bus/Makefile.am (initddir): apparently we are supposed to put
   10492 	init scripts in /etc/rc.d/init.d not /etc/init.d
   10493 
   10494 	* bus/Makefile.am: remove the "you must --enable-tests to make
   10495 	check" as it broke distcheck
   10496 
   10497 	* bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d
   10498 
   10499 2003-05-13  James Willcox  <jwillcox (a] gnome.org>
   10500 
   10501 	* configure.in:
   10502 	* bus/activation.c: (bus_activation_service_created),
   10503 	(bus_activation_activate_service):
   10504 	* bus/driver.c: (bus_driver_send_service_deleted),
   10505 	(bus_driver_send_service_created), (bus_driver_send_service_lost),
   10506 	(bus_driver_send_service_acquired),
   10507 	(bus_driver_send_welcome_message),
   10508 	(bus_driver_handle_list_services):
   10509 	* bus/session.conf.in:
   10510 	* dbus/dbus-bus.c: (dbus_bus_acquire_service),
   10511 	(dbus_bus_service_exists), (dbus_bus_activate_service):
   10512 	* dbus/dbus-bus.h:
   10513 
   10514 	Add some convenience API which lets you activate a service, and did a
   10515 	bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args()
   10516 	and dbus_message_get_args()
   10517 
   10518 2003-05-11  Havoc Pennington  <hp (a] pobox.com>
   10519 
   10520 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid
   10521 	calling _dbus_marshal_validate_arg() for every byte in a byte
   10522 	array, etc.
   10523 
   10524 	* dbus/dbus-message-handler.c: use atomic reference counting to
   10525 	reduce number of locks slightly; the global lock in here sucks
   10526 
   10527 	* dbus/dbus-connection.c
   10528 	(_dbus_connection_update_dispatch_status_and_unlock): variant of
   10529 	update_dispatch_status that can be called with lock held; then use
   10530 	in a couple places to reduce locking/unlocking
   10531 	(dbus_connection_send): hold the lock over the whole function
   10532 	instead of acquiring it twice.
   10533 
   10534 	* dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM
   10535 
   10536 	* bus/connection.c (bus_connections_setup_connection): fix access
   10537 	to already-freed memory.
   10538 
   10539 	* dbus/dbus-connection.c: keep a little cache of linked list
   10540 	nodes, to avoid using the global linked list alloc lock in the
   10541 	normal send-message case. Instead we just use the connection lock
   10542 	that we already have to take.
   10543 
   10544 	* dbus/dbus-list.c (_dbus_list_find_last): new function
   10545 
   10546 	* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec):
   10547 	change to use a struct for the atomic type; fix docs,
   10548 	they return value before increment, not after increment.
   10549 
   10550 	* dbus/dbus-string.c (_dbus_string_append_4_aligned)
   10551 	(_dbus_string_append_8_aligned): new functions to try to
   10552 	microoptimize this operation.
   10553 	(reallocate_for_length): break this out of set_length(), to
   10554 	improve profile info, and also so we can consider inlining the
   10555 	set_length() part.
   10556 
   10557 	* dbus/dbus-message.c (dbus_message_new_empty_header): init data
   10558 	strings with some preallocation, cuts down on our calls to realloc
   10559 	a fair bit. Though if we can get the "move entire string to empty
   10560 	string" optimization below to kick in here, it would be better.
   10561 
   10562 	* dbus/dbus-string.c (_dbus_string_move): just call
   10563 	_dbus_string_move_len
   10564 	(_dbus_string_move_len): add a special case for moving
   10565 	an entire string into an empty string; we can just
   10566 	swap the string data instead of doing any reallocs.
   10567 	(_dbus_string_init_preallocated): new function
   10568 
   10569 2003-05-11  Havoc Pennington  <hp (a] pobox.com>
   10570 
   10571 	Write a "test-profile" that does echo client-server with threads;
   10572 	profile reveals lock contention, memcpy/realloc of buffers, and
   10573 	UTF-8 validation as hot spots. 20% of lock contention eliminated
   10574 	with dbus_atomic_inc/dec implementation on x86.  Much remaining
   10575 	contention is global mempool locks for GList and DBusList.
   10576 
   10577 	* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
   10578 	x86 implementation
   10579 
   10580 	* dbus/dbus-connection.c (struct DBusConnection): use
   10581 	dbus_atomic_t for the reference count
   10582 
   10583 	* dbus/dbus-message.c (struct DBusMessage): declare
   10584 	dbus_atomic_t values as volatile
   10585 
   10586 	* configure.in: code to detect ability to use atomic integer
   10587 	operations in assembly, from GLib patch
   10588 
   10589 	* dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
   10590 	time, tired of it being wrong in threads and forked processes
   10591 
   10592 	* glib/test-profile.c: a little program to bounce messages back
   10593 	and forth between threads and eat CPU
   10594 
   10595 	* dbus/dbus-connection.c: add debug spew macros for debugging
   10596 	thread locks; include config.h at top; fix deadlock in
   10597 	dbus_connection_flush()
   10598 
   10599 2003-05-08  Havoc Pennington  <hp (a] pobox.com>
   10600 
   10601 	* dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov
   10602 	data from getting written, and there wasn't a good reason to
   10603 	use _exit really.
   10604 
   10605 	* test/decode-gcov.c (mark_inside_dbus_build_tests): don't count
   10606 	dbus_verbose lines in test coverage
   10607 	(main): add list of functions sorted by # of untested blocks
   10608 	to the coverage report
   10609 
   10610 	* dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS
   10611 
   10612 	* dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage
   10613 
   10614 	* dbus/dbus-message-handler.c (_dbus_message_handler_test):
   10615 	extend test coverage
   10616 
   10617 	* test/data/auth/cancel.auth-script: test canceling an
   10618 	authentication
   10619 
   10620 	* dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they
   10621 	aren't used. in CVS history if we end up needing them.
   10622 
   10623 2003-05-04  Havoc Pennington  <hp (a] pobox.com>
   10624 
   10625 	* dbus/dbus-message-handler.c (_dbus_message_handler_test): add
   10626 	unit test
   10627 
   10628 	* dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this
   10629 	function, which assumed length was in # of strings, not bytes
   10630 
   10631 	* dbus/dbus-message.c (_dbus_message_test): add tests for some
   10632 	missing coverage
   10633 
   10634 	* dbus/dbus-connection.c
   10635 	(_dbus_connection_queue_received_message): disable function for
   10636 	now, we are only using it in test mode
   10637 
   10638 	* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
   10639 	remove a mistaken FIXME
   10640 
   10641 2003-05-04  Havoc Pennington  <hp (a] pobox.com>
   10642 
   10643 	* dbus/dbus-connection.c (dbus_connection_preallocate_send):
   10644 	unlock mutex on successful return, patch from Anders Gustafsson
   10645 
   10646 2003-05-04  Havoc Pennington  <hp (a] pobox.com>
   10647 
   10648 	* dbus-glib-1.pc.in (Requires): fix dependencies, from
   10649 	Anders Gustafsson
   10650 
   10651 2003-05-04  Havoc Pennington  <hp (a] pobox.com>
   10652 
   10653 	* tools/dbus-launch.c: implement
   10654 
   10655 	* bus/main.c (main), bus/bus.c (bus_context_new):
   10656 	implement --print-pid and --fork
   10657 
   10658 2003-05-03  Havoc Pennington  <hp (a] redhat.com>
   10659 
   10660 	* dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
   10661 	the address had no value, and add to test suite. Fix and
   10662 	regression test from Miloslav Trmac
   10663 
   10664 2003-05-03  Havoc Pennington  <hp (a] pobox.com>
   10665 
   10666 	* dbus/dbus-watch.c (dbus_watch_handle): warn and return if a
   10667 	watch is invalid when handled
   10668 
   10669 	* tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add
   10670 	dbus-launch utility to launch the bus from a shell script.  Didn't
   10671 	actually implement dbus-launch yet, it's just a placeholder still.
   10672 
   10673 2003-05-03  Havoc Pennington  <hp (a] pobox.com>
   10674 
   10675 	* bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
   10676 	daemon; also documents daemon config file, so replaces
   10677 	doc/config-file.txt. Corrected some stuff from config-file.txt in
   10678 	the process of moving it.
   10679 
   10680 2003-05-03  Havoc Pennington  <hp (a] pobox.com>
   10681 
   10682 	* tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1:
   10683 	add some man pages
   10684 
   10685 2003-05-03  Colin Walters  <walters (a] verbum.org>
   10686 
   10687 	* dbus/dbus-sysdeps.c (fill_user_info): Test against
   10688 	DBUS_UID_UNSET to determine whether to do a uid lookup or not.
   10689 
   10690 	* Makefile.am: Update to use new .pc versioning scheme.
   10691 
   10692 2003-05-02  Havoc Pennington  <hp (a] redhat.com>
   10693 
   10694 	* bus/system.conf.in: allow send/receive to/from message bus
   10695 	service
   10696 
   10697 2003-04-30  Havoc Pennington  <hp (a] redhat.com>
   10698 
   10699 	* configure.in: print a note when building with unit tests and
   10700 	without assertions
   10701 
   10702 2003-04-30  Havoc Pennington  <hp (a] redhat.com>
   10703 
   10704 	* Makefile.am: add a check-local that complains if you didn't
   10705 	configure with --enable-tests
   10706 
   10707 2003-04-29  Havoc Pennington  <hp (a] redhat.com>
   10708 
   10709 	* glib/dbus-gmain.c: docs cleanups
   10710 
   10711 	* dbus/dbus-types.h: add docs on int64 types
   10712 
   10713 	* dbus/dbus-memory.c: fix docs to avoid putting private API in
   10714 	public API docs section
   10715 
   10716 2003-04-29  Havoc Pennington  <hp (a] redhat.com>
   10717 
   10718 	* dbus-1.pc.in, dbus-glib-1.pc.in: rename these from
   10719 	dbus-1.0.pc.in, dbus-glib-1.0.pc.in. As these change with the
   10720 	parallel install API version, not with the D-BUS package version.
   10721 
   10722 	* HACKING: move some of README over here
   10723 
   10724 	* README: updates, and document API/ABI policy
   10725 
   10726 	* configure.in: reindentation
   10727 
   10728 2003-04-29  Havoc Pennington  <hp (a] redhat.com>
   10729 
   10730 	* dbus/dbus.h: add "you have to define DBUS_API_SUBJECT_TO_CHANGE
   10731 	to use this library" to be sure people have the right
   10732 	expectations.
   10733 
   10734 2003-04-28  Havoc Pennington  <hp (a] redhat.com>
   10735 
   10736 	* configure.in: add --enable-docs which by default is auto yes if
   10737 	doxygen and db2html found, no otherwise; but can be forced on/off
   10738 
   10739 	* doc/Makefile.am: conditionalize whether to build docs on
   10740 	--enable-docs
   10741 
   10742 2003-04-28  Havoc Pennington  <hp (a] redhat.com>
   10743 
   10744 	* configure.in: 0.10
   10745 
   10746 	* NEWS: update
   10747 
   10748 	* bus/system.conf.in: add <includedir>system.d</includedir>
   10749 
   10750 	* dbus/dbus-userdb.c (_dbus_user_database_lookup): fix bug when
   10751 	username was provided but not uid
   10752 
   10753 	* bus/config-parser.c (struct BusConfigParser): keep track of
   10754 	whether the parser is toplevel or was included; change some
   10755 	of the error handling if it's included.
   10756 
   10757 2003-04-27  Havoc Pennington  <hp (a] pobox.com>
   10758 
   10759 	Unbreak my code...
   10760 
   10761 	* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
   10762 	report correct status if we finish processing authentication
   10763 	inside this function.
   10764 
   10765 	* bus/activation.c (try_send_activation_failure): use
   10766 	bus_transaction_send_error_reply
   10767 
   10768 	* bus/connection.c (bus_connection_get_groups): return an error
   10769 	explaining the problem
   10770 
   10771 	* bus/bus.c (bus_context_check_security_policy): implement
   10772 	restriction here that inactive connections can only send the
   10773 	hello message. Also, allow bus driver to send anything to
   10774 	any recipient.
   10775 
   10776 	* bus/connection.c (bus_connection_complete): create the
   10777 	BusClientPolicy here instead of on-demand.
   10778 	(bus_connection_get_policy): don't return an error
   10779 
   10780 	* dbus/dbus-message.c (dbus_message_new_error_reply): allow NULL
   10781 	sender field in message being replied to
   10782 
   10783 	* bus/bus.c (bus_context_check_security_policy): fix silly typo
   10784 	causing it to return FALSE always
   10785 
   10786 	* bus/policy.c (bus_client_policy_check_can_send): fix bug where
   10787 	we checked sender rather than destination
   10788 
   10789 2003-04-25  Havoc Pennington  <hp (a] redhat.com>
   10790 
   10791         test suite is slightly hosed at the moment, will fix soon
   10792 
   10793 	* bus/connection.c (bus_connections_expire_incomplete): fix to
   10794 	properly disable the timeout when required
   10795 	(bus_connection_set_name): check whether we can remove incomplete
   10796 	connections timeout after we complete each connection.
   10797 
   10798 	* dbus/dbus-mainloop.c (check_timeout): fix this up a bit,
   10799 	probably still broken.
   10800 
   10801 	* bus/services.c (bus_registry_acquire_service): implement max
   10802 	number of services owned, and honor allow/deny rules on which
   10803 	services a connection can own.
   10804 
   10805 	* bus/connection.c (bus_connection_get_policy): report errors here
   10806 
   10807 	* bus/activation.c: implement limit on number of pending
   10808 	activations
   10809 
   10810 2003-04-25  Havoc Pennington  <hp (a] redhat.com>
   10811 
   10812 	* dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug
   10813 	where we used >= 0 instead of != DBUS_UID_UNSET.
   10814 
   10815 2003-04-25  Havoc Pennington  <hp (a] redhat.com>
   10816 
   10817 	* glib/dbus-gmain.c (remove_watch): fix for a crash when watches
   10818 	were toggled without add/remove, fix from Anders Gustafsson
   10819 
   10820 2003-04-24  Havoc Pennington  <hp (a] redhat.com>
   10821 
   10822 	* test/data/valid-config-files/basic.conf: add <limit> tags to
   10823 	this test
   10824 
   10825 	* bus/config-parser.h, bus/config-parser.c, bus/bus.c: Implement
   10826 	<limit> tag in configuration file.
   10827 
   10828 2003-04-24  Havoc Pennington  <hp (a] redhat.com>
   10829 
   10830 	* bus/dispatch.c: somehow missed some name_is
   10831 
   10832 	* dbus/dbus-timeout.c (_dbus_timeout_set_enabled)
   10833 	(_dbus_timeout_set_interval): new
   10834 
   10835 	* bus/connection.c (bus_connections_setup_connection): record time
   10836 	when each connection is first set up, and expire them after the
   10837 	auth timeout passes.
   10838 
   10839 2003-04-24  Havoc Pennington  <hp (a] redhat.com>
   10840 
   10841 	* dbus/dbus-message.c (dbus_message_name_is): rename
   10842 	(dbus_message_service_is): rename
   10843 	(dbus_message_sender_is): rename
   10844 	(dbus_message_get_service): rename
   10845 
   10846 2003-04-24  Havoc Pennington  <hp (a] redhat.com>
   10847 
   10848 	* configure.in: add --enable-checks
   10849 
   10850 	* dbus/dbus-message.c (dbus_message_new): reverse name/service arguments
   10851 
   10852 	* dbus/dbus-connection.c (dbus_connection_preallocate_send): fix
   10853 	to use thread locks.
   10854 	(_dbus_connection_handler_destroyed_locked): move some private
   10855 	functions into proper docs group
   10856 
   10857 	* dbus/dbus-internals.h: add _dbus_return_if_fail,
   10858 	_dbus_return_val_if_fail
   10859 
   10860 	Throughout: use dbus_return_if_fail
   10861 
   10862 2003-04-23  James Willcox  <jwillcox (a] gnome.org>
   10863 
   10864 	* glib/dbus-glib.h:
   10865 	* glib/dbus-gmain.c: (add_timeout), (wakeup_main), (create_source),
   10866 	(dbus_connection_setup_with_g_main),
   10867 	(dbus_server_setup_with_g_main):
   10868 	* glib/test-dbus-glib.c: (main):
   10869 	* glib/test-thread-client.c: (main):
   10870 	* glib/test-thread-server.c: (new_connection_callback), (main):
   10871 	* tools/dbus-monitor.c: (main):
   10872 
   10873 	Added a GMainContext argument to dbus_connection_setup_with_g_main()
   10874 	and dbus_server_setup_with_g_main().
   10875 
   10876 2003-04-20  Havoc Pennington  <hp (a] pobox.com>
   10877 
   10878 	* doc/dbus-specification.sgml: document the restrictions on
   10879 	message and service names
   10880 
   10881 2003-04-22  Havoc Pennington  <hp (a] redhat.com>
   10882 
   10883 	* dbus/dbus-message.c, dbus/dbus-marshal.c: add 64-bit integer
   10884 	support, and do some code cleanups to share more code and
   10885 	speed up array marshal/demarshal.
   10886 
   10887 	* dbus-1.0.pc.in (Cflags): put libdir include file in cflags
   10888 
   10889 	* configure.in: generate dbus-arch-deps.h
   10890 
   10891 	* dbus/dbus-protocol.h (DBUS_TYPE_INT64, DBUS_TYPE_UINT64): add
   10892 	64-bit typecodes
   10893 
   10894 2003-04-22  Havoc Pennington  <hp (a] redhat.com>
   10895 
   10896 	* test/data/valid-messages/opposite-endian.message: fix test
   10897 	to use proper type for rply field
   10898 
   10899         * test/data/invalid-messages: add tests for below validation
   10900 
   10901 	* dbus/dbus-message.c (decode_header_data): validate field types,
   10902 	and validate that named fields are valid names
   10903 	(decode_name_field): consider messages in the
   10904 	org.freedesktop.Local. namespace to be invalid.
   10905 
   10906 	* dbus/dbus-string.c (_dbus_string_validate_name): new
   10907 
   10908 2003-04-19  Havoc Pennington  <hp (a] pobox.com>
   10909 
   10910 	* bus/driver.c (bus_driver_handle_hello): check limits and
   10911 	return an error if they are exceeded.
   10912 
   10913 	* bus/connection.c: maintain separate lists of active and inactive
   10914 	connections, and a count of each. Maintain count of completed
   10915 	connections per user. Implement code to check connection limits.
   10916 
   10917 	* dbus/dbus-list.c (_dbus_list_unlink): export
   10918 
   10919 	* bus/bus.c (bus_context_check_security_policy): enforce a maximum
   10920 	number of bytes in the message queue for a connection
   10921 
   10922 2003-04-18  Havoc Pennington  <hp (a] pobox.com>
   10923 
   10924 	* dbus/dbus-auth.c (record_mechanisms): memleak fixes
   10925 
   10926 	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): fix some
   10927 	memleaks
   10928 
   10929 	* dbus/dbus-keyring.c (add_new_key): fix a memleak, and
   10930 	on realloc be sure to update the pointer in the keyring
   10931 
   10932 	* dbus/dbus-string.c (_dbus_string_zero): compensate for align
   10933 	offset to avoid writing to unallocated memory
   10934 
   10935 	* dbus/dbus-auth.c (process_rejected): return FALSE if we fail to
   10936 	try the next mechanism, so we properly handle OOM
   10937 
   10938 	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): fix double-free
   10939 	on OOM.
   10940 	(_dbus_keyring_new): fix OOM bug
   10941 	(_dbus_keyring_new_homedir): always set error; impose a maximum
   10942 	number of keys we'll load from the file, mostly to speed up the
   10943 	test suite and make its OOM checks more useful, but also for
   10944 	general sanity.
   10945 
   10946 	* dbus/dbus-auth.c (process_error_server): reject authentication
   10947 	if we get an error from the client
   10948 	(process_cancel): on cancel, send REJECTED, per the spec
   10949 	(process_error_client): send CANCEL if we get an error from the
   10950 	server.
   10951 
   10952 2003-04-18  Havoc Pennington  <hp (a] pobox.com>
   10953 
   10954 	* dbus/dbus-mainloop.c (_dbus_loop_iterate): fix UMR in verbose
   10955 	debug spew
   10956 
   10957 	* dbus/dbus-auth.c (handle_client_data_cookie_sha1_mech): fix OOM
   10958 	handling problem
   10959 
   10960 	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): only whine
   10961 	about DBUS_TEST_HOMEDIR once
   10962 
   10963 	* bus/Makefile.am (TESTS_ENVIRONMENT): put DBUS_TEST_HOMEDIR in
   10964 	the environment
   10965 
   10966 	* bus/dispatch.c (bus_dispatch_sha1_test): actually load sha1
   10967 	config file so we test the right thing
   10968 
   10969 	Throughout: assorted docs improvements
   10970 
   10971 2003-04-18  Havoc Pennington  <hp (a] pobox.com>
   10972 
   10973 	* glib/dbus-gmain.c: adapt to watch changes
   10974 
   10975 	* bus/bus.c, bus/activation.c, etc.: adjust to watch changes
   10976 
   10977 	* dbus/dbus-server.h: remove dbus_server_handle_watch
   10978 
   10979 	* dbus/dbus-connection.h: remove dbus_connection_handle_watch
   10980 
   10981 	* dbus/dbus-watch.c (dbus_watch_handle): change DBusWatch to work
   10982 	like DBusTimeout, so we don't need dbus_connection_handle_watch
   10983 	etc.
   10984 
   10985 2003-04-17  Havoc Pennington  <hp (a] redhat.com>
   10986 
   10987 	* dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd
   10988 	database usage so it all goes via the DBusUserDatabase cache.
   10989 
   10990 2003-04-17  Havoc Pennington  <hp (a] redhat.com>
   10991 
   10992 	* dbus/dbus-mainloop.c (_dbus_loop_iterate): fix logic so that if
   10993 	there was an OOM watch we skipped, we always return TRUE so we
   10994 	iterate again to have a look at it again. Fixes test suite hang.
   10995 	Code rearrangement also lets us lose some memset and only iterate
   10996 	over callbacks once.
   10997 
   10998 	* bus/driver.c (bus_driver_handle_message): sense of test for
   10999 	reply was backward
   11000 
   11001 2003-04-16  Havoc Pennington  <hp (a] pobox.com>
   11002 
   11003 	* doc/dbus-specification.sgml: make spec say serials are unsigned
   11004 
   11005 	* dbus/dbus-message.h: change message serials to unsigned
   11006 
   11007 	* dbus/dbus-connection.c: adapt to message serials being unsigned
   11008 
   11009 2003-04-15  Havoc Pennington  <hp (a] pobox.com>
   11010 
   11011 	* bus/bus.c: create and keep around a shared DBusUserDatabase
   11012 	object.
   11013 
   11014 	* bus/connection.c (bus_connection_get_groups): don't cache
   11015 	groups for user in the connection object, since user database
   11016 	object now does that.
   11017 
   11018 2003-04-16  Havoc Pennington  <hp (a] redhat.com>
   11019 
   11020 	* dbus/dbus-message.c (_dbus_message_add_size_counter): keep a
   11021 	list of size counters
   11022 	(_dbus_message_loader_putback_message_link): put back a popped link
   11023 
   11024 	* dbus/dbus-connection.c
   11025 	(dbus_connection_set_max_live_messages_size): rename
   11026 	max_received_size
   11027 	(dbus_connection_get_outgoing_size): get size of outgoing
   11028 	queue
   11029 	(_dbus_connection_set_connection_counter): remove this cruft
   11030 
   11031 2003-04-14  Havoc Pennington  <hp (a] redhat.com>
   11032 
   11033 	* dbus/dbus-userdb.c: user database abstraction, mostly to get
   11034 	caching, but at some point we might want to be able to use a
   11035 	different database.
   11036 
   11037 	* bus/dispatch.c (bus_dispatch_sha1_test): add a test that uses
   11038 	SHA1 conf file to test the sha1 auth mechanism, since the regular
   11039 	test always uses EXTERNAL when available.
   11040 
   11041 	* configure.in,
   11042 	test/data/valid-config-files/debug-allow-all-sha1.conf.in:
   11043 	add conf file that requires use of sha1 auth
   11044 
   11045 2003-04-13  Havoc Pennington  <hp (a] pobox.com>
   11046 
   11047         * tools/dbus-send.c, tools/dbus-monitor.c: two utility programs
   11048 	from Philip Blundell to send messages and monitor them.
   11049 
   11050 2003-04-13  Havoc Pennington  <hp (a] pobox.com>
   11051 
   11052 	* dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting
   11053 	callbacks
   11054 
   11055 	* test/data/valid-config-files/debug-allow-all.conf.in: allow all
   11056 	users
   11057 
   11058 	* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
   11059 	fix to only recover unused bytes if we're already authenticated
   11060 	(_dbus_transport_get_is_authenticated): fix to still mark us
   11061 	authenticated if there are unused bytes.
   11062 
   11063 	* bus/dispatch.c: implement security policy checking
   11064 
   11065 	* bus/connection.c (bus_transaction_send_from_driver): new
   11066 
   11067 	* bus/bus.c (bus_context_check_security_policy): new
   11068 
   11069 	* bus/dispatch.c (send_service_nonexistent_error): delete this,
   11070 	now we just set the DBusError and it gets converted to an error
   11071 	reply.
   11072 
   11073 	* bus/connection.c (allow_user_function): enable code using actual
   11074 	data from the config file
   11075 
   11076 	* bus/policy.c (list_allows_user): handle wildcard rules for
   11077 	user/group connection perms
   11078 
   11079 2003-04-13  Havoc Pennington  <hp (a] pobox.com>
   11080 
   11081 	* bus/config-parser.c: Load up the BusPolicy and BusPolicyRules
   11082 
   11083 	* dbus/dbus-sysdeps.c (_dbus_get_user_id): new function
   11084 
   11085 	* bus/policy.c (bus_policy_append_mandatory_rule)
   11086 	(bus_policy_append_default_rule, bus_policy_append_user_rule)
   11087 	(bus_policy_append_group_rule): new functions
   11088 
   11089 2003-04-12  Havoc Pennington  <hp (a] pobox.com>
   11090 
   11091 	* bus/config-parser.c (bus_config_parser_new): fix a memleak
   11092 
   11093 	* dbus/dbus-sysdeps.c: change DBusCredentials to use longs for
   11094 	the pid/gid/uid, just for paranoia.
   11095 
   11096 	* test/break-loader.c (randomly_do_n_things): find a byte
   11097 	containing a type code, and randomly change it to a different
   11098 	type code.
   11099 
   11100 2003-04-12  Havoc Pennington  <hp (a] pobox.com>
   11101 
   11102 	* bus/policy.h: change BusPolicy to be the thing from the config
   11103 	file, and rename old BusPolicy to BusClientPolicy
   11104 
   11105 	* bus/bus.c, bus/connection.c, bus/config-parser.c: change to
   11106 	match change in how policy works
   11107 
   11108 	* dbus/dbus-internals.h: mark assert_not_reached as
   11109 	__attribute((noreturn))__
   11110 
   11111 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11112 
   11113 	* doc/dbus-specification.sgml: fix a spot with the wrong name for
   11114 	the broadcast service. Use boolean return for ServiceExists.
   11115 
   11116 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11117 
   11118 	* configure.in: add another directory to look for qt in.
   11119 
   11120 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11121 
   11122 	* AUTHORS: add Colin Walters
   11123 
   11124 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11125 
   11126 	* NEWS: update
   11127 
   11128 	* configure.in: 0.9
   11129 
   11130 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11131 
   11132 	* bus/messagebus.in: remove pid file when stopping the
   11133 	message bus, since the bus won't have privileges to remove it
   11134 	itself.
   11135 
   11136 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11137 
   11138 	* bus/bus.c (bus_context_new): move credentials change after
   11139 	creating pidfile
   11140 
   11141 2003-04-11  Havoc Pennington  <hp (a] pobox.com>
   11142 
   11143 	* test/decode-gcov.c: add "below average functions" to the
   11144 	coverage report, and change how some of the code works.
   11145 
   11146 	* bus/test-main.c: bracket some stuff in DBUS_BUILD_TESTS so it's
   11147 	not in the coverage stats.
   11148 
   11149 	* test/test-service.c (main): use _dbus_verbose not fprintf in a
   11150 	couple places so running the test suite doesn't result in megaspam.
   11151 
   11152 2003-04-11  Havoc Pennington  <hp (a] pobox.com>
   11153 
   11154 	* bus/dispatch.c (check_existent_service_activation): accept a no
   11155 	memory error in a place we didn't before
   11156 
   11157 	* bus/test.c (bus_test_run_everything): remove hacky "do it twice
   11158 	in case the first one failed," since the test suite is less
   11159 	broken now.
   11160 
   11161 2003-04-10  Havoc Pennington  <hp (a] pobox.com>
   11162 
   11163 	* bus/dispatch.c (check_segfault_service_activation): add test
   11164 	for launching an executable that just crashes.
   11165 
   11166 	* test/test-segfault.c (main): try setting coredumpsize to 0 so we
   11167 	don't leave a million cores. We'll see how portable this is.
   11168 
   11169 2003-04-10  Havoc Pennington  <hp (a] pobox.com>
   11170 
   11171 	* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all
   11172 	the possible parent failures before we fork, so that we don't
   11173 	fail to create a babysitter after creating the child.
   11174 
   11175 	* bus/activation.c (bus_activation_activate_service): kill child
   11176 	if we don't successfully complete the activation.
   11177 
   11178 2003-04-10  Havoc Pennington  <hp (a] redhat.com>
   11179 
   11180 	* dbus/dbus-connection.c (dbus_connection_flush): don't spin on
   11181 	the connection if it's disconnected
   11182 
   11183 	* bus/activation.c (bus_activation_service_created): use new
   11184 	transaction features to roll back removal of pending activation if
   11185 	we don't successfully create the service after all. Don't remove
   11186 	pending activation if the function fails.
   11187 
   11188 	* dbus/dbus-list.c (_dbus_list_insert_before_link)
   11189 	(_dbus_list_insert_after_link): new code to facilitate
   11190 	services.c fixes
   11191 
   11192 	* dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated):
   11193 	new functionality, so we can preallocate the ability to insert
   11194 	into a hash table.
   11195 
   11196 	* bus/connection.c (bus_transaction_add_cancel_hook): new function
   11197 	allowing us to put custom hooks in a transaction to be used for
   11198 	cancelling said transaction
   11199 
   11200 	* doc/dbus-specification.sgml: add some discussion of secondary
   11201 	service owners, and disallow zero-length service names
   11202 
   11203 	* bus/services.c (bus_registry_acquire_service): new function,
   11204 	splits out part of bus_driver_handle_acquire_service() and fixes
   11205 	a bug where we didn't remove the service doing the acquiring
   11206 	from the secondary queue if we failed to remove the current owner
   11207 	from the front of the queue.
   11208 
   11209 2003-04-10  Alexander Larsson  <alexl (a] redhat.com>
   11210 
   11211 	* doc/dbus-specification.sgml:
   11212 	s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/
   11213 
   11214 2003-04-10  Alexander Larsson  <alexl (a] redhat.com>
   11215 
   11216 	* bus/.cvsignore:
   11217 	* glib/.cvsignore:
   11218 	* test/.cvsignore:
   11219 	Added files to cvsignore
   11220 
   11221 	* dbus/dbus-message.h:
   11222 	* dbus/dbus-message.c: (dbus_message_iter_get_named):
   11223 	Make get_named() take two out argument and return a boolean.
   11224 	(dbus_message_iter_get_args_valist):
   11225 	Update usage of get_named().
   11226 	(dbus_message_iter_append_byte):
   11227 	Fix typo
   11228 	(dbus_message_iter_append_named)
   11229 	Fix typo
   11230 	(message_iter_test), (check_message_handling_type), (_dbus_message_test):
   11231 	More tests.
   11232 
   11233 2003-04-10  Alexander Larsson  <alexl (a] redhat.com>
   11234 
   11235 	* dbus/dbus-marshal.[ch]:
   11236 	Add array_type_pos argument to _dbus_marshal_validate_arg.
   11237 	Let you pass a NULL end_pos to _dbus_marshal_validate_type.
   11238 
   11239 	* dbus/dbus-message.[ch]:
   11240 	Multi-dimensional arrays have full type specification in the
   11241 	outermost array. Iter code re-arranged to handle this.
   11242 	Added some more iter tests.
   11243 
   11244 	* doc/dbus-specification.sgml:
   11245 	Add me to authors.
   11246 	Remove old FIXME.
   11247 	Update new array encoding description.
   11248 	Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description.
   11249 
   11250 	* test/data/invalid-messages/array-with-mixed-types.message:
   11251 	* test/data/valid-messages/array-of-array-of-uint32.message:
   11252 	Change to the new array format.
   11253 
   11254 	* test/data/invalid-messages/too-short-dict.message:
   11255 	Fix bug in test.
   11256 
   11257 	* test/data/valid-messages/recursive-types.message:
   11258 	Fix up and extend test.
   11259 
   11260 2003-04-10  Havoc Pennington  <hp (a] pobox.com>
   11261 
   11262 	* bus/dispatch.c: lots of fixes
   11263 
   11264 	* dbus/dbus-mainloop.c (_dbus_loop_dispatch): export
   11265 	(_dbus_loop_iterate): remove old "quit if no callbacks" code,
   11266 	that was crack, broke the test service.
   11267 
   11268 	* dbus/dbus-transport.c (_dbus_transport_open): fix error
   11269 	handling to avoid piling up errors if we get a failure on the
   11270 	first address.
   11271 
   11272 	* dbus/dbus-internals.c (_dbus_real_assert_not_reached): include
   11273 	pid in assertion failures.
   11274 
   11275 	* dbus/dbus-mainloop.c (_dbus_loop_iterate): use static arrays up
   11276 	to some fixed size of file descriptor array. Don't return TRUE
   11277 	anytime a timeout exists, that led to lots of busy loop silliness
   11278 	in the tests.
   11279 
   11280 2003-04-09  Havoc Pennington  <hp (a] redhat.com>
   11281 
   11282 	* dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought
   11283 	I'd checked this in earlier but hadn't.
   11284 
   11285 2003-04-09  Havoc Pennington  <hp (a] redhat.com>
   11286 
   11287 	* bus/dispatch.c (bus_dispatch_test): get a bit further through
   11288 	the activation test (man this is getting old!)
   11289 
   11290 2003-04-09  Havoc Pennington  <hp (a] redhat.com>
   11291 
   11292 	* test/test-utils.c: use dispatch status function to fix this up
   11293 
   11294 	* bus/connection.c (connection_watch_callback): don't dispatch
   11295 	from here
   11296 	(connection_timeout_callback): don't dispatch from here
   11297 	(bus_connections_setup_connection): set the dispatch status function
   11298 	(bus_connection_disconnected): unset it
   11299 
   11300 	* dbus/dbus-mainloop.c (_dbus_loop_queue_dispatch): new function
   11301 	used to add a connection to be dispatched
   11302 	(_dbus_loop_iterate): do the dispatching at the end of each
   11303 	iteration
   11304 
   11305 	* dbus/dbus-connection.c
   11306 	(dbus_connection_set_dispatch_status_function): new function
   11307 	allowing us to fix up main loop usage
   11308 	(_dbus_connection_last_unref): free all the various function
   11309 	user data
   11310 	(dbus_connection_dispatch): call the DispatchStatusFunction
   11311 	whenever this function returns
   11312 	(dbus_connection_handle_watch): call DispatchStatusFunction
   11313 	(dbus_connection_send_with_reply_and_block): call DispatchStatusFunction
   11314 	(reply_handler_timeout): call DispatchStatusFunction
   11315 	(dbus_connection_flush): call DispatchStatusFunction
   11316 
   11317 2003-04-09  Havoc Pennington  <hp (a] redhat.com>
   11318 
   11319 	* dbus/dbus-bus.c (dbus_bus_register): fix up error handling and
   11320 	a memory leak
   11321 
   11322 	* bus/dispatch.c (check_service_activated): fix bug in test
   11323 
   11324 	* dbus/dbus-mainloop.c (check_timeout): fix this up
   11325 
   11326 	* dbus/dbus-internals.c (_dbus_verbose_real): include PID in
   11327 	verbose output so we can sort out output from different processes,
   11328 	e.g. in the activation case.
   11329 
   11330 2003-04-08  Colin Walters  <walters (a] gnu.org>
   11331 
   11332  	* bus/bus.c (struct BusContext) [pidfile]: New member, to store
   11333  	the pid file.
   11334  	(bus_context_new): Set it.
   11335  	(bus_context_unref): Use it to delete the pid file.
   11336 
   11337 2003-04-08  Havoc Pennington  <hp (a] redhat.com>
   11338 
   11339 	* test/data/invalid-messages/array-with-mixed-types.message:
   11340 	regression test that fails for the moment
   11341 
   11342 	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): reorder
   11343 	tests for convenience
   11344 
   11345 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): don't allow
   11346 	array of nil, it broke things.
   11347 
   11348 	* test/data/invalid-messages/array-of-nil.message: regression test
   11349 
   11350 	* test/data/valid-messages/array-of-array-of-uint32.message:
   11351 	happened to write this so added it to suite
   11352 
   11353 2003-04-08  Havoc Pennington  <hp (a] redhat.com>
   11354 
   11355 	* bus/driver.c (bus_driver_handle_acquire_service): init
   11356 	retval/reply before checking name
   11357 
   11358 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add a
   11359 	recursion depth argument
   11360 
   11361 	* dbus/dbus-message.h (struct DBusMessageIter): put some padding
   11362 	in the public struct for future extension
   11363 
   11364 	* dbus/dbus-message-builder.c (_dbus_message_data_load): fix
   11365 	typo
   11366 
   11367 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix a verbose
   11368 	message
   11369 
   11370 	* doc/dbus-specification.sgml: fix typo
   11371 
   11372 2003-04-08  Alexander Larsson  <alexl (a] redhat.com>
   11373 
   11374 	Implemented recursive types, named types and new-style iters
   11375 
   11376 	* bus/driver.c:
   11377 	* glib/test-thread-client.c: (thread_func):
   11378 	* glib/test-thread-server.c: (handle_test_message):
   11379 	* test/test-service.c: (handle_echo):
   11380 	Update to new api
   11381 
   11382 	* dbus/Makefile.am:
   11383 	* dbus/dbus-dict.c:
   11384 	* dbus/dbus-dict.h:
   11385 	* dbus/dbus.h
   11386 	Remove DBusDict
   11387 
   11388 	* dbus/dbus-internals.c: (_dbus_type_to_string):
   11389 	Update for new types.
   11390 
   11391 	* dbus/dbus-marshal.[ch]:
   11392 	Implement recursive types and the new marshalling format.
   11393 	Remove hardcoded dict marshalling.
   11394 	Marshal named types.
   11395 
   11396 	* dbus/dbus-message-builder.c:
   11397 	Add BYTE_ARRAY.
   11398 	Remove references to old types
   11399 
   11400 	* dbus/dbus-message.[ch]:
   11401 	New non-refcounted iter API that supports recursive iters.
   11402 	Use iters for appending, including support for recursive
   11403 	iters.
   11404 	Add byte and named type support.
   11405 	Update everything to new marshalling formats.
   11406 	Add tests for new API.
   11407 
   11408 	* dbus/dbus-protocol.h:
   11409 	Remove old array types.
   11410 	Add types: BYTE, ARRAY, DICT, NAMED
   11411 
   11412 	* dbus/dbus-string.c:
   11413 	* dbus/dbus-sysdeps.c:
   11414 	Make parse_double locale safe.
   11415 
   11416 	* dbus/dbus-test-main.c:
   11417 	Call setlocale.
   11418 
   11419 	* dbus/dbus-test.c:
   11420 	Kill dict test
   11421 
   11422 	* doc/dbus-specification.sgml:
   11423 	Update spec
   11424 
   11425 	* test/data/incomplete-messages/missing-body.message:
   11426 	* test/data/invalid-messages/bad-boolean.message:
   11427 	* test/data/invalid-messages/bad-boolean-array.message:
   11428 	* test/data/invalid-messages/boolean-array-length-too-long.message-raw:
   11429 	* test/data/invalid-messages/boolean-has-no-value.message-raw:
   11430 	* test/data/invalid-messages/too-short-dict.message:
   11431 	* test/data/valid-messages/dict-simple.message:
   11432 	* test/data/valid-messages/dict.message:
   11433 	* test/data/valid-messages/emptiness.message:
   11434 	* test/data/valid-messages/lots-of-arguments.message:
   11435 	* test/data/valid-messages/no-padding.message:
   11436 	* test/data/valid-messages/recursive-types.message:
   11437 	Add missing NAME fields
   11438 	Fix up dicts & arrays
   11439 
   11440 	* test/data/invalid-messages/dict-with-nil-value.message:
   11441 	Removed, this is not invalid anymore.
   11442 
   11443 	* test/data/valid-messages/recursive-types.message:
   11444 	Add new test for deeply recursive types.
   11445 
   11446 2003-04-07  Havoc Pennington  <hp (a] pobox.com>
   11447 
   11448 	* bus/driver.c (bus_driver_handle_acquire_service): return an
   11449 	error if you try to acquire a service that starts with ':'
   11450 
   11451 2003-04-07  Havoc Pennington  <hp (a] redhat.com>
   11452 
   11453 	* doc/dbus-specification.sgml: require that base service names
   11454 	start with ':' and that the base service is created/deleted
   11455 	as first and last things a connection does on the bus
   11456 
   11457 	* bus/dispatch.c (check_existent_service_activation): lots more
   11458 	work on the activation test; it doesn't fully pass yet...
   11459 
   11460 	* test/test-service.c (main): fix so we don't memleak the
   11461 	connection to the message bus
   11462 	(filter_func): accept a message asking us to exit
   11463 
   11464 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11465 
   11466 	* qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h,
   11467 	from Colin Walters
   11468 
   11469 	* configure.in: fixes to Qt detection from Colin Walters
   11470 
   11471 	* doc/Makefile.am: Only remove generated docbook dirs if they
   11472 	exist, from Colin Walters
   11473 
   11474 	* dbus/dbus-bus.c: change how we set well-known connections to
   11475 	NULL, so that it works if a single connection is stored in
   11476 	two well-known array slots.
   11477 
   11478 	* test/Makefile.am: remove a lot of stuff that isn't immediately
   11479 	useful, it's in CVS history if we want it.
   11480 
   11481 	* test/test-service.c: use dbus-mainloop instead of that
   11482 	watch.[hc] crack
   11483 
   11484 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11485 
   11486 	* dbus/Makefile.am: split lists of sources into stuff that goes in
   11487 	the library, util functions that go in the lib and are also used
   11488 	elsewhere, and util functions that are used in tests/daemon but
   11489 	don't go in the lib.
   11490 
   11491 	* dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc]
   11492 	here so it can be used in test binaries also
   11493 
   11494 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11495 
   11496 	* dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile
   11497 	here in the parent process, so we can return an error if it
   11498 	fails. Also, move some of the code into the child so the parent
   11499 	is less hosed if we fail midway through.
   11500 
   11501 	* bus/bus.c (bus_context_new): move pidfile detection further up
   11502 	in the function, before we start overwriting sockets and such.
   11503 
   11504 	* bus/messagebus.in: adjust this a bit, not sure if it will work.
   11505 
   11506 	* configure.in: add --with-system-pid-file and --with-system-socket
   11507 
   11508 2003-04-06  Colin Walters  <walters (a] verbum.org>
   11509 
   11510 	* configure.in (DBUS_SYSTEM_PID_FILE): New variable.
   11511 
   11512 	* bus/system.conf.in: Declare a pidfile.
   11513 
   11514 	* bus/bus.c (bus_context_new): Test for an existing pid file, and
   11515 	create one (if appropriate).
   11516 
   11517 	* bus/config-parser.c (enum ElementType) [ELEMENT_PIDFILE]: New.
   11518 	(struct BusConfigParser) [pidfile]: New.
   11519 	(element_type_to_name, merge_included, start_busconfig_child)
   11520 	(bus_config_parser_end_element, bus_config_parser_content): Handle it.
   11521 	(bus_config_parser_unref): Free it.
   11522 	(bus_config_parser_get_pidfile): New function.
   11523 
   11524 	* bus/config-parser.h (_dbus_write_pid_file): Prototype.
   11525 
   11526 	* dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error.
   11527 
   11528 	* dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function.
   11529 
   11530 	* dbus/dbus-sysdeps.h: Prototype it.
   11531 
   11532 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11533 
   11534 	* bus/bus.c (bus_context_new): print the address in here, rather
   11535 	than in main(), because we need to do it before forking the daemon
   11536 
   11537 	* bus/dispatch.c (send_service_nonexistent_error): set the sender
   11538 	on the service nonexistent error
   11539 
   11540 	* bus/driver.c (bus_driver_handle_acquire_service): set the
   11541 	sender on the AcquireService reply
   11542 
   11543 	* test/data/valid-config-files/debug-allow-all.conf.in: Make test
   11544 	server also listen on a UNIX socket so services can connect to it.
   11545 
   11546 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11547 
   11548 	* dbus/dbus-threads.c: Redo how the fake debug mutexes are done
   11549 	so it detects deadlocks and also we actually init threads when
   11550 	debugging.
   11551 
   11552 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11553 
   11554 	* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
   11555 	save the domain socket name, and unlink it when we disconnect the
   11556 	server. Means that at least when we exit normally, we won't leave
   11557 	a bunch of junk in /tmp
   11558 
   11559 	* dbus/dbus-transport-unix.c
   11560 	(_dbus_transport_new_for_domain_socket): code cleanup (nicer
   11561 	memory management). (I was making a real change here but then
   11562 	didn't)
   11563 
   11564 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11565 
   11566 	* bus/bus.c (bus_context_new): fix wrong handling of
   11567 	server_data_slot_unref() in the error case.
   11568 
   11569 	* dbus/dbus-internals.h (_dbus_assert): change so it passes
   11570 	"(condition) != 0" to _dbus_real_assert so that
   11571 	"_dbus_assert (pointer)" doesn't cause a warning
   11572 
   11573 	* bus/main.c (main): accept --print-address option to print out
   11574 	the message bus address
   11575 
   11576 	* dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this
   11577 
   11578 	* dbus/dbus-transport.c (_dbus_transport_open): special error for
   11579 	"tmpdir" option to unix: address on client side
   11580 
   11581 	* dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option
   11582 	to unix: address
   11583 
   11584 	* configure.in (TEST_SOCKET_DIR): locate a temporary directory
   11585 	we can use to create sockets in the test suite.
   11586 
   11587 	* bus/main.c (signal_handler): on SIGTERM, exit the daemon
   11588 	cleanly. To be used for testing.
   11589 
   11590 	* dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler()
   11591 
   11592 	* dbus/dbus-sysdeps.c (_dbus_set_signal_handler): new
   11593 
   11594 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
   11595 	handle trying to call this when there's no servers active
   11596 
   11597 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11598 
   11599 	* NEWS: update
   11600 
   11601 	* configure.in: 0.8
   11602 
   11603 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11604 
   11605 	* bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't
   11606 	crash on startup. Need to get "try starting the daemon"
   11607 	in the test suite I guess. ;-)
   11608 
   11609 	* dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
   11610 	tracked the number of open connections; it's better done in
   11611 	application-specific code as you want it to span all servers etc.
   11612 
   11613 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11614 
   11615 	* bus/Makefile.am (install-data-hook): add missing DESTDIR,
   11616 	patch from Colin Walters
   11617 
   11618 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11619 
   11620 	* doc/config-file.txt (Elements): fix docs of <auth> to reflect
   11621 	reality; in fact multiple mechanisms are allowed.
   11622 
   11623 	* dbus/dbus-internals.c (_dbus_real_assert)
   11624 	(_dbus_real_assert_not_reached): move guts of _dbus_assert() and
   11625 	_dbus_assert_not_reached() into functions, so that they don't show
   11626 	up in basic block counts for test coverage, and don't use up as
   11627 	much disk space. Does mean slower execution speed though, so
   11628 	assumes --disable-asserts is the normal production case.
   11629 
   11630 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11631 
   11632 	* test/Makefile.am (dist-hook): also dist *.in files
   11633 
   11634 	* NEWS: update
   11635 
   11636 	* configure.in: 0.7
   11637 
   11638 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11639 
   11640 	* dbus/dbus-string.c: docs warning
   11641 
   11642 	* dbus/dbus-spawn.c: missing docs
   11643 
   11644 	* dbus/dbus-memory.c (struct ShutdownClosure): missing docs
   11645 
   11646 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11647 
   11648 	* bus/loop.c (bus_loop_iterate): fix the timeout code, using
   11649 	magic from GLib
   11650 
   11651 	* dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid
   11652 	to -1 once we've reaped the babysitter
   11653 	(_dbus_babysitter_handle_watch): do as much work as we can, not
   11654 	just one go of it
   11655 
   11656 	* bus/activation.c: add code using DBusBabysitter so that we
   11657 	handle it when a service fails to start up properly.
   11658 	(bus_activation_service_created): don't remove the activation
   11659 	entries as we go, just let them get removed when we free the pending
   11660 	activation. Unref reply messages after sending them.
   11661 
   11662 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11663 
   11664 	* test/decode-gcov.c (main): print per-directory stats in the report
   11665 
   11666 	* Makefile.am (coverage-report.txt): don't include test/* in gcov stats
   11667 
   11668 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11669 
   11670 	* Makefile.am (coverage-report.txt): add target "coverage-report.txt"
   11671 
   11672 	* test/decode-gcov.c: hack up a little program to suck data
   11673 	out of gcov files. Yes this is sort of silly.
   11674 
   11675 	* configure.in: define something in config.h and do an
   11676 	AM_CONDITIONAL when gcov is enabled
   11677 
   11678 2003-04-04  Havoc Pennington  <hp (a] redhat.com>
   11679 
   11680 	* dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
   11681 	return a "babysitter" object that is used to monitor the status of
   11682 	the spawned process and reap it when required.
   11683 
   11684 	* test/test-segfault.c, test/test-exit.c,
   11685 	test/test-sleep-forever.c: binaries that do various lame things,
   11686 	used in the test suite.
   11687 
   11688 	* dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()
   11689 
   11690 2003-04-03  Havoc Pennington  <hp (a] pobox.com>
   11691 
   11692 	* dbus/dbus-spawn.c: Move dbus-spawn into a separate file
   11693 	in preparation for modifying it, dbus-sysdeps is getting
   11694 	a bit unmanageable.
   11695 
   11696 2003-04-03  Havoc Pennington  <hp (a] redhat.com>
   11697 
   11698 	* bus/loop.h, bus/loop.c: make the mainloop an object so we can
   11699 	have multiple ones
   11700 
   11701 	* bus/*.[hc]: adapt to mainloop change
   11702 
   11703 2003-04-03  Havoc Pennington  <hp (a] redhat.com>
   11704 
   11705 	* bus/activation.c (load_directory): fix up memleaks
   11706 	(bus_activation_entry_free): free the entry
   11707 
   11708 	* dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
   11709 	we get one from the message bus; fix memleaks.
   11710 
   11711 	* dbus/dbus-message.c (dbus_set_error_from_message): new function
   11712 
   11713 2003-04-03  Havoc Pennington  <hp (a] pobox.com>
   11714 
   11715 	* bus/config-parser.c (bus_config_parser_unref): free
   11716 	list of mechanisms, bug discovered by test suite enhancements
   11717 	(putting system.conf and session.conf into suite)
   11718 
   11719 	* test/Makefile.am, test/test-service.c: add placeholder for a
   11720 	test service that we'll activate as part of test suite. Doesn't
   11721 	do anything yet.
   11722 
   11723 	* dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by
   11724 	setting NULL value, and use system malloc not dbus_malloc()
   11725 	when we have unavoidable memleakage.
   11726 
   11727 	* dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
   11728 	didn't work, and support DBUS_BUS_ACTIVATION.
   11729 
   11730 	* bus/activation.c (child_setup): pass our well-known bus type to
   11731 	the child
   11732 
   11733 	* bus/config-parser.c: support <type> to specify well-known type
   11734 
   11735 	* doc/dbus-specification.sgml: document the env variables to
   11736 	locate well-known buses and find service activator
   11737 
   11738 2003-04-02  Havoc Pennington  <hp (a] redhat.com>
   11739 
   11740 	* test/Makefile.am (all-local): add a rule to copy tests to
   11741 	builddir, so we can have generated tests. Use this to remove the
   11742 	silly hack for testing system.conf and session.conf. Will use this
   11743 	shortly to generate .service files pointing to test binaries.
   11744 
   11745 2003-04-02  Havoc Pennington  <hp (a] redhat.com>
   11746 
   11747 	* dbus/dbus-string.c (set_length): fix a bug - we allocated max of
   11748 	current alloc and needed new length, not max of the doubled
   11749 	allocation and needed new length. Also, when building tests,
   11750 	don't do the double-allocation stuff, just realloc every time.
   11751 
   11752 2003-04-02  Havoc Pennington  <hp (a] redhat.com>
   11753 
   11754 	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
   11755 	in error messages
   11756 	(_dbus_string_get_dirname): new
   11757 	(_dbus_sysdeps_test): new
   11758 	(_dbus_directory_open): include dirnames in error messages
   11759 
   11760 	* bus/config-parser.c: interpret <include> and <includedir> and
   11761 	<servicedir> relative to config file location if the given
   11762 	filename is not absolute.
   11763 
   11764 	* dbus/dbus-string.c (_dbus_string_find_byte_backward): new
   11765 
   11766 2003-04-02  Havoc Pennington  <hp (a] redhat.com>
   11767 
   11768 	* bus/connection.c (bus_transaction_send_error_reply): set sender
   11769 	service for the error, and unref the reply on success
   11770 
   11771 	* bus/activation.c: convert to use BusTransaction so OOM can be
   11772 	handled correctly
   11773 	(bus_activation_service_created): set sender of the message
   11774 
   11775 2003-04-01  Havoc Pennington  <hp (a] redhat.com>
   11776 
   11777 	* bus/config-parser.c, bus/bus.c: implement <servicedir> and
   11778 	<includedir> (at least mostly)
   11779 
   11780 	* dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
   11781 	first, then the user ID
   11782 
   11783 2003-04-01  Havoc Pennington  <hp (a] pobox.com>
   11784 
   11785 	* dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
   11786 	function
   11787 
   11788 	* dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
   11789 
   11790 	* dbus/dbus-internals.c (_dbus_dup_string_array): new function
   11791 
   11792 	* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
   11793 	socket 0777, and unlink any existing socket.
   11794 
   11795 	* bus/bus.c (bus_context_new): change our UID/GID and fork if
   11796 	the configuration file so specifies; set up auth mechanism
   11797 	restrictions
   11798 
   11799 	* bus/config-parser.c (bus_config_parser_content): add support
   11800 	for <fork> option and fill in code for <auth>
   11801 
   11802 	* bus/system.conf.in: add <fork/> to default configuration,
   11803 	and limit auth mechanisms to EXTERNAL
   11804 
   11805 	* doc/config-file.txt (Elements): add <fork>
   11806 
   11807 	* dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
   11808 	(_dbus_change_identity): new function
   11809 
   11810 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11811 
   11812 	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket)
   11813 	(_dbus_listen_unix_socket): fix off-by-one error in null
   11814 	termination spotted by Nalin
   11815 
   11816 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11817 
   11818 	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
   11819 	DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
   11820 	having a real home directory available.
   11821 
   11822 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11823 
   11824 	* bus/Makefile.am (install-data-hook): create /var/run/dbus
   11825 
   11826 	* bus/messagebus.in: add init script for Red Hat /etc/init.d
   11827 
   11828 	* configure.in: add support for specifying a style of init script
   11829 	to install
   11830 
   11831 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11832 
   11833         Fix some annoying DBusString API and fix all affected code.
   11834 
   11835 	* dbus/dbus-string.c (_dbus_string_init): get rid of annoying
   11836 	max_length argument
   11837 	(_dbus_string_get_data): change to return string instead of using
   11838 	an out param
   11839 	(_dbus_string_get_const_data): ditto
   11840 	(_dbus_string_get_data_len): ditto
   11841 	(_dbus_string_get_const_data_len): ditto
   11842 
   11843 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11844 
   11845 	* bus/main.c (main): fix up the command line arguments to be nicer
   11846 
   11847 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11848 
   11849 	* dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
   11850 	define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
   11851 	final location that lands in the config file
   11852 
   11853 	* bus/config-loader-expat.c (bus_config_load): fix type of
   11854 	XML_Parser variable
   11855 
   11856 	* doc/TODO: remove TODO item for dbus_bus_get()
   11857 
   11858 	* dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
   11859 
   11860 2003-03-31  Havoc Pennington  <hp (a] pobox.com>
   11861 
   11862 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
   11863 	(_dbus_transport_new_for_tcp_socket): these didn't need the "server"
   11864 	argument since they are always client side
   11865 
   11866 	* dbus/dbus-server.c (dbus_server_get_address): new function
   11867 
   11868 	* bus/main.c (main): take the configuration file as an argument.
   11869 
   11870 	* test/data/valid-config-files/debug-allow-all.conf: new file to
   11871 	use with dispatch.c tests for example
   11872 
   11873 	* bus/test-main.c (main): require test data dir
   11874 
   11875 	* bus/bus.c (bus_context_new): change this to take a
   11876 	configuration file name as argument
   11877 
   11878 	* doc/config-file.txt (Elements): add <servicedir>
   11879 
   11880 	* bus/system.conf, bus/session.conf: new files
   11881 
   11882 	* dbus/dbus-bus.c (dbus_bus_get): look for system bus on
   11883 	well-known socket if none set
   11884 
   11885 	* configure.in: create system.conf and session.conf
   11886 
   11887 2003-03-30  Havoc Pennington  <hp (a] pobox.com>
   11888 
   11889 	* bus/config-parser.c: hacking
   11890 
   11891 	* dbus/dbus-memory.c: don't use DBusList for the list of stuff
   11892 	to shut down, since it could cause weirdness with the DBusList
   11893 	lock
   11894 
   11895 	* dbus/dbus-list.c (_dbus_list_test): add tests for the
   11896 	link-oriented stack routines
   11897 	(alloc_link): free the mempool if the first alloc from it fails
   11898 
   11899 	* dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
   11900 
   11901 	* dbus/dbus-string.c (UNICODE_VALID): sync new version of this
   11902 	from GLib
   11903 	(_dbus_string_skip_white): new
   11904 
   11905 	* doc/config-file.txt (Elements): add <includedir>
   11906 
   11907 2003-03-28  Havoc Pennington  <hp (a] pobox.com>
   11908 
   11909 	* dbus/dbus-string.c (_dbus_string_copy_data_len)
   11910 	(_dbus_string_copy_data): new functions
   11911 
   11912 2003-03-28  Anders Carlsson  <andersca (a] codefactory.se>
   11913 
   11914 	* dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
   11915 	* dbus/dbus-bus.h:
   11916 	Add dbus_bus_get.
   11917 
   11918 	* dbus/dbus-memory.c:
   11919 	Fix a doc comment.
   11920 
   11921 2003-03-28  Havoc Pennington  <hp (a] pobox.com>
   11922 
   11923 	* bus/test.c (bus_test_flush_bus): remove the sleep from here,
   11924 	I think it may have just been superstition. Not sure.
   11925 
   11926 	* dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
   11927 	failures that were not being handled.
   11928 
   11929 	* dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
   11930 
   11931 	* dbus/dbus-memory.c: add ability to set number of mallocs in a
   11932 	row that will fail on out-of-memory.
   11933 
   11934 	* dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
   11935 	function for testing out-of-memory handling.
   11936 
   11937 	* bus/config-loader-expat.c (memsuite): don't wrap the dbus
   11938 	allocation functions, they do map exactly to the expat ones.
   11939 
   11940 2003-03-27  Havoc Pennington  <hp (a] redhat.com>
   11941 
   11942 	* bus/config-loader-libxml.c (bus_config_load): add another error
   11943 	check
   11944 
   11945 2003-03-26  Anders Carlsson  <andersca (a] codefactory.se>
   11946 
   11947 	* doc/TODO:
   11948 	Add note about automatic service activation.
   11949 
   11950 	* doc/dbus-specification.sgml:
   11951 	Rename the specification and clarify a few things.
   11952 
   11953 2003-03-26  Anders Carlsson  <andersca (a] codefactory.se>
   11954 
   11955 	* Doxyfile.in:
   11956 	* dbus/dbus-address.c:
   11957 	* dbus/dbus-dict.c:
   11958 	* dbus/dbus-marshal.c:
   11959 	* dbus/dbus-server-debug-pipe.c:
   11960 	* dbus/dbus-transport-unix.c:
   11961 	Fix documentation warnings.
   11962 
   11963 2003-03-26  Havoc Pennington  <hp (a] pobox.com>
   11964 
   11965 	* bus/test-main.c, dbus/dbus-test.c (main): check memleaks
   11966 	after every test so it's quick and easy to see which leaked, and
   11967 	so we test multiple dbus_shutdown() calls
   11968 
   11969 	* configure.in: change configure.in XML stuff to also support
   11970 	expat
   11971 
   11972 	* config-loader-libxml.c: some hacking
   11973 
   11974 	* config-loader-expat.c: some hacking
   11975 
   11976 	* config-parser.c: some hacking, plus tests
   11977 
   11978 2003-03-25  Havoc Pennington  <hp (a] redhat.com>
   11979 
   11980         * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
   11981 
   11982 	* configure.in: add --with-xml option to specify XML library,
   11983 	right now only libxml is supported.
   11984 
   11985 	* bus/config-loader-libxml.c, config-parser.c: sync some minor
   11986 	nonworking code between home and work, still just stubs
   11987 
   11988 2003-03-24  Havoc Pennington  <hp (a] redhat.com>
   11989 
   11990 	* dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
   11991 	file
   11992 
   11993 	* dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
   11994 	NULL argument for "message" if the error is a well-known one,
   11995 	fill in a generic message in this case.
   11996 
   11997 	* dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
   11998 	favor of DBusError
   11999 
   12000 	* bus/test.c (bus_test_flush_bus): add
   12001 
   12002 	* bus/policy.c (bus_policy_test): test code stub
   12003 
   12004 2003-03-24  Havoc Pennington  <hp (a] pobox.com>
   12005 
   12006 	* bus/connection.c (bus_connections_setup_connection): set up
   12007 	the "can this user connect" function, but it always returns
   12008 	TRUE until we have a config file parser so we can have a config
   12009 	file that allows connections.
   12010 
   12011 2003-03-23  Havoc Pennington  <hp (a] pobox.com>
   12012 
   12013 	* dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
   12014 	DBUS_BUILD_TESTS, actually alloc/free a block of memory for
   12015 	the mutex, so we can check for proper memory management
   12016 	and OOM handling.
   12017 
   12018 	* dbus/dbus-dataslot.c: remove the mutex from
   12019 	DBusDataSlotAllocator and lock it manually when using it,
   12020 	to simplify fitting it into the global slots framework.
   12021 
   12022 	* dbus/dbus-threads.c (init_static_locks): rework how we're
   12023 	handling global locks so they are easily shut down.
   12024 
   12025 	* bus/policy.c (bus_policy_append_rule): fix
   12026 
   12027 	* bus/test-main.c (main): check for memleaks
   12028 
   12029 	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
   12030 	test suite check for memleaks
   12031 
   12032 	* dbus/dbus-memory.c: add support in test mode for tracking
   12033 	number of outstanding blocks
   12034 
   12035 2003-03-23  Havoc Pennington  <hp (a] pobox.com>
   12036 
   12037 	* bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
   12038 	policies code
   12039 
   12040 	* dbus/dbus-hash.h: add ULONG hash keys
   12041 
   12042 	* dbus/dbus-sysdeps.c (_dbus_get_groups): new
   12043 	(_dbus_get_group_id): new function
   12044 
   12045 2003-03-20  Havoc Pennington  <hp (a] redhat.com>
   12046 
   12047 	* dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
   12048 	new function
   12049 	(dbus_connection_get_unix_user): new function
   12050 
   12051 2003-03-20  Havoc Pennington  <hp (a] pobox.com>
   12052 
   12053 	* bus/connection.c (bus_connection_send_oom_error): assert that
   12054 	message has a sender
   12055 	(connection_execute_transaction): ditto
   12056 	(bus_connection_preallocate_oom_error): fix to set the sender, and
   12057 	set recipient to the destination service, not the bus driver
   12058 
   12059 	* bus/policy.c: hacking
   12060 
   12061 	* dbus/dbus-message.c (dbus_message_service_is): new function
   12062 	(dbus_message_sender_is): new
   12063 
   12064 2003-03-19  Havoc Pennington  <hp (a] redhat.com>
   12065 
   12066 	* bus/policy.c: start sketching code for policy restrictions on
   12067 	what connections can do.
   12068 
   12069 2003-03-18  Havoc Pennington  <hp (a] redhat.com>
   12070 
   12071 	* doc/TODO: some notes on high-level todo items. Little nitpick
   12072 	stuff is all in @todo, so no need to add it here.
   12073 
   12074 	* doc/config-file.txt: some notes on how config file might look
   12075 
   12076 2003-03-18  Anders Carlsson  <andersca (a] codefactory.se>
   12077 
   12078 	* configure.in: 0.6
   12079 
   12080 	* NEWS: Update.
   12081 
   12082 2003-03-17  Havoc Pennington  <hp (a] redhat.com>
   12083 
   12084 	* dbus/dbus-internals.h: add gcc attributes so that
   12085 	our printf-style functions warn on bad arguments to
   12086 	format
   12087 
   12088 	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
   12089 	format bug
   12090 
   12091 	* dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
   12092 	printf format bug
   12093 
   12094 2003-03-17  Havoc Pennington  <hp (a] redhat.com>
   12095 
   12096 	* bus/test-main.c (main): make it print something as it runs
   12097 	so make check doesn't look stuck
   12098 
   12099 	* doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
   12100 	from CVS, now obsolete
   12101 
   12102 2003-03-17  Anders Carlsson  <andersca (a] codefactory.se>
   12103 
   12104 	* bus/dispatch.c: (bus_dispatch):
   12105 	Refetch the service name since it may have been reallocated
   12106 	when dbus_message_set_sender was called.
   12107 
   12108 	* dbus/dbus-sysdeps.c: (_dbus_accept):
   12109 	Add address and address length variables and use them to stop
   12110 	valgrind from complaining.
   12111 
   12112 2003-03-17  Havoc Pennington  <hp (a] pobox.com>
   12113 
   12114 	All tests pass, no memleaks, no valgrind complaints.
   12115 
   12116 	* bus/test.c: refcount handler_slot
   12117 
   12118 	* bus/connection.c (bus_connections_new): refcount
   12119 	connection_data_slot
   12120 
   12121 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
   12122 	bytes so that auth scripts pass.
   12123 
   12124 	* bus/dispatch.c: init message_handler_slot so it gets allocated
   12125 	properly
   12126 
   12127 	* bus/dispatch.c (message_handler_slot_ref): fix memleak
   12128 
   12129 	* dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
   12130 	dealloc server_pipe_hash when no longer used for benefit of
   12131 	leak checking
   12132 
   12133 	* dbus/dbus-auth.c (process_command): memleak fix
   12134 
   12135 	* bus/dispatch.c (check_hello_message): memleak fix
   12136 
   12137 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12138 
   12139 	* dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
   12140 
   12141 2003-03-17  Anders Carlsson  <andersca (a] codefactory.se>
   12142 
   12143 	* bus/activation.c (bus_activation_activate_service): Append
   12144 	the pending activation entry to the list of pending activations.
   12145 
   12146 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12147 
   12148 	* bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
   12149 	connections
   12150 
   12151 	* dbus/dbus-address.c (create_entry): fix OOM handling when
   12152 	failing to alloc entry->method
   12153 
   12154 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12155 
   12156 	* dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
   12157 	the watch
   12158 
   12159 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
   12160 	add some missing dbus_set_result
   12161 
   12162 	* bus/dispatch.c (bus_dispatch_add_connection): handle failure to
   12163 	alloc the DBusMessageHandler
   12164 
   12165 	* dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
   12166 	the transport here, since we call this from the finalizer; it
   12167 	resulted in a double-finalize.
   12168 
   12169 	* dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
   12170 	where we tried to use transport->connection that was NULL,
   12171 	happened when transport was disconnected early on due to OOM
   12172 
   12173 	* bus/*.c: adapt to handle OOM for watches/timeouts
   12174 
   12175 	* dbus/dbus-transport-unix.c: port to handle OOM during
   12176 	watch handling
   12177 
   12178 	* dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
   12179 	reference to unused bytes instead of a copy
   12180 
   12181 	* dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
   12182 	out of memory
   12183 
   12184 	* dbus/dbus-connection.c (dbus_connection_handle_watch): return
   12185 	FALSE on OOM
   12186 
   12187 	* dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
   12188 	of memory
   12189 
   12190 2003-03-16  Anders Carlsson  <andersca (a] codefactory.se>
   12191 
   12192 	* doc/dbus-specification.sgml:
   12193 	Document reply message for ActivateService.
   12194 
   12195 2003-03-16  Anders Carlsson  <andersca (a] codefactory.se>
   12196 
   12197 	* bus/activation.c: (bus_pending_activation_entry_free),
   12198 	(bus_pending_activation_free), (bus_activation_new),
   12199 	(bus_activation_unref), (bus_activation_service_created),
   12200 	(bus_activation_activate_service):
   12201 	* bus/activation.h:
   12202 	* bus/bus.c: (bus_context_new):
   12203 	* bus/desktop-file.c: (new_section):
   12204 	* bus/driver.c: (bus_driver_send_service_deleted),
   12205 	(bus_driver_handle_activate_service):
   12206 	* bus/services.c: (bus_registry_new), (bus_registry_ensure):
   12207 	* bus/services.h:
   12208 	* dbus/dbus-connection.c:
   12209 	(dbus_connection_send_with_reply_and_block):
   12210 	* dbus/dbus-message.c: (dbus_message_append_args_valist):
   12211 	* dbus/dbus-protocol.h:
   12212 	Make activation work better. Now pending activations will be queued
   12213 	and the daemon won't try to activate services that are already registered.
   12214 
   12215 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12216 
   12217 	* dbus/dbus-bus.c (ensure_bus_data): handle failure to set
   12218 	connection data
   12219 
   12220 	* dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
   12221 	DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
   12222 
   12223 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12224 
   12225 	* dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
   12226 	this. always run the test suite before commit...
   12227 
   12228 	* bus/*: adapt to DBusConnection API changes
   12229 
   12230 	* glib/dbus-gmain.c: adapt to DBusConnection API changes,
   12231 	requires renaming stuff to avoid dbus_connection_dispatch name
   12232 	conflict.
   12233 
   12234 	* dbus/dbus-transport.c (_dbus_transport_queue_messages): new
   12235 	function
   12236 
   12237 	* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
   12238 	separate from _dbus_message_loader_return_buffer()
   12239 
   12240 	* dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
   12241 	this, because it's now always broken to use; the number of
   12242 	messages in queue vs. the number still buffered by the message
   12243 	loader is undefined/meaningless. Should use
   12244 	dbus_connection_get_dispatch_state().
   12245 	(dbus_connection_dispatch): rename from
   12246 	dbus_connection_dispatch_message
   12247 
   12248 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12249 
   12250 	* dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
   12251 	implementation
   12252 
   12253 2003-03-16  Anders Carlsson  <andersca (a] codefactory.se>
   12254 
   12255 	* dbus/dbus-connection.c:
   12256 	(dbus_connection_send_with_reply_and_block):
   12257 	Decrease connection->n_incoming when removing an entry
   12258 	from the list.
   12259 	* dbus/dbus-dict.c: (dbus_dict_entry_free),
   12260 	(dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
   12261 	(dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
   12262 	(dbus_dict_set_byte_array), (dbus_dict_set_string_array),
   12263 	(dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
   12264 	(dbus_dict_get_byte_array):
   12265 	Handle NULL arrays and strings. Also add support for byte arrays.
   12266 
   12267 	* dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
   12268 	(_dbus_marshal_dict), (_dbus_demarshal_byte_array),
   12269 	(_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
   12270 	(_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
   12271 	(_dbus_demarshal_dict), (demarshal_and_validate_len),
   12272 	(_dbus_marshal_validate_arg), (_dbus_marshal_test):
   12273 	* dbus/dbus-marshal.h:
   12274 	Add support for marshalling and demarshalling empty arrays and strings.
   12275 
   12276 	* dbus/dbus-message.c: (dbus_message_append_args_valist),
   12277 	(dbus_message_append_string_array),
   12278 	(dbus_message_iter_get_boolean),
   12279 	(dbus_message_iter_get_boolean_array),
   12280 	(dbus_message_iter_get_int32_array),
   12281 	(dbus_message_iter_get_uint32_array),
   12282 	(dbus_message_iter_get_double_array),
   12283 	(dbus_message_iter_get_byte_array),
   12284 	(dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
   12285 	(check_message_handling):
   12286 	Add support for getting empty arrays and dicts.
   12287 
   12288 	* dbus/dbus-string.c: (_dbus_string_validate_utf8):
   12289 	Don't do any validation at all for now, that's better than just checking
   12290 	for ASCII.
   12291 
   12292 	* test/data/valid-messages/emptiness.message:
   12293 	New test message with lots of empty arrays.
   12294 
   12295 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12296 
   12297 	* dbus/dbus-connection.c
   12298 	(_dbus_connection_queue_received_message_link): new function that
   12299 	can't fail due to OOM
   12300 
   12301 	* dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
   12302 	new function pops a message together with a list link
   12303 	containing it.
   12304 
   12305 	* dbus/dbus-transport-unix.c (queue_messages): use new link-based
   12306 	message queuing functions to avoid needing to alloc memory
   12307 
   12308 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12309 
   12310 	Oops - test code was only testing failure of around 30 of the
   12311 	mallocs in the test path, but it turns out there are 500+
   12312 	mallocs. I believe this was due to misguided linking setup such
   12313 	that there was one copy of dbus_malloc etc. in the daemon and one
   12314 	in the shared lib, and only daemon mallocs were tested. In any
   12315 	case, the test case now tests all 500+ mallocs, and doesn't pass
   12316 	yet, though there are lots of fixes in this patch.
   12317 
   12318 	* dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
   12319 	this so that it doesn't need to allocate memory, since it
   12320 	has no way of indicating failure due to OOM (and would be
   12321 	annoying if it did).
   12322 
   12323 	* dbus/dbus-list.c (_dbus_list_pop_first_link): new function
   12324 
   12325 	* bus/Makefile.am: rearrange to create two self-contained
   12326 	libraries, to avoid having libraries with overlapping symbols.
   12327 	that was resulting in weirdness, e.g. I'm pretty sure there
   12328 	were two copies of global static variables.
   12329 
   12330 	* dbus/dbus-internals.c: move the malloc debug stuff to
   12331 	dbus-memory.c
   12332 
   12333 	* dbus/dbus-list.c (free_link): free list mempool if it becomes
   12334 	empty.
   12335 
   12336 	* dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
   12337 
   12338 	* dbus/dbus-address.c (dbus_parse_address): free list nodes
   12339 	on failure.
   12340 
   12341 	* bus/dispatch.c (bus_dispatch_add_connection): free
   12342 	message_handler_slot when no longer using it, so
   12343 	memory leak checkers are happy for the test suite.
   12344 
   12345 	* dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
   12346 
   12347 	* bus/bus.c (new_connection_callback): disconnect in here if
   12348 	bus_connections_setup_connection fails.
   12349 
   12350 	* bus/connection.c (bus_connections_unref): fix to free the
   12351 	connections
   12352 	(bus_connections_setup_connection): if this fails, don't
   12353 	disconnect the connection, just be sure there are no side
   12354 	effects.
   12355 
   12356 	* dbus/dbus-string.c (undo_alignment): unbreak this
   12357 
   12358 	* dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
   12359 	leaking
   12360 	(_dbus_auth_new): fix the order in which we free strings
   12361 	on OOM failure
   12362 
   12363 	* bus/connection.c (bus_connection_disconnected): fix to
   12364 	not send ServiceDeleted multiple times in case of memory
   12365 	allocation failure
   12366 
   12367 	* dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
   12368 	get the base service name
   12369 	(dbus_bus_register_client): don't return base service name,
   12370 	instead store it on the DBusConnection and have an accessor
   12371 	function for it.
   12372 	(dbus_bus_register_client): rename dbus_bus_register()
   12373 
   12374 	* bus/dispatch.c (check_hello_message): verify that other
   12375 	connections on the bus also got the correct results, not
   12376 	just the one sending hello
   12377 
   12378 2003-03-15  Havoc Pennington  <hp (a] pobox.com>
   12379 
   12380 	Make it pass the Hello handling test including all OOM codepaths.
   12381 	Now to do other messages...
   12382 
   12383 	* bus/services.c (bus_service_remove_owner): fix crash when
   12384 	removing owner from an empty list of owners
   12385 	(bus_registry_ensure): don't leave service in the list of
   12386 	a connection's owned services if we fail to put the service
   12387 	in the hash table.
   12388 
   12389 	* bus/connection.c (bus_connection_preallocate_oom_error): set
   12390 	error flag on the OOM error.
   12391 
   12392 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
   12393 	handle _dbus_transport_set_connection failure
   12394 
   12395 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
   12396 	to create watches up front and simply enable/disable them as
   12397 	needed.
   12398 	(unix_connection_set): this can now fail on OOM
   12399 
   12400 	* dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
   12401 	of enabling/disabling a watch or timeout.
   12402 
   12403 	* bus/loop.c (bus_loop_iterate): don't touch disabled
   12404 	watches/timeouts
   12405 
   12406 	* glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
   12407 
   12408 2003-03-15  Havoc Pennington  <hp (a] pobox.com>
   12409 
   12410 	* bus/dispatch.c (bus_dispatch_test): OK, now finally actually
   12411 	write useful test code, after all that futzing around ;-)
   12412 
   12413 	Test does not yet pass because we can't handle OOM in
   12414 	_dbus_transport_messages_pending (basically,
   12415 	dbus_connection_preallocate_send() does not prealloc the write
   12416 	watch). To fix this, I think we need to add new stuff to
   12417 	set_watch_functions, namely a SetEnabled function so we can alloc
   12418 	the watch earlier, then enable it later.
   12419 
   12420 	* dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
   12421 	dbus-memory.c to the convenience lib
   12422 
   12423 	* bus/test.c: rename some static functions to keep them clearly
   12424 	distinct from stuff in connection.c. Handle client disconnection.
   12425 
   12426 2003-03-14  Havoc Pennington  <hp (a] pobox.com>
   12427 
   12428 	* bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
   12429 	transport, tests more of the real codepath. Set up clients
   12430 	with bus_setup_debug_client.
   12431 
   12432 	* bus/test.c (bus_setup_debug_client): function to set up debug
   12433 	"clients" on the main loop
   12434 
   12435 	* dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
   12436 	support
   12437 
   12438 	* dbus/dbus-server.c (dbus_server_listen): add debug-pipe
   12439 	server type
   12440 
   12441 	* dbus/dbus-server-debug.c: support a debug server based on pipes
   12442 
   12443 	* dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
   12444 	(_dbus_close): new function
   12445 
   12446 	* configure.in: check for socketpair
   12447 
   12448 2003-03-14  Havoc Pennington  <hp (a] redhat.com>
   12449 
   12450 	* dbus/dbus-memory.c: add a "detect buffer overwrites on free"
   12451 	cheesy hack
   12452 
   12453 	* dbus/dbus-transport-debug.c: rework this a good bit to be
   12454 	less complicated. hopefully still works.
   12455 
   12456 	* dbus/dbus-server-debug.c (handle_new_client): remove timeout
   12457 	manually
   12458 
   12459 	* glib/dbus-gmain.c (timeout_handler): don't remove timeout
   12460 	after running it
   12461 
   12462 	* dbus/dbus-message.c (dbus_message_copy): rename from
   12463 	dbus_message_new_from_message, fix it up to copy
   12464 	all the message fields, add test case
   12465 
   12466 	* bus/dispatch.c (bus_dispatch_test): add some more test code,
   12467 	not quite passing yet
   12468 
   12469 2003-03-14  Havoc Pennington  <hp (a] pobox.com>
   12470 
   12471 	* bus/loop.c (bus_loop_iterate): add this so we can "run loop
   12472 	until no work remains" in test code. (the large diff here
   12473 	is just code movement, no actual changes)
   12474 
   12475 	* dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
   12476 	1, no point waiting around for test code.
   12477 	(_dbus_server_debug_accept_transport): unref the timeout
   12478 	after adding it (right?)
   12479 
   12480 	* dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
   12481 
   12482 2003-03-13  Havoc Pennington  <hp (a] redhat.com>
   12483 
   12484 	* dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
   12485 	out of memory
   12486 
   12487 	* dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
   12488 	of memory
   12489 
   12490 	* dbus/dbus-connection.h: Make AddWatchFunction and
   12491 	AddTimeoutFunction return a bool so they can fail on out-of-memory
   12492 
   12493 	* bus/bus.c (bus_context_new): set up timeout handlers
   12494 
   12495 	* bus/connection.c (bus_connections_setup_connection): set up
   12496 	timeout handlers
   12497 
   12498 	* glib/dbus-gmain.c: adapt to the fact that set_functions stuff
   12499 	can fail
   12500 
   12501 	* bus/bus.c (bus_context_new): adapt to changes
   12502 
   12503 	* bus/connection.c: adapt to changes
   12504 
   12505 	* test/watch.c: adapt to DBusWatch changes
   12506 
   12507 	* bus/dispatch.c (bus_dispatch_test): started adding this but
   12508 	didn't finish
   12509 
   12510 2003-03-14  Anders Carlsson  <andersca (a] codefactory.se>
   12511 
   12512 	* bus/dispatch.c (send_service_nonexistent_error): Fix typo.
   12513 
   12514 2003-03-13  Havoc Pennington  <hp (a] pobox.com>
   12515 
   12516 	* bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
   12517 	set up a test framework as for the library
   12518 
   12519 2003-03-12  Havoc Pennington  <hp (a] pobox.com>
   12520 
   12521 	Throughout: purge global variables, introduce BusActivation,
   12522 	BusConnections, BusRegistry, etc. objects instead.
   12523 
   12524 	* bus/bus.h, bus/bus.c: introduce BusContext as a global
   12525 	message bus object
   12526 
   12527 	* test/Makefile.am (TEST_BINARIES): disable bus-test for now,
   12528 	going to redo this a bit differently I think
   12529 
   12530 2003-03-12  Havoc Pennington  <hp (a] redhat.com>
   12531 
   12532         Mega-patch that gets the message bus daemon initially handling
   12533 	out-of-memory. Work still needed. Also lots of random
   12534 	moving stuff to DBusError instead of ResultCode.
   12535 
   12536 	* dbus/dbus-list.c (_dbus_list_length_is_one): new function
   12537 
   12538 	* dbus/dbus-connection.c
   12539 	(dbus_connection_send_with_reply_and_block): use DBusError
   12540 
   12541 	* dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
   12542 	DBusResultCode
   12543 
   12544 	* dbus/dbus-connection.c (dbus_connection_send): drop the result
   12545 	code here, as the only failure possible is OOM.
   12546 
   12547 	* bus/connection.c (bus_connection_disconnect):
   12548 	rename bus_connection_disconnected as it's a notification only
   12549 
   12550 	* bus/driver.c (bus_driver_handle_acquire_service): don't free
   12551 	"name" on get_args failure, should be done by get_args;
   12552 	don't disconnect client for bad args, just return an error.
   12553 	(bus_driver_handle_service_exists): ditto
   12554 
   12555 	* bus/services.c (bus_services_list): NULL-terminate returned array
   12556 
   12557 	* bus/driver.c (bus_driver_send_service_lost)
   12558 	(bus_driver_send_service_acquired): send messages from driver to a
   12559 	specific client to the client's unique name, not to the broadcast
   12560 	service.
   12561 
   12562 	* dbus/dbus-message.c (decode_header_data): reject messages that
   12563 	contain no name field
   12564 	(_dbus_message_get_client_serial): rename to
   12565 	dbus_message_get_serial and make public
   12566 	(_dbus_message_set_serial): rename from set_client_serial
   12567 	(_dbus_message_set_reply_serial): make public
   12568 	(_dbus_message_get_reply_serial): make public
   12569 
   12570 	* bus/connection.c (bus_connection_foreach): allow stopping
   12571 	iteration by returning FALSE from foreach function.
   12572 
   12573 	* dbus/dbus-connection.c (dbus_connection_send_preallocated)
   12574 	(dbus_connection_free_preallocated_send)
   12575 	(dbus_connection_preallocate_send): new API for sending a message
   12576 	without possibility of malloc failure.
   12577 	(dbus_connection_send_message): rename to just
   12578 	dbus_connection_send (and same for whole function family)
   12579 
   12580 	* dbus/dbus-errors.c (dbus_error_free): make this reinit the error
   12581 
   12582 	* dbus/dbus-sysdeps.c (_dbus_exit): new function
   12583 
   12584 	* bus/activation.c: handle/return errors
   12585 
   12586 	* dbus/dbus-errors.h: add more DBUS_ERROR #define
   12587 
   12588 	* dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
   12589 	(_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
   12590 	(_dbus_result_from_errno): move to this file
   12591 
   12592 2003-03-10  Anders Carlsson  <andersca (a] codefactory.se>
   12593 
   12594 	* dbus/dbus-marshal.c:
   12595 	(_dbus_marshal_set_string):
   12596 	Take a length argument so we can marshal the correct string
   12597 	length.
   12598 
   12599 	(_dbus_marshal_dict), (_dbus_demarshal_dict),
   12600 	(_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
   12601 	(_dbus_marshal_test):
   12602 	* dbus/dbus-marshal.h:
   12603 	Add support for marshalling and demarshalling dicts.
   12604 
   12605 	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
   12606 	Add support for TYPE DICT.
   12607 
   12608 	* dbus/dbus-message.c: (set_string_field):
   12609 	Adjust header padding.
   12610 
   12611 	(dbus_message_append_args_valist), (dbus_message_append_dict),
   12612 	(dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
   12613 	(dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
   12614 	(check_message_handling), (check_have_valid_message):
   12615 	* dbus/dbus-message.h:
   12616 	Add functions for setting and getting dicts.
   12617 
   12618 	* dbus/dbus-protocol.h:
   12619 	Add DBUS_TYPE_DICT.
   12620 
   12621 	* dbus/dbus.h:
   12622 	Add dbus-dict.h
   12623 
   12624 	* doc/dbus-specification.sgml:
   12625 	Add information about how dicts are marshalled.
   12626 
   12627 	* test/data/invalid-messages/dict-with-nil-value.message:
   12628 	* test/data/invalid-messages/too-short-dict.message:
   12629 	* test/data/valid-messages/dict-simple.message:
   12630 	* test/data/valid-messages/dict.message:
   12631 	Add sample messages containing dicts.
   12632 
   12633 2003-03-08  Anders Carlsson  <andersca (a] codefactory.se>
   12634 
   12635 	* dbus/dbus-dict.h: Add DBUS_END_DECLS.
   12636 
   12637 2003-03-07  Anders Carlsson  <andersca (a] codefactory.se>
   12638 
   12639 	* dbus/Makefile.am:
   12640 	* dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
   12641 	(dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
   12642 	(dbus_dict_set_int32), (dbus_dict_set_uint32),
   12643 	(dbus_dict_set_double), (dbus_dict_set_string),
   12644 	(dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
   12645 	(dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
   12646 	(dbus_dict_set_string_array), (_dbus_dict_test):
   12647 	* dbus/dbus-dict.h:
   12648 	Fix according to comments from Havoc.
   12649 
   12650 2003-03-06  Michael Meeks  <michael (a] server.home>
   12651 
   12652 	* configure.in: if we don't have kde-config, disable have_qt.
   12653 
   12654 2003-03-07  Anders Carlsson  <andersca (a] codefactory.se>
   12655 
   12656 	* dbus/Makefile.am:
   12657 	Add dbus-dict.[ch]
   12658 
   12659 	* dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
   12660 	(dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
   12661 	(dbus_dict_remove), (dbus_dict_get_value_type),
   12662 	(dbus_dict_get_keys), (dbus_dict_put_boolean),
   12663 	(dbus_dict_put_int32), (dbus_dict_put_uint32),
   12664 	(dbus_dict_put_double), (dbus_dict_put_string),
   12665 	(dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
   12666 	(dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
   12667 	(dbus_dict_put_string_array), (dbus_dict_get_boolean),
   12668 	(dbus_dict_get_int32), (dbus_dict_get_uint32),
   12669 	(dbus_dict_get_double), (dbus_dict_get_string),
   12670 	(dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
   12671 	(dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
   12672 	(dbus_dict_get_string_array), (_dbus_dict_test):
   12673 	* dbus/dbus-dict.h:
   12674 	Add DBusDict implementation
   12675 
   12676 	* dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
   12677 	* dbus/dbus-test.h:
   12678 	Add _dbus_dict_test
   12679 
   12680 2003-03-04  Havoc Pennington  <hp (a] pobox.com>
   12681 
   12682 	* test/data/auth/*: adapt to changes
   12683 
   12684 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): add
   12685 	USERID_BASE64 and change USERNAME_BASE64 to put in username not
   12686 	userid
   12687 
   12688 	* dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
   12689 	more stuff from being in a context name, to make the protocol
   12690 	simpler to deal with
   12691 
   12692 	* dbus/dbus-errors.c (dbus_error_has_name): new function
   12693 	(dbus_error_is_set): new function
   12694 
   12695 	* dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
   12696 	with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
   12697 
   12698 	* dbus/dbus-connection.c (dbus_connection_flush): also read
   12699 	messages during a flush operation
   12700 
   12701 	* dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
   12702 
   12703 2003-03-05  Anders Carlsson  <andersca (a] codefactory.se>
   12704 
   12705 	* configure.in: Check for gethostbyname on Solaris.
   12706 
   12707 	* dbus/dbus-transport.c: (_dbus_transport_open):
   12708 	Remove duplicate "tcp" entry.
   12709 
   12710 	* doc/dbus-specification.sgml:
   12711 	Clarify some things.
   12712 
   12713 2003-03-05  Anders Carlsson  <andersca (a] codefactory.se>
   12714 
   12715 	* dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
   12716 	* dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
   12717 	(_dbus_keyring_test):
   12718 	* dbus/dbus-md5.c: (_dbus_md5_compute):
   12719 	* dbus/dbus-sha.c: (_dbus_sha_compute):
   12720 	Plug memory leaks.
   12721 
   12722 2003-03-05  Anders Carlsson  <andersca (a] codefactory.se>
   12723 
   12724 	* README: Add some things.
   12725 
   12726 2003-03-04  Anders Carlsson  <andersca (a] codefactory.se>
   12727 
   12728 	* dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
   12729 	after case DBUS_TYPE_BOOELAN.
   12730 
   12731 2003-03-02  Havoc Pennington  <hp (a] pobox.com>
   12732 
   12733 	* test/break-loader.c (randomly_set_extreme_ints): add test that
   12734 	sets really huge and small integers
   12735 
   12736 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
   12737 	that length of boolean array fits in the string, and that
   12738 	string has room for boolean value in single-bool case.
   12739 
   12740 	* dbus/dbus-message-builder.c (_dbus_message_data_load): add
   12741 	optional value to "ALIGN" command which is what to fill the
   12742 	alignment with.
   12743 
   12744 	* test/data/valid-messages/no-padding.message: add regression
   12745 	test for the message padding problem
   12746 
   12747 2003-03-02  Havoc Pennington  <hp (a] pobox.com>
   12748 
   12749 	* dbus/dbus-message.c (decode_header_data): fix to always init
   12750 	message_padding, from Benjamin Dauvergne
   12751 
   12752 2003-03-02  Havoc Pennington  <hp (a] pobox.com>
   12753 
   12754 	* configure.in: 0.5
   12755 
   12756 	* NEWS: Update.
   12757 
   12758 2003-03-01  Joe Shaw  <joe (a] assbarn.com>
   12759 
   12760 	* configure.in: Check for "struct cmsgcred" and try to access its
   12761 	members for BSD-like unices.
   12762 
   12763 	* dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
   12764 	_dbus_read_credentials_unix_socket().
   12765 	(_dbus_read_credentials_unix_socket): Use recvmsg() instead of
   12766 	read() for reading the credential byte off the unix socket.  Use
   12767 	struct cmsgcred on systems that support it.
   12768 
   12769 2003-02-27  Alexander Larsson  <alexl (a] redhat.com>
   12770 
   12771 	* glib/Makefile.am:
   12772 	* configure.in:
   12773 	Make gthreads-2.0 dependency optional. Don't build thread test if
   12774 	its not found.
   12775 
   12776 2003-02-27  Havoc Pennington  <hp (a] pobox.com>
   12777 
   12778 	* dbus/dbus-connection.c
   12779 	(dbus_connection_send_message_with_reply_and_block): fix doh!
   12780 	doh! doh! bug that resulted in never removing a reply from the
   12781 	queue, no wonder we called get_reply_serial so much ;-)
   12782 
   12783 	* dbus/dbus-message.c (struct DBusMessage): cache reply serial
   12784 	and client serial instead of demarshaling them every time
   12785 
   12786 2003-02-27  Havoc Pennington  <hp (a] pobox.com>
   12787 
   12788 	* dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
   12789 	more inlined, using dbus-string-private.h, speeds things up
   12790 	substantially
   12791 
   12792 	* dbus/dbus-string.c (_dbus_string_free): apply align offset
   12793 	when freeing the string
   12794 	(_dbus_string_steal_data): fix for align offset
   12795 	(undo_alignment): new function
   12796 
   12797 2003-02-26  Havoc Pennington  <hp (a] redhat.com>
   12798 
   12799         All kinds of audit fixes from Owen, plus initial attempt to
   12800 	handle unaligned memory returned from malloc.
   12801 
   12802 	* dbus/dbus-string.c (_dbus_string_init): clamp max length to
   12803 	leave room for align_offset and nul byte
   12804 	(fixup_alignment): function to track an align_offset and
   12805 	ensure real->str is aligned
   12806 	(DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
   12807 	to allow a nul byte plus align offset
   12808 	(_dbus_string_lock): fix overflow issue
   12809 	(_dbus_string_init_const_len): add assertions on sanity of len,
   12810 	assign allocated to be ALLOCATION_PADDING larger than len
   12811 	(set_length): fixup the overflow handling
   12812 	(_dbus_string_get_data_len): fix overflow in assertion
   12813 	(open_gap): detect overflow in size of gap to be opened
   12814 	(_dbus_string_lengthen): add overflow check
   12815 	(_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
   12816 	(_dbus_string_append): add overflow check
   12817 	(_dbus_string_append_unichar): overflow
   12818 	(_dbus_string_delete): fix overflow in assertion
   12819 	(_dbus_string_copy_len): overflow in assertion
   12820 	(_dbus_string_replace_len): overflows in assertions
   12821 	(_dbus_string_find): change to implement in terms of
   12822 	_dbus_string_find_to
   12823 	(_dbus_string_find_to): assorted fixage
   12824 	(_dbus_string_equal_c_str): assert c_str != NULL,
   12825 	fix logic so the function works
   12826 	(_dbus_string_ends_with_c_str): fix overflow thingy
   12827 	(_dbus_string_base64_encode): overflow fix
   12828 	(_dbus_string_validate_ascii): overflow
   12829 	(_dbus_string_validate_nul): overflow
   12830 
   12831 2003-02-26  Havoc Pennington  <hp (a] redhat.com>
   12832 
   12833 	* dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
   12834 
   12835 2003-02-26  Alexander Larsson  <alexl (a] redhat.com>
   12836 
   12837 	* configure.in:
   12838 	Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
   12839 
   12840 	* dbus/dbus-connection.c:
   12841 	* dbus/dbus-connection.h:
   12842 	Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
   12843 	Add dbus_connection_set_wakeup_main_function and use it when queueing
   12844 	incoming and outgoing messages.
   12845 
   12846 
   12847 	* dbus/dbus-dataslot.c:
   12848 	Threadsafe usage of DBusDataSlotAllocator
   12849 
   12850 	* dbus/dbus-message.c: (dbus_message_get_args_iter):
   12851 	dbus_new can fail.
   12852 
   12853 	* dbus/dbus-server-unix.c:
   12854 	Add todo comment
   12855 
   12856 	* glib/dbus-gmain.c:
   12857 	Implement the new wakeup functions for glib.
   12858 
   12859 	* glib/Makefile.am:
   12860 	* glib/test-thread-client.c:
   12861 	* glib/test-thread-server.c:
   12862 	* glib/test-thread.h:
   12863 	Initial cut at some thread test code. Not really done yet.
   12864 
   12865 2003-02-26  Havoc Pennington  <hp (a] pobox.com>
   12866 
   12867 	* dbus/dbus-connection.c
   12868 	(dbus_connection_send_message_with_reply_and_block): fix crash
   12869 	where we ref'd the outgoing message instead of the returned reply
   12870 
   12871 	* dbus/dbus-transport-unix.c (do_authentication): check read watch
   12872 	at the end of this function, so if we didn't need to read for
   12873 	authentication, we reinstall it for receiving messages
   12874 
   12875 	* dbus/dbus-message.c (dbus_message_new_reply): allow replies to
   12876 	a NULL sender for peer-to-peer case
   12877 
   12878 	* dbus/dbus-transport-unix.c (check_read_watch): handle
   12879 	!authenticated case correctly
   12880 
   12881 	* glib/dbus-gmain.c: add support for DBusServer
   12882 
   12883 	* dbus/dbus-server.c: add data slot support
   12884 
   12885 	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
   12886 	return values and handle errors
   12887 
   12888 	* dbus/dbus-dataslot.c: factor out the data slot stuff from
   12889 	DBusConnection
   12890 
   12891 	* Doxyfile.in (INPUT): add glib subdir
   12892 
   12893 	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
   12894 	setup_with_g_main instead of hookup_with_g_main; write docs
   12895 
   12896 2003-02-24  Anders Carlsson  <andersca (a] codefactory.se>
   12897 
   12898 	* dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
   12899 	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
   12900 	* dbus/dbus-message.c: (dbus_message_append_boolean),
   12901 	(dbus_message_append_boolean_array),
   12902 	(dbus_message_get_args_valist), (_dbus_message_test):
   12903 	* dbus/dbus-message.h:
   12904 	* doc/dbus-specification.sgml:
   12905 	Various fixes as pointed out by Havoc.
   12906 
   12907 	* test/data/invalid-messages/bad-boolean-array.message:
   12908 	* test/data/invalid-messages/bad-boolean.message:
   12909 	Add invalid boolean value test cases.
   12910 
   12911 2003-02-24  Anders Carlsson  <andersca (a] codefactory.se>
   12912 
   12913 	* dbus/dbus-internals.c: (_dbus_type_to_string):
   12914 	* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
   12915 	(_dbus_marshal_validate_arg):
   12916 	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
   12917 	* dbus/dbus-message.c: (dbus_message_append_args_valist),
   12918 	(dbus_message_append_boolean), (dbus_message_append_boolean_array),
   12919 	(dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
   12920 	(dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
   12921 	(dbus_message_iter_get_double),
   12922 	(dbus_message_iter_get_boolean_array), (message_iter_test):
   12923 	* dbus/dbus-message.h:
   12924 	* dbus/dbus-protocol.h:
   12925 	* doc/dbus-specification.sgml:
   12926 	* test/data/valid-messages/lots-of-arguments.message:
   12927 	Add support for boolean and boolean array types.
   12928 
   12929 2003-02-23  Havoc Pennington  <hp (a] pobox.com>
   12930 
   12931 	* dbus/dbus-keyring.c: finish most of this implementation and
   12932 	simple unit test
   12933 
   12934 	* dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
   12935 	these barf if the error isn't cleared to NULL
   12936 
   12937 	* dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
   12938 	(_dbus_create_directory): new function
   12939 
   12940 	* dbus/dbus-errors.c (dbus_set_error): fix warning
   12941 
   12942 	* dbus/dbus-string.c (_dbus_string_hex_encode): new function
   12943 	(_dbus_string_hex_decode): new function
   12944 	(test_hex_roundtrip): test code
   12945 
   12946 	* dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
   12947 
   12948 	* dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
   12949 
   12950 	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
   12951 	the save-to-temp/rename trick to atomically write the new file
   12952 	(_dbus_string_parse_uint): new function
   12953 
   12954 2003-02-22  Havoc Pennington  <hp (a] pobox.com>
   12955 
   12956 	* test/Makefile.am (dist-hook): fix dist for test/data/sha-1
   12957 
   12958 2003-02-22  Havoc Pennington  <hp (a] pobox.com>
   12959 
   12960 	* dbus/dbus-message.c (dbus_message_iter_get_string_array):
   12961 	(dbus_message_iter_get_byte_array): Fix up doxygen warnings
   12962 
   12963 	* dbus/dbus-sha.c: add implementation of SHA-1 algorithm
   12964 
   12965 	* dbus/test/data/sha-1: add US government test suite for SHA-1
   12966 
   12967 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   12968 
   12969 	* dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
   12970 	Make string arrays NULL-terminated.
   12971 
   12972 	* dbus/dbus-memory.c: (dbus_free_string_array):
   12973 	* dbus/dbus-memory.h:
   12974 	New function for freeing NULL-terminated string arrays.
   12975 
   12976 	* dbus/dbus-message-builder.c: (append_quoted_string),
   12977 	(_dbus_message_data_load):
   12978 	Add support for array types.
   12979 
   12980 	* dbus/dbus-message.c: (check_message_handling):
   12981 	Add more types as test cases.
   12982 
   12983 	* dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
   12984 	(_dbus_string_parse_double):
   12985 	Add the start offset to the end offset.
   12986 
   12987 	* test/data/valid-messages/lots-of-arguments.message:
   12988 	New test message with lots of arguments.
   12989 
   12990 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   12991 
   12992 	* dbus/dbus-message.c: (dbus_message_append_nil),
   12993 	(dbus_message_append_int32), (dbus_message_append_uint32),
   12994 	(dbus_message_append_double), (dbus_message_append_string),
   12995 	(dbus_message_append_int32_array),
   12996 	(dbus_message_append_uint32_array),
   12997 	(dbus_message_append_double_array),
   12998 	(dbus_message_append_byte_array),
   12999 	(dbus_message_append_string_array):
   13000 	Fix all out-of-memory handling in these functions.
   13001 
   13002 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   13003 
   13004 	* dbus/dbus-message.c: (dbus_message_append_nil):
   13005 	Fix a silly.
   13006 
   13007 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   13008 
   13009 	* dbus/dbus-message.c: (dbus_message_append_args_valist),
   13010 	(dbus_message_append_nil), (dbus_message_append_int32_array),
   13011 	(dbus_message_append_uint32_array),
   13012 	(dbus_message_append_double_array),
   13013 	(dbus_message_append_byte_array),
   13014 	(dbus_message_append_string_array), (dbus_message_get_args_valist),
   13015 	(dbus_message_iter_get_int32_array),
   13016 	(dbus_message_iter_get_uint32_array),
   13017 	(dbus_message_iter_get_double_array),
   13018 	(dbus_message_iter_get_byte_array),
   13019 	(dbus_message_iter_get_string_array):
   13020 
   13021 	* dbus/dbus-message.h:
   13022 	Add functions for appending and getting arrays.
   13023 
   13024 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   13025 
   13026 	* dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
   13027 	element size at least 8 bytes, fixes mempool tests on
   13028 	64-bit machines.
   13029 
   13030 2003-02-20  Alexander Larsson  <alexl (a] redhat.com>
   13031 
   13032 	* dbus/dbus-transport-unix.c (unix_do_iteration):
   13033 	Unlock the connection mutex during a blocking select call.
   13034 	Add todo about how we need a way to wake up the select.
   13035 
   13036 	* dbus/dbus-connection-internal.h:
   13037 	* dbus/dbus-connection.c:
   13038 	Add _dbus_connection_lock and _dbus_connection_unlock.
   13039 
   13040 2003-02-19  Havoc Pennington  <hp (a] pobox.com>
   13041 
   13042 	* Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
   13043 	Doxyfile.in, not Doxyfile
   13044 
   13045 	* dbus/dbus-keyring.c: do some hacking on this
   13046 
   13047 	* dbus/dbus-sysdeps.c (_dbus_delete_file): new
   13048 
   13049 	* dbus/dbus-errors.c (dbus_set_error_const): do not call
   13050 	dbus_error_init
   13051 	(dbus_set_error): remove dbus_error_init, check for message ==
   13052 	NULL *before* we sprintf into it, and add @todo about including
   13053 	system headers in this file
   13054 
   13055 	* dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
   13056 
   13057 	* dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
   13058 
   13059 	* dbus/dbus-sysdeps.c (get_user_info): break this function out to
   13060 	get various bits of user information based on either username
   13061 	or user ID
   13062 	(_dbus_homedir_from_username): new function
   13063 
   13064 2003-02-19  Anders Carlsson  <andersca (a] codefactory.se>
   13065 
   13066 	* configure.in:
   13067 	Add check for nonposix getpwnam_r
   13068 
   13069 	* dbus/dbus-mempool.c: (_dbus_mem_pool_new):
   13070 	Align the pool element size to a sizeof (void *) boundary.
   13071 
   13072 	* dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
   13073 	(_dbus_listen_unix_socket), (_dbus_credentials_from_username):
   13074 	General Solaris fixes.
   13075 
   13076 	* test/data/valid-messages/simplest-manual.message:
   13077 	Explicitly state that we want little-endian packing.
   13078 
   13079 2003-02-19  Mikael Hallendal  <micke (a] codefactory.se>
   13080 
   13081 	* dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
   13082 
   13083 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
   13084 	Added to create a transport connecting using a tcp/ip socket.
   13085 
   13086 	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
   13087 	to a tcp socket at given host and port.
   13088 	(_dbus_listen_tcp_socket): added to listen on tcp socket for given
   13089 	hostname and port.
   13090 
   13091 	* dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
   13092 
   13093 	* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
   13094 	Added to create a server listening on a TCP/IP socket.
   13095 
   13096 2003-02-19  Havoc Pennington  <hp (a] pobox.com>
   13097 
   13098 	Throughout: mop up all the Doxygen warnings and undocumented
   13099 	stuff.
   13100 
   13101 	* dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
   13102 	to search any paths.
   13103 
   13104 	* dbus/dbus-threads.c: move global mutex initializers to
   13105 	dbus-internals.h, multiple prototypes was confusing doxygen
   13106 	besides being kind of ugly
   13107 
   13108 	* Doxyfile (PREDEFINED): have Doxygen define
   13109 	DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
   13110 	docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
   13111 	(do not abuse the feature! it's for stuff like the autogenerated
   13112 	macros in dbus-md5.c, not just for things you don't feel like
   13113 	documenting...)
   13114 
   13115 2003-02-18  Havoc Pennington  <hp (a] pobox.com>
   13116 
   13117 	* dbus/dbus-string.c (_dbus_string_zero): new function
   13118 
   13119 	* dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
   13120 	wrap it in some dbus-friendly API
   13121 
   13122 	* dbus/dbus-types.h: add 16-bit types
   13123 
   13124 2003-02-18  Joe Shaw  <joe (a] assbarn.com>
   13125 
   13126 	* dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
   13127 	credentials from our currently running process.
   13128 	(get_word): Fix a buglet where we were copying the entire length
   13129 	instead of relative to our position.
   13130 
   13131 	* dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
   13132 	keys on the stack... it's 640k of data.
   13133 
   13134 	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
   13135 	read the credentials byte off the socket, even if we don't have
   13136 	SO_PEERCRED.
   13137 	(_dbus_poll): Implement poll() using select() for systems which
   13138 	don't have it.
   13139 
   13140 	* glib/test-dbus-glib.c (main): Print out an error if no
   13141 	parameters are given.
   13142 
   13143 	* test/data/auth/fallback.auth-script: Added.  Tests that a client
   13144 	can fallback to a secondary auth mechanism if the first fails.
   13145 
   13146 2003-02-18  Havoc Pennington  <hp (a] pobox.com>
   13147 
   13148 	* AUTHORS: add Alex
   13149 
   13150 2003-02-17  Havoc Pennington  <hp (a] pobox.com>
   13151 
   13152 	* doc/dbus-specification.sgml: lots of cosmetic
   13153 	cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
   13154 	env variable to DBUS_BUS_ADDRESS, s/client/application/,
   13155 	s/server/bus/ (except in authentication section). Add a section
   13156 	"Message Bus Message Routing"
   13157 
   13158 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se.>
   13159 
   13160 	Release 0.4
   13161 
   13162 	* NEWS: Update
   13163 
   13164 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se>
   13165 
   13166 	* doc/dbus-specification.sgml:
   13167 	Specification updates.
   13168 
   13169 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se>
   13170 
   13171 	* bus/activation.c: (bus_activation_init), (child_setup),
   13172 	(bus_activation_activate_service):
   13173 	* bus/activation.h:
   13174 	* bus/main.c: (main):
   13175 	Set DBUS_ADDRESS environment variable.
   13176 
   13177 	* dbus/dbus-errors.c: (dbus_set_error):
   13178 	Don't use va_copy since that's a C99 feature.
   13179 
   13180 	* dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
   13181 	(_dbus_spawn_async):
   13182 	* dbus/dbus-sysdeps.h:
   13183 	Add child_setup_func to _dbus_spawn_async.
   13184 
   13185 	* doc/dbus-specification.sgml:
   13186 	Update specification.
   13187 
   13188 	* test/spawn-test.c: (setup_func), (main):
   13189 	Fix test.
   13190 
   13191 2003-02-17  Alexander Larsson  <alexl (a] redhat.com>
   13192 
   13193 	* dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
   13194 	Added todo.
   13195 
   13196 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se>
   13197 
   13198 	* doc/.cvsignore:
   13199 	* doc/Makefile.am:
   13200 	* doc/dbus-test-plan.sgml:
   13201 	Add test plan document.
   13202 
   13203 	* test/Makefile.am:
   13204 	Fix distcheck.
   13205 
   13206 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se>
   13207 
   13208 	* dbus/dbus-message.c: (decode_header_data),
   13209 	(_dbus_message_loader_return_buffer):
   13210 	Set the header padding amount when loading a message.
   13211 
   13212 2003-02-16  Anders Carlsson  <andersca (a] codefactory.se>
   13213 
   13214 	* bus/dispatch.c: (send_one_message):
   13215 	Only send broadcast messages to registered connections.
   13216 
   13217 	* dbus/dbus-message.c: (dbus_message_name_is):
   13218 	* dbus/dbus-message.h:
   13219 	New convenience function.
   13220 
   13221 	* dbus/dbus-transport-debug.c: (do_reading):
   13222 	Only dispatch one message per run.
   13223 
   13224 	* test/Makefile.am:
   13225 	* test/bus-test.c: (new_connection_callback), (die),
   13226 	(test_hello_client1_handler), (test_hello_client2_handler),
   13227 	(test_hello_replies), (main):
   13228 
   13229 	* test/bus-test-loop.[ch]:
   13230 	Add these.
   13231 
   13232 2003-02-16  Havoc Pennington  <hp (a] pobox.com>
   13233 
   13234 	* dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
   13235 	backward conditional
   13236 
   13237 2003-02-16  Alexander Larsson  <alexl (a] redhat.com>
   13238 
   13239 	* dbus/dbus-connection.c:
   13240 	Implement sent_message_with_reply. (with_reply_and block is still
   13241 	busted).
   13242 	Made dispatch_message not lose message if OOM.
   13243 
   13244 	* dbus/dbus-errors.h:
   13245 	Add NoReply error (for reply timeouts).
   13246 
   13247 2003-02-16  Alexander Larsson  <alexl (a] redhat.com>
   13248 
   13249 	* dbus/dbus-hash.c (_dbus_hash_table_unref):
   13250 	Actually free keys and values when destroying hashtable.
   13251 
   13252 2003-02-16  Anders Carlsson  <andersca (a] codefactory.se>
   13253 
   13254 	* dbus/dbus-auth.c: (client_try_next_mechanism):
   13255 	Plug a leak.
   13256 
   13257 	* dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
   13258 	Return TRUE if there's no thread implementation around.
   13259 
   13260 	* glib/dbus-gmain.c: (free_source),
   13261 	(dbus_connection_hookup_with_g_main):
   13262 	Make sure to remove the GSource when the connection is finalized.
   13263 
   13264 2003-02-16  Anders Carlsson  <andersca (a] codefactory.se>
   13265 
   13266 	* bus/dispatch.c: (bus_dispatch_message_handler):
   13267 	* dbus/dbus-errors.h:
   13268 	Return an error if someone tries to send a message to a service
   13269 	that doesn't exist.
   13270 
   13271 2003-02-16  Anders Carlsson  <andersca (a] codefactory.se>
   13272 
   13273 	* bus/activation.c: (load_directory), (bus_activation_init),
   13274 	(bus_activation_activate_service):
   13275 	* bus/activation.h:
   13276 	* bus/driver.c:
   13277 	(bus_driver_handle_activate_service), (bus_driver_handle_message):
   13278 	More work on the activation handling.
   13279 
   13280 	* dbus/dbus-errors.h:
   13281 	Add some error messages
   13282 
   13283 	* dbus/dbus-message.c: (dbus_message_new_error_reply):
   13284 	* dbus/dbus-message.h:
   13285 	New function that creates an error message.
   13286 
   13287 	* dbus/dbus-protocol.h:
   13288 	Add ACTIVATE_SERVER message.
   13289 
   13290 	* dbus/dbus-server-unix.c: (unix_handle_watch),
   13291 	(_dbus_server_new_for_domain_socket):
   13292 	Call _dbus_fd_set_close_on_exec.
   13293 
   13294 	* dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
   13295 	(_dbus_spawn_async), (_dbus_disable_sigpipe),
   13296 	(_dbus_fd_set_close_on_exec):
   13297 	* dbus/dbus-sysdeps.h:
   13298 	Add _dbus_fd_set_close_on exec function. Also add function that checks
   13299 	that all open fds are set to close-on-exec and warns otherwise.
   13300 
   13301 	* dbus/dbus-transport-unix.c:
   13302 	(_dbus_transport_new_for_domain_socket):
   13303 	Call _dbus_fd_set_close_on_exec.
   13304 
   13305 2003-02-16  Havoc Pennington  <hp (a] pobox.com>
   13306 
   13307 	* dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
   13308 	allow people to avoid setting SIGPIPE to SIG_IGN
   13309 	(_dbus_connection_new_for_transport): disable SIGPIPE unless
   13310 	we've been asked not to
   13311 
   13312 2003-02-15  Anders Carlsson  <andersca (a] codefactory.se>
   13313 
   13314 	* dbus/dbus-list.c: (_dbus_list_append_link),
   13315 	(_dbus_list_prepend_link):
   13316 	* dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
   13317 	(dbus_realloc):
   13318 	Warning fixes.
   13319 
   13320 2003-02-15  Anders Carlsson  <andersca (a] codefactory.se>
   13321 
   13322 	* bus/Makefile.am:
   13323 	* bus/activation.c: (bus_activation_entry_free),
   13324 	(add_desktop_file_entry), (load_directory), (bus_activation_init):
   13325 	* bus/activation.h:
   13326 	* bus/main.c: (main):
   13327 	Add simple activation support, doesn't work yet though.
   13328 
   13329 2003-02-15   Zack Rusin  <zack (a] kde.org>
   13330 
   13331 	* qt/dbus-qthread.cpp:  small casting fix
   13332 
   13333 2003-02-15  Anders Carlsson  <andersca (a] codefactory.se>
   13334 
   13335 	* dbus/dbus-errors.c: (dbus_set_error):
   13336 	* dbus/dbus-errors.h:
   13337 	Add a few errors and make dbus_set_error void.
   13338 
   13339 	* dbus/dbus-sysdeps.c:
   13340 	(_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
   13341 	(write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
   13342 	* dbus/dbus-sysdeps.h:
   13343 	Add _dbus_spawn_async.
   13344 
   13345 	* test/spawn-test.c: (main):
   13346 	Test for _dbus_spawn_async.
   13347 
   13348 2003-02-15  Anders Carlsson  <andersca (a] codefactory.se>
   13349 
   13350 	* dbus/dbus-internals.h:
   13351 	Fix build without tests.
   13352 
   13353 	* dbus/dbus-list.c: (alloc_link):
   13354 	Fix a segfault when a malloc fails.
   13355 
   13356 	* dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
   13357 	(dbus_malloc0), (dbus_realloc):
   13358 	Add support for malloc debugging.
   13359 
   13360 2003-02-15  Alexander Larsson  <alexl (a] redhat.com>
   13361 
   13362 	* dbus/dbus-threads.c:
   13363 	* dbus/dbus-threads.h:
   13364 	Add condvars. Remove static mutext from API.
   13365 	Implement static mutexes by initializing them from threads_init.
   13366 
   13367 	* glib/dbus-gthread.c:
   13368 	* qt/dbus-qthread.cpp:
   13369 	Update with the thread api changes.
   13370 
   13371 
   13372 	* dbus/dbus-list.c:
   13373 	* dbus/dbus-list.h:
   13374 	Turn StaticMutex into normal mutex + init function.
   13375 	Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
   13376 	_dbus_list_append_link, _dbus_list_prepend_link
   13377 
   13378 
   13379 	* dbus/dbus-sysdeps.c:
   13380 	* dbus/dbus-sysdeps.h:
   13381 	New type dbus_atomic_t, and new functions _dbus_atomic_inc,
   13382 	_dbus_atomic_dec. Only slow fallback implementation at the moment.
   13383 
   13384 	* dbus/dbus-protocol.h:
   13385 	Add DBUS_MESSAGE_LOCAL_DISCONNECT define
   13386 
   13387 	* dbus/dbus-message.c:
   13388 	Make ref/unref atomic.
   13389 	Fix some docs.
   13390 
   13391 	* dbus/dbus-connection-internal.h:
   13392 	* dbus/dbus-connection.c:
   13393 	* dbus/dbus-connection.h:
   13394 	Make threadsafe.
   13395 	Change _peek to _borrow,_return & _steal_borrowed.
   13396 	Change disconnect callback to event.
   13397 	Make dbus_connection_dispatch_messages reentrant.
   13398 
   13399 	* dbus/dbus-transport.c:
   13400 	Don't ref the connection on calls to the transport
   13401 	implementation.
   13402 
   13403 	* dbus/dbus-message-handler.c:
   13404 	Make threadsafe.
   13405 
   13406 	* glib/dbus-gmain.c:
   13407 	Don't use peek_message anymore
   13408 
   13409 	* test/Makefile.am:
   13410 	* test/debug-thread.c:
   13411 	* test/debug-thread.h:
   13412 	Simple thread implementation that asserts() on deadlocks in
   13413 	single-threaded code.
   13414 
   13415 	* test/bus-test.c:
   13416 	(main) Call debug_threads_init.
   13417 
   13418 	* test/watch.c:
   13419 	Use disconnect message instead of disconnect callback.
   13420 
   13421 	* bus/connection.c:
   13422 	* bus/connection.h:
   13423 	Don't call dbus_connection_set_disconnect_function. Instead export
   13424 	bus_connection_disconnect.
   13425 
   13426 	* bus/dispatch.c:
   13427 	Call bus_connection_disconnect when we get a disconnected message.
   13428 
   13429 2003-02-15  Havoc Pennington  <hp (a] pobox.com>
   13430 
   13431 	* dbus/dbus-message.c (dbus_message_new): fool around with the
   13432 	docs
   13433 
   13434 2003-02-14  Havoc Pennington  <hp (a] pobox.com>
   13435 
   13436 	* dbus/dbus-mempool.c: fail if the debug functions so indicate
   13437 
   13438 	* dbus/dbus-memory.c: fail if the debug functions indicate we
   13439 	should
   13440 
   13441 	* dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
   13442 	(_dbus_decrement_fail_alloc_counter): debug functions to
   13443 	simulate memory allocation failures
   13444 
   13445 2003-02-14  Havoc Pennington  <hp (a] pobox.com>
   13446 
   13447 	* dbus/dbus-errors.h (struct DBusError): add a word of padding
   13448 	to DBusError
   13449 
   13450 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13451 
   13452 	* bus/driver.c: (bus_driver_handle_hello):
   13453 	* bus/driver.h:
   13454 	* bus/services.c: (bus_service_lookup):
   13455 	Reorder message sending so we get a more sane order.
   13456 
   13457 	* test/bus-test.c: (message_handler):
   13458 	Fix tyop.
   13459 
   13460 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13461 
   13462 	* bus/driver.c: (bus_driver_send_service_deleted),
   13463 	(bus_driver_send_service_created), (bus_driver_send_service_lost),
   13464 	(bus_driver_send_service_acquired), (bus_driver_handle_hello),
   13465 	(bus_driver_send_welcome_message),
   13466 	(bus_driver_handle_list_services),
   13467 	(bus_driver_handle_acquire_service),
   13468 	(bus_driver_handle_service_exists):
   13469 	* dbus/dbus-bus.c: (dbus_bus_register_client),
   13470 	(dbus_bus_acquire_service), (dbus_bus_service_exists):
   13471 	* dbus/dbus-errors.c: (dbus_result_to_string):
   13472 	* dbus/dbus-errors.h:
   13473 	* dbus/dbus-message.c: (dbus_message_append_args),
   13474 	(dbus_message_append_args_valist), (dbus_message_get_args),
   13475 	(dbus_message_get_args_valist), (dbus_message_get_args_iter),
   13476 	(dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
   13477 	(dbus_message_iter_get_byte_array),
   13478 	(dbus_message_iter_get_string_array), (message_iter_test),
   13479 	(check_message_handling), (_dbus_message_test):
   13480 	* dbus/dbus-message.h:
   13481 	* test/bus-test.c: (main):
   13482 	Change fields to arguments in messages, so that they won't be
   13483 	confused with header fields.
   13484 
   13485 	* glib/test-dbus-glib.c: (main):
   13486 	Remove append_fields from hello message.
   13487 
   13488 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13489 
   13490 	* dbus/dbus-errors.c:
   13491 	* dbus/dbus-message.c:
   13492 	* dbus/dbus-string.c:
   13493 	Documentation fixes.
   13494 
   13495 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13496 
   13497 	* glib/dbus-gmain.c: (timeout_handler), (add_timeout),
   13498 	(remove_timeout):
   13499 	Implement support for timeouts in dbus-glib.
   13500 
   13501 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13502 
   13503 	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
   13504 	* dbus/dbus-message.c: (process_test_subdir):
   13505 	* test/break-loader.c: (find_breaks_based_on):
   13506 	Plug some memory leaks.
   13507 
   13508 2003-02-13  Richard Hult  <rhult (a] codefactory.se>
   13509 
   13510 	* bus/main.c: Fix build.
   13511 
   13512 	* dbus/dbus-errors.h:
   13513 	* dbus/dbus-errors.c: Fix copyright for Anders.
   13514 
   13515 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13516 
   13517 	* bus/Makefile.am:
   13518 	Add utils.[ch]
   13519 
   13520 	* bus/connection.c: (bus_connection_foreach):
   13521 	Fix a warning.
   13522 
   13523 	* bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
   13524 	(unescape_string), (new_section), (parse_section_start),
   13525 	(parse_key_value), (report_error), (bus_desktop_file_load),
   13526 	(bus_desktop_file_get_string):
   13527 	* bus/desktop-file.h:
   13528 	Use DBusError for error reporting.
   13529 
   13530 	* bus/dispatch.c: (send_one_message),
   13531 	(bus_dispatch_message_handler):
   13532 	* bus/driver.c: (bus_driver_send_service_deleted),
   13533 	(bus_driver_send_service_created), (bus_driver_send_service_lost),
   13534 	(bus_driver_send_service_acquired), (bus_driver_handle_hello),
   13535 	(bus_driver_send_welcome_message),
   13536 	(bus_driver_handle_list_services),
   13537 	(bus_driver_handle_acquire_service),
   13538 	(bus_driver_handle_service_exists):
   13539 	* bus/loop.c: (bus_loop_run):
   13540 	* bus/main.c:
   13541 	Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
   13542 
   13543 	* bus/utils.c: (bus_wait_for_memory):
   13544 	* bus/utils.h:
   13545 	New files with general utility functions.
   13546 
   13547 	* dbus/dbus-internals.h:
   13548 	Remove _DBUS_HANDLE_OOM.
   13549 
   13550 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13551 
   13552 	* dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
   13553 	(dbus_error_free), (dbus_set_error_const), (dbus_set_error):
   13554 	* dbus/dbus-errors.h:
   13555 	Add DBusError structure.
   13556 
   13557 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13558 
   13559 	* test/data/valid-messages/standard-acquire-service.message:
   13560 	* test/data/valid-messages/standard-hello.message:
   13561 	* test/data/valid-messages/standard-list-services.message:
   13562 	* test/data/valid-messages/standard-service-exists.message:
   13563 	Add some standard messages.
   13564 
   13565 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13566 
   13567 	* bus/driver.c: (bus_driver_send_welcome_message),
   13568 	(bus_driver_handle_list_services),
   13569 	(bus_driver_handle_acquire_service),
   13570 	(bus_driver_handle_service_exists), (bus_driver_handle_message):
   13571 	Update for API changes in libdbus.
   13572 
   13573 	* dbus/dbus-message.c: (dbus_message_new_reply):
   13574 	* dbus/dbus-message.h:
   13575 	Remove the name argument. The spec states that replies shouldn't
   13576 	have a name.
   13577 
   13578 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13579 
   13580 	* bus/desktop-file.c: (parse_section_start), (parse_key_value),
   13581 	(report_error), (bus_desktop_file_load), (lookup_section),
   13582 	(lookup_line), (bus_desktop_file_get_raw),
   13583 	(bus_desktop_file_get_string):
   13584 	* bus/desktop-file.h:
   13585 	Some fixes, and new functions for getting a key value from a section.
   13586 
   13587 2003-02-13  Havoc Pennington  <hp (a] pobox.com>
   13588 
   13589 	* test/data/auth/fail-after-n-attempts.auth-script: new test
   13590 
   13591 	* dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
   13592 	reject the client.
   13593 
   13594 2003-02-13  Havoc Pennington  <hp (a] pobox.com>
   13595 
   13596 	* dbus/dbus-auth.c (handle_server_data_external_mech): args to
   13597 	dbus_credentials_match were backward
   13598 
   13599 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): support
   13600 	NO_CREDENTIALS and ROOT_CREDENTIALS
   13601 
   13602 	* dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
   13603 	into here. Never process more commands after we've reached an
   13604 	end state; store further data as unused bytes.
   13605 
   13606 	* test/data/auth/*: add more auth tests
   13607 
   13608 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
   13609 	command to match exact string and EXPECT_UNUSED to match unused
   13610 	bytes
   13611 
   13612 	* test/Makefile.am (dist-hook): fix to dist all the test stuff
   13613 
   13614 2003-02-12  Havoc Pennington  <hp (a] pobox.com>
   13615 
   13616 	* dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
   13617 	\r off of popped lines
   13618 
   13619 	* dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
   13620 	scripts
   13621 
   13622 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
   13623 	SEND, append \r\n
   13624 
   13625 2003-02-12  Havoc Pennington  <hp (a] pobox.com>
   13626 
   13627 	* dbus/Makefile.am: remove break-loader from the build, since it
   13628 	moved.
   13629 
   13630 	* configure.in: add --enable-gcov to turn on coverage profiling
   13631 	flags and disable optimization
   13632 
   13633 2003-02-10  Havoc Pennington  <hp (a] pobox.com>
   13634 
   13635         * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync
   13636 	initial cut at test framework for DBusAuth from laptop.
   13637 	Doesn't quite work yet but it compiles and I need to get
   13638 	it off the 266mhz laptop. ;-)
   13639 
   13640 	* dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
   13641 	fix a memleak in error case
   13642 
   13643 2003-02-12  Anders Carlsson  <andersca (a] codefactory.se>
   13644 
   13645 	* bus/Makefile.am:
   13646 	* bus/desktop-file.c:
   13647 	* bus/desktop-file.h:
   13648 	Add a desktop file parser.
   13649 
   13650 2003-02-11  Zack Rusin  <zack (a] kde.org>
   13651 
   13652 	* qt/message.[h|cpp]: sample implementation
   13653 	of the KDE wrapper for DBusMessage
   13654 
   13655 2003-02-09  Zack Rusin  <zack (a] kde.org>
   13656 
   13657 	* test/bus-test.c: make_it_compile
   13658 	* doc/dbus-specification.sgml: minimal semantic fix
   13659 
   13660 2003-02-06  Anders Carlsson  <andersca (a] codefactory.se>
   13661 
   13662 	Release 0.3
   13663 
   13664 	* NEWS: Update
   13665 
   13666 2003-02-06  Anders Carlsson  <andersca (a] codefactory.se>
   13667 
   13668 	* dbus/Makefile.am:
   13669 	* dbus/dbus-break-loader.c:
   13670 	* test/Makefile.am:
   13671 	* test/break-loader.c:
   13672 	Move dbus-break-loader to test/ and rename it to break-loader.
   13673 
   13674 2003-02-02  Havoc Pennington  <hp (a] pobox.com>
   13675 
   13676 	* dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files
   13677 	for code to manage cookies in your home directory
   13678 
   13679 	* dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
   13680 
   13681 	* dbus/dbus-auth.c (get_state): impose a maximum number of tries
   13682 	to authenticate, then disconnect the client.
   13683 
   13684 2003-02-03  Alexander Larsson  <alexl (a] redhat.com>
   13685 
   13686 	* dbus/dbus-message.c (dbus_message_append_fields):
   13687 	Correct docs.
   13688 
   13689 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13690 
   13691 	* doc/dbus-specification.sgml:
   13692 	Update address format section.
   13693 
   13694 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13695 
   13696 	* test/Makefile.am:
   13697 	* test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
   13698 	(message_handler), (new_connection_callback), (loop_quit),
   13699 	(loop_run), (main):
   13700 	Add bus test.
   13701 
   13702 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13703 
   13704 	* bus/driver.c: (bus_driver_handle_service_exists):
   13705 	Simplify the code a bit.
   13706 
   13707 	* dbus/dbus-bus.c: (dbus_bus_service_exists):
   13708 	Fix a silly.
   13709 
   13710 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13711 
   13712 	* bus/Makefile.am:
   13713 	Add libdbus-daemon.la and link to it.
   13714 
   13715 2003-02-01  James Willcox  <jwillcox (a] gnome.org>
   13716 
   13717 	* bus/driver.c: (bus_driver_handle_own_service):
   13718 	Actually include the service reply code in the message.
   13719 
   13720 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13721 
   13722 	* bus/driver.c: (bus_driver_handle_service_exists):
   13723 	Don't unref the incoming message.
   13724 
   13725 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13726 
   13727 	* dbus/dbus.h: Add dbus-address.h and dbus-bus.h
   13728 
   13729 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13730 
   13731 	* dbus/dbus-server.c: (dbus_server_listen):
   13732 	* dbus/dbus-transport.c: (_dbus_transport_open):
   13733 	ifdef out the calls to the debug transport and server.
   13734 
   13735 2003-02-02  Alexander Larsson  <alexl (a] redhat.com>
   13736 
   13737 	* dbus/dbus-watch.c (dbus_watch_get_flags):
   13738 	Add note in the docs that ERROR or HANGUP won't be returned
   13739 	and are assumed always on.
   13740 
   13741 	* glib/dbus-gmain.c (add_watch):
   13742 	Always add IO_ERR | IO_HUP
   13743 
   13744 	* dbus/dbus-message.h:
   13745 	Add semicolon after dbus_message_iter_get_string_array().
   13746 	Makes qt code build again
   13747 
   13748 2003-02-01  Anders Carlsson  <andersca (a] codefactory.se>
   13749 
   13750 	* bus/driver.c: (create_unique_client_name),
   13751 	(bus_driver_handle_hello):
   13752 	Don't take a name, just use a numeric id to identify
   13753 	each client.
   13754 
   13755 	* dbus/Makefile.am:
   13756 	* dbus/dbus-bus.c: (dbus_bus_register_client),
   13757 	(dbus_bus_acquire_service), (dbus_bus_service_exists):
   13758 	* dbus/dbus-bus.h:
   13759 	Add new convenience functions for communicating with the bus.
   13760 
   13761 	* dbus/dbus-message.h:
   13762 
   13763 	* dbus/dbus-protocol.h:
   13764 	Fix a typo.
   13765 
   13766 2003-02-01  Alexander Larsson  <alexl (a] redhat.com>
   13767 
   13768 	* dbus/dbus-message.c (dbus_message_append_fields):
   13769 	Add some more doc comments.
   13770 
   13771 2003-02-01  Havoc Pennington  <hp (a] pobox.com>
   13772 
   13773 	* dbus/dbus-break-loader.c (randomly_modify_length): change
   13774 	a 4-byte value in the message as if it were a length
   13775 
   13776 	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
   13777 	execute bit on saved files
   13778 
   13779 2003-02-01  Havoc Pennington  <hp (a] pobox.com>
   13780 
   13781 	* dbus/dbus-break-loader.c (main): new program to find messages
   13782 	that break the loader.
   13783 
   13784 	* dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
   13785 	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
   13786 
   13787 	* dbus/dbus-string.c (_dbus_string_set_byte): new
   13788 
   13789 2003-01-31  Havoc Pennington  <hp (a] pobox.com>
   13790 
   13791 	* dbus/dbus-message.c: refactor the test code to be more general,
   13792 	in preparation for writing a "randomly permute test cases to
   13793 	try to break the loader" program.
   13794 
   13795 2003-01-31  Havoc Pennington  <hp (a] pobox.com>
   13796 
   13797 	* doc/dbus-specification.sgml: work on the specification
   13798 
   13799 	* dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
   13800 	the protocol version of the message.
   13801 
   13802 	* dbus/dbus-protocol.h: drop special _REPLY names, the spec
   13803 	no longer specifies that.
   13804 	(DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
   13805 	1/2/3/4)
   13806 
   13807 	* dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
   13808 	"break" for DBUS_TYPE_NIL, remove @todo
   13809 
   13810 2003-01-31  Havoc Pennington  <hp (a] pobox.com>
   13811 
   13812 	* dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
   13813 	just set_is_error/get_is_error as this is a commonly-used
   13814 	function, and write docs.
   13815 
   13816 2003-01-31  Anders Carlsson  <andersca (a] codefactory.se>
   13817 
   13818 	* dbus/dbus-address.c: (dbus_address_entry_free):
   13819 	Free key and value lists.
   13820 
   13821 	* dbus/dbus-internals.c: (_dbus_type_to_string):
   13822 	Add the types we didn't have.
   13823 
   13824 	* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
   13825 	(_dbus_marshal_validate_arg):
   13826 	Add NIL types.
   13827 
   13828 	* dbus/dbus-message.c: (dbus_message_set_sender):
   13829 	Remove todo about being able to set sender to NULL.
   13830 
   13831 	(dbus_message_set_is_error_reply),
   13832 	(dbus_message_get_is_error_reply):
   13833 	* dbus/dbus-message.h:
   13834 	New functions.
   13835 
   13836 	* dbus/dbus-protocol.h:
   13837 	Add error reply flag.
   13838 
   13839 	* test/data/valid-messages/opposite-endian.message:
   13840 	Add NIL type to test.
   13841 
   13842 2003-01-31  Havoc Pennington  <hp (a] pobox.com>
   13843 
   13844 	* doc/dbus-specification.sgml: fully specify the header.  Add
   13845 	flags and major protocol version, and change header/body len to
   13846 	unsigned.
   13847 
   13848 	* dbus/dbus-message-builder.c (append_saved_length): append length
   13849 	as uint32
   13850 
   13851 	* dbus/dbus-message.c (dbus_message_create_header): change header
   13852 	length and body length to unsigned. Add the new fields from the
   13853 	spec
   13854 	(_dbus_message_loader_return_buffer): unsigned header/body len
   13855 
   13856 2003-01-30  Havoc Pennington  <hp (a] pobox.com>
   13857 
   13858 	* dbus/dbus-auth.c: rework to use only REJECTED, no
   13859 	MECHANISMS
   13860 
   13861 	* doc/dbus-sasl-profile.txt: drop MECHANISMS and just
   13862 	use REJECTED, suggested by Mark McLoughlin
   13863 
   13864 2003-01-30  Havoc Pennington  <hp (a] pobox.com>
   13865 
   13866 	* dbus/dbus-server.c (dbus_server_listen): @todo about how we need
   13867 	a better way to report errors here. e.g.  "unix address lacks
   13868 	path" or something. also "no such file" when the path doesn't
   13869 	exist, etc.
   13870 
   13871 	* dbus/dbus-address.c (dbus_address_entries_free): add @todo about
   13872 	leaking list nodes
   13873 	(dbus_parse_address): add @todo about documenting address format,
   13874 	and allowing , and ; to be escaped
   13875 
   13876 2003-01-30  Anders Carlsson  <andersca (a] codefactory.se>
   13877 
   13878 	* dbus/Makefile.am:
   13879 	Add dbus-address.[ch]
   13880 
   13881 	* dbus/dbus-address.c: (dbus_address_entry_free),
   13882 	(dbus_address_entries_free), (create_entry),
   13883 	(dbus_address_entry_get_method), (dbus_address_entry_get_value),
   13884 	(dbus_parse_address), (_dbus_address_test):
   13885 	* dbus/dbus-address.h:
   13886 	New files for dealing with address parsing.
   13887 
   13888 	* dbus/dbus-connection.c:
   13889 	Document timeout functions.
   13890 
   13891 	* dbus/dbus-message.c:
   13892 	Document dbus_message_new_from_message.
   13893 
   13894 	* dbus/dbus-server-debug.c:
   13895 	Document.
   13896 
   13897 	* dbus/dbus-server.c: (dbus_server_listen):
   13898 	Parse address and use correct server implementation.
   13899 
   13900 	* dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
   13901 	* dbus/dbus-string.h:
   13902 	New function with test.
   13903 
   13904 	* dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
   13905 	* dbus/dbus-test.h:
   13906 	Add address tests.
   13907 
   13908 	* dbus/dbus-transport-debug.c:
   13909 	Document.
   13910 
   13911 	* dbus/dbus-transport.c: (_dbus_transport_open):
   13912 	Parse address and use correct transport implementation.
   13913 
   13914 2003-01-30  Havoc Pennington  <hp (a] pobox.com>
   13915 
   13916 	* dbus/dbus-message.c: use message->byte_order instead of
   13917 	DBUS_COMPILER_BYTE_ORDER throughout.
   13918 	(dbus_message_create_header): pad header to align the
   13919 	start of the body of the message to 8-byte boundary
   13920 
   13921 	* dbus/dbus-marshal.h: make all the demarshalers take const
   13922 	DBusString arguments.
   13923 
   13924 	* dbus/dbus-message.c (_dbus_message_loader_return_buffer):
   13925 	validate message args here, so we don't have to do slow validation
   13926 	later, and so we catch bad messages as they are incoming. Also add
   13927 	better checks on header_len and body_len. Also fill in
   13928 	message->byte_order
   13929 
   13930 	* dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
   13931 	implemented properly)
   13932 	(_dbus_string_validate_nul): new function to check all-nul
   13933 
   13934 	* dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
   13935 	get_arg_end_pos and remove all validation
   13936 	(_dbus_marshal_validate_arg): actually do validation here.
   13937 
   13938 2003-01-29  Havoc Pennington  <hp (a] pobox.com>
   13939 
   13940 	* dbus/dbus-message.c (check_message_handling): fix assertion
   13941 	failure on set_client_serial
   13942 
   13943 2003-01-28  Havoc Pennington  <hp (a] pobox.com>
   13944 
   13945 	* dbus/dbus-server-debug.c: Add doc section comments
   13946 
   13947 	* dbus/dbus-transport-debug.c: add doc section comments
   13948 
   13949 2003-01-28  Havoc Pennington  <hp (a] redhat.com>
   13950 
   13951 	* dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
   13952 	the reverse order from how I had it
   13953 	(_dbus_string_base64_encode): reverse encoding order. I was
   13954 	basically byteswapping everything during encoding.
   13955 
   13956 2003-01-28  Anders Carlsson  <andersca (a] codefactory.se>
   13957 
   13958 	* dbus/dbus-connection-internal.h:
   13959 	* dbus/dbus-connection.c: (_dbus_connection_add_timeout),
   13960 	(_dbus_connection_remove_timeout):
   13961 	Add functions for adding and removing timeouts.
   13962 
   13963 	* dbus/dbus-message.c: (dbus_message_new_from_message):
   13964 	Add new function that takes a message and creates an exact
   13965 	copy of it, but with the refcount set to 1.
   13966 	(check_message_handling):
   13967 	Fix build error.
   13968 
   13969 	* dbus/dbus-server-protected.h:
   13970 	* dbus/dbus-server.c: (_dbus_server_init_base),
   13971 	(_dbus_server_finalize_base), (_dbus_server_add_timeout),
   13972 	(dbus_server_set_timeout_functions):
   13973 	(_dbus_server_remove_timeout):
   13974 	New functions so that a server can add and remove timeouts.
   13975 
   13976 	(dbus_server_listen):
   13977 	Add commented out call to dbus_server_debug_new.
   13978 
   13979 	* dbus/dbus-timeout.c: (_dbus_timeout_new):
   13980 	Actually set the handler, doh.
   13981 
   13982 	* dbus/dbus-transport.c: (_dbus_transport_open):
   13983 	Add commented out call to dbus_transport_debug_client_new.
   13984 
   13985 	* dbus/Makefile.am:
   13986 	Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
   13987 
   13988 2003-01-28  Havoc Pennington  <hp (a] pobox.com>
   13989 
   13990 	* dbus/dbus-message.c (check_message_handling): function to check
   13991 	on the loaded message, iterates over it etc.
   13992 
   13993 2003-01-28  Havoc Pennington  <hp (a] pobox.com>
   13994 
   13995 	* test/Makefile.am (dist-hook): fix make distdir
   13996 
   13997 	* dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
   13998 
   13999 2003-01-27  Havoc Pennington  <hp (a] pobox.com>
   14000 
   14001 	* dbus/dbus-mempool.c (time_for_size): replace printf with
   14002 	_dbus_verbose
   14003 
   14004 	* dbus/dbus-message-builder.c (_dbus_message_data_load): allow
   14005 	empty lines; fix the SAVE_LENGTH stuff to be
   14006 	START_LENGTH/END_LENGTH so it actually works; couple other
   14007 	bugfixes
   14008 
   14009 	* test/Makefile.am (dist-hook): add dist-hook for .message files
   14010 
   14011 	* dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
   14012 	can be constant or locked.
   14013 	(_dbus_string_free): allow freeing a const string as
   14014 	documented/intended
   14015 
   14016 	* dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
   14017 
   14018 	* dbus/dbus-test-main.c (main): take an argument which is the
   14019 	directory containing test data
   14020 
   14021 	* dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
   14022 	argument to this and load all the messages in test/data/
   14023 	checking that they can be loaded or not loaded as appropriate.
   14024 
   14025 2003-01-27  Anders Carlsson  <andersca (a] codefactory.se>
   14026 
   14027 	* bus/dispatch.c: (bus_dispatch_message_handler):
   14028 	Dispatch messages sent to services.
   14029 
   14030 	* bus/driver.c: (bus_driver_send_service_deleted),
   14031 	(bus_driver_send_service_created), (bus_driver_send_service_lost),
   14032 	(bus_driver_send_service_acquired):
   14033 	Add helper functions for sending service related messages.
   14034 
   14035 	(bus_driver_send_welcome_message):
   14036 	Send HELLO_REPLY instead of WELCOME.
   14037 
   14038 	(bus_driver_handle_list_services):
   14039 	Send LIST_SERVICES_REPLY instead of SERVICES.
   14040 
   14041 	(bus_driver_handle_own_service),
   14042 	(bus_driver_handle_service_exists):
   14043 	New message handlers.
   14044 
   14045 	(bus_driver_handle_message):
   14046 	Invoke new message handlers.
   14047 
   14048 	(bus_driver_remove_connection):
   14049 	Don't remove any services here since that's done automatically
   14050 	by bus_service_remove_owner now.
   14051 
   14052 	* bus/driver.h:
   14053 	New function signatures.
   14054 
   14055 	* bus/services.c: (bus_service_add_owner):
   14056 	Send ServiceAcquired message if we're the only primary owner.
   14057 
   14058 	(bus_service_remove_owner):
   14059 	Send ServiceAcquired/ServiceLost messages.
   14060 
   14061 	(bus_service_set_prohibit_replacement),
   14062 	(bus_service_get_prohibit_replacement):
   14063 	Functions for setting prohibit replacement.
   14064 
   14065 	(bus_service_has_owner):
   14066 	New function that checks if a connection is in the owner queue of
   14067 	a certain service.
   14068 
   14069 	* bus/services.h:
   14070 	Add new function signatures.
   14071 
   14072 	* dbus/dbus-list.c: (_dbus_list_test):
   14073 	Add tests for _dbus_list_remove_last and traversing the list backwards.
   14074 
   14075 	* dbus/dbus-list.h:
   14076 	Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
   14077 	go any further, so return NULL then.
   14078 
   14079 	* dbus/dbus-protocol.h:
   14080 	Add new messages, service flags and service replies.
   14081 
   14082 2003-01-26  Havoc Pennington  <hp (a] pobox.com>
   14083 
   14084 	* dbus/dbus-message-builder.c: implement, completely untested.
   14085 
   14086 	* test/data/*: add data to be used in testing.
   14087 	".message" files are our simple loadable text format.
   14088 	".message-raw" will be binary dumps of messages.
   14089 
   14090 	* dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
   14091 
   14092 2003-01-26  Havoc Pennington  <hp (a] pobox.com>
   14093 
   14094 	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
   14095 
   14096 	* dbus/dbus-errors.c (dbus_result_to_string): add
   14097 	file errors
   14098 
   14099 	* dbus/dbus-message-builder.c: new file, will contain code to load
   14100 	up messages from files. Not implemented yet.
   14101 
   14102 2003-01-26  Havoc Pennington  <hp (a] pobox.com>
   14103 
   14104 	* dbus/dbus-message.c (dbus_message_set_sender): support deleting
   14105 	the sender by setting to NULL
   14106 
   14107 2003-01-26  Havoc Pennington  <hp (a] pobox.com>
   14108 
   14109         The unit tests pass, but otherwise untested.  If it breaks, the
   14110 	tests should have been better. ;-)
   14111 
   14112 	* bus/driver.c (bus_driver_handle_hello): return if we disconnect
   14113 	the connection.
   14114 
   14115 	* dbus/dbus-message.c: redo everything so we maintain
   14116 	message->header as the only copy of the various fields.
   14117 	This avoids the possibility of out-of-memory in some cases,
   14118 	for example dbus_message_lock() can't run out of memory anymore,
   14119 	and avoids extra copying. Figured I may as well go ahead and do
   14120 	this since it was busted for dbus_message_lock to not return
   14121 	failure on OOM, and dbus_message_write_header was totally
   14122 	unchecked for OOM. Also fixed some random other bugs.
   14123 
   14124 	* dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
   14125 	that strings are nul-terminated. Also, end_pos can be equal
   14126 	to string length just not greater than, I think.
   14127 	(_dbus_marshal_set_int32): new function
   14128 	(_dbus_marshal_set_uint32): new function
   14129 	(_dbus_marshal_set_string): new function
   14130 
   14131 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
   14132 	a warning, init timeout_list to NULL
   14133 	(dbus_connection_send_message): don't use uninitialized variable
   14134 	"serial"
   14135 
   14136 	* dbus/dbus-string.c (_dbus_string_replace_len): new function
   14137 
   14138 2003-01-26  Anders Carlsson  <andersca (a] codefactory.se>
   14139 
   14140 	* bus/driver.c: (bus_driver_handle_hello),
   14141 	(bus_driver_send_welcome_message):
   14142 	Plug leaks
   14143 
   14144 2003-01-26  Anders Carlsson  <andersca (a] codefactory.se>
   14145 
   14146 	* dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
   14147 	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
   14148 	(dbus_connection_unref):
   14149 	* dbus/dbus-marshal.c: (_dbus_marshal_test):
   14150 	* dbus/dbus-message.c: (dbus_message_unref),
   14151 	Plug memory leaks.
   14152 
   14153 	(dbus_message_get_fields):
   14154 	Remove debugging printout.
   14155 
   14156 	(_dbus_message_loader_return_buffer):
   14157 	Don't store the header string.
   14158 
   14159 	(_dbus_message_test):
   14160 	Plug leaks.
   14161 
   14162 2003-01-26  Richard Hult  <rhult (a] codefactory.se>
   14163 
   14164 	* glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
   14165 	the file descriptor list, since it can change under us.
   14166 
   14167 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14168 
   14169 	* glib/dbus-gmain.c: (dbus_connection_prepare),
   14170 	(dbus_connection_check), (dbus_connection_dispatch), (add_watch),
   14171 	(remove_watch), (dbus_connection_hookup_with_g_main):
   14172 	Rewrite the glib handling to use its own GSource instead of a
   14173 	GIOChannel so we can catch messages put in the queue while waiting
   14174 	for a reply.
   14175 
   14176 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14177 
   14178 	* bus/Makefile.am:
   14179 	* bus/connection.c: (connection_disconnect_handler),
   14180 	(connection_watch_callback), (bus_connection_setup):
   14181 	* bus/dispatch.c: (send_one_message),
   14182 	(bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
   14183 	(bus_dispatch_add_connection), (bus_dispatch_remove_connection):
   14184 	* bus/dispatch.h:
   14185 	* bus/driver.c: (bus_driver_send_service_deleted),
   14186 	(bus_driver_send_service_created), (bus_driver_handle_hello),
   14187 	(bus_driver_send_welcome_message),
   14188 	(bus_driver_handle_list_services), (bus_driver_remove_connection),
   14189 	(bus_driver_handle_message):
   14190 	* bus/driver.h:
   14191 	Refactor code, put the message dispatching in its own file. Use
   14192 	_DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
   14193 	is disconnected.
   14194 
   14195 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14196 
   14197 	* dbus/dbus-internals.h:
   14198 	Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
   14199 
   14200 	* dbus/dbus-message.c: (dbus_message_get_sender):
   14201 	* dbus/dbus-message.h:
   14202 	Implement dbus_message_get_sender.
   14203 
   14204 	* dbus/dbus-protocol.h:
   14205 	Add message and service defines.
   14206 
   14207 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14208 
   14209 	* dbus/dbus-connection.c: (dbus_connection_send_message):
   14210 	* dbus/dbus-message-internal.h:
   14211 	* dbus/dbus-message.c: (_dbus_message_get_client_serial),
   14212 	(dbus_message_write_header):
   14213 	Remove _dbus_messag_unlock and don't set the client serial on a
   14214 	message if one already exists.
   14215 
   14216 2003-01-24  Havoc Pennington  <hp (a] pobox.com>
   14217 
   14218 	* dbus/dbus-list.c (alloc_link): put a thread lock on the global
   14219 	list_pool
   14220 
   14221 	* bus/driver.c (bus_driver_handle_list_services): fix a leak
   14222 	on OOM
   14223 
   14224 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14225 
   14226 	* dbus/dbus-list.c: (alloc_link), (free_link):
   14227 	Use a memory pool for the links.
   14228 
   14229 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14230 
   14231 	* bus/connection.c: (bus_connection_foreach):
   14232 	* bus/connection.h:
   14233 	Add new bus_connection_foreach function.
   14234 
   14235 	* bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
   14236 	Add function that broadcasts a message to all clients.
   14237 
   14238 	(bus_driver_send_service_created), (bus_driver_handle_hello),
   14239 	(bus_driver_send_welcome_message),
   14240 	(bus_driver_handle_list_services), (bus_driver_message_handler):
   14241 	Implement functions that take care of listing services, and notifying
   14242 	clients when new services are created.
   14243 
   14244 	* bus/services.c: (bus_services_list):
   14245 	* bus/services.h:
   14246 	Add new function that returns an array of strings with the currently
   14247 	registered services.
   14248 
   14249 	* glib/dbus-glib.h:
   14250 	* glib/dbus-gmain.c:
   14251 	Update copyright year.
   14252 
   14253 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14254 
   14255 	* dbus/dbus-connection.c: (dbus_connection_send_message):
   14256 	Unlock the message in case it was sent earlier.
   14257 
   14258 	(dbus_connection_send_message_with_reply_and_block):
   14259 	Remove the reply message from the list.
   14260 
   14261 	* dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
   14262 	Set array_len and new_pos correctly.
   14263 
   14264 	(_dbus_marshal_test):
   14265 	Remove debug output.
   14266 
   14267 	* dbus/dbus-message-internal.h:
   14268 	* dbus/dbus-message.c: (_dbus_message_get_reply_serial):
   14269 	New function that returns the reply serial.
   14270 
   14271 	(_dbus_message_unlock):
   14272 	New function that unlocks a message and resets its header.
   14273 
   14274 	(dbus_message_append_string_array),
   14275 	(dbus_message_get_fields_valist),
   14276 	(dbus_message_iter_get_field_type),
   14277 	(dbus_message_iter_get_string_array),
   14278 	(dbus_message_get_fields),
   14279 	(dbus_message_append_fields_valist):
   14280 	Handle string arrays.
   14281 
   14282 	(dbus_message_set_sender):
   14283 	Make this function public since the bus daemon needs it.
   14284 
   14285 	(decode_header_data):
   14286 	Set the reply serial to -1 initially.
   14287 
   14288 	* dbus/dbus-message.h:
   14289 	Add dbus_message_set_sender.
   14290 
   14291 2003-01-24  Havoc Pennington  <hp (a] pobox.com>
   14292 
   14293 	* doc/dbus-specification.sgml: add some stuff
   14294 
   14295 2003-01-22  Havoc Pennington  <hp (a] pobox.com>
   14296 
   14297 	* doc/dbus-specification.sgml: Start to document the protocol.
   14298 
   14299 2003-01-22  Havoc Pennington  <hp (a] pobox.com>
   14300 
   14301 	* dbus/dbus-connection.c
   14302 	(dbus_connection_send_message_with_reply_and_block): add some @todo
   14303 
   14304 	* bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
   14305 
   14306 2003-01-21  Havoc Pennington  <hp (a] pobox.com>
   14307 
   14308         (patch untested because can't compile)
   14309 
   14310 	* bus/driver.c (create_unique_client_name): make this function
   14311 	never recycle client names. Also, caller should initialize
   14312 	the DBusString.
   14313 
   14314 	* dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
   14315 
   14316 2003-01-21  Anders Carlsson  <andersca (a] codefactory.se>
   14317 
   14318 	* dbus/dbus-marshal.c: (_dbus_marshal_double),
   14319 	(_dbus_marshal_int32), (_dbus_marshal_uint32),
   14320 	(_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
   14321 	(_dbus_marshal_double_array), (_dbus_marshal_string_array),
   14322 	(_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
   14323 	(_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
   14324 	(_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
   14325 	* dbus/dbus-marshal.h:
   14326 	* dbus/dbus-protocol.h:
   14327 	Add support for marshalling and demarshalling integer, double
   14328 	and string arrays.
   14329 
   14330 2003-01-21  Anders Carlsson  <andersca (a] codefactory.se>
   14331 
   14332 	* bus/Makefile.am:
   14333 	Add driver.[ch]
   14334 
   14335 	* bus/connection.c: (connection_disconnect_handler):
   14336 	Remove the connection from the bus driver's list.
   14337 
   14338 	(connection_watch_callback): Dispatch messages.
   14339 
   14340 	(free_connection_data): Free connection name.
   14341 
   14342 	(bus_connection_setup): Add connection to the bus driver's list.
   14343 	(bus_connection_remove_owned_service):
   14344 	(bus_connection_set_name), (bus_connection_get_name):
   14345 	Add functions for setting and getting the connection's name.
   14346 
   14347 	* bus/connection.h:
   14348 	Add function headers.
   14349 
   14350 	* bus/driver.c: (create_unique_client_name),
   14351 	(bus_driver_handle_hello_message),
   14352 	(bus_driver_send_welcome_message), (bus_driver_message_handler),
   14353 	(bus_driver_add_connection), (bus_driver_remove_connection):
   14354 	* bus/driver.h:
   14355 	* bus/main.c:
   14356 	* bus/services.c: (bus_service_free):
   14357 	* bus/services.h:
   14358 	New file that handles communication and registreation with the bus
   14359 	itself.
   14360 
   14361 2003-01-21  Anders Carlsson  <andersca (a] codefactory.se>
   14362 
   14363 	* dbus/dbus-connection.c: (dbus_connection_send_message):
   14364 	Add a new client_serial parameter.
   14365 
   14366 	(dbus_connection_send_message_with_reply):
   14367 	Remove a @todo since we've implemented the blocking function.
   14368 
   14369 	(dbus_connection_send_message_with_reply_and_block):
   14370 	New function that sends a message and waits for a reply and
   14371 	then returns the reply.
   14372 
   14373 	* dbus/dbus-connection.h:
   14374 	Add new functions.
   14375 
   14376 	* dbus/dbus-errors.c: (dbus_result_to_string):
   14377 	* dbus/dbus-errors.h:
   14378 	Add new DBUS_RESULT.
   14379 
   14380 	* dbus/dbus-message-internal.h:
   14381 	* dbus/dbus-message.c: (_dbus_message_get_reply_serial),
   14382 	(_dbus_message_set_sender), (dbus_message_write_header),
   14383 	(dbus_message_new_reply), (decode_header_data),
   14384 	(_dbus_message_loader_return_buffer), (_dbus_message_test):
   14385 	* dbus/dbus-message.h:
   14386 	Add new functions that set the reply serial and sender.
   14387 	Also marshal and demarshal them correctly and add test.
   14388 
   14389 	* dbus/dbus-protocol.h:
   14390 	Add new DBUS_MESSAGE_TYPE_SENDER.
   14391 
   14392 	* glib/dbus-glib.h:
   14393 	* glib/dbus-gmain.c: (watch_callback), (free_callback_data),
   14394 	(add_watch), (remove_watch), (add_timeout), (remove_timeout),
   14395 	(dbus_connection_hookup_with_g_main):
   14396 	* glib/test-dbus-glib.c: (main):
   14397 	Rewrite to use GIOChannel and remove the GSource crack.
   14398 
   14399 	* test/echo-client.c: (main):
   14400 	* test/watch.c: (check_messages):
   14401 	Update for changed APIs
   14402 
   14403 2003-01-19  Anders Carlsson  <andersca (a] codefactory.se>
   14404 
   14405 	* dbus/Makefile.am: Add dbus-timeout.[c]
   14406 
   14407 	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
   14408 	Create a DBusTimeoutList.
   14409 	(dbus_connection_set_timeout_functions): Add new function to
   14410 	set timeout callbacks
   14411 
   14412 	* dbus/dbus-connection.h: Add public DBusTimeout API.
   14413 
   14414 	* dbus/dbus-message.c: (dbus_message_get_service):
   14415 	* dbus/dbus-message.h:	New function.
   14416 
   14417 	* dbus/dbus-server.c: Fix small doc typo.
   14418 
   14419 	* dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
   14420 
   14421 2003-01-19  Anders Carlsson  <andersca (a] codefactory.se>
   14422 
   14423 	* dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
   14424 	of the string, just as long as specified.
   14425 
   14426 2003-01-19  Havoc Pennington  <hp (a] pobox.com>
   14427 
   14428 	* dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
   14429 	new function
   14430 
   14431 	* dbus/dbus-server.c (dbus_server_set_max_connections)
   14432 	(dbus_server_get_max_connections, dbus_server_get_n_connections):
   14433 	keep track of current number of connections, and add API for
   14434 	setting a max (but haven't implemented enforcing the max yet)
   14435 
   14436 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14437 
   14438 	* dbus/dbus-transport-unix.c (unix_do_iteration): only do the
   14439 	reading/writing if read_watch != NULL or write_watch != NULL.
   14440 
   14441 	* dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
   14442 	the message loader code to actually load message->header and
   14443 	message->body into the newly-created message.
   14444 
   14445 	* dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
   14446 	in OOM case
   14447 
   14448 	* dbus/dbus-connection.c (dbus_connection_set_max_message_size)
   14449 	(dbus_connection_get_max_message_size)
   14450 	(dbus_connection_set_max_live_messages_size)
   14451 	(dbus_connection_get_max_live_messages_size): implement some
   14452 	resource limitation functions
   14453 
   14454 	* dbus/dbus-resources.c: new file implementing some of the
   14455 	resource limits stuff
   14456 
   14457 	* dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
   14458 	missing docs, add @todo to handle OOM etc.
   14459 
   14460 	* dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
   14461 	docs
   14462 
   14463 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14464 
   14465 	* dbus/dbus-connection.c (dbus_connection_unref): disconnect the
   14466 	connection if it hasn't been already.
   14467 
   14468 	* dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
   14469 	replace with DisconnectFunction.
   14470 
   14471 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14472 
   14473         Building --disable-verbose-mode --disable-asserts --disable-tests
   14474 	cuts the library from 112K to 45K or so
   14475 
   14476 	* configure.in: check for varargs macro support,
   14477 	add --enable-verbose-mode, --enable-asserts.
   14478 
   14479 	* dbus/dbus-internals.h (_dbus_assert): support
   14480 	DBUS_DISABLE_ASSERT
   14481 	(_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
   14482 
   14483 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14484 
   14485 	* dbus/dbus-test.c: include config.h so that tests actually run
   14486 
   14487 	* dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
   14488 	so the failure mode when that assumption fails will be plenty
   14489 	obvious.
   14490 
   14491 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14492 
   14493 	* configure.in: default --enable-tests to $USE_MAINTAINER_MODE
   14494 
   14495 	* dbus/Makefile.am: fix it up so dubs-test-main.c is included in
   14496 	the distribution
   14497 
   14498 	* test/Makefile.am: don't use special variable "TESTS" for echo-*
   14499 	since we don't want to use those in make check
   14500 
   14501 2003-01-15  Havoc Pennington  <hp (a] redhat.com>
   14502 
   14503         Release 0.2
   14504 
   14505 	* NEWS: update
   14506 
   14507 2003-01-15  Havoc Pennington  <hp (a] redhat.com>
   14508 
   14509 	* test/Makefile.am: fix so that test source code ends up in the
   14510 	distribution on make distcheck
   14511 
   14512 2003-01-15  Havoc Pennington  <hp (a] redhat.com>
   14513 
   14514         Release 0.1.
   14515 
   14516 	* NEWS: update
   14517 
   14518 2003-01-15  Havoc Pennington  <hp (a] redhat.com>
   14519 
   14520 	* dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
   14521 	fix build when --disable-tests
   14522 
   14523 	* Makefile.am (EXTRA_DIST): put HACKING in here
   14524 
   14525 	* HACKING: document procedure for making a tarball release.
   14526 
   14527 2003-01-14  Anders Carlsson  <andersca (a] codefactory.se>
   14528 
   14529 	* bus/connection.c: (connection_error_handler),
   14530 	(bus_connection_setup):
   14531 	* bus/main.c: (main):
   14532 	Make sure that the DBusConnectionData struct is NULLed
   14533 	out to prevent a segfault.
   14534 
   14535 	* dbus/dbus-errors.c: (dbus_result_to_string):
   14536 	* dbus/dbus-errors.h:
   14537 	* dbus/dbus-message.c: (dbus_message_get_fields),
   14538 	(dbus_message_get_fields_valist), (_dbus_message_test):
   14539 	* dbus/dbus-message.h:
   14540 	Make dbus_message_get_fields return a result code so we can
   14541 	track invalid fields as well as oom.
   14542 
   14543 2003-01-11  Havoc Pennington  <hp (a] pobox.com>
   14544 
   14545 	* configure.in: change --enable-test/--enable-ansi action-if-given
   14546 	to enable_foo=$enableval instead of enable_foo=yes
   14547 
   14548 2003-01-08  Havoc Pennington  <hp (a] pobox.com>
   14549 
   14550 	* dbus/dbus-string.c (_dbus_string_align_length): new function
   14551 
   14552 	* dbus/dbus-test-main.c: move main() for test app here
   14553 	* dbus/dbus-test.c
   14554 	(dbus_internal_symbol_do_not_use_run_tests): we have to export a
   14555 	symbol to run tests, because dbus-test isn't in the main
   14556 	library
   14557 
   14558         Code review nitpicks.
   14559 
   14560 	* dbus/dbus-message.c (dbus_message_write_header): add newlines
   14561 	for people with narrow emacs ;-). Assert client_serial was filled
   14562 	in. Assert message->name != NULL.
   14563 	(dbus_message_append_fields): have "first_field_type" arg separate
   14564 	from va list, needed for C++ binding that also uses varargs IIRC
   14565 	and helps with type safety
   14566 	(dbus_message_new): add @todo about using DBusString to store
   14567 	service/name internally
   14568 	(dbus_message_new): don't leak ->service and ->name on OOM later
   14569 	in the function
   14570 	(dbus_message_unref): free the service name
   14571 	(dbus_message_get_fields): same change to varargs
   14572 	i.e. first_field_type
   14573 	(_dbus_message_loader_return_buffer): assert that the message data
   14574 	is aligned (if not it's a bug in our code). Put in verbose griping
   14575 	about why we set corrupted = TRUE.
   14576 	(decode_header_data): add FIXME that char* is evil.  Was going to
   14577 	add FIXME about evil locale-specific string.h strncmp, but just
   14578 	switched to wacky string-as-uint32 optimization. Move check for
   14579 	"no room for field name" above get_const_data_len() to avoid
   14580 	assertion failure in get_const_data_len if we have trailing 2
   14581 	bytes or the like. Check for service and name fields being
   14582 	provided twice. Don't leak service/name on error. Require field
   14583 	names to be aligned to 4 bytes.
   14584 
   14585 	* dbus/dbus-marshal.c: move byte swap stuff to header
   14586 	(_dbus_pack_int32): uscore-prefix
   14587 	(_dbus_unpack_int32): uscore-prefix
   14588 	(_dbus_unpack_uint32): export
   14589 	(_dbus_demarshal_string): add @todo complaining about use of
   14590 	memcpy()
   14591 	(_dbus_marshal_get_field_end_pos): add @todo about bad error
   14592 	handling allowing corrupt data to go unchecked
   14593 
   14594 2003-01-08  Havoc Pennington  <hp (a] redhat.com>
   14595 
   14596 	* dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
   14597 	to the select() as needed for authentication. (should be using
   14598 	_dbus_poll() not select, but for another day)
   14599 
   14600 	* dbus/dbus.h: include dbus/dbus-protocol.h
   14601 
   14602 2003-01-08  Anders Carlsson  <andersca (a] codefactory.se>
   14603 
   14604 	* dbus/Makefile.am (dbusinclude_HEADERS): Install
   14605 	dbus-connection.h
   14606 
   14607 2003-01-08  Anders Carlsson  <andersca (a] codefactory.se>
   14608 
   14609 	* dbus/dbus-internals.c: (_dbus_type_to_string):
   14610 	New function that returns a string describing a type.
   14611 
   14612 	* dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
   14613 	* dbus/dbus-marshal.h:
   14614 	* dbus/dbus-message.c: (dbus_message_get_fields_valist),
   14615 	(dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
   14616 	(dbus_message_iter_get_byte_array):
   14617 	* dbus/dbus-message.h:
   14618 	Add new convenience functions for appending and getting message fields.
   14619 	Also add demarshalling routines for byte arrays.
   14620 
   14621 2003-01-07  Anders Carlsson  <andersca (a] codefactory.se>
   14622 
   14623 	* dbus/dbus-connection-internal.h:
   14624 	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
   14625 	(_dbus_connection_get_next_client_serial),
   14626 	(dbus_connection_send_message):
   14627 	* dbus/dbus-internals.h:
   14628 	* dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
   14629 	(dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
   14630 	(_dbus_marshal_uint32), (_dbus_demarshal_double),
   14631 	(_dbus_demarshal_int32), (_dbus_demarshal_uint32),
   14632 	(_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
   14633 	(_dbus_verbose_bytes), (_dbus_marshal_test):
   14634 	* dbus/dbus-marshal.h:
   14635 	* dbus/dbus-message-internal.h:
   14636 	* dbus/dbus-message.c: (_dbus_message_set_client_serial),
   14637 	(dbus_message_write_header), (_dbus_message_lock),
   14638 	(dbus_message_new), (dbus_message_ref), (dbus_message_unref),
   14639 	(dbus_message_get_name), (dbus_message_append_int32),
   14640 	(dbus_message_append_uint32), (dbus_message_append_double),
   14641 	(dbus_message_append_string), (dbus_message_append_byte_array),
   14642 	(dbus_message_get_fields_iter), (dbus_message_iter_ref),
   14643 	(dbus_message_iter_unref), (dbus_message_iter_has_next),
   14644 	(dbus_message_iter_next), (dbus_message_iter_get_field_type),
   14645 	(dbus_message_iter_get_string), (dbus_message_iter_get_int32),
   14646 	(dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
   14647 	(decode_header_data), (_dbus_message_loader_return_buffer),
   14648 	(message_iter_test), (_dbus_message_test):
   14649 	* dbus/dbus-message.h:
   14650 	* dbus/dbus-protocol.h:
   14651 	* dbus/dbus-test.c: (main):
   14652 	* dbus/dbus-test.h:
   14653 	* glib/test-dbus-glib.c: (message_handler), (main):
   14654 	* test/echo-client.c: (main):
   14655 	* test/watch.c: (check_messages):
   14656 	Make messages sendable and receivable for real.
   14657 
   14658 2003-01-07  Anders Carlsson  <andersca (a] codefactory.se>
   14659 
   14660 	* dbus/dbus-marshal.c: (_dbus_marshal_double),
   14661 	(_dbus_marshal_string), (_dbus_marshal_byte_array):
   14662 	* dbus/dbus-message.c: (dbus_message_append_int32),
   14663 	(dbus_message_append_uint32), (dbus_message_append_double),
   14664 	(dbus_message_append_string), (dbus_message_append_byte_array):
   14665 	Handle OOM restoration.
   14666 
   14667 2003-01-07  Anders Carlsson  <andersca (a] codefactory.se>
   14668 
   14669 	* dbus/dbus-marshal.c: (_dbus_marshal_string),
   14670 	(_dbus_demarshal_string), (_dbus_marshal_test):
   14671 	* dbus/dbus-marshal.h:
   14672 	* dbus/dbus-message.c: (dbus_message_get_name),
   14673 	Document these functions.
   14674 
   14675 	(dbus_message_append_int32), (dbus_message_append_uint32),
   14676 	(dbus_message_append_double), (dbus_message_append_string),
   14677 	(dbus_message_append_byte_array):
   14678 	* dbus/dbus-message.h:
   14679 	Add functions for adding message fields of different types.
   14680 
   14681 	* dbus/dbus-protocol.h:
   14682 	Add the different types.
   14683 
   14684 2003-01-05  Havoc Pennington  <hp (a] pobox.com>
   14685 
   14686 	* bus/connection.c: implement routines for handling connections,
   14687 	first thing is keeping a list of owned services on each connection
   14688 	and setting up watches etc.
   14689 
   14690 	* bus/services.c: implement a mapping from service names to lists
   14691 	of connections
   14692 
   14693 	* dbus/dbus-hash.c: add DBUS_HASH_POINTER
   14694 
   14695 	* dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
   14696 	to use static mutexes for global data
   14697 
   14698 	* dbus/dbus-connection.c (dbus_connection_set_data): add new
   14699 	collection of functions to set/get application-specific data
   14700 	on the DBusConnection.
   14701 
   14702 2003-01-04  Havoc Pennington  <hp (a] pobox.com>
   14703 
   14704 	* dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
   14705 	(_dbus_poll): new function
   14706 
   14707 	* dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
   14708 	copied from GLib
   14709 
   14710 	* bus/loop.c: initial code for the daemon main loop
   14711 
   14712 2003-01-04  Havoc Pennington  <hp (a] pobox.com>
   14713 
   14714 	* test/watch.c (error_handler): make it safe if the error handler
   14715 	is called multiple times (if we s/error handler/disconnect
   14716 	handler/ we should just guarantee it's called only once)
   14717 
   14718 	* dbus/dbus-transport.c (_dbus_transport_disconnect): call the
   14719 	error handler on disconnect (it's quite possible we should
   14720 	just change the error handler to a "disconnect handler," I'm
   14721 	not sure we have any other meaningful errors)
   14722 
   14723 	* configure.in: check for getpwnam_r
   14724 
   14725 	* dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
   14726 	dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
   14727 	mechanism as in SASL spec, using socket credentials
   14728 
   14729 	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
   14730 	(_dbus_send_credentials_unix_socket): new function
   14731 
   14732 	* dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
   14733 	dbus_accept()
   14734 	(_dbus_write): only check errno if <0 returned
   14735 	(_dbus_write_two): ditto
   14736 
   14737 2003-01-02  Anders Carlsson  <andersca (a] codefactory.se>
   14738 
   14739 	* dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
   14740 	(_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
   14741 	(_dbus_marshal_test):
   14742 	* dbus/dbus-marshal.h:
   14743 	Add _dbus_marshal_byte_array and rename _dbus_marshal_string
   14744 	to _dbus_marshal_utf8_string. Also fix some tests.
   14745 
   14746 2002-12-28  Harri Porten  <porten (a] kde.org>
   14747 
   14748 	* configure.in: added check for C++ compiler and a very cheesy
   14749 	check for the Qt integration
   14750 
   14751 	* Makefile.am (SUBDIRS): compile qt subdir if support is enabled
   14752 
   14753 	* qt/Makefile.am: added
   14754 
   14755 	* qt/.cvsignore: added
   14756 
   14757 	* qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
   14758 	latter, added #ifdef QT_THREAD_SUPPORT guard.
   14759 
   14760 	* dbus/Makefile.am: added missing headers for make dist
   14761 
   14762 2002-12-28  Kristian Rietveld  <kris (a] gtk.org>
   14763 
   14764 	* dbus/Makefile.am: fixup export-symbols-regex.
   14765 
   14766 2002-12-27  Anders Carlsson  <andersca (a] codefactory.se>
   14767 
   14768 	* acinclude.m4: Add this file and put the
   14769 	PKG_CHECK_MODULE macro in it.
   14770 
   14771 2002-12-27  Anders Carlsson  <andersca (a] codefactory.se>
   14772 
   14773 	* dbus/dbus-marshal.c: (_dbus_marshal_string),
   14774 	(_dbus_demarshal_double), (_dbus_demarshal_int32),
   14775 	(_dbus_demarshal_uint32), (_dbus_demarshal_string),
   14776 	(_dbus_marshal_test):
   14777 	Make the demarshalling routines align the pos argument.
   14778 	Add string marshalling tests and fix the obvious bugs
   14779 	discovered.
   14780 
   14781 2002-12-26  Havoc Pennington  <hp (a] pobox.com>
   14782 
   14783 	* dbus/dbus-auth.c: fixes fixes fixes
   14784 
   14785 	* dbus/dbus-transport-unix.c: wire up support for
   14786 	encoding/decoding data on the wire
   14787 
   14788 	* dbus/dbus-auth.c (_dbus_auth_encode_data)
   14789 	(_dbus_auth_decode_data): append to target string
   14790 	instead of nuking it.
   14791 
   14792 2002-12-26  Havoc Pennington  <hp (a] pobox.com>
   14793 
   14794 	* dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
   14795 	WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
   14796 	doh
   14797 
   14798 	* dbus/dbus-marshal.c: Add macros to do int swapping in-place and
   14799 	avoid swap_bytes() overhead (ignoring possible assembly stuff for
   14800 	now). Main point is because I wanted unpack_uint32 to implement
   14801 	_dbus_verbose_bytes
   14802 	(_dbus_verbose_bytes): new function
   14803 
   14804 	* dbus/dbus-string.c (_dbus_string_validate_ascii): new function
   14805 
   14806 	* dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
   14807 	mechanism to handle a corrupt message stream
   14808 	(_dbus_message_loader_new): fix preallocation to only prealloc,
   14809 	not prelengthen
   14810 
   14811 	* dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
   14812 	(_dbus_string_test): enhance tests for copy/move and fix the
   14813 	functions
   14814 
   14815 	* dbus/dbus-transport-unix.c: Hold references in more places to
   14816 	avoid reentrancy problems
   14817 
   14818 	* dbus/dbus-transport.c: ditto
   14819 
   14820 	* dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
   14821 	leak reference count in no-message case
   14822 
   14823 	* test/watch.c (do_mainloop): handle adding/removing watches
   14824 	during iteration over the watches. Also, ref the connection/server
   14825 	stored on a watch, so we don't try to mangle a destroyed one.
   14826 
   14827 	* dbus/dbus-transport-unix.c (do_authentication): perform
   14828 	authentication
   14829 
   14830 	* dbus/dbus-auth.c (get_state): add a state
   14831 	AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
   14832 	(_dbus_auth_get_unused_bytes): append the unused bytes
   14833 	to the passed in string, rather than prepend
   14834 
   14835 	* dbus/dbus-transport.c (_dbus_transport_init_base): create
   14836 	the auth conversation DBusAuth
   14837 
   14838 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
   14839 	(_dbus_transport_new_for_domain_socket): when creating a
   14840 	transport, pass in whether it's a client-side or server-side
   14841 	transport so we know which DBusAuth to create
   14842 
   14843 2002-12-03  Havoc Pennington  <hp (a] pobox.com>
   14844 
   14845 	* dbus/dbus-transport-unix.c (unix_finalize): finalize base
   14846 	_after_ finalizing the derived members
   14847 	(unix_connection_set): unref watch if we fail to add it
   14848 
   14849 	* dbus/dbus-connection.c (dbus_connection_unref): delete the
   14850 	transport first, so that the connection owned by the
   14851 	transport will be valid as the transport finalizes.
   14852 
   14853 	* dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
   14854 	if necessary, and remove watches from the connection.
   14855 
   14856 	* dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
   14857 
   14858 2002-12-26  Anders Carlsson  <andersca (a] codefactory.se>
   14859 
   14860 	* dbus/dbus-marshal.c: (_dbus_marshal_string),
   14861 	(_dbus_demarshal_double), (_dbus_demarshal_int32),
   14862 	(_dbus_demarshal_uint32), (_dbus_demarshal_string),
   14863 	(_dbus_marshal_test):
   14864 	* dbus/dbus-marshal.h:
   14865 	Add string marshal functions and have the demarshal functions
   14866 	return the new position.
   14867 
   14868 2002-12-25  Havoc Pennington  <hp (a] pobox.com>
   14869 
   14870 	* doc/dbus-sasl-profile.txt: docs on the authentication protocol,
   14871 	it is a simple protocol that just maps directly to SASL.
   14872 
   14873 	* dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
   14874 	initial implementation, not actually used yet.
   14875 
   14876 	* dbus/dbus-string.c (_dbus_string_find): new function
   14877 	(_dbus_string_equal): new function
   14878 	(_dbus_string_base64_encode): new function
   14879 	(_dbus_string_base64_decode): new function
   14880 
   14881 2002-12-25  Anders Carlsson  <andersca (a] codefactory.se>
   14882 
   14883 	* dbus/Makefile.am:
   14884 	* dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
   14885 	(_dbus_marshal_int32), (_dbus_marshal_uint32),
   14886 	(_dbus_demarshal_double), (_dbus_demarshal_int32),
   14887 	(_dbus_demarshal_uint32), (_dbus_marshal_test):
   14888 	* dbus/dbus-marshal.h:
   14889 	* dbus/dbus-protocol.h:
   14890 	* dbus/dbus-test.c: (main):
   14891 	* dbus/dbus-test.h:
   14892 	Add un-optimized marshalling/demarshalling routines.
   14893 
   14894 2002-12-25  Harri Porten  <porten (a] kde.org>
   14895 
   14896 	* qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
   14897 
   14898 2002-12-24  Zack Rusin  <zack (a] kde.org>
   14899 
   14900 	* qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
   14901 	* qt/dbus-qt.h: skeleton with two sample implemenatation of the
   14902 	main loop stuff
   14903 
   14904 2002-12-24  Havoc Pennington  <hp (a] pobox.com>
   14905 
   14906 	* glib/dbus-gthread.c: fix include
   14907 
   14908 	* glib/dbus-glib.h: rename DBusMessageHandler for now.
   14909 	I think glib API needs to change, though, as you don't
   14910 	want to use DBusMessageFunction, you want to use the
   14911 	DBusMessageHandler object. Probably
   14912 	dbus_connection_open_with_g_main_loop()
   14913 	and dbus_connection_setup_g_main_loop() or something like that
   14914 	(but think of better names...) that just create a connection
   14915 	that has watch/timeout functions etc. already set up.
   14916 
   14917 	* dbus/dbus-connection.c
   14918 	(dbus_connection_send_message_with_reply): new function just to
   14919 	show how the message handler helps us deal with replies.
   14920 
   14921 	* dbus/dbus-list.c (_dbus_list_remove_last): new function
   14922 
   14923 	* dbus/dbus-string.c (_dbus_string_test): free a string that
   14924 	wasn't
   14925 
   14926 	* dbus/dbus-hash.c: use memory pools for the hash entries
   14927 	(rebuild_table): be more paranoid about overflow, and
   14928 	shrink table when we can
   14929 	(_dbus_hash_test): reduce number of sprintfs and write
   14930 	valid C89. Add tests for case where we grow and then
   14931 	shrink the hash table.
   14932 
   14933 	* dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
   14934 
   14935 	* dbus/dbus-connection.c (dbus_connection_register_handler)
   14936 	(dbus_connection_unregister_handler): new functions
   14937 
   14938 	* dbus/dbus-message.c (dbus_message_get_name): new
   14939 
   14940 	* dbus/dbus-list.c: fix docs typo
   14941 
   14942 	* dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
   14943 	an object representing a handler for messages.
   14944 
   14945 2002-12-16  Anders Carlsson  <andersca (a] codefactory.se>
   14946 
   14947 	* glib/dbus-glib.h:
   14948 	* glib/dbus-gthread.c: (dbus_gthread_init):
   14949 	Don't use the gdbus prefix for public functions.
   14950 
   14951 2002-12-16  Anders Carlsson  <andersca (a] codefactory.se>
   14952 
   14953 	* Makefile.am:
   14954 	* configure.in:
   14955 	Add GLib checks and fixup .pc files
   14956 
   14957 	* glib/Makefile.am:
   14958 	* glib/dbus-glib.h:
   14959 	* glib/dbus-gmain.c: (gdbus_connection_prepare),
   14960 	(gdbus_connection_check), (gdbus_connection_dispatch),
   14961 	(gdbus_add_connection_watch), (gdbus_remove_connection_watch),
   14962 	(dbus_connection_gsource_new):
   14963 	* glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
   14964 	(dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
   14965 	* glib/test-dbus-glib.c: (message_handler), (main):
   14966 	Add GLib support.
   14967 
   14968 2002-12-15  Harri Porten  <porten (a] kde.org>
   14969 
   14970 	* autogen.sh: check for libtoolize before attempting to use it
   14971 
   14972 	* dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
   14973 	struct.
   14974 
   14975 	* .cvsignore: ignore more stamp files
   14976 
   14977 	* dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
   14978 
   14979 	* test/Makefile.am: added -I$(top_srcdir) to be able to compile
   14980 	without make install.
   14981 
   14982 2002-12-15  Havoc Pennington  <hp (a] pobox.com>
   14983 
   14984 	* dbus/dbus-threads.c: add thread stubs that a higher library
   14985 	layer can fill in. e.g. the GLib wrapper might fill them in with
   14986 	GThread stuff. We still need to use this thread API to
   14987 	thread-safe-ize the library.
   14988 
   14989 2002-12-12  Havoc Pennington  <hp (a] pobox.com>
   14990 
   14991 	* dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
   14992 	below new interfaces and include fewer system headers.
   14993 
   14994 	* dbus/dbus-sysdeps.c (_dbus_read): new function
   14995 	(_dbus_write): new function
   14996 	(_dbus_write_two): new function
   14997 	(_dbus_connect_unix_socket): new function
   14998 	(_dbus_listen_unix_socket): new function
   14999 
   15000 	* dbus/dbus-message-internal.h: change interfaces to use
   15001 	DBusString
   15002 
   15003 2002-12-11  Havoc Pennington  <hp (a] pobox.com>
   15004 
   15005 	* dbus/dbus-types.h: add dbus_unichar
   15006 
   15007 	* dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
   15008 
   15009 	* dbus/dbus-connection.c (dbus_connection_send_message): return
   15010 	TRUE on success
   15011 
   15012 	* dbus/dbus-transport.c: include dbus-watch.h
   15013 
   15014 	* dbus/dbus-connection.c: include dbus-message-internal.h
   15015 
   15016 	* HACKING: add file with coding guidelines stuff.
   15017 
   15018 	* dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
   15019 	handling here, for security purposes (as in vsftpd). Not actually
   15020 	using this class yet.
   15021 
   15022 	* dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
   15023 	system/libc usage here, as in vsftpd, for ease of auditing (and
   15024 	should also simplify portability). Haven't actually moved all the
   15025 	system/libc usage into here yet.
   15026 
   15027 2002-11-25  Havoc Pennington  <hp (a] pobox.com>
   15028 
   15029 	* dbus/dbus-internals.c (_dbus_verbose): fix to not
   15030 	always print the first verbose message.
   15031 
   15032 2002-11-24  Havoc Pennington  <hp (a] pobox.com>
   15033 
   15034         * test/echo-client.c, test/echo-server.c: cheesy test
   15035 	clients.
   15036 
   15037 	* configure.in (AC_CHECK_FUNCS): check for writev
   15038 
   15039 	* dbus/dbus-message.c (_dbus_message_get_network_data): new
   15040 	function
   15041 
   15042 	* dbus/dbus-list.c (_dbus_list_foreach): new function
   15043 
   15044 	* dbus/dbus-internals.c (_dbus_verbose): new function
   15045 
   15046 	* dbus/dbus-server.c, dbus/dbus-server.h: public object
   15047 	representing a server that listens for connections.
   15048 
   15049 	* dbus/.cvsignore: create
   15050 
   15051 	* dbus/dbus-errors.h, dbus/dbus-errors.c:
   15052 	public API for reporting errors
   15053 
   15054 	* dbus/dbus-connection.h, dbus/dbus-connection.c:
   15055 	public object representing a connection that
   15056 	sends/receives messages. (Same object used for
   15057 	both client and server.)
   15058 
   15059 	* dbus/dbus-transport.h, dbus/dbus-transport.c:
   15060 	Basic abstraction for different kinds of stream
   15061 	that we might read/write messages from.
   15062 
   15063 2002-11-23  Havoc Pennington  <hp (a] pobox.com>
   15064 
   15065 	* dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
   15066 	_DBUS_INT_MAX
   15067 
   15068 	* dbus/dbus-test.c (main): add list test, and include
   15069 	dbus-test.h as intended
   15070 
   15071 	* dbus/dbus-hash.c (_dbus_hash_table_remove_string)
   15072 	(_dbus_hash_table_remove_int): return value indicates
   15073 	whether the entry existed to remove
   15074 
   15075 	* dbus/dbus-list.c: add linked list utility class,
   15076 	with docs and tests
   15077 
   15078 	* dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
   15079 	array sometimes.
   15080 
   15081 2002-11-23  Havoc Pennington  <hp (a] pobox.com>
   15082 
   15083 	* Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
   15084 	DBUS_END_DECLS to nothing, that should fix this once and for all
   15085 
   15086 	* Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
   15087 
   15088 	* dbus/dbus-message.c, dbus/dbus-hash.c:
   15089 	add some missing @brief
   15090 
   15091 2002-11-23  Havoc Pennington  <hp (a] pobox.com>
   15092 
   15093 	* dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS
   15094 	to avoid confusing Doxygen
   15095 
   15096 	* dbus/dbus-hash.c: @} not }@
   15097 
   15098 	* dbus/dbus-message.c (struct DBusMessage): split out
   15099 	internals docs
   15100 
   15101 2002-11-23  Havoc Pennington  <hp (a] pobox.com>
   15102 
   15103 	* configure.in: pile on more warning flags if using gcc
   15104 
   15105 	* Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
   15106 	to document static functions
   15107 
   15108 	* configure.in: add summary to end of configure so it
   15109 	looks nice and attractive
   15110 
   15111 	* dbus/dbus-hash.c: finish implementation and write unit
   15112 	tests and docs
   15113 
   15114 	* configure.in: add --enable-tests to enable unit tests
   15115 
   15116 	* dbus/dbus-test.c: test program to run unit tests
   15117 	for all files in dbus/*, initially runs a test for
   15118 	dbus-hash.c
   15119 
   15120 	* dbus/dbus-internals.h: file to hold some internal utility stuff
   15121 
   15122 2002-11-22  Havoc Pennington  <hp (a] redhat.com>
   15123 
   15124 	* dbus/dbus-hash.c: copy in Tcl hash table, not yet
   15125 	"ported" away from Tcl
   15126 
   15127 	* dbus/dbus-types.h: header for types such as dbus_bool_t
   15128 
   15129 2002-11-22  Havoc Pennington  <hp (a] redhat.com>
   15130 
   15131 	* dbus/dbus.h: fixups for doc warnings
   15132 
   15133 	* Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up
   15134 	macros
   15135 	(QUIET): make it quiet so we can see warnings
   15136 
   15137 	* dbus/dbus-memory.c: teach D-BUS to allocate and free memory
   15138 
   15139 2002-11-22  Havoc Pennington  <hp (a] redhat.com>
   15140 
   15141 	* Makefile.am: include "Doxyfile" target in all-local
   15142 
   15143 	* configure.in: generate the Doxyfile
   15144 
   15145 	* Doxyfile.in: move Doxyfile here, so we can use
   15146 	configure to generate a Doxyfile with the right
   15147 	version number etc.
   15148 
   15149 2002-11-22  Havoc Pennington  <hp (a] redhat.com>
   15150 
   15151 	* dbus/dbus-message.c: move inline docs into .c file
   15152 
   15153 	* Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
   15154 	so all docs are under doc/
   15155 	(MAN_EXTENSION): generate man pages. Use extension
   15156 	".3dbus" which matches ".3qt" on my system,
   15157 	I guess this is OK, I don't know really.
   15158 	(FILE_PATTERNS): look for .c files not .h, makes sense
   15159 	for plain C I think
   15160 
   15161 2002-11-22  Havoc Pennington  <hp (a] pobox.com>
   15162 
   15163 	* Makefile.am (SUBDIRS): rename subdir "server" to "bus"
   15164 	because any app can be a server, and any app can be a client,
   15165 	the bus is a special kind of server.
   15166 
   15167 Thu Nov 21 23:35:31 2002  Zack Rusin  <zack (a] kde.org>
   15168 
   15169 	* Doxyfile : adding. Still needs Makefile rules to be generated
   15170 	automatically (just run "doxygen" in the toplevel dir for now to
   15171 	generate docs)
   15172 
   15173 	* dbus/dbus-message.h : Adding sample docs (javadoc since
   15174 	resembles gtk-doc a little more)
   15175 
   15176 	* dbus/dbus.h : Adding sample docs
   15177 
   15178 2002-11-21  Havoc Pennington  <hp (a] redhat.com>
   15179 
   15180 	* dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
   15181 	so we can allow ourselves to include files directly,
   15182 	instead of having to use dbus.h
   15183 
   15184 	* dbus/dbus.h: fill in
   15185 
   15186 	* dbus/dbus-message.h: sketch out a sample header file.
   15187 	Include griping if you include it directly instead of
   15188 	via dbus.h
   15189 
   15190 	* dbus/dbus-macros.h: new file with macros for extern "C",
   15191 	TRUE/FALSE, NULL, etc.
   15192 
   15193 	* doc/file-boilerplate.c: put include guards in here
   15194 
   15195 2002-11-21  Havoc Pennington  <hp (a] redhat.com>
   15196 
   15197 	* doc/file-boilerplate.c: include both AFL and GPL boilerplate.
   15198 
   15199 	* COPYING: include the GPL as well, and license code
   15200 	under both AFL and GPL.
   15201 
   15202 2002-11-21  Havoc Pennington  <hp (a] redhat.com>
   15203 
   15204 	* acconfig.h: get rid of this
   15205 
   15206 	* autogen.sh (run_configure): add --no-configure option
   15207 
   15208 	* configure.in: remove AC_ARG_PROGRAM to make
   15209 	autoconf complain less. add AC_PREREQ.
   15210 	add AC_DEFINE third arg.
   15211 
   15212 2002-11-21  Anders Carlsson  <andersca (a] codefactory.se>
   15213 
   15214 	* doc/Makefile.am:
   15215 	Fix references so we can distcheck.
   15216 
   15217 2002-11-21  Havoc Pennington  <hp (a] redhat.com>
   15218 
   15219 	* Initial module creation
   15220 
   15221