Home | History | Annotate | Download | only in dbus
      1 2006-11-09  John (J5) Palmieri  <johnp (a] redhat.com>
      2 
      3 	* Released 1.0.0
      4 
      5 2006-11-09  John (J5) Palmieri  <johnp (a] redhat.com>
      6 
      7 	* AUTHORS: added Peter and Tor of windows porting fame
      8 
      9 2006-11-08  Havoc Pennington  <hp (a] redhat.com>
     10 
     11 	* doc/dbus-specification.xml: add a note about protocol stability
     12 
     13 	* doc/TODO: Remove "important for 1.0" section, replace with
     14 	"important for 1.2" section
     15 	
     16 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
     17 
     18 	* README: remove some of the out of date flags
     19 
     20 	* doc/TODO: Remove todo items which are done
     21 
     22 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
     23 
     24 	* tools/dbus-monitor.c: Handle sigint so we flush stdout
     25 	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
     26 
     27 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
     28 
     29 	* tools/dbus-monitor.1: update the manpage for dbus-monitor
     30 	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
     31 
     32 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
     33 
     34 	* AUTHORS: Update with all people listed in the ChangeLog
     35 
     36 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
     37 
     38 	* tools/dbus-monitor.c: add profiling tools to dbus-monitor
     39 	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
     40 
     41 2006-11-07  Havoc Pennington  <hp (a] redhat.com>
     42 
     43 	* HACKING: Update release instructions to include stuff about
     44 	stable releases, branching, etc. May not be totally correct,
     45 	please fix if needed, but keep instructions up-to-date so we do
     46 	each stable release consistently in the future.
     47 
     48 2006-11-07  Havoc Pennington  <hp (a] redhat.com>
     49 
     50 	* doc/dbus-specification.xml, doc/dbus-faq.xml, README: various
     51 	documentation updates. Bump faq/spec versions (not to 1.0; I don't
     52 	think the spec will be "finished"/1.0 when we ship the 1.0 library).
     53 
     54 2006-11-06  John (J5) Palmieri  <johnp (a] redhat.com>
     55 
     56 	* bus/bus.c: Missed patch - pass in the context to the directory watch
     57 
     58 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
     59 
     60 	* Released D-Bus 1.0 RC 3(0.95)
     61 
     62 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
     63 
     64 	* bus/activation.c (bus_activation_new): don't fail if we can not read
     65 	the directory as it may not exist
     66 
     67 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
     68 
     69 	* bus/config-parser.c (service_dirs_find_dir): use 
     70 	_dbus_list_get_next_link so we don't get stuck in an infinite loop
     71 	(start_busconfig_child): move processing of standard_session_servicedirs
     72 	tags here because they have no content
     73 	(bus_config_parser_content): check we don't have content in 
     74 	standard_session_servicedirs tag
     75 
     76 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
     77 
     78 	* tools/Makefile.am: Make sure the /var/lib/dbus directory is created
     79 	Packagers need to own this directory
     80 
     81 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
     82 
     83 	* tools/run-with-tmp-session-bus.sh: fixed script to replace the 
     84 	<standard_session_servicedirs> tag with a <sevicedir> tag that
     85 	points to the test service directory
     86 
     87 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
     88 
     89 	* configure.in: Add a check for DIR *dirp->dd_fd
     90 
     91 	* dbus/dbus-sysdeps-util-unix: if HAVE_DDFD is defined use 
     92 	DIR *dirp->dd_fd else use DIR *dirp->__dd_fd.  This takes care
     93 	of both Solaris and Irix
     94 
     95 2006-11-01  Havoc Pennington  <hp (a] redhat.com>
     96 
     97 	* bus/dbus-daemon.1.in: document standard_session_servicedirs
     98 
     99 2006-11-01  John (J5) Palmieri  <johnp (a] redhat.com>
    100 
    101 	* configure.in: expose DBUS_DATADIR
    102 	
    103 	* bus/config-parser.c: add the standard_session_servicedirs element
    104 	to the parser
    105 	(bus_config_parser_content): process the standard_session_servicedirs
    106 	element by getting the standard directories from sysdeps and merging
    107 	them into the service directory list
    108 	(test_default_session_servicedirs): make sure we get what we expect
    109 
    110 	* bus/session.conf.in: replace the servicedir tag with the 
    111 	standard_session_servicedirs tag
    112 
    113 	* dbus/dbus-list.h: remove the typedef of DBusList and place it in
    114 	dbus-sysdeps.h to avoid circular header dependencies
    115 
    116 	* dbus/dbus-sysdeps.h: add the typedef of DBusList
    117 
    118 	* dbus/dbus-sysdeps-unix.c (split_paths_and_append): utility function
    119 	which takes a string of directories delimited by colons, parses them 
    120 	out, appends a suffix and puts them in a list ignoring empty elements
    121 	(_dbus_get_standard_session_servicedirs): returns the standard 
    122 	directories for a session bus to look for service activation files
    123 	on Unix which includes the XDG_DATA_HOME, XDG_DATA_DIRS and 
    124 	DBUS_DATADIR directories
    125 
    126 	* test/data/valid-config-files/many-rules.conf: add the 
    127 	standard_session_servicedirs tag to the valid config file tests
    128 
    129 2006-10-30  Havoc Pennington  <hp (a] redhat.com>
    130 
    131 	* tools/dbus-launch.1, doc/TODO: capture intent to change the
    132 	command line options of dbus-launch a bit post 1.0
    133 
    134 2006-10-27  Havoc Pennington  <hp (a] redhat.com>
    135 	
    136 	* dbus/dbus-connection.c (dbus_connection_open_private): document
    137 	how to choose shared vs. private connections
    138 
    139 2006-10-27  Havoc Pennington  <hp (a] redhat.com>
    140 
    141 	* dbus/dbus-test.c: enclose more of the file in the
    142 	DBUS_BUILD_TESTS check.
    143 
    144 	* dbus/dbus-sysdeps-pthread.c (PTHREAD_CHECK): fix for
    145 	DBUS_DISABLE_ASSERT case.
    146 
    147 	* dbus/dbus-connection.c (dbus_connection_get_unix_user): document
    148 	that it only works on the server side
    149 
    150 	* dbus/dbus-bus.c: add a global lock covering the BusData we
    151 	attach to each connection
    152 	(internal_bus_get): lock our access to the BusData
    153 	(dbus_bus_register): lock the entire registration process
    154 	with _DBUS_LOCK(bus_datas). If we get the lock and 
    155 	registration is already complete, silently return (vs. previous
    156 	behavior of aborting).
    157 	(dbus_bus_set_unique_name): lock the BusData
    158 	(dbus_bus_get_unique_name): lock the BusData
    159 
    160 2006-10-27  John (J5) Palmieri  <johnp (a] redhat.com>
    161 
    162 	* bus/config-parser.c (service_dirs_find_dir, 
    163 	service_dirs_append_unique_or_free, 
    164 	service_dirs_append_link_unique_or_free): New static methods
    165 	for only appending unique service directory names into
    166 	the service directory list
    167 	(merge_included, bus_config_parser_content): Only add unique
    168 	service directory names into the list
    169 
    170 2006-10-27  Havoc Pennington  <hp (a] redhat.com>
    171 
    172 	* dbus/dbus-sysdeps-pthread.c: make the "count" and "holder"
    173 	variables volatile, suggested by Thiago. Document struct fields.
    174 	(PTHREAD_CHECK): remove pthread error checking if assertions are
    175 	disabled, should reduce the no-assertions case to the bare
    176 	minimum code.
    177 
    178 2006-10-26  Havoc Pennington  <hp (a] redhat.com>
    179 	
    180 	* dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock): change
    181 	to be recursive
    182 	(_dbus_pthread_mutex_unlock): make it recursive
    183 	(_dbus_pthread_condvar_wait): save/restore the recursion count
    184 	(_dbus_pthread_condvar_wait_timeout): save/restore the recursion count
    185 
    186 2006-10-26  Havoc Pennington  <hp (a] redhat.com>
    187 
    188 	* doc/dbus-specification.xml: clarify the UUID text slightly
    189 
    190 	* dbus/dbus-sysdeps-pthread.c: check for and mostly abort on
    191 	pthread errors. Add DBusMutexPThread and DBusCondVarPThread 
    192 	in preparation for being able to extend them for e.g. recursive
    193 	mutexes.
    194 
    195 2006-10-26  Havoc Pennington  <hp (a] redhat.com>
    196 
    197         * dbus/dbus-threads.[hc]: Documentation improvements. Clarify how 
    198 	condition variables relate to recursive mutexes.
    199 	
    200         * dbus/dbus-sysdeps-pthread.c, dbus/dbus-sysdeps-win-thread.c, 
    201 	dbus/dbus-threads.c: Split the platforms-specific thread 
    202 	implementations into their own files.
    203 	
    204 	* dbus/dbus-sysdeps-pthread.c
    205 	(_dbus_pthread_condvar_wait_timeout): invert the return value, it
    206 	was backward. Not that anything uses it.
    207 
    208 2006-10-26  John (J5) Palmieri  <johnp (a] redhat.com>
    209 
    210 	* dbus-sysdeps-unix.c (_dbus_set_local_creds): Clean up the
    211 	LOCAL_CREDS vs CMSGCRED stuff a bit.  Prefer CMSGCRED.  This
    212 	needs to be cleaned up more.
    213 
    214 	* doc/TODO: Add a todo that *BSD hackers should look at cleaning
    215 	up the CREDS issue.
    216 
    217 2006-10-26  John (J5) Palmieri  <johnp (a] redhat.com>
    218 
    219 	* configure.in, dbus-1.pc.in: Check to see if thread methods 
    220 	are in glibc or libpthread and add -lpthread to the link stage 
    221 	if it is the latter
    222 
    223 2006-10-26  Thiago Macieira  <thiago (a] kde.org>
    224 
    225 	* dbus/dbus-connection.c (_dbus_connection_open_internal): Fix
    226         bug 8780: the connection lock is only required while recording
    227         the shared connection, so protect only that code
    228         section. Don't require connection_lookup_shared to return a
    229         locked connection.
    230 
    231 2006-10-26  Thiago Macieira  <thiago (a] kde.org>
    232 
    233 	* tools/dbus-launch-x11.c (get_session_file, init_x_atoms):
    234         check if get_machine_uuid() returns NULL before proceeding any
    235         further: we can't init the X atoms or create a session file
    236         name if there is no machine ID.
    237 	This solves a crash reported by some users if
    238         --exit-with-session was used without --autolaunch=<machine-id>
    239 
    240 2006-10-26  John (J5) Palmieri  <johnp (a] redhat.com>
    241 
    242 	* tools/dbus-launch.c (main): run the dbus-daemon in the builddir
    243 	if tests are enabled and the DBUS_USE_TEST_BINARY env variable is set
    244 
    245 	* tools/run-with-tmp-session-bus.sh: set DBUS_USE_TEST_BINARY
    246 	before we run dbus-launch
    247 
    248 	* configure.in: define TEST_BUS_BINARY to be the full path to 
    249 	dbus-daemon in the build root 
    250 
    251 2006-10-25  Sjoerd Simons  <sjoerd (a] luon.net>
    252 
    253 	* dbus/Makefile.am:
    254 	* tools/Makefile.am:
    255 	* toos/dbus-uuidgen.1:
    256 		Move the machine-id file to /var/lib/dbus 
    257 
    258 2006-10-24  David Zeuthen  <davidz (a] redhat.com>
    259 
    260 	* dbus/dbus-threads.c (init_uninitialized_locks): Fix typo so it's
    261 	_dbus_assert (thread_init_generation != _dbus_current_generation)
    262 	not _dbus_assert (thread_init_generation == _dbus_current_generation)
    263 
    264 2006-10-24  Thiago Macieira  <thiago (a] kde.org>
    265 
    266 	* dbus/dbus-sysdeps.h:
    267 	* dbus/dbus-sysdeps-unix.c: Add function
    268 	_dbus_make_file_world_readable that chmods a file to 0644.
    269 
    270 	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address):
    271         Avoid writing to the static "argv" array, thereby avoiding a
    272         COW on the child process.
    273 
    274 	* dbus/dbus-internals.c (_dbus_create_uuid_file_exclusively):
    275         call _dbus_make_file_world_readable on the created file.
    276 
    277 2006-10-23  David Zeuthen  <davidz (a] redhat.com>
    278 
    279 	* dbus/dbus-memory.c: Use atomic variable to protect
    280 	n_blocks_outstanding otherwise OOM will be reported using SMP on
    281 	some arches
    282 	
    283 	* bus/dispatch.c: Add missing end of line characters
    284 
    285 	* bus/desktop-file.c (parse_section_start, parse_key_value) 
    286 	(bus_desktop_file_load): Propertly handle OOM
    287 
    288 	* dbus/dbus-threads.c (init_uninitialized_locks): Check that
    289 	thread_init_generation equals _dbus_current_generation, not 0
    290 
    291 2006-10-22  Havoc Pennington  <hp (a] redhat.com>
    292 
    293 	* dbus/dbus-connection-internal.h: move prototype of
    294 	_dbus_bus_notify_shared_connection_disconnected_unlocked() here so
    295 	it isn't in a public header and doesn't end up in the DBusBus
    296 	group in Doxygen
    297 
    298 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    299 
    300 	* Makefile.am (EXTRA_DIST): dist cleanup-man-pages.sh so it's in
    301 	the tarball if packagers want to run it
    302 
    303 	* cleanup-man-pages.sh: Add a script which munges all the internal
    304 	API man pages out of the Doxygen output. This reduces the size of
    305 	the installed man pages from 7 to 2 megs, and avoids
    306 	namespace-polluting pages. Right now (like Doxygen) this script
    307 	isn't in the build, it's something packagers can do manually.
    308 
    309 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    310 
    311 	* dbus/dbus-connection.h: don't include the watch/timeout
    312 	functions in connection section
    313 
    314 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    315 
    316 	* Documentation! Whee! Doxygen now 100% silent. If you make it
    317 	angry again, you will be punished.
    318 	
    319 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    320 
    321 	* More documentation - all public API now documented according to
    322 	Doxygen
    323 
    324 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    325 
    326 	* Document a bunch of undocumented stuff
    327 	
    328 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    329 
    330 	* Clean up Doxygen group markers for public API so Doxygen finds
    331 	everything (not comprehensively fixed for private API).
    332 	Means all remaining Doxygen warnings are just about missing docs
    333 	and thus pretty simple to resolve.
    334 	
    335 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    336 	
    337 	* dbus/dbus-macros.h: add DBUS_GNUC_DEPRECATED macro
    338 
    339 	* dbus/dbus-message.h: mark dbus_message_iter_get_array_len() 
    340 	as DBUS_GNUC_DEPRECATED
    341 
    342 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    343 
    344         * Move all private API into the private Doxygen group sections of
    345 	the files, so they don't show up in the public API docs
    346 	
    347 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    348 
    349 	* dbus/dbus-message.h: put #ifndef DBUS_DISABLE_DEPRECATED around 
    350 	dbus_message_iter_get_array_len().
    351 
    352 	* throughout: documentation improvements.
    353 
    354 2006-10-20  Havoc Pennington  <hp (a] redhat.com>
    355 
    356 	* doc/TODO: remove the int64 thing from 1.0 since it doesn't
    357 	matter, and the message-loader-breaker thing since nobody is going
    358 	to do it.  Add an item to 1.0 about supporting recursive locks
    359 	in dbus_threads_init_default() though, since it should be easy.
    360 
    361 	* dbus/dbus-connection.c (_dbus_connection_read_write_dispatch):
    362 	Fix this in the !dispatch case to avoid busy-looping after
    363 	disconnection
    364 
    365         * More misc docs improvements
    366 
    367 2006-10-19  Havoc Pennington  <hp (a] redhat.com>
    368 
    369 	* more Doxygen-related fixes (lots of moving things from the
    370 	public to internal section in dbus-connection.c)
    371 
    372 2006-10-19  Havoc Pennington  <hp (a] redhat.com>
    373 
    374 	* Fix a pile of Doxygen warnings and missing docs
    375 
    376 2006-10-19  John (J5) Palmieri  <johnp (a] redhat.com>
    377 
    378 	* bus/dir-watch-default.c, bus/dir-watch-dnotify.c, 
    379 	bus/dir-watch-kqueue.c (bus_watch_directory): Pass in a BusContext 
    380 	instead of a void *.  kqueue uses this to get the context's loop
    381 	while the other modules ignore the parameter.  This allows us to
    382 	avoid platform conditionals
    383 
    384 	* bus/bus.c (process_config_postinit): Pass in the context to the 
    385 	watch
    386 
    387 2006-10-19  John (J5) Palmieri  <johnp (a] redhat.com>
    388 
    389 	* bus/messagebus.in, bus/rc.messagebus.in: run dbus-uuidgen --ensure
    390 	when starting the system bus
    391 
    392 2006-10-18  John (J5) Palmieri  <johnp (a] redhat.com>
    393 
    394 	* configure.in: More fixups for cross compile (Patch from 
    395 	Marco Pracucci <development at pracucci dot com>)
    396 
    397 2006-10-17  Havoc Pennington  <hp (a] redhat.com>
    398 
    399 	* tools/dbus-send.c (main): don't close shared connection, fix
    400 	from Timo Hoenig
    401 
    402 2006-10-17  Havoc Pennington  <hp (a] redhat.com>
    403 
    404 	* configure.in (CPPFLAGS): don't do -DDBUS_API_SUBJECT_TO_CHANGE here
    405 
    406 	* dbus/dbus.h: drop the DBUS_API_SUBJECT_TO_CHANGE requirement,
    407 	since realistically it doesn't look like we'll be changing it
    408 	anymore.
    409 
    410 2006-10-17  Havoc Pennington  <hp (a] redhat.com>
    411 
    412 	* dbus/dbus-internals.c (_dbus_warn_check_failed): new function to
    413 	be used for return_if_fail type warnings; prefixes the pid, and
    414 	fatal by default.
    415 
    416 2006-10-14  John (J5) Palmieri  <johnp (a] redhat.com>
    417 
    418 	* configure.in: Released 1.0 RC 2(0.94)
    419 	Add check for -fPIC and enable it if available
    420 
    421 2006-10-14  John (J5) Palmieri  <johnp (a] redhat.com>
    422 
    423 	* doc/TODO: Remove the check TODO item
    424 
    425 2006-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
    426 
    427 	* dbus-transport-socket.c (exchange_credentials):
    428 	Print out more detailed errors if reading or sending
    429 	credentials fail (Patch from Julio M. Merino Vidal 
    430 	<jmmv at NetBSD dot org>)
    431 
    432 2006-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
    433 
    434 	* configure.in: when checking for posix getpwnam_r assume true
    435 	for cross compiles
    436 
    437 2006-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
    438 
    439 	* configure.in: Check for gethostbyname first before we check for it
    440 	in libnsl.  On gnu systems it is implemeneted 
    441 
    442 2006-10-13  Havoc Pennington  <hp (a] redhat.com>
    443 
    444 	* dbus/dbus-connection.c
    445 	(dbus_connection_send_with_reply_and_block): fix to handle closed
    446 	connections, from Tambet Ingo bug #8631
    447 
    448 2006-10-11  John (J5) Palmieri  <johnp (a] redhat.com>
    449 
    450 	* configure.in: use AC_TRY_COMPILE for dirfd instead of AC_TRY_RUN
    451 
    452 2006-10-11  John (J5) Palmieri  <johnp (a] redhat.com>
    453 
    454 	* test/name-test/Makefile.am: don't link against both libdbus and
    455 	libdbus-convenience
    456 
    457 2006-10-11  John (J5) Palmieri  <johnp (a] redhat.com>
    458 
    459 	* configure.in: check for dirfd even if it is a macro
    460 	(Patch from Timothy Redaelli <drizzt at gufi dot org>)
    461 
    462 2006-10-08  John (J5) Palmieri  <johnp (a] redhat.com>
    463 
    464 	* configure.in: define _POSIX_PTHREAD_SEMANTICS on solaris
    465 	avoid using dirfd on systems that don't have dirfd 
    466 	(Patch by Brian Cameron <brian dot cameron at sun dot com>) 
    467 
    468 2006-10-02  John (J5) Palmieir  <johnp (a] redhat.com>
    469 
    470 	* dbus/dbus-sysdeps.c (_dbus_abort): Remove from 
    471 	#ifndef DBUS_DISABLE_ASSERTS macro to fix distcheck
    472 
    473 	* dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): Remove from
    474 	#if !defined (DBUS_DISABLE_ASSERT) || defined(DBUS_BUILD_TESTS)
    475 	macro because _dbus_abort calls it
    476 
    477 	* tools/Makefile.am: Add dbus-launch.h to the source list so distcheck
    478 	works
    479 
    480 2006-10-02  John (J5) Palmieir  <johnp (a] redhat.com>
    481 
    482 	* dbus/dbus-sysdeps-util-unix.c (dirent_buf_size): Add check for
    483 	MAXNAMELEN for Mac OSX.  (Patch from Jonas B <sanoix at gmail dot com>)
    484 
    485 2006-10-02  Thiago Macieira  <thiago (a] kde.org>
    486 
    487 	* tools/dbus-launch.c (main): make it complain and abort
    488 	execution in case an unknown option is given. Also, process
    489 	the '--' argument as the end of arguments.
    490 
    491 2006-10-01  Havoc Pennington  <hp (a] redhat.com>
    492 
    493 	* tools/dbus-launch.c (print_variables): if no syntax is given,
    494 	don't print something that's sort-of-half-sh-syntax, just print
    495 	a plain key-value pairs thing.
    496 
    497 	* tools/dbus-launch-x11.c: use machine ID rather than hostname for
    498 	the local machine representation (but still have the hostname in
    499 	the display). Remove the hostname from the display if it is
    500 	localhost. Change session files to be named
    501 	~/.dbus/session-bus/machine-display. Change X atoms to be
    502 	underscore-prefixed so nobody whines about ICCCM compliance.
    503 	Otherwise name them the same as the env variables.
    504 	Change session file format to include key-value pairs and an
    505 	explanatory comment. Keys are the same as the env variables.
    506 	(set_address_in_x11): X property format can't depend on
    507 	sizeof(pid_t) on a particular machine, fix to always be 32 bits
    508 
    509 	* tools/dbus-launch.c: make --autolaunch take a machine id
    510 	argument. If --autolaunch is used with a program to run, complain
    511 	for now (but add a FIXME). Also, don't look for existing bus if 
    512 	there's a program to run (but add a FIXME).
    513 
    514 	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): pass
    515 	machine uuid to dbus-launch (avoids linking dbus-launch to libdbus
    516 	just to get this, and avoids duplicating uuid-reading code).
    517 
    518 	* tools/dbus-launch.1: clarify various things
    519 	
    520 2006-10-01  Havoc Pennington  <hp (a] redhat.com>
    521 
    522 	* test/test-service.c (path_message_func): remove broken extra
    523 	unref that was hidden by the bugs in dbus-connection.c/dbus-bus.c
    524 
    525 	* test/test-shell-service.c (path_message_func): same fix
    526 	
    527 	* dbus/dbus-connection.c
    528 	(_dbus_connection_get_dispatch_status_unlocked): break up the
    529 	function a little for clarity and fix the notification of
    530 	dbus-bus.c to not require dispatch to be complete
    531 
    532 	* dbus/dbus-connection.c (dbus_connection_unref): improve the
    533 	warning when you try to finalize an open connection.
    534 	
    535 2006-10-01  Havoc Pennington  <hp (a] redhat.com>
    536 
    537 	* dbus/dbus-bus.c
    538 	(internal_bus_get): only weak ref the connection; this means 
    539 	_dbus_bus_notify_shared_connection_disconnected_unlocked can be
    540 	called safely in any context
    541 	(_dbus_bus_notify_shared_connection_disconnected_unlocked): don't
    542 	unref
    543 
    544 	* dbus/dbus-connection.c
    545 	(_dbus_connection_get_dispatch_status_unlocked): move
    546 	_dbus_bus_notify_shared_connection_disconnected_unlocked here
    547 	when queuing Disconnected instead of when the Disconnected message
    548 	arrives, so dbus_bus_get() won't return closed connections.
    549 	
    550 2006-10-01  Havoc Pennington  <hp (a] redhat.com>
    551 
    552 	* dbus/dbus-connection.c (_dbus_connection_close_if_only_one_ref): 
    553 	Add a hack to make DBusNewConnectionFunction work right.
    554 
    555 	* dbus/dbus-server-socket.c (handle_new_client_fd_and_unlock): use
    556 	the hack here. Also, fix the todo about refcount leak.
    557 	
    558 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
    559 	and use the hack here
    560 	
    561         * dbus/dbus-connection.c: Kill the "shared" flag vs. the
    562 	"shareable" flag; this was completely broken, since it meant 
    563 	dbus_connection_open() returned a connection of unknown
    564 	shared-ness. Now, we always hold a ref on anything opened 
    565 	as shareable.
    566 
    567 	Move the call to notify dbus-bus.c into
    568 	connection_forget_shared_unlocked, so libdbus consistently forgets
    569 	all its knowledge of a connection at once. This exposed numerous
    570 	places where things were totally broken if we dropped a ref inside
    571 	get_dispatch_status_unlocked where
    572 	connection_forget_shared_unlocked was previously, so move
    573 	connection_forget_shared_unlocked into
    574 	_dbus_connection_update_dispatch_status_and_unlock. Also move the
    575 	exit_on_disconnect here.
    576 
    577 	(shared_connections_shutdown): this assumed weak refs to the
    578 	shared connections; since we have strong refs now, the assertion 
    579 	was failing and stuff was left in the hash. Fix it to close
    580 	still-open shared connections.
    581 	
    582 	* bus/dispatch.c: fixup to use dbus_connection_open_private on the 
    583 	debug pipe connections
    584 	
    585 	* dbus/dbus-connection.c (dbus_connection_dispatch): only notify
    586 	dbus-bus.c if the closed connection is in fact shared
    587 	(_dbus_connection_close_possibly_shared): rename from 
    588 	_dbus_connection_close_internal
    589 	(dbus_connection_close, dbus_connection_open,
    590 	dbus_connection_open_private): Improve docs to explain the deal
    591 	with when you should close or unref or both
    592 
    593 	* dbus/dbus-bus.c
    594 	(_dbus_bus_notify_shared_connection_disconnected_unlocked): rename
    595 	from _dbus_bus_check_connection_and_unref_unlocked and modify to
    596 	loop over all connections
    597 
    598 	* test/test-utils.c (test_connection_shutdown): don't try to close
    599 	shared connections.
    600 
    601 	* test/name-test/test-threads-init.c (main): fix warnings in here
    602 
    603 	* dbus/dbus-sysdeps.c (_dbus_abort): support DBUS_BLOCK_ON_ABORT
    604 	env variable to cause blocking waiting for gdb; drop
    605 	DBUS_PRINT_BACKTRACE and just call _dbus_print_backtrace() 
    606 	unconditionally.
    607 
    608 	* configure.in: add -export-dynamic to libtool flags if assertions enabled
    609 	so _dbus_print_backtrace works.
    610 
    611 	* dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): use fprintf
    612 	instead of _dbus_verbose to print the backtrace, and diagnose lack 
    613 	of -rdynamic/-export-dynamic
    614 	
    615 2006-09-30  Havoc Pennington  <hp (a] redhat.com>
    616 
    617 	* dbus/dbus-bus.c (dbus_bus_get_private, dbus_bus_get) 
    618 	(internal_bus_get): fix screwy code formatting. whoever committed
    619 	that was not paying attention!
    620 
    621 2006-09-30  Havoc Pennington  <hp (a] redhat.com>
    622 
    623 	* configure.in (LT_CURRENT, LT_AGE): increment current and age to
    624 	reflect addition of interfaces.
    625 
    626 	* doc/dbus-specification.xml: describe a new
    627 	org.freedesktop.DBus.Peer.GetMachineId method
    628 
    629 	* dbus/dbus-string.c (_dbus_string_skip_white_reverse): new function
    630 	(_dbus_string_skip_white, _dbus_string_skip_blank): use new
    631 	DBUS_IS_ASCII_BLANK, DBUS_IS_ASCII_WHITE macros and fix assertion
    632 	at end of skip_white
    633 	(_dbus_string_chop_white): new function
    634 
    635 	* bus/connection.c (bus_connections_setup_connection): call
    636 	dbus_connection_set_route_peer_messages.
    637 
    638 	* dbus/dbus-connection.c
    639 	(_dbus_connection_peer_filter_unlocked_no_update): modify to
    640 	support a GetMachineId method.
    641 
    642 	Also, support a new flag to let the bus pass peer methods through
    643 	to apps on the bus, which can be set with
    644 	dbus_connection_set_route_peer_messages.
    645 
    646 	Finally, handle and return an error for anything unknown on the
    647 	Peer interface, which will allow us to extend the Peer interface
    648 	in the future without fear that we're now intercepting something
    649 	apps were wanting to see.
    650 	
    651 	* tools/dbus-uuidgen.c: a thin wrapper around the functions in 
    652 	dbus/dbus-uuidgen.c
    653 
    654 	* dbus/dbus-uuidgen.c: implement the bulk of the dbus-uuidgen
    655 	binary here, since most of the code is already in libdbus
    656 
    657 	* dbus/dbus-sysdeps.c (_dbus_read_local_machine_uuid): read the
    658 	uuid from the system config file
    659 
    660 	* dbus/dbus-internals.c (_dbus_generate_uuid, _dbus_uuid_encode) 
    661 	(_dbus_read_uuid_file_without_creating) 
    662 	(_dbus_create_uuid_file_exclusively, _dbus_read_uuid_file): new
    663 	uuid-related functions, partly factored out from dbus-server.c
    664 
    665 	* dbus/dbus-sysdeps.c (_dbus_error_from_errno): convert EEXIST to
    666 	DBUS_ERROR_FILE_EXISTS instead of EEXIST
    667 
    668 	* dbus/dbus-protocol.h (DBUS_ERROR_FILE_EXISTS): add file exists error
    669 
    670 	* tools/dbus-cleanup-sockets.1: explain what the point of this
    671 	thing is a bit more
    672 
    673 	* autogen.sh (run_configure): add --config-cache to default
    674 	configure args
    675 
    676 	* dbus/dbus-internals.h (_DBUS_ASSERT_ERROR_IS_SET): disable the
    677 	error set/clear assertions when DBUS_DISABLE_CHECKS is defined
    678 
    679 	* tools/dbus-launch.c (main): if xdisplay hasn't been opened,
    680 	don't try to save address, fixes crash in make check
    681 	
    682 2006-09-30  Thiago Macieira  <thiago (a] kde.org>
    683 
    684 	* configure.in: add DBUS_BINDIR as a #define to C source code.
    685 
    686 	* tools/dbus-launch.c
    687 	* tools/dbus-launch.h
    688 	* tools/dbus-launch-x11.c:
    689 	* tools/dbus-launch.1: Add the --autolaunch option to
    690 	dbus-launch, which makes it scan for an existing session
    691 	started with --autolaunch. With that option, it also creates
    692 	an X11 window and saves the bus address and PID to it.
    693 
    694 	* dbus/dbus-sysdeps.h:
    695 	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): Add
    696 	a function that runs "dbus-launch --autolaunch" to retrieve
    697 	the running D-Bus session address (or start one if none was running)
    698 
    699 	* dbus/dbus-transport.c: Add the handler for the "autolaunch:"
    700         address protocol, which tries to get the running session from
    701         dbus-launch.
    702 
    703 	* dbus/dbus-bus.c:
    704 	* dbus/dbus-internals.h: Make "autolaunch:" be the default
    705 	D-Bus session bus address.
    706 
    707 	* dbus/dbus-connection.c: Fix horrible typo in error message.
    708 
    709 2006-09-18  John (J5) Palmieri  <johnp (a] redhat.com>
    710 
    711 	* tools/Makefile.am: use @EXPANDED_DATADIR@ instead of @DATADIRNAME@  
    712 
    713 2006-09-17  Havoc Pennington  <hp (a] redhat.com>
    714 
    715 	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
    716 	fix so that if unix_user_function is set on windows, we still
    717 	do the default check that the auth identity matches the bus identity
    718 
    719 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    720 
    721 	* dbus/dbus-transport.c (_dbus_transport_open): modify to delegate
    722 	to _dbus_transport_open_platform_specific,
    723 	_dbus_transport_open_socket,
    724 	and _dbus_transport_open_debug_pipe
    725 
    726 	* dbus/dbus-transport-protected.h: add _dbus_transport_open_platform_specific
    727 
    728 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    729 
    730         Attempt auditing public API to remove all cases where a Unix
    731 	function returns weird emulated goo to Windows. This probably 
    732 	breaks the bus daemon on Windows, to fix it again we may 
    733 	need to stop processing unix-specific config options on Windows,
    734 	and may need to add Windows-specific public API or config options.
    735 	
    736 	* configure.in (LT_CURRENT, LT_AGE): increment current and age,
    737 	to reflect added interfaces; should not break soname.
    738 	
    739 	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated): do
    740 	not invoke unix user function on Windows. Kind of a hacky fix, but 
    741 	we don't want a "unix uid" leaking out on Windows.
    742 
    743 	* dbus/dbus-connection.c (dbus_connection_get_socket): add new API
    744 	to get the socket fd on Windows or UNIX
    745 	(dbus_connection_get_unix_fd): make this always fail on Windows
    746 
    747 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    748 
    749 	* dbus/dbus-server.c (dbus_server_listen): change how this works
    750 	to be able to delegate to a set of handlers that can succeed,
    751 	fail, or choose not to handle. Allows us to have 
    752 	dbus_server_listen_platform_specific.
    753 
    754 	* dbus/dbus-server-socket.c (_dbus_server_new_for_tcp_socket):
    755 	factor out the tcp socket stuff to be used on windows, leaving
    756 	unix domain socket only in dbus-socket-unix.c
    757 
    758 	* dbus/dbus-transport-socket.c
    759 	(_dbus_transport_new_for_tcp_socket): factor out the tcp socket
    760 	stuff to be used on windows, leaving unix domain socket only 
    761 	in dbus-transport-unix.c
    762 
    763 	* dbus/dbus-connection.c (dbus_connection_get_unix_user): insert
    764 	temporary hack to be sure this fails on windows
    765 	(dbus_connection_get_unix_process_id): ditto
    766 
    767 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    768 
    769 	* dbus/dbus-sysdeps-unix.c (_dbus_open_tcp_socket) 
    770 	(_dbus_open_unix_socket, _dbus_open_socket): change API for 
    771 	_dbus_open_socket so the domain/type/protocol from system headers
    772 	are not required. This is kind of pointless though unless we move
    773 	part of _dbus_connect_tcp_socket into sysdeps.c instead of
    774 	sysdeps-unix.c, which would mean adding a wrapper around
    775 	bind/listen/etc.
    776 	Also, add DBusError to the socket-opening functions so they 
    777 	don't require use of errno.
    778 
    779 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    780 
    781 	* dbus/dbus-sysdeps-unix.h: small change to Peter's patch to make
    782 	dbus-sysdeps-unix-util.c build, add unix-specific sysdeps header.
    783 
    784 	* dbus/dbus-sysdeps.h, dbus-sysdeps-unix.c: patch from Peter 
    785 	Kmmel bug #8249 to make the sysdeps.h read/write/open/close
    786 	functions specifically for sockets only, and move generic 
    787 	read/write/open/close into unix-specific code.
    788 
    789 2006-09-14  Havoc Pennington  <hp (a] redhat.com>
    790 
    791 	* dbus/dbus-transport-unix.c (unix_do_iteration): fix a valgrind
    792 	complaint about accessing revents when poll returns 0, from Julian Seward.
    793 
    794 2006-09-14  John (J5) Palmieri  <johnp (a] redhat.com>
    795 
    796 	* Released 1.0 RC 1 (0.93) 
    797 
    798 2006-09-14  John (J5) Palmieri  <johnp (a] redhat.com>
    799 
    800 	* dbus/dbus-sysdeps-util-unix.c (_dbus_write_pid_file):
    801 	use _dbus_close instead of close
    802 
    803 2006-09-14  John (J5) Palmieri  <johnp (a] redhat.com>
    804 
    805 	* dbus/dbus-sysdeps.c: Add support for LOCAL_CREDS socket
    806 	credentials.  Fixes "external" authentication under e.g. NetBSD
    807 	which does not support any other socket credentials mechanism.
    808 	(Patch from Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
    809 
    810 2006-09-14  John (J5) Palmieri  <johnp (a] redhat.com>
    811 
    812 	* dbus/dbus-threads.c: Allow recursive mutex's to be passed into
    813 	dbus_threads_init and be used by the dbus mutex functions to
    814 	avoid deadlocks.
    815 
    816 	* doc/TODO: Remove recursive mutex dbus_connection_dispatch TODO item
    817 
    818 2006-09-13  John (J5) Palmieri  <johnp (a] redhat.com>
    819 
    820 	* dbus/dbus-sysdeps-util-unix.c (_dbus_directory_get_next_file):
    821 	use threadsafe readdir_r instead of readdir
    822 
    823 2006-09-13  John (J5) Palmieri  <johnp (a] redhat.com>
    824 
    825 	* dbus-threads.c (dbus_threads_init_default): New method for
    826 	initializing the internal thread implementation (Patch from
    827 	Alexander Larsson <alexl at redhat dot com>)
    828 
    829 2006-09-11  John (J5) Palmieri  <johnp (a] redhat.com>
    830 
    831 	* remove a bunch of todo items from the 1.0 list
    832 
    833 2006-09-11  John (J5) Palmieri  <johnp (a] redhat.com>
    834 
    835 	* bus/activation.c, bus/desktop-file.c: Distinguish between OOM and
    836 	key not found
    837 
    838 2006-09-11  John (J5) Palmieri  <johnp (a] redhat.com>
    839 
    840 	* dbus/dbus-internal.c: Add dbus_is_verbose so we can have more
    841 	complex debugging code
    842 
    843 	* dbus/dbus-marshal-basic.c (_dbus_marshal_read_fixed_multi): Move
    844 	between the test suite ifdefs
    845 	(_dbus_verbose_bytes): return if verbosity is not enabled 
    846 
    847 2006-09-11  John (J5) Palmieri  <johnp (a] redhat.com>
    848 
    849 	* dbus/dbus-marshal-recursive-util.c, dbus/dbus-marshal-recursive.c:
    850 	remove DBusMark
    851 
    852 2006-09-10  Havoc Pennington  <hp (a] redhat.com>
    853 
    854        patch mostly by Peter Kmmel, bug #8211
    855 	
    856 	* dbus/dbus-sysdeps-unix.c: new file, which splits out
    857 	unix-specific stuff in dbus-sysdeps.c
    858 
    859 	* dbus/dbus-sysdeps.c: don't include any UNIX-only headers, 
    860 	and move unix-specific stuff to dbus-sysdeps-unix.c
    861 
    862 	* configure.in: check HAVE_ERRNO_H
    863 	
    864 2006-09-08  John (J5) Palmieri  <johnp (a] redhat.com>
    865 
    866 	* bus/test-main.c (main): Initialize threading during tests
    867 
    868 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
    869 	Unlock connection on error
    870 	(generate_local_error_message): static method for generating
    871 	an error message when we don't have a message to reply to
    872 	(_dbus_connection_block_pending_call): Send a disconnect error
    873 	instead of just a timeout (NULL) when the bus gets disconnected
    874 	while blocking for a reply.
    875 	
    876 2006-09-08  John (J5) Palmieri  <johnp (a] redhat.com>
    877 
    878 	* dbus/dbus-connection.c (dbus_connection_dispatch): Properly remove
    879 	filters (Patch from Kimmo Hmlinen 
    880 	<kimmo dot hamalainen at nokia dot com>)
    881 
    882 2006-09-07  John (J5) Palmieri  <johnp (a] redhat.com>
    883 
    884 	* dbus/dbus-connection-internal.h: Add prototype for 
    885 	_dbus_connection_test_get_locks to remove warning
    886 
    887 2006-09-07  John (J5) Palmieri  <johnp (a] redhat.com>
    888 
    889 	* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): Make sure we
    890 	close child_err_report_pipe[WRITE_END] on exec (Patch from 
    891 	Kimmo Hmlinen <kimmo dot hamalainen at nokia dot com>)
    892 
    893 2006-09-07  John (J5) Palmieri  <johnp (a] redhat.com>
    894 
    895 	* Clean up close calls to use _dbus_close (Patch from 
    896 	Kimmo Hmlinen <kimmo dot hamalainen at nokia dot com>)
    897 
    898 2006-09-06  John (J5) Palmieri  <johnp (a] redhat.com>
    899 
    900 	* doc/TODO:
    901 	- Remove pending call locking todo item
    902 	- dbus_connection_open now holds hard ref.  Remove todo item
    903 	- do proper locking on _dbus_bus_check_connection_and_unref
    904 	  and handle DBUS_BUS_STARTER. Remove todo item
    905 	- Warn on closing of a shared connection.  Remove todo item
    906 
    907 	* bus/bus.c, bus/connection.c, bus/dispatch.c, dbus/dbus-bus.c,
    908 	dbus/dbus-connection.c: Use the dbus_connection_close_internal
    909 	so we don't get the warning when closing shared connections
    910 
    911 	* test/test-service.c, test/test-shell-service.c: Applications
    912 	don't close shared connections themselves so we unref instead of
    913 	close
    914 
    915 	* test/test-utils.c (test_connection_shutdown): Close the connection
    916 
    917 	* dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): Changed to
    918 	_dbus_bus_check_connection_and_unref_unlocked since we only call this
    919 	method on a locked connection.  
    920 	Make sure we call _dbus_connection_unref_unlocked instead of 
    921 	dbus_connection_unref also.
    922 	Handle DBUS_BUS_STARTER correctly
    923 
    924 	* dbus/dbus-connection.c (connection_record_shared_unlocked):
    925 	Mark as shared and hard ref the connection
    926 	(connection_forget_shared_unlocked): Remove the hard ref from the 
    927 	connection
    928 	(_dbus_connection_close_internal_and_unlock):  New internal function
    929 	which takes a locked connection and unlocks it after closing it
    930 	(_dbus_connection_close_internal): New internal function which acts
    931 	like the origonal dbus_connection_close method by grabbing a connection
    932 	lock and calling _dbus_connection_close_internal_and_unlock
    933 	(dbus_connection_close): Public close method, warns when the app
    934 	trys to close a shared connection
    935 
    936 2006-09-06  John (J5) Palmieri  <johnp (a] redhat.com>
    937 
    938 	* bus/driver.c:
    939 	(bus_driver_generate_introspect_string): New method for populating
    940 	a DBusString with the introspect data
    941 	(bus_driver_handle_introspect): Move introspect generation code to 
    942 	bus_driver_generate_introspect_string
    943 
    944 	* bus/main.c:
    945 	(introspect): New function which prints out the intropect data and
    946 	exits
    947 	(main): Add a --introspect switch
    948 
    949 2006-09-06  John (J5) Palmieri  <johnp (a] redhat.com>
    950 
    951 	* doc/TODO: Removed dtd publishing item.  
    952 	It seems the dtd has already been added at
    953 	http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd
    954 
    955 2006-09-05  John (J5) Palmieri  <johnp (a] redhat.com>
    956 
    957 	* doc/TODO, various source files: Audited todo's and FIXME's and
    958 	prepended the ones we should be looking at with 1.0.  Those
    959 	prepended with 1.0? need clerification or might not be needed
    960 	for 1.0
    961 
    962 2006-09-05  John (J5) Palmieri  <johnp (a] redhat.com>
    963 
    964 	* dbus/dbus-pending-call.c: Add some checks so we don't crash on
    965 	NULL in the public API (Patch from Kimmo Hmlinen 
    966 	<kimmo dot hamalainen at nokia dot com>)
    967 
    968 2006-09-05  John (J5) Palmieri  <johnp (a] redhat.com>
    969 
    970 	* configure.in: Fix for OS-X compile time endian issues (patch from
    971 	Benjamin Reed <ranger at befunk dot com>)
    972 
    973 2006-09-05  John (J5) Palmieri  <johnp (a] redhat.com>
    974 
    975 	* configure.in: Check for no-common compiler flag (OS-X fix from
    976 	Benjamin Reed <ranger at befunk dot com>)
    977 
    978 2006-09-01  John (J5) Palmieri  <johnp (a] redhat.com>
    979 
    980 	* tools/dbus-launch.c: Add a sigterm handler (patch from Frederic Crozat
    981 	<fcrozat at mandriva dot com>)
    982 
    983 2006-08-29  Havoc Pennington  <hp (a] redhat.com>
    984 
    985 	* test/test-service.c (path_message_func): fix lack of return value
    986 
    987 	* dbus/dbus-sysdeps.c (_dbus_printf_string_upper_bound): fix
    988 	formatting, remove #ifdef, and fix docs. #ifdef doesn't make
    989 	any more sense than on anything else in this file.
    990 	(_dbus_get_tmpdir): add const to return value, and keep the
    991 	results of the various getenv around in a static variable.
    992 
    993 2006-08-29  Havoc Pennington  <hp (a] redhat.com>
    994 
    995 	* dbus/dbus-sysdeps-util.c, dbus/dbus-sysdeps-util-unix.c: change
    996 	from Ralf Habacker to move UNIX-specific sysdeps into a separate file.
    997 
    998 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
    999 
   1000 	* test/Makefile.am: change find to use syntax that works with non
   1001 	gnu versions of find
   1002 
   1003 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   1004 
   1005 	* dbus/dbus-transport.c: fix invalid deref when checking if
   1006 	a vtable method exists (Patch from Christian Ehrlicher 
   1007 	<ch dot ehrlicher at gmx dot de>)
   1008 
   1009 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   1010 
   1011 	* configure.in, dbus/Makefile.am, test/name-test/run-test.sh, 
   1012 	test/name-test/Makefile.am: Fixed some issues with getting get dbus 
   1013 	to build with builddir != srcdir (Taken from a patch by Bernard Leak
   1014 	<bernard at brenda-arkle dot demon dot co dot uk>)
   1015 
   1016 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   1017 
   1018 	* configure.in: Fix DBUS_DAEMONDIR to use EXPANDED_BINDIR for the
   1019 	default case
   1020 
   1021 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   1022 
   1023 	* configure.ac, bus/Makefile.am: Generalize kqueue support so that
   1024 	it works on any system providing this interface, not only FreeBSD.
   1025 	For example, NetBSD. (Patch by Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
   1026 
   1027 2006-08-20  Havoc Pennington  <hp (a] redhat.com>
   1028 
   1029 	* doc/dbus-faq.xml, doc/dbus-tutorial.xml: some improvements to
   1030 	the docs
   1031 
   1032 2006-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   1033 
   1034 	* Released 0.92 
   1035 
   1036 2006-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   1037 
   1038 	* dbus/dbus-threads.c (dbus_threads_init): change the documentation
   1039 	to reflect the init late change
   1040 
   1041 	* bus/bus.c (bus_context_new): Check user before we fork so we can
   1042 	print out an error message a user will be able to see
   1043 
   1044 2006-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   1045 
   1046 	Patch provided by Ralf Habacker (ralf dot habacker at freenet dot de) 
   1047 
   1048 	* dbus/dbus-sysdeps.c, dbus/dbus-threads.c, dbus/dbus-internals.h:
   1049 	Add two more global locks for use on windows platforms.  These are
   1050 	unused on non-windows platforms but are not ifdefed out to avoid
   1051 	potential bugs (i.e. the few bytes lost does not warrent the extra
   1052 	maintanence and complexity that having seperate sets of locks would
   1053 	cause)
   1054 
   1055 2006-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   1056 
   1057 	* bus/services.c (bus_registry_acquire_service): Return an error
   1058 	when an application tries to register the org.freedesktop.DBus Bus Name
   1059 
   1060 	* bus/services.c (bus_registry_release_service): Return an error
   1061 	when an application tries to release the org.freedesktop.DBus Bus Name
   1062 
   1063 2006-08-17  Alp Toker  <alp (a] atoker.com>
   1064 
   1065 	* doc/dbus-specification.xml: Fix some minor typos.
   1066 
   1067 2006-08-17  John (J5) Palmieri  <johnp (a] redhat.com>
   1068 
   1069 	* configure.in: use $with_init_scripts instead of $operating_system
   1070 	to determine where to store the pid since the init scripts manipulate 
   1071 	the pid file (patch from Marcelo Ricardo Leitner 
   1072 	<marcelo dot leitner at terra dot com dot br>.  
   1073 
   1074 2006-08-16  John (J5) Palmieri  <johnp (a] redhat.com>
   1075 
   1076 	* dbus/dbus-threads.c: Add static DBusList *uninitialized_mutex_list and
   1077 	static DBusList *uninitialized_condvar_list to support new late 
   1078 	initialization threading model.  In this model threads can be initialized
   1079 	even after the D-Bus API has been used but still needs to be initialized 
   1080 	before the second thread has been started.  Mutexes and condvar addresses
   1081 	are stored in the two static lists and are replaced with actuall locks
   1082 	when threads are initalized.
   1083 	(_dbus_mutex_new_at_location): New method for creating a mutex and placing
   1084 	the location into the static list
   1085 	(_dbus_mutex_free_at_location): New method for removing a mutex location 
   1086 	from the static list and freeing the mutex
   1087 	(_dbus_condvar_new_at_location): New method for creating a conditional 
   1088 	variable and placing the location into the static list
   1089 	(_dbus_condvar_free_at_location): New method for removing a conditional
   1090 	variable location from the static list and freeing the conditional variable 
   1091 	(init_uninitialized_locks): Atomic method which goes through the static 
   1092 	lists of mutex and condvar location and updates them with actuall locks
   1093 	(init_global_locks): changed to init_locks
   1094 	
   1095 	* dbus/dbus-connection.c:
   1096 	(_dbus_connection_test_get_locks): New method for tests to check connections
   1097 	(_dbus_connection_new_for_transport): Use the new at_location mutex and
   1098 	condvar API
   1099 	(dbus_connection_allocate_data_slot): Pass in the global lock address
   1100 	to _dbus_data_slot_allocator_alloc
   1101 
   1102 	* dbus/dbus-dataslot.c:
   1103 	(_dbus_data_slot_allocator_alloc): Use the address of the mutex
   1104 	instead of the mutex itself
   1105 
   1106 	* dbus/dbus-message.c:
   1107 	(dbus_message_allocate_data_slot): Pass in the global lock address
   1108 	to _dbus_data_slot_allocator_alloc
   1109 
   1110 	* dbus/dbus-pending-call.c:
   1111 	(dbus_pending_call_allocate_data_slot): Pass in the global lock address
   1112 	to _dbus_data_slot_allocator_alloc
   1113 
   1114 	* dbus/dbus-server.c:
   1115 	(_dbus_server_init_base): Use the new at_location mutex API
   1116 	(dbus_server_allocate_data_slot): Pass in the global lock address
   1117 	to _dbus_data_slot_allocator_alloc
   1118 
   1119 	* test/name-test/test-threads-init.c: New test case for late thread
   1120 	initialization
   1121 
   1122 2006-08-14  John (J5) Palmieri  <johnp (a] redhat.com>
   1123 
   1124 	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
   1125 	Change _dbus_abort to _dbus_assert_not_reached because _dbus_abort
   1126 	causes compile problems when asserts are turned off
   1127 	Keeping _dbus_warn for printing out the message so even if
   1128 	asserts are turned off the user gets the messages that something is 
   1129 	wrong 
   1130 
   1131 2006-08-14  John (J5) Palmieri  <johnp (a] redhat.com>
   1132 
   1133 	Patches by Kjartan Maraas <kmaraas at gnome dot org>
   1134 
   1135 	* bus/services.c (bus_service_list_queued_owners):
   1136 	Add a pointer cast to fix compiler warning
   1137 
   1138 	* dbus/dbus-dataslot.c (_dbus_data_slot_list_get):
   1139 	return a NULL instead of FALSE since the return type
   1140 	is not expecting a boolean
   1141 
   1142 	* dbus/dbus-marshal-basic.c (_dbus_marshal_test):
   1143 	Remove unused variable
   1144 
   1145 	* dbus/dbus-marshal-recursive-util.c (node_new):
   1146 	return a NULL instead of FALSE since the return type
   1147 	is not expecting a boolean
   1148 
   1149 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
   1150 	Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
   1151 	because we are expecting a pointer not a boolean
   1152 
   1153 	* dbus/dbus-sysdeps-util.c (_dbus_get_tmpdir): 
   1154 	add void as the parameter so some compilers
   1155 	don't complain
   1156 
   1157 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket,
   1158 	  _dbus_transport_new_for_tcp_socket):
   1159 	Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
   1160 	because we are expecting a pointer not a boolean
   1161 
   1162 	* test/shell-test.c (test_command_line):
   1163 	cast the second argument to _dbus_list_append to avoid compiler
   1164 	warnings
   1165 
   1166 	* test/test-names.c (main): remove unused variable
   1167 
   1168 	* test/test-service.c (check_hello_from_self_reply):
   1169 	Initialize echo_message and echo_reply to NULL
   1170 	
   1171 	* test/test-shell-service.c (handle_echo):
   1172 	Remove unused variable and cast the third parameter passed to
   1173 	dbus_connection_get_object_path_data to avoid compiler warrnings
   1174 
   1175 	* test/name-test/test-names.c (clear_message_queue):
   1176 	Remove unused function
   1177 
   1178 	* test/name-test/test-pending-call-dispatch.c:
   1179 	Fix format string in printf
   1180 
   1181 
   1182 2006-08-14  John (J5) Palmieri  <johnp (a] redhat.com>
   1183 
   1184 	* dbus/dbus-bus.c:
   1185 	* test/name-test/test-names.c:
   1186 	Remove test method dbus_bus_connection_get_unique_name because 
   1187 	we already have public method dbus_bus_get_unique_name that 
   1188 	does the exact same thing
   1189 
   1190 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1191 
   1192 	* dbus/dbus-signature.c:
   1193 	fix typos in Julio's previous patch which cause make check to fail
   1194 
   1195 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1196 
   1197 	* dbus/dbus-address.c (_dbus_address_test): Revert leaking strcmp.  
   1198 	In any case it was wrong since this is a test checking to see if
   1199 	address parsing is correct.  There was no need to get the true
   1200 	tmp directory.  
   1201 
   1202 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1203 
   1204 	* dbus/dbus-macros.h: Revert the addition of stddef.h
   1205 	as we should not be adding it to library headers 
   1206 
   1207 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1208 
   1209 	* dbus/dbus-signature.c:
   1210 	Fix the unit tests so that they work if assertions are not enabled.
   1211 	(patch from Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
   1212 
   1213 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1214 
   1215 	* tools/run-with-tmp-session-bus.sh:
   1216 	* test/name-test/run-test.sh:
   1217 	Remove bashisms (patch from Julio M. Merino Vidal
   1218 	<jmmv at NetBSD dot org>)
   1219 
   1220 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1221 
   1222 	* configure.in: add a version (>= 2.6.0) check for libxml2
   1223 
   1224 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1225 
   1226 	* configure.in: make sure the compiler supports -Wfloat-equal
   1227 	
   1228 	* bus/dir-watch-dnotify.c: move functional code after 
   1229 	variable declerations (C99 fix)  (patches from Jens Granseuer
   1230 	<jensgr at gmx dot net>
   1231 
   1232 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1233 
   1234 	* dbus/dbus-macros.h:
   1235 	add #include <stddef.h> so that Sun compilers don't complain about
   1236 	the defining NULL
   1237 
   1238 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1239 
   1240 	* dbus/dbus-sysdeps.c:
   1241 	* dbus/dbus-address.c:
   1242 	* bus/activation.c:
   1243 	* test/shell-test.c:
   1244 	don't hardcode tmp directory (patch from Dave Meikle 
   1245 	<dmk at davemeikle dot co dot uk>)
   1246 
   1247 2006-08-09  John (J5) Palmieri  <johnp (a] redhat.com>
   1248 
   1249 	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
   1250 	Change an assert to a detailed warning and abort.  
   1251 	When allocator->lock != mutex it indicates that the user has failed
   1252 	to initalize threads before using the D-Bus library.  This warning
   1253 	helps the user identify the issue and fix their app.
   1254 
   1255 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1256 
   1257 	These are all patches from Kjartan Maraas <kmaraas at gnome dot org>
   1258 	with cleanups of bugs found from Coverity reports:
   1259 
   1260 	* dbus/dbus-sysdeps-util.c (_dbus_write_pid_file):
   1261 	close the file on error to avoid a leak
   1262 
   1263 	* bus/expirelist.c (bus_expire_list_test):
   1264 	Check for NULL on dbus_new0
   1265 
   1266 	* bus/activation.c (update_directory):
   1267 	remove dead code
   1268 
   1269 	* bus/config-parser.c (merge_service_context_hash, start_selinux_child):
   1270 	Fix some leaks
   1271 
   1272 	* bus/bus.c (process_config_every_time):
   1273 	Fixed a leak
   1274 
   1275 	* bus/desktop-file.c (parse_key_value):
   1276 	Fixed leak
   1277 
   1278 	* bus/selinux.c (bus_selinux_id_table_insert):
   1279 	Fixed leak
   1280 
   1281 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1282 
   1283 	* dbus/dbus-object-tree.c (_dbus_object_subtree_new):
   1284 	remove dead code
   1285 
   1286 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1287 
   1288 	* tools/run-with-tmp-session-bus.sh: use #!/bin/sh instead of
   1289 	#!/bin/bash
   1290 
   1291 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1292 
   1293 	* Doxyfile.in: fix the INPUT line so we can generate docs 
   1294 	when sourcedir != builddir (patch from Cygwin Ports maintainer
   1295 	<yselkowitz at users dot sourceforge dot net>
   1296 
   1297 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1298 
   1299 	* dbus/dbus-sysdeps.h:
   1300 	* dbus/dbus-sysdeps.c: 
   1301 	* dbus/dbus-string.c: 
   1302 	s/_dbus_printf_length/_dbus_printf_string_upper_bound to comform with
   1303 	GLib's function which does the same thing
   1304 
   1305 	* configure.in:
   1306 	* bus/Makefile.am:
   1307 	* bus/dir-watch-default.c:
   1308 	* bus/dir-watch-dnotify.c:
   1309 	* bus/dir-watch-kqueue.c:
   1310 	Add kqueue directory watching for freebsd and split the directory
   1311 	watching code into seperate files per method/arch
   1312 	(patches from Timothy Redaelli <drizzt at gufi dotorg>)
   1313 
   1314 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1315 
   1316 	* configure.in:
   1317 	* tools/Makefile.am:
   1318 	* tools/dbus-launch.c:
   1319 	* bus/Makefile.am:
   1320 	allow --with-dbus-daemondir switch to be used to make the
   1321 	daemon install to a seperate bindir like /usr/libexec
   1322 	(patch from Brian Cameron <brian dot cameron at sun dot com)
   1323 
   1324 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1325 
   1326 	* bus/Makefile.am (install-data-hook): removed the slash after 
   1327 	$(DESTDIR) so we don't get the double slash which does not work
   1328 	in windows (patch from Andras Porjesz 
   1329 	<andras dot porjesz at siemens dot com>)
   1330 
   1331 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1332 
   1333 	* dbus/dbus-sysdeps.h:
   1334 	* dbus/dbus-sysdeps.c: 
   1335 	  add _dbus_printf_length (patch from Peter Kmmel 
   1336 	  <syntheticpp at gmx dot net>)
   1337 
   1338 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1339 
   1340 	* dbus/dbus-internals.c: unistd.h is not used 
   1341 	(_dbus_verbose_real): only enable verbose printing 
   1342 	if DBUS_VERBOSE environment var is set to '1'
   1343 	(patch from Peter Kmmel <syntheticpp at gmx dot net>)
   1344 
   1345 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1346 
   1347 	* configure.in: add a GCC flag check for -Wdeclaration-after-statement
   1348 	so we still compile on older gcc (patch from Frederic Peters 
   1349 	<fpeters at 0d dot be>
   1350 
   1351 2006-08-04  Havoc Pennington  <hp (a] redhat.com>
   1352 
   1353 	* configure.in: add -Wdeclaration-after-statement
   1354 
   1355 	* dbus/dbus-connection.c: change all the pending call stuff to
   1356 	reflect the fact that pending call operations use the connection
   1357 	lock
   1358 
   1359 	* dbus/dbus-pending-call.c: add locking here
   1360 
   1361 	* dbus/dbus-errors.c (struct DBusRealError): don't make the name
   1362 	field const consistent with how message field is done
   1363 
   1364 2006-08-03  John (J5) Palmieri  <johnp (a] redhat.com>
   1365 
   1366 	* s/D-BUS/D-Bus/g
   1367 
   1368 2006-08-03  John (J5) Palmieri  <johnp (a] redhat.com>
   1369 
   1370 	* dbus/dbus-object-tree.c: Patch by Benjamin Otte 
   1371 	<in7y118 at public.uni-hamburg dot de> - fix invalid
   1372 	read/write reported by valgrind
   1373 
   1374 2006-07-24  John (J5) Palmieri  <johnp (a] redhat.com>
   1375 
   1376 	* Released 0.91
   1377 
   1378 2006-07-22  John (J5) Palmieri  <johnp (a] redhat.com>
   1379 
   1380 	* dbus/dbus-connection.c:
   1381 	(_dbus_connection_attach_pending_call_unlocked):
   1382 	(connection_timeout_and_complete_all_pending_calls_unlocked):
   1383 	Make sure we set timeout_added on pending calls to FALSE when
   1384 	we remove the timeout from the connection
   1385 
   1386 2006-07-21  John (J5) Palmieri  <johnp (a] redhat.com>
   1387 
   1388 	* Removed some extra bindings stuff lingering around (thanks timo)
   1389 	* dbus-pendingcall.c (_dbus_pending_call_new): 
   1390 	s/dbus_connection_ref/_dbus_connection_ref_unlocked fixes assertion
   1391 	when we tried to take a lock on an already locked connection
   1392 
   1393 2006-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   1394 
   1395 	* Released 0.90
   1396 
   1397 2006-07-17  Havoc Pennington  <hp (a] redhat.com>
   1398 
   1399 	* dbus/dbus-marshal-basic.c (_dbus_type_to_string): support 64-bit
   1400 	ints, reported by Owen Taylor
   1401 
   1402 2006-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   1403 
   1404 	* doc/TODO:
   1405 	* dbus/dbus-bus.c:
   1406 	* dbus-errors.c:
   1407 	* dbus/dbus-marshal-validate.c:
   1408 	  Removed TODO items which were fixed or are no longer relevent
   1409 
   1410 2006-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   1411 
   1412 	* dbus-qt4-1.pc.in, dbus-sharp.pc.in:
   1413 	Remove stray files from the stripped bindings
   1414 
   1415 2006-07-16  Havoc Pennington  <hp (a] redhat.com>
   1416 
   1417 	* dbus/dbus-pending-call.c (_dbus_pending_call_set_timeout_error):
   1418 	Improve the error message on reply timeout
   1419 
   1420 2006-07-14  John (J5) Palmieri  <johnp (a] redhat.com>
   1421 
   1422 	* Remove all bindings
   1423 
   1424 2006-07-13  John (J5) Palmieri  <johnp (a] redhat.com>
   1425 
   1426 	* dbus-connection.c (dbus_connection_send_with_reply): return TRUE
   1427 	and set pending_reply out arg to NULL is connection is disconnected
   1428 	(connection_timeout_and_complete_all_pending_calls_unlocked): New
   1429 	static method for cleaning up pending calls on disconnect
   1430 	(_dbus_connection_get_dispatch_status_unlocked): If we have pending 
   1431 	calls queued timeouts on disconnect 
   1432 
   1433 	 * dbus/dbus-pending-call.c (_dbus_pending_call_set_connection):
   1434 	Remove 
   1435 
   1436 2006-07-13  Carlos Garcia Campos  <carlosgc (a] gnome.org>
   1437 
   1438 	* bus/activation.[ch] (bus_activation_list_services): new function to 
   1439 	get the list of services that can be activated
   1440 
   1441 	* bus/dispatch.c: test coverage for the new bus method
   1442 	ListActivatableNames
   1443 
   1444 	* bus/driver.c: new bus method ListActivatableNames to get the list of
   1445 	services that can be activated
   1446 
   1447 	* doc/dbus-specification.xml: ListActivatableNames method documentation
   1448 
   1449 2006-07-12  John (J5) Palmieri  <johnp (a] redhat.com>
   1450 	* dbus/Makefile.am: add dbus-pending-call-internal.h to the list of
   1451 	source files
   1452 
   1453 2006-07-12  John (J5) Palmieri  <johnp (a] redhat.com>
   1454 	* dbus/dbus-message-factory.c:
   1455 	Fix index into an array (patch by Peter Kmmel <syntheticpp at gmx.net>)
   1456 
   1457 2006-07-12  John (J5) Palmieri  <johnp (a] redhat.com>
   1458 	* dbus/dbus-connection-internal.h:
   1459 	* dbus/dbus-connection.c:
   1460 	* file dbus/dbus-pending-call.c:
   1461 	* dbus/dbus-pending-call.h:
   1462 	Make DBusPendingCall an opaque type even to D-Bus internals
   1463 
   1464 2006-07-07  John (J5) Palmieri  <johnp (a] redhat.com>
   1465 
   1466 	* dbus/dbus-connection.h: remove connection_disconnect and replace with
   1467 	connection_close
   1468 
   1469 	* dbus/dbus-connection.c: include dbus-bus.h
   1470 	(_dbus_connection_read_write_dispatch): make static
   1471 
   1472 2006-07-07  John (J5) Palmieri  <johnp (a] redhat.com>
   1473 
   1474 	* dbus/dbus-connection.c (dbus_connection_close): removed deprecated
   1475 	function
   1476 	(dbus_connection_dispatch): On disconnect unref any shared connections
   1477 
   1478 	* dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): new function
   1479 	for cleaning up shared connections on disconnect
   1480 	(internal_bus_get): get a hard refrence to shared connections when
   1481 	they are created
   1482 	
   1483 	* doc/TODO: Remove items which are no longer relevent or have been fixed
   1484 	Split 1.0 todo items with a 0.90 freeze todo list
   1485  
   1486 2006-06-14  Ross Burton  <ross (a] openedhand.com>
   1487 
   1488 	* glib/dbus-gobject.c:
   1489 	Free a leaking GArray (surely not!) in dbus_g_method_return.
   1490 
   1491 2006-06-14  Ross Burton  <ross (a] openedhand.com>
   1492 
   1493 	* tools/Makefile.am:
   1494 	* tools/dbus-monitor.c:
   1495 	Don't use the GLib bindings in dbus-monitor (patch from Ralf
   1496 	Habacker).
   1497 	
   1498 2006-06-14  Ross Burton  <ross (a] openedhand.com>
   1499 
   1500 	* tools/dbus-print-message.c:
   1501 	Also print the object path when outputting signals or method calls.
   1502 
   1503 2006-06-13  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1504 
   1505 	* qt/src/Makefile.am: install the qdbus.h header.
   1506 	This allows people to actually use the installed code.
   1507 
   1508 2006-06-12  Ross Burton  <ross (a] openedhand.com>
   1509 
   1510 	* glib/dbus-gproxy.c:
   1511 	Don't leak a GArray when firing signals (thank Rob Taylor for review).
   1512 
   1513 2006-06-12  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1514 
   1515 	* Released 0.62
   1516 
   1517 2006-06-12  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1518 
   1519 	* dbus/dbus-arch-deps.h.in: Remove spurious semi-colons that
   1520         break pedantic builds. Closes bug 6043 (patch approved by
   1521         Havoc back in February).
   1522 
   1523 2006-06-12  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1524 
   1525 	* qt/src/qdbusintegrator.cpp: Fix bug in parsing async methods
   1526         that took a QDBusMessage parameter.
   1527 	* qt/src/qdbusbus.h: Add a default flag for RequestName.
   1528 	* qt/tools/dbus.cpp: Don't use automatic call because we might
   1529         be calling an async method: request a reply.
   1530 
   1531 2006-06-11  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1532 
   1533 	* test/qt/*: Update the testcases, including testing the new
   1534         functionality of sending null QByteArray and QString over the
   1535         bus. Add new headertest test and restore the old
   1536         qdbusxmlparser test.
   1537 
   1538 2006-06-11  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1539 
   1540 	* qt/tools/dbuscpp2xml.cpp: Compile on Windows.
   1541 	* qt/tools/dbusidl2cpp.cpp: Add missing newline.
   1542 
   1543 	* qt/examples/Makefile.am:
   1544 	* qt/examples/chat.h: Use UI-generated files with the ui_*.h
   1545 	form.
   1546 
   1547 	* qt/src/qdbusmarshall.cpp: Allow sending of QString() and
   1548 	QByteArray() (nulls) over the bus.
   1549 	* qt/src/qdbusabstractinterface.cpp: Use the correct variable,
   1550 	the one that has the signature suffix stripped.
   1551 	* qt/src/qdbusreply.h: Make some methods const.
   1552 
   1553 2006-06-09  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1554 
   1555 	Patch from Timo Hoenig <thoenig (a] suse.de>.
   1556 
   1557 	* qt/dbus/Makefile.am: New file.  Fix "make dist", add all headers
   1558 	required during build to EXTRA_DIST.
   1559 	* qt/src/Makefile.am: Fix "make dist", add 'qdbus.h' to EXTRA_DIST.
   1560 	* qt/Makefile.am: Fix "make dist", add 'dbus' to DIST_SUBDIRS.
   1561 	* configure.in: Fix "make dist", take care that the Makefile for
   1562 	qt/dbus is being generated.
   1563 
   1564 2006-06-07  John (J5) Palmieri  <johnp (a] redhat.com>
   1565 
   1566 	* bus/bus.c: Fix eavesdropping on method calls
   1567 
   1568 2006-06-07  John (J5) Palmieri  <johnp (a] redhat.com>
   1569 
   1570 	* configure.in:
   1571 	* dbus/dbus-userdb-util.c:
   1572 	Add Solaris console owner patch from Artem Kachitchkine
   1573 
   1574 2006-06-07  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1575 
   1576 	* qt/Makfile.am:
   1577 	* qt/src/Makefile.am: Fix the EXTRA_DIST after the
   1578 	reorganisation. Thanks to Timo Hoenig for pointing this out.
   1579 
   1580 2006-06-06  Robert McQueen  <robot101 (a] debian.org>
   1581 
   1582 	* glib/dbus-gtype-specialized.c: Fix obvious leak of GArray in every
   1583 	  call to dbus_g_type_get_struct.
   1584 
   1585 2006-06-06  Robert McQueen  <robot101 (a] debian.org>
   1586 
   1587 	* glib/dbus-gvalue-utils.c: Fix the failing test where static string
   1588 	  pointers were put into a GPtrArray-based specialised collection, and
   1589 	  then freed along with the array. GValues which you add into
   1590 	  collections or maps which have the NOCOPY flag set are assumed to not
   1591 	  belong to the caller, so rather than the existing pointer-stealing
   1592 	  semantics, they are copied instead. Given that the main consumers of
   1593 	  this abstraction are the bindings themselves, I don't think this is
   1594 	  too bad, but others should watch their choice of take vs set_static.
   1595 
   1596 2006-06-06  Robert McQueen  <robot101 (a] debian.org>
   1597 
   1598 	* glib/dbus-gvalue-utils.c: Spotted a warning about the return value
   1599 	  of g_slist_prepend not being used. Fixed copying of slist-based
   1600 	  specialised collections, then wrote a test case and found that it was
   1601 	  all broken. Went on to fix iterating and appending too. Good thing
   1602 	  nobody uses this code yet.
   1603 
   1604 2006-06-06  Robert McQueen  <robot101 (a] debian.org>
   1605 
   1606 	* glib/dbus-gvalue-utils.c: Remove duplicated code by having all of
   1607 	  the iterators use gvalue_take_ptrarray_value (the GValues themselves
   1608 	  are discarded without unsetting, so it makes no difference whether
   1609 	  we take or set_static). Remove cases for G_TYPE_POINTER because
   1610 	  there really is nothing useful we can do with them in our
   1611 	  specialised types - we *need* boxed copy/free functions at the very
   1612 	  least.
   1613 
   1614 2006-06-05  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1615 
   1616 	* qt/dbus: Add directory. I had forgotten to add this
   1617 	yesterday after the move...
   1618 
   1619 	* qt/examples/Makefile.am:
   1620 	* qt/examples/dbus.cpp: Moved to qt/tools/dbus.cpp.
   1621 
   1622 	* qt/tools/Makefile.am:
   1623 	* qt/tools/dbus.cpp: Moved from qt/examples/dbus.cpp.
   1624 	Added feature to get and set properties.
   1625 	Added validation of service, object path and interface names.
   1626 
   1627 	* qt/tools/dbusidl2cpp.cpp: Two new features:
   1628 	1) Allow specifying both the header and the source file names,
   1629 	by separating them with a colon.
   1630 	2) Don't write an interface output if the -p switch wasn't
   1631 	given, but the -a was.
   1632 
   1633 	* qt/src/*: Fix usage of Iterators and ConstIterators.
   1634 	Fix shadowing of variables by other variables (-Wshadow).
   1635 	Fix keyword-cleanliness in headers.
   1636 	Fix ASCII-cast (QLatin1String, QLatin1Char).
   1637 	Fix validation of member names.
   1638 	Add extra checking of introspection data during XML parsing.
   1639 	Various bug fixes.
   1640 
   1641 2006-06-04  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1642 
   1643 	* dbus/Makefile.am:
   1644 	* dbus/qdbus.h: Remove unnecessary file. This is mirrored into
   1645         qt/dbus/qdbus.h now.
   1646 
   1647 2006-06-04  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1648 
   1649 	* configure.in: Make --disable-qt actually do
   1650           something. Patch inspired by Zack Rusin.
   1651 
   1652 2006-06-04  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1653 
   1654 	* qt/: Update to Subversion r548032.
   1655 	This includes a big reorganisation of the files inside the
   1656 	subdir.
   1657 
   1658 2006-05-30  Sjoerd Simons  <sjoerd (a] luon.net>
   1659 
   1660 	* dbus/dbus-sysdeps.c: Make tcp socket connection error somewhat more
   1661 	clear:  
   1662 	"Failed to connect to socket <host>:<port> <error>" instead of
   1663 	"Failed to connect to socket <host>: <error>:<port>"
   1664 
   1665 	* dbus/dbus-transport-unix.c: Fix crash when no host option is given
   1666 	for a tcp transport. 
   1667 
   1668 2006-05-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1669 
   1670 	* qt/*: Update the QtDBus bindings up to revision 546310 in
   1671         Subversion.
   1672 	This adds the dbuscpp2xml tool, that parses a C++ header and
   1673         outputs a D-BUS Introspection XML.
   1674 
   1675 2006-05-21  Havoc Pennington  <hp (a] redhat.com>
   1676 
   1677 	* glib/dbus-gproxy.c: Put in a pile of assertions that the proxy name
   1678 	is not NULL when it shouldn't be. Also a couple of possible fixes
   1679 	for #4637 though I don't understand why the bug happens, to be
   1680 	honest... also the object constructor has an assert name != NULL
   1681 	and the name is only currently NULL for peer-to-peer proxies that 
   1682 	I don't think anyone uses? So it should be asserting.
   1683 	Anyway, for now at least see if we get an earlier assertion failure.
   1684 
   1685 	* glib/dbus-gvalue-utils.c: Put in a couple of assertions for
   1686 	apparently broken code to be sure the tests fail and someone 
   1687 	will fix them...
   1688 
   1689 2006-05-07  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1690 
   1691 	* qt/qdbusmarshall.cpp: Fix a problem of demarshalling lists
   1692         and arrays when they had a single element: has_next returns
   1693         false, even before you read the element. So, instead, check
   1694         the array length.
   1695 
   1696 2006-05-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1697 
   1698 	* qt/qdbusmessage.cpp:
   1699 	* qt/qdbustypehelper_p.h:
   1700 	* qt/qdbusintegrator.cpp: gcc 3.4 doesn't like Q_FOREACH when
   1701 	the list is a const-reference
   1702 
   1703 2006-05-03  John (J5) Palmieri  <johnp (a] redhat.com>
   1704 
   1705 	* Adding old doc patch that never got applied
   1706 	
   1707 	* dbus/bus.c (dbus_bus_add_match): Add documentation
   1708 
   1709 	* doc/dbus-specification.xml: Add documentation for the match rules
   1710 	  and the AddMatch and RemoveMatch methods
   1711 
   1712 2006-05-02  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1713 
   1714 	* qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
   1715         call (r535506)
   1716 
   1717 	* qt/dbusidl2cpp.cpp:
   1718 	* qt/qdbusabstractadaptor.cpp:
   1719 	* qt/qdbusabstractadaptor.h: Make QDBusAdaptorConnector be a
   1720         sibling of the QDBusAbstractAdaptor objects instead of the
   1721         parent. (r535848)
   1722 
   1723 	* qt/dbusidl2cpp.cpp:
   1724 	* qt/qdbusabstractinterface.cpp:
   1725 	* qt/qdbusabstractinterface.h:
   1726 	* qt/qdbusabstractinterface_p.h:
   1727 	* qt/qdbusinterface.cpp: Make properties in interfaces
   1728         actually work. The code that was generated would not compile,
   1729         due to moc calls to functions that did not exist. They now
   1730         shall. (r536571)
   1731 
   1732 2006-04-30  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1733 
   1734 	* Makefile.am:
   1735 	* configure.in:
   1736 	* dbus-qt4-1.pc.in: Add a pkg-config file for libdbus-qt4-1.
   1737 	Thanks to Brad Hards for providing the patch
   1738 
   1739 2006-04-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1740 
   1741 	* qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
   1742         call. (r535506)
   1743 
   1744 2006-04-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1745 
   1746 	* qt/examples/dbus.cpp: Enhance error messages and use
   1747         QDBusInterfacePtr.
   1748 
   1749 2006-04-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1750 
   1751 	* qt/qdbusinterface.h: Rename QDBusRef to QDBusInterfacePtr
   1752         and disable the copy operators. (r533772, r534746)
   1753 
   1754 	* qt/qdbuserror.h: Remove the automatic cast to bool. (r533929)
   1755 
   1756 	* qt/qdbusabstractinterface.cpp:
   1757 	* qt/qdbusabstractinterface.h: Change the default call mode to
   1758         not use the event loop. Add convenience call() methods that
   1759         take a CallMode parameter. (r534042)
   1760 
   1761 	* qt/qdbusconnection.h: Change the default call mode to not
   1762         use the event loop. (r534042)
   1763 
   1764 	* qt/qdbusinterface.cpp:
   1765 	* qt/qdbusinterface.h: Add a method to tell us if the
   1766 	interface is valid (since we don't return a null pointer
   1767 	anymore) (r534099)
   1768 
   1769 	* qt/qdbusinterface_p.h: Don't crash if metaObject is 0
   1770         (r534101)
   1771 
   1772 	* qt/qdbusinternalfilters.cpp: Decouple the introspection
   1773         function in two so taht we get the chance to introspect
   1774         without having a QDBusMessage (r534102)
   1775 
   1776 	* qt/qdbusbus.h:
   1777 	* qt/qdbusconnection.cpp:
   1778 	* qt/qdbusconnection_p.h:
   1779 	* qt/qdbusintegrator.cpp: Keep a list of our own names to
   1780         avoid a round-trip to the server when attempting to introspect
   1781         one of our own objects. Also make sure the filter functions
   1782         match the empty interface as well. (r534108)
   1783 	Don't keep the connection names. Instead, trust the unique
   1784         connection name (r534111)
   1785 	Remove event loop usage (r534112)
   1786 
   1787 2006-04-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1788 
   1789 	* qt/qdbusintegrator.cpp: Fix assertion failure spotted by
   1790 	Brad Hards.
   1791 
   1792 2006-04-28  Robert McQueen  <robot101 (a] debian.org>
   1793 
   1794 	* glib/dbus-gproxy.c: Fix properties so that they can be given in
   1795 	any order, making it easier for people who inherit from this
   1796 	object.
   1797 
   1798 2006-04-28  Robert McQueen  <robot101 (a] debian.org>
   1799 
   1800 	* glib/dbus-gvalue-utils.c: Patch from Jakub Stachowski to fix leaking
   1801 	of memory from within pointer arrays and lists. Fixes bug #6300.
   1802 
   1803 2006-04-28  Robert McQueen  <robot101 (a] debian.org>
   1804 
   1805 	* glib/dbus-gvalue.c: Patch from Jakub Stachowski to fix a leak in
   1806 	generating struct signatures. Fixes bug #6083.
   1807 
   1808 2006-04-28  Robert McQueen  <robot101 (a] debian.org>
   1809 
   1810 	* qt/Makefile.am: Tweak CLEANFILES from qdbusconnection.moc
   1811 	to qdbusconnection_p.moc.
   1812 
   1813 2006-04-24 John (J5) Palmieri <johnp (a] redhat.com>
   1814 
   1815 	* README, INSTALL: Doc fixes
   1816 	Patch from Brad Hards <bradh at frogmouth.net>
   1817 
   1818 2006-04-23  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1819 
   1820 	* qt/examples/dbus.cpp: Use the new merged-interface mode for
   1821 	the dynamic meta object. No need to guess which interface to
   1822 	call.
   1823 
   1824 2006-04-23  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1825 
   1826 	* qt/qdbusconnection_p.h:
   1827 	* qt/qdbusmetaobject.cpp:
   1828 	* qt/qdbusmetaobject_p.h:
   1829 	* qt/qdbusintegrator.cpp: Use the new merged-interface mode
   1830 	for the dynamic meta object. No need to guess which
   1831 	interface to call.
   1832 	* qt/qdbusabstractinterface_p.h:
   1833 	* qt/qdbusconnection.cpp:
   1834 	* qt/qdbusintegrator.cpp:
   1835 	* qt/qdbusinterface.cpp:
   1836 	* qt/qdbusinterface.h: Make findInterface always return a non-null pointer.
   1837 	Add a QDBusRef that looks and behaves like DCOPRef.
   1838 
   1839 2006-04-23  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1840 
   1841 	* dbus/dbus-connection.c: Interfaces are optional in method
   1842         calls, so don't give up if the interface parameter is NULL.
   1843 	Patch reviewed by Havoc Pennington.
   1844 
   1845 2006-04-23  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1846 
   1847 	* qt/qdbusreply.h: Add default constructor and operator=
   1848           (r532625)
   1849 	* qt/qdbustypehelper_p.h: Use a clean namespace: no foreach()
   1850           in public headers (r532952)
   1851 	* qt/qdbusabstractinterface.cpp:
   1852 	* qt/qdbusabstractinterface_p.h: Add the AutoDetect mode and
   1853           make it the default (r532951)
   1854 
   1855 2006-04-19  John (J5) Palmieri  <johnp (a] redhat.com>
   1856 
   1857 	* dbus/dbus-connection.c: Fix asserts
   1858 	Patch from Tim Moloney <t.moloney at verizon.net>
   1859 
   1860 2006-04-19  John (J5) Palmieri  <johnp (a] redhat.com>
   1861 
   1862 	* mono/Connection.cs, mono/Message.cs: Check Target type
   1863 	Patch from Aaron Bockover (abockover at novell.com)
   1864 
   1865 2006-04-13  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1866 
   1867 	* INSTALL: fine-tune the requirements for the Qt4 binding.
   1868 
   1869 2006-04-16  Daniel P. Berrange  <dan (a] berrange.com>
   1870 
   1871 	* tools/dbus-print-message.c: Added support for printing of all 
   1872 	  remaining data types. Fixed logic for indentation of compound
   1873 	  data types.
   1874 	
   1875 2006-04-15  Daniel P. Berrange  <dan (a] berrange.com>
   1876 
   1877 	* INSTALL: fill out content of file providing DBus specific
   1878 	  build installations, followed by generic Auto* INSTALL file
   1879 	  content
   1880 	
   1881 2006-04-13  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1882 
   1883 	* qt/qdbusintegrator.cpp: Work around g++ 3.3 bug.
   1884 	  Patch by Stefan Eilers. (r529537)
   1885 
   1886 2006-04-13  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1887 
   1888 	* qt/qdbusinternalfilters.cpp: Don't show the parent's
   1889   	  contents (r528208)
   1890 
   1891 2006-04-10  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1892 
   1893 	* qt/Makefile.am: fix the dependency for
   1894           qdbusconnection_p.moc. It's included in qdbusintegrator.cpp,
   1895 	  not in qdbusconnection.cpp.
   1896 	  Thanks to Jakub Stachowski <stachowski (a] hypair.net> for
   1897           spotting this.
   1898 
   1899 2006-04-10  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1900 
   1901 	* qt/examples/listnames.cpp:
   1902 	* qt/examples/Makefile.am: Three ways to list the names on the
   1903 	  bus.
   1904 
   1905 2006-04-10  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1906 
   1907 	* test/qt/tst_hal.cpp: Remove the waiting, since it's not
   1908           needed anymore. Requires Qt 4.1.3 to work properly. (r528148)
   1909 
   1910 2006-04-10  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1911 
   1912 	Merge from Subversion:
   1913 	* qt/qt-dbus.qdocconf: Update Trolltech's webpage link to
   1914 	  something that exists (r526315)
   1915 	* qt/qdbusinternalfilters.cpp: Correctly detect non-scriptable
   1916 	  slots/signals (r526316)
   1917 	* qt/qdbusinternalfilters.cpp: Fix the setProperty call and
   1918 	  also return an unknown-method error if the parameters don't
   1919 	  match for org.freedesktop.DBus.Properties. (r526842)
   1920 	* qt/examples/dbus.cpp: Allow passing of QVariants (r526843)
   1921 	* qt/qdbusintegrator.cpp: Restore the proper order of
   1922 	  delivery: don't make method returns be delivered on priority
   1923 	  (r528150)
   1924 
   1925 2006-03-28  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1926 
   1927 	* configure.in qt/Makefile.am: add qt/examples
   1928 	* qt/examples: Add QtDBus example programs:
   1929 	  - hello: Hello, World
   1930 	  - ping: Simple method-calling program
   1931 	  - pong: Simple object-exporting program (not using adaptors)
   1932 	  - complexping: Interactive method-calling program 
   1933 		(also gets and sets properties).
   1934 	  - complexpong: Sample program exporting methods, signals and
   1935 		properties, using adaptors.
   1936 	  - dbus: Simple implementation of a generic method-calling
   1937 		program, similar to 'dbus-send', but with semantics
   1938 		similar to 'dcop'.
   1939 	  - chat: Simplistic chat program, implemented using signals
   1940 		and the system bus. Looks like IRC.
   1941 
   1942 2006-03-28  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1943 
   1944 	* configure.in: Detect QtGui (necessary for one of the
   1945           example programs). Note: this increases the minimum required
   1946           version of Qt to 4.1.3.
   1947 
   1948 2006-03-28  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1949 
   1950 	* test/qt/*: Sync with KDE Subversion revision 523647.
   1951         Update the testcases to the new API. Remove testcases for
   1952         classes that are no longer public or have been removed.
   1953 
   1954 2006-03-28  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1955 
   1956 	* qt/*: 
   1957 	* dbus/qdbus.h: Sync with KDE Subversion revision
   1958 	523647. Hopefully, this will be the last of the
   1959 	source-incompatible changes. Documentation has been improved;
   1960 	support for QList<basic-types> has been added; QDBusObject is
   1961 	gone; QDBus(Abstract)Interface is now a QObject with
   1962 	auto-generated meta-object; QDBusIntrospection is marked
   1963 	private, since QMetaObject can be used now; lots of bugfixes.
   1964 
   1965 2006-03-16  John (J5) Palmieri  <johnp (a] redhat.com>
   1966 
   1967 	Patch from Milosz Derezynski <internalerror at gmail.com>
   1968 	
   1969 	* configure.in:
   1970 	Output the service directory in the configure summary
   1971 
   1972 	* dbus-1.pc.in:
   1973 	Add session_bus_services_dir
   1974 
   1975 2006-03-10  Ross Burton  <ross (a] openedhand.com>
   1976 
   1977 	* tools/dbus-print-message.c:
   1978 	Add support for object paths and signatures.
   1979 
   1980 2006-03-06  Sjoerd Simons <sjoerd (a] luon.net>
   1981 
   1982 	* bus/bus.c: (bus_context_reload_config): Flush the user database cache on
   1983 	config reload.
   1984 	* bus/dbus-daemon.1.in: Also note that SIGHUP flushes the user/group
   1985 	information caches
   1986 	* dbus/dbus-hash.c: (_dbus_hash_table_remove_all): 
   1987 	* dbus/dbus-hash.h: Add function to remove all entries from a hash table
   1988 	* dbus/dbus-userdb.c: (_dbus_user_database_flush):
   1989 	* dbus/dbus-userdb.h: Add function to flush all user/group information
   1990 	caches.
   1991 
   1992 2006-03-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1993 
   1994 	* qt/dbusidl2cpp.cpp:
   1995 	* qt/Makefile.am: add the dbusidl2cpp tool, the replacement
   1996 	for dcopidl2cpp, found in the KDE installations (or the more
   1997 	modern kalyptus): generate Qt4 C++ code for the input XML
   1998 	introspection. Currently no IDL parsing.
   1999 
   2000 2006-03-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2001 
   2002 	* test/qt/*: Update the self-tests.
   2003 
   2004 2006-03-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2005 
   2006 	* qt/*: 
   2007 	* dbus/qdbus.h: Sync with KDE Subversion revision 516237. This
   2008 	represents the first feature-complete version of the Qt4
   2009 	bindings since I took ove maintainership.
   2010 
   2011 2006-03-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2012 
   2013 	* qt/Doxyfile: Adding a Doxyfile for the Qt4 bindings
   2014         dir. This is C++, so we can't use the DBus ones.
   2015 
   2016 2006-03-02  John (J5) Palmieri  <johnp (a] redhat.com>
   2017 
   2018 	* python/dbus_bindings.pyx: Remove refrence to sys/cdefs.h
   2019 	(Patch from Artem Kachitchkine <Artem.Kachitchkin at Sun.COM>)
   2020 
   2021 2006-03-02  John (J5) Palmieri  <johnp (a] redhat.com>
   2022 
   2023 	* dbus/dbus-connection.c: 
   2024 	(_dbus_connection_block_pending_call):
   2025 	Check to see if our data has already been read off the connection
   2026 	by another blocking pending call before we block in poll.
   2027 	(check_for_reply_and_update_dispatch_unlocked):
   2028 	Code taken from _dbus_connection_block_pending_call - checks for
   2029 	an already read reply and updates the dispatch if there is one.
   2030 
   2031 	* test/name-test/test-pending-call-dispatch.c:
   2032 	New test for making sure we don't get stuck polling a 
   2033 	dbus connection which has no data on the socket when
   2034 	blocking out of order on two or more pending calls.
   2035 
   2036 2006-02-28  Thiago Macieira <thiago.macieira (a] trolltech.com>
   2037 
   2038 	* qt/Makefile.am: Patch by Sjoerd Simons. More .moc issues:
   2039         make/automake don't detect that we're talking about the same
   2040         .lo file if I specify the full path to the source files.
   2041 
   2042 2006-02-26  Havoc Pennington  <hp (a] redhat.com>
   2043 
   2044 	* bus/dbus-daemon.1.in: improve the language in a couple spots I noticed
   2045 
   2046 	* dbus/dbus-bus.c (internal_bus_get): in the error message if the
   2047 	session bus variable is unset, suggest "man dbus-launch" and "man
   2048 	dbus-daemon" to figure out how to fix the problem
   2049 
   2050 2006-02-25  Havoc Pennington  <hp (a] redhat.com>
   2051 
   2052 	* glib/dbus-glib-tool.c (usage): fix up the usage message, someone
   2053 	should make this thing use the new glib options parser
   2054 
   2055 2006-02-25  Thiago Macieira <thiago.macieira (a] trolltech.com>
   2056 
   2057 	* qt/Makefile.am: Patch by Sjoerd Simons. Fix the path to the
   2058         .lo files taking moc sources.
   2059 
   2060 2006-02-25  Havoc Pennington  <hp (a] redhat.com>
   2061 
   2062 	* dbus/dbus.h, dbus/Makefile.am: add dbus-signature.h to dbus.h
   2063 	and install it as a public header
   2064 
   2065 2006-02-24  John (J5) Palmieri  <johnp (a] redhat.com>
   2066 
   2067 	* Released 0.61
   2068 
   2069 2006-02-24  John (J5) Palmieri  <johnp (a] redhat.com>
   2070 	
   2071 	* proxies.py: Fix the callchain
   2072 
   2073 2006-02-24  John (J5) Palmieri <johnp (a] redhat.com>
   2074 	
   2075 	* patch from Sjoerd Simons <sjoerd at debian.org>:	
   2076 
   2077 	* dbus/dbus-sysdeps-util.c (_dbus_group_info_free): Moved to 
   2078 	dbus/dbus-sysdeps.c
   2079 
   2080 	* dbus/dbus-userdb.c (_dbus_group_info_free_allocated): Don't
   2081 	call _dbus_group_info_free_allocated which causes infinite loop,
   2082 	correctly call _dbus_group_info_free
   2083 
   2084 2006-02-20  Thiago Macieira <thiago.macieira (a] trolltech.com>
   2085 
   2086 	* qt/qdbusinterface_p.h:
   2087 	* qt/qdbusinterface.cpp: Use the standard
   2088 	org.freedesktop.DBus.Method.NoReply annotation for the "async"
   2089 	calls instead of creating one for us.
   2090 
   2091 	* qt/qdbusconnection_p.h:
   2092 	* qt/qdbusintegrator.cpp: Remove debugging code.
   2093 
   2094 	* qt/qdbusintegrator.cpp:
   2095 	* qt/qdbusmessage.cpp:
   2096 	* qt/qdbusmessage_p.h:
   2097 	* qt/qdbusmessage.h: Change the behaviour of automatic
   2098 	reply-sending: now a reply is always sent, unless the caller
   2099 	didn't request one or if the user slot has already sent one.
   2100 
   2101 2006-02-16  Robert McQueen  <robot101 (a] debian.org>
   2102 
   2103 	* configure.in: Patch from Debian packages by Sjoerd Simons
   2104 	<sjoerd (a] debian.org> to add --with-qt-moc and --with-qt3-moc
   2105 	arguments so it's possible to build both bindings in the
   2106 	same tree.
   2107 
   2108 	* qt/Makefile.am: Fix truncated value so that make dist works.
   2109 
   2110 2006-02-16  Robert McQueen  <robot101 (a] debian.org>
   2111 
   2112 	* acinclude.m4, configure.in: Patch from Brad Hards
   2113 	<bradh (a] frogmouth.net> to avoid warnings from autoconf 1.9 by
   2114 	improving quoting, re-ordering a few checks, and a few other
   2115 	aesthetic tidy-ups.
   2116 
   2117 2006-02-16  Robert McQueen  <robot101 (a] debian.org>
   2118 
   2119 	* dbus/dbus-message.c (dbus_message_iter_get_fixed_array):
   2120 	Patch from Rob Taylor <rob.taylor (a] collabora.co.uk> to correct a bogus
   2121 	assertion that the next element to read from the iter is fixed in
   2122 	size. This is not the case when you are at the end of the iter,
   2123 	because the next element type is INVALID.
   2124 
   2125 	* dbus/dbus-string.c (_dbus_string_init_const_len): Correct a
   2126 	a bogus assert which means that you may not initialise a 0-length
   2127 	string unless you provide a non-NULL pointer. This prevented
   2128 	you from marshalling messages containing zero-length arrays in
   2129 	some cases.
   2130 
   2131 	* glib/dbus-gvalue.c (demarshal_collection_array): Another patch
   2132 	from Rob to correct bogus asserts when trying to demarshal an
   2133 	array and get_fixed_array got you 0 elements. Append nothing to
   2134 	the GArray in this case.
   2135 
   2136 	* test/glib/test-dbus-glib.c: Add a test case for round-tripping
   2137 	an empty array via the glib bindings. Without all of the above
   2138 	patches, this new test fails.
   2139 
   2140 2006-02-16  Robert McQueen  <robot101 (a] debian.org>
   2141 
   2142 	* glib/dbus-gmain.c: Make the previous commit compile.
   2143 
   2144 	* python/_dbus.py, python/matchrules.py: Patch from Ole Andre
   2145 	Ravnaas <ole.andre.ravnaas (a] collabora.co.uk> to allow you to
   2146 	specify sender_keyword="foo", path_keyword="bar" when adding
   2147 	a signal listener, so that you can bind to signals generically
   2148 	but still do something useful in your callback.
   2149 
   2150 	* python/dbus_bindings.pyx: Demarshal the byte type as unsigned
   2151 	chars so that they're not cast to chars and made negative. Thanks
   2152 	to Jakub Stachowski for reporting this and testing the fix.
   2153 
   2154 2006-02-15  John (J5) Palmieri  <johnp (a] redhat.com>
   2155 
   2156 	* dbus/dbus-glib.h:
   2157 	* glib/dbus-gmain.h:
   2158 	(dbus_g_connection_open): new method for openning
   2159 	a connection to an arbitrary address in the glib bindings
   2160 
   2161 	* ChangeLog: checkin last entry which doesn't seem to be commited
   2162 
   2163 2006-02-13  John (J5) Palmieri  <johnp (a] redhat.com>
   2164 
   2165 	* tools/dbus-launch.c: Fixed sh syntax output
   2166 
   2167 2006-02-13  Robert McQueen  <robot101 (a] debian.org>
   2168 
   2169 	* glib/dbus-binding-tool-glib.c, glib/dbus-gmain.c,
   2170 	glib/dbus-gsignature.c, glib/dbus-gtype-specialized.c,
   2171 	glib/dbus-gtype-specialized.h, glib/dbus-gvalue-utils.c,
   2172 	glib/dbus-gvalue-utils.h, glib/dbus-gvalue.c:
   2173 	Patch from Rob Taylor <rob.taylor (a] collabora.co.uk> to add a big
   2174 	missing piece of the glib bindings jigsaw puzzle. This modifies
   2175 	the existing specialised types to have N type parameters (rather
   2176 	than the current 1 or 2 for arrays and dictionaries respectively).
   2177 	You can then use this to get a glib type to represent any arbitrary
   2178 	D-Bus struct type using dbus_g_type_get_struct. The only
   2179 	implementation of these types is with GValueArrays as before,
   2180 	but it's now possible to store these in arrays, emit them in
   2181 	signals, etc.
   2182 
   2183 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2184 
   2185 	* dbus/dbus-signature.c (dbus_signature_iter_recurse): Correctly
   2186 	deal with nested arrays (Bug #5823) Patch by Thiago Macieira 
   2187 	<thiago.macieira at trolltech.com>
   2188 
   2189 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2190 
   2191 	* mono/doc/Makefile.am: Fix parallel make problem with mono-doc
   2192 	(Bug #4213) Patch from Doug Goldstein <cardoe at gentoo.org>
   2193 
   2194 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2195 
   2196 	* bus/connection.c (bus_connections_expect_reply): Make
   2197 	pending reply limit not common to all connections (Bug #5416)
   2198 	Patch from Kimmo Hmlinen <kimmo.hamalainen at nokia.com>
   2199 
   2200 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2201 
   2202 	* tools/dbus-launch.c: Fixed csh syntax output (Bug #5720)
   2203 
   2204 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2205 
   2206 	* gcj/Makefile.am: point to correct jar command (Bug #4529)
   2207 	patch from Doug Goldstein <cardoe at gentoo.org>
   2208 
   2209 2006-02-09  Joe Shaw  <joeshaw (a] novell.com>
   2210 
   2211 	* mono/Arguments.cs: Fix a magic number in the mono bindings
   2212 	that doesn't work on 64 bit arches.  Patch from Peter Johanson.
   2213 
   2214 2006-01-27  Robert McQueen  <robot101 (a] debian.org>
   2215 
   2216 	* glib/dbus-binding-tool-glib.[ch]: Patch based on Ricardo Kekki's
   2217 	patch to use an annotation org.freedesktop.DBus.GLib.ClientCSymbol
   2218 	when generating the client-side methods, instead of overloading
   2219 	CSymbol which broke everything horribly. My apologies.
   2220 
   2221 2006-01-27  Robert McQueen  <robot101 (a] debian.org>
   2222 
   2223 	* glib/dbus-gtype-specialized.[ch], glib/dbus-gvalue-utils.c: Patch
   2224 	by me and Rob Taylor to add a simple_free function to D-Bus map
   2225 	and collection types, which allows those types which can be freed
   2226 	with a GDestroyNotify (such as GHashTables and GArrays, but not
   2227 	GPtrArrays) to be stored as the values in hashtables.
   2228 
   2229 	* test/glib/test-dbus-glib.c, test/glib/test-service-glib.{c,xml}:
   2230 	Patch by Rob Taylor to add nested dicts to the glib tests to check
   2231 	the above code works, and appears not to leak when called repeatedly.
   2232 
   2233 2006-01-27  Robert McQueen  <robot101 (a] debian.org>
   2234 
   2235 	* glib/dbus-gvalue.c (demarshal_valuearray): Patch from Rob Taylor
   2236 	to free a D-Bus allocated string with dbus_free () instead of
   2237 	g_free ().
   2238 
   2239 2006-01-27  Iain Holmes  <iain (a] openedhand.com>
   2240 
   2241 	* glib/dbus-gproxy.c (dbus_g_proxy_dispose): Protect the dispose
   2242 	method from being called multiple times.
   2243 
   2244 2006-01-19  Robert McQueen  <robot101 (a] debian.org>
   2245 
   2246 	* glib/dbus-binding-tool-glib.c: Patch from Rob Taylor
   2247 	<rob.taylor (a] collabora.co.uk> to add support for generating bindings
   2248 	to arrays that are represented as GPtrArrays rather than GArrays (ie
   2249 	size-variable things, such as strings, objects, structs, etc).
   2250 
   2251 2006-01-05  Robert McQueen  <robot101 (a] debian.org>
   2252 
   2253 	* dbus/dbus-glib.h, glib/dbus-gproxy.c: Patch from Ricardo Kekki
   2254 	<ricardo.kekki (a] movial.fi> to make it possible to inherit from
   2255 	DBusGProxy, by splitting the DBusGProxy struct into a public part and
   2256 	a private part, and moving the setting of the DBusGProxyManager into a
   2257 	connection property, allowing proper GObject construction.
   2258 
   2259 2006-01-05  Robert McQueen  <robot101 (a] debian.org>
   2260 
   2261 	* glib/dbus-binding-tool-glib.c: Patch from Ricardo Kekki
   2262 	<ricardo.kekki (a] movial.fi> to make dbus-binding-tool heed C symbol name
   2263 	annotations when generating glib client bindings.
   2264 
   2265 2005-12-19 John (J5) Palmieri  <johnp (a] redhat.com>
   2266 
   2267 	* dbus/dbus-shared.h: Call it shared constants instead of shared macros
   2268 
   2269 	* dbus/dbus-protocol.h: add DOxygen markup to quiet warnings
   2270 
   2271 2005-12-19 John (J5) Palmieri  <johnp (a] redhat.com>
   2272 
   2273 	* dbus/dbus-shared.h: add DOxygen markup to quiet warnings
   2274 
   2275 2005-12-19 John (J5) Palmieri  <johnp (a] redhat.com> 
   2276 
   2277 	* dbus/dbus-macros.h: correct DOxygen end of section (s/}@/@})
   2278 
   2279 2005-12-19  Ross Burton  <ross (a] openedhand.com>
   2280 
   2281 	* doc/dbus-tutorial.xml:
   2282 	Document the Glib client-side bindings, and list all possible annotations.
   2283 
   2284 2005-12-19  John (J5) Palmieri  <johnp (a] redhat.com>
   2285 
   2286 	* dbus/bus.c (dbus_bus_release_name): Add documentation
   2287 
   2288 2005-12-06  Robert McQueen  <robot101 (a] debian.org>
   2289 
   2290 	* python/service.py: s/sucessful/successful/ so we're allocating to
   2291 	and reading from the same variable. Oops.
   2292 
   2293 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2294 
   2295 	* Released 0.60
   2296 
   2297 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2298 
   2299 	* test/qt/Makefile.am: build from srcdir
   2300 
   2301 	* qt/qtconnection.cpp (requestName): Changed PROHIBIT_REPLACE to ALLOW_REPLACE
   2302 	Note - this code is wrong and needs to be fixed by the Qt binding
   2303 	developers.  The flags should be treated as bitfields and not enums.
   2304 
   2305 	* qt/qtconnection.h: Change ProhibitReplace to AllowReplace
   2306 
   2307 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2308 
   2309 	* dbus/dbus-list.c (_dbus_list_insert_after_link, _dbus_list_insert_after, 
   2310 	  link_after): remove #ifdef DBUS_BUILD_TESTS since we use these methods 
   2311 	  in production code
   2312 
   2313 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2314 
   2315 	* dbus/dbus-connection.c (dbus_connection_read_write): Add new
   2316 	method for getting messages off the bus in the absence of a
   2317 	mainloop.  This method is much like 
   2318 	dbus_connection_read_write_dispatch except it does not dispatch
   2319 	the messages to a registered filter function.  Instead it
   2320 	allows a developer to process messages by directly popping
   2321 	them off the bus.
   2322 
   2323 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2324 
   2325 	* bus/desktop-file.c (parse_key_value): Ignore locales allowing 
   2326 	the parser to continue instead of returning error
   2327 	(bus_desktop_file_load): Do not free parser data when
   2328 	parse_section_start or parse_key_value fails because it was 
   2329 	already freed by parser_free (patch from Carlos Garcia Campos  
   2330 	<carlosgc at gnome.org>)
   2331 
   2332 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2333 
   2334 	* dbus/dbus-auth.c, dbus/dbus-connection.c, dbus/dbus-keyring.c,
   2335 	dbus/dbus-server-debug-pipe.c, glib/dbus-binding-tool-glib.c
   2336 	glib/dbus-glib-tool.c, glib/dbus-gparser.c, glib/dbus-gproxy.c
   2337 	test/test-segfault.c, test/test-utils.c,
   2338 	test/glib/test-dbus-glib.c, tools/dbus-cleanup-sockets.c
   2339 	tools/dbus-launch.c, tools/dbus-tree-view.c, tools/dbus-viewer.c:
   2340 	Various cleanup of dead code and compiler warnings (patch from
   2341 	Kjartan Maraas <kmaraas at gnome.org>) 
   2342 
   2343 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2344 
   2345 	* glib/dbus-gmain.c (connection_setup_add_watch): plugged a leak
   2346 	(patch from Carlos Garnacho Parro <carlosg at gnome.org>
   2347 
   2348 2005-11-27  Robert McQueen  <robot101 (a] debian.org>
   2349 
   2350 	* python/dbus_bindings.pyx: Repair my previous commit which reverted
   2351 	part of the preceding one. Oops. Merge patch by Johan Hedberg
   2352 	<johan.hedberg (a] nokia.com> to fix marshalling of 16-bit integer values
   2353 	on big-endian platforms.
   2354 
   2355 	* test/python/test-client.py: Add some 16-bit integers to the test
   2356 	values.
   2357 
   2358 2005-11-27  Carlos Garcia Campos  <carlosgc (a] gnome.org>
   2359 
   2360 	* glib/dbus-gobject.c: Append a GValue instead of a basic type in
   2361 	method return message for property getters
   2362 
   2363 2005-11-27  Robert McQueen  <robot101 (a] debian.org>
   2364 
   2365 	* python/dbus_bindings.pyx: Fix a bug where doing a strict append
   2366 	with type v of an instance of dbus.Variant(foo, type='x') caused
   2367 	it to be boxed twice before sending over the bus.
   2368 
   2369 	* python/dbus_bindings.pyx, python/service.py,
   2370 	test/python/test-client.py: Update the constants for the new
   2371 	request_name flags, and update comments/test cases now that queueing
   2372 	is the default action.
   2373 
   2374 2005-11-22  John (J5) Palmieri  <johnp (a] redhat.com>
   2375 
   2376 	* configure.in:
   2377 	- Change version to 0.60 for impending release
   2378 	- upped the sonames because of ABI and API breakage
   2379 
   2380 2005-11-22  John (J5) Palmieri  <johnp (a] redhat.com>
   2381 
   2382 	* configure.in: Add test/name-test/Makefile to the generated
   2383 	Makefile list
   2384 
   2385 	* dbus/dbus-shared.h (#define DBUS_NAME_FLAG_ALLOW_REPLACEMENT):
   2386 	New flag which replaces DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT
   2387 	(#define DBUS_NAME_FLAG_DO_NOT_QUEUE): New flag for specifying
   2388 	not to queue an ower if it can't be the primary owner
   2389 
   2390 	* bus/bus.h: Add new internal BusOwner struct
   2391 
   2392 	* bus/driver.c (bus_driver_handle_hello): Send flags (0 for default)
   2393 	to bus_registry_ensure and don't set the prohibit_replacement flag
   2394 	since they are now set per BusOwner and not per name.
   2395 	(bus_driver_handle_list_queued_owners): bus method (ListQueuedOwners) 
   2396 	that returns the list of connections in a name's connection queue
   2397 	
   2398 	* bus/services.c (struct BusService): remove prohibit_replacement field
   2399 	(struct BusOwner): new struct for keeping track of queued connections
   2400 	and their associated flags for the queue
   2401 	(struct BusRegistry): add a BusOwner memory pool
   2402 	(bus_registry_new): initialize the BusOwner memory pool
   2403 	(bus_registry_unref): free the BusOwner memory pool
   2404 	(_bus_service_find_owner_link): new internal method for
   2405 	searching the queue for a specific connection
   2406 	(bus_owner_set_flags): new method for adding setting the flags on a
   2407 	bus owner
   2408 	(bus_owner_new): new method that creates a BusOwner object from the
   2409 	pool and sets its flags
   2410 	(bus_owner_ref, bus_owner_unref): ref counting for BusOwner objects
   2411 	(bus_registry_ensure): Add the flags parameter
   2412 	(bus_registry_acquire_service): Switch from using raw connections to
   2413 	using the BusOwner struct
   2414 	Add new state machine for dealing with the new set of flags
   2415 	(bus_registry_set_service_context_table, struct OwnershipCancelData, 
   2416 	cancel_ownership, free_ownership_cancel_data, 
   2417 	add_cancel_ownership_to_transaction, struct OwnershipRestoreData, 
   2418 	restore_ownership, free_ownership_restore_data, 
   2419 	add_restore_ownership_to_transaction): Switch to using BusOwner 
   2420 	instead of raw connections
   2421 	(bus_service_add_owner): Add flags parameter
   2422 	Switch to using BusOwner instead of raw connections
   2423 	Add state machine for dealing with the new set of flags
   2424 	(bus_service_swap_owner): Swaps the first and second owners in the
   2425 	queue.  Used to make sure proper signals are sent when a service looses 
   2426 	or gains primary ownership.  We never insert an owner at the top of the
   2427 	queue.  Instead we insert it in the second position and then swap.
   2428 	(bus_service_remove_owner): Remove the owner from the queue sending
   2429 	out the NameLost and NameOwnerChanged signals if the we were the 
   2430 	primary owner
   2431 	(bus_service_get_primary_owners_connection): New method that extracts
   2432 	the connection from the primary owner
   2433 	(bus_service_get_primary_owner): Returns the BusOwner instead of the 
   2434 	connection
   2435 	(bus_service_get_allow_replacement): Changed from the old 
   2436 	bus_service_get_prohibit_replacement method.  Checks the flags of the 
   2437 	primary owner and returns if it can be replaced or not
   2438 	(bus_service_set_prohibit_replacement): removed
   2439 	(bus_service_has_owner): returns TRUE if and owner with
   2440 	the specified connection exists in the queue
   2441 	
   2442 	* dbus/dbus-bus.c (dbus_bus_connection_get_unique_name): New helper
   2443 	method that only compiles if tests are enabled.  Allows us to get the 
   2444 	unique name of a connection so we can check it against the queue when
   2445 	doing regression tests
   2446 
   2447 	* bus/activation.c (bus_activation_send_pending_auto_activate),
   2448 	bus/dispatch.c (bus_dispatch),  
   2449 	bus/driver.c (bus_driver_handle_get_service_owner, 
   2450 	bus_driver_handle_get_connection_unix_user, 
   2451 	bus_driver_handle_get_connection_unix_process_id,
   2452 	bus_driver_handle_get_connection_selinux_security_context),
   2453 	bus/signals.c (connection_is_primary_owner): 
   2454 	use bus_service_get_primary_owners_connection instead of
   2455 	bus_service_get_primary_owner
   2456 
   2457 	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket, 
   2458 	_dbus_listen_unix_socket): Calculate the length of the socket
   2459 	path and use that instead of using a fixed length which was
   2460 	causing socket names to contain many trailing Nul bytes.
   2461 
   2462 	* dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c
   2463 	(dbus_g_method_get_sender): New method for extracting the sender 
   2464 	from a DBusGMethodInvocation
   2465 	(dbus_g_method_return_get_reply): changed name to 
   2466 	dbus_g_method_get_reply
   2467 	(dbus_g_method_return_send_reply): changed name to
   2468 	dbus_g_method_send reply
   2469 
   2470 	* doc/dbus-specification.xml: New docs that describe how the new
   2471 	queueing system works and talks about the changes to the how
   2472 	we specify socket names
   2473 
   2474 	* glib/examples/example-service.c, 
   2475 	glib/examples/example-signal-emitter.c,
   2476 	glib/examples/statemachine/statemachine-server.c:
   2477 	Changed the RequestName flags to the new system
   2478 
   2479 	* test/name-test/ (test-names.c, run-test.sh, Makefile.am): New
   2480 	regression test suite for testing various states of the new
   2481 	queueing system
   2482 	
   2483 2005-11-15  Robert McQueen  <robot101 (a] debian.org>
   2484 
   2485 	* dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c: Patch from Rob
   2486 	Taylor to add two methods, dbus_g_method_return_get_reply and
   2487 	dbus_g_method_return_send_reply, to allow you to get the reply
   2488 	message from a DBusGMethodInvocation, append arbitrary stuff to it,
   2489 	and send it. The GLib bindings can't marshal a return value of
   2490 	something like a(s) if the array is empty - ultimately they should be
   2491 	made to heed the signature of the out arguments as the Python bindings
   2492 	now can, but this is a workable interim solution which might have
   2493 	other applications.
   2494 
   2495 2005-11-15  Robert McQueen  <robot101 (a] debian.org>
   2496 
   2497 	* bus/driver.c, bus/services.c, bus/services.h: Add a ReleaseName
   2498 	method to org.freedesktop.DBus to release a bus name or give up
   2499 	waiting in the queue for it.
   2500 
   2501 	* dbus/dbus-bus.c, dbus/dbus-bus.h, dbus/dbus-shared.h: Add a
   2502 	dbus_bus_release_name method to send the ReleaseName method calls.
   2503 	Add constants for the return values to dbus/dbus-shared.h.
   2504 
   2505 	* doc/dbus-specification.xml: Document the new ReleaseName method
   2506 	in the specification.
   2507 
   2508 	* python/dbus_bindings.pyx: Add a low-level python binding for the
   2509 	release name method.
   2510 
   2511 	* python/exceptions.py, python/service.py: Make freeing BusName
   2512 	objects release the name. Add a NameExistsException, and fix a
   2513 	bug with creating UnknownMethodException.
   2514 
   2515 	* test/python/test-client.py: Add tests for freeing BusName
   2516 	objects causing names to be released.
   2517 
   2518 2005-11-14  Robert McQueen  <robot101 (a] debian.org>
   2519 
   2520 	* python/service.py: Include the traceback in the error reply when we
   2521 	send an exception over the bus. _BEST_ _PATCH_ _EVER_
   2522 
   2523 2005-11-14  David Zeuthen  <davidz (a] redhat.com>
   2524 
   2525 	Patch from Timo Hoenig <thoenig (a] suse.de>.
   2526 
   2527 	* bus/bus.c: I've recently investigated why the automatic reload
   2528 	of configuration files does not work as expected.
   2529 
   2530 	Currently, reloading configuration files does only work when
   2531 	running dbus-daemon with --nodaemon.  If we are running as daemon
   2532 	we're hitting a dnotify bug once we fork the process.
   2533 
   2534 	We're initializing the dnotify fds before calling fork().  Once
   2535 	the child process forked it does still have the fds (and they
   2536 	still show up in /proc/`pidof dbus-daemon`/fd/) but we're not
   2537 	getting SIGIO as changes are made to the configuration files.
   2538 
   2539 	The attached patch moves the initialization of the dnotify fds to
   2540 	process_config_postinit().  This is safe for all current code
   2541 	paths and solves the dnotify disfunction.  If we're running
   2542 	dbus-daemon as daemon the fds for dnotify are now being
   2543 	initialized after fork() for the child process.
   2544 
   2545 	* configure.in: The current configure.in check for dnotify probes
   2546 	'x$target_os' for being 'xlinux-gnu'.  I've changed the check to
   2547 	match for 'xlinux', too. Additionally I have adapted the configure
   2548 	option's style to match with the others.
   2549 
   2550 2005-11-14  Robert McQueen  <robot101 (a] debian.org>
   2551 
   2552 	* python/decorators.py, python/service.py: Add a new argument to the
   2553 	dbus.service.method decorator called sender_keyword, which if set,
   2554 	specifies the name of an argument which will be provided the bus
   2555 	name of the method caller.
   2556 
   2557 	* test/python/test-client.py, test/python/test-service.py: Add a
   2558 	method and test to check the sender_keyword functionality.
   2559 
   2560 2005-11-07  John (J5) Palmieri  <johnp (a] redhat.com>
   2561 
   2562 	* bus/driver.c (bus_driver_handle_reload_config): Make sure we send an 
   2563 	empty reply so blocking calls don't block forever (Patch from Sjoerd 
   2564 	Simons <sjoerd at luon.net>)
   2565 
   2566 	* AUTHORS: Add Robert McQueen for his work on the Python
   2567 	Bindings and other parts of D-Bus
   2568 
   2569 2005-11-07  Robert McQueen  <robot101 (a] debian.org>
   2570 
   2571 	* python/decorators.py: Change emit_signal function to use the
   2572 	signature annotation of the signal when marhsalling the arguments from
   2573 	the service. Fix a bug where the code checking signature length
   2574 	against argument length referenced the wrong variable.
   2575 
   2576 	* python/introspect_parser.py: Avoid adding the type signature of
   2577 	signal arguments to any methods which occur after them in the
   2578 	introspection data (!) by making the parser a little more careful
   2579 	about its current state.
   2580 
   2581 	* python/service.py: Remove debug prints from last commit (again :D).
   2582 
   2583 	* test/python/test-client.py, test/python/test-service.py: Add test
   2584 	signals with signature decorators to test the strict marshalling code
   2585 	gives errors at the right time. Could do with checking the signals
   2586 	actually get emitted too, given that the test does nothing with
   2587 	signals at the moment...
   2588 
   2589 2005-11-07  Robert McQueen  <robot101 (a] debian.org>
   2590 
   2591 	* python/_dbus.py: Add WeakReferenceDictionary cache of dbus.Bus
   2592 	instances to stop madness of creating new instances representing
   2593 	the same bus connection all the time, rendering any tracking of
   2594 	match rules and bus names quite meaningless. Caught a bug where
   2595 	the private argument to SessionBus() and friends was being passed
   2596 	in as use_default_mainloop by mistake. Still some problems with
   2597 	multiple dbus_binding.Connection instances representing the same
   2598 	low-level connection (eg when you use both SessionBus() and
   2599 	StarterBus() in same process), but it's a lot better now than it
   2600 	was.
   2601 
   2602 	* python/dbus_bindings.pyx: Add constants with the return values
   2603 	for bus_request_name().
   2604 
   2605 	* python/service.py: Store bus name instances in a per-dbus.Bus cache
   2606 	and retrieve the same instances for the same name, so deletion can be
   2607 	done with refcounting. Also now throws some kind of error if you
   2608 	don't actually get the name you requested, unlike previously...
   2609 
   2610 	* test/python/test-client.py: Add tests for instance caching of buses
   2611 	and bus name objects.
   2612 
   2613 2005-11-04  Robert McQueen  <robot101 (a] debian.org>
   2614 
   2615 	* python/dbus_bindings.pyx, test/python/test-client.py: Fix
   2616 	marshalling of boolean values. Add some booleans to the values in
   2617 	the test client.
   2618 
   2619 	* python/decorators.py, python/service.py: Add an 'async_callbacks'
   2620 	argument to the dbus.service.method decorator, which allows you to
   2621 	name arguments to take two callback functions for replying with
   2622 	return values or an exception.
   2623 
   2624 	* test/python/test-client.py, test/python/test-service.py: Add test
   2625 	case using asynchronous method reply functions, both return values and
   2626 	errors, and from within both the function itself and from a mainloop
   2627 	callback.
   2628 
   2629 	* python/decorators.py, python/service.py: Perform checking that the
   2630 	number of method/signal arguments matches the number of types in the
   2631 	signature at class loading time, not when you first introspect the
   2632 	class.
   2633 
   2634 	* python/service.py: Remove debug print left by the last commit.
   2635 
   2636 2005-11-03  Robert McQueen  <robot101 (a] debian.org>
   2637 
   2638 	* python/service.py: Heavy refactoring of method invocation, with
   2639 	hopefully no effect on functionality. Nuked _dispatch_dbus_method_call
   2640 	in favour of a new _message_cb that uses seperate functions for
   2641 	looking up the method to call, marshalling the return values, and
   2642 	sending exceptions as errors, and is easier to follow as a
   2643 	consequence.  Fixes some corner cases about returning things that
   2644 	don't match your declared out_signature, allows exceptions to define
   2645 	_dbus_error_name and have it be sent over the bus as the error name,
   2646 	and paves the way for cool stuff like heeding the message no reply
   2647 	flag, asynchronous method implementations, informing the method of the
   2648 	sender, and including backtraces in the error messages.
   2649 
   2650 	* test/python/test-client.py: Catch and print exceptions thrown in the
   2651 	async callback tests, rather than passing them to the low-level
   2652 	bindings to be ignored in a noisy and frustrating manner.
   2653 
   2654 2005-11-03  Robert McQueen  <robot101 (a] debian.org>
   2655 
   2656 	* python/_dbus.py, python/proxies.py, python/service.py: Add __repr__
   2657 	functions to dbus.Bus, dbus.service.BusName and dbus.service.Object,
   2658 	tweak others to be consistent.
   2659 
   2660 	* test/python/test-client.py: Tweak output of testInheritance.
   2661 
   2662 2005-10-29  Robert McQueen  <robot101 (a] debian.org>
   2663 
   2664 	* python/service.py: Major changes to allow multiple inheritance
   2665 	from classes that define D-Bus interfaces:
   2666 	
   2667 	 1. Create a new Interface class which is the parent class of
   2668 	    Object, and make the ObjectType metaclass into InterfaceType.
   2669 	
   2670 	 2. Patch written with Rob Taylor to replace use of method_vtable
   2671 	    with code that walks the class's __MRO__ (method resolution order)
   2672 	    to behave like Python does when invoking methods and allow
   2673 	    overriding as you'd expect. Code is quite tricky because
   2674 	    we have to find two methods, the one to invoke which has the
   2675 	    right name and isn't decorated with the /wrong/ interface,
   2676 	    and the one to pick up the signatures from which is decorated
   2677 	    with the right interface.
   2678 	
   2679 	    The same caveats apply as to normal multiple inheritance -
   2680 	    this has undefined behaviour if you try and inherit from two
   2681 	    classes that define a method with the same name but are
   2682 	    decorated with different interfaces. You should decorate
   2683 	    your overriding method with the interface you want.
   2684 	
   2685 	 3. Replace grungy introspection XML generation code in the metaclass
   2686 	    with dictionaries that cope correctly with multiple inheritance
   2687 	    and the overriding of methods. This also uses the signature
   2688 	    decorations to provide correct introspection data, including
   2689 	    the debut appearance of the types of your return values. :D
   2690 
   2691 	* test/python/test-client.py, test/python/test-service.py: Add a test
   2692 	case to try invoking an method that overrides one inherited from a
   2693 	D-Bus interface class.
   2694 
   2695 2005-10-29  Robert McQueen  <robot101 (a] debian.org>
   2696 
   2697 	* python/dbus_bindings.pyx: Tweak 'raise AssertionError' to assert().
   2698 	Add checking for the end of struct character when marshalling a
   2699 	struct in MessageIter.append_strict.
   2700 
   2701 	* python/examples/example-service.py,
   2702 	python/examples/gconf-proxy-service.py,
   2703 	python/examples/gconf-proxy-service2.py: Update to use gobject
   2704 	mainloop directly rather than appearing to depend on gtk.
   2705 
   2706 	* python/test/test-client.py, python/test/test-server.py: Remove
   2707 	obsolete and broken test scripts for old bindings. We have up to date
   2708 	and working tests in test/python/.
   2709 
   2710 2005-10-29  Robert McQueen  <robot101 (a] debian.org>
   2711 
   2712 	* python/decorators.py: Add optional arguments to the method and
   2713 	signal decorators to allow you to specify the signature of arguments
   2714 	and return values. Preserve the doc strings of signal functions in the
   2715 	decorated version, for pydoc and friends.
   2716 
   2717 	* python/dbus_bindings.pyx, python/proxies.py: Replace the
   2718 	parse_signature_block function with an iterable dbus.Signature()
   2719 	type. Fix a bug in MessageIter.append_strict where you could append
   2720 	anything by claiming it was a string.
   2721 
   2722 	* python/service.py: Use the out_signature decoration on methods to
   2723 	marshal return values, meaning you no longer require dbus.Array()
   2724 	or dbus.Dictionary() to indicate the type when returning empty
   2725 	arrays or dictionaries. Fix a bug where exceptions which are defined
   2726 	in __main__ are not turned into error replies.
   2727 
   2728 	* test/python/test-client.py, test/python/test-service.py: Add test
   2729 	for correct marshalling of return values according to out_signature.
   2730 	Fix a bug in the async call test where the error_handler is missing a
   2731 	self argument.
   2732 
   2733 2005-10-29  Robert McQueen  <robot101 (a] debian.org>
   2734 
   2735 	* glib/Makefile.am, glib/examples/Makefile.am,
   2736 	glib/examples/statemachine/Makefile.am: Merge patch from Ubuntu by
   2737 	Daniel Stone to replace explicit calls to libtool with $(LIBTOOL).
   2738 
   2739 	* test/python/.cvsignore: Add run-with-tmp-session-bus.conf.
   2740 
   2741 	* tools/dbus-monitor.1, tools/dbus-monitor.c: Merge dbus-monitor patch
   2742 	from Ubuntu by Daniel Silverstone to allow specifying match rules on
   2743 	the command line.
   2744 
   2745 2005-10-27  Ross Burton  <ross (a] openedhand.com>
   2746 
   2747 	* dbus/dbus-marshal-header.c:
   2748 	Remove dead code.
   2749 
   2750 	* glib/dbus-gobject.c:
   2751 	Stop compiler warning.
   2752 
   2753 2005-10-25  Ross Burton  <ross (a] openedhand.com>
   2754 
   2755 	* dbus/dbus-auth.c:
   2756 	* dbus/dbus-server-unix.c:
   2757 	* dbus/dbus-transport-unix.c:
   2758 	* glib/dbus-gmain.c:
   2759 	* glib/dbus-gobject.c:
   2760 	Add some const keywords.
   2761 
   2762 2005-10-25  Ross Burton  <ross (a] openedhand.com>
   2763 
   2764 	* doc/dbus-specification.xml:
   2765 	Document the NoReply annotation.
   2766 
   2767 	* glib/dbus-binding-tool-glib.h:
   2768 	* glib/dbus-binding-tool-glib.c:
   2769 	Respect the NoReply annotation.
   2770 
   2771 2005-10-24  Robert McQueen <robot101 (a] debian.org>
   2772 
   2773 	* python/dbus_bindings.pyx (String, MessageIter): make D-Bus strings
   2774 	derive from unicode instead of str, and encode/decode UTF-8 when
   2775 	marshalling/unmarshalling bus messages
   2776 
   2777 	* python/introspect_parser.py: encode introspection data as UTF-8
   2778 	before passing the buffer into libxml2
   2779 
   2780 	* test/python/test-client.py: add unicode test strings
   2781 
   2782 	* test/data/valid-service-files/.cvsignore, test/python/.cvsignore:
   2783 	ignore generated python test files
   2784 
   2785 2005-10-17  John (J5) Palmieri  <johnp (a] redhat.com>
   2786 
   2787 	* glib/dbus-gvalue-utils.c (hash_free_from_gtype): handle gdouble
   2788 	and G_TYPE_VALUE_ARRAY (DBUS_TYPE_STRUCT)
   2789 	(gvalue_from_hash_value, hash_value_from_gvalue): handle gdouble
   2790 
   2791 	* glib/dbus-gvalue.c (dbus_gvalue_to_signature): add missing
   2792 	DBUS_STRUCT_BEGIN_CHAR and DBUS_STRUCT_END_CHAR charaters
   2793 	when constructing struct signatures
   2794 
   2795 	* python/_dbus.py (Bus): handle private connections using the
   2796 	private keyword in the constructor. defaults to private=False
   2797 	(Bus::close): new method to close a connection to the bus
   2798 
   2799 	* python/dbus_bindings.pyx (Connection::close): renamed method
   2800 	was previously called disconnect
   2801 	(bus_get): now supports getting a private connection
   2802 
   2803 	* python/proxies.py (ProxyMethod::__call__): check if ignore_reply
   2804 	keyword is set to True.  if it is, execute the method without waiting
   2805 	for a reply
   2806 	(ProxyObject::_introspect_execute_queue): new method for executing
   2807 	all the pending methods that were waiting for the introspect to
   2808 	finish.  this is called when introspect either succeeds or fails
   2809 	(ProxyObject::_introspect_error_handler): call queued methods
   2810 
   2811 2005-10-14  John (J5) Palmieri  <johnp (a] redhat.com>
   2812 
   2813 	* python/dbus_bindings.pyx (MessageIter::append_strict): check for
   2814 	STRUCT_BEGIN not TYPE_STRUCT in indicate we are marshalling a struct
   2815 
   2816 	* python/service.py (Object::_message_cb): handle exceptions correctly
   2817 	by sending them over the wire to the calling app.  This makes sure
   2818 	the client returns immediately instead of waiting the 15 seconds to
   2819 	timeout.
   2820 
   2821 	* test/python/test-client.py (TestDBusBindings::testBenchmarkIntrospect): 
   2822 	Add a test to benchmark how long it takes to introspect a service and 
   2823 	call a method which returns a large element (pretty fast)
   2824 
   2825 	* test/python/test-service.py (TestObject::GetComplexArray): new test 
   2826 	method which pushes a lot of data
   2827 
   2828 2005-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
   2829 
   2830 	* python/service.py(ObjectType::_reflect_on_signal, _reflect_on_method): 	
   2831 	reclaim memory outside of the loop and use del istead of just setting
   2832 	the key to None
   2833 
   2834 2005-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
   2835 
   2836 	* python/service.py (ObjectType::_reflect_on_signal): Always close
   2837 	signal tag even when there are no arguments
   2838 
   2839 2005-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
   2840 
   2841 	* configure.in: Set mono, mono-docs and Qt3 to default
   2842 	to no instead of auto when building.  These bindings do not
   2843 	have full time maintainers and will not be supported for the
   2844 	1.0 release.
   2845 
   2846 2005-10-12  John (J5) Palmieri  <johnp (a] redhat.com>
   2847 
   2848 	patches from Michael Krivoruchko <misha at sun.com>: 
   2849 	
   2850 	* dbus/dbus-connection.c (_dbus_connection_queue_received_message_link,
   2851 	_dbus_connection_message_sent, 
   2852 	_dbus_connection_send_preallocated_unlocked_no_update, 
   2853 	_dbus_connection_pop_message_link_unlocked): handle the case when path 
   2854 	is NULL when calling _dbus_verbose
   2855 
   2856 	* configure.in: check for functions getpeerucred and getpeereid
   2857 
   2858 	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): provides 
   2859 	support of auth EXTERNAL on Solaris 10+ (getpeerucred), FreeBSD 4.6+, 
   2860 	OpenBSD 3.0+ and FreeBSD 5.0+ as well as MacOSX 10.2+ (getpeereid). 
   2861 	Patch was only tested on Solaris 10 x86 so it might be issues
   2862 	with other platforms (i.e. BSDs and MacOSX)
   2863 	
   2864 
   2865 2005-10-05  John (J5) Palmieri  <johnp (a] redhat.com>
   2866 
   2867 	* glib/dbus-gvalue.c (marshal_variant): call _dbus_gvalue_marshal 
   2868 	instead of marshal basic so we can handle recursive types in a variant
   2869 
   2870 	* test/glib/test-dbus-glib.c: Add test for marshaling recurive types
   2871 	in variants
   2872 
   2873 	* test/glib/test-service-glib.c, test-service-glib.xml
   2874 	(my_object_echo_variant [EchoVariant], 
   2875 	my_object_process_variant_of_array_of_ints123
   2876 	[ProcessVariantOfArrayOfInts123]): 
   2877 	Add two test methods
   2878 
   2879 	* python/introspect_parser.py: New module for parsing introspect
   2880 	data.
   2881 
   2882 	* python/dbus_bindings.pyx:
   2883 	(various places): when throwing errors fix to use errormsg instead 
   2884 	of message local variable because Pyrex can get confused with other 
   2885 	message variables (initial patch by Robert McQueen 
   2886 	<robert.mcqueen at collabora.co.uk>)
   2887 	(MessageIter::parse_signature_block): new method for getting the next
   2888 	block in a signiture.
   2889 	(MessageIter::append_strict): new method for appending values strictly
   2890 	using the passed in signature instead of guessing at the type
   2891 	(MessageItter:: append_dict, append_struct, append_array): use 
   2892 	signatures to marshal children if the signature is available
   2893 	
   2894 	* python/exceptions.py (IntrospectionParserException): new exception
   2895 
   2896 	* python/proxies.py (ProxyMethod::__call__): Marshal args with 
   2897 	introspected signatures if available, else we fall back to the
   2898 	old way of doing things.
   2899 	(ProxyObject::_introspect_reply_handler ): parse introspection data
   2900 	
   2901 	* python/service.py (ObjectType::_reflect_on_method): Properly
   2902 	terminate <method> if there are no args in the reflection data
   2903 
   2904 	* test/python/test-client.py: add tests for talking with the GLib
   2905 	test server.  This gives us better coverage for introspection since
   2906 	python to python will always generate arguments as variants.  It also
   2907 	allows us to test the robustness of the GLib bindings and interlanguage
   2908 	communications.
   2909 
   2910 	
   2911 2005-10-03  John (J5) Palmieri  <johnp (a] redhat.com>
   2912 
   2913 	* bus/driver.c (bus_driver_handle_introspect): Add signals
   2914 	to the introspect data. (patch from Daniel P. Berrange 
   2915 	<dan at berrange.com>)
   2916 
   2917 	* bus/dispatch.c (check_existent_ping): Add testcase for Ping
   2918 	
   2919 	* dbus/dbus-connection.c (_dbus_connection_peer_filter,
   2920 	_dbus_connection_run_builtin_filters): Changed these to
   2921 	be unlock_no_update functions and call 
   2922 	_dbus_connection_send_unlocked_no_update instead of
   2923 	dbus_connection_send to avoid locking errors.
   2924 	
   2925 	* doc/TODO: Removed the make Ping test TODO
   2926 	
   2927 2005-09-26  John (J5) Palmieri  <johnp (a] redhat.com>
   2928 
   2929 	* dbus/Python.pyx: Fixed memory leaks when throwing errors.
   2930 	We now copy the message from a DBusError and then free 
   2931 	the error object befor throwing the error
   2932 
   2933 	* glib/dbus-glib-tool.c: removed extra comma at the end of the
   2934 	DBusBindingOutputMode enum which was causing a warning.
   2935 	#include <time.h> so using time_t is explicitly defined
   2936 
   2937 2005-09-26  John (J5) Palmieri  <johnp (a] redhat.com>
   2938 
   2939 	* Integrate patches from Lennart Poettering <mzsqb at 0pointer.de>:
   2940 	- dbus/dbus-bus.c
   2941 	(internal_bus_get): new method that take over the heavy lifting
   2942 	of dbus_bus_get and adds the ability to get a private connection
   2943 	to the bus
   2944 	(dbus_bus_get): wrapper to internal_bus_get that provides the same
   2945 	interface as in previous versions
   2946 	(dbus_bus_get_private): new method that is a wrapper to 
   2947 	internal_bus_get to get a private connection to the bus
   2948 
   2949 	- dbus/dbus-bus.h
   2950 	(dbus_bus_get_private): add as a public libdbus interface
   2951 
   2952 	- dbus-1.pc.in: output system_bus_default_address and 
   2953 	sysconfdir variables so apps can use them when compiling
   2954 
   2955 2005-09-23  Harald Fernengel  <harry (a] kdevelop.org>
   2956 	* dbus/qt: New Qt bindings
   2957 
   2958 2005-09-12  Waldo Bastian  <bastian (a] kde.org>
   2959 
   2960 	* dbus/dbus-marshal-validate.c,
   2961 	doc/dbus-specification.xml, test/Makefile.am,
   2962 	test/test-names.c: allow hyphens in bus names.
   2963 
   2964 2005-09-11  Mark McLoughlin  <mark (a] skynet.ie>
   2965 
   2966 	* test/data/auth/fallback.auth-script: we don't
   2967 	retry the EXTERNAL method when we know its going
   2968 	to fail anymore.
   2969 
   2970 2005-09-11  Mark McLoughlin  <mark (a] skynet.ie>
   2971 
   2972 	* dbus/dbus-connection-internal.h: rename
   2973 	(add|remove|toggle)_(watch|timeout) to unlocked()
   2974 	
   2975 	* dbus/dbus-connection.c: ditto.
   2976 	
   2977 	* dbus/dbus-timeout.c, dbus/dbus-transport-unix.c:
   2978 	Update some callers for the renaming.
   2979 
   2980 2005-09-10  Mark McLoughlin  <mark (a] skynet.ie>
   2981 
   2982 	* dbus/dbus-auth.c: (record_mechanisms): don't
   2983 	retry the first auth mechanism because we know
   2984 	we're just going to get rejected again.
   2985 	
   2986 	* dbus/dbus-keyring.c: (_dbus_keyring_reload):
   2987 	Fix thinko ... and what a nasty little bugger to
   2988 	track down you were ...
   2989 
   2990 	* dbus/dbus-connection.c:
   2991 	(_dbus_connection_add_watch),
   2992 	(_dbus_connection_remove_watch): add note about
   2993 	these needing the connection to be locked.
   2994 	(_dbus_connection_get_dispatch_status_unlocked):
   2995 	set status to DATA_REMAINS when we queue the
   2996 	disconnected message.
   2997 	
   2998 	* bus/dispatch.c:
   2999 	(bus_dispatch): fix warning.
   3000 	(check_existent_service_no_auto_start):
   3001 	Expect ChildSignaled error too.
   3002 	(check_existent_hello_from_self): fix another
   3003 	couple of warnings.
   3004 	
   3005 2005-09-08  Joe Shaw  <joeshaw (a] novell.com>
   3006 
   3007 	Patches from James Willcox <snorp (a] snorp.net>
   3008 
   3009 	* mono/Makefile.am: Add Int16.cs and UInt16.cs
   3010 
   3011 	* mono/DBusType/Array.cs: Handle multidimensional arrays, and
   3012 	support array "out" parameters.
   3013 
   3014 	* mono/DBusType/Int16.cs, mono/DBusType/UInt16.cs: New files,
   3015 	for 16-bit int support.
   3016 
   3017 2005-09-06  John (J5) Palmieri  <johnp (a] redhat.com>
   3018 
   3019 	* Released 0.50
   3020 
   3021 	* Patch from Steve Grubb:
   3022 	- bus/activation.c (bus_activation_service_reload_test): clean up
   3023 	some indentation
   3024 	- dbus/dbus-keyring.c (_dbus_keyring_reload): fix conditional 
   3025 	- dbus/dbus-message-factory.c (generate_special): fix a couple of
   3026 	buffer overflows in the test suite.  This is non critical because
   3027 	it can not be exploited and this code is only run when doing a 
   3028 	make check.
   3029 
   3030 	* Patch from Yaakov Selkowitz: Build fixes for Cygwin
   3031 	- configure.in: Don't check and link against kdecore, only qt headers
   3032 	- dbus/Makefile.am: Add -no-undefined to libdbus_1_la_LDFLAGS
   3033 	- gcj/org/freedesktop/dbus/Makefile.am:
   3034 	add libdbus_gcj_1_la_LDFLAGS = -no-undefined
   3035 	- glib/Makefile.am: Add -no-undefined to libdbus_glib_1_la_LDFLAGS
   3036 	and $(DBUS_GLIB_LIBS) to dbus_binding_tool_LDADD
   3037 	- qt/Makefile.am: Add -no-undefined to libdbus_qt_1_la_LDFLAGS
   3038 	- tools/Makefile.am: Add platform extentions to binaries 
   3039 	(i.e. .exe on windows)
   3040 
   3041 	* configure.in: 
   3042 	- Make it so if no suitable version of python is found we only 
   3043 	disable building python instead of exiting the configure script
   3044 	- Require version 2.4 of glib for glib bindings
   3045 	- Up version to 0.50
   3046 
   3047 	* python/__init__.py: Sync version with libdbus to (0,50,0)
   3048 	
   3049 2005-09-05  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   3050 
   3051 	* dbus/dbus-object-tree.c (find_subtree_recurse):
   3052 	a couple of optimizations (bug #710):
   3053 	- do a binary search in the tree
   3054 	- insert a new child at the right place directly, no need for
   3055 	  qsort anymore
   3056 	- do the "double alloc" thing when allocating children
   3057 
   3058 2005-08-31  John (J5) Palmieri  <johnp (a] redhat.com>
   3059 
   3060 	* python/Makefile.am: Break on pyrexc errors instead of ignoring them
   3061 
   3062 	* python/dbus_bindings.pyx: Memory management foo
   3063 	(global): remove hacky _user_data_references global list
   3064 	(GIL_safe_cunregister_function_handler): userdata now stuffed into
   3065 	tuples. Unref user_data
   3066 	(GIL_safe_cmessage_function_handler): userdata now stuffed into tuples
   3067 	(Connection::__del__): Remove and replace with __dealloc__ method
   3068 	(Connection::add_filter): Stuff user_data into a tuple.  Use Py_INCREF
   3069 	to keep tuple from being deallocated instead of the global var hack
   3070 	(Connection::register_object_path): Stuff user_data into a tuple.
   3071 	Use Py_INCREF to keep tuple from being deallocated instead of the 
   3072 	global var hack
   3073 	(Connection::register_fallback): Stuff user_data into a tuple.
   3074 	Use Py_INCREF to keep tuple from being deallocated instead of the 
   3075 	global var hack
   3076 	(GIL_safe_pending_call_notification): Don't unref the message
   3077 	because it gets unreffed when going out of scope.  Py_XDECREF
   3078 	the user_data
   3079 	(PendingCall::__del__): Remove and replace with __dealloc__ method
   3080 	(PendingCall::set_notify): ref the pending call because we will
   3081 	need it to stick around for when the notify callback gets called
   3082 	(Message::__del__): Remove and replace with __dealloc__ method
   3083 
   3084 	* python/dbus_glib_bindings.pyx (init_gthreads): Changed to 
   3085 	gthreads_init to match up with the dbus call
   3086 
   3087 	* python/glib.py (init_threads): Changed to threads_init to match
   3088 	up with gobject.threads_init().  init_threads is kept for backwards
   3089 	compat but will most likely be deprecated in the future
   3090 
   3091 	* test/python/test-client.py: 
   3092 	- revamp to use Python's unittest functionality
   3093 	- add async call tests
   3094 	- setup threads in glib and dbus so we make sure locks are working
   3095 	
   3096 2005-08-30  John (J5) Palmieri  <johnp (a] redhat.com>
   3097 
   3098 	* python/dbus_bindings.pyx 
   3099 	(_pending_call_notification, cunregister_function_handler, 
   3100 	cmessage_function_handler): All callback functions have been rearranged 
   3101 	to workaround a bug in Pyrex when working with the GIL which is Python's 
   3102 	global lock when dealing with threads.  They have been split into
   3103 	a wrapper function (which assumes the name of the old function) and
   3104 	a _GIL_safe_<function name> function which contains the functionality
   3105 	of the old function.  This ensures that Pyrex does not write code
   3106 	the lock is released.
   3107 	
   3108 
   3109 2005-08-30  John (J5) Palmieri  <johnp (a] redhat.com>
   3110 
   3111 	* python/dbus_bindings.pyx (_pending_call_notification): Obtain the
   3112 	GIL global lock when calling back into Python
   3113 
   3114 2005-08-29  John (J5) Palmieri  <johnp (a] redhat.com>
   3115 
   3116 	* Release 0.36.2
   3117 
   3118 	* Add Havoc's patch that never got applied to HEAD (Bug #2436):
   3119 
   3120 	* bus/policy.c (bus_policy_allow_user): change default "user is
   3121 	allowed" to be "user has same uid as the bus itself"; any
   3122 	allow/deny rules will override.
   3123 
   3124 	* bus/session.conf.in: don't allow all users, since now by default
   3125 	the user that ran the bus can connect.
   3126 
   3127 2005-08-26  Colin Walters  <walters (a] verbum.org>
   3128 
   3129 	* tools/dbus-print-message.c (print_message): Flush stdout
   3130 	after printing a message, so that redirecting to a file, then
   3131 	hitting Ctrl-C works.
   3132 
   3133 2005-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   3134 
   3135 	* python/dbus_bindings.pyx: Tracked down a major memleak and fixed it
   3136 	(EmptyMessage): new class that subclasses Message.  This is a workaround
   3137 	to a Pyrex bug that fails to call __del__ when the Message object goes out
   3138 	of scope.  For some reason subclassing Message fixes this bug
   3139 	(Bus::send_with_reply_and_block): use EmptyMessage instead of Message
   3140 	- s/Message(_create=0)/EmptyMessage everywhere else
   3141 	
   3142 	* test/python/test-{server|client}.py: add the python/.libs directory
   3143 	to the lookup path so dbus_bindings and dbus_glib_bindings don't
   3144 	get picked up from the system
   3145 
   3146 2005-08-25  Colin Walters  <walters (a] verbum.org>
   3147 
   3148 	* glib/dbus-gproxy.c (dbus_g_proxy_call): Doc update, thanks
   3149 	to Ryan Lortie for the suggestion.
   3150 
   3151 2005-08-24  John (J5) Palmieri  <johnp (a] redhat.com>
   3152 
   3153 	* test/python: Add python regression test
   3154 
   3155 	* configure.in: Add test/python/Makefile
   3156 
   3157 	* test/Makefile.am: Add the python directory to SUBDIRS
   3158 
   3159 2005-08-24  John (J5) Palmieri  <johnp (a] redhat.com>
   3160 
   3161 	* Release 0.36.1
   3162 
   3163 	* python/_dbus.py: 
   3164 	(Interface::connect_to_signal): propigate keywords for match on args
   3165 	(Bus::add_signal_receiver): Fix typo s/dbus_inteface/dbus_interface
   3166 
   3167 	* python/proxies.py (ProxyObject::connect_to_signal):
   3168 	propigate keywords for match on args
   3169 
   3170 	* Makefile.am: point everything to pyexecdir since python borks
   3171 	on multilib
   3172 
   3173 2005-08-23  John (J5) Palmieri  <johnp (a] redhat.com>
   3174 
   3175 	* Release 0.36
   3176 
   3177 2005-08-23  Colin Walters  <walters (a] verbum.org>
   3178 
   3179 	* test/glib/Makefile.am: Don't multiply-define EXTRA_DIST.
   3180 
   3181 2005-08-23  John (J5) Palmieri  <johnp (a] redhat.com>
   3182 
   3183 	* python/dbus_glib_bindings.pyx: reorder imports and c definitions
   3184 	to fix some wranings. We now use dbus_bindings.DBusConnection instead
   3185 	of defining DBusConnection ourselves.
   3186 
   3187 2005-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   3188 
   3189 	* python/dbus.pth: New path file to fix up problems when installing
   3190 	c libraries to lib64 and python files to lib.
   3191 
   3192 	* python/Makefile.am: install dbus.pth in the correct spot
   3193 
   3194 2005-08-17  John (J5) Palmieri  <johnp (a] redhat.com>
   3195 	* ChangeLog: clean up my last entry a bit
   3196 
   3197 	* doc/introspect.xsl: New stylesheet for converting introspection data
   3198 	into browser renderable xhtml. Contributed by Lennart Poettering.
   3199 
   3200 	* doc/introspect.dtd: Fixups in the introspect format from Lennart
   3201 	Poettering.
   3202 
   3203 	* doc/dbus-tutorial.xml: 
   3204 	- Add Colin Walter to the Authors section for authoring the GLib
   3205 	section
   3206 	- Add descriptions of the new signature and type functionality
   3207 	in the Python complex type mapping section
   3208 	- Add a sidenote on the new args matching functionality in 
   3209 	the Python bindings
   3210 	- Fixed up some of the examples to use the gobject.MainLoop
   3211 	instead of gtk.main
   3212 	
   3213 	* python/_dbus.py:
   3214 	(Bus::_create_args_dict): New. Converts a hash of arg matches
   3215 	to a more useable format
   3216 	(Bus::add_signal_receiver): add a **keywords parameter for catching
   3217 	arg match parameters
   3218 	(Bus::remove_signal_receiver): add a **keywords parameter for catching
   3219 	arg match parameters
   3220 	
   3221 	* python/matchrules.py:
   3222 	(MatchTree::exec_matches): Check for arg matches
   3223 	(SignalMatchRule::add_args_match): New method
   3224 	(SignalMatchRule::execute): Added args_list parameter as an optimization
   3225 	so we don't have to marshal the args more than once
   3226 	(SignalMatchRule::match_args_from_list): New method that checks to see
   3227 	if the rule's arg matches match an argument list.  Only arguments
   3228 	set in the rule are checked.
   3229 	(SignalMatchRule::match_args_from_rule): New method that checks to see
   3230 	if the rule's arg matches match another rule's.  All args have to match
   3231 	in order for this method to return true.  If either rule has more args
   3232 	then it is not a match.
   3233 	(SignalMatchRule::is_match): Add args match
   3234 	(SignalMatchRule::repr): Add args to the final output if they exist
   3235 
   3236 2005-08-17  Ross Burton  <ross (a] burtonini.com>
   3237 
   3238 	* glib/dbus-gproxy.c:
   3239 	(dbus_g_proxy_call_no_reply): unref the message once sent.
   3240 	(dbus_g_proxy_call): protect against NULL proxy.
   3241 
   3242 2005-08-16  John (J5) Palmieri  <johnp (a] redhat.com>
   3243 
   3244 	* python/__init__.py: Version updated (0, 43, 0)
   3245 	
   3246 	* python/dbus_bindings.pyx: 
   3247 	- Fixed type objects to have self passed into __init__
   3248 	- Added the Variant type
   3249 	- Add the ability to specify types or signatures for Array, Variant 
   3250 	and Dictionary
   3251 	(Connection::send_with_reply_handlers): return a PendingCall object
   3252 	(_pending_call_notification): handle the case when an error is returned 
   3253 	without an error message in the body
   3254 	(MessageIter::get_boolean): return True or False instead of an integer
   3255 	(MessageIter::python_value_to_dbus_sig): add direct checking of types 
   3256 	and add checks for objects with embeded signatures or types (Array, 
   3257 	Variant and Dictionary)
   3258 	(MessageIter::append_byte): handle case when the value is a dbus.Byte
   3259 	(MessageIter::append_dict): handle embeded types or signatures
   3260 	(MessageIter::append_array): handle embeded types or signatures
   3261 	(MessageIter::append_variant): new method
   3262 	
   3263 	* python/proxies.py:
   3264 	(DeferedMethod): New. Dummy executable object used when queuing calls 
   3265 	blocking on introspection data
   3266 	(ProxyMethod::__call__): add the timeout keyword for specifying longer 
   3267 	or shorter timeouts for method calls
   3268 	(ProxyObject): Add first pass at an introspection state machine
   3269 	(ProxyObject::__init__): Add introspect keyword for turing off an on 
   3270 	introspection. 
   3271 	(ProxyObject::_Introspect): Internal Introspect call that bypasses 
   3272 	the usual mechanisms for sending messages.  This is to avoid a deadlock
   3273 	where the Intospect call would be queued waiting for the Introspect 
   3274 	call to finish ;-)
   3275 	(ProxyObject::_introspect_reply_handler): New.  This method is called 
   3276 	when introspection returns with no error
   3277 	(ProxyObject::_introspect_error_handler): New.  This method is called 
   3278 	when introspection encounters an error
   3279 	(ProxyObject::__getattr__): Code to handle different introspection 
   3280 	states.  Queue async calls or block blocking calls if we are 
   3281 	introspecting.  Pass through as normal if we are not or are done with 
   3282 	introspecting.
   3283 	
   3284 	* python/service.py: Import signal and method from decorators.py
   3285 
   3286 	* python/types.py: Add Variant type
   3287 
   3288 2005-08-16  Colin Walters  <walters (a] verbum.org>
   3289 
   3290 	* glib/dbus-gobject.c (dbus_set_g_error): Don't lose if the
   3291 	DBusError message is NULL.
   3292 
   3293 2005-08-09  Havoc Pennington  <hp (a] redhat.com>
   3294 
   3295 	* dbus/dbus-errors.c: apply patch from Timo Teras to make a
   3296 	malloc'd copy of the name parameter
   3297 
   3298 2005-08-09  Havoc Pennington  <hp (a] redhat.com>
   3299 
   3300 	* dbus/dbus-message.c (dbus_message_set_reply_serial): print
   3301 	warning if the reply serial is set to 0
   3302 
   3303 2005-08-04  Colin Walters  <walters (a] verbum.org>
   3304 
   3305 	* glib/dbus-gvalue-utils.h (_dbus_g_type_specialized_builtins_init)
   3306 	(dbus_g_type_is_fixed, dbus_g_type_fixed_get_size)
   3307 	(dbus_gvalue_set_from_pointer, dbus_g_hash_table_value_foreach)
   3308 	(dbus_g_hash_table_insert_values, dbus_g_hash_table_insert_steal_values)
   3309 	(dbus_gtype_is_valid_hash_key, dbus_gtype_is_valid_hash_value)
   3310 	(dbus_g_hash_func_from_gtype, dbus_g_hash_free_from_gtype)
   3311 	(dbus_g_hash_equal_from_gtype, dbus_gvalue_stor, dbus_gvalue_take):
   3312 	* glib/dbus-gvalue.h (dbus_g_value_types_init)
   3313 	(dbus_gvalue_demarshal, dbus_gvalue_demarshal_variant)
   3314 	(dbus_gvalue_demarshal_message, dbus_gvalue_marshal):
   3315 	
   3316 	Prefix name with _ to ensure they're not exported.  All callers
   3317 	updated.
   3318 
   3319 	* glib/dbus-gvalue.c (typecode_to_gtype)
   3320 	(dbus_typecode_maps_to_basic, basic_typecode_to_gtype)
   3321 	(signature_iter_to_g_type_dict)
   3322 	(signature_iter_to_g_type_array)
   3323 	(dbus_gtype_from_signature_iter, dbus_gtype_from_signature)
   3324 	(dbus_gtypes_from_arg_signature):
   3325 	Move to dbus-gsignature.c.
   3326 
   3327 	* glib/dbus-binding-tool-glib.c (dbus_binding_tool_output_glib_server): Call
   3328 	dbus_g_type_specialized_builtins_init instead of dbus_g_value_types_init.
   3329 	(dbus_binding_tool_output_glib_client): Ditto.
   3330 
   3331 	* glib/Makefile.am (DBUS_GLIB_INTERNALS): Add dbus-gsignature.c
   3332 	and dbus-gsignature.h
   3333 
   3334 	* test/glib/test-service-glib.c (my_object_rec_arrays): Delete
   3335 	unused variable.
   3336 
   3337 2005-08-03  Colin Walters  <walters (a] verbum.org>
   3338 
   3339 	* glib/dbus-gobject.c: Add tests on hardcoded object info; this should
   3340 	catch any incompatible changes accidentally made.
   3341 
   3342 2005-08-03  Havoc Pennington  <hp (a] redhat.com>
   3343 
   3344 	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): fix
   3345 	typo, from Julien Puydt
   3346 
   3347 	* bus/connection.c (bus_connection_disconnected): we were always
   3348 	doing a wait_for_memory due to a buggy loop, found by Timo Hoenig
   3349 
   3350 2005-08-01  Colin Walters  <walters (a] verbum.org>
   3351 
   3352 	Patch from Joe Markus Clarke:	
   3353 	
   3354 	* glib/dbus-gidl.c (property_info_unref, arg_info_unref): Fix
   3355 	use-after-free.
   3356 
   3357 2005-08-01  Colin Walters  <walters (a] verbum.org>
   3358 	
   3359 	Patch from Joe Markus Clarke:	
   3360 	
   3361 	* tools/dbus-send.c (main): 
   3362 	
   3363 	Don't use C99 style initializers (bug #3933).
   3364 	
   3365 2005-08-01  Colin Walters  <walters (a] verbum.org>
   3366 
   3367 	Patch from Joe Markus Clarke:	
   3368 
   3369 	* glib/dbus-gvalue.c (dbus_g_value_types_init): 
   3370 	* glib/dbus-gvalue-utils.c (dbus_g_type_specialized_builtins_init) 
   3371 	* glib/dbus-gobject.c (write_interface):
   3372 
   3373 	Don't use C99 style initializers (bug #3933).
   3374 
   3375 2005-07-31  Havoc Pennington  <hp (a] redhat.com>
   3376 
   3377 	* tools/dbus-viewer.c (load_child_nodes): fix invocation of
   3378 	dbus_g_proxy_call, fix from Piotr Zielinski bug #3920
   3379 
   3380 2005-07-30  Havoc Pennington  <hp (a] redhat.com>
   3381 
   3382 	* fix a bunch of Doxygen warnings and mistakes
   3383 
   3384 2005-07-30  Havoc Pennington  <hp (a] redhat.com>
   3385 
   3386 	* dbus/dbus-sysdeps.c (_dbus_string_parse_uint): remove #ifdef
   3387 	DBUS_BUILD_TESTS since it's now used in production code
   3388 
   3389 2005-07-29  Havoc Pennington  <hp (a] redhat.com>
   3390 
   3391 	* test/glib/test-profile.c (write_junk): initialize the junk
   3392 	buffer so valgrind doesn't have a breakdown
   3393 
   3394 2005-07-29  Havoc Pennington  <hp (a] redhat.com>
   3395 
   3396 	* bus/signals.c (bus_signals_test): add match_rule_equal() tests
   3397 	(match_rule_matches): remove unused arg
   3398 	(test_matching): add tests for match_rule_matches()
   3399 
   3400 	* bus/signals.c (bus_match_rule_parse_arg_match): add ability to
   3401 	do arg0='foo' arg5='bar' in the match rules
   3402 	(match_rule_matches): don't match if the arg0='foo' doesn't match.
   3403 
   3404 	* dbus/dbus-protocol.h (DBUS_MAXIMUM_MATCH_RULE_ARG_NUMBER): add this
   3405 
   3406 2005-07-29  Ross Burton  <ross (a] openedhand.com>
   3407 
   3408 	* dbus/dbus-connection.c:
   3409 	Don't create a DBusCondVar which is never used.
   3410 
   3411 2005-07-27  Ross Burton  <ross (a] openedhand.com>
   3412 
   3413 	* dbus/dbus-message.c:
   3414 	Reduce the size of the maximum cached message to 10K.
   3415 
   3416 2005-07-25  Ross Burton  <ross (a] openedhand.com>
   3417 
   3418 	* glib/dbus-gproxy.c:
   3419 	Remove matches when all proxies are unregistered.
   3420 
   3421 2005-07-24  Colin Walters  <walters (a] verbum.org>
   3422 
   3423 	* glib/dbus-gvalue.c (signature_iter_to_g_type_array): Don't require
   3424 	typedata; recursive arrays won't have it.
   3425 
   3426 	* test/glib/test-dbus-glib.c:
   3427 	* test/glib/test-service-glib.c:
   3428 	* test/glib/test-service-glib.xml: Add recursive arrays tests.
   3429 	
   3430 2005-07-20  John (J5) Palmieir  <johnp (a] redhat.com>
   3431 
   3432 	* python/_dbus.py, _util.py, decorators.py, extract.py, matchrules.py.
   3433 	proxies.py, service.py: Cleanup of code after running it through the
   3434 	pyflakes code checker mostly dealing with undefined names.  
   3435 	(Bug #3828, Patch from Anthony Baxter <anthony (a] interlink.com.au>)
   3436 
   3437 2005-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   3438 
   3439 	* NEWS: Update to 0.35.2
   3440 
   3441 2005-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   3442 
   3443 	* python/_dbus.py: Remove import of the dbus.services
   3444 	module as it no longer exists (patch from Dimitur Kirov)
   3445 
   3446 	* python/service.py (Object::__init__): Fixed typo
   3447 	s/name/bus_name (patch from Dimitur Kirov)
   3448 
   3449 	* python/examples/example-signal-emitter.py: import dbus.glib
   3450 	to get the main loop and use glib mainloop instead of gtk so
   3451 	X doesn't have to be running.
   3452 
   3453 	* python/examples/example-signal-recipient.py: import dbus.glib
   3454 	to get the main loop and use glib mainloop instead of gtk so
   3455 	X doesn't have to be running. Import the decorators module
   3456 	directly.
   3457 
   3458 	* test/glib/Makefile.am:  Added DIST_EXTRA files that distcheck
   3459 	didn't pick up on but are needed to build
   3460 
   3461 	* configure.in: upped version to 0.35.2
   3462 
   3463 	* bus/driver.c, bus/selinux.c, bus/selinux.h, dbus/dbus-protocol.h:
   3464 	added Colin Walters' SELinux API rename patch from head 
   3465 	s/unix sercurity context/selinux security context/
   3466 
   3467 2005-07-16  John (J5) Palmieri  <johnp (a] redhat.com>
   3468 
   3469 	* python/Makefile.am: dbus_binding.pxd.in should be included 
   3470 	in EXTRA_DIST not dbus_binding.pxd
   3471 	fix up $(srcdir) hopefully for the last time
   3472 
   3473 	* NEWS: Update to 0.35.1
   3474 
   3475 2005-07-16  Colin Walters  <walters (a] verbum.org>
   3476 
   3477 	* bus/driver.c (bus_driver_handle_get_connection_selinux_security_context): Renamed
   3478 	from bus_driver_handle_get_connection_unix_security_context.  Update for
   3479 	error usage.
   3480 	(message_handlers): Update for renames.
   3481 
   3482 	* bus/selinux.c (bus_selinux_allows_send): Handle OOM on
   3483 	_dbus_string_init failure correctly.
   3484 	(bus_selinux_append_context): Convert SID to context.  Append it
   3485 	as a byte array.
   3486 	(bus_selinux_shutdown): Handle the case where bus_selinux_full_init
   3487 	hasn't been called.
   3488 
   3489 	* bus/selinux.h: Update prototype.
   3490 
   3491 	* dbus/dbus-protocol.h (DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN): Renamed
   3492 	from DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN.
   3493 
   3494 2005-07-15  Colin Walters  <walters (a] verbum.org>
   3495 
   3496 	* doc/TODO: Add note about convenience wrappers.
   3497 
   3498 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3499 
   3500 	* NEWS: Update to 0.35
   3501 
   3502 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3503 
   3504 	* glib/Makefile.am: Add make-dbus-glib-error-switch.sh to EXTRA_DIST
   3505 	so distcheck doesn't fail
   3506 
   3507 	* glib/examples/Makefile.am: Add example-service.xml and 
   3508 	example-signal-emitter.xml to EXTRA_DIST so distcheck doesn't fail
   3509 
   3510 	* glib/examples/statemachine/Makefile.am: Add statemachine.xml and
   3511 	statemachine-server.xml to EXTRA_DIST so distcheck doesn't fail
   3512 
   3513 	* python/Makefile.am: Preprend $(srcdir)/ to source files so the
   3514 	compiler looks in the right places during distcheck
   3515 
   3516 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3517 
   3518 	* glib/example/Makefile.am: Fix a typo which cause make distcheck
   3519 	to fail
   3520 
   3521 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3522 
   3523 	* python/examples/example-service.py,
   3524 	python/examples/example-signal-emitter.py: Fixed up examples
   3525 	for API changes
   3526 
   3527 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3528 
   3529 	* python/__init__.py: Upped to version (0,42,0) because of
   3530 	the API change
   3531 
   3532 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3533 
   3534 	* ChangeLog: fix date in last entry
   3535 
   3536 	* configure.in, bus/system.conf.in: add the ability to configure 
   3537 	the system bus user at compiletime with the --with-dbus-user flag
   3538 	(patch from Kristof Vansant)
   3539 
   3540 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3541 
   3542 	* bus/dispatch.c, test/test-service.c: Add testcase
   3543 	for sending messages to oneself (TODO item).
   3544 
   3545 	* python/service.py (class Object): Swap ordering of bus_name 
   3546 	and object_path parameters to better support inheritance.
   3547 
   3548 	* doc/dbus-tutorial.xml: change Python docs to reflect change
   3549 	in parameter ordering and fix the inheritance section.
   3550 
   3551 	* doc/TODO: remove sending message to oneself TODO item
   3552 
   3553 2005-07-15  Ross Burton  <ross (a] openedhand.com>
   3554 
   3555 	* glib/dbus-gproxy.c:
   3556 	Fix a leak when calling methods via the proxy.
   3557 
   3558 2005-07-15  Colin Walters  <walters (a] verbum.org>
   3559 
   3560 	* bus/selinux.c (bus_selinux_append_context): Wrap in
   3561 	HAVE_SELINUX.
   3562 
   3563 2005-07-14  John (J5) Palmieri  <johnp (a] redhat.com>
   3564 
   3565 	* python/_dbus.py (Bus::remove_signal_receiver):
   3566 	don't add a callback to the match if none has been passed in
   3567 	
   3568 	* python/matchrules.py (SignalMatchTree::remove): if the rule
   3569 	being matched does not have a callback treat it as a wildcard
   3570 	fix matching logic
   3571 
   3572 	* doc/dbus-tutorial.xml: Add Python tutorial
   3573 
   3574 2005-07-14  Colin Walters  <walters (a] verbum.org>
   3575 
   3576 	* bus/driver.c
   3577 	(bus_driver_handle_get_connection_unix_security_context): New function.
   3578 	(message_handlers): Add.
   3579 
   3580 	* bus/selinux.c (bus_selinux_append_context): New function; appends
   3581 	security context to message.
   3582 
   3583 	* bus/selinux.h: Prototype.
   3584 
   3585 	* dbus/dbus-protocol.h (DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN): New.
   3586 
   3587 2005-07-14  John (J5) Palmieri  <johnp (a] redhat.com>
   3588 
   3589 	* bus/activation.c: clean up all tabs to be 8 spaces 
   3590 	(bus_activation_activate_service): make sure we clean up
   3591 	if activation fails
   3592 
   3593 	* bus/dispatch.c: clean up all tabs to be 8 spaces 
   3594 	(check_shell_fail_service_auto_start): New function
   3595 	tests to make sure we get fail properly when trying to auto start a service
   3596 	with a faulty command line
   3597 	(check_shell_service_success_auto_start): New function tests to make sure
   3598 	auto started services get the arguments on the command line
   3599 
   3600 	* test/test-shell-service.c: Added service for testing auto-starting with 
   3601 	command line arguments
   3602 
   3603 	* test/data/valid-service-files/debug-shell-echo-fail.service.in, 
   3604 	test/data/valid-service-files/debug-shell-echo-success.service.in:
   3605 	Added service files for testing auto-starting with command line arguments
   3606 
   3607 	* */.cvsignore: added a bunch of generated files to various .cvsignore files
   3608 
   3609 2005-07-14  Rodrigo Moya  <rodrigo (a] novell.com>
   3610 
   3611 	* dbus/dbus-shell.[ch]: copy/pasted code from GLib.
   3612 	
   3613 	* dbus/Makefile.am: added new files to build.
   3614 
   3615 	* bus/activation.c (bus_activation_activate_service): support
   3616 	activation commands with parameters.
   3617 
   3618 	* test/shell-test.c: added test program for the shell parsing
   3619 	code.
   3620 
   3621 2005-07-13  David Zeuthen  <davidz (a] redhat.com>
   3622 
   3623 	* tools/dbus-send.c (append_arg, type_from_name): Also support 16 and
   3624 	64 bit signed and unsigned parameters
   3625 
   3626 2005-07-13  John (J5) Palmieri  <johnp (a] redhat.com>
   3627 
   3628 	* python/.cvsignore: remove dbus_bindings.pyx, add dbus_bindings.pxd
   3629 
   3630 	* python/service.py (class Name): renamed BusName to make it clearer
   3631 	what the object is for (a name on the bus)
   3632 
   3633 	* python/examples/example-service.py,
   3634 	python/examples/example-signal-emitter.py: change the Name object to
   3635 	BusName
   3636 
   3637 2005-07-12  Colin Walters  <walters (a] verbum.org>
   3638 
   3639 	Patch from Jim Gettys <Jim.Gettys (a] hp.com>.
   3640 
   3641 	* tools/dbus-launch.c: Include sys/select.h.
   3642 
   3643 2005-07-12  John (J5) Palmieri  <johnp (a] redhat.com>
   3644 	* python/dbus_bindings.pyx.in: removed
   3645 
   3646 	* python/dbus_bindings.pyx: Added.
   3647 	- Fixed some memleaks (patch from 
   3648 	Sean Meiners <sean.meiners (a] linspireinc.com>)
   3649 	- Broke out the #include "dbus_h_wrapper.h" and put it in its
   3650 	own pxd file (Pyrex definition)
   3651 	- Broke out glib dependancies into its own pyx module
   3652 	
   3653 	* python/dbus_bindings.pdx: Added.
   3654 	- Defines C class Connection for exporting to other modules
   3655 
   3656 	* python/dbus_glib_bindings.pyx: Added.
   3657 	- New module to handle lowlevel dbus-glib mainloop integration
   3658 
   3659 	* python/glib.py: Added.
   3660 	- Registers the glib mainloop when you import this module
   3661 
   3662 	* python/services.py: Removed (renamed to service.py)
   3663 	
   3664 	* python/service.py: Added.
   3665 	- (class Server): renamed Name
   3666 
   3667 	* python/__init__.py: Bump ro version (0,41,0)
   3668 	-don't import the decorators or service module
   3669 	by default.  These now reside in the dbus.service namespace
   3670 
   3671 	* python/_dbus.py (Bus::__init__): Add code run the main loop 
   3672 	setup function on creation 
   3673 
   3674 	* python/examples/example-service.py,
   3675 	python/examples/example-signal-emitter.py: update examples
   3676 
   3677 	* python/examples/gconf-proxy-service.py,
   3678 	python/examples/gconf-proxy-service2.py: TODO fix these up
   3679 
   3680 	* doc/TODO: Addition
   3681 	- Added a Python Bindings 1.0 section
   3682 	- added "Add match on args or match on details to match rules"
   3683 
   3684 
   3685 2005-07-12  Colin Walters  <walters (a] verbum.org>
   3686 
   3687 	* glib/examples/statemachine/Makefile.am (statemachine-server-glue.h) 
   3688 	(statemachine-glue.h): 
   3689 	* glib/examples/Makefile.am (example-service-glue.h) 
   3690 	(example-signal-emitter-glue.h): 
   3691 	* glib/Makefile.am (dbus-glib-error-switch.h): 
   3692 	Add libtool --mode=execute so we use the built library instead
   3693 	of any installed one.
   3694 
   3695 2005-07-11  Colin Walters  <walters (a] verbum.org>
   3696 
   3697 	* glib/dbus-gvalue.c (struct _DBusGValue): Delete.
   3698 	(dbus_g_value_types_init): Remove assertion.
   3699 	(dbus_g_value_get_g_type, dbus_g_value_open)
   3700 	(dbus_g_value_iterator_get_values, dbus_g_value_get_signature)
   3701 	(dbus_g_value_copy, dbus_g_value_free): Delete unimplemented
   3702 	functions related to DBusGValue.  Now we marshal/demarshal
   3703 	structures as GValueArray.
   3704 	(dbus_gtype_from_signature_iter): Return G_TYPE_VALUE_ARRAY for
   3705 	structures.
   3706 	(signature_iter_to_g_type_array): Don't call
   3707 	signature_iter_to_g_type_struct.
   3708 	(signature_iter_to_g_type_struct): Delete.
   3709 	(dbus_gvalue_to_signature): Delete.
   3710 	(dbus_gvalue_to_signature): New function with same name as other
   3711 	one; we can convert structures to signatures.
   3712 	(demarshal_valuearray): New function.
   3713 	(get_type_demarshaller): Use it.
   3714 	(demarshal_recurse): Delete.
   3715 	(marshal_proxy): New function.
   3716 	(marshal_map): Warn if we can't determine signature from type.
   3717 	(marshal_collection_ptrarray): Ditto.
   3718 	(marshal_collection_array): Ditto.
   3719 	(get_type_marshaller): Use marshal_valuearray.
   3720 	(marshal_recurse): Delete.
   3721 	(_dbus_gvalue_test): Add some tests.
   3722 
   3723 	* dbus/dbus-glib.h (struct _DBusGValueIterator): 
   3724 	(dbus_g_value_get_g_type, DBUS_TYPE_G_VALUE)
   3725 	(dbus_g_value_open, dbus_g_value_iterator_get_value)
   3726 	(dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
   3727 	(dbus_g_value_free): Remove prototypes.
   3728 
   3729 	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_lookup_function): Handle
   3730 	G_TYPE_VALUE_ARRAY.
   3731 
   3732 	* glib/examples/example-service.c:
   3733 	* glib/examples/example-client.c: Implement GetTuple.
   3734 
   3735 	* test/glib/test-dbus-glib.c:
   3736 	* test/glib/test-service-glib.c:
   3737 	* test/glib/test-service-glib.xml: Add structure tests.
   3738 
   3739 2005-07-10  Colin Walters  <walters (a] verbum.org>
   3740 
   3741 	* doc/TODO: Knock off some GLib items with this patch.
   3742 
   3743 	* glib/dbus-gvalue-utils.c (_dbus_gtype_can_signal_error) 
   3744 	(_dbus_gvalue_signals_error): New functions.
   3745 
   3746 	* glib/dbus-gvalue-utils.h: Prototype them.
   3747 
   3748 	* glib/dbus-gobject.c (arg_iterate): Update to handle return vals
   3749 	and change to not output const/retval flags for input args.  All
   3750 	callers updated.
   3751 	(invoke_object_method): Refactor to handle return values.  Add
   3752 	some more comments in various places.  Remove debug g_print.
   3753 
   3754 	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_RETURNVAL): New.
   3755 
   3756 	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_marshal_name):
   3757 	Handle G_TYPE_NONE.
   3758 	(compute_gsignature): New function; refactored from code from
   3759 	compute_marshaller and compute_marshaller_name.  Enhance to
   3760 	handle return values and async ops more cleanly.  Update for
   3761 	async ops returning NONE instead of BOOLEAN.
   3762 	(compute_marshaller, compute_marshaller_name): Call compute_gsignature
   3763 	and output appropriate string.
   3764 	(generate_glue): Handle return value annotation.  Also don't dump
   3765 	constness flag for input arguments.
   3766 
   3767 	* glib/Makefile.am (DBUS_GLIB_INTERNALS): New variable; contains
   3768 	files shared between installed library and utilities.
   3769 	(libdbus_glib_1_la_SOURCES): Move some stuf into DBUS_GLIB_INTERNALS.
   3770 	(libdbus_gtool_la_SOURCES): Suck in DBUS_GLIB_INTERNALS so the
   3771 	binding tool can access gtype utility functions.
   3772 
   3773 	* test/glib/test-service-glib.c: 
   3774 	* test/glib/test-service-glib.xml: 
   3775 	* test/glib/test-dbus-glib.c: Add some tests for return values.
   3776 
   3777 2005-07-09  Colin Walters  <walters (a] verbum.org>
   3778 
   3779 	* glib/dbus-gparser.c (parse_annotation): Add annotations to
   3780 	argument if available, not method.
   3781 
   3782 	* glib/dbus-gobject.c (arg_iterate): More verbose warnings.
   3783 	(invoke_object_method): First, remove some redundant
   3784 	GValues (object_value, error_value) in favor of working on
   3785 	array directly.  Second, rework constness to be less buggy.
   3786 	Now we iterate directly over the argument metadata instead
   3787 	of parallel iterating over output signature and metadata.
   3788 
   3789 	* glib/dbus-glib-tool.h: Add INVALID_ANNOTATION error.
   3790 
   3791 	* glib/dbus-binding-tool-glib.c (generate_glue): Barf on const
   3792 	annotation on input args.
   3793 	
   3794 2005-07-09  Colin Walters  <walters (a] verbum.org>
   3795 
   3796 	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_CONST):
   3797 	Define.
   3798 
   3799 	* glib/dbus-binding-tool-glib.c (generate_glue): Handle Const
   3800 	annotation.
   3801 
   3802 	* glib/dbus-gobject.c (arg_iterate): Update to parse constval too.
   3803 	(method_dir_signature_from_object_info): Handle arg_iterate change.
   3804 	(write_interface): Ditto.
   3805 	(lookup_object_info): Don't barf if format_version is > 0.
   3806 	(invoke_object_method): Handle arg constness.
   3807 
   3808 	* glib/dbus-gidl.c (struct ArgInfo): Add annotations.
   3809 	(arg_info_new): Create.
   3810 	(arg_info_unref): Destroy.
   3811 	(arg_info_get_annotations, arg_info_get_annotation) 
   3812 	(arg_info_add_annotation): New functions.
   3813 
   3814 	* glib/dbus-gidl.h: Prototype them.
   3815 
   3816 	* glib/dbus-gparser.c (parse_annotation): Allow annotations in
   3817 	args, disallow them in properties.
   3818 	(parse_annotation): Handle arg annotations.
   3819 
   3820 	* test/glib/test-service-glib.xml: 
   3821 	* test/glib/test-service-glib.c: Update to make some methods
   3822 	const.
   3823 
   3824 2005-07-08  Colin Walters  <walters (a] verbum.org>
   3825 
   3826 	* test/glib/test-service-glib.xml: 
   3827 	* test/glib/test-service-glib.c:
   3828 	* test/glib/test-dbus-glib.c: Test a{sv}.
   3829 
   3830 	* glib/examples/statemachine/statemachine.c:
   3831 	* glib/examples/statemachine/statemachine-server.c:
   3832 	* glib/examples/statemachine/statemachine-client.c: Fix some bugs,
   3833 	add progress bar, etc.
   3834 
   3835 	* glib/dbus-gvalue.c (register_array, register_dict): Delete; not
   3836 	needed anymore due to generic array/map marshalling.
   3837 	(dbus_g_value_types_init): Don't register basic arrays or the
   3838 	string/string hash.
   3839 	(dbus_gtype_from_signature_iter): Don't try to recurse into
   3840 	variants.
   3841 	(dbus_gtype_to_signature): Check collection/map before type
   3842 	metadata.
   3843 	(demarshal_garray_basic): Renamed to demarshal_collection_array.
   3844 	(demarshal_ghashtable): Renamed to demarshal_map; fix to use new
   3845 	generic map creation/append functions instead of hash table
   3846 	specifically.
   3847 	(get_type_demarshaller): Handle maps.
   3848 	(demarshal_collection): Dispatch on collection type to either
   3849 	demarshal_collection_ptrarray or demarshal_collection_array.
   3850 	(get_type_marshaller): Handle maps.
   3851 	(marshal_collection): Dispatch collection type to either
   3852 	marshal_collection_ptrarray or marshal_collection_array.
   3853 	(_dbus_gvalue_test): New test.
   3854 
   3855 	* glib/dbus-gvalue-utils.c (unset_and_free_g_value): New function.
   3856 	(hash_free_from_gtype): Use it to free GValues.
   3857 	(hashtable_append): New function.
   3858 	(ptrarray_append): Fix prototype.
   3859 	(slist_append): Ditto.
   3860 	(_dbus_gvalue_utils_test): Extend tests.
   3861 
   3862 	* glib/dbus-gtype-specialized.c
   3863 	(dbus_g_type_specialized_init_append): Renamed from
   3864 	dbus_g_type_specialized_collection_init_append.  Remove const from
   3865 	value, since we steal it.
   3866 	(dbus_g_type_specialized_map_append): New function.
   3867 
   3868 	* glib/dbus-gtype-specialized.h: Update prototypes.
   3869 	Add DBusGTypeSpecializedMapAppendFunc.
   3870 
   3871 	* glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
   3872 	_dbus_gvalue_test.
   3873 	
   3874 	* glib/dbus-gtest.h: Prototype it.
   3875 
   3876 2005-07-08  Ross Burton  <ross (a] openedhand.com>
   3877 
   3878 	* dbus/dbus-glib.h:
   3879 	Add DBysGAsyncData for the async bindings.
   3880 
   3881 	* glib/dbus-binding-tool-glib.c:
   3882 	Re-enable the async bindings.
   3883 
   3884 	* test/glib/test-dbus-glib.c:
   3885 	Add a test for the generated async bindings.
   3886 
   3887 2005-07-08  Colin Walters  <walters (a] verbum.org>
   3888 
   3889 	* doc/TODO: Update GLib todo bits, also add a post-1.0 TODO for a
   3890 	connection concept.
   3891 	
   3892 2005-07-08  Colin Walters  <walters (a] verbum.org>
   3893 	
   3894 	* tools/Makefile.am: Kill of print-introspect in favor of using
   3895 	dbus-send --print-reply=literal.
   3896 
   3897 	* test/glib/test-service-glib.xml: 
   3898 	* test/glib/test-service-glib.c (my_object_get_objs): New test
   3899 	for "ao".
   3900 
   3901 	* test/glib/test-dbus-glib.c (echo_received_cb): Free echo data.
   3902 	(main): Test GetObjs.
   3903 
   3904 	* glib/examples/statemachine/Makefile.am:
   3905 	* glib/examples/statemachine/sm-marshal.list:
   3906 	* glib/examples/statemachine/statemachine-client.c:
   3907 	* glib/examples/statemachine/statemachine-server.c:
   3908 	* glib/examples/statemachine/statemachine-server.xml:
   3909 	* glib/examples/statemachine/statemachine.c:
   3910 	* glib/examples/statemachine/statemachine.h:
   3911 	* glib/examples/statemachine/statemachine.xml:
   3912 
   3913 	New example.
   3914 
   3915 	* glib/examples/example-service.c (main): Move invocation
   3916 	of dbus_g_object_type_install_info earlier, to emphasize it
   3917 	should only be done once.
   3918 
   3919 	* glib/examples/example-signal-emitter.c (main): Ditto.
   3920 
   3921 	* glib/examples/Makefile.am (SUBDIRS): Include statemachine.
   3922 
   3923 	* glib/dbus-gvalue.h (dbus_gtype_to_signature)
   3924 	(dbus_gvalue_marshal): Update prototypes.
   3925 
   3926 	* glib/dbus-gvalue.c: Update all marshalling functions to take
   3927 	const GValue instead of GValue.
   3928 	(signature_iter_to_g_type_array): Return a GPtrArray for nonfixed
   3929 	types.
   3930 	(dbus_gvalue_to_signature): Update for dbus_gtype_to_signature
   3931 	change.
   3932 	(dbus_gtype_to_signature): Handle generic collecitons and maps.
   3933 	Return a newly-allocated string.
   3934 	(demarshal_proxy, demarshal_object_path, demarshal_object)
   3935 	(demarshal_strv, demarshal_ghashtable): Set error, don't assert if
   3936 	we get the wrong types from message.
   3937 	(get_type_demarshaller): New function, extracted from
   3938 	dbus_gvalue_demarshal.
   3939 	(demarshal_collection): New function, demarshals generic
   3940 	collection.
   3941 	(dbus_gvalue_demarshal): Just invoke result of
   3942 	get_type_demarshaller.  Throw error if we don't have one.
   3943 	(marshal_garray_basic): Abort on OOM.
   3944 	(get_type_marshaller): New function, extracted from
   3945 	dbus_gvalue_marshal.
   3946 	(collection_marshal_iterator, marshal_collection): New functions;
   3947 	implements generic marshalling for an iteratable specialized
   3948 	collection.
   3949 	(dbus_gvalue_marshal): Just invoke result of get_type_marshaller.
   3950 
   3951 	* glib/dbus-gvalue-utils.c (gvalue_from_ptrarray_value): Handle
   3952 	G_TYPE_STRING.
   3953 	(ptrarray_value_from_gvalue): Ditto.
   3954 	(ptrarray_append, ptrarray_free): New functions.
   3955 	(slist_constructor, slist_iterator, slist_copy_elt, slist_copy) 
   3956 	(slist_append, slist_end_append, slist_free): New functions.
   3957 	(dbus_g_type_specialized_builtins_init): Add append fuctions
   3958 	for GPtrArray and GSList.  Register GSList.
   3959 	(test_specialized_hash, _dbus_gvalue_utils_test): New functions.
   3960 
   3961 	* glib/dbus-gtype-specialized.h (DBusGTypeSpecializedAppendContext):
   3962 	New.
   3963 	(dbus_g_type_specialized_collection_init_append)
   3964 	(dbus_g_type_specialized_collection_append)
   3965 	(dbus_g_type_specialized_collection_end_append): Prototype.
   3966 	(DBusGTypeSpecializedCollectionVtable): Add append_func and
   3967 	end_append_func.
   3968 
   3969 	* glib/dbus-gtype-specialized.c (dbus_g_type_specialized_collection_init_append) 
   3970 	(dbus_g_type_specialized_collection_append) 
   3971 	(dbus_g_type_specialized_collection_end_append): New functions.
   3972 	(dbus_g_type_map_value_iterate): Take const GValue.
   3973 	(dbus_g_type_collection_value_iterate): Ditto.
   3974 
   3975 	* glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
   3976 	_dbus_gvalue_utils_test.
   3977 	
   3978 	* glib/dbus-gtest.h: Prototype it.
   3979 
   3980 	* glib/dbus-gproxy.c (dbus_g_proxy_manager_filter): Avoid
   3981 	using uninitialized owner_list.
   3982 	(dbus_g_proxy_begin_call_internal): Move return_if_fail to
   3983 	public API.
   3984 	(dbus_g_proxy_end_call_internal): Update to use error set
   3985 	from dbus_gvalue_demarshal instead of setting it here.
   3986 	(dbus_g_proxy_begin_call): Move return_if_fail here.
   3987 
   3988 	* glib/dbus-gobject.c (write_interface): Update for
   3989 	dbus_gtype_to_signature returning new string.
   3990 
   3991 	* configure.in: Add glib/examples/statemachine.
   3992 
   3993 2005-07-08  Joe Shaw  <joeshaw (a] novell.com>
   3994 
   3995 	* configure.in: Add a configure option, --with-console-auth-dir
   3996 	
   3997 	* dbus/dbus-sysdeps-util.c (_dbus_user_at_console): Use the
   3998 	new setting.  Patch from Kay Sievers.
   3999 
   4000 2005-07-06  Colin Walters  <walters (a] verbum.org>
   4001 
   4002 	* dbus/dbus-glib.h (DBusGPendingCall, DBusGPendingCallNotify)
   4003 	(DBUS_TYPE_G_PENDING_CALL, dbus_g_pending_call_get_g_type)
   4004 	(dbus_g_pending_call_ref, dbus_g_pending_call_unref): Delete.
   4005 	(dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel):
   4006 	Delete in favor of dbus_g_proxy_begin_call and
   4007 	dbus_g_proxy_cancel_call.
   4008 	(DBusGProxyCall, DBusGProxyCallNotify): New.
   4009 	(dbus_g_proxy_begin_call): Change prototype to take callback, user
   4010 	data, and destroy function.  This replaces
   4011 	dbus_g_pending_call_set_notify.
   4012 	(dbus_g_proxy_cancel_call): Prototype.
   4013 	(DBusGAsyncData): Delete, shouldn't be needed anymore.
   4014 
   4015 	* glib/dbus-gproxy.c (struct _DBusGProxy): Add call_id_counter and
   4016 	pending_calls map.
   4017 	(struct _DBusGProxyManager): Add bus_proxy member, which is an
   4018 	internal proxy for calls to the bus. Remove
   4019 	pending_nameowner_calls, now the internal proxy keeps track.
   4020 	(dbus_g_proxy_manager_unref): Unref bus proxy, remove reference to
   4021 	pending_nameowner_calls.
   4022 	(got_name_owner_cb): Update prototype, and use
   4023 	dbus_g_proxy_end_call.
   4024 	(got_name_owner_cb): Remove reference to pending_nameowner_calls.
   4025 	(dbus_g_proxy_manager_register): Delete directly libdbus code in
   4026 	favor of using internal proxy.
   4027 	(dbus_g_proxy_manager_unregister): Update to use
   4028 	dbus_g_proxy_cancel_call for any pending GetNameOwner call.
   4029 	(dbus_g_proxy_init): Initialize pending calls map.
   4030 	(dbus_g_proxy_constructor): New.
   4031 	(dbus_g_proxy_class_init): Add get/set property functions,
   4032 	constructor, and add NAME, PATH, and INTERFACE properties.
   4033 	(cancel_pending_call): New function.
   4034 	(dbus_g_proxy_dispose): Iterate over any outstanding calls and
   4035 	cancel them.
   4036 	(dbus_g_proxy_set_property, dbus_g_proxy_get_property): New.
   4037 	(GPendingNotifyClosure): New structure.
   4038 	(d_pending_call_notify, d_pending_call_free): Moved here from
   4039 	dbus-glib.c.
   4040 	(DBUS_G_VALUE_ARRAY_COLLECT_ALL): Moved around to satisfy function
   4041 	ordering.
   4042 	(manager_begin_bus_call): New internal function for talking to
   4043 	internal bus proxy.
   4044 	(dbus_g_proxy_new): Construct object using GObjet properties.
   4045 	(dbus_g_proxy_begin_call_internal): Update to take user data, etc.
   4046 	Create closure of same, and insert call into map of pending calls.
   4047 	(dbus_g_proxy_end_call_internal): Take call id instead of pending
   4048 	call.  Look up pending call in current set.  Remove it when we've
   4049 	completed.
   4050 	(dbus_g_pending_call_end, dbus_g_proxy_end_call_internal): Delete.
   4051 	(dbus_g_proxy_begin_call): Change API to take callback, user data,
   4052 	and destroy function directly.
   4053 	(dbus_g_proxy_end_call): Update to take DBusGProxyCall.
   4054 	(dbus_g_proxy_call): Invoke with NULL callback.
   4055 	(dbus_g_proxy_cancel_call): New function, replaces
   4056 	dbus_g_pending_call_cancel.
   4057 
   4058 	* glib/dbus-gparser.c (validate_signature): Fix call to
   4059 	dbus_set_g_error.
   4060 
   4061 	* glib/dbus-gobject.c (dbus_g_object_type_dbus_metadata_quark):
   4062 	New quark for attaching metadata to GType.
   4063 	(info_hash): Delete.
   4064 	(lookup_object_info): Look up using quark.
   4065 	(dbus_g_object_type_install_info): Check that a type is classed,
   4066 	not that it's an object.  Also just install type data using quark
   4067 	instead of using global hash.
   4068 
   4069 	* glib/dbus-glib.c (dbus_g_pending_call_ref) 
   4070 	(dbus_g_pending_call_unref, dbus_pending_call_get_g_type)
   4071 	(GPendingNotifyClosure): Delete.
   4072 	(d_pending_call_notify, d_pending_call_free): Move to dbus-gproxy.c.
   4073 	(dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel): Delete.
   4074 
   4075 	* glib/dbus-binding-tool-glib.c (generate_client_glue): Disable async
   4076 	client method generation until we can fix it...
   4077 	
   4078 	* tools/dbus-viewer.c (load_child_nodes): Use dbus_g_proxy_call.
   4079 	(load_from_service_thread_func): Ditto.
   4080 
   4081 	* tools/dbus-names-model.c (struct NamesModel): Hold
   4082 	DBusGProxyCall.
   4083 	(have_names_notify): Update prototype, use
   4084 	dbus_g_proxy_cancel_call.
   4085 	(names_model_reload): Update for new dbus_g_proxy_begin_call API.
   4086 
   4087 	* tools/dbus-monitor.c (filter_func): Update for print_message
   4088 	API change.
   4089 
   4090 	* test/glib/test-dbus-glib.c: Add more tests for async
   4091 	invocations.  Update many begin_call/end_call pairs to just use
   4092 	dbus_g_proxy_call.
   4093 
   4094 	* tools/dbus-send.c (main): Add --print-reply=literal mode.  This
   4095 	allows us to dump print-introspect.c.
   4096 
   4097 	* tools/dbus-print-message.h (print_message): Add literal argument
   4098 	to print_message which is intended to allow printing arguments without
   4099 	metadata like "string=".
   4100 
   4101 	* tools/dbus-print-message.c (print_iter): Add literal argument.
   4102 	(print_message): Allow printing string messages literally.
   4103 
   4104 2005-07-05  Colin Walters  <walters (a] verbum.org>
   4105 
   4106 	* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
   4107 	Remove value refcount leak, original patch from Jorn Baayen
   4108 	<jorn (a] openedhand.com>.  Also remove useless extra value in favor
   4109 	of prepending to value array directly.
   4110 
   4111 2005-07-02  Colin Walters  <walters (a] verbum.org>
   4112 
   4113 	* glib/dbus-gmain.c (_dbus_gmain_test): Fix test.
   4114 
   4115 2005-07-01  Colin Walters  <walters (a] verbum.org>
   4116 
   4117 	Patch from Jonathan Matthew <jonathan (a] kaolin.hn.org>
   4118 	
   4119 	* glib/dbus-gvalue.c (basic_typecode_to_gtype): Fix return type.
   4120 	(dbus_g_value_types_init): Marshal G_TYPE_CHAR as DBUS_TYPE_BYTE,
   4121 	G_TYPE_LONG as DBUS_TYPE_INT32, G_TYPE_ULONG as DBUS_TYPE_UINT32,
   4122 	and G_TYPE_FLOAT as DBUS_TYPE_DOUBLE.
   4123 
   4124 2005-06-30  Colin Walters  <walters (a] verbum.org>
   4125 
   4126 	* test/glib/test-dbus-glib.c:
   4127 	* test/glib/test-service-glib.c:
   4128 	* test/glib/test-service-glib.xml: Update tests for new error
   4129 	setting bits, also add async tests (patch from Ross Burton).
   4130 
   4131 	* test/glib/Makefile.am (test_service_glib_LDADD): Add
   4132 	DBUS_GLIB_THREADS_LIBS.
   4133 
   4134 	* glib/dbus-gproxy.c (get_name_owner)
   4135 	(dbus_g_pending_call_end_valist): Ditto.
   4136 
   4137 	* glib/dbus-gobject.c (error_metadata): New mapping from GError
   4138 	domain (GQuark) to DBusGErrorInfo.  
   4139 	(gerror_domaincode_to_dbus_error_name): Attempt to look up error
   4140 	quark in error_metadata.  Take message interface as default
   4141 	error message interface.
   4142 	(gerror_to_dbus_error_message): Pass message interface.
   4143 	(dbus_set_g_error): Resurrected.
   4144 	(dbus_g_error_info_free): New function.
   4145 	(dbus_g_object_type_install_info): Use g_type_class_ref instead
   4146 	of _peek to actually create the object class if it hasn't been
   4147 	created yet.
   4148 	(dbus_g_error_domain_register): New function.
   4149 
   4150 	* glib/dbus-gmain.c (dbus_g_bus_get): Switch to dbus_set_g_error.
   4151 
   4152 	* glib/dbus-gparser.c (validate_signature): Ditto.
   4153 
   4154 	* dbus/dbus-glib.h (dbus_g_error_set): Delete.
   4155 	(dbus_g_error_domain_register): Prototype.
   4156 
   4157 	* glib/dbus-glib.c (dbus_g_error_set): Delete.
   4158 	Update tests.
   4159 
   4160 2005-06-29  Colin Walters  <walters (a] verbum.org>
   4161 
   4162 	* dbus/dbus-glib.h: Delete DBUS_TYPE_G_PROXY_ARRAY.  Add
   4163 	DBUS_TYPE_G_OBJECT_PATH.
   4164 
   4165 	* glib/dbus-gvalue.c (dbus_g_value_types_init): Remove marshallers
   4166 	for G_TYPE_OBJECT and DBUS_TYPE_G_PROXY_ARRAY (the latter should
   4167 	be handled more generically).  Add DBUS_TYPE_G_OBJECT_PATH.
   4168 	(dbus_g_object_path_get_g_type): New function.
   4169 	(dbus_gtype_from_signature_iter): Map DBUS_TYPE_OBJECT_PATH
   4170 	to DBUS_TYPE_G_OBJECT_PATH by default.
   4171 	(demarshal_proxy): Remove unused name variable.
   4172 	(demarshal_object_path, marshal_object_path): New functions.
   4173 	(demarshal_proxy_array, marshal_proxy_array): Delete.
   4174 	
   4175 	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_c_name): Map
   4176 	DBUS_TYPE_G_OBJECT_PATH to char *.
   4177 	(dbus_g_type_get_lookup_function): Map builtin
   4178 	DBUS_TYPE_G_OBJECT_PATH.
   4179 
   4180 	* test/glib/test-dbus-glib.c
   4181 	* test/glib/test-service-glib.c (my_object_objpath): 
   4182 	Adapt tests to new object path marshalling.
   4183 
   4184 2005-06-29  John (J5) Palmieri  <johnp (a] redhat.com>
   4185 
   4186 	* configure.in: force check for Python >= 2.4
   4187 
   4188 2005-06-29  Colin Walters  <walters (a] verbum.org>
   4189 	
   4190 	Patch from Ross Burton <ross (a] openedhand.com>
   4191 	
   4192 	* glib/dbus-gobject.c (invoke_object_method): Unset object
   4193 	value in all cases, not only in async case.
   4194 
   4195 2005-06-29  Colin Walters  <walters (a] verbum.org>
   4196 
   4197 	* glib/dbus-gproxy.c (struct _DBusGProxy): Add new member
   4198 	name_call for keeping track of any outgoing GetNameOwner call.
   4199 	Also add for_owner and associated.
   4200 	(struct _DBusGProxyManager): Add owner_names, which is hash table
   4201 	that maps a base name to a list of names it owns (that we're
   4202 	interested in).  Add pending_nameowner_calls which is a list of
   4203 	all outstanding GetNameOwner; avoids us having to iterate over
   4204 	every proxy.  Add unassociated_proxies which keeps track of name
   4205 	proxies with no associated name owner.
   4206 	(dbus_g_proxy_manager_unref): Destroy owner_names.
   4207 	(struct DBusGProxyNameOwnerInfo): New struct for keeping track of
   4208 	name refcounts.
   4209 	(find_name_in_info, name_owner_foreach)
   4210 	(dbus_g_proxy_manager_lookup_name_owner, insert_nameinfo)
   4211 	(dbus_g_proxy_manager_monitor_name_owner)
   4212 	(dbus_g_proxy_manager_unmonitor_name_owner)
   4213 	(unassociate_proxies, dbus_g_proxy_manager_replace_name_owner):
   4214 	New functions; they manipulate the owner_names mapping.
   4215 	(got_name_owner_cb): New function.
   4216 	(get_name_owner): New function, extracted from
   4217 	dbus_g_proxy_new_for_name_owner.
   4218 	(dbus_g_proxy_manager_register): For now we need to keep track of
   4219 	all NameOwnerChanged.  Also if the proxy is for a name, if we
   4220 	don't already know the name owner, queue a new GetNameOwner
   4221 	request and add it to our list of unassociated proxies.  Otherwise
   4222 	inc the refcount.
   4223 	(dbus_g_proxy_manager_unregister): If this proxy is for a name,
   4224 	cancel any pending GetNameOwner call, etc.
   4225 	(dbus_g_proxy_manager_filter): Handle NameOwnerChanged.  Also use
   4226 	the owner_names mapping to look up the current names for the
   4227 	signal source, and dispatch to any proxies for that name.
   4228 	(dbus_g_proxy_new): Initialize new members.
   4229 	(dbus_g_proxy_new_for_name): Delete unused proxy variable.
   4230 	(dbus_g_proxy_new_for_name_owner): Use get_name_owner.
   4231 	(dbus_g_pending_call_end_valist): New function, extracted from
   4232 	dbus_g_proxy_end_call_internal.  Useful when we don't have a proxy
   4233 	but want to use the GLib infrastructure.  Also note how many
   4234 	arguments in reply were over.
   4235 	(dbus_g_pending_call_end): New function, just call
   4236 	dbus_g_pending_call_end_valist.
   4237 	(dbus_g_proxy_end_call_internal): Just call
   4238 	dbus_g_pending_call_end_valist.
   4239 
   4240 	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Fix lookup
   4241 	of builtin marshaller for STRING_STRING_STRING.
   4242 
   4243 	* test/glib/test-dbus-glib.c: 
   4244 	* test/glib/test-service-glib.c:
   4245 	* test/glib/test-service-glib.xml:
   4246 	Extend tests to cover name proxies, destruction of owner proxies,
   4247 	etc.
   4248 	
   4249 	* glib/examples/example-signal-recipient.c
   4250 	(dbus_g_proxy_new_for_name_owner): Create a name proxy.
   4251 	
   4252 	* tools/dbus-send.c (main): Print D-BUS error name in addition
   4253 	to message.
   4254 
   4255 2005-06-28  John (J5) Palmieri  <johnp (a] redhat.com>
   4256 
   4257 	* python/dbus_bindings.pyx.in (cunregister_function_handler,
   4258 	cmessage_function_handler): Patch from 
   4259 	Anthony Baxter <anthony (a] interlink.com.au> fixes threading problems
   4260 	by using the Py_GILState_Ensure/Release to synchronize with the
   4261 	python runtime.
   4262 	
   4263 2005-06-28  Ray Strode  <rstrode (a] redhat.com>
   4264 
   4265 	*  dbus/dbus-spawn.c (_dbus_babysitter_unref): kill
   4266 	babysitter helper process on last unref, bug #2813.
   4267 
   4268 2005-06-27  Colin Walters  <walters (a] verbum.org>
   4269 
   4270 	* test/glib/test-dbus-glib.c: 
   4271 	* test/glib/test-service-glib.c:
   4272 	* test/glib/test-service-glib.xml:
   4273 	Test hash table signal emitting.
   4274 
   4275 	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Convert
   4276 	types to their fundamental basis types, since this is what
   4277 	marshallers operate on.  Also add an entry for VOID__BOXED.
   4278 	(dbus_g_object_register_marshaller_array): Convert to fundamental.
   4279 
   4280 2005-06-26  Havoc Pennington  <hp (a] redhat.com>
   4281 
   4282 	* doc/dbus-tutorial.xml: fix names of interface/service/path, fix
   4283 	from Don Park
   4284 
   4285 2005-06-26  Colin Walters  <walters (a] verbum.org>
   4286 
   4287 	* glib/dbus-glib.c (dbus_set_g_error): Delete.
   4288 	(dbus_g_error_set): New public function from its ashes; used by
   4289 	both service-side method implementation and GLib bindings
   4290 	internals.
   4291 	(dbus_g_error_has_name, dbus_g_error_get_name): New function.
   4292 	(_dbus_glib_test): Add some tests.
   4293 
   4294 	* test/glib/test-dbus-glib.c (main): Test dbus_g_error_has_name.
   4295 
   4296 	* test/glib/test-service-glib.c (my_object_throw_error): Use
   4297 	dbus_g_error_set.
   4298 
   4299 	* glib/dbus-gobject.c (gerror_to_dbus_error_message): Handle
   4300 	errors thrown by dbus_g_error_set.
   4301 
   4302 	* glib/dbus-gmain.c (dbus_g_bus_get): Change to dbus_g_error_set.
   4303 
   4304 	* glib/dbus-gparser.c (validate_signature): Ditto.
   4305 
   4306 	* glib/dbus-gproxy.c (dbus_g_proxy_new_for_name_owner) 
   4307 	(dbus_g_proxy_end_call_internal): Ditto.
   4308 
   4309 	* glib/Makefile.am: Generate dbus-glib-error-switch.h, which
   4310 	converts DBUS_ERROR_x to DBUS_GERROR_x.
   4311 	(libdbus_glib_1_la_SOURCES, BUILT_SOURCES, CLEANFILES): Add it.
   4312 
   4313 	* doc/TODO: Remove error TODO.
   4314 
   4315 	* doc/dbus-tutorial.xml: Update with documentation about error
   4316 	handling.
   4317 
   4318 	* dbus/make-dbus-glib-error-enum.sh: Tighten up regexp to make
   4319 	sure we only change DBUS_ERROR to DBUS_GERROR, not all ERROR to
   4320 	GERROR.  Also add DBUS_GERROR_REMOTE_EXCEPTION.
   4321 
   4322 2005-06-22  Colin Walters  <walters (a] verbum.org>
   4323 	
   4324 	Patch from Ross Burton <ross (a] openedhand.com>
   4325 
   4326 	* glib/dbus-gobject.c (dbus_g_method_return): Free out_sig.
   4327 
   4328 2005-06-20  Colin Walters  <walters (a] verbum.org>
   4329 
   4330 	* configure.in: Add glib/examples.
   4331 
   4332 	* glib/Makefile.am: Add examples/
   4333 
   4334 	* glib/examples/.cvsignore
   4335 	* glib/examples/Makefile.am
   4336 	* glib/examples/example-client.c
   4337 	* glib/examples/example-service.c
   4338 	* glib/examples/example-service.xml
   4339 	* glib/examples/example-signal-emitter.c
   4340 	* glib/examples/example-signal-emitter.xml
   4341 	* glib/examples/example-signal-recipient.c:
   4342 	New files; GLib binding examples, ported from
   4343 	python/examples.
   4344 
   4345 2005-06-20  Colin Walters  <walters (a] verbum.org>
   4346 
   4347 	* dbus/dbus-glib.h: 
   4348 	* glib/dbus-gproxy.c: Rename dbus_g_proxy_invoke to
   4349 	dbus_g_proxy_call.
   4350 
   4351 	* glib/dbus-binding-tool-glib.c: 
   4352 	* doc/dbus-tutorial.xml: 
   4353 	* test/glib/test-dbus-glib.c: Update for rename.
   4354 	
   4355 2005-06-20  Colin Walters  <walters (a] verbum.org>
   4356 
   4357 	Patch suggested by Ross Burton <ross (a] openedhand.com>
   4358 
   4359 	* glib/dbus-gobject.c (export_signals): Free signal name.
   4360 	(g_value_init): Use G_VALUE_NOCOPY_CONTENTS to plug
   4361 	memory leak.  Add a bit of documentation.
   4362 	(dbus_g_method_return_error): Free context, and note we do
   4363 	so.
   4364 
   4365 2005-06-18  Murray Cumming  <murrayc (a] murrayc.com>
   4366 
   4367 	* dbus/dbus-glib.h:
   4368 	* glib/dbus-gobject.c:
   4369 	* glib/dbus-gproxy.c:
   4370 	* glib/dbus-gvalue.c: Predeclare structs as 
   4371 	typedef struct _Something Something instead of 
   4372   	typedef struct Something Something, so we can 
   4373 	redeclare the prototypes. Other GNOME libraries 
   4374 	do this already.
   4375 
   4376 2005-06-17  Colin Walters  <walters (a] verbum.org>
   4377 
   4378 	* tools/dbus-names-model.c (have_names_notify): Fix call
   4379 	to dbus_g_proxy_end_call.
   4380 	
   4381 2005-06-17  Colin Walters  <walters (a] verbum.org>
   4382 
   4383 	* glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): Don't
   4384 	spew warnings if we get malformed remote signals.
   4385 
   4386 	* glib/dbus-gobject.c (propsig_iterate): New function.
   4387 	(lookup_object_info): New function, extracted from
   4388 	lookup_object_and_method.
   4389 	(introspect_properties, introspect_signals): Delete; these
   4390 	are merged into write_interface.
   4391 	(write_interface): Write out signals and properties here;
   4392 	dump the org.gtk.object stuff and use the interface given
   4393 	in the introspection data blob.  Also fix up property XML.
   4394 	(lookup_values): New function.
   4395 	(introspect_interfaces): Gather a mapping from interface to a
   4396 	list of its methods, signals, and properties, then write out
   4397 	each interface.
   4398 	(lookup_object_and_method): Use lookup_object_info.
   4399 	(struct DBusGSignalClosure): Add interface.
   4400 	(dbus_g_signal_closure_new): Add interface. Don't dup signame;
   4401 	we can just use the constant data.
   4402 	(dbus_g_signal_closure_finalize): Don't free signal name.
   4403 	(signal_emitter_marshaller): Use interface from signal closure.
   4404 	(export_signals): Only export signals mentioned in introspection
   4405 	blob.
   4406 	(dbus_g_connection_register_g_object): Warn if we have no
   4407 	introspection data for an object.
   4408 	(funcsig_equal): Remove unused variable.
   4409 	(dbus_g_object_register_marshaller): Take varargs instead of
   4410 	list.
   4411 	(dbus_g_object_register_marshaller_array): New function,
   4412 	extracted from old dbus_g_object_register_marshaller.
   4413 
   4414 	* glib/dbus-binding-tool-glib.c (struct DBusBindingToolCData): Add
   4415 	signals and property data.
   4416 	(write_quoted_string): New function, extracted from generate_glue.
   4417 	(generate_glue): Write signals and properties to introspection
   4418 	blob.
   4419 
   4420 	* dbus/dbus-glib.h (struct DBusGObjectInfo): Include
   4421 	exported_signals and exported_properties.
   4422 	(dbus_g_object_register_marshaller): Update prototype.
   4423 	(dbus_g_object_register_marshaller_array): Prototype.
   4424 	
   4425 	* test/glib/test-dbus-glib.c: Extend testing to cover new signals.
   4426 
   4427 	* test/glib/test-service-glib.c: Add new test signals and method
   4428 	to emit them.
   4429 
   4430 	* test/glib/test-service-glib.xml: Add some test signals.
   4431 
   4432 	* test/glib/Makefile.am (BUILT_SOURCES): Add my-object-marshal.c
   4433 	and my-object-marshal.h
   4434 	(test_service_glib_SOURCES, test_dbus_glib_SOURCES): Add
   4435 	my-object-marshal.c.
   4436 	(my-object-marshal.c, my-object-marshal.h): Implement.
   4437 
   4438 	* test/glib/.cvsignore: Update.
   4439 
   4440 	* doc/TODO: Remove two GLib TODO items fixed by this
   4441 	patch.
   4442 
   4443 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4444 
   4445 	* doc/TODO: Update for GLib bindings.
   4446 	
   4447 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4448 
   4449 	* glib/dbus-binding-tool-glib.c:
   4450 	* glib/dbus-gobject.c:
   4451 	* glib/dbus-gproxy.c:  Add Nokia copyright; Patch
   4452 	from Ross Burton, for his GLib bindings work.
   4453 
   4454 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4455 
   4456 	* glib/dbus-gobject.c (funcsig_hash, funcsig_equal): Use n_params
   4457 	to iterate instead of walking to G_TYPE_INVALID.
   4458 
   4459 	Patch based on a patch from Ryan Gammon.
   4460 
   4461 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4462 
   4463 	* bus/bus.c (bus_context_new): Set parser to NULL
   4464 	after we unref it (Patch from Chris Boscolo, #2174).
   4465 	
   4466 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4467 
   4468 	* python/dbus_bindings.pyx.in: Import size_t,
   4469 	__int64_t, __uint64_t, and __signed.
   4470 
   4471 	* dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (write_credentials_byte):
   4472 	Define cmsg struct, output it.
   4473 	(_dbus_read_credentials_unix_socket):
   4474 	Use cmsg struct.
   4475 	
   4476 	Patch from Joe Markus Clarke for FreeBSD support.
   4477 	
   4478 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4479 
   4480 	* tools/dbus-send.c (append_array): Use strtok.
   4481 	(append_dict): New function.
   4482 	(type_from_name): New function, extracted from main.
   4483 	(main): Handle sending dicts.
   4484 
   4485 	* tools/dbus-print-message.c (print_iter): Print dict
   4486 	entries.
   4487 	
   4488 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4489 
   4490 	* glib/dbus-gvalue.c (marshal_basic): Marshal NULL string
   4491 	values as the empty string (#2948).
   4492 	
   4493 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4494 
   4495 	* dbus/Makefile.am:
   4496 	* mono/doc/Makefile.am:
   4497 	* test/glib/Makefile.am:
   4498 
   4499 	Fix srcdir != builddir issues (Patch from Chris Wilson, #3477)
   4500 
   4501 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4502 
   4503 	* dbus/dbus-marshal-header.c (_dbus_header_load): Set
   4504 	header byte order from expected byte order (Patch from Chris Wilson, #3475).
   4505 
   4506 	* dbus/dbus-marshal-byteswap.c (byteswap_body_helper): 
   4507 	Increment pointer after swapping fixed array.  Add assertion
   4508 	for array length.
   4509 		
   4510 2005-06-15  Colin Walters  <walters (a] verbum.org>
   4511 
   4512 	* dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (_dbus_read_credentials_unix_socket):
   4513 	Fix call to dbus_set_error.  (Patch from Michael Banck, #3461)
   4514 	
   4515 2005-06-15  John (J5) Palmieri  <johnp (a] redhat.com>
   4516 
   4517 	* NEWS: Update to 0.34
   4518 
   4519 2005-06-15  David Zeuthen  <davidz (a] redhat.com>
   4520 
   4521 	* configure.in (LT_CURRENT): Revert back to 1 as the library
   4522 	hasn't changed and we've certainly not committed to protocol
   4523 	stability yet.  All this does is to break ABI. See commit note
   4524 	from hp (a] redhat.com 2005-05-05 for details.
   4525 	
   4526 2005-06-15  John (J5) Palmieri  <johnp (a] redhat.com>
   4527 
   4528 	* dbus/dbus-connection.c (_dbus_connection_peer_filter): New method 
   4529 	(_dbus_connection_run_builtin_filters): New method
   4530 	(dbus_connection_dispatch): Run the builtin filters which in turn
   4531 	runs the peer filter which handles Ping messages.
   4532 
   4533 	* doc/TODO: 
   4534 	 - Ping isn't handled: This patch fixes it
   4535 	 
   4536 	 - Add a test case for the Ping message: added TODO item
   4537 
   4538 2005-06-15  John (J5) Palmieri  <johnp (a] redhat.com>
   4539 
   4540 	* dbus/dbus-message.c:
   4541 	(dbus_message_has_path): New method
   4542 	(dbus_message_has_interface): New method
   4543 	(dbus_message_has_member): New method
   4544 
   4545 	* dbus/dbus/dbus-sysdeps.c (_dbus_check_dir_is_private_to_user):
   4546 	New method
   4547 
   4548 	* dbus/dbus-keyring.c (_dbus_keyring_reload): Check to see that 
   4549 	the keyring directory is private to the user
   4550 
   4551 	* doc/TODO:
   4552 	 - The convenience functions in dbus-bus.h should perhaps have
   4553 	 the signatures that they would have if they were autogenerated
   4554 	 stubs. e.g. the acquire service function. We should also evaluate
   4555 	 which of these functions to include, in light of the fact that
   4556 	 GLib/Qt native stubs will probably also exist.: Punted
   4557 
   4558 	 - add dbus_message_has_path(), maybe has_member/interface:
   4559 	 fixed in this patch
   4560 
   4561 	 - in dbus-keyring.c, enforce that the keyring dir is not
   4562 	 world readable/writable: Fixed in this patch
   4563 
   4564 2005-06-15  John (J5) Palmieri  <johnp (a] redhat.com>
   4565 
   4566 	* dbus/dbus-marshal-validate.h: Added a new validation
   4567 	error code DBUS_VALIDITY_UNKNOWN_OOM_ERROR = -4 for 
   4568 	out of memory errors when validating signitures
   4569 
   4570 	* dbus/dbus-marshal-header.c: use DBUS_VALIDITY_UNKNOWN_OOM_ERROR
   4571 	in places where we previously used DBUS_VALID and a FALSE return 
   4572 	value to indicate OOM
   4573 	
   4574 	* dbus/dbus-marshal-validate.c (_dbus_validate_signature_with_reason):
   4575 	Use a stack to track the number of elements inside containers.  The 
   4576 	stack values are then used to validate that dict entries have only two
   4577 	elements within them.
   4578 	(validate_body_helper): check the reason for failure when validating
   4579 	varients
   4580 	
   4581 	* dbus/dbus-message.c (load_message): use 
   4582 	DBUS_VALIDITY_UNKNOWN_OOM_ERROR in places where we previously used 
   4583 	DBUS_VALID and a FALSE return value to indicate OOM
   4584 
   4585 	* doc/TODO: remove "- validate dict entry number of fields" as this
   4586 	patch fixes it
   4587 
   4588 2005-06-14  David Zeuthen  <davidz (a] redhat.com>
   4589 
   4590 	* bus/bus.c (process_config_every_time): Drop existing conf-dir
   4591 	watches (if applicable) and add new watches
   4592 
   4593 	* bus/main.c (signal_handler): Handle SIGIO if using D_NOTIFY
   4594 	(main): Setup SIGIO signal handler if using D_NOTIFY
   4595 
   4596 	* bus/config-parser.h: Add prototype bus_config_parser_get_conf_dirs
   4597 
   4598 	* bus/config-parser.c (struct BusConfigParser): Add conf_dirs list
   4599 	(merge_included): Also merge conf_dirs list
   4600 	(bus_config_parser_unref): Clear conf_dirs list
   4601 	(include_dir): Add directory to conf_dirs list
   4602 	(bus_config_parser_get_conf_dirs): New function
   4603 
   4604 	* bus/dir-watch.[ch]: New files
   4605 
   4606 	* bus/Makefile.am (BUS_SOURCES): Add dir-watch.[ch]
   4607 
   4608 	* configure.in: Add checks for D_NOTIFY on Linux
   4609 
   4610 2005-06-14  Colin Walters  <walters (a] verbum.org>
   4611 
   4612 	* glib/dbus-binding-tool-glib.c:
   4613 	* glib/dbus-gobject.c:
   4614 	* glib/dbus-gvalue.c: Fix indentation and brace style.
   4615 	
   4616 2005-06-14  Ross Burton <ross (a] openedhand.com>.
   4617 
   4618 	* glib/dbus-glib.h: Make DBusGMethodInvocation
   4619 	a private structure.  Rearrange prototypes a bit.
   4620 	
   4621 	* glib/dbus-gproxy.c (dbus_g_proxy_invoke): Add
   4622 	documentation for first_arg_type.
   4623 	
   4624 	* glib/dbus-gobject.c: Move DBusGMethodInvocation
   4625 	here, add documentation.  Move dbus_g_method_return
   4626 	and dbus_g_method_return_error into public API
   4627 	section.
   4628 
   4629 2005-06-14  Colin Walters  <walters (a] verbum.org>
   4630 
   4631 	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller):
   4632 	Add missing return statements, noticed by Ross Burton.
   4633 	
   4634 2005-06-13  Ross Burton <ross (a] openedhand.com>.
   4635 
   4636 	* glib/dbus-gobject.c: Handle errors on message
   4637 	demarshalling by sending error message back.
   4638 	* glib/dbus-gvalue.c: Initialize return variables.
   4639 
   4640 2005-06-13  Colin Walters  <walters (a] verbum.org>
   4641 
   4642 	* glib/Makefile.am: Fix thinko in last patch.
   4643 
   4644 2005-06-13  Colin Walters  <walters (a] verbum.org>
   4645 
   4646 	* glib/Makefile.am: Move dbus-gtype-specialized.c
   4647 	and dbus-gtype-specialized.h into a _HEADERS variable,
   4648 	install them.
   4649 
   4650 2005-06-12  Colin Walters  <walters (a] verbum.org>
   4651 
   4652 	Async signals and various bugfixes and testing by
   4653 	Ross Burton <ross (a] openedhand.com>.
   4654 
   4655 	* glib/dbus-gvalue.h: (struct DBusBasicGValue): Delete.
   4656 	(dbus_gvalue_genmarshal_name_from_type)
   4657 	(dbus_gvalue_ctype_from_type): Moved to dbus-binding-tool-glib.c.
   4658 	(dbus_gtype_to_dbus_type): Renamed to dbus_gtype_from_signature.
   4659 	(dbus_g_value_types_init, dbus_gtype_from_signature)
   4660 	(dbus_gtype_from_signature_iter, dbus_gtype_to_signature)
   4661 	(dbus_gtypes_from_arg_signature): New function prototypes.
   4662 	(dbus_gvalue_demarshal): Take context and error arguments.
   4663 	(dbus_gvalue_demarshal_variant): New function.
   4664 	(dbus_gvalue_demarshal_message): New function.
   4665 	(dbus_gvalue_store): Delete.
   4666 
   4667 	* glib/dbus-gvalue.c:
   4668 
   4669 	File has been almost entirely rewritten; now we special-case
   4670 	more types such as DBUS_TYPE_SIGNATURE, handle arrays and
   4671 	hash tables correctly, etc.  Full support for recursive values
   4672 	is not yet complete.
   4673 
   4674 	* glib/dbus-gproxy.c (dbus_g_proxy_class_init): Change last
   4675 	argument of signal to G_TYPE_POINTER since we now pass a
   4676 	structure.
   4677 	(lookup_g_marshaller): Delete in favor of
   4678 	_dbus_gobject_lookup_marshaller.
   4679 	(marshal_dbus_message_to_g_marshaller): Use
   4680 	_dbus_gobject_lookup_marshaller and dbus_gvalue_demarshal_message
   4681 	to handle remote signal callbacks.
   4682 	(dbus_g_proxy_new_from_proxy): New function; creates a new
   4683 	DBusGProxy by copying an existing one.
   4684 	(dbus_g_proxy_get_interface, dbus_g_proxy_set_interface)
   4685 	(dbus_g_proxy_get_path): New functions.
   4686 	(dbus_g_proxy_marshal_args_to_message): New function;
   4687 	factored out of existing code.
   4688 	(DBUS_G_VALUE_ARRAY_COLLECT_ALL): Collect all arguments
   4689 	from a varargs array.
   4690 	(dbus_g_proxy_begin_call_internal): New function.
   4691 	(dbus_g_proxy_end_call_internal): New function.
   4692 	(dbus_g_proxy_begin_call): Take GTypes instead of DBus types
   4693 	as arguments; simply invoke dbus_g_proxy_begin_call_internal
   4694 	after collecting args into value array.
   4695 	(dbus_g_proxy_end_call): Take GTypes instead of DBus types;
   4696 	invoke dbus_g_proxy_end_call_internal.
   4697 	(dbus_g_proxy_invoke): Simply invoke begin_call_interanl and
   4698 	end_call_internal.
   4699 	(dbus_g_proxy_call_no_reply): Take GTypes instead of DBus
   4700 	types.
   4701 	(array_free_all): New function.
   4702 	(dbus_g_proxy_add_signal): Take GTypes.
   4703 
   4704 	* glib/dbus-gobject.h:
   4705 	(_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
   4706 	(_dbus_gobject_get_path, _dbus_gobject_lookup_marshaller):
   4707 	Prototype.
   4708 
   4709 	* glib/dbus-gobject.c: Add a global marshal_table hash which
   4710 	stores mappings from type signatures to marshallers.  Change lots
   4711 	of invocations of dbus_gtype_to_dbus_type to
   4712 	dbus_gtype_to_signature.
   4713 	(_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
   4714 	(introspect_signals): Fix test for query.return_type.
   4715 	(set_object_property): Update invocation of dbus_gvalue_demarshal.
   4716 	(invoke_object_method): Many changes.  Handle asynchronous
   4717 	invocations.  Convert arguments with
   4718 	dbus_gvalue_demarshal_message.  Handle errors.  Use
   4719 	DBusSignatureIter instead of strlen on args. Handle all arguments
   4720 	generically.  Special-case variants.
   4721 	(dbus_g_method_return, dbus_g_method_return_error): New function.
   4722 	(DBusGSignalClosure): New structure, closes over signal
   4723 	information.
   4724 	(dbus_g_signal_closure_new): New function.
   4725 	(dbus_g_signal_closure_finalize): New function.
   4726 	(signal_emitter_marshaller): New function; is special marshaller
   4727 	which emits signals on bus.
   4728 	(export_signals): New function; introspects object signals and
   4729 	connects to them.
   4730 	(dbus_g_object_type_install_info): Take GType instead of
   4731 	GObjectClass.
   4732 	(dbus_g_connection_register_g_object): Invoke export_signals.
   4733 	(dbus_g_connection_lookup_g_object): New function.
   4734 	(DBusGFuncSignature) New structure; used for mapping type
   4735 	signatures to marshallers.
   4736 	(funcsig_hash): New function; hashes DBusGFuncSignature.
   4737 	(funcsig_equal): New function; compares DBusGFuncSignature.
   4738 	(_dbus_gobject_lookup_marshaller): New function.
   4739 	(dbus_g_object_register_marshaller): New function; used to
   4740 	register a marshaller at runtime for a particular signature.
   4741 
   4742 	* glib/dbus-gmain.c (_dbus_gmain_test): Add various tests.
   4743 
   4744 	* glib/dbus-binding-tool-glib.h: Add DBUS_GLIB_ANNOTATION_ASYNC
   4745 	which notes a server method implementation should be
   4746 	asynchronous.
   4747 
   4748 	* glib/dbus-binding-tool-glib.c
   4749 	(dbus_binding_tool_output_glib_server): Call
   4750 	dbus_g_value_types_init.
   4751 	(write_formal_parameters): Use dbus_gtype_from_signature.  Handle
   4752 	variants specially.
   4753 	(dbus_g_type_get_lookup_function): Turn GType into an invocation
   4754 	of a lookup function.
   4755 	(write_args_for_direction): Use dbus_g_type_get_lookup_function.
   4756 	(write_untyped_out_args): New method; write output arguments.
   4757 	(write_formal_declarations_for_direction): Function for
   4758 	writing prototypes.
   4759 	(write_formal_parameters_for_direction): Function for
   4760 	writing implementations.
   4761 	(write_typed_args_for_direction): Function for writing
   4762 	arguments prefixed with GTypes.
   4763 	(write_async_method_client): Write out async version
   4764 	of method.
   4765 
   4766 	* glib/dbus-binding-tool-glib.c: Include dbus-gvalue-utils.h.
   4767 	(dbus_g_type_get_marshal_name): Move mapping from GType
   4768 	to marshal name into here.
   4769 	(dbus_g_type_get_c_name): Move into here.
   4770 	(compute_marshaller): Convert signature to type with
   4771 	dbus_gtype_from_signature, use dbus_g_type_get_marshal_name.
   4772 	(compute_marshaller_name): Ditto.
   4773 	(compute_marshaller): Handle async signal annotations.
   4774 	(gather_marshallers): Return if we don't have a known
   4775 	prefix.
   4776 	(generate_glue): Collect introspection blob here, and
   4777 	write all of the blob at the end.  This allows an object
   4778 	with multiple interfaces to work.
   4779 	Mark async methods in introspection blob.
   4780 
   4781 	* glib/Makefile.am (libdbus_glib_1_la_SOURCES): Add
   4782 	dbus-gtype-specialized.c, dbus-gtype-specialized.h,
   4783 	dbus-gvalue-utils.h, dbus-gvalue-utils.c.
   4784 
   4785 	* dbus/dbus-glib.h: Don't include dbus-protocol.h; this
   4786 	avoids people accidentally using DBUS_TYPE_* which should
   4787 	not be necessary anymore.
   4788 	Do include dbus-gtype-specialized.h, which are utilities
   4789 	for GLib container types.
   4790 	Add various #defines for types such as
   4791 	DBUS_TYPE_G_BOOLEAN_ARRAY.
   4792 	(DBusGValueIterator, DBusGValue): Define, not fully used
   4793 	yet.
   4794 	(dbus_g_value_get_g_type): Type for recursive value.
   4795 	(dbus_g_value_open, dbus_g_value_iterator_get_value)
   4796 	(dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
   4797 	(dbus_g_value_free): Prototypes.
   4798 	(dbus_g_object_register_marshaller, dbus_g_proxy_new_from_proxy): Prototype.
   4799 	(dbus_g_proxy_set_interface): Prototype.
   4800 	(dbus_g_proxy_begin_call, dbus_g_proxy_end_call)
   4801 	(dbus_g_proxy_call_no_reply): Take GLib types instead of DBus
   4802 	types.
   4803 	(dbus_g_proxy_get_path, dbus_g_proxy_get_interface):
   4804 	Accessors.
   4805 	(DBusGAsyncData, DBusGMethodInvocation): Structures for
   4806 	doing async invocations.
   4807 	(dbus_g_method_return, dbus_g_method_return_error):
   4808 	Prototypes.
   4809 	* doc/dbus-tutorial.xml: Update GLib section.
   4810 	
   4811 	* tools/dbus-viewer.c (load_child_nodes): Update
   4812 	for new invocation type of dbus_g_proxy_end_call.
   4813 	(load_from_service_thread_func): Ditto.
   4814 
   4815 	* tools/print-introspect.c (main): Ditto.
   4816 
   4817 	* tools/dbus-names-model.c (have_names_notify)
   4818 	(names_model_reload, names_model_set_connection)
   4819 	Use GTypes.
   4820 
   4821 	* python/Makefile.am (INCLUDES): Define DBUS_COMPILATION,
   4822 	needed since Python bindings use GLib bindings.
   4823 
   4824 	* test/glib/Makefile.am (INCLUDES): Define DBUS_COMPILATION.
   4825 	Add --prefix argument.
   4826 
   4827 	* tools/Makefile.am: Define DBUS_COMPILATION.  Remove
   4828 	unneeded --ignore-unsupported arg.
   4829 	
   4830 	* test/glib/test-service-glib.c: 
   4831 	* test/glib/test-service-glib.xml:
   4832 	* test/glib/test-dbus-glib.c: Add many more tests.
   4833 
   4834 2005-06-06  David Zeuthen  <davidz (a] redhat.com>
   4835 
   4836 	* doc/TODO: Add item about need to remove deprecated functions.
   4837 
   4838 	* dbus/dbus-connection.h: Add prototype for dbus_connection_disconnect
   4839 
   4840 	* dbus/dbus-connection.c (dbus_connection_disconnect): New function
   4841 	to repair the ABI which was broken with the last commit.
   4842 
   4843 2005-06-02  John (J5) Palmieri <johnp (a] redhat.com>
   4844 
   4845 	*  dbus/dbus-connection.c, dbus/dbus-connection.h 
   4846 	(dbus_connection_disconnect): renamed to dbus_connection_close 
   4847 	for API symmetry with dbus_connection_open
   4848 	(_dbus_connection_open_internal): 
   4849 	s/dbus_connection_disconnect/dbus_connection_close
   4850 
   4851 	* dbus/dbus-bus.c (dbus_bus_get):
   4852 	s/dbus_connection_disconnect/dbus_connection_close
   4853 
   4854 	* bus/connection.c (bus_connections_unref, 
   4855 	bus_connections_setup_connection, bus_connections_expire_incomplete):
   4856 	s/dbus_connection_disconnect/dbus_connection_close
   4857 
   4858 	* bus/dispatch.c (bus_dispatch, kill_client_connection, 
   4859 	kill_client_connection_unchecked, check_hello_connection):
   4860 	s/dbus_connection_disconnect/dbus_connection_close
   4861 
   4862 	* bus/bus.c (new_connection_callback):
   4863 	s/dbus_connection_disconnect/dbus_connection_close
   4864 
   4865 	* tools/dbus-send.c (main):
   4866 	s/dbus_connection_disconnect/dbus_connection_close
   4867 
   4868 	* test/glib/test-profile.c (no_bus_thread_func, with_bus_thread_func):
   4869 	s/dbus_connection_disconnect/dbus_connection_close
   4870 	
   4871 	* test/test-service.c (path_message_func, filter_func):
   4872 	s/dbus_connection_disconnect/dbus_connection_close
   4873 	
   4874 	* doc/TODO: remove connection_open/connection_disconnect lacks symmetry 	item that was just fixed
   4875 	
   4876 2005-05-25  Colin Walters  <walters (a] verbum.org>
   4877 
   4878 	* dbus/dbus-protocol.h: Move various bus service #defines such
   4879 	  as DBUS_SERVICE_DBUS and DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT to
   4880 	  dbus/dbus-shared.h.
   4881 	* dbus/dbus-shared.h: Various defines moved here.
   4882 	* dbus/dbus-marshal-header.c: Include dbus-shared.h.
   4883 
   4884 2005-05-25  John (J5) Palmieri  <johnp (a] redhat.com>
   4885 
   4886 	* python/__init__.py: Python bindings deserve a minor version
   4887 	update.  Upped to (0, 40, 2)
   4888 
   4889 2005-05-24  John (J5) Palmieri  <johnp (a] redhat.com>
   4890 
   4891 	* python/decorators.py: add explicitly_pass_message decorator
   4892 	for passing in the dbus message as keyword for edge case signal
   4893 	handling
   4894 
   4895 	* python/matchrules.py (SignalMatchRule.__repr__): fix output
   4896 	to conform with what dbus expects for match rules
   4897 	(SignalMatchRule.execute): add the dbus message as a keyword
   4898 	if the signal handler has requested it
   4899 
   4900 	* python/examples/example/signal-recipient.py: added some more
   4901 	examples on how to hook up to signals
   4902 
   4903 2005-05-23  John (J5) Palmieri  <johnp (a] redhat.com>
   4904 
   4905 	* python/decorators.py: import dbus_bindings
   4906 
   4907 	* python/matchrules.py (SignalMatchRule, SignalMatchTree, 
   4908 	SignalMatchNode): new classes that implement wildcard signal
   4909 	callback matching using a tree lookup. Heavily modified from a
   4910 	patch sent by Celso Pinto (fd.o bug #3241)
   4911 
   4912 	* _dbus.py (add_signal_receiver, remove_signal_receiver, _signal_func):
   4913 	use new match classes to handle signals.
   4914 
   4915 2005-05-19  John (J5) Palmieri  <johnp (a] redhat.com>
   4916 	
   4917 	* python/dbus_bindings.pyx.in: s/TYPE_PATH/TYPE_OBJECT_PATH
   4918 
   4919 2005-05-18  Havoc Pennington  <hp (a] redhat.com>
   4920 
   4921 	* configure.in: use GLIB_GNU_GETTEXT to get INTLLIBS and require
   4922 	gettext. Not really worth requiring yet perhaps, but any
   4923 	production quality 1.0 would require it so we should go ahead and
   4924 	get things set up. We do have a couple token calls to
   4925 	bindtextdomain in the code already.
   4926 
   4927 2005-05-16  John (J5) Palmieri  <johnp (a] redhat.com>
   4928 
   4929 	* glib/dbus-gmain.c (io_handler_dispatch): fix deadlock
   4930 	when using recursive g_main_loops
   4931 
   4932 	* python/_dbus.py (class Bus): add the ProxyObjectClass
   4933 	alias for ProxyObject to make it easier for the Twisted 
   4934 	networking framework to integrate dbus.
   4935 
   4936 	* python/proxies.py (class ProxyObject): add the ProxyMethodClass
   4937 	alias for ProxyMethod to make it easier for the Twisted 
   4938 	networking framework to integrate dbus. 
   4939 
   4940 2005-05-11  Ross Burton  <ross (a] openedhand.com>
   4941 
   4942 	* glib/dbus-glib-tool.c: Add --prefix argument.
   4943 	* glib/dbus-binding-tool-glib.h: Add prefix argument.
   4944 	* glib/dbus-binding-tool-glib.c (compute_marshaller_name):
   4945 	Add prefix argument.
   4946 	(generate_glue): Pass prefix argument down.
   4947 	(dbus_binding_tool_output_glib_server): Pass prefix to
   4948 	glib-genmarshal.
   4949 	
   4950 2005-05-11  Colin Walters  <walters (a] verbum.org>
   4951 
   4952 	* tools/dbus-send.c (append_array): New function.
   4953 	(append_arg): Broken out from main.
   4954 	(main): Add cheesy hack to send arrays and variants.
   4955 	(usage): Update.
   4956 	* tools/dbus-print-message.c (print_iter): Broken out
   4957 	from main.
   4958 
   4959 2005-05-11  Colin Walters  <walters (a] verbum.org>
   4960 
   4961 	* dbus/dbus-signature.c (dbus_signature_iter_get_signature):
   4962 	New function, returns signature string for signature iter.
   4963 	* dbus/dbus-signature.h: Prototype it.
   4964 	* dbus/dbus-message.c (dbus_message_iter_get_signature):
   4965 	New function, returns signature string for message iter.
   4966 	(dbus_message_iter_get_array_len): New function, returns
   4967 	length of array.
   4968 	(dbus_message_iter_get_fixed_array): Fix assertion; this
   4969 	function should be used when the iter is pointing to the
   4970 	contents of an array
   4971 	* dbus/dbus-message.h: Prototypes.
   4972 	* dbus/dbus-marshal-recursive.c (_dbus_type_reader_get_array_length):
   4973 	New function; returns length of an array.
   4974 	* dbus/dbus-marshal-recursive.h: Prototype it.
   4975 	
   4976 2005-05-11  Colin Walters  <walters (a] verbum.org>
   4977 
   4978 	* dbus/dbus-sysdeps-util.c <!HAVE_POSIX_GETPWNAM_R>: Fix
   4979 	compilation error.
   4980 	
   4981 2005-05-08  Havoc Pennington  <hp (a] redhat.com>
   4982 
   4983 	* dbus/dbus-sysdeps-util.c (_dbus_become_daemon): write the
   4984 	daemon's pid, not the parent's pid, to the file descriptor.
   4985 	Reported by Taj Morton.
   4986 
   4987 2005-05-05  Havoc Pennington  <hp (a] redhat.com>
   4988 
   4989 	* configure.in (LT_*): add notes on how the libtool versioning
   4990 	works to save thinking. Increment soname to indicate protocol
   4991 	breakage (though really the library interface hasn't changed I
   4992 	guess)
   4993 
   4994 	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
   4995 	verify the GUID received from server matches what we were
   4996 	expecting, if we had an expectation
   4997 
   4998 	* dbus/dbus-auth.c (send_ok): send GUID along with the OK command
   4999 	(_dbus_auth_get_guid_from_server): new function
   5000 	(send_begin): parse the OK args
   5001 
   5002 	* doc/dbus-specification.xml: add GUID to the auth protocol
   5003 
   5004 2005-05-05  John (J5) Palmieri  <johnp (a] redhat.com>
   5005 
   5006 	* Fix my name in previous changelog ;)
   5007 
   5008 	* python/proxies.py (ProxyObject.__getattr__): add further patch
   5009 	from Anthony Baxter to throw an AttributeError when python 
   5010 	__special__ functions are called instead of marshling them over 
   5011 	the bus (Bug#1685 comment 3).
   5012 
   5013 2005-05-04  John (J5) Palmieri  <johnp (a] redhat.com>
   5014 
   5015 	* python/Makefile.am: changed to use pyexecdir for the binding
   5016 	shared libraries (Bug#2494)
   5017 
   5018 	* python/exceptions.py: bring exceptions over from the bindings
   5019 	so they can be used in applications (Bug#2036)
   5020 	Make all exceptions derive from DBusException
   5021 
   5022 	* python/_dbus.py, python/proxies.py: implement __repr__ in a couple
   5023 	of classes so that print obj doesn't throw an exception (Bug #1685)
   5024 
   5025 2005-05-03  Ross Burton  <ross (a] openedhand.com>
   5026 
   5027 	* glib/dbus-gobject.c (dbus_g_connection_register_g_object):
   5028 	Return if we get an error during registration.  Set up a
   5029 	weak reference on object to unregister if object is destroyed.
   5030 	(unregister_gobject): New function.
   5031 	
   5032 2005-05-01  John (J5) Palmieri  <johnp (a] redhat.com>
   5033 
   5034 	* python/dbus_bindings.pyx.in: 
   5035 	- added new type classes for hinting to the marashaler what type 
   5036 	to send over the wire
   5037 	- added int16 and uint16 marshalers
   5038 	- Fixed a bug in the type constants that caused int32 to go out
   5039 	as uint16 over the wire
   5040 	* python/dbus.py: split up into different files and renamed _dbus.py
   5041 	* python/__init__.py, python/_util.py, python/decorators.py, 
   5042 	python/exceptions.py, python/proxies.py, python/services.py,
   5043 	python/types.py: new files split off from dbus.py
   5044 	* python/Makefile.am: Add new files, remove dbus.py and 
   5045 	install all python files to <python module dir>/dbus
   5046 	* python/examples/*: Added #!/usr/bin/env python to the top of
   5047 	every example.  Patch provided by Tatavarty Kalyan
   5048 
   5049 2005-04-25  John (J5) Palmieri  <johnp (a] redhat.com>
   5050 
   5051 	* NEWS: Update to 0.33
   5052 
   5053 2005-04-25  John (J5) Palmieri  <johnp (a] redhat.com>
   5054 
   5055 	* python/dbus_bindings.pyx.in (send_with_reply_handlers): New send
   5056 	method for doing async calls
   5057 	(_pending_call_notification): New C function for handling pendning call
   5058 	callbacks
   5059 	(set_notify): New method for setting pending call notification
   5060 	
   5061 	* python/dbus.py: new version tuple "version" is set at (0, 40, 0)
   5062 	Async capabilities added to remote method calls
   5063 	(Sender): class removed
   5064 	(RemoteService): class removed
   5065 	(ObjectTree): class removed for now
   5066 	(RemoteObject): Renamed to ProxyObject
   5067 	(RemoteMethod): Renamed to ProxyMethod
   5068 	(method): Decorator added for decorating python methods as dbus methods
   5069 	(signal): Decorator added for decorating python methods as signal emitters
   5070 	(ObjectType): Metaclass added for generating introspection data and the
   5071 	method callback vtable
   5072 	(Interface): Wrapper class added to wrap objects in a dbus interface
   5073 	(Object): Uses ObjectType as its metaclass and exports Introspect
   5074 	of the org.freedesktop.DBus.Introspectable interface
   5075 	(ValidationException, UnknownMethodException): new exceptions
   5076 
   5077 	* python/examples/*: Modified to fit with the new bindings
   5078 
   5079 2005-04-23  Havoc Pennington  <hp (a] redhat.com>
   5080 
   5081 	* dbus/dbus-message.c (dbus_message_append_args): fix doc comment,
   5082 	reported by Tony Houghton
   5083 
   5084 	* test/test-service.c (main): test
   5085 	dbus_connection_get_object_path_data()
   5086 
   5087 	* dbus/dbus-object-tree.c (find_handler): be sure we always init
   5088 	the exact_match
   5089 	(_dbus_object_tree_get_user_data_unlocked): new function used by
   5090 	dbus_connection_get_object_path_data()
   5091 	(do_register): add assertion test for get_user_data_unlocked
   5092 	(object_tree_test_iteration): more tests
   5093 
   5094 	* dbus/dbus-connection.c (dbus_connection_get_object_path_data):
   5095 	new function from Dan Reed to let you get the user data from 
   5096 	dbus_connection_register_object_path()
   5097 
   5098 2005-04-23  John (J5) Palmieri  <johnp (a] redhat.com>
   5099 
   5100 	* dbus/dbus-marshal-recursive-util.c: Fixed buffer overflow
   5101 	in numerous places that did not account for the NULL terminator
   5102 	(signature_from_seed): changed the manual string copy loop to 
   5103 	just use strcpy instead
   5104 	make check should now pass
   5105 
   5106 2005-04-19  John (J5) Palmieri  <johnp (a] redhat.com>
   5107 
   5108 	* dbus/dbus-marshal-header.c (_dbus_header_create): Fix assert
   5109 	so that it allows messages that are not signals to pass in 
   5110 	NULL as the interface.
   5111 
   5112 2005-04-18  David Zeuthen  <davidz (a] redhat.com>
   5113 
   5114 	* glib/dbus-gmain.c (io_handler_destroy_source): 
   5115 	(timeout_handler_destroy_source, connection_setup_free): 
   5116 	Also unref the source to avoid memory leaks.
   5117 
   5118 2005-04-13  David Zeuthen  <davidz (a] redhat.com>
   5119 
   5120 	* bus/config-parser.c (bus_config_parser_new): Bump this to a
   5121 	more reasonable, yet still totally arbitrary, value :-). 
   5122 
   5123 2005-04-13  David Zeuthen  <davidz (a] redhat.com>
   5124 
   5125 	* doc/TODO: Added an "important for 1.0" item about selinux
   5126 	allow/deny messages
   5127 
   5128 2005-04-13  David Zeuthen  <davidz (a] redhat.com>
   5129 
   5130 	* bus/selinux.c: Add c-file-style to top of file
   5131 	(log_audit_callback): Don't free the data here anymore
   5132 	(bus_selinux_check): Don't take spid and tpid since appending
   5133 	that to auxdata may OOM.
   5134 	(bus_selinux_allows_acquire_service): Handle OOM and signal back
   5135 	to the caller if we are OOM by taking an error object.
   5136 	(bus_selinux_allows_send): -do-
   5137 
   5138 	* bus/selinux.h: Fix prototypes for bus_selinux_allows_acquire_service
   5139 	and bus_selinux_allows_send
   5140 
   5141 	* bus/bus.c (bus_context_check_security_policy): Pass error and
   5142 	pass on OOM thrown by bus_selinux_allows_send()
   5143 
   5144 	* bus/services.c (bus_registry_acquire_service): Pass error and
   5145 	pass on OOM thrown by bus_selinux_allows_acquire_service()
   5146 
   5147 2005-04-13  Havoc Pennington  <hp (a] redhat.com>
   5148 
   5149 	* glib/dbus-gmain.c (message_queue_dispatch): only dispatch one
   5150 	message at a time to avoid monopolizing the main loop, bug 
   5151 	#2953 from Benjamin Otte
   5152 
   5153 2005-04-09  Havoc Pennington  <hp (a] redhat.com>
   5154 
   5155 	* dbus/dbus-string.c (copy): change a memcpy to memmove due to
   5156 	possible overlap, fix from Daniel Reed
   5157 	(fixup_alignment): fix signedness warnings
   5158 	(_dbus_string_append_unichar): ditto
   5159 
   5160 2005-04-09  Havoc Pennington  <hp (a] redhat.com>
   5161 
   5162 	* dbus/dbus-message-util.c (_dbus_message_test): fix signedness warning
   5163 
   5164 	* glib/dbus-glib-tool.c (main): fix warning
   5165 
   5166 	* glib/dbus-binding-tool-glib.c (generate_glue): fix warning
   5167 
   5168 	* dbus/dbus-connection.c (dbus_connection_read_write_dispatch):
   5169 	add a new function that can be used in simple applications that
   5170 	don't have a main loop and are willing to block
   5171 
   5172 2005-04-05  David Zeuthen  <davidz (a] redhat.com>
   5173 
   5174 	Fix https://bugs.freedesktop.org/show_bug.cgi?id=2889
   5175 
   5176 	* glib/dbus-gmain.c:
   5177 	(io_handler_destroy_source): Remove from list of IO handlers
   5178 	of the ConnectionSetup object
   5179 	(timeout_handler_destroy_source): -do- for timeout handlers
   5180 	(io_handler_source_finalized): Don't remove from list since
   5181 	we now do that in io_handler_destroy_source(). Renamed from
   5182 	io_handler_source_destroyed
   5183 	(timeout_handler_source_destroyed): -do- for timeout handlers
   5184 	(connection_setup_free): It is now safe to iterate over all
   5185 	IO and timeout handlers as the _destroy_source removes them
   5186 	from the list synchronously
   5187 
   5188 2005-03-30  Havoc Pennington  <hp (a] redhat.com>
   5189 
   5190 	* configure.in: change check to gtk 2.4
   5191 
   5192 	* tools/dbus-viewer.c (name_combo_changed_callback): remove
   5193 	gtk_combo_box_get_active_text() usage to decrement GTK requirement
   5194 	to 2.4
   5195 
   5196 2005-03-29  John (J5) Palmieri  <johnp (a] redhat.com>
   5197 
   5198 	* News: Update 0.32
   5199 
   5200 	* HACKING: Fixed realease instructions.  configure.in should be updated to
   5201 	  the next release by the person who made the last release.
   5202 
   5203 2005-03-29  John (J5) Palmieri  <johnp (a] redhat.com>
   5204 
   5205 	* python/lvalue_cast_post_process.py - removed.  Patch has been
   5206 	  submitted to Pyrex maintainers that fixes gcc4.0 errors
   5207 
   5208 	* python/Makefile.am: removed refrences to lvalue_cast_post_process.py
   5209 
   5210 2005-03-24  Daniel Reed  <n (a] ml.org>
   5211 
   5212 	* tools/Makefile.am: Make print-introspect and
   5213 	dbus-bus-introspect.xml building conditional on HAVE_GLIB.
   5214 
   5215 2005-03-22  John (J5) Palmieri  <johnp (a] redhat.com>
   5216 
   5217 	* tools/Makefile.am: Patch by Colin Walters that fixes distcheck
   5218 
   5219 	* dbus/dbus-userdb.c, dbus/dbus-userdb-util.c: Add patch we have 
   5220 	  had in Red Hat packages for a while but for some reason never 
   5221 	  got merged upstream
   5222 	  (_dbus_is_a_number): New checks if a string
   5223 	  can be converted to a number and does the conversion if it can
   5224 	  (_dbus_user_database_lookup): Add check to see if the given username
   5225 	  is a udi.  This allows udi's to be used instead of usernames in the
   5226 	  config file.
   5227 	  (_dbus_user_database_lookup_group): Add check to see if the given groupname
   5228 	  is a gdi.  This allows gdi's to be used instead of groupnames in the
   5229 	  config file.
   5230 
   5231 2005-03-21  John (J5) Palmieri  <johnp (a] redhat.com>
   5232 
   5233 	* python/lvalue_cast_post_process.py - added post processor to fix Pyrex
   5234 	  code so that it compiles with gcc4.0
   5235 
   5236 	* python/Makefile.am: Added lvalue_cast_post_process.py to EXTRA_DIST
   5237 	  run dbus_bindings.c through lvalue_cast_post_process.py and copy the
   5238 	  results back to dbus_binding.c
   5239 
   5240 2005-03-20  Colin Walters  <walters (a] verbum.org>
   5241 
   5242 	Patch suggested by Inguva Rajasekhar <ringuva (a] novell.com>.
   5243 
   5244 	* configure.in: Require GTK+ 2.6.
   5245 	
   5246 2005-03-20  Colin Walters  <walters (a] verbum.org>
   5247 
   5248 	* Makefile.am (SUBDIRS, DIST_SUBDIRS): Build tools before test.
   5249 
   5250 2005-03-17  Tom Parker  <palfrey (a] tevp.net>
   5251 
   5252 	* dbus/dbus-userdb.c (_dbus_user_database_lookup): Don't
   5253 	print DBUS_UID_UNSET; instead print passed username.  Also
   5254 	be sure to actually use gid looked up in cache.
   5255 	
   5256 	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): Ditto
   5257 	for DBUS_GID_UNSET and groupname.
   5258 
   5259 2005-03-17  Colin Walters  <walters (a] verbum.org>
   5260 
   5261 	* bus/print-introspect.c: Move to tools/.
   5262 	* bus/run-with-tmp-session-bus.sh: Ditto.
   5263 	
   5264 	* glib/Makefile.am (dbus-glib-bindings.h): Move
   5265 	generation to tools/Makefile.am.
   5266 
   5267 	* test/glib/run-test.sh: Update to handle move
   5268 	of run-with-tmp-session-bus.sh.
   5269 
   5270 	* test/glib/test-service-glib.c: Update to handle
   5271 	move of dbus-glib-bindings.h.
   5272 
   5273 	* tools/print-introspect.c: Moved here
   5274 	from bus/, and ported to GLib bindings.
   5275 
   5276 	* tools/run-with-tmp-session-bus.sh: Moved here
   5277 	from bus/.
   5278 
   5279 	* tools/Makefile.am: Generate dbus-glib-bindings.h
   5280 	and dbus-bus-introspect.xml here.
   5281 
   5282 	* tools/.cvsignore, glib/.cvsignore, bus/.cvsignore:
   5283 	Update.
   5284 
   5285 2005-03-17  Colin Walters  <walters (a] verbum.org>
   5286 
   5287 	* bus/driver.c (write_args_for_direction): Use
   5288 	_dbus_string_get_const_data to retrieve string;
   5289 	_dbus_string_get_const_data_len doesn't actually return
   5290 	a NULL-terminated substring.
   5291 
   5292 	* test/glib/test-service-glib.c: Include dbus-glib-bindings.h.
   5293 	(main): Change to use org_freedesktop_DBus_request_name
   5294 	instead of using g_proxy_begin_call/end_call.
   5295 
   5296 2005-03-15  Joe Shaw  <joeshaw (a] novell.com>
   5297 
   5298 	* mono/ProxyBuilder.cs (BuildFinalizer): Fix some invalid IL when
   5299 	generating the finalizer.  Fixes from Ben Maurer.
   5300 
   5301 2005-03-12  Joe Shaw  <joeshaw (a] novell.com>
   5302 
   5303 	* mono/BusDriver.cs: Update method names: ListServices
   5304 	becomes ListNames; GetOwner becomes GetNameOwner.
   5305 
   5306 	* mono/ProxyBuilder.cs (BuildFinalizer): Need to load arg 0
   5307 	onto the eval stack when removing the delegate.
   5308 
   5309 2005-03-12  Joe Shaw  <joeshaw (a] novell.com>
   5310 
   5311 	* mono/dbus-sharp.dll.config.in: Don't hardcode 0 for
   5312 	LT_CURRENT.  Set it to the autoconf variable.
   5313                                                                                 
   5314 	* mono/ProxyBuilder.cs: Add a finalizer to the generated proxy
   5315 	classes that disconnects the signal handler delegate from the
   5316 	service object.  Fixes a big leak of proxy objects on the
   5317 	client side of things.  Patch from Ben Maurer
   5318 	<bmaurer (a] ximian.com>
   5319 
   5320 2005-03-12  Colin Walters  <walters (a] verbum.org>
   5321 
   5322 	* bus/driver.c (write_args_for_direction): New function,
   5323 	parses a type signature into arguments and outputs to
   5324 	XML.
   5325 	(bus_driver_handle_introspect): Use it instead of
   5326 	hardcoding XML for certain signatures.
   5327 	
   5328 	* bus/Makefile.am (dbus-bus-introspect.xml): Add
   5329 	dependency on dbus-daemon.
   5330 
   5331 	* glib/dbus-glib-tool.c (main): Parse ignore_unsupported
   5332 	argument, pass it to dbus_binding_tool_output_glib_client.
   5333 
   5334 	* glib/dbus-binding-tool-glib.c
   5335 	(generate_client_glue): Protect against multiple inclusion.
   5336 	(dbus_binding_tool_output_glib_client): Add
   5337 	G_BEGIN_DECLS/G_END_DECLS.
   5338 
   5339 	* glib/dbus-binding-tool-glib.c (compute_client_method_name):
   5340 	Change to just take iface prefix directly.
   5341 	(write_formal_parameters): Clarify error message.
   5342 	(check_supported_parameters): New function; checks to see type
   5343 	signatures of method parameters are supported.
   5344 	(generate_client_glue): Handle ignore_unsupported flag.
   5345 	(dbus_binding_tool_output_glib_client): Handle ignore_unsupported
   5346 	parameter.
   5347 
   5348 	* glib/Makefile.am (dbus-glib-bindings.h): Pass
   5349 	--ignore-unsupported by default until glib bindings
   5350 	support arrays.
   5351 
   5352 2005-03-11  Colin Walters  <walters (a] verbum.org>
   5353 
   5354 	* glib/Makefile.am: Generate dbus-glib-bindings.h and
   5355 	install it.
   5356 
   5357 	* bus/print-introspect.c: New file; prints introspection
   5358 	data for a given name and object path.
   5359 
   5360 	* bus/run-with-tmp-session-bus.sh: New file, refactored
   5361 	from test/glib/run-test.sh.  Creates a temporary session
   5362 	bus and runs another program.
   5363 
   5364 	* test/glib/run-test.sh: Refactor to invoke
   5365 	run-with-tmp-session-bus.sh.
   5366 
   5367 	* bus/driver.c (bus_driver_handle_introspect): Fix to print new
   5368 	introspection format.  Also change to use DBUS_TYPE_x_AS_STRING
   5369 	macros instead of hardcoding.
   5370 
   5371 	* glib/.cvsignore, bus/.cvsignore, test/glib/.cvsignore: Update.
   5372 
   5373 2005-03-11  Joe Shaw  <joeshaw (a] novell.com>
   5374 
   5375 	* dbus/dbus-connection.c (dbus_connection_send_with_reply): Remove
   5376 	this unref; it doesn't match up evenly in some codepaths.
   5377 	(_dbus_connection_block_pending_call): Unref at every exitpoint;
   5378 	this evenly matches with the ref near the top of this function.
   5379 
   5380 2005-03-09  Joe Shaw  <joeshaw (a] novell.com>
   5381 
   5382 	* dbus/dbus-object-tree.c
   5383 	(_dbus_object_tree_unregister_and_unlock): If checks are enabled
   5384 	and we try to unregister a path that's not registered, still go
   5385 	through the process of unlocking and don't just return.
   5386 
   5387 2005-03-09  Colin Walters  <walters (a] verbum.org>
   5388 
   5389 	* glib/dbus-gproxy.c (dbus_g_proxy_invoke): New method; calls
   5390 	to this are generated for client-side wrappers.  Invokes a
   5391 	D-BUS method and returns reply values.  
   5392 
   5393 	* glib/dbus-binding-tool-glib.c (write_args_sig_for_direction): New
   5394 	function; writes signature string for argument direction.
   5395 	(write_args_for_direction): Change to pass input values directly
   5396 	instead of via address, and fix indentation.
   5397 	(generate_client_glue): Change to invoke dbus_g_proxy_invoke.  Also
   5398 	make generated wrappers inlineable.
   5399 
   5400 	* dbus/dbus-message.c (dbus_message_iter_get_fixed_array): Add
   5401 	note about using dbus_type_is_fixed.
   5402 
   5403 	* dbus/dbus-marshal-basic.c (_dbus_type_is_fixed): Moved to
   5404 	dbus/dbus-signature.c as dbus_type_is_fixed.
   5405 
   5406 	All callers updated.
   5407 
   5408 	* dbus/dbus-signature.c (dbus_type_is_fixed): Moved here
   5409 	from dbus/dbus-marshal-basic.c:_dbus_type_is_fixed.
   5410 
   5411 	* dbus/dbus-signature.h: Prototype.
   5412 
   5413 	* glib/dbus-binding-tool-glib.c (compute_marshaller_name): Fix
   5414 	error printf code.
   5415 
   5416 	* test/glib/test-dbus-glib.c (main): Be sure to clear error as
   5417 	appropriate instead of just freeing it.
   5418 	(main): Free returned strings using g_free.
   5419 
   5420 	* test/glib/Makefile.am (test-service-glib-glue.h)
   5421 	(test-service-glib-bindings.h): Add dependency on dbus-binding-tool.
   5422 
   5423 	* glib/dbus-gvalue.c (MAP_BASIC): Refactored from MAP_BASIC_INIT;
   5424 	simply maps a simple D-BUS type to GType.
   5425 	(dbus_dbus_type_to_gtype): Function which maps D-BUS type to
   5426 	GType.
   5427 	(dbus_gvalue_init): Just invoke dbus_dbus_type_to_gtype and
   5428 	initialize the value with it.
   5429 	(dbus_gvalue_binding_type_from_type): Unused, delete.
   5430 	(dbus_gvalue_demarshal): Switch to hardcoding demarshalling for
   5431 	various types instead of unmarshalling to value data directly.
   5432 	Remove can_convert boolean.
   5433 	(dbus_gvalue_marshal): Remove duplicate initialization; switch to
   5434 	returning directly instead of using can_convert boolean.
   5435 	(dbus_gvalue_store): New function; not related to D-BUS per-se.
   5436 	Stores a GValue in a pointer to a value of its corresponding C
   5437 	type.
   5438 
   5439 	* glib/dbus-gvalue.h: Remove dbus_gvalue_binding_type_from_type,
   5440 	add dbus_gvalue_store.
   5441 
   5442 2005-03-08  Joe Shaw  <joeshaw (a] novell.com>
   5443 
   5444 	Fix a bunch of lifecycle and memory management problems
   5445 	in the mono bindings.
   5446 
   5447 	* mono/Arguments.cs (Arguments): Implement IDisposable
   5448 
   5449 	* mono/Bus.cs (Bus): Don't allow public instantiation.  This is
   5450 	strictly a static class.
   5451 
   5452 	* mono/Connection.cs: Move the DBusObjectPathVTable and associated
   5453 	delegates into this file.
   5454 	(Connection): Implement IDisposable.
   5455 	(Dispose): Disconnect the connection and set the raw connection
   5456 	pointer to IntPtr.Zero.
   5457 	(~Connection): Call Dispose().
   5458 	(RegisterObjectPath): Added.  Manages the registration of object
   5459 	paths so we can cleanly disconnect them at dispose/finalize time.
   5460 	(UnregisterObjectPath): Ditto.
   5461 	(set_RawConnection): Unregister all of the object paths when
   5462 	changing the underlying DBusConnection.  Add them back onto the
   5463 	new connection, if any.
   5464 
   5465 	* mono/Handler.cs: Don't implement IDisposable; it doesn't use any
   5466 	more unmanaged resources anymore, so it's not necessary.  Move all
   5467 	the DBusObjectPathVTable stuff out of here.
   5468 	(Handler): Save references to our delegates so that they don't get
   5469 	finalized.  Call Connection.RegisterObjectPath() instead of
   5470 	dbus_connection_register_object_path() directly.
   5471 	(Message_Called): Dispose the message after we're finished with
   5472 	it.
   5473 
   5474 	* mono/Message.cs (Message): Implement IDisposable.
   5475 	(Dispose): Dispose the Arguments, and set the RawMessage to
   5476 	IntPtr.Zero.
   5477 	(SendWithReplyAndBlock): We own the ref to the reply that comes
   5478 	back from dbus_connection_send_with_reply_and_block() so add a
   5479 	comment about that and unref it after we've constructed a managed
   5480 	MethodReturn class around it.  Fixes a big, big leak.
   5481 
   5482 	* mono/ProxyBuilder.cs: Reflect into Message to get the Dispose
   5483 	method.
   5484 	(BuildSignalHandler): After we've sent the Signal message, dispose
   5485 	of it.
   5486 	(BuildMethod): Dispose of the method call and reply messages after
   5487 	we've sent the message and extracted the data we want from the
   5488 	reply.
   5489 
   5490 	* mono/Service.cs (UnregisterObject): Don't call handler.Dispose()
   5491 	anymore.
   5492 	(Service_FilterCalled): Dispose of the message after we're
   5493 	finished with it.
   5494 
   5495 2005-03-08  Joe Shaw  <joeshaw (a] novell.com>
   5496 
   5497         * dbus/dbus-connection.c (dbus_connection_send_with_reply):
   5498         After we attach our pending call to the connection, unref
   5499         it.  Fixes a leak.
   5500  
   5501         * mono/Connection.cs (set_RawConnection): Disconnect our
   5502         filter and match callbacks from the old connection and
   5503         reconnect them to the new connection, if any.
   5504 
   5505 	* mono/DBusType/Array.cs: "Code" is a static member, so
   5506 	don't use "this" to refer to it.  Fix for stricter checking
   5507 	in Mono 1.1.4.
   5508  
   5509         * mono/DBusType/ObjectPath.cs (Append): Don't leak the
   5510 	object path that we pass into unmanaged code.
   5511  
   5512         * mono/DBusType/String.cs (Append): Don't leak the string
   5513 	that we pass into unmanged code.
   5514 
   5515 2005-03-07  John (J5) Palmieri  <johnp (a] redhat.com>
   5516 	* NEWS: Update for 0.31
   5517 
   5518 	* configure.in: Release 0.31
   5519 	add LT_CURRENT, LT_REVISION, LT_AGE for easy soname bumping
   5520 
   5521 	* qt/Makefile.am: fixed build
   5522 
   5523 	* dbus/Makefile.am: soname bump for libdbus
   5524 
   5525 	* glib/Makefile.am: soname bump for libdbus-glib
   5526 
   5527 2005-03-05  Havoc Pennington  <hp (a] redhat.com>
   5528 
   5529 	* dbus/dbus-sysdeps.c:
   5530 	(pseudorandom_generate_random_bytes_buffer): fix to have no return
   5531 	value
   5532 	(_dbus_generate_random_bytes_buffer): fix return value
   5533 
   5534 	* dbus/dbus-sysdeps-util.c: s/GETPWNAME/GETPWNAM/ so configure
   5535 	checks actually work, from Tom Parker <fdo (a] tevp.net>
   5536 
   5537 2005-03-01  Colin Walters  <walters (a] verbum.org>
   5538 
   5539 	* test/glib/test-dbus-glib.c (lose, lose_gerror): Utility
   5540 	functions copied from dbus-glib-tool.c.
   5541 	(main): Convert lots of error code to use them.
   5542 	Also add some testing for introspection bits.
   5543 
   5544 2005-03-01  Colin Walters  <walters (a] verbum.org>
   5545 	
   5546 	* doc/TODO: Remove introspection signature TODO.
   5547 
   5548 2005-02-27  Colin Walters  <walters (a] verbum.org>
   5549 
   5550 	* glib/dbus-gidl.c (property_info_get_type, arg_info_get_type):
   5551 	Change return value to const char * instead of int so we can do
   5552 	full signatures.
   5553 	(struct PropertyInfo, struct ArgInfo): Store char *.
   5554 	(property_info_new, arg_info_new): Update parameters, strdup.
   5555 	(property_info_unref, arg_info_unref): Free.
   5556 
   5557 	* glib/dbus-gidl.h: Update prototypes.
   5558 
   5559 	* glib/dbus-gparser.c (basic_type_from_string): Delete.
   5560 	(validate_signature): New function, just validates signature and
   5561 	sets GError.
   5562 	(parse_property, parse_arg): Invoke validate_signature.  Store
   5563 	signature instead of just type code.
   5564 
   5565 	* glib/dbus-gvalue.c (base_type_from_signature): New utility
   5566 	function to return a primary type for a signature, dropping
   5567 	information about types in container types.
   5568 	(dbus_gvalue_genmarshal_name_from_type)
   5569 	(dbus_gvalue_binding_type_from_type)
   5570 	(dbus_gvalue_ctype_from_type): Update to take full signature
   5571 	 instead of type code.
   5572 	(dbus_gtype_to_dbus_type): Moved here from glib/dbus-gobject.c.
   5573 
   5574 	* glib/dbus-gvalue.h: Update prototypes for above.
   5575 
   5576 	* glib/dbus-gobject.c (gtype_to_dbus_type): Moved to
   5577 	glib/dbus-gvalue.c as dbus_gtype_to_dbus_type.
   5578 	(introspect_properties, introspect_signals, write_interface):
   5579 	Update to handle signatures, and remove usage of
   5580 	_dbus_gutils_type_to_string.
   5581 	(handle_introspect): Print out type codes instead of e.g. "string"
   5582 	in hardcoded introspection XML; also use x_AS_STRING constants
   5583 	instead of hardcoding in string.
   5584 
   5585 	* glib/dbus-glib-tool.c (pretty_print): Handle signature change
   5586 	to string.  Remove usage of _dbus_gutils_type_to_string.
   5587 
   5588 	* glib/dbus-gutils.c (_dbus_gutils_type_to_string): Delete.
   5589 
   5590 	* glib/dbus-gutils.h (_dbus_gutils_type_to_string): Update for
   5591 	deletion.
   5592 	
   5593 	* glib/dbus-binding-tool-glib.c (compute_marshaller)
   5594 	(compute_marshaller_name, generate_glue): Handle signature change
   5595 	to string.
   5596 	(write_formal_parameters, write_args_for_direction): Ditto, and
   5597 	remove FIXME.
   5598 
   5599 	* tools/dbus-tree-view.c (type_to_string): Delete.
   5600 	(info_set_func_text): Update to print full signatures.
   5601 
   5602 	* test/glib/test-service-glib.xml: Change types to new
   5603 	introspection format.
   5604 
   5605 2005-02-26  Havoc Pennington  <hp (a] redhat.com>
   5606 
   5607 	* doc/TODO: remove the "guid" item
   5608 
   5609 	* test/glib/test-profile.c (no_bus_thread_func): use open_private
   5610 	(with_bus_thread_func): use open_private
   5611 
   5612 	* dbus/dbus-connection.c (dbus_connection_open_private): new
   5613 	function that works like the old dbus_connection_open()
   5614 	(dbus_connection_open): now returns an existing connection if
   5615 	possible
   5616 
   5617 	* dbus/dbus-server-unix.c (handle_new_client_fd_and_unlock): pass
   5618 	through the GUID to the transport
   5619 
   5620 	* dbus/dbus-server.c (_dbus_server_init_base): keep around the
   5621 	GUID in hex-encoded form.
   5622 
   5623 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
   5624 	pass GUID argument in to the transport
   5625 
   5626 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): add
   5627 	guid argument
   5628 
   5629 	* dbus/dbus-transport.c (_dbus_transport_init_base): add guid argument
   5630 
   5631 	* dbus/dbus-auth.c (_dbus_auth_server_new): add guid argument
   5632 
   5633 2005-02-25  Havoc Pennington  <hp (a] redhat.com>
   5634 
   5635 	* doc/dbus-specification.xml: document the GUID thing
   5636 
   5637 	* dbus/dbus-server.c (_dbus_server_init_base): initialize a
   5638 	globally unique ID for the server, and put a "guid=hexencoded"
   5639 	field in the address
   5640 
   5641 	* dbus/dbus-bus.c: fix missing #include of dbus-threads-internal.h
   5642 
   5643 	* dbus/dbus-message.c: ditto
   5644 
   5645 	* dbus/dbus-dataslot.c: ditto
   5646 
   5647 	* dbus/dbus-list.c: ditto
   5648 
   5649 	* dbus/dbus-internals.h: wait, just include
   5650 	dbus-threads-internal.h here
   5651 	
   5652 	* dbus/dbus-string.c (_dbus_string_copy_to_buffer): move back for
   5653 	use in main library
   5654 
   5655 	* dbus/dbus-sysdeps.c (_dbus_generate_random_bytes_buffer): new function
   5656 
   5657 2005-02-24  Colin Walters  <walters (a] verbum.org>
   5658 
   5659 	* test/glib/Makefile.am (EXTRA_DIST): Add test-service-glib.xml
   5660 
   5661 2005-02-24  John (J5) Palmieir  <johnp (a] redhat.com>
   5662 
   5663 	* glib/Makefile.am: added dbus-gobject.h to sources list
   5664 	so distcheck doesn't fail
   5665 	
   5666 2005-02-24  Havoc Pennington  <hp (a] redhat.com>
   5667 
   5668 	* dbus/dbus-server.c, dbus/dbus-server-unix.c: change semantics so
   5669 	you must disconnect before unref, since locking and other things
   5670 	are screwed up otherwise. Fix assorted other locking stuff.
   5671 
   5672 	* dbus/dbus-signature.c (dbus_signature_iter_get_element_type):
   5673 	fix compilation
   5674 
   5675 	* dbus/dbus-threads-internal.h: move the mutex/condvar wrappers
   5676 	into a private header and don't export from the library
   5677 
   5678 	* throughout - call _dbus_thread_stuff vs. dbus_thread_stuff
   5679 
   5680 2005-02-24  Colin Walters  <walters (a] verbum.org>
   5681 	
   5682 	* dbus/dbus-signature.c: New file; implements various functions
   5683 	related to type signatures.  Includes an interator for parsing,
   5684 	validation functions.
   5685 	(dbus_type_is_basic): Moved here from
   5686 	dbus-marshal-basic.c:_dbus_type_is_basic.
   5687 	(dbus_type_is_container): Moved here from
   5688 	dbus-marshal-basic.c:_dbus_type_is_container.
   5689 
   5690 	All callers of _dbus_type_is_container and _dbus_type_is_basic
   5691 	updated, and include dbus-signature.h.
   5692 
   5693 	* dbus/dbus-signature.h: New file; prototypes for the above.
   5694 
   5695 	* dbus/Makefile.am (DBUS_LIB_SOURCES): Add dbus-signature.c,
   5696 	dbus-signature.h.
   5697 
   5698 	* dbus/dbus-marshal-basic.c (map_type_char_to_type): New utility
   5699 	function factored out of _dbus_first_type_in_signature.
   5700 	(_dbus_first_type_in_signature_c_str): New function; returns first
   5701 	type code for a type signature character.
   5702 
   5703 	* dbus/dbus-marshal-basic.h: Prototype _dbus_first_type_in_signature_c_str,
   5704 	handle function moves.
   5705 
   5706 	* dbus/dbus-marshal-recursive.h: Export _dbus_type_signature_next.
   5707 
   5708 	* dbus/dbus-marshal-recursive.c (_dbus_type_signature_next): New
   5709 	function; skips to next complete type in type signature.
   5710 	Implemented using previous skip_one_complete_type.  Now
   5711 	skip_one_complete_type just delegates to
   5712 	_dbus_type_signature_next.
   5713 
   5714 	* dbus/dbus-marshal-basic.c (_dbus_type_is_basic): Moved
   5715 	to dbus-signature.c
   5716 	(_dbus_type_is_container): Ditto.
   5717 
   5718 	* doc/dbus-specification.xml: Update introspection sample to
   5719 	use real type signatures.
   5720 
   5721 	* dbus/dbus-test.h: Prototype signature test.
   5722 
   5723 	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Run
   5724 	signature tests.
   5725 
   5726 	* dbus/dbus-protocol.h (DBUS_ERROR_INVALID_SIGNATURE): New error.
   5727 
   5728 2005-02-23  John (J5) Palmieri  <johnp (a] redhat.com>
   5729 
   5730 	* python/dbus_bindings.pyx.in (PendingCall::get_reply):
   5731 	s/dbus_pending_call_get_reply/dbus_pending_call_steal_reply
   5732 
   5733 2005-02-21  Colin Walters  <walters (a] verbum.org>
   5734 
   5735 	* dbus/dbus-test-main.c (main): Take optional specific test
   5736 	argument.
   5737 
   5738 	* dbus/dbus-test.c (run_test): New function, runs a test function
   5739 	with no data directory.
   5740 	(run_data_test): Like above, but takes data directory.
   5741 	(dbus_internal_do_not_use_run_tests): Take
   5742 	specific test argument.  Replace lots of cut n' paste code
   5743 	with run_test and run_data_test.
   5744 
   5745 	* dbus/dbus-test.h: Update prototype for
   5746 	dbus_internal_do_not_use_run_tests.
   5747 
   5748 2005-02-20  Havoc Pennington  <hp (a] redhat.com>
   5749 
   5750         Fix bugs reported by Daniel P. Berrange
   5751 	
   5752 	* dbus/dbus-server.c (_dbus_server_unref_unlocked): new function
   5753 	(protected_change_watch): new function
   5754 	(_dbus_server_toggle_watch, _dbus_server_remove_watch)
   5755 	(_dbus_server_add_watch): change to work like the
   5756 	dbus-connection.c equivalents; like those, probably kind of
   5757 	busted, but should at least mostly work for now
   5758 	(dbus_server_disconnect): drop the lock if we were already
   5759 	disconnected, patch from Daniel P. Berrange
   5760 
   5761 	* dbus/dbus-server.c (_dbus_server_toggle_timeout) 
   5762 	(_dbus_server_remove_timeout, _dbus_server_add_timeout): all the
   5763 	same stuff
   5764 
   5765 	* doc/TODO: todo about unscrewing this mess
   5766 
   5767 2005-02-19  Colin Walters  <walters (a] verbum.org>
   5768 
   5769 	* glib/dbus-binding-tool-glib.c
   5770 	(dbus_binding_tool_output_glib_server): Fix iochannel refcounting.
   5771 
   5772 	* glib/dbus-glib-tool.c: Include dbus-glib-tool.h, as well
   5773 	as errno.h and sys/stat.h.
   5774 	(lose): New function, prints error with
   5775 	newline and exits.
   5776 	(lose_gerror): Similar, but takes GError for message.
   5777 	(main): Add --output argument to specify output file to write to,
   5778 	instead of always printing to stdout.  In this mode, determine
   5779 	timestamps on source files to see whether any are newer than the
   5780 	target file.  If not, exit.  Also convert a number of error
   5781 	messages to use lose (since it's shorter), and switch to using
   5782 	g_io_channel_shutdown.
   5783 
   5784 2005-02-19  Havoc Pennington  <hp (a] redhat.com>
   5785 
   5786 	* glib/dbus-gobject.c
   5787 	(_dbus_glib_marshal_dbus_message_to_gvalue_array): add docs
   5788 
   5789 	* glib/dbus-glib.c: fix doxygen warnings
   5790 
   5791 	* glib/dbus-gparser.c (parse_annotation): error if an annotation
   5792 	is found on an <arg>
   5793 
   5794 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5795 
   5796 	* glib/dbus-gobject.h: Don't export
   5797 	_dbus_glib_marshal_dbus_message_to_gvalue_array.
   5798 	
   5799 	* glib/dbus-gobject.c (_dbus_glib_marshal_dbus_message_to_gvalue_array): Do rename.
   5800 	(invoke_object_method): Handle it.
   5801 
   5802 	* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
   5803 	Handle rename.
   5804 	
   5805 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5806 
   5807 	* bus/.cvsignore, doc/.cvsignore
   5808 	* test/data/valid-service-files/.cvsignore, test/glib/.cvsignore:
   5809 	Update.
   5810 
   5811 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5812 	
   5813 	* dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS):
   5814 	Rename to DBUS_SERVICE_DBUS.
   5815 	(DBUS_PATH_ORG_FREEDESKTOP_DBUS): Rename to DBUS_PATH_DBUS.
   5816 	(DBUS_PATH_ORG_FREEDESKTOP_LOCAL): Rename to DBUS_PATH_LOCAL.
   5817 	Change the value from "org.freedesktop.Local"
   5818 	to "org.freedesktop.DBus.Local".
   5819 	(DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS): Rename to DBUS_INTERFACE_DBUS.
   5820 	(DBUS_INTERFACE_ORG_FREEDESKTOP_INTROSPECTABLE): Rename to
   5821 	DBUS_INTERFACE_INTROSPECTABLE.
   5822 	Change the value from "org.freedesktop.Introspectable"
   5823 	to "org.freedesktop.DBus.Introspectable".
   5824 	(DBUS_INTERFACE_ORG_FREEDESKTOP_PROPERTIES): Rename to
   5825 	DBUS_INTERFACE_PROPERTIES.
   5826 	Change the value from "org.freedesktop.Properties"
   5827 	to "org.freedesktop.DBus.Properties".
   5828 	(DBUS_INTERFACE_ORG_FREEDESKTOP_PEER): Rename to
   5829 	DBUS_INTERFACE_PEER.
   5830 	Change the value from "org.freedesktop.Peer"
   5831 	to "org.freedesktop.DBus.Peer".
   5832 	(DBUS_INTERFACE_ORG_FREEDESKTOP_LOCAL): 
   5833 	DBUS_INTERFACE_LOCAL.
   5834 	Change the value from "org.freedesktop.Local"
   5835 	to "org.freedesktop.DBus.Local".
   5836 
   5837 	All other users of those constants have been changed.
   5838 
   5839 	* bus/driver.c (bus_driver_handle_introspect): Use constants.
   5840 
   5841 	* glib/dbus-gobject.c (handle_introspect): Use constants.
   5842 
   5843 	* doc/dbus-faq.xml, doc/dbus-specification.xml: Update for rename.
   5844 
   5845 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5846 
   5847 	* glib/dbus-gparser.c (struct Parser): Add in_annotation boolean.
   5848 	(parse_node, parse_interface, parse_method, parse_signal)
   5849 	(parse_property, parse_annotation): Lose if we're currently in an
   5850 	annotation.
   5851 	(parse_annotation): New function.
   5852 	(parser_start_element, parser_end_element): Handle annotation.
   5853 	(parse_method, parse_interface): Remove support for c_name attribute,
   5854 	switch to annotations.
   5855 
   5856 	* glib/dbus-gidl.h (interface_info_get_binding_names)
   5857 	(method_info_get_binding_names)
   5858 	(interface_info_get_binding_name, method_info_get_binding_name)
   5859 	(interface_info_set_binding_name, method_info_set_binding_name):
   5860 	Remove.
   5861 	(interface_info_get_annotations, method_info_get_annotations)
   5862 	(interface_info_get_annotation, method_info_get_annotation)
   5863 	(interface_info_add_annotation, method_info_add_annotation):
   5864 	Prototype.
   5865 
   5866 	* glib/dbus-gidl.c (struct InterfaceInfo): Substitute "annotations"
   5867 	for "bindings".
   5868 	(struct MethodInfo): Ditto.
   5869 	Straightfoward conversion of binding methods into annotation methods
   5870 	as prototyped.
   5871 
   5872 	* glib/dbus-glib-tool.c (pretty_print): Print annotations.
   5873 
   5874 	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_C_SYMBOL): Define.
   5875 
   5876 	* glib/dbus-binding-tool-glib.c (gather_marshallers, generate_glue):
   5877 	Use new annotation API.
   5878 
   5879 	* doc/introspect.dtd: Fix a number of DTD syntax errors.  Add
   5880 	annotation element.
   5881 	
   5882 	* doc/dbus-specification.xml: Discuss introspection annotations,
   5883 	include list of well-known annotations.
   5884 
   5885 	* test/glib/test-service-glib.xml: Make validate against new DTD.
   5886 
   5887 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5888 
   5889 	This patch is based on initial work from
   5890 	Paul Kuliniewicz <kuliniew (a] purdue.edu>.
   5891 
   5892 	* glib/dbus-gvalue.c (dbus_gvalue_init): New function; move
   5893 	initialization of GValue from dbus type to here.
   5894 	(dbus_gvalue_genmarshal_name_from_type): New function; generates a string
   5895 	for the "glib-genmarshal" program from a DBus type.
   5896 	(dbus_gvalue_binding_type_from_type): New function; turns a DBus type
   5897 	into the C name for it we use in the glib bindings.
   5898 	(dbus_gvalue_ctype_from_type): New function; maps a DBus type into a
   5899 	glib C type (not GValue).
   5900 	(dbus_gvalue_demarshal): invoke dbus_gvalue_init.
   5901 
   5902 	* glib/dbus-gutils.c (_dbus_gutils_wincaps_to_uscore): Moved here
   5903 	from dbus-gobject.c.
   5904 
   5905 	* glib/dbus-gutils.h: Prototype it.
   5906 
   5907 	* glib/dbus-gproxy.c: Include new dbus-gobject.h.
   5908 	(marshal_dbus_message_to_g_marshaller): Use new shared function
   5909 	dbus_glib_marshal_dbus_message_to_gvalue_array.
   5910 
   5911 	* glib/dbus-gparser.c (parse_interface, parse_method): Handle c_name attribute.
   5912 	Will be changed once we have annotations.
   5913 
   5914 	* glib/dbus-gobject.c: Change info_hash_mutex from GStaticMutex to
   5915 	GStaticRWLock.  Callers updated.
   5916 	(wincaps_to_uscore): Move to dbus-gutils.c.  Callers updated.
   5917 	(string_table_next): New function for iterating over zero-terminated
   5918 	string value array.
   5919 	(string_table_lookup): New function; retrieves specific entry in
   5920 	array.
   5921 	(get_method_data): New function; look up method data in object data chunk.
   5922 	(object_error_domain_prefix_from_object_info)
   5923 	(object_error_code_from_object_info): New functions, but not implemented yet.
   5924 	(method_interface_from_object_info): New function; retrieve interface name.
   5925 	(method_name_from_object_info): New function; retrieve method name.
   5926 	(method_arg_info_from_object_info): New function; retrieve argument data.
   5927 	(arg_iterate): New function; iterates over serialized argument data.
   5928 	(method_dir_signature_from_object_info): New function; returns a
   5929 	GString holding type signature for arguments for just one
   5930 	direction (input or output).
   5931 	(method_input_signature_from_object_info)
   5932 	(method_output_signature_from_object_info): New functions.
   5933 	(dbus_glib_marshal_dbus_message_to_gvalue_array): New shared function;
   5934 	converts dbus message arguments into a GValue array.  Used for both
   5935 	signal handling and method invocation.
   5936 	(struct DBusGlibWriteIterfaceData): New utility structure.
   5937 	(write_interface): New function; generate introspection XML for
   5938 	an interface.
   5939 	(introspect_interfaces): New function; gathers all interface->methods,
   5940 	generates introspection XML for them.
   5941 	(handle_introspect): Invoke introspect_interfaces.
   5942 	(get_object_property): Be sure to zero-initalize stack-allocated GValue.
   5943 	(lookup_object_and_method): New function; examines an incoming message
   5944 	and attempts to match it up (via interface, method name, and argument
   5945 	signature) with a known object and method.
   5946 	(gerror_domaincode_to_dbus_error_name): New function; converts a
   5947 	GError domain and code into a DBus error name.  Needs GError data
   5948 	added to object introspection to work well.
   5949 	(gerror_to_dbus_error_message): Creates a DBusMessage error return from
   5950 	GError.
   5951 	(invoke_object_method): New function to invoke an object method
   5952 	looked up via lookup_object_and_method.  Parses the incoming
   5953 	message, turns it into a GValue array, then invokes the marshaller
   5954 	specified in the DBusGMethodInfo.  Creates a new message with
   5955 	either return values or error message as appropriate.
   5956 	(gobject_message_function): Invoke lookup_object_and_method and
   5957 	invoke_object_method.
   5958 
   5959 	* glib/dbus-glib-tool.c: Include dbus-binding-tool-glib.h.
   5960 	(enum DBusBindingOutputMode): New enum for binding output modes.
   5961 	(pretty_print): Print binding names.
   5962 	(dbus_binding_tool_error_quark): GError bits.
   5963 	(version): Fix typo.
   5964 	(main): Create GIOChannel for output.  Parse new --mode argument,
   5965 	possible values are "pretty-print", "glib-server", "glib-client".
   5966 	Use mode to invoke appropriate function.
   5967 	
   5968 	* glib/dbus-gobject.h: Prototype dbus_glib_marshal_dbus_message_to_gvalue_array.
   5969 
   5970 	* glib/dbus-glib-tool.h: New header, just includes GError bits
   5971 	for now.
   5972 
   5973 	* glib/dbus-gidl.c (struct InterfaceInfo): Add bindings hashtable;
   5974 	maps binding style to name.
   5975 	(struct MethodInfo): Ditto.
   5976 	(get_hash_keys, get_hash_key): Utility function, returns keys for
   5977 	a GHashTable.
   5978 	(interface_info_new, method_info_new): Initialize bindings.
   5979 	(interface_info_unref, method_info_unref): Destroy bindings.
   5980 	(method_info_get_binding_names, method_info_get_binding_name)
   5981 	(interface_info_get_binding_names, interface_info_get_binding_name):
   5982 	Functions for retrieving binding names.
   5983 	(method_info_set_binding_name, interface_info_set_binding_name):
   5984 	Functions for setting binding names.
   5985 
   5986 	* glib/dbus-binding-tool-glib.h: New file, has prototypes
   5987 	for glib binding generation.
   5988 
   5989 	* glib/dbus-binding-tool-glib.c: New file, implements server-side
   5990 	and client-side glib glue generation.
   5991 
   5992 	* glib/Makefile.am (dbus_binding_tool_SOURCES): Add
   5993 	dbus-binding-tool-glib.c, dbus-binding-tool-glib.h,
   5994 	dbus-glib-tool.h.
   5995 
   5996 	* dbus/dbus-glib.h (struct DBusGMethodMarshaller): Remove in favor
   5997 	of using GClosureMarshal directly.
   5998 	(struct DBusGObjectInfo): Add n_infos member.
   5999 
   6000 	* test/glib/test-service-glib.xml: New file; contains introspection data
   6001 	for MyTestObject used in test-service-glib.c.
   6002 
   6003 	* test/glib/test-service-glib.c (enum MyObjectError): New GError enum.
   6004 	(my_object_do_nothing, my_object_increment, my_object_throw_error)
   6005 	(my_object_uppercase, my_object_many_args): New test methods.
   6006 	(main): Use dbus_g_object_class_install_info to include generated object
   6007 	info.
   6008 
   6009 	* test/glib/Makefile.am: Generate server-side glue for test-service-glib.c,
   6010 	as well as client-side bindings.
   6011 
   6012 	* test/glib/test-dbus-glib.c: Include test-service-glib-bindings.h.
   6013 	(main): Activate TestSuiteGLibService; test invoke a bunch of its methods
   6014 	using both the dbus_gproxy stuff directly as well as the generated bindings.
   6015 
   6016 2005-02-15  Havoc Pennington  <hp (a] redhat.com>
   6017 
   6018 	* dbus/dbus-connection.c (dbus_connection_dispatch): always
   6019 	complete a pending call, don't run filters first.
   6020 
   6021 	* glib/dbus-gproxy.c (dbus_g_proxy_end_call): change to use
   6022 	dbus_pending_call_steal_reply
   6023 
   6024 	* dbus/dbus-pending-call.c (dbus_pending_call_block): just call
   6025 	_dbus_connection_block_pending_call
   6026 	(dbus_pending_call_get_reply): change to steal_reply and return a
   6027 	ref
   6028 
   6029 	* dbus/dbus-connection.c
   6030 	(dbus_connection_send_with_reply_and_block): port to work in terms
   6031 	of DBusPendingCall
   6032 	(_dbus_connection_block_pending_call): replace block_for_reply
   6033 	with this
   6034 
   6035 2005-02-14  Havoc Pennington  <hp (a] redhat.com>
   6036 
   6037 	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group):
   6038 	properly handle looking up group information by name; fix 
   6039 	from j (a] bootlab.org
   6040 
   6041 2005-02-13  Havoc Pennington  <hp (a] redhat.com>
   6042 
   6043 	* dbus/dbus-connection.c (dbus_connection_return_message) 
   6044 	(dbus_connection_borrow_message): hold dispatch lock while message
   6045 	is outstanding
   6046 	(_dbus_connection_block_for_reply): hold dispatch lock while we
   6047 	block for the reply, so nobody steals our reply
   6048 	(dbus_connection_pop_message): hold the dispatch lock while we
   6049 	pluck the message
   6050 
   6051 2005-02-13  Havoc Pennington  <hp (a] redhat.com>
   6052 
   6053 	* dbus/dbus-connection.c (_dbus_connection_acquire_dispatch)
   6054 	(_dbus_connection_release_dispatch)
   6055 	(_dbus_connection_acquire_io_path)
   6056 	(_dbus_connection_release_io_path): make the mutex and condvar
   6057 	control access to the "acquired" flag. Drop the connection lock
   6058 	while waiting on the condvar. Hopefully these are baby steps in
   6059 	roughly the right direction.
   6060 
   6061 2005-02-13  Havoc Pennington  <hp (a] redhat.com>
   6062 
   6063 	* dbus/dbus-connection.c: use separate mutexes for the condition
   6064 	variables; this is some kind of baseline for sanity, but the
   6065 	condition variables still aren't used correctly afaict
   6066 
   6067 2005-02-13  Havoc Pennington  <hp (a] redhat.com>
   6068 
   6069 	* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
   6070 	fix a double-unlock
   6071 
   6072 	* dbus/dbus-connection.c
   6073 	(_dbus_connection_detach_pending_call_unlocked): add this
   6074 
   6075         Initial semi-correct pass through to fix thread locking; there are
   6076 	still some issues with the condition variable paths I'm pretty
   6077 	sure
   6078 	
   6079 	* dbus/dbus-server.c: add a mutex on DBusServer and appropriate
   6080 	lock/unlock calls
   6081 
   6082 	* dbus/dbus-connection.c (_dbus_connection_do_iteration_unlocked):
   6083 	rename to add _unlocked
   6084 	(struct DBusConnection): move "dispatch_acquired" and
   6085 	"io_path_acquired" to use only one bit each.
   6086 	(CONNECTION_LOCK, CONNECTION_UNLOCK): add checks with !DBUS_DISABLE_CHECKS
   6087 	(dbus_connection_set_watch_functions): hacky fix to reentrancy
   6088 	(_dbus_connection_add_watch, _dbus_connection_remove_watch) 
   6089 	(_dbus_connection_toggle_watch, _dbus_connection_add_timeout) 
   6090 	(_dbus_connection_remove_timeout) 
   6091 	(_dbus_connection_toggle_timeout): drop lock when calling out to
   6092 	user functions; done in a hacky/bad way.
   6093 	(_dbus_connection_send_and_unlock): add a missing unlock
   6094 	(_dbus_connection_block_for_reply): add a missing unlock
   6095 
   6096 	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
   6097 	drop lock in a hacky probably unsafe way to call out to user
   6098 	function
   6099 
   6100 2005-02-12  Havoc Pennington  <hp (a] redhat.com>
   6101 
   6102 	* tools/dbus-tree-view.c (info_set_func_text): display more
   6103 	details on args
   6104 
   6105 	* bus/driver.c (bus_driver_handle_list_services): list the bus
   6106 	driver
   6107 
   6108 	* glib/dbus-gparser.c (parse_arg): generate an arg name if none is supplied
   6109 
   6110 	* glib/dbus-gidl.c (signal_info_get_n_args): new function
   6111 	(method_info_get_n_args): new function
   6112 
   6113 2005-02-12  Havoc Pennington  <hp (a] redhat.com>
   6114 
   6115 	* bus/driver.c (bus_driver_handle_introspect): add introspection
   6116 	for bus driver
   6117 
   6118 2005-02-12  Havoc Pennington  <hp (a] redhat.com>
   6119 
   6120 	* bus/driver.c: put the signature of each bus driver method in the
   6121 	table of handlers and check it on incoming calls; this isn't
   6122 	really useful, but going to add introspect support in a minute.
   6123 
   6124 2005-02-11  Joe Shaw  <joeshaw (a] novell.com>
   6125 
   6126 	* mono/Connection.cs: The unpredictability of finalizers in mono
   6127 	prevents us from deterministically disconnecting the filters from
   6128 	the Service class's finalizer, so move tracking of filters and
   6129 	matches here.  Add API for that.
   6130 
   6131 	* mono/Service.cs: Remove the code, add code which calls the
   6132 	methods now on the Connection class.
   6133 
   6134 2005-02-11  John (J5) Palmieri  <johnp (a] redhat.com>
   6135 
   6136 	* python/dbus.py (class Sender): added to support dbus signals better
   6137 	(Bus::add_signal_receiver): added expand_args parameter which defaults
   6138 	to True.  When expand args is True the signal handler will pass the 
   6139 	message arguments as parameters to the signal handler.  If False
   6140 	revert to previous behavior where the signal handler must get the
   6141 	argument list from the message.  This is to help port applications
   6142 	like HAL that have a tendancy to send variable length argument lists.
   6143 	self._match_rule_to_receivers is now a dict of dicts.
   6144 	(Bus::remove_signal_receiver): pop handler off the dict intead of 
   6145 	removing it from a list
   6146 	(Bus::_signal_func): change signal handlers so that interface,
   6147 	signal_name, service, path and message are packed into a Sender
   6148 	object and that is passed to the handler.  If expand_args is True
   6149 	extract the args list from the message and append it to the parameter
   6150 	list
   6151 	
   6152 	* python/dbus_bindings.pyx.in (class Signature): added to support 
   6153 	signiature types
   6154 	(MessageIter::__init__): changed iteration limit to match D-BUS
   6155 	(MessageIter::get*): added INT16, UINT16, SIGNATURE, DICT_ENTRY, 
   6156 	STRUCT and VARIENT type support
   6157 	(MessageIter::python_value_to_dbus_sig): made recursive to support
   6158 	recursive types
   6159 	(MessageIter::append*): added Signature, dict, tuple 
   6160 	support
   6161 
   6162 	* python/examples/example-client.py: added examples of getting tuples
   6163 	and dicts
   6164 
   6165 	* python/examples/example-service.py: added examples of sending tuples
   6166 	and dicts
   6167 
   6168 	* python/examples/example-signal-recipient.py: Fixed to handle new
   6169 	signal callback format
   6170 
   6171 2005-02-10  Havoc Pennington  <hp (a] redhat.com>
   6172 
   6173 	* test/glib/test-dbus-glib.c (main): fix so this test doesn't fail
   6174 	(call dbus_g_proxy_add_signal)
   6175 
   6176 	* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
   6177 	escape the hostname
   6178 	(_dbus_server_new_for_domain_socket): escape the path
   6179 
   6180 	* dbus/dbus-address.c (dbus_address_escape_value): new
   6181 	(dbus_address_unescape_value): new
   6182 	(dbus_parse_address): unescape values
   6183 
   6184 	* dbus/dbus-string.c (_dbus_string_append_byte_as_hex): new function
   6185 
   6186 	* doc/dbus-specification.xml: explain how to escape values in
   6187 	addresses
   6188 
   6189 2005-02-10  Havoc Pennington  <hp (a] redhat.com>
   6190 
   6191 	* dbus/dbus-message-factory.c (generate_special): modify test to
   6192 	avoid using a non-basic dict key
   6193 
   6194 	* dbus/dbus-marshal-validate-util.c: add test for the below
   6195 
   6196 	* doc/dbus-specification.xml: require that dict keys are a basic
   6197 	type
   6198 
   6199 	* dbus/dbus-marshal-validate.c
   6200 	(_dbus_validate_signature_with_reason): require that dict key is a
   6201 	basic type
   6202 
   6203 2005-02-10  Havoc Pennington  <hp (a] redhat.com>
   6204 
   6205 	* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
   6206 	change to be _and_unlock instead of _unlocked
   6207 
   6208 	* dbus/dbus-connection.c
   6209 	(_dbus_connection_send_preallocated_unlocked_no_update): rename to
   6210 	have no_update so we can find this bug quickly in future
   6211 
   6212 2005-02-10  Havoc Pennington  <hp (a] redhat.com>
   6213 
   6214 	* dbus/dbus-message-util.c (verify_test_message): tests for string
   6215 	array
   6216 
   6217 	* dbus/dbus-message.c (dbus_message_append_args_valist): add
   6218 	support for arrays of string/signature/path
   6219 
   6220 2005-02-10  Joe Shaw  <joeshaw (a] novell.com>
   6221 
   6222 	* dbus/dbus-connection.c
   6223 	(_dbus_connection_queue_received_message_link,
   6224 	_dbus_connection_message_sent): Add the path to
   6225 	the verbose output.
   6226 	(_dbus_connection_send_preallocated_and_unlock): Added.  Calls
   6227 	_dbus_connection_send_preallocated_unlocked(), updated the
   6228 	dispatch status, and unlocks.  Fixes a bug where certain
   6229 	situations (like a broken pipe) could cause a Disconnect message
   6230 	to not be sent, tricking the bus into thinking a service was still
   6231 	there when the process had quit.
   6232 	(_dbus_connection_send_preallocated): Call
   6233 	_dbus_connection_send_preallocated_and_unlock().
   6234 	(_dbus_connection_send_and_unlock): Added.  Calls
   6235 	_dbus_connection_send_preallocated_and_unlock().
   6236 	(dbus_connection_send): Call _dbus_connection_send_and_unlock().
   6237 	(dbus_connection_send_with_reply): Update the dispatch status and
   6238 	unlock.
   6239 
   6240 	* mono/Service.cs (~Service): Added.  Removes the filter so that
   6241 	we don't get unmanaged code calling back into a GCed delegate.
   6242 	(RemoveFilter); Added.
   6243 
   6244 2005-02-09  John (J5) Palmieri  <johnp (a] redhat.com>
   6245 
   6246 	* dbus/dbus-message.c (dbus_message_iter_open_container):
   6247 	- Removed check for iterator type being an array because
   6248 	get_arg_type does not work with writer iterators
   6249 	- Pass NULL to _dbus_type_writer_recurse if signiture is NULL
   6250 
   6251 2005-02-07  Havoc Pennington  <hp (a] redhat.com>
   6252 
   6253 	* doc/dbus-specification.xml: some more language cleanups; add
   6254 	stuff about how to deal with invalid protocol and extension
   6255 	points; add _ to allowed chars in auth commands; add EXTENSION_
   6256 	auth command prefix
   6257 
   6258 2005-02-06  Havoc Pennington  <hp (a] redhat.com>
   6259 
   6260 	* s/expected/required/ in a couple places for clarity
   6261 
   6262 2005-02-07  Colin Walters  <walters (a] verbum.org>
   6263 
   6264 	* bus/selinux.c (bus_selinux_allows_send): Handle NULL for
   6265 	sender or proposed_recipient.
   6266 
   6267 2005-02-06  Havoc Pennington  <hp (a] redhat.com>
   6268 
   6269 	* dbus/dbus-message-factory.c (generate_special): more tests
   6270 
   6271 	* dbus/dbus-marshal-validate.c (validate_body_helper): detect
   6272 	array length that exceeds the maximum
   6273 
   6274 2005-02-05  Havoc Pennington  <hp (a] redhat.com>
   6275 
   6276 	* dbus/dbus-message-factory.c (generate_special): more test cases,
   6277 	increasing coverage
   6278 
   6279 	* dbus/dbus-marshal-validate.c (validate_body_helper): return the
   6280 	reason why a signature was invalid
   6281 
   6282 	* dbus/dbus-marshal-header.c (load_and_validate_field): fix to
   6283 	skip the length of the string before we look at it in validation
   6284 
   6285 	* dbus/dbus-string-util.c (_dbus_string_test): add tests for
   6286 	equal_substring
   6287 
   6288 	* dbus/dbus-message.c (_dbus_message_loader_new): default
   6289 	max_message_length to DBUS_MAXIMUM_MESSAGE_LENGTH
   6290 
   6291 2005-02-05  Havoc Pennington  <hp (a] redhat.com>
   6292 
   6293 	* dbus/dbus-marshal-validate.c (validate_body_helper): fix crash
   6294 	if the signature of a variant was empty
   6295 	(_dbus_validate_signature_with_reason): catch "(a)" (array inside
   6296 	struct with no element type)
   6297 
   6298 	* dbus/dbus-message-factory.c (generate_uint32_changed): add more
   6299 	mangled messages to break things
   6300 
   6301 2005-02-04  Havoc Pennington  <hp (a] redhat.com>
   6302 
   6303 	* glib/dbus-gproxy.c (dbus_g_proxy_disconnect_signal): use
   6304 	g_quark_try_string() so it actually can return 0
   6305 	(dbus_g_proxy_connect_signal): ditto
   6306 
   6307 2005-02-04  Havoc Pennington  <hp (a] redhat.com>
   6308 
   6309 	* glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): fix a
   6310 	bogus warning
   6311 	(tristring_from_message): assert cleanly on null path/interface
   6312 	(should not be possible though I decided later)
   6313 	(dbus_g_proxy_dispose): move proxy manager unregistration here
   6314 	(DBUS_G_PROXY_DESTROYED): add this macro, and use it in a bunch of
   6315 	g_return_if_fail() checks
   6316 
   6317 2005-02-04  Havoc Pennington  <hp (a] redhat.com>
   6318 
   6319 	* doc/Makefile.am (EXTRA_DIST): add DTDs to makefile
   6320 
   6321 	* doc/introspect.dtd: add introspect.dtd from David A. Wheeler
   6322 	(with some minor changes)
   6323 
   6324 	* doc/dbus-specification.xml: add deprecated attribute to
   6325 	introspection format
   6326 
   6327 2005-01-31  Havoc Pennington  <hp (a] redhat.com>
   6328 
   6329 	* glib/dbus-gproxy.c: rewrite how signals work again, this time I
   6330 	think it's sort of right
   6331 
   6332 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6333 
   6334 	* tools/dbus-viewer.c: kind of half-ass hook up the option menu.
   6335 
   6336 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6337 
   6338 	* tools/dbus-names-model.c: dynamically watch NameOwnerChanged
   6339 
   6340 	* autogen.sh: change to autotools 1.9
   6341 
   6342 	* glib/dbus-gproxy.c: completely change how signals work
   6343 	(dbus_g_proxy_add_signal): new function to specify signature of a
   6344 	signal
   6345 	(dbus_g_proxy_emit_received): marshal the dbus message to GValues,
   6346 	and g_warning if the incoming message has the wrong signature.
   6347 
   6348 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6349 
   6350 	* tools/dbus-names-model.c (have_names_notify): fix this
   6351 
   6352 	* dbus/dbus-message.c (_dbus_message_iter_get_args_valist): clean
   6353 	up the string array handling a bit 
   6354 
   6355 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6356 
   6357 	* glib/dbus-glib.c (dbus_g_pending_call_set_notify): new function
   6358 	(dbus_g_pending_call_cancel): new function
   6359 
   6360 	* dbus/dbus-glib.h: move GType decls for connection/message here;
   6361 	* dbus/dbus-glib.c: move all the g_type and ref/unref stuff in
   6362 	here, just kind of rationalizing how we handle all that
   6363 
   6364 	* tools/dbus-names-model.c: new file for a tree model listing the
   6365 	services on a bus
   6366 
   6367 	* tools/dbus-tree-view.c (model_new): use proper typing on the
   6368 	model rows
   6369 
   6370 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6371 
   6372 	* glib/dbus-gmain.c: add a custom GSource back that just checks
   6373 	whether the message queue has anything in it; otherwise, there are 
   6374 	cases where we won't see messages in the queue since there was no 
   6375 	IO visible to the glib main loop
   6376 
   6377 	* dbus/dbus-connection-internal.h (_DBUS_DEFAULT_TIMEOUT_VALUE):
   6378 	increase default message timeout to 25 seconds
   6379 
   6380 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6381 
   6382 	* test/glib/test-profile.c (no_bus_stop_server): remove the
   6383 	warning about the g_warning that I just fixed
   6384 
   6385 	* glib/dbus-gmain.c: rewrite the main loop stuff to avoid the
   6386 	custom source, seems to be a lot easier to understand and work
   6387 	better.
   6388 
   6389 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6390 
   6391         I think this main loop thing is conceptually broken, but here are 
   6392 	some band aids. I'll maybe rewrite it in a minute.
   6393 	
   6394 	* glib/dbus-gmain.c (add_timeout): timeout stuff doesn't use the
   6395 	custom GSource, so don't pass it in; confusing
   6396 	(gsource_server_finalize, gsource_connection_finalize): add
   6397 	finalize handlers that remove all the watches.	
   6398 
   6399 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6400 
   6401 	* glib/dbus-gobject.c (introspect_properties): fix the XML
   6402 	generated
   6403 
   6404 	* dbus/dbus-message.c (dbus_message_unref): add an in_cache flag
   6405 	which effectively detects the use of freed messages
   6406 
   6407 	* glib/dbus-gobject.c (handle_introspect): modify and return the
   6408 	reply message instead of the incoming message
   6409 
   6410 	* dbus/dbus-object-tree.c (handle_default_introspect_unlocked):
   6411 	gee, maybe it should SEND THE XML instead of just making a string
   6412 	and freeing it again ;-)
   6413 
   6414 	* tools/dbus-print-message.c (print_message): improve printing of
   6415 	messages
   6416 
   6417 	* configure.in: add debug-glib.service to the output
   6418 
   6419 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6420 
   6421         dbus-viewer introspected and displayed the bus driver
   6422 	
   6423 	* dbus/dbus-object-tree.c 
   6424 	(object_tree_test_iteration): add tests for a handler registered on "/"
   6425 
   6426 	* dbus/dbus-object-tree.c
   6427 	(_dbus_decompose_path): fix to handle path "/" properly
   6428 	(run_decompose_tests): add tests for path decomposition
   6429 	
   6430 	* glib/dbus-gutils.c (_dbus_gutils_split_path): fix to handle "/"
   6431 	properly
   6432 
   6433 	* glib/dbus-gobject.c (handle_introspect): fix quotes
   6434 
   6435 	* test/glib/run-test.sh: support launching the bus, then running
   6436 	dbus-viewer
   6437 
   6438 	* test/glib/test-service-glib.c (main): put in a trivial gobject
   6439 	subclass and register it on the connection
   6440 
   6441 	* bus/driver.c (bus_driver_handle_introspect): implement
   6442 	introspection of the bus driver service
   6443 
   6444 	* dbus/dbus-protocol.h: add #defines for the XML namespace,
   6445 	identifiers, doctype decl
   6446 
   6447 	* bus/driver.c (bus_driver_handle_get_service_owner): handle
   6448 	attempts to get owner of DBUS_SERVICE_ORG_FREEDESKTOP_DBUS by 
   6449 	returning the service unchanged.
   6450 	(bus_driver_handle_message): remove old check for reply_serial in
   6451 	method calls, now the message type deals with that
   6452 	(bus_driver_handle_message): handle NULL interface
   6453 
   6454 	* glib/dbus-gproxy.c (dbus_g_proxy_get_bus_name): new function
   6455 
   6456 	* glib/dbus-gloader-expat.c (description_load_from_string): allow
   6457 	-1 for len
   6458 
   6459 	* tools/dbus-viewer.c: add support for introspecting a service on
   6460 	a bus
   6461 
   6462 	* glib/dbus-gproxy.c (dbus_g_pending_call_ref): add
   6463 	(dbus_g_pending_call_unref): add
   6464 
   6465 2005-01-29  Havoc Pennington  <hp (a] redhat.com>
   6466 
   6467 	* tools/dbus-tree-view.c: add support for displaying properties.
   6468 	(run dbus-viewer with an introspect xml file as arg, then resize
   6469 	the window so the tree elements show up, not sure what that is)
   6470 
   6471 	* glib/dbus-gobject.c (handle_introspect): return
   6472 	org.freedesktop.Properties and org.freedesktop.Introspectable
   6473 	interfaces when we are introspected.
   6474 
   6475 	* doc/dbus-specification.xml: allow empty interface name when 
   6476 	Get/Set a property
   6477 
   6478 2005-01-29  Havoc Pennington  <hp (a] redhat.com>
   6479 
   6480 	* glib/Makefile.am: rename dbus-glib-tool to dbus-binding-tool;
   6481 	though it uses glib, it could be extended for any binding in
   6482 	principle
   6483 
   6484 	* glib/dbus-gobject.c (gobject_message_function): change to the
   6485 	new way properties work
   6486 
   6487 	* dbus/dbus-protocol.h: add the new interfaces
   6488 
   6489 	* doc/dbus-specification.xml: document the introspection format,
   6490 	Introspectable interface, and add an org.freedesktop.Properties
   6491 	interface.
   6492 
   6493 	* glib/dbus-gparser.c: add support for a <property> element
   6494 
   6495 	* glib/dbus-gidl.c: add PropertyInfo
   6496 
   6497 	* glib/dbus-gobject.c (handle_introspect): put the outermost
   6498 	<node> outside the signal and property descriptions.
   6499 	(introspect_properties): export properties as <property> rather
   6500 	than as method calls
   6501 
   6502 2005-01-28  Havoc Pennington  <hp (a] redhat.com>
   6503 
   6504 	* doc/TODO, doc/dbus-specification.xml: spec and TODO tweaks
   6505 	related to authentication protocol
   6506 
   6507 2005-01-28  John (J5) Palmieri  <johnp (a] redhat.com>
   6508 
   6509 	* python/dbus_bindings.pyx.in: Updated to handle new D-BUS type system
   6510 		- BUS_ACTIVATION -> BUS_STARTER
   6511 		- DBUS_BUS_ACTIVATION -> DBUS_BUS_STARTER
   6512 		- class MessageIter (__init__): Added recursion checking 
   6513 		so we throw a nice error instead of just disconnecting from the
   6514 		bus.
   6515 		(get): Added arg_type parameter for recursion.
   6516 		Removed the nil type
   6517 		Added signiture type placeholder (not implemented)
   6518 		Added struct type placeholder (not implemented)
   6519 		Added varient type placeholder (not implemented)
   6520 		Commented out dict type for now	    
   6521 		(get_element_type): renamed from get_array_type
   6522 		(get_*): changed to use the dbus_message_iter_get_basic API
   6523 		(get_*_array): removed in favor of recursive get_array method
   6524 		(get_array): new recursive method which calls get to marshal
   6525 	        the elements of the array
   6526 		(value_to_dbus_sig): New method returns the corrasponding
   6527 		dbus signiture to a python value
   6528 		(append): Comment out dict handling for now
   6529 		Handle lists with the new recursive API
   6530 		Comment out None handling for now
   6531 		(append_nil): removed
   6532 		(append_*): changed to use dbus_message_iter_append_basic API
   6533 		(append_*_array): removed in favor of recursive append_array 
   6534 		method
   6535 		(__str__): Make it easier to print out recursive iterators
   6536 		for debugging
   6537 		- class Message (__str__): moved type inspection to the
   6538 		MessageIter class' __str__ method
   6539 		(get_iter): Added an append parameter wich defaults to False
   6540 		If True use the new API's to create an append iterator
   6541 
   6542 	* python/dbus.py: Update to use new bindings API
   6543 		- TYPE_ACTIVATION -> TYPE_STARTER
   6544 		- class Bus (_get_match_rule): GetServiceOwner -> GetNameOwner
   6545 		- class ActivationBus -> class StarterBus
   6546 		- class RemoteObject (__call__): get an append iterator
   6547 		- (_dispatch_dbus_method_call): get an append iterator
   6548 		- class Object (emit_signal): get an append iterator
   6549 
   6550 	* python/examples/: Fixed up the examples to work with the new API
   6551 		
   6552 2005-01-28  Joe Shaw  <joeshaw (a] novell.com>
   6553 
   6554 	* configure.in: Bump version up to 0.30.
   6555 
   6556 	* HACKING: Add a release item to bump the version number up after 
   6557 	a release.
   6558 
   6559 2005-01-28  Havoc Pennington  <hp (a] redhat.com>
   6560 
   6561 	* doc/dbus-specification.xml: update to describe 16-bit types and
   6562 	dict entries
   6563 
   6564 	* dbus/dbus-marshal-basic.c (_dbus_unpack_uint16): fix broken
   6565 	assertion
   6566 
   6567 	* dbus/dbus-protocol.h (DBUS_TYPE_DICT_ENTRY): add DICT_ENTRY as a
   6568 	type
   6569 
   6570 	* dbus/dbus-marshal-recursive.c: implement
   6571 
   6572 2005-01-27  Havoc Pennington  <hp (a] redhat.com>
   6573 
   6574 	* dbus/dbus-arch-deps.h.in: add 16/32-bit types
   6575 
   6576 	* configure.in: find the right type for 16 and 32 bit ints as well
   6577 	as 64
   6578 
   6579 	* dbus/dbus-protocol.h (DBUS_TYPE_INT16, DBUS_TYPE_UINT16): add
   6580 	the 16-bit types so people don't have to stuff them in 32-bit or
   6581 	byte arrays.
   6582 
   6583 2005-01-27  Havoc Pennington  <hp (a] redhat.com>
   6584 
   6585         * dbus/dbus-message.c: byteswap the message if you init an
   6586 	iterator to read/write from it
   6587 	
   6588 	* dbus/dbus-marshal-byteswap.c: new file implementing 
   6589 	_dbus_marshal_byteswap()
   6590 
   6591 	* dbus/dbus-marshal-basic.c: add _dbus_swap_array()
   6592 
   6593 2005-01-26  Havoc Pennington  <hp (a] redhat.com>
   6594 	
   6595 	* dbus/dbus-marshal-validate-util.c: break this out (and fix
   6596 	build, apparently - nobody noticed?)
   6597 	
   6598 2005-01-26  Havoc Pennington  <hp (a] redhat.com>
   6599 
   6600 	* dbus/dbus-marshal-recursive.h: remove todo comment
   6601 
   6602 2005-01-25  Joe Shaw  <joeshaw (a] novell.com>
   6603 
   6604 	* Land the mono binding changes to conform to the new APIs.
   6605 
   6606 	* mono/Makefile.am: Remove Custom.cs, DBusType/Custom.cs,
   6607 	DBusType/Dict.cs, and DBusType/Nil.cs from the build.
   6608 
   6609 	* mono/Arguments.cs (GetCodeAsString): Added.  Returns the dbus
   6610 	type code as a string.
   6611 	(InitAppending): Rename dbus_message_append_iter_init() to
   6612 	dbus_message_iter_init_append().
   6613 
   6614 	* mono/BusDriver.cs: Rename ServiceEventHandler to
   6615 	NameOwnerChangedHandler.  Rename GetServiceOwner to GetOwner.
   6616 	Rename ServiceOwnerChanged to NameOwnerChanged.
   6617 
   6618 	* mono/Connection.cs: Rename BaseService to UniqueName, and the
   6619 	underlying C call.
   6620 
   6621 	* mono/Custom.cs: Removed.  The CUSTOM type has been removed.
   6622 
   6623 	* mono/Service.cs: Rename Exists to HasOwner, internally rename
   6624 	dbus_bus_acquire_service() to dbus_bus_request_name().
   6625 
   6626 	* mono/DBusType/Array.cs (ctor): Use Type.GetElementType() instead
   6627 	of Type.UnderlyingSystemType to get the correct element type for
   6628 	the array.
   6629 	(ctor): Update code for new APIs: use dbus_message_iter_recurse(),
   6630 	dbus_message_get_{element|arg}_type() instead of
   6631 	dbus_message_iter_init_array_iterator().
   6632 	(Append): Replace dbus_message_iter_append_array() with
   6633 	dbus_message_iter_open_container() and
   6634 	dbus_message_iter_close_container().
   6635 
   6636 	* mono/DBusType/Custom.cs, mono/DBusType/Nil.cs: Removed.  These
   6637 	types have been removed.
   6638 	
   6639 	* mono/DBusType/*.cs: Replace calls of
   6640 	dbus_message_iter_get_[type]() to dbus_message_iter_get_basic(),
   6641 	but specify the type in the DllImport extern declaration.  Ditto
   6642 	for dbus_message_iter_append_[type]() ->
   6643 	dbus_message_iter_append_basic().
   6644 
   6645 	* mono/example/BusListener.cs: Update for ServiceEventHandler ->
   6646 	NameOwnerChangedHandler.
   6647 
   6648 2005-01-25  John (J5) Palmieri  <johnp (a] redhat.com>
   6649 
   6650 	* python/dbus_bindings.pyx.in: Rename of methods and bindings
   6651 		- get_base_service -> get_unique_name
   6652 		- bus_get_base_service -> bus_get_unique_name
   6653 		- dbus_bus_get_base_service -> dbus_bus_get_unique_name
   6654 		- ACTIVATION_REPLY_ACTIVATED -> DBUS_START_REPLY_SUCCESS 
   6655 		- ACTIVATION_REPLY_ALREADY_ACTIVE -> DBUS_START_REPLY_ALREADY_RUNNING
   6656 		- bus_activate_service -> bus_start_service_by_name
   6657 		- dbus_bus_activate_service -> dbus_bus_start_service_by_name
   6658 		- bus_acquire_service -> bus_request_name
   6659 		- dbus_bus_acquire_service -> dbus_bus_request_name
   6660 		- bus_service_exists -> bus_name_has_owner
   6661 		- dbus_bus_service_exists -> dbus_bus_name_has_owner
   6662 
   6663 	* python/dbus.py: Rename of methods
   6664 		- activate_service -> start_service_by_name
   6665 		- bus_acquire_service -> bus_request_name
   6666 		- ACTIVATION_REPLY_ACTIVATED -> START_REPLY_SUCCESS 
   6667 		- ACTIVATION_REPLY_ALREADY_ACTIVE -> START_REPLY_ALREADY_RUNNING
   6668 
   6669 	
   6670 2005-01-24  Joe Shaw  <joeshaw (a] novell.com>
   6671 
   6672 	* dbus/dbus-connection.c (dbus_connection_dispatch): Print out the
   6673 	signature for the method that can't be found.
   6674 
   6675 	* dbus/dbus-message.c (dbus_message_iter_init): To check to see if
   6676 	the message has any arguments, we need to call
   6677 	_dbus_type_reader_get_current_type(), not
   6678 	_dbus_type_reader_has_next().
   6679 
   6680 2005-01-24  Havoc Pennington  <hp (a] redhat.com>
   6681 
   6682 	* dbus/dbus-message-factory.c: more testing of message validation
   6683 
   6684 	* dbus/dbus-protocol.h (DBUS_MINIMUM_HEADER_SIZE): move to this
   6685 	header
   6686 
   6687 2005-01-23  Havoc Pennington  <hp (a] redhat.com>
   6688 
   6689 	* dbus/dbus-message-factory.c, dbus/dbus-message-util.c: 
   6690 	get this all working, not many tests in the framework yet though
   6691 
   6692 2005-01-22  Havoc Pennington  <hp (a] redhat.com>
   6693 
   6694 	* doc/dbus-faq.xml, doc/dbus-tutorial: add a FAQ and update
   6695 	tutorial, based on work from David Wheeler.
   6696 
   6697 2005-01-21  Havoc Pennington  <hp (a] redhat.com>
   6698 
   6699 	* dbus/dbus-bus.c: add more return_if_fail checks
   6700 
   6701 	* dbus/dbus-message.c (load_message): have the "no validation"
   6702 	mode (have to edit the code to toggle the mode for now though)
   6703 
   6704 	* dbus/dbus-marshal-header.c (_dbus_header_load): have a mode that
   6705 	skips all validation; I want to use this at least for benchmark
   6706 	baseline, I'm not sure if it should be a publicly-available switch.
   6707 
   6708 2005-01-21  Havoc Pennington  <hp (a] redhat.com>
   6709 
   6710 	* glib/dbus-gmain.c: don't put the GLib bindings in the same
   6711 	toplevel doxygen group as the low-level API stuff
   6712 
   6713 	* dbus/dbus.h: note that libdbus is the low-level API
   6714 
   6715 2005-01-20  Havoc Pennington  <hp (a] redhat.com>
   6716 
   6717 	* update-dbus-docs.sh: script to update docs on the web site, only
   6718 	works for me though. neener.
   6719 
   6720 2005-01-20  Havoc Pennington  <hp (a] redhat.com>
   6721 
   6722 	* dbus/dbus-sysdeps.c (_dbus_poll): amazingly, trying to compile
   6723 	code can reveal bugs in it
   6724 
   6725 2005-01-20  Havoc Pennington  <hp (a] redhat.com>
   6726 
   6727 	* dbus/dbus-sysdeps.c (_dbus_poll): fix several bugs in the
   6728 	select() version, patches from Tor Lillqvist
   6729 
   6730 2005-01-20  Havoc Pennington  <hp (a] redhat.com>
   6731 
   6732 	* doc/dbus-tutorial.xml: replace > with &gt;
   6733 
   6734 	* bus/services.c (bus_registry_acquire_service): validate the name
   6735 	and return a better error if it's no good.
   6736 
   6737 	* doc/dbus-specification.xml: note NO_AUTO_START change
   6738 
   6739 	* dbus/dbus-protocol.h (DBUS_HEADER_FLAG_NO_AUTO_START): change
   6740 	from AUTO_START, we're toggling the default
   6741 
   6742 	* bus/dispatch.c: adapt the tests to change of auto-start default
   6743 
   6744 2005-01-18  Havoc Pennington  <hp (a] redhat.com>
   6745 
   6746 	* rename dbus-daemon-1 to dbus-daemon throughout
   6747 
   6748 2005-01-18  Havoc Pennington  <hp (a] redhat.com>
   6749 
   6750         * Throughout, grand renaming to strip out the use of "service",
   6751 	just say "name" instead (or "bus name" when ambiguous).  Did not
   6752 	change the internal code of the message bus itself, only the
   6753 	programmer-facing API and messages.
   6754 	
   6755 	* doc/dbus-specification.xml: further update the message bus section
   6756 	
   6757 	* bus/config-parser.c (all_are_equiv): fix bug using freed string
   6758 	in error case
   6759 
   6760 2005-01-17  Havoc Pennington  <hp (a] redhat.com>
   6761 
   6762 	* dbus/dbus-types.h: remove 16-bit types since we don't use them
   6763 	ever
   6764 
   6765 	* dbus/dbus-marshal-validate.c (_dbus_validate_path): disallow any
   6766 	"invalid name character" not only non-ASCII
   6767 
   6768 	* doc/dbus-specification.xml: further update spec, message bus 
   6769 	parts are still out-of-date but the marshaling etc. stuff is now
   6770 	accurate-ish
   6771 
   6772 2005-01-17  Havoc Pennington  <hp (a] redhat.com>
   6773 
   6774 	* doc/dbus-specification.xml: partially update spec
   6775 
   6776 2005-01-17  Havoc Pennington  <hp (a] redhat.com>
   6777 
   6778         * Throughout, align variant bodies according to the contained
   6779 	type, rather than always to 8. Should save a fair bit of space in
   6780 	message headers.
   6781 	
   6782 	* dbus/dbus-marshal-validate.c (_dbus_validate_body_with_reason):
   6783 	fix handling of case where p == end
   6784 
   6785 	* doc/TODO: remove the dbus_bool_t item and variant alignment items
   6786 
   6787 2005-01-17  Havoc Pennington  <hp (a] redhat.com>
   6788 
   6789 	* dbus/dbus-types.h: hardcode dbus_bool_t to 32 bits
   6790 
   6791 	* Throughout: modify DBUS_TYPE_BOOLEAN to be a 32-bit type instead
   6792 	of an 8-bit type. Now dbus_bool_t is the type to use whenever you 
   6793 	are marshaling/unmarshaling a boolean.
   6794 
   6795 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6796 
   6797         This is about it on what can be disabled/deleted from libdbus
   6798 	easily, back below 150K anyhow. Deeper cuts are more work than 
   6799 	just turning the code off as I've done here.
   6800 	
   6801 	* dbus/dbus-marshal-basic.c (_dbus_pack_int32): we don't need the
   6802 	signed int convenience funcs
   6803 
   6804 	* dbus/dbus-internals.c (_dbus_verbose_real): omit when not in
   6805 	verbose mode
   6806 
   6807 	* dbus/dbus-string-util.c, dbus/dbus-string.c: more breaking
   6808 	things out of libdbus
   6809 
   6810 	* dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-util.c: same
   6811 	
   6812 	* dbus/dbus-hash.c: purge the TWO_STRINGS crap (well, make it
   6813 	tests-enabled-only, though it should probably be deleted)
   6814 
   6815 	* dbus/dbus-message-util.c: same stuff
   6816 
   6817 	* dbus/dbus-auth-util.c: same stuff
   6818 
   6819 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6820 
   6821 	* dbus/dbus-userdb-util.c: split out part of dbus-userdb.c
   6822 
   6823 	* dbus/dbus-sysdeps.c (_dbus_uid_from_string): move here to pave
   6824 	way for stripping down dbus-userdb.c stuff included in libdbus.
   6825 	Rename _dbus_parse_uid for consistency.
   6826 
   6827 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6828 
   6829 	* dbus/dbus-internals.c (_dbus_real_assert): print the function
   6830 	name the assertion failed in
   6831 
   6832 	* dbus/dbus-internals.h (_dbus_return_if_fail) 
   6833 	(_dbus_return_val_if_fail): assert that the name of the function
   6834 	containing the check doesn't start with '_', since we only want to 
   6835 	use checks on public functions
   6836 	
   6837 	* dbus/dbus-connection.c (_dbus_connection_ref_unlocked): change
   6838 	checks to assertions
   6839 
   6840 	* dbus/dbus-marshal-header.c (_dbus_header_set_field_basic):
   6841 	change checks to asserts for private function
   6842 
   6843 	* dbus/dbus-message.c (_dbus_message_set_serial): checks
   6844 	to asserts for private function
   6845 
   6846 	* dbus/dbus-marshal-recursive.c (skip_one_complete_type): remove
   6847 	broken assertion that was breaking make check
   6848 	(_dbus_type_reader_array_is_empty): remove this rather than fix
   6849 	it, was only used in assertions
   6850 
   6851 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6852 
   6853 	* test/unused-code-gc.py: hacky script to find code that's used
   6854 	only by the bus (not libdbus) or used only by tests or not used at
   6855 	all. It has some false alarms, but looks like we can clean up a
   6856 	lot of size from libdbus.
   6857 
   6858 	* dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-utils.c,
   6859 	dbus/Makefile.am: initially move 10K of binary size out of libdbus
   6860 	
   6861 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6862 
   6863         * Add and fix docs according to Doxygen warnings throughout
   6864 	source.
   6865 	
   6866 	* dbus/dbus-marshal-recursive.c
   6867 	(_dbus_type_reader_array_is_empty): change this to just call
   6868 	array_reader_get_array_len() and make it static
   6869 
   6870 	* dbus/dbus-message.c (dbus_message_iter_get_element_type): rename
   6871 	from get_array_type
   6872 	(dbus_message_iter_init_append): rename from append_iter_init
   6873 
   6874 	* dbus/dbus-marshal-recursive.c
   6875 	(_dbus_type_reader_get_element_type): rename from
   6876 	_dbus_type_reader_get_array_type
   6877 
   6878 2005-01-15  Havoc Pennington  <hp (a] redhat.com>
   6879 
   6880 	* test/glib/test-profile.c (with_bus_server_filter): fix crash
   6881 
   6882 	* dbus/dbus-marshal-basic.c (_dbus_unpack_uint32): inline as macro
   6883 	when DBUS_DISABLE_ASSERT
   6884 	(_dbus_marshal_set_basic): be sure we align for the string length
   6885 
   6886 	* dbus/dbus-marshal-recursive.c (skip_one_complete_type): make
   6887 	this look faster
   6888 
   6889 	* dbus/dbus-string.c (_dbus_string_get_const_data_len): add an
   6890 	inline macro version
   6891 	(_dbus_string_set_byte): provide inline macro version
   6892 
   6893 2005-01-15  Havoc Pennington  <hp (a] redhat.com>
   6894 
   6895 	* Land the new message args API and type system.
   6896 
   6897 	This patch is huge, but the public API change is not 
   6898 	really large. The set of D-BUS types has changed somewhat, 
   6899 	and the arg "getters" are more geared toward language bindings;
   6900 	they don't make a copy, etc.
   6901 
   6902 	There are also some known issues. See these emails for details
   6903 	on this huge patch:
   6904 	http://lists.freedesktop.org/archives/dbus/2004-December/001836.html
   6905         http://lists.freedesktop.org/archives/dbus/2005-January/001922.html
   6906 	
   6907 	* dbus/dbus-marshal-*: all the new stuff
   6908 
   6909 	* dbus/dbus-message.c: basically rewritten
   6910 
   6911 	* dbus/dbus-memory.c (check_guards): with "guards" enabled, init
   6912 	freed blocks to be all non-nul bytes so using freed memory is less
   6913 	likely to work right
   6914 
   6915 	* dbus/dbus-internals.c (_dbus_test_oom_handling): add
   6916 	DBUS_FAIL_MALLOC=N environment variable, so you can do
   6917 	DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or
   6918 	DBUS_FAIL_MALLOC=10 to make it really, really, really slow and
   6919 	thorough.
   6920 
   6921 	* qt/message.cpp: port to the new message args API
   6922 	(operator<<): use str.utf8() rather than str.unicode()
   6923 	(pretty sure this is right from the Qt docs?)
   6924 
   6925 	* glib/dbus-gvalue.c: port to the new message args API
   6926 
   6927 	* bus/dispatch.c, bus/driver.c: port to the new message args API
   6928 
   6929 	* dbus/dbus-string.c (_dbus_string_init_const_len): initialize the
   6930 	"locked" flag to TRUE and align_offset to 0; I guess we never
   6931 	looked at these anyhow, but seems cleaner.
   6932 
   6933 	* dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING):
   6934 	move allocation padding macro to this header; use it to implement
   6935 	(_DBUS_STRING_STATIC): ability to declare a static string.
   6936 
   6937 	* dbus/dbus-message.c (_dbus_message_has_type_interface_member):
   6938 	change to return TRUE if the interface is not set.
   6939 
   6940 	* dbus/dbus-string.[hc]: move the D-BUS specific validation stuff
   6941 	to dbus-marshal-validate.[hc]
   6942 
   6943 	* dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from
   6944 	dbus-internals.c
   6945 
   6946 	* dbus/Makefile.am: cut over from dbus-marshal.[hc]
   6947 	to dbus-marshal-*.[hc]
   6948 
   6949 	* dbus/dbus-object-tree.c (_dbus_decompose_path): move this
   6950 	function here from dbus-marshal.c
   6951 
   6952 2005-01-12  Joe Shaw  <joeshaw (a] novell.com>
   6953 
   6954 	* NEWS: Update for 0.23.
   6955 
   6956 	* configure.in: Release 0.23.
   6957 
   6958 2005-01-12  Joe Shaw  <joeshaw (a] novell.com>
   6959 
   6960 	* mono/Makefile.am, mono/example/Makefile.am: Always build the 
   6961 	dbus DLL with --debug.  Clean up after the .mdb files this leaves
   6962 	behind.
   6963 
   6964 	* mono/doc/Makefile.am: Need to uninstall the docs on "make
   6965 	uninstall"
   6966 
   6967 	* mono/Arguments.cs (GetDBusTypeConstructor): If the type
   6968 	is an enum, get the enum's underlying type.  Another mono
   6969 	1.1.3 fix.
   6970 
   6971 2005-01-11  Joe Shaw  <joeshaw (a] novell.com>
   6972 
   6973 	Patch from Sjoerd Simons <sjoerd (a] luon.net>
   6974 
   6975 	* mono/Makefile.am, mono/example/Makefile.am: Don't redefine
   6976 	DESTDIR.  It breaks stuff.
   6977 
   6978 2005-01-11  Joe Shaw  <joeshaw (a] novell.com>
   6979 
   6980 	Patch from Tambet Ingo <tambet (a] ximian.com>
   6981 
   6982 	* mono/DBusType/Array.cs (Get): Get the underlying element type by
   6983 	calling type.GetElementType().  The code previously depended on
   6984 	broken Mono behavior, which was fixed in Mono 1.1.3.
   6985 
   6986 	* mono/DBusType/Dict.cs (constructor): Fix the parameters for
   6987 	Activator.CreateInstance() so that the class's constructor is
   6988 	called with the right parameters.
   6989 
   6990 2005-01-11  Joe Shaw  <joeshaw (a] novell.com>
   6991 
   6992 	Patch from Timo Ters <ext-timo.teras (a] nokia.com>
   6993 
   6994 	* dbus/dbus-connection.c
   6995 	(_dbus_connection_queue_received_message_link): Call
   6996 	_dbus_connection_remove_timeout() instead of the _locked()
   6997 	variant, since it's always called from
   6998 	_dbus_connection_handle_watch(), which handles the locking.
   6999 	Removed the _locked() variant since it's no longer used.
   7000 
   7001 2005-01-03  Havoc Pennington  <hp (a] redhat.com>
   7002 
   7003 	* dbus/dbus-internals.h: I'm an idiot, _dbus_assert certainly can
   7004 	return
   7005 	
   7006 2004-12-26  Havoc Pennington  <hp (a] redhat.com>
   7007 
   7008 	* dbus/dbus-internals.h: add _DBUS_GNUC_NORETURN to _dbus_assert
   7009 
   7010 2005-01-03  Havoc Pennington  <hp (a] redhat.com>
   7011 
   7012 	* dbus/dbus-sysdeps.c (_dbus_sysdeps_test): fix using == on
   7013 	floating point
   7014 
   7015 	* dbus/dbus-string.c (_dbus_string_insert_alignment): new function
   7016 
   7017 2005-01-02  Havoc Pennington  <hp (a] redhat.com>
   7018 
   7019 	* dbus/dbus-internals.h (_DBUS_ALIGN_OFFSET): new macro
   7020 
   7021 2005-01-01  Havoc Pennington  <hp (a] redhat.com>
   7022 
   7023 	* configure.in: add -Wfloat-equal
   7024 
   7025 2005-01-01  Havoc Pennington  <hp (a] redhat.com>
   7026 
   7027 	* dbus/dbus-sysdeps.h: add _DBUS_DOUBLES_BITWISE_EQUAL macro, 
   7028 	for a variety of reasons '==' doesn't do this.
   7029 
   7030 2004-12-31  Havoc Pennington  <hp (a] redhat.com>
   7031 
   7032 	* dbus/dbus-string.c (_dbus_string_equal_substrings): new function
   7033 	I keep wishing I had
   7034 
   7035 2004-12-30  John (J5) Palmieri  <johnp (a] redhat.com>
   7036 
   7037 	* python/dbus.py: s/ACTIVATION_REPLY_ACTIVE/ACTIVATION_REPLY_ACTIVATED
   7038 
   7039 2004-12-30  John (J5) Palmieri  <johnp (a] redhat.com>
   7040 
   7041 	* python/dbus_bindings.pyx.in: Change DBUS_ACTIVATION_REPLY_ACTIVATED
   7042 	and DBUS_ACTIVATION_REPLY_ALREADY_ACTIVE to match the values in
   7043 	dbus-protocol.h.  Because they are defines and not enums they are not
   7044 	autogenerated.
   7045 
   7046 2004-12-26  John (J5) Palmieri  <johnp (a] redhat.com>
   7047 
   7048 	* python/dbus_bindings.pyx.in (bus_activate_service): Bind
   7049 	dbus_bus_activate_service
   7050 
   7051 	* python/dbus.py (Bus.activate_service): activate a service on the
   7052 	bus.
   7053 
   7054 2004-12-24  Havoc Pennington  <hp (a] redhat.com>
   7055 
   7056 	* test/decode-gcov.c: change to use .gcno and .gcda files, but the
   7057 	file format has also changed and I haven't adapted to that yet
   7058 	
   7059 	* Makefile.am: load .gcno files from latest gcc
   7060 
   7061 2004-12-23  John (J5) Palmieri  <johnp (a] redhat.com>
   7062 	* Patch from Rob Taylor <robtaylor (a] fastmail.fm>
   7063 
   7064 	* python/dbus_bindings.pyx.in (bus_get_unix_user): New
   7065 	lowlevel binding
   7066 
   7067 	* python/dbus.py (get_unix_user): Added binding to 
   7068 	call dbus_bindings.bus_get_unix_user
   7069 
   7070 	* python/extract.py: Modified the proto_pat regex to
   7071 	handle unsigned long
   7072 
   7073 2004-12-21  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7074 
   7075 	* dbus/make-dbus-glib-error-enum.sh: omit the function keyword for
   7076 	better POSIX compliance.
   7077 
   7078 2004-12-19  Havoc Pennington  <hp (a] redhat.com>
   7079 
   7080 	* dbus/dbus-string.c (_dbus_string_insert_4_aligned) 
   7081 	(_dbus_string_insert_8_aligned): new functions
   7082 
   7083 	* dbus/dbus-string.c (_dbus_string_alloc_space): new function
   7084 
   7085 2004-12-18  Havoc Pennington  <hp (a] redhat.com>
   7086 
   7087 	* dbus/dbus-string.c (_dbus_string_validate_ascii): use ISASCII
   7088 	macro
   7089 
   7090 	* dbus/dbus-message.c: fix a comment, and add a still-unused
   7091 	not-implemented function
   7092 
   7093 	* dbus/dbus-marshal.h: fix comment
   7094 
   7095 	* dbus/dbus-internals.h (_DBUS_ISASCII): new macro
   7096 
   7097 2004-12-17  Joe Shaw  <joeshaw (a] novell.com>
   7098 
   7099 	* mono/DBusType/Byte.cs, mono/DBusType/Int32.cs,
   7100 	mono/DBusType/Int64.cs, mono/DBusType/UInt32.cs,
   7101 	mono/DBusType/UInt64.cs: Use Enum.GetUnderlyingType() instead of
   7102 	Type.UnderlyingSystemType to get the actual system type
   7103 	underneath.  This code previously depended on the broken Mono
   7104 	behavior, which was fixed in 1.1.3.
   7105 
   7106 2004-11-27  Havoc Pennington  <hp (a] redhat.com>
   7107 
   7108 	* dbus/dbus-string.h (_dbus_string_get_byte): inline when asserts
   7109 	are disabled
   7110 	(_dbus_string_get_const_data): inline when asserts are disabled
   7111 
   7112 	* dbus/dbus-message.c: record the _dbus_current_generation of
   7113 	creation so we can complain if dbus_shutdown() is used improperly.
   7114 	Do this only if checks are enabled.
   7115 
   7116 	* dbus/dbus-connection.c: ditto
   7117 	
   7118 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7119 
   7120 	* test/glib/test-profile.c: add with_bus mode to profile echoes
   7121 	that go through the bus.
   7122 
   7123 	* test/glib/run-test.sh: add ability to run test-profile
   7124 
   7125 	* bus/dbus-daemon-1.1.in: fix to say that SIGHUP causes partial
   7126 	config file reload.
   7127 
   7128 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7129 
   7130 	* test/glib/test-profile.c: clean up how the fake_malloc_overhead
   7131 	thing was implemented
   7132 
   7133 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7134 
   7135 	* test/glib/test-profile.c: tweak a bit, add support for some
   7136 	made-up minimal malloc overhead with plain sockets, since in 
   7137 	real life some sort of buffers are unavoidable thus we could 
   7138 	count them in the theoretical best case
   7139 
   7140 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7141 
   7142 	* dbus/dbus-message.c (dbus_message_cache_or_finalize): fix bug
   7143 	where I was trying to cache one too many messages
   7144 
   7145 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7146 
   7147 	* dbus/dbus-message.c: reimplement message cache as an array which 
   7148 	makes the cache about twice as fast and saves maybe 1.5% overall
   7149 
   7150 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7151 
   7152 	* dbus/dbus-threads.c (init_global_locks): forgot to put the
   7153 	message cache lock here
   7154 
   7155 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7156 
   7157 	* dbus/dbus-message.c (struct DBusMessage): put the locked bit and
   7158 	the "char byte_order" next to each other to save 4 bytes
   7159 	(dbus_message_new_empty_header): reduce preallocation, since the
   7160 	message cache should achieve a similar effect
   7161 	(dbus_message_cache_or_finalize, dbus_message_get_cached): add a
   7162 	message cache that keeps a few DBusMessage around in a pool,
   7163 	another 8% speedup or so.
   7164 
   7165 	* dbus/dbus-dataslot.c (_dbus_data_slot_list_clear): new function
   7166 
   7167 2004-11-25  Havoc Pennington  <hp (a] redhat.com>
   7168 
   7169 	* dbus/dbus-transport-unix.c (unix_do_iteration): if we're going
   7170 	to write, without reading or blocking, try it before the poll()
   7171 	and skip the poll() if nothing remains to write. This is about a
   7172 	3% speedup in the echo client/server
   7173 
   7174 2004-11-25  Havoc Pennington  <hp (a] redhat.com>
   7175 
   7176         The primary change here is to always write() once before adding
   7177 	the write watch, which gives us about a 10% performance increase.
   7178 	
   7179 	* dbus/dbus-transport-unix.c: a number of modifications to cope
   7180 	with removing messages_pending
   7181 	(check_write_watch): properly handle
   7182 	DBUS_AUTH_STATE_WAITING_FOR_MEMORY; adapt to removal of
   7183 	messages_pending stuff
   7184 	(check_read_watch): properly handle WAITING_FOR_MEMORY and
   7185 	AUTHENTICATED cases
   7186 	(unix_handle_watch): after writing, see if the write watch can be
   7187 	removed
   7188 	(unix_do_iteration): assert that write_watch/read_watch are
   7189 	non-NULL rather than testing that they aren't, since they 
   7190 	aren't allowed to be NULL. check_write_watch() at the end so 
   7191 	we add the watch if we did not finish writing (e.g. got EAGAIN)
   7192 
   7193 	* dbus/dbus-transport-protected.h: remove messages_pending call,
   7194 	since it resulted in too much inefficient watch adding/removing; 
   7195 	instead we now require that the transport user does an iteration 
   7196 	after queueing outgoing messages, and after trying the first
   7197 	write() we add a write watch if we got EAGAIN or exceeded our 
   7198 	max bytes to write per iteration setting
   7199 
   7200 	* dbus/dbus-string.c (_dbus_string_validate_signature): add this
   7201 	function
   7202 
   7203 	* dbus/dbus-server-unix.c (unix_finalize): the socket name was
   7204 	freed and then accessed, valgrind flagged this bug, fix it
   7205 
   7206 	* dbus/dbus-message.c: fix several bugs where HEADER_FIELD_LAST was taken
   7207 	as the last valid field plus 1, where really it is equal to the
   7208 	last valid field. Corrects some message corruption issues.
   7209 
   7210 	* dbus/dbus-mainloop.c: verbosity changes
   7211 
   7212 	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): handle OOM
   7213 	instead of aborting in one of the test codepaths
   7214 
   7215 	* dbus/dbus-internals.c (_dbus_verbose_real): fix a bug that
   7216 	caused not printing the pid ever again if a verbose was missing
   7217 	the newline at the end
   7218 	(_dbus_header_field_to_string): add HEADER_FIELD_SIGNATURE
   7219 
   7220 	* dbus/dbus-connection.c: verbosity changes; 
   7221 	(dbus_connection_has_messages_to_send): new function
   7222 	(_dbus_connection_message_sent): no longer call transport->messages_pending
   7223 	(_dbus_connection_send_preallocated_unlocked): do one iteration to
   7224 	try to write() immediately, so we can avoid the write watch. This
   7225 	is the core purpose of this patchset
   7226 	(_dbus_connection_get_dispatch_status_unlocked): if disconnected,
   7227 	dump the outgoing message queue, so nobody will get confused
   7228 	trying to send them or thinking stuff is pending to be sent
   7229 
   7230 	* bus/test.c: verbosity changes
   7231 
   7232 	* bus/driver.c: verbosity/assertion changes
   7233 
   7234 	* bus/dispatch.c: a bunch of little tweaks to get it working again
   7235 	because this patchset changes when/where you need to block.
   7236 
   7237 2004-11-23  Havoc Pennington  <hp (a] redhat.com>
   7238 
   7239 	* test/glib/test-profile.c: modify to accept a plain_sockets
   7240 	argument in which case it will bench plain sockets instead of
   7241 	libdbus, for comparison purposes.
   7242 
   7243 2004-11-22  Havoc Pennington  <hp (a] redhat.com>
   7244 
   7245 	* test/glib/test-profile.c (N_CLIENT_THREADS): run multiple
   7246 	threads for more time, so sysprof can get a grip on it.
   7247 
   7248 	* dbus/dbus-string.c (_dbus_string_validate_utf8): remove
   7249 	pointless variable
   7250 
   7251 2004-11-13  Havoc Pennington  <hp (a] redhat.com>
   7252 
   7253 	* test/glib/test-profile.c: fix this thing up a bit
   7254 
   7255 	* dbus/dbus-message.c (dbus_message_new_empty_header): increase
   7256 	preallocation sizes by a fair bit; not sure if this will be an
   7257 	overall performance win or not, but it does reduce reallocs.
   7258 
   7259 	* dbus/dbus-string.c (set_length, reallocate_for_length): ignore
   7260 	the test hack that forced constant realloc if asserts are
   7261 	disabled, so we can profile sanely. Sprinkle in some
   7262 	_DBUS_UNLIKELY() which are probably pointless, but before I
   7263 	noticed the real performance problem I put them in.
   7264 	(_dbus_string_validate_utf8): micro-optimize this thing a little
   7265 	bit, though callgrind says it didn't help; then special-case
   7266 	ascii, which did help a lot; then be sure we detect nul bytes as
   7267 	invalid, which is a bugfix.
   7268 	(align_length_then_lengthen): add some more _DBUS_UNLIKELY
   7269 	superstition; use memset to nul the padding instead of a manual
   7270 	loop.
   7271 	(_dbus_string_get_length): inline this as a
   7272 	macro; it showed up in the profile because it's used for loop
   7273 	tests and so forth
   7274 
   7275 2004-11-10  Colin Walters  <walters (a] verbum.org>
   7276 
   7277 	* dbus/dbus-spawn.c (check_babysit_events): Handle EINTR,
   7278 	for extra paranoia.
   7279 
   7280 2004-11-09  Colin Walters  <walters (a] verbum.org>
   7281 
   7282 	* dbus/dbus-string.c (_dbus_string_get_length): New
   7283 	function, writes DBusString to C buffer.
   7284 
   7285 	* dbus/dbus-string.h: Prototype it.
   7286 
   7287 	* dbus/dbus-message.c (dbus_message_type_to_string): New
   7288 	function, converts message type into C string.
   7289 
   7290 	* dbus/dbus-message.h: Prototype it.
   7291 
   7292 	* bus/selinux.c (bus_selinux_check): Take source pid,
   7293 	target pid, and audit data.  Pass audit data to
   7294 	avc_has_perm.
   7295 	(log_audit_callback): New function, appends extra
   7296 	audit information.
   7297 	(bus_selinux_allows_acquire_service): Also take
   7298 	service name, add it to audit data.
   7299 	(bus_selinux_allows_send): Also take message
   7300 	type, interface, method member, error name,
   7301 	and destination, and add them to audit data.
   7302 	(log_cb): Initialize func_audit.
   7303 	
   7304 	* bus/selinux.h (bus_selinux_allows_acquire_service)
   7305 	(bus_selinux_allows_send): Update prototypes 
   7306 
   7307 	* bus/services.c (bus_registry_acquire_service): Pass
   7308 	service name to bus_selinux_allows_acquire_service.
   7309 
   7310 	* bus/bus.c (bus_context_check_security_policy): Pass
   7311 	additional audit data.  Move assignment of dest
   7312 	to its own line.
   7313 
   7314 2004-11-07  Colin Walters  <walters (a] verbum.org>
   7315 
   7316 	* dbus/dbus-transport-unix.c (do_authentication): Always
   7317 	initialize auth_completed.
   7318 	
   7319 2004-11-07  Colin Walters  <walters (a] verbum.org>
   7320 
   7321 	* bus/bus.c (load_config): Break into three
   7322 	separate functions: process_config_first_time_only,
   7323 	process_config_every_time, and process_config_postinit.
   7324 	(process_config_every_time): Move call of
   7325 	bus_registry_set_service_context_table into
   7326 	process_config_postinit.
   7327 	(process_config_postinit): New function, does
   7328 	any processing that needs to happen late
   7329 	in initialization (and also on reload).
   7330 	(bus_context_new): Instead of calling load_config,
   7331 	open config parser here and call process_config_first_time_only
   7332 	and process_config_every_time directly.  Later, after
   7333 	we have forked but before changing UID,
   7334 	invoke bus_selinux_full_init, and then call
   7335 	process_config_postinit.
   7336 	(bus_context_reload_config): As in bus_context_new,
   7337 	load parse file inside here, and call process_config_every_time
   7338 	and process_config_postinit.
   7339 
   7340 	* bus/services.h, bus/services.c
   7341 	(bus_registry_set_service_context_table): Rename
   7342 	from bus_registry_set_sid_table.  Take string hash from config
   7343 	parser, and convert them here into SIDs.
   7344 
   7345 	* bus/config-parser.c (struct BusConfigParser): Have
   7346 	config parser only store a mapping of service->context
   7347 	string.
   7348 	(merge_service_context_hash): New function.
   7349 	(merge_included): Merge context string hashes instead
   7350 	of using bus_selinux_id_table_union.
   7351 	(bus_config_parser_new): Don't use bus_selinux_id_table_new;
   7352 	simply create a new string hash.
   7353 	(bus_config_parser_unref): Unref it.
   7354 	(start_selinux_child): Simply insert strings into hash,
   7355 	don't call bus_selinux_id_table_copy_over.
   7356 
   7357 	* bus/selinux.h, bus/selinux.c (bus_selinux_id_table_union)
   7358 	(bus_selinux_id_table_copy_over): Delete.
   7359 
   7360 2004-11-03  Colin Walters  <walters (a] verbum.org>
   7361 
   7362 	* bus/selinux.c (bus_selinux_pre_init): Kill some unused
   7363 	variables.
   7364 	
   7365 2004-11-03  Colin Walters  <walters (a] verbum.org>
   7366 
   7367 	* bus/test-main.c (test_pre_hook): Fix test logic,
   7368 	thanks Joerg Barfurth <Joerg.Barfurth (a] Sun.COM>.
   7369 
   7370 2004-11-02  Colin Walters  <walters (a] redhat.com>
   7371 
   7372 	* bus/selinux.c (bus_selinux_init): Split into two functions,
   7373 	bus_selinux_pre_init and bus_selinux_post_init.
   7374 	(bus_selinux_pre_init): Just determine whether SELinux is
   7375 	enabled.
   7376 	(bus_selinux_post_init): Do everything else.
   7377 
   7378 	* bus/main.c (main): Call bus_selinux_pre_init before parsing
   7379 	config file, and bus_selinux_post_init after.  This ensures that
   7380 	we don't lose the policyreload notification thread that
   7381 	bus_selinux_init created before forking previously.
   7382 	
   7383 	* bus/test-main.c (test_pre_hook): Update for split.
   7384 
   7385 2004-10-31  Owen Fraser-Green  <owen (a] discobabe.net>
   7386 
   7387 	Patch from Johan Fischer <linux (a] fischaz.com>
   7388 	
   7389 	* mono/doc/Makefile.am (install-data-local): Added directory
   7390 	install for DESTDIR
   7391 
   7392 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7393 
   7394 	* dbus/dbus-sysdeps.h (_dbus_become_daemon): Also take
   7395 	parameter for fd to write pid to.	
   7396 
   7397 	* dbus/dbus-sysdeps.c (_dbus_become_daemon): Implement it.
   7398 	
   7399 	* bus/bus.c (bus_context_new): Pass print_pid_fd
   7400 	to _dbus_become_daemon (bug #1720)
   7401 
   7402 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7403 
   7404 	Patch from Ed Catmur <ed (a] catmur.co.uk>
   7405 
   7406 	* mono/doc/Makefile.am (install-data-local): Handle
   7407 	DESTDIR.
   7408 
   7409 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7410 
   7411 	* bus/.cvsignore, qt/.cvsignore: Update.
   7412 
   7413 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7414 
   7415 	Patch from Kristof Vansant <de_lupus (a] pandora.be>
   7416 
   7417 	* configure.in: Detect Slackware.
   7418 	* bus/Makefile.am (SCRIPT_IN_FILES): Add rc.messagebus.in.
   7419 	* bus/rc.messagebus.in: New file.
   7420 
   7421 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7422 
   7423 	* tools/dbus-monitor.c (filter_func): Return
   7424 	DBUS_HANDLER_RESULT_HANDLED in filter function
   7425 	for now.  See:
   7426 	http://freedesktop.org/pipermail/dbus/2004-August/001433.html
   7427 
   7428 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7429 
   7430 	Patch from Matthew Rickard <mjricka (a] epoch.ncsc.mil>
   7431 
   7432 	* bus/services.c (bus_registry_acquire_service): 
   7433 	Correctly retrieve service name from DBusString
   7434 	for printing.
   7435 
   7436 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7437 
   7438 	* dbus/dbus-glib.h: Update documentation to not
   7439 	refer to internal APIs.
   7440 
   7441 2004-10-27  Joe Shaw  <joeshaw (a] novell.com>
   7442 
   7443 	* mono/Arguments.cs (GetDBusTypeConstructor):
   7444 	type.UnderlyingSystemType will return "System.Byte" if you do it
   7445 	on "byte[]", which is not what we want.  So check the type.IsArray
   7446 	property and use System.Array instead.
   7447 
   7448 2004-10-25  John (J5) Palmieri  <johnp (a] redhat.com>
   7449 
   7450 	* dbus/dbus-sysdeps.c (fill_user_info): On errors do not free
   7451 	the DBusUserInfo structure since this is passed into the function.
   7452 	This would cause a double free when the function that allocated
   7453 	the structure would try to free it when an error occured.
   7454 
   7455 	* (bus/session.conf.in, bus/Makefile.am, dbus/configure.in):
   7456 	use /usr/share/dbus-1/services instead of /usr/lib/dbus-1.0/services
   7457 	for service activation to avoid 32bit/64bit parallel install issues
   7458 
   7459 2004-10-21  Colin Walters  <walters (a] verbum.org>
   7460 
   7461 	* AUTHORS: Fix my email address, the @gnu.org one
   7462 	has been bouncing for some time.  Also add J5.
   7463 	
   7464 2004-10-21  Colin Walters  <walters (a] verbum.org>
   7465 
   7466 	* dbus/dbus-transport-unix.c (do_authentication): Return
   7467 	authentication status to callers.
   7468 	(unix_handle_watch): If we completed authentication this round,
   7469 	don't do another read.  Instead wait until the next iteration,
   7470 	after we've read any pending data in the auth buffer.
   7471 	(unix_do_iteration): Ditto.
   7472 	(unix_handle_watch): Updated for new do_authentication prototype.
   7473 
   7474 2004-10-18  Colin Walters  <walters (a] verbum.org>
   7475 
   7476 	* bus/selinux.c (bus_selinux_enabled): Handle
   7477 	--disable-selinux case.
   7478 	
   7479 2004-10-18  Colin Walters  <walters (a] verbum.org>
   7480 
   7481 	* bus/selinux.h: Add bus_selinux_enabled.
   7482 	
   7483 	* bus/selinux.c (bus_selinux_enabled): Implement it.
   7484 	
   7485 	* bus/config-parser.c (struct include): Add
   7486 	if_selinux_enabled member.
   7487 	(start_busconfig_child): Parse if_selinux_enabled
   7488 	attribute for include.
   7489 	(bus_config_parser_content): Handle it.
   7490 
   7491 	* bus/session.conf.in, bus/system.conf.in: Add
   7492 	inclusion of context mapping to default config files;
   7493 	conditional on SELinux being enabled.
   7494 	
   7495 	* doc/busconfig.dtd: Add to if_selinux_enabled to default DTD.
   7496 	
   7497 	* test/data/invalid-config-files/badselinux-1.conf, 
   7498 	test/data/invalid-config-files/badselinux-2.conf:
   7499 	Test files for bad syntax.
   7500 	
   7501 2004-10-17  Colin Walters  <walters (a] verbum.org>
   7502 
   7503 	* dbus/dbus-memory.c (_dbus_initialize_malloc_debug, check_guards)
   7504 	(dbus_malloc, dbus_malloc0, dbus_realloc): Fix up printf
   7505 	format specifier mismatches.
   7506 
   7507 2004-10-07  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7508 
   7509 	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): fix an incorrect
   7510 	format string.
   7511 
   7512 	* glib/dbus-dbus-gmain.c (dbus_g_bus_get): do not mangle NULL
   7513 	pointer (bug #1540, Leonardo Boiko).
   7514 
   7515 2004-09-28  Jon Trowbridge  <trow (a] ximian.com>
   7516 
   7517 	* mono/BusDriver.cs: Changed BusDriver struct to remove
   7518 	the ServiceCreated and ServiceDeleted events and replace them
   7519 	with the new ServiceOwnerChanged event.
   7520 
   7521 	* mono/example/BusListener.cs: Added a new example program,
   7522 	which listens for and reports any ServiceOwnerChanged events
   7523 	on the bus driver.
   7524 
   7525 	* mono/example/Makefile.am (DESTDIR): Build changes for the
   7526 	new BusListener.cs example.
   7527 
   7528 2004-09-27  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7529 
   7530 	* bus/signals.c (bus_match_rule_parse): validate the components of
   7531 	match rules (bug #1439).
   7532 
   7533 	* dbus/dbus-bus.c (dbus_bus_add_match): add a missing OOM test.
   7534 
   7535 2004-09-24  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7536 
   7537 	* doc/dbus-specification.xml: document ServiceOwnerChanged
   7538 	signal.
   7539 	
   7540 	* bus/driver.c, bus/driver.h, bus/services.c: Use
   7541 	ServiceOwnerChanged signal instead of ServiceCreated and
   7542 	ServiceDeleted.
   7543 	
   7544 	* bus/dispatch.c: update testcase for the new signal.
   7545 
   7546 2004-09-20  Jon Trowbridge  <trow (a] ximian.com>
   7547 
   7548 	Patch from Nat Friedman <nat (a] novell.com>
   7549 
   7550 	* mono/Makefile.am: A number of small build fixes to allow "make
   7551 	distcheck" to succeed.
   7552 
   7553 	* mono/example/Makefile.am: "make distcheck" fixes.
   7554 
   7555 	* mono/AssemblyInfo.cs.in: When signing the assembly, look for the
   7556 	key in @srcdir@.
   7557 
   7558 	* test/Makefile.am: "make distcheck" fixes.
   7559 
   7560 2004-09-17  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7561 
   7562 	* dbus/dbus-sysdeps.c (_dbus_user_at_console): fix memleak in OOM.
   7563 
   7564 	* doc/busconfig.dtd: update the DTD for the at_console attribute.
   7565 
   7566 	* bus/driver.c (bus_driver_handle_hello): correctly handle Hello
   7567 	messages after the first one (bug #1389).
   7568 	
   7569 	* bus/dispatch.c (check_double_hello_message): add a test case for
   7570 	the double hello message bug.
   7571 	(check_existent_service_activation): fix check of spawning error.
   7572 	
   7573 2004-09-16  David Zeuthen  <david (a] fubar.dk>
   7574 
   7575 	* python/dbus_bindings.pyx.in: Add support for int64 and uint64
   7576 
   7577 2004-09-12  David Zeuthen  <david (a] fubar.dk>
   7578 
   7579 	Patch from Kay Sievers <kay.sievers (a] vrfy.org>
   7580 
   7581 	* bus/bus.c (bus_context_new):
   7582 	* bus/bus.h:
   7583 	* bus/main.c (usage)
   7584 	(main):
   7585 	Add commandline option --nofork to override configuration file
   7586 	setting.
   7587 
   7588 2004-09-09  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7589 
   7590 	* dbus/dbus-*.h: remove the ; after DBUS_(BEGIN|END)_DECLS. Some C
   7591 	compilers don't like it (bug #974).
   7592 
   7593 2004-09-04  Harald Fernengel  <harry (a] kdevelop.org>
   7594 
   7595 	* qt/connection.*: Applied patch by Jrme Lodewyck
   7596 	<lodewyck (a] clipper.ens.fr> to integrate an existing
   7597 	connection into the Qt eventloop
   7598 
   7599 2004-08-30  Jon Trowbridge  <trow (a] ximian.com>
   7600 
   7601 	* mono/BusDriver.cs: Added.  This is a class for interacting with
   7602 	the org.freedesktop.DBus service.
   7603 
   7604 	* mono/Message.cs: Added a mechanism to expose the message that is
   7605 	currently being dispatched via the static Message.Current
   7606 	property.  Added Message.Sender and Message.Destination
   7607 	properties.
   7608 
   7609 	* mono/Handler.cs: Expose the dispatched message via
   7610 	Message.Current when handling method calls.
   7611 
   7612 	* mono/Service.cs: Expose the dispatched message via
   7613 	Message.Current when handling signal emissions.
   7614 	
   7615 	* mono/Connection.cs: Bind dbus_bus_get_base_service via the
   7616 	Connection.BaseService property.
   7617 
   7618 2004-08-28  Havoc Pennington  <hp (a] redhat.com>
   7619 
   7620 	* dbus/dbus-userdb.c (_dbus_is_console_user): remove unused variable
   7621 
   7622         More fixes from Steve Grubb
   7623 	
   7624 	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix fd leak
   7625 	(_dbus_listen_tcp_socket): fix fd leak
   7626 
   7627 	* dbus/dbus-spawn.c (read_pid, read_ints): move the "again:" for
   7628 	EINTR to a bit lower in the code
   7629 
   7630 2004-08-26  Jon Trowbridge  <trow (a] ximian.com>
   7631 
   7632 	* bus/driver.c (bus_driver_handle_service_exists): Respond with
   7633 	TRUE if we are inquiring about the existence of the built-in
   7634 	org.freedesktop.DBus service.
   7635 
   7636 2004-08-25  John Palmieri  <johnp (a] redhat.com>
   7637 	* bus/config-parser.c:
   7638 	(struct PolicyType): Add POLICY_CONSOLE
   7639 	(struct Element.d.policy): s/gid_or_uid/gid_uid_or_at_console
   7640 	(start_busconfig_child): Sets up console element when
   7641 	<policy at_console=""> is encountered in a policy file
   7642 	(append_rule_from_element): Convert console elements to console
   7643 	rules.
   7644 
   7645 	* bus/policy.c: 
   7646 	(bus_policy_create_client_policy): Add console rules to the client
   7647 	policy based on if the client is at the console
   7648 	(bus_policy_append_console_rule): New function for adding a
   7649 	console rule to a policy
   7650 	(bus_policy_merge): Handle console rule merging
   7651 
   7652 	* dbus/dbus-sysdeps.h: Added the DBUS_CONSOLE_DIR constant
   7653 	where we check for console user files
   7654 	
   7655 	* dbus/dbus-sysdeps.c:
   7656 	(_dbus_file_exists): New function which checks if the given
   7657 	file exists
   7658 	(_dbus_user_at_console): New function which does the system
   7659 	specific process of checking if the user is at the console
   7660 
   7661 	* dbus/dbus-userdb.c:
   7662 	(_dbus_is_console_user): New function converts a UID to user name
   7663 	and then calls the system specific _dbus_user_at_console to 
   7664 	see if the user is at the console and therefor a console user
   7665 
   7666 2004-08-25  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7667 
   7668 	* bus/config-parser.c (set_limit):
   7669 	* bus/dbus-daemon-1.1.in:
   7670 	* test/data/valid-config-files/many-rules.conf: set the
   7671 	max_match_rules_per_connection limt from the config file. 
   7672 
   7673 	* doc/busconfig.dtd: update the DTD.
   7674 
   7675 	* bus/driver.c: remove some unused variables.
   7676 
   7677 2004-08-24  Mikael Hallendal  <micke (a] imendio.com>
   7678 
   7679 	* dbus/dbus-glib-lowlevel.h: Removed dbus_bus_get_with_g_main since 
   7680 	it's been replaced by dbus_g_bus_get
   7681 
   7682 2004-08-23  Colin Walters  <walters (a] redhat.com>
   7683 
   7684 	Updated SELinux support from Matthew Rickard <mjricka (a] epoch.ncsc.mil>
   7685 
   7686 	* bus/selinux.h: Prototype bus_selinux_get_policy_root.
   7687 
   7688 	* bus/selinux.c: Create a thread for policy reload notification.
   7689 	(bus_selinux_get_policy_root): Implement.
   7690 
   7691 	* bus/config-parser.c (start_busconfig_child)
   7692 	(bus_config_parser_content): Support SELinux-root relative
   7693 	inclusion.
   7694 
   7695 	* configure.in <HAVE_SELINUX>: Add -lpthread.
   7696 	
   7697 	* bus/test-main.c (test_pre_hook, test_post_hook): New.
   7698 	(test_post_hook): Move memory checking into here.
   7699 	(test_pre_hook, test_post_hook): Move SELinux checks in
   7700 	here, but conditional on a DBUS_TEST_SELINUX environment
   7701 	variable.  Unfortunately we can't run the SELinux checks
   7702 	as a normal user, since they won't have any permissions
   7703 	for /selinux.  So this will have to be tested manually
   7704 	for now, until we have virtualization for most of
   7705 	libselinux.
   7706 	
   7707 2004-08-23  Havoc Pennington  <hp (a] redhat.com>
   7708 
   7709 	* dbus/dbus-sysdeps.c (_dbus_change_identity): add setgroups() to
   7710 	drop supplementary groups, suggested by Steve Grubb
   7711 
   7712 2004-08-20  Colin Walters  <walters (a] redhat.com>
   7713 
   7714 	* bus/config-parser.c (start_busconfig_child): Remove some unused
   7715 	variables.
   7716 	
   7717 	* bus/selinux.c (bus_selinux_id_table_insert): Avoid compiler
   7718 	warning.
   7719 
   7720 2004-08-17  Joe Shaw  <joeshaw (a] novell.com>
   7721 
   7722 	* configure.in: If --enable-mono is passed in, if we can't find
   7723 	mono error out.
   7724 
   7725 	* mono/Makefile.am: Use /gacutil to install assemblies into the
   7726 	GAC and not /root.
   7727 
   7728 2004-08-12  Havoc Pennington  <hp (a] redhat.com>
   7729 
   7730 	* NEWS: update for 0.22
   7731 
   7732 	* configure.in: release 0.22
   7733 
   7734 2004-08-11  Colin Walters  <walters (a] redhat.com>
   7735 
   7736 	* tools/dbus-send.c (main, usage): Add --reply-timeout
   7737 	argument.
   7738 
   7739 2004-08-10  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7740 
   7741 	* bus/bus.c (process_config_first_time_only): get rid of an unused
   7742 	DBusError that was causing a memoy leak (bug #989).
   7743 
   7744 	* dbus/dbus-keyring.c, dbus/dbus-message.c:
   7745 	fix compilation on Solaris/Forte C (bug #974)
   7746 
   7747 	* bus/main.c (main): plug two minuscule memleaks.
   7748 
   7749 2004-08-10  Havoc Pennington  <hp (a] redhat.com>
   7750 
   7751 	* doc/dbus-tutorial.xml: add some more info on GLib bindings
   7752 
   7753 2004-08-09  Havoc Pennington  <hp (a] redhat.com>
   7754 
   7755 	* COPYING: switch to Academic Free License version 2.1 instead of
   7756 	2.0, to resolve complaints about patent termination clause.
   7757 
   7758 2004-07-31  John (J5) Palmieri  <johnp (a] redhat.com>
   7759 
   7760 	* README: added documentation for the --enable-python 
   7761 	configure switch.
   7762 
   7763 2004-07-31  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7764 
   7765 	* bus/config-parser.c (bus_config_parser_new): fix an invalid
   7766 	_unref in the SELinux support.
   7767 
   7768 	* doc/busconfig.dtd: update DTD for SELinux support.
   7769 
   7770 	* bus/config-loader-libxml.c: fix error handler and parser
   7771 	initialisation/cleanup. OOM test now works with libxml2 HEAD.
   7772 
   7773 	* configure.in: remove the warning about libxml2.
   7774 
   7775 	* dbus/dbus-bus.c: silence doxygen warning.
   7776 
   7777 2004-07-31  Colin Walters  <walters (a] redhat.com>
   7778 
   7779 	* configure.in: Move #error in SELinux check to its own line.
   7780 
   7781 2004-07-31  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7782 
   7783 	* dbus/dbus-internals.h (_DBUS_SET_OOM):
   7784 	* bus/utils.h (BUS_SET_OOM): use dbus_error_set_const instead of
   7785 	dbus_error_set.
   7786 
   7787 	* bus/dispatch.c (check_send_exit_to_service): fix the test case,
   7788 	broken by the change in the _SET_OOM macros.
   7789 
   7790 2004-07-31  Colin Walters  <walters (a] redhat.com>
   7791 
   7792 	* bus/selinux.c <HAVE_SELINUX>: Include utils.h to get
   7793 	BUS_SET_OOM.
   7794 
   7795 2004-07-31  Colin Walters  <walters (a] redhat.com>
   7796 
   7797 	* configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADER
   7798 	to correctly detect DBUS__ACQUIRE_SVC.  Also add an
   7799 	AC_MSG_CHECKING.
   7800 
   7801 2004-07-24  Havoc Pennington  <hp (a] redhat.com>
   7802 
   7803 	SELinux support from Matthew Rickard <mjricka (a] epoch.ncsc.mil>
   7804 
   7805 	* bus/selinux.c, bus/selinux.h: new file encapsulating selinux
   7806 	functionality
   7807 
   7808 	* configure.in: add --enable-selinux
   7809 	
   7810 	* bus/policy.c (bus_policy_merge): add FIXME to a comment
   7811 
   7812 	* bus/main.c (main): initialize and shut down selinux
   7813 
   7814 	* bus/connection.c: store SELinux ID on each connection, to avoid 
   7815 	repeated getting of the string context and converting it into 
   7816 	an ID
   7817 
   7818 	* bus/bus.c (bus_context_get_policy): new accessor, though it
   7819 	isn't used
   7820 	(bus_context_check_security_policy): check whether the security
   7821 	context of sender connection can send to the security context of
   7822 	recipient connection
   7823 
   7824 	* bus/config-parser.c: add parsing for <selinux> and <associate>
   7825 	
   7826 	* dbus/dbus-transport.c (_dbus_transport_get_unix_fd): to
   7827 	implement dbus_connection_get_unix_fd()
   7828 
   7829 	* dbus/dbus-connection.c (dbus_connection_get_unix_fd): new
   7830 	function, used by the selinux stuff
   7831 	
   7832 2004-07-29  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7833 
   7834 	* bus/config-loader-libxml.c: complete the implementation of
   7835 	libxml backend for config file loader. Doesn't work with full OOM
   7836 	test yet. 
   7837 	
   7838 	* configure.in: change error when selecting libxml into a warning.
   7839 	
   7840 	* test/data/invalid-config-files: add two non-well-formed XML
   7841 	files. 
   7842 	
   7843 	* glib/Makefile.am: libdbus_gtool always uses expat, not libxml.
   7844 	
   7845 	* dbus/dbus-transport-unix.c (unix_handle_watch): do not
   7846 	disconnect in case of DBUS_WATCH_HANGUP, several do_reading() may
   7847 	be necessary to read all the buffer. (bug #894)
   7848 
   7849 	* bus/activation.c (bus_activation_activate_service): fix a
   7850 	potential assertion failure (bug #896). Small optimization in the
   7851 	case of auto-activation messages.
   7852 
   7853 	* dbus/dbus-message.c (verify_test_message, _dbus_message_test):
   7854 	add test case for byte-through-vararg bug (#901). patch by Kimmo
   7855 	Hmlinen. 
   7856 
   7857 2004-07-28  Anders Carlsson  <andersca (a] gnome.org>
   7858 
   7859 	* python/dbus.py:
   7860 	* python/dbus_bindings.pyx.in:
   7861 	Add dbus.init_gthreads (), allow emit_signal to pass
   7862 	arguments to the signal.
   7863 	
   7864 2004-07-24  Havoc Pennington  <hp (a] redhat.com>
   7865 
   7866 	* AUTHORS: add some people, not really comprehensively, let me
   7867 	know if I missed you
   7868 
   7869 2004-07-24  Havoc Pennington  <hp (a] redhat.com>
   7870 
   7871 	* Makefile.am (DIST_SUBDIRS): add DIST_SUBDIRS, problem solved by
   7872 	Owen
   7873 
   7874 	* test/Makefile.am (DIST_SUBDIRS): here also
   7875 
   7876 2004-07-22  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7877 
   7878 	* dbus/dbus-sysdeps.c (fill_user_info): fix inexistent label name,
   7879 	breaking build on Solaris, reported by Farhad Saberi on the ML.
   7880 
   7881 	* dbus/dbus-message.c (dbus_message_append_args_valist): fix the
   7882 	va_arg invocation to account for integer promotion in the case of
   7883 	DBUS_TYPE_BYTE (unsigned char is promoted to int). (bug #901)
   7884 
   7885 	* bus/services.c (bus_service_remove_owner): fix bug #902, use
   7886 	_dbus_list_get_first_link, not _dbus_list_get_first.
   7887 
   7888 	* dbus/dbus-bus.c (dbus_bus_service_exists): plug a memory leak.
   7889 
   7890 	* dbus/dbus-object-tree.c (free_subtree_recurse): always null
   7891 	handler functions so that the asserts in _dbus_object_subtree_unref
   7892 	do not fail.
   7893 
   7894 	* dbus/dbus-transport-unix.c (do_reading):
   7895 	_dbus_transport_queue_messages return value is of type
   7896 	dbus_bool_t, not DBusDispatchStatus.
   7897 	
   7898 2004-07-19  David Zeuthen  <david (a] fubar.dk>
   7899 
   7900 	* dbus/dbus-protocol.h: Add DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN
   7901 
   7902 	* bus/dispatch.c:
   7903 	(check_get_connection_unix_user): Debug says GetProperty; but the
   7904 	method is called GetConnectionUnixUser
   7905 	(check_get_connection_unix_process_id): New function
   7906 	(bus_dispatch_test): Actually call check_get_connection_unix_user();
   7907 	also call check_get_connection_unix_process_id()
   7908 	
   7909 	* bus/driver.c:
   7910 	(bus_driver_handle_get_connection_unix_process_id): New function,
   7911 	handles GetConnectionUnixProcessID on the org.freedesktop.DBus
   7912 	interface
   7913 	
   7914 	* dbus/dbus-auth.c:
   7915 	(handle_server_data_external_mech): Set pid from the credentials
   7916 	obtained from the socket
   7917 	
   7918 	* dbus/dbus-connection.c:
   7919 	(dbus_connection_get_unix_process_id): New function
   7920 	
   7921 	* dbus/dbus-connection.h: 
   7922 	Add prototype for dbus_connection_get_unix_process_id
   7923 	
   7924 	* dbus/dbus-transport.c:
   7925 	(_dbus_transport_get_unix_process_id): New function
   7926 	
   7927 	* dbus/dbus-transport.h:
   7928 	Add prototype for _dbus_transport_get_unix_process_id
   7929 	
   7930 2004-07-19  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7931 
   7932 	* dbus/dbus-message.c: Message counter fix, patch by Christian
   7933 	Hammond <chipx86 (a] gnupdate.org>
   7934 
   7935 2004-07-18  Seth Nickell  <seth (a] gnome.org>
   7936 
   7937 	* python/dbus.py:
   7938 	* python/dbus_bindings.pyx.in:
   7939 	* python/tests/test-client.py:
   7940 
   7941 	Add dbus.ByteArray and dbus_bindings.ByteArray
   7942 	types so that byte streams can be passed back.
   7943 
   7944 	Give jdahlin the heaps of credit that are so
   7945 	rightfully his.
   7946 	
   7947 2004-07-12  Seth Nickell  <seth (a] gnome.org>
   7948 
   7949 	* python/dbus.py:
   7950 
   7951 	Add message argument to the default object_method_handler
   7952 	function.
   7953 	
   7954 	* python/dbus_bindings.pyx.in:
   7955 
   7956 	Automatically return NIL when passed an empty list
   7957 	(we can't pass back a list since lists are typed
   7958 	and we don't have any idea what type the the client
   7959 	intended the list to be... :-( )
   7960 	
   7961 2004-07-10  Seth Nickell  <seth (a] gnome.org>
   7962 
   7963 	* python/examples/Makefile.am:
   7964 
   7965 	Fix distcheck breakage caused by new examples.
   7966 
   7967 2004-07-10  Seth Nickell  <seth (a] gnome.org>
   7968 
   7969 	* python/dbus.py:
   7970 
   7971 	Add "message" argument to service-side dbus.Object
   7972 	methods. This will break existing services written
   7973 	using the python bindings, but will allow extraction
   7974 	of all the message information (e.g. who its from).
   7975 
   7976 	Add improved "object oriented" signal handling/emission.
   7977 	
   7978 	* python/examples/example-service.py:
   7979 
   7980 	Nix this example.
   7981 	
   7982 	* python/examples/example-signal-emitter.py:
   7983 	* python/examples/example-signal-recipient.py:
   7984 
   7985 	Two new examples that show how to emit and receive
   7986 	signals using the new APIs.
   7987 	
   7988 	* python/examples/example-signals.py:
   7989 	* python/examples/gconf-proxy-service.py:
   7990 	* python/examples/gconf-proxy-service2.py:
   7991 
   7992 	Add "message" argument to service methods.
   7993 
   7994 2004-06-28  Kay Sievers <kay.sievers (a] vrfy.org>
   7995 
   7996 	* bus/driver.c (bus_driver_handle_get_connection_unix_user)
   7997 	* dbus/bus.c (dbus_bus_get_unix_user)
   7998 	* doc/dbus-specification.xml: implement GetConnectionUnixUser
   7999 	method of org.freedesktop.DBus interface.
   8000 
   8001 	* bus/dispatch.c: test case
   8002 
   8003 2004-06-23  John (J5) Palmieri  <johnp (a] redhat.com>
   8004 
   8005 	* python/Makefile.am: switched include directory from glib/ to dbus/
   8006 	since dbus-glib.h moved
   8007  
   8008 2004-06-22  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8009 
   8010 	* configure.in: prevent building the gcj stuff and libxml loader
   8011 	since they are broken.
   8012 
   8013 2004-06-20  Havoc Pennington  <hp (a] redhat.com>
   8014 
   8015         * dbus/dbus-glib-error-enum.h: autogenerate the GError enum 
   8016 	codes from the dbus error names
   8017 	
   8018         * glib/dbus-glib.h: move to subdir dbus/ since it's included 
   8019 	as dbus/dbus-glib.h and that breakage is now visible due to 
   8020 	including dbus/dbus-glib.h in dbus-glib-lowlevel.h
   8021 	
   8022 	* glib/dbus-glib.h: s/gproxy/g_proxy/
   8023 
   8024 	* dbus/dbus-shared.h: new header to hold stuff shared with
   8025 	binding APIs
   8026 	
   8027 	* dbus/dbus-protocol.h (DBUS_ERROR_*): move errors here rather
   8028 	than dbus-errors.h
   8029 
   8030 	* glib/dbus-glib.h (dbus_set_g_error): move to
   8031 	dbus-glib-lowlevel.h
   8032 
   8033 	* glib/dbus-glib.h: remove dbus/dbus.h from here; change a bunch
   8034 	of stuff to enable this
   8035 
   8036 	* dbus/dbus-glib-lowlevel.h: put dbus/dbus.h here
   8037 
   8038 	* a bunch of other changes with the same basic "separate glib 
   8039 	bindings from dbus.h" theme
   8040 	
   8041 2004-06-10  Owen Fraser-Green  <owen (a] discobabe.net>
   8042 
   8043 	* dbus-sharp.pc.in: Removed glib-sharp inclusion in Libs.
   8044 
   8045 	* python/examples/Makefile.am: Fixed typo in EXTRA_DIST.
   8046 
   8047 2004-06-09  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8048 
   8049 	* bus/driver.c, dbus/dbus-bus.c: use BOOLEAN instead of UINT32 for
   8050 	the reply value of the ServiceExists message.
   8051 
   8052 2004-06-07  John (J5) Palmieri  <johnp (a] redhat.com>
   8053 
   8054 	* python/dbus_bindings.pyx.in: No longer need to parse path
   8055 	elements and pass them as arrays of strings.  The C API now
   8056 	accepts plain path strings.
   8057 	(_build_parsed_path): removed 
   8058 
   8059 2004-06-07  Havoc Pennington  <hp (a] redhat.com>
   8060 
   8061 	* doc/TODO: remove auto-activation item since it's done; sort
   8062 	items by importance/milestone
   8063 
   8064 2004-06-07  Havoc Pennington  <hp (a] redhat.com>
   8065 
   8066 	* dbus/dbus-message-builder.c (_dbus_message_data_load): append
   8067 	random signature when using REQUIRED_FIELDS (this hack won't work
   8068 	in the long term)
   8069 
   8070 	* dbus/dbus-message.c: change the signature to be a header field,
   8071 	instead of message->signature special-case string. Incremental
   8072 	step forward. Then we can fix up code to send the signature in the
   8073 	message, then fix up code to validate said signature, then fix up
   8074 	code to not put the typecodes inline, etc.
   8075 	(load_one_message): don't make up the signature after the fact
   8076 	(decode_header_data): require signature field for the known
   8077 	message types
   8078 
   8079 	* dbus/dbus-marshal.c (_dbus_marshal_string_len): new
   8080 
   8081 	* dbus/dbus-protocol.h: add DBUS_HEADER_FIELD_SIGNATURE
   8082 
   8083 2004-06-07  Owen Fraser-Green  <owen (a] discobabe.net>
   8084 
   8085 	* mono/DBusType/ObjectPath.cs: Renamed PathName argument to Path
   8086 
   8087 	* mono/Handler.cs: Updated to follow new path argument for
   8088 	(un-)registering objects.
   8089 
   8090 	* mono/example/Makefile.am:
   8091 	* mono/Makefile.am:
   8092 	* configure.in: Bumped required version for mono and use new -pkg
   8093 	syntax for deps
   8094 
   8095 2004-06-05  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8096 
   8097 	* dbus/dbus-connection.h, dbus/dbus-connection.c: have object path
   8098 	registration functions take the path argument as char* instead of
   8099 	char**.
   8100 
   8101 	* dbus/dbus-marshal.h, dbus/dbus-marshal.c (_dbus_decompose_path):
   8102 	split off the path decompostion part of
   8103 	_dbus_demarshal_object_path. Some misc. fixes to silence compiler
   8104 	warnings. 
   8105 
   8106 	* glib/dbus-gobject.c, test/test-service.c: update accordingly.
   8107 	
   8108 2004-06-02  Kristian Hgsberg  <krh (a] redhat.com>
   8109  
   8110 	* dbus/dbus-auth.c: Rewrite auth protocol handling to use a state
   8111 	machine approach.  A state is implemented as a function that
   8112 	handles incoming events as specified for that state.
   8113 	
   8114 	* doc/dbus-specification.xml: Update auth protocol state machine
   8115 	specification to match implementation.  Remove some leftover
   8116 	base64 examples.
   8117 
   8118 2004-06-02  Kristian Hgsberg  <krh (a] redhat.com>
   8119 
   8120 	* glib/dbus-gproxy.c, glib/dbus-gmain.c, dbus/dbus-string.c,
   8121 	dbus/dbus-object-tree.c, dbus/dbus-message.c: add comments to
   8122 	quiet doxygen.
   8123 
   8124 	* Doxyfile.in: remove deprecated options.
   8125 
   8126 	* dbus/dbus-message-handler.c, dbus/dbus-message-handler.h,
   8127 	glib/test-thread.h, glib/test-thread-client.c,
   8128 	glib/test-thread-server.c, glib/test-profile.c,
   8129 	glib/test-dbus-glib.c: remove these unused files.
   8130 
   8131 2004-06-01  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8132 
   8133 	* dbus/dbus-object-tree.c
   8134 	(_dbus_object_tree_dispatch_and_unlock): fix dispatch for
   8135 	non-fallback handlers (bug #684).
   8136 	(_dbus_object_subtree_new): initialize invoke_as_fallback field.
   8137 	(find_subtree_recurse): report wether the returned subtree is an
   8138 	exact match or a "fallback" match higher up in the tree.
   8139 	(object_tree_test_iteration): update test case.
   8140 
   8141 2004-06-01  Seth Nickell  <seth (a] gnome.org>
   8142 
   8143 	* python/dbus_bindings.pyx.in:
   8144 	* python/tests/test-client.py:
   8145 
   8146 	Round off basic type support. Add dicts (yay!), and 
   8147 	remaining array types.
   8148 
   8149 	Make MessageIter more general so it works for dicts too.
   8150 
   8151 	Mark all loop variables as C integers.
   8152 	
   8153 2004-05-31  Havoc Pennington  <hp (a] redhat.com>
   8154 
   8155 	* glib/dbus-gidl.c (method_info_add_arg): keep args sorted with
   8156 	"in" before "out"
   8157 
   8158 	* glib/dbus-gobject.c (dbus_type_to_string): move to dbus-gutils.c
   8159 
   8160 	* glib/dbus-glib-tool.c (main): set up to have a --self-test
   8161 	option that runs the tests, and start filling in some code
   8162 	including for starters just dumping the interfaces to stdout
   8163 
   8164 	* glib/Makefile.am (INCLUDES): define DBUS_LOCALEDIR
   8165 
   8166 	* test/data/valid-introspection-files/lots-of-types.xml: test of
   8167 	an example introspection file
   8168 
   8169 	* glib/dbus-gparser.c (parser_check_doctype): doctype should be
   8170 	"node" (I think...)
   8171 
   8172 2004-05-31  Seth Nickell  <seth (a] gnome.org>
   8173 
   8174 	* python/dbus_bindings.pyx.in:
   8175 	* python/tests/test-client.py:
   8176 
   8177 	Test Suite: 1
   8178 	Python Bindings: 0
   8179 
   8180 	Fix string array memory trashing bug... oops...
   8181 
   8182 2004-05-30  Seth Nickell  <seth (a] gnome.org>
   8183 
   8184 	* python/dbus.py:
   8185 
   8186 	Add a nicer-but-less-flexible alternate API for handling 
   8187 	calls to virtual objects in dbus.ObjectTree.
   8188 
   8189 	Screw up the argument order to the dbus.Object constructor
   8190 	for consistency with dbus.ObjectTree (and to make dbus_methods
   8191 	optional for future extension)
   8192 	
   8193 	* python/examples/Makefile.am:
   8194 	* python/examples/gconf-proxy-service.py:
   8195 	* python/examples/gconf-proxy-service2.py:
   8196 
   8197 	Alternate implementation of gconf-proxy-service using the
   8198 	nicer dbus.ObjectTree API.
   8199 	
   8200 	* python/examples/example-service.py:
   8201 	* python/tests/test-server.py
   8202 
   8203 	Reverse the argument order to deal with dbus.Object constructor
   8204 	changes.
   8205 	
   8206 2004-05-30  Seth Nickell  <seth (a] gnome.org>
   8207 
   8208 	* python/examples/example-client.py:
   8209 	* python/examples/example-service.py:
   8210 
   8211 	Take it back. Lists seem to work but they're broken
   8212 	in the test suite. Make the base examples use
   8213 	lists (works fine).
   8214 
   8215 2004-05-30  Seth Nickell  <seth (a] gnome.org>
   8216 
   8217 	* python/dbus_bindings.pyx.in:
   8218 	* python/tests/test-client.py:
   8219 
   8220 	Add some more tests and fix errors that crop up.
   8221 	Unfortunately, currently it seems like marshalling
   8222 	and unmarshalling of lists is completely broken :-(
   8223 
   8224 2004-05-30  Seth Nickell  <seth (a] gnome.org>
   8225 
   8226 	* python/dbus_bindings.pyx.in:
   8227 
   8228 	Add support for ObjectPath type.
   8229 
   8230 	* python/dbus.py:
   8231 
   8232 	Refactor message handling code to a common function.
   8233 	
   8234 	* python/tests/test-client.py:
   8235 	* python/tests/test-server.py:
   8236 
   8237 	Add tests that check to make sure values of all types
   8238 	can be echoed from a service w/o mangling.
   8239 	
   8240 2004-05-29  Seth Nickell  <seth (a] gnome.org>
   8241 
   8242 	* python/dbus.py:
   8243 
   8244 	Add ObjectTree class which allows implementation
   8245 	of trees of "virtual" objects. Basically the python
   8246 	wrapper for "register_fallback".
   8247 	
   8248 	* python/examples/Makefile.am
   8249 	* python/examples/gconf-proxy-client.py:
   8250 	* python/examples/gconf-proxy-service.py:
   8251 
   8252 	Implement a simple GConf proxy service that supports
   8253 	get/set on string and int GConf keys using the ObjectTree.
   8254 	
   8255 2004-05-29  Seth Nickell  <seth (a] gnome.org>
   8256 
   8257 	* python/dbus.py:
   8258 	* python/examples/example-client.py:
   8259 	* python/examples/example-service.py:
   8260 	* python/examples/list-system-services.py:
   8261 
   8262 	Add SessionBus, SystemBus and ActivationBus classes
   8263 	so you don't need to know the special little BUS_TYPE
   8264 	flag.
   8265 	
   8266 2004-05-29  Havoc Pennington  <hp (a] redhat.com>
   8267 
   8268 	* bus/config-parser.c (process_test_valid_subdir): temporarily
   8269 	stop testing config parser OOM handling, since expat has issues
   8270 	http://freedesktop.org/pipermail/dbus/2004-May/001153.html
   8271 
   8272 	* bus/dbus-daemon-1.1.in: change requested_reply to
   8273 	send_requested_reply/receive_requested_reply so we can send the
   8274 	replies, not just receive them.
   8275 
   8276 	* bus/config-parser.c: parse the new
   8277 	send_requested_reply/receive_requested_reply
   8278 
   8279 	* bus/policy.c (bus_client_policy_check_can_send): add
   8280 	requested_reply argument and use it
   8281 
   8282 	* bus/bus.c (bus_context_check_security_policy): pass through
   8283 	requested_reply status to message send check
   8284 
   8285 	* bus/system.conf.in: adapt to requested_reply change
   8286 	
   8287 2004-05-28  Havoc Pennington  <hp (a] redhat.com>
   8288 
   8289 	* test/glib/test-service-glib.c (main): remove unused variable
   8290 
   8291 	* glib/dbus-gidl.c (base_info_ref): fix a silly compiler warning
   8292 
   8293 	* dbus/dbus-auth.h (enum): remove AUTHENTICATED_WITH_UNUSED_BYTES
   8294 	from the enum, no longer in use.
   8295 
   8296 	* dbus/dbus-sysdeps.h: include config.h so DBUS_VA_COPY actually
   8297 	works right.
   8298 
   8299 	* dbus/dbus-message.c: add various _dbus_return_val_if_fail for
   8300 	whether error_name passed in is a valid error name.
   8301 
   8302 2004-05-28  John (J5) Palmieri  <johnp (a] redhat.com>
   8303 
   8304 	* dbus/dbus-message.c (dbus_message_get_args): Added support for
   8305 	OBJECT_PATH and OBJECT_PATH_ARRAY
   8306 
   8307 2004-05-28  Seth Nickell  <seth (a] gnome.org>
   8308 
   8309 	* python/examples/Makefile.am:
   8310 
   8311 	Forget to add Makefile.am. Do not pass go.
   8312 
   8313 2004-05-28  Michael Meeks  <michael (a] ximian.com>
   8314 
   8315 	* glib/dbus-gvalue.c (dbus_gvalue_marshal, dbus_gvalue_demarshal): 
   8316 	fix no int64 case.
   8317 
   8318 	* dbus/dbus-string.c (_dbus_string_parse_basic_type): impl.
   8319 
   8320 	* dbus/dbus-message.c (_dbus_message_iter_get_basic_type),
   8321 	(_dbus_message_iter_get_basic_type_array): impl.
   8322 	drastically simplify ~all relevant _get methods to use these.
   8323 	(_dbus_message_iter_append_basic_array),
   8324 	(dbus_message_iter_append_basic): impl
   8325 	drastically simplify ~all relevant _append methods to use these.
   8326 
   8327 	* dbus/dbus-message-builder.c (parse_basic_type) 
   8328 	(parse_basic_array, lookup_basic_type): impl.
   8329 	(_dbus_message_data_load): prune scads of duplicate /
   8330 	cut & paste coding.
   8331 
   8332 	* dbus/dbus-marshal.c (_dbus_demarshal_basic_type_array) 
   8333 	(_dbus_demarshal_basic_type): implement,
   8334 	(demarshal_and_validate_len/arg): beef up debug.
   8335 	(_dbus_marshal_basic_type, _dbus_marshal_basic_type_array): impl.
   8336 
   8337 2004-05-27  Seth Nickell  <seth (a] gnome.org>
   8338 
   8339 	* configure.in:
   8340 	* python/Makefile.am:
   8341 
   8342 	Include the example python apps in the tarball.
   8343 	
   8344 	* python/examples/list-system-services.py
   8345 
   8346 	Add a python new example that fetches the list of services
   8347 	from the system bus.
   8348 	
   8349 2004-05-27  Seth Nickell  <seth (a] gnome.org>
   8350 
   8351 	* python/dbus.py:
   8352 	* python/dbus_bindings.pyx.in:
   8353 
   8354 	Fix failure to notify that a signal was not handled,
   8355 	resulted in hung functions.
   8356 	
   8357 2004-05-25  Colin Walters  <walters (a] redhat.com>
   8358 
   8359 	* tools/dbus-monitor.c (main): Monitor all types of messages.
   8360 
   8361 2004-05-23  Owen Fraser-Green  <owen (a] discobabe.net>
   8362 
   8363 	* mono/Handler.cs, mono/Service.cs: Added UnregisterObject method
   8364 	which unregisters the object path and disposes the handler.
   8365 
   8366 2004-05-23  Kristian Hgsberg  <krh (a] redhat.com>
   8367  
   8368         Patch from Timo Ters <ext-timo.teras (a] nokia.com> (#614):
   8369          
   8370 	* dbus/dbus-message.c (dbus_message_iter_get_args_valist): Swap
   8371         operands to && so we call dbus_message_iter_next () for the last
   8372         argument also.
   8373 
   8374 2004-05-21  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8375 
   8376 	* dbus/dbus-object-tree.c
   8377 	(_dbus_object_tree_list_registered_unlock, lookup_subtree): return
   8378 	children even if the requested path isn't registered.
   8379 	(object_tree_test_iteration): test object_tree_list_registered.
   8380 
   8381 	* configure.in: undefine HAVE_ABSTRACT_SOCKETS instead of defining
   8382 	it to 0.
   8383 	
   8384 2004-05-20  Kristian Hgsberg  <krh (a] redhat.com>
   8385 
   8386 	* doc/TODO: Remove resolved items.
   8387 
   8388 	* bus/expirelist.h (struct BusExpireList): remove unused n_items
   8389 	field.
   8390 	
   8391 	* bus/connection.c (bus_connections_expect_reply): Enforce the
   8392 	per-connection limit on pending replies.
   8393 	
   8394 	Patch from Jon Trowbridge <trow (a] ximian.com>:
   8395  
   8396  	* bus/main.c (setup_reload_pipe): Added.  Creates a pipe and sets
   8397  	up a watch that triggers a config reload when one end of the pipe
   8398  	becomes readable.
   8399  	(signal_handler): Instead of doing the config reload in our SIGHUP
   8400  	handler, just write to the reload pipe and let the associated
   8401  	watch handle the reload when control returns to the main loop.
   8402  
   8403  	* bus/driver.c (bus_driver_handle_reload_config): Added.
   8404  	Implements a ReloadConfig method for requesting a configuration
   8405  	file reload via the bus driver.
   8406  
   8407 2004-05-19  Owen Fraser-Green  <owen (a] discobabe.net>
   8408 
   8409 	* HACKING: Updated release instructions concerning the wiki page.
   8410 
   8411 2004-05-18  Kristian Hgsberg  <krh (a] redhat.com>
   8412 
   8413  	* dbus/dbus-auth.c (client_try_next_mechanism): Remove logic to
   8414 	filter against auth->allowed_mechs; we only add allowed mechs in
   8415 	record_mechanisms().
   8416  
   8417  	* dbus/dbus-auth-script.c (_dbus_auth_script_run): Add an
   8418 	ALLOWED_MECHS to auth-script format so we can set the list of
   8419 	allowed mechanisms.
   8420  
   8421  	* data/auth/client-out-of-mechanisms.auth-script: New test to
   8422 	check client disconnects when it is out of mechanisms to try.
   8423  
   8424  	* dbus/dbus-auth.c (process_command): Remove check for lines
   8425 	longer that 1 MB; we only buffer up maximum 16 kB.
   8426  
   8427  	* dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
   8428 	dbus/dbus-auth-script.c, dbus/dbus-auth.c, dbus/dbus-auth.h:
   8429 	Remove auth state AUTHENTICATED_WITH_UNUSED_BYTES, instead always
   8430 	assume there might be unused bytes.
   8431  
   8432  	* dbus/dbus-auth.c (_dbus_auth_do_work): Remove check for
   8433 	client-out-of-mechs, it is handled in process_reject(). Move check
   8434 	for max failures to send_rejected(), as it's a server-only thing.
   8435 
   8436 	* dbus/dbus-auth.c: Factor out protocol reply code into functions
   8437 	send_auth(), send_data(), send_rejected(), send_error(),
   8438 	send_ok(), send_begin() and send_cancel().
   8439 
   8440 2004-05-17  Kristian Hgsberg  <krh (a] redhat.com>
   8441 
   8442 	Remove base64 encoding, replace with hex encoding. Original patch
   8443 	from trow (a] ximian.com, added error handling.
   8444 
   8445 	* dbus/dbus-string.c (_dbus_string_base64_encode)
   8446 	(_dbus_string_base64_decode): Remove.
   8447 	(_dbus_string_hex_decode): Add end_return argument so we can
   8448 	distinguish between OOM and invalid hex encoding.
   8449 	(_dbus_string_test): Remove base64 tests and add test case for
   8450 	invalid hex.
   8451 
   8452 	* dbus/dbus-keyring.c, dbus/dbus-auth-script.c, dbus/dbus-auth.c:
   8453 	Replace base64 with hex.
   8454 
   8455 	* test/data/auth/invalid-hex-encoding.auth-script: New test case
   8456 	for invalid hex encoded data in auth protocol.
   8457 
   8458 2004-05-17  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8459 
   8460 	* dbus/dbus-connection.c (check_for_reply_unlocked): plug a memory
   8461 	leak.
   8462 
   8463 2004-05-15  Owen Fraser-Green  <owen (a] discobabe.net>
   8464 
   8465 	* mono/dbus-sharp.dll.config.in: Added for GAC
   8466 	* mono/dbus-sharp.snk: Added for GAC
   8467 	* mono/Assembly.cs.in: Added for GAC
   8468 	* mono/Makefile.am: Changes for GAC installation	
   8469 	* configure.in: Added refs for dbus-sharp.dll.config.in and
   8470 	Assembly.cs.in. More fixes for mono testing
   8471 	* mono/example/Makefile.am: Changed var to CSC
   8472 	* Makefile.am: Changed flag name to DBUS_USE_CSC
   8473 
   8474 2004-05-15  Owen Fraser-Green  <owen (a] discobabe.net>
   8475 
   8476 	* mono/Makefile.am: Added SUBDIRS for docs. Changed SUBDIRS order
   8477 	* mono/doc/*: Added documentation framework
   8478 	* configure.in: Added monodoc check
   8479 	* README: Added description of mono configure flags
   8480 
   8481 2004-05-11  John (J5) Palmieri  <johnp (a] redhat.com>:
   8482 
   8483 	* doc/dbus-specification.xml: Added a "Required" column to the 
   8484 	header fields table and changed the "zero or more" verbage in
   8485 	the above paragraph to read "The header must contain the required 
   8486 	named header fields and zero or more of the optional named header 
   8487 	fields".
   8488 	* test/data/invalid-messages/*.message: Added the required PATH 
   8489 	named header field to the tests so that they don't fail on 
   8490 	'Missing path field'
   8491 
   8492 2004-05-07  John (J5) Palmieri  <johnp (a] redhat.com>
   8493 
   8494 	* python/dbus-bindings.pyx.in: Stopped the bindings from trashing
   8495 	the stack by implicitly defining variable and parameter types and
   8496 	removing the hack of defining C pointers as python objects and later
   8497 	casting them.
   8498 
   8499 2004-05-02  Owen Fraser-Green  <owen (a] discobabe.net>
   8500 
   8501 	* mono/Makefile.am: Removed test-dbus-sharp.exe from all target
   8502 
   8503 2004-05-01  Owen Fraser-Green  <owen (a] discobabe.net>
   8504 
   8505 	* mono/DBusType/Dict.cs: Handle empty dicts
   8506 	* mono/DBusType/Array.cs: Handle empty arrays
   8507 	* mono/Arguments.cs: Handle empty arguments
   8508 
   8509 2004-04-30  Owen Fraser-Green  <owen (a] discobabe.net>
   8510 
   8511 	* dbus-sharp.pc.in: Modified to include include Libs and Requires
   8512 	field
   8513 
   8514 2004-04-25  Kristian Hgsberg  <krh (a] redhat.com>
   8515 
   8516 	* test/data/valid-messages/standard-*.message: Update message
   8517 	test scripts to new header field names.
   8518 
   8519 2004-04-22  John (J5) Palmieri  <johnp (a] redhat.com>
   8520 
   8521 	* test/break-loader.c (randomly_do_n_things): tracked down buffer
   8522 	overflow to times_we_did_each_thing array which would chop off the
   8523 	first character of the failure_dir string. Increased the size of
   8524 	the array to 7 to reflect the number of random mutation functions
   8525 	we have.
   8526 
   8527 2004-04-21  Kristian Hgsberg  <krh (a] redhat.com>
   8528 
   8529 	* dbus/dbus-server-unix.c (unix_finalize): Don't unref
   8530 	unix_server->watch here, it is unreffed in disconnect.
   8531 	(_dbus_server_new_for_tcp_socket): convert NULL host to
   8532 	"localhost" here so we don't append NULL to address.
   8533 	
   8534 	* dbus/dbus-server.c (_dbus_server_test): Add test case for
   8535 	various addresses, including tcp with no explicit host.
   8536 
   8537 2004-04-21  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8538 
   8539 	* dbus/dbus-message.c (decode_header_data, decode_string_field):
   8540 	fix incorrect setting of .name_offset in the HeaderField (it was
   8541 	off by two bytes, positioned right after the name and typecode)
   8542 
   8543 	* bus/bus.c (bus_context_new, bus_context_unref): test before
   8544 	calling dbus_server_free_data_slot and _dbus_user_database_unref
   8545 	in case of an error.
   8546 
   8547 	* tools/Makefile.am: add $(DBUS_GLIB_TOOL_LIBS), xml libs needed
   8548 	by libdbus-gtool.
   8549 
   8550 2004-04-19  Kristian Hgsberg  <krh (a] redhat.com>
   8551 
   8552 	* dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use
   8553 	_dbus_poll() instead of select().
   8554 
   8555 2004-04-15  Jon Trowbridge  <trow (a] ximian.com>
   8556 
   8557 	* bus/main.c (signal_handler): Reload the configuration files
   8558 	on SIGHUP.
   8559 	(main): Set up our SIGHUP handler.
   8560 
   8561 	* bus/bus.c (struct BusContext): Store the config file, user and
   8562 	fork flag in the BusContext.
   8563 	(process_config_first_time_only): Added.  Contains the code
   8564 	(previously in bus_context_new) for setting up the BusContext from
   8565 	the BusConfigParser that should only be run the first time the
   8566 	config files are read.
   8567 	(process_config_every_time): Added.  Contains the code (previously
   8568 	in bus_context_new) for setting up the BusContext from the
   8569 	BusConfigParser that should be run every time the config files are
   8570 	read.
   8571 	(load_config): Added.  Builds a BusConfigParser from the config
   8572 	files and passes the resulting structure off to
   8573 	process_config_first_time_only (assuming this is the first time)
   8574 	and process_config_every_time.
   8575 	(bus_context_new): All of the config-related code has been moved
   8576 	to process_config_first_time_only and process_config_every_time.
   8577 	Now this function just does the non-config-related initializations
   8578 	and calls load_config.
   8579 	(bus_context_reload_config): Added.
   8580 
   8581 2004-04-15  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8582 
   8583 	* bus/driver.c (bus_driver_handle_get_service_owner):
   8584 	implement a GetServiceOwner method.
   8585 	* doc/dbus-specification.xml: document it.
   8586 	* dbus/dbus-errors.h: add a 'ServiceHasNoOwner' error.
   8587 	
   8588 	* glib/dbus-gproxy.c (dbus_gproxy_new_for_service_owner):
   8589 	implement, using the bus GetServiceOwner method.
   8590 
   8591 	* test/glib/test-dbus-glib.c:
   8592 	use dbus_gproxy_new_for_service_owner so that we can receive the
   8593 	signal. 
   8594 
   8595 2004-04-15  John (J5) Palmieri  <johnp (a] redhat.com>
   8596 
   8597 	* dbus/dbus-internals.c, dbus/dbus-message-builder.c,
   8598 	dbus/dbus-message.c, dbus/dbus-protocol.h
   8599 	(DBUS_HEADER_FIELD_SERVICE): renamed DBUS_HEADER_FIELD_DESTINATION
   8600 
   8601 	* dbus/dbus-internals.c, dbus/dbus-message-builder.c,
   8602 	dbus/dbus-message.c, dbus/dbus-protocol.h
   8603 	(DBUS_HEADER_FIELD_SENDER_SERVICE): renamed DBUS_HEADER_FIELD_SENDER
   8604 
   8605 	* dbus/dbus-internals.c (_dbus_header_field_to_string):
   8606 	DBUS_HEADER_FIELD_DESTINATION resolves to "destination"
   8607 	DBUS_HEADER_FIELD_SENDER resolves to "sender"
   8608 
   8609 	* doc/dbus-specification.xml (Header Fields Table):
   8610 	s/SERVICE/DESTINATION
   8611 	s/SENDER_SERVICE/SENDER
   8612 
   8613 
   8614 2004-04-14  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8615 
   8616 	* test/glib/test-dbus-glib.c (timed_exit): fail the test after
   8617 	a few seconds.
   8618 
   8619 2004-04-13  Michael Meeks  <michael (a] ximian.com>
   8620 
   8621 	* glib/dbus-gobject.c (handle_introspect): split out
   8622 	(introspect_properties): this.
   8623 	(handle_introspect): implement this.
   8624 
   8625 	* test/glib/Makefile.am: use the absolute path so the bus
   8626 	daemon's chdir ("/") doesn't kill us dead.
   8627 
   8628 	* configure.in: subst ABSOLUTE_TOP_BUILDDIR
   8629 
   8630 2004-04-12  Jon Trowbridge  <trow (a] ximian.com>
   8631 
   8632 	* bus/config-parser.c (struct BusConfigParser): Added
   8633 	included_files field.
   8634 	(seen_include): Added.  Checks whether or not a file has already
   8635 	been included by any parent BusConfigParser.
   8636 	(bus_config_parser_new): Copy the parent's included_files.
   8637 	(include_file): Track which files have been included, and fail on
   8638 	circular inclusions.
   8639 	(process_test_valid_subdir): Changed printf to report if we are
   8640 	testing valid or invalid conf files.
   8641 	(all_are_equiv): Changed printf to be a bit clearer about
   8642 	what we are actually doing.
   8643 	(bus_config_parser_test): Test invalid configuration files.
   8644 
   8645 2004-04-09  Jon Trowbridge  <trow (a] ximian.com>
   8646 
   8647 	* bus/config-parser.c (bus_config_parser_new): Added a 'parent'
   8648 	argument.  If non-null, the newly-constructed BusConfigParser will
   8649 	be initialized with the parent's BusLimits instead of the default
   8650 	values.
   8651 	(include_file): When including a config file, pass in
   8652 	the current parser as the parent and then copy the BusLimits
   8653 	from the included BusConfigParser pack to the current parser.
   8654 	(process_test_valid_subdir): Renamed from process_test_subdir.
   8655 	(process_test_equiv_subdir): Added.  Walks through a directory,
   8656 	descending into each subdirectory and loading the config files
   8657 	it finds there.  If any subdirectory contains two config files
   8658 	that don't produce identical BusConfigParser structs, fail.
   8659 	For now, the BusConfigParser's BusPolicies are not compared.
   8660 	(bus_config_parser_test): Call both process_test_valid_subdir and
   8661 	process_test_equiv_subdir.
   8662 
   8663 	* bus/config-loader-libxml.c (bus_config_load): Take a parent
   8664 	argument and pass it along to the call to bus_config_parser_new.
   8665 	Also made a few small changes to allow this code to compile.
   8666 
   8667 	* bus/config-loader-expat.c (bus_config_load): Take a parent
   8668 	argument and pass it along to the call to bus_config_parser_new.
   8669 
   8670 	* bus/bus.c (bus_context_new): Load the config file
   8671 	with a NULL parent argument.
   8672 
   8673 2004-03-29  Michael Meeks  <michael (a] ximian.com>
   8674 
   8675 	* glib/dbus-gobject.c (introspect_properties): split
   8676 	out, fix mangled 'while' flow control.
   8677 	(introspect_signals): implement.
   8678 	(handle_introspect): update.
   8679 
   8680 2004-03-29  Michael Meeks  <michael (a] ximian.com>
   8681 
   8682 	* glib/dbus-gobject.c (set_object_property): split out / 
   8683 	re-work, use the property type, and not the message type(!)
   8684 	(get_object_property): ditto.
   8685 
   8686         * glib/dbus-gvalue.c (dbus_gvalue_demarshal),
   8687 	(dbus_gvalue_marshal): make this code re-usable, needed
   8688 	for signals too, also on both proxy and server side.
   8689 	Re-write for more efficiency / readability.
   8690 
   8691 2004-03-29  Michael Meeks  <michael (a] ximian.com>
   8692 
   8693 	* dbus/dbus-message.c
   8694 	(dbus_message_new_error_printf): impl.
   8695 
   8696 	* dbus/dbus-connection.c
   8697 	(dbus_connection_unregister_object_path): fix warning.
   8698 
   8699 	* configure.in: fix no-mono-installed situation.
   8700 
   8701 2004-03-27  Havoc Pennington  <hp (a] redhat.com>
   8702 
   8703 	Patch from Timo Ters:
   8704 	
   8705 	* tools/dbus-send.c (main): if --print-reply, assume type is
   8706 	method call; support boolean type args
   8707 	
   8708 	* dbus/dbus-connection.c (dbus_connection_send_with_reply): fix a
   8709 	bunch of memleak and logic bugs
   8710 	
   8711 2004-03-23  Owen Fraser-Green  <owen (a] discobabe.net>
   8712 
   8713         * mono/Arguments.cs:
   8714 	* mono/Introspector.cs:
   8715 	* mono/Handler.cs:
   8716 	* mono/InterfaceProxy.cs:
   8717 	* mono/Message.cs
   8718 	* mono/ProxyBuilder.cs:
   8719 	* mono/Service.cs:
   8720 	Added InterfaceProxy class to avoid building proxies for every
   8721 	object.
   8722 
   8723 	* dbus-message.h:
   8724 	* dbus-message.c (dbus_message_append_args_valist)
   8725 	(dbus_message_iter_get_object_path)
   8726 	(dbus_message_iter_get_object_path_array)
   8727 	(dbus_message_iter_append_object_path)
   8728 	(dbus_message_iter_append_object_path_array):
   8729 	Added object_path iter functions to handle OBJECT_PATH arguments
   8730 	
   8731 2004-03-23  Owen Fraser-Green  <owen (a] discobabe.net>
   8732 
   8733 	First checkin of mono bindings.
   8734 	* configure.in:
   8735 	* Makefile.am:
   8736 	Build stuff for the bindings
   8737 	* dbus-sharp.pc.in: Added for pkgconfig
   8738 	
   8739 2004-03-21  Havoc Pennington  <hp (a] redhat.com>
   8740 
   8741 	* test/test-service.c (main): remove debug spew
   8742 
   8743 2004-03-21  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8744 
   8745 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): accept empty
   8746 	arrays
   8747 
   8748 	* dbus/dbus-message.h, bus/dbus-message.c (dbus_message_iter_init)
   8749 	(dbus_message_iter_init_array_iterator)
   8750 	(dbus_message_iter_init_dict_iterator): return a dbus_bool_t to
   8751 	indicate whether the iterator is empty
   8752 
   8753 	* dbus/dbus-pending-call.c, dbus/dbus-server.c: silence compiler
   8754 	warnings
   8755 
   8756 2004-03-19  Havoc Pennington  <hp (a] redhat.com>
   8757 
   8758 	* NEWS: 0.21 updates
   8759 
   8760 	* configure.in: 0.21
   8761 
   8762 	* doc/Makefile.am: add all XMLTO usage to DBUS_XML_DOCS_ENABLED
   8763 	
   8764 	* python/Makefile.am: change to avoid dist of dbus_bindings.c so
   8765 	you don't need pyrex to make dist
   8766 
   8767 	* qt/Makefile.am (libdbus_qt_1_la_SOURCES): add integrator.h to
   8768 	sources; run moc
   8769 	
   8770 2004-03-18  Richard Hult  <richard (a] imendio.com>
   8771 
   8772 	* dbus/dbus-message.c (dbus_message_get_auto_activation) 
   8773 	(dbus_message_set_auto_activation): Add doxygen docs.
   8774 
   8775 2004-03-16  Richard Hult  <richard (a] imendio.com>
   8776 
   8777 	* bus/activation.c: (bus_activation_service_created),
   8778 	(bus_activation_send_pending_auto_activation_messages),
   8779 	(bus_activation_activate_service):
   8780 	* bus/activation.h:
   8781 	* bus/dispatch.c: (bus_dispatch),
   8782 	(check_nonexistent_service_auto_activation),
   8783 	(check_service_auto_activated),
   8784 	(check_segfault_service_auto_activation),
   8785 	(check_existent_service_auto_activation), (bus_dispatch_test):
   8786 	* bus/driver.c: (bus_driver_handle_activate_service):
   8787 	* bus/services.c: (bus_registry_acquire_service):
   8788 	* dbus/dbus-message.c: (dbus_message_set_auto_activation),
   8789 	(dbus_message_get_auto_activation):
   8790 	* dbus/dbus-message.h:
   8791 	* dbus/dbus-protocol.h: Implement auto-activation.
   8792 	
   8793 	* doc/dbus-specification.xml: Add auto-activation to the spec.
   8794 
   8795 2004-03-12  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8796 
   8797 	* dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos):
   8798 	fix a bug with CUSTOM types.
   8799 
   8800 	* dbus/dbus-message.c (message_iter_test, _dbus_message_test): add
   8801 	a unit test for this bug (used to fail).
   8802 
   8803 2004-03-12  Mikael Hallendal  <micke (a] imendio.com>
   8804 
   8805 	* bus/activation.c:
   8806 	(babysitter_watch_callback): notify all pending activations waiting for
   8807 	  the same exec that the activation failed.
   8808 	(bus_activation_activate_service): shortcut the activation if we 
   8809 	  already waiting for the same executable to start up.
   8810 
   8811 2004-03-12  Mikael Hallendal  <micke (a] imendio.com>
   8812 
   8813 	* bus/activation.c: 
   8814 	- Added service file reloading. 
   8815 	  Each service files directory is kept in an hash table in 
   8816 	  BusActivation and each BusActivationEntry knows what .service-file it
   8817 	  was read from. So when you try to activate a service the bus will 
   8818 	  check if it's been updated, removed or if new .service-files has 
   8819 	  been installed.
   8820 	- Test code at the bottom for the service file reloading.
   8821 	* bus/test-main.c: (main):
   8822 	* bus/test.h:
   8823 	- added service reloading test.
   8824 	* dbus/dbus-sysdeps.c: 
   8825 	* dbus/dbus-sysdeps.h: (_dbus_delete_directory): Added.
   8826 
   8827 2004-03-08  Michael Meeks  <michael (a] ximian.com>
   8828 
   8829 	* dbus/dbus-connection.c (_dbus_connection_block_for_reply): 
   8830 	bail immediately if disconnected, to avoid busy loop.
   8831 
   8832 	* dbus/dbus-message.c (dbus_message_iter_get_args_valist):
   8833 	cleanup cut/paste/inefficiency.
   8834 
   8835 2004-03-01  David Zeuthen  <david (a] fubar.dk>
   8836 
   8837 	* dbus/dbus-string.c (_dbus_string_append_printf_valist): Fix a
   8838 	bug where args were used twice. This bug resulted in a segfault
   8839 	on a Debian/PPC system when starting the messagebus daemon. Include
   8840 	dbus-sysdeps.h for DBUS_VA_COPY
   8841 
   8842 	* dbus/dbus-sysdeps.h: Define DBUS_VA_COPY if neccessary. From GLib
   8843 
   8844 	* configure.in: Check for va_copy; define DBUS_VA_COPY to the
   8845 	appropriate va_copy implementation. From GLib
   8846  	
   8847 2004-02-24  Joe Shaw  <joe (a] ximian.com>
   8848 
   8849 	* bus/services.c (bus_registry_acquire_service): We need to pass
   8850 	in the service name to dbus_set_error() to prevent a crash.
   8851 
   8852 2003-12-26  Anders Carlsson  <andersca (a] gnome.org>
   8853 
   8854 	* AUTHORS: Reveal my True identity.
   8855 
   8856 2003-12-17  Mikael Hallendal  <micke (a] imendio.com>
   8857 
   8858 	* dbus/dbus-message.c: (dbus_message_append_args_valist): 
   8859 	- Added case for DBUS_TYPE_BYTE, patch from Johan Hedberg.
   8860 
   8861 2003-12-13  Mikael Hallendal  <micke (a] imendio.com>
   8862 
   8863 	* doc/TODO: Added not about better error check of configuration files.
   8864 
   8865 2003-12-02  Richard Hult  <richard (a] imendio.com>
   8866 
   8867 	* Update AFL version to 2.0 throughout the source files to reflect
   8868 	the update that was done a while ago.
   8869 
   8870 2003-12-02  Richard Hult  <richard (a] imendio.com>
   8871 
   8872 	* dbus/dbus-message.c (dbus_message_iter_append_dict): Set
   8873 	wrote_dict_key to FALSE on the iter that the dict is appended to,
   8874 	just like when appending other types. Fixes a bug where a dict
   8875 	couldn't be put inside a dict.
   8876 	(dbus_message_iter_append_dict_key): Fix typo in warning message.
   8877 	(message_iter_test, _dbus_message_test): Add test case for dict
   8878 	inside dict.
   8879 
   8880 2003-12-01  David Zeuthen  <david (a] fubar.dk>
   8881 
   8882 	* python/dbus.py: Add the actual message when calling the reciever
   8883 	of a signal such that parameters can be inspected. Add the method
   8884 	remove_signal_receiver
   8885 	
   8886 2003-11-26  Mikael Hallendal  <micke (a] imendio.com>
   8887 
   8888 	* bus/*.[ch]:
   8889 	* dbus/*.[ch]:
   8890 	* glib/*.[ch]: Made ref functions return the pointer
   8891 
   8892 2003-11-25  Zack Rusin  <zack (a] kde.org>
   8893 
   8894 	* qt/integrator.h, qt/integrator.cpp: Adding handling of DBusServer,
   8895 
   8896 	* qt/server.h, qt/server.cpp, qt/Makefile.am: Adding DBusServer 
   8897 	wrappers,
   8898 
   8899 	* qt/connection.h, qt/connection.cpp: Adjusting to changes in 
   8900 	the Integrator and to better fit with the server,
   8901 
   8902 2003-11-24  Zack Rusin  <zack (a] kde.org>
   8903 
   8904 	* qt/connection.h, qt/connection.cpp: removing initDbus method since
   8905 	the integrator handles it now
   8906 
   8907 	* qt/integrator.h, qt/integrator.cpp: reworking handling of timeouts,
   8908 	since QTimer wasn't really meant to be used the way DBusTimeout is
   8909 
   8910 2003-11-24  Zack Rusin  <zack (a] kde.org>
   8911 
   8912 	* qt/integrator.h, qt/integrator.cpp, Makefile.am: Adding 
   8913 	Integrator class which integrates D-BUS with the Qt event loop,
   8914 
   8915 	* qt/connection.h, qt/connection.cpp: Move all the code which
   8916 	was dealing with D-BUS integration to the Integrator class,
   8917 	and start using Integrator,
   8918 
   8919 2003-11-23  Zack Rusin  <zack (a] kde.org>
   8920 
   8921 	* qt/connection.h, qt/connection.cpp: Adding the DBusConnection 
   8922 	wrapper
   8923 
   8924 	* qt/message.h, qt/message.cpp: updating to the current D-BUS api,
   8925 	switching namespaces to DBusQt, reworking the class,
   8926 
   8927 	* Makefile.cvs: switching dependencies so that it matches KDE 
   8928 	schematics,
   8929 	
   8930 	* qt/Makefile.am: adding connection.{h,cpp} and message.{h,cpp} to 
   8931 	the library
   8932 
   8933 2003-11-19  Havoc Pennington  <hp (a] redhat.com>
   8934 
   8935 	* NEWS: update
   8936 
   8937         * configure.in: bump version to 0.20
   8938 
   8939 	* configure.in (have_qt): add yet another place to look for qt
   8940 	(someone hand trolltech a .pc file...)
   8941 
   8942 2003-11-01  Havoc Pennington  <hp (a] redhat.com>
   8943 
   8944 	* doc/dbus-specification.xml: add state machine docs on the auth
   8945 	protocol; just a first draft, I'm sure it's wrong.	
   8946 
   8947 2003-10-28  David Zeuthen  <david (a] fubar.dk>
   8948 
   8949 	* python/dbus_bindings.pyx.in: add get_dict to handle dictionaries
   8950 	return types. Fixup TYPE_* to reflect changes in dbus/dbus-protocol.h
   8951 	
   8952 2003-10-28  Havoc Pennington  <hp (a] redhat.com>
   8953 
   8954 	* dbus/dbus-message.c (get_next_field): delete unused function
   8955 
   8956 2003-10-28  Havoc Pennington  <hp (a] redhat.com>
   8957 
   8958 	* bus/expirelist.c (do_expiration_with_current_time): detect
   8959 	failure of the expire_func due to OOM
   8960 
   8961 	* bus/connection.c (bus_pending_reply_expired): return FALSE on OOM
   8962 
   8963 	* bus/dispatch.c (check_send_exit_to_service): fix to handle the
   8964 	NoReply error that's now created by the bus when the service exits
   8965 
   8966 2003-10-28  Havoc Pennington  <hp (a] redhat.com>
   8967 
   8968 	* dbus/dbus-message.c (_dbus_message_test): enable and fix the
   8969 	tests for set_path, set_interface, set_member, etc.
   8970 
   8971 	* dbus/dbus-string.c (_dbus_string_insert_bytes): allow 0 bytes
   8972 
   8973 	* dbus/dbus-message.c (set_string_field): always just delete and
   8974 	re-append the field; accept NULL for deletion
   8975 	(re_align_fields_recurse): reimplement
   8976 	
   8977 2003-10-26  Havoc Pennington  <hp (a] redhat.com>
   8978 
   8979 	* dbus/dbus-connection.c: fix docs to properly describe the
   8980 	disconnected message
   8981 	(_dbus_connection_notify_disconnected): remove this function; 
   8982 	we can't synchronously add the disconnected message, we have to 
   8983 	do it after we've queued any remaining real messages
   8984 	(_dbus_connection_get_dispatch_status_unlocked): queue the
   8985 	disconnect message only if the transport has finished queueing all
   8986 	its real messages and is disconnected.
   8987 	(dbus_connection_disconnect): update the dispatch status here
   8988 
   8989 2003-10-22  Havoc Pennington  <hp (a] redhat.com>
   8990 
   8991 	* bus/bus.c (bus_context_check_security_policy): fix up assertion
   8992 
   8993 	* bus/connection.c (bus_transaction_send_from_driver): set the
   8994 	destination to the connection's base service
   8995 
   8996 2003-10-20  Havoc Pennington  <hp (a] redhat.com>
   8997 
   8998         hmm, make check is currently not passing.
   8999 	
   9000 	* doc/dbus-specification.xml: add requirement that custom type
   9001 	names follow the same rules as interface names.
   9002 
   9003 	* dbus/dbus-protocol.h: change some of the byte codes, to avoid
   9004 	duplication and allow 'c' to be 'custom'; dict is now 'm' for
   9005 	'map'
   9006 
   9007 	* doc/dbus-specification.xml: update type codes to match
   9008 	dbus-protocol.h, using the ASCII byte values. Rename type NAMED to
   9009 	CUSTOM. Add type OBJECT_PATH to the spec.
   9010 
   9011 2003-10-17  Havoc Pennington  <hp (a] redhat.com>
   9012 
   9013 	* bus/driver.c (create_unique_client_name): use "." as separator
   9014 	in base service names instead of '-'
   9015 
   9016 	* dbus/dbus-string.c (_dbus_string_get_byte): allow getting nul
   9017 	byte at the end of the string
   9018 
   9019 	* dbus/dbus-internals.h (_DBUS_LIKELY, _DBUS_UNLIKELY): add
   9020 	optimization macros since string validation seems to be a slow
   9021 	point.
   9022 	
   9023 	* doc/dbus-specification.xml: restrict valid
   9024 	service/interface/member/error names. Add test suite code for the
   9025 	name validation.
   9026 
   9027 	* dbus/dbus-string.c: limit service/interface/member/error names 
   9028 	to [0-9][A-Z][a-z]_
   9029 
   9030 	* dbus/dbus-connection.c (dbus_connection_dispatch): add missing
   9031 	format arg to verbose spew
   9032 
   9033 	* glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): if not out of
   9034 	memory, return instead of g_error
   9035 
   9036 	* test/test-service.c (path_message_func): support emitting a
   9037 	signal on request
   9038 
   9039 	* dbus/dbus-bus.c (init_connections_unlocked): only fill in
   9040 	activation bus type if DBUS_BUS_ACTIVATION was set; default to
   9041 	assuming the activation bus was the session bus so that services
   9042 	started manually will still register.
   9043 	(init_connections_unlocked): fix so that in OOM situation we get
   9044 	the same semantics when retrying the function
   9045 	
   9046 	* test/test-service.c (main): change to use path registration, to
   9047 	test those codepaths; register with DBUS_BUS_ACTIVATION rather
   9048 	than DBUS_BUS_SESSION
   9049 
   9050 2003-10-16  Havoc Pennington  <hp (a] redhat.com>
   9051 
   9052 	* glib/dbus-gtest-main.c: bracket with #ifdef DBUS_BUILD_TESTS
   9053 
   9054 	* Makefile.am (GCOV_DIRS): remove "test", we don't care about test
   9055 	coverage of the tests
   9056 	(coverage-report.txt): don't move the .da and .bbg files around
   9057 
   9058 2003-10-16  Havoc Pennington  <hp (a] redhat.com>
   9059 
   9060 	* bus/bus.c (struct BusContext): remove struct field I didn't mean
   9061 	to put there
   9062 
   9063 2003-10-16  Havoc Pennington  <hp (a] redhat.com>
   9064 
   9065 	* bus/connection.c (bus_pending_reply_expired): either cancel or
   9066 	execute, not both
   9067 	(bus_connections_check_reply): use unlink, not remove_link, as we
   9068 	don't want to free the link; fixes double free mess
   9069 
   9070 	* dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case
   9071 	where no reply was received
   9072 
   9073 	* dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock):
   9074 	fix a refcount leak
   9075 
   9076 	* bus/signals.c (match_rule_matches): add special cases for the
   9077 	bus driver, so you can match on sender/destination for it.
   9078 
   9079 	* dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if
   9080 	DBUS_PRINT_BACKTRACE is set
   9081 
   9082 	* dbus/dbus-internals.c: add pid to assertion failure messages
   9083 
   9084 	* dbus/dbus-connection.c: add message type code to the debug spew
   9085 
   9086 	* glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want
   9087 	sender=foo not service=foo
   9088 
   9089 	* dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the
   9090 	session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use 
   9091 	DBUS_ACTIVATION_ADDRESS instead
   9092 
   9093 	* bus/activation.c: set DBUS_SESSION_BUS_ADDRESS,
   9094 	DBUS_SYSTEM_BUS_ADDRESS if appropriate
   9095 
   9096 	* bus/bus.c (bus_context_new): handle OOM copying bus type into
   9097 	context struct
   9098 
   9099 	* dbus/dbus-message.c (dbus_message_iter_get_object_path): new function
   9100 	(dbus_message_iter_get_object_path_array): new function (half
   9101 	finished, disabled for the moment)
   9102 	
   9103 	* glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle
   9104 	DBUS_MESSAGE_TYPE_ERROR
   9105 
   9106 	* tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to
   9107 	avoid redirecting stderr to /dev/null
   9108 	(babysit): close stdin if not doing the "exit_with_session" thing
   9109 
   9110 	* dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover
   9111 	debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not
   9112 	stdout/stdin, so things don't get confused
   9113 	
   9114 	* bus/system.conf.in: fix to allow replies, I modified .conf
   9115 	instead of .conf.in again.
   9116 
   9117 2003-10-14  David Zeuthen  <david (a] fubar.dk>
   9118 
   9119 	* python/dbus_bindings.pyx.in (MessageIter.get): fixed typo in
   9120 	argtype to arg_type when raising unknown arg type exception.
   9121 	Changed type list to reflect the changes in dbus-protocol.h so 
   9122 	the bindings actually work.
   9123 
   9124 2003-10-14  Havoc Pennington  <hp (a] redhat.com>
   9125 
   9126 	* test/decode-gcov.c: support gcc 3.3 also, though gcc 3.3 seems
   9127 	to have a bug keeping it from outputting the .da files sometimes
   9128 	(string_get_string): don't append garbage nul bytes to the string.
   9129 
   9130 2003-10-15  Seth Nickell  <seth (a] gnome.org>
   9131 
   9132 	* python/Makefile.am:
   9133 
   9134 	Include dbus_h_wrapper.h in the dist tarball.
   9135 
   9136 2003-10-14  Havoc Pennington  <hp (a] redhat.com>
   9137 
   9138 	* bus/bus.c (bus_context_check_security_policy): revamp this to
   9139 	work more sanely with new policy-based requested reply setup
   9140 
   9141 	* bus/connection.c (bus_transaction_send_from_driver): set bus
   9142 	driver messages as no reply
   9143 
   9144 	* bus/policy.c (bus_client_policy_check_can_receive): handle a
   9145 	requested_reply attribute on allow/deny rules
   9146 
   9147 	* bus/system.conf: add <allow requested_reply="true"/>
   9148 
   9149 	* bus/driver.c (bus_driver_handle_message): fix check for replies
   9150 	sent to the bus driver, which was backward. How did this ever work
   9151 	at all though? I think I'm missing something.
   9152 
   9153 	* dbus/dbus-message.c (decode_header_data): require error and
   9154 	method return messages to have a reply serial field to be valid
   9155 	(_dbus_message_loader_queue_messages): break up this function;
   9156 	validate that reply serial and plain serial are nonzero; 
   9157 	clean up the OOM/error handling.
   9158 	(get_uint_field): don't return -1 from this
   9159 	(dbus_message_create_header): fix signed/unsigned bug
   9160 
   9161 	* bus/connection.c (bus_connections_expect_reply): save serial of
   9162 	the incoming message, not reply serial
   9163 
   9164 2003-10-14  Havoc Pennington  <hp (a] redhat.com>
   9165 
   9166 	* bus/connection.c: implement pending reply tracking using
   9167 	BusExpireList
   9168 
   9169 	* bus/bus.c (bus_context_check_security_policy): verify that a
   9170 	reply is pending in order to allow a reply to be sent. Deny 
   9171 	messages of unknown type.
   9172 
   9173 	* bus/dbus-daemon-1.1.in: update to mention new resource limits
   9174 
   9175 	* bus/bus.c (bus_context_get_max_replies_per_connection): new
   9176 	(bus_context_get_reply_timeout): new
   9177 
   9178 2003-10-13  Seth Nickell  <seth (a] gnome.org>
   9179 
   9180 	* python/Makefile.am:
   9181 
   9182 	Pass "make distcheck": remove a couple files from DIST_FILES
   9183 	that weren't included in the final version.
   9184 
   9185 2003-10-12  Havoc Pennington  <hp (a] pobox.com>
   9186 
   9187         Added test code that 1) starts an actual bus daemon and 2) uses
   9188 	DBusGProxy; fixed bugs that were revealed by the test. Lots 
   9189 	more testing possible, but this is the basic framework.
   9190 	
   9191 	* glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove
   9192 	empty proxy lists from the proxy list hash
   9193 
   9194 	* dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a
   9195 	couple of return_if_fail checks
   9196 
   9197 	* dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0
   9198 	to allocate, so everything is cleared to NULL as it should be.
   9199 
   9200 	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass
   9201 	source as data to dbus_connection_set_timeout_functions() as the 
   9202 	timeout functions expected
   9203 
   9204 	* test/glib/run-test.sh: add a little script to start up a message
   9205 	bus and run tests using it
   9206 
   9207 	* tools/dbus-launch.1: updates
   9208 
   9209 	* tools/dbus-launch.c (main): add --config-file option
   9210 
   9211 	* tools/dbus-launch.c (main): remove confusing else if (runprog)
   9212 	that could never be reached.
   9213 
   9214 	* dbus/dbus-message.c (dbus_message_new_method_return) 
   9215 	(dbus_message_new_error, dbus_message_new_signal): set the
   9216 	no-reply-expected flag on all these. Redundant, but may
   9217 	as well be consistent.
   9218 
   9219 2003-10-11  Havoc Pennington  <hp (a] pobox.com>
   9220 
   9221 	* test/decode-gcov.c (function_solve_graph): make broken block
   9222 	graph a nonfatal error since it seems to be broken. Need to debug
   9223 	this.
   9224 
   9225 	* dbus/dbus-marshal.c (_dbus_type_is_valid): new function since we
   9226 	can't just check type > INVALID < LAST anymore
   9227 
   9228 	* dbus/dbus-message.c (dbus_message_get_signature): new function
   9229 	(dbus_message_has_signature): new function
   9230 	(struct DBusMessage): add signature field (right now it isn't sent
   9231 	over the wire, just generated on the fly)
   9232 	(dbus_message_copy): copy the signature, and init strings to
   9233 	proper length to avoid some reallocs
   9234 	(dbus_message_iter_init_array_iterator): return void, since it
   9235 	can't fail
   9236 	(dbus_message_iter_init_dict_iterator): return void since it can't fail
   9237 	(_dbus_message_loader_queue_messages): add silly temporary hack to
   9238 	fill in message->signature on load
   9239 
   9240 	* dbus/dbus-protocol.h: change DBUS_TYPE_* values to be ASCII
   9241 	characters, so they are relatively human-readable.
   9242 
   9243 2003-10-11  Havoc Pennington  <hp (a] pobox.com>
   9244 
   9245 	* dbus/dbus-message.c (_dbus_message_test): add more test
   9246 	coverage, but #if 0 for now since they uncover a bug 
   9247 	not fixed yet; I think in re_align_field_recurse()
   9248 	(re_align_field_recurse): add FIXME about broken assertion
   9249 
   9250 	* dbus/dbus-sysdeps.c (_dbus_sysdeps_test): add more test coverage
   9251 
   9252 	* bus/connection.c: share a couple code bits with expirelist.c
   9253 
   9254 	* bus/expirelist.h, bus/expirelist.c: implement a generic
   9255 	expire-items-after-N-seconds facility, was going to share between
   9256 	expiring connections and replies, decided not to use for expiring
   9257 	connections for now.
   9258 
   9259 	* COPYING: include AFL 2.0 (still need to change all the file headers)
   9260 
   9261 2003-10-09  Havoc Pennington  <hp (a] redhat.com>
   9262 
   9263 	* configure.in: define DBUS_HAVE_GCC33_GCOV if we have
   9264 	gcc 3.3. Not that we do anything about it yet.
   9265 
   9266 	* bus/signals.c (bus_match_rule_parse): impose max length on the
   9267 	match rule text
   9268 
   9269 	* dbus/dbus-protocol.h: add DBUS_MAXIMUM_MATCH_RULE_LENGTH
   9270 
   9271 2003-10-09  Havoc Pennington  <hp (a] redhat.com>
   9272 
   9273         Make matching rules theoretically work (add parser).
   9274 	
   9275 	* bus/bus.c (bus_context_check_security_policy): fix up to handle
   9276 	the case where destination is explicitly specified as bus driver
   9277 	and someone else is eavesdropping.
   9278 	
   9279 	* bus/policy.c (bus_client_policy_check_can_receive): fix up
   9280 	definition of eavesdropping and assertion
   9281 
   9282 	* tools/dbus-send.c (main): use dbus_message_type_from_string
   9283 
   9284 	* bus/signals.c (bus_match_rule_parse): implement
   9285 
   9286 	* dbus/dbus-message.c (dbus_message_type_from_string): new
   9287 
   9288 	* dbus/dbus-errors.h (DBUS_ERROR_MATCH_RULE_INVALID): add
   9289 
   9290 2003-10-02  Havoc Pennington  <hp (a] pobox.com>
   9291 
   9292 	* glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): rename from
   9293 	dbus_gproxy_oneway_call
   9294 
   9295 	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main) 
   9296 	(dbus_server_setup_with_g_main): fix to allow calling them more
   9297 	than once on the same args
   9298 	(dbus_bus_get_with_g_main): new function
   9299 
   9300 2003-10-02  Havoc Pennington  <hp (a] redhat.com>
   9301 
   9302 	* doc/dbus-tutorial.xml: write some stuff
   9303 
   9304 2003-09-29  Havoc Pennington  <hp (a] pobox.com>
   9305 
   9306 	* configure.in: split checks for Doxygen from XML docs, check for
   9307 	xmlto
   9308 
   9309 	* doc/Makefile.am: XML-ify all the docs, and add a blank
   9310 	dbus-tutorial.xml
   9311 
   9312 2003-09-29  Havoc Pennington  <hp (a] pobox.com>
   9313 
   9314 	* Merge dbus-object-names branch. To see the entire patch 
   9315 	do cvs diff -r DBUS_OBJECT_NAMES_BRANCHPOINT -r dbus-object-names,
   9316 	it's huuuuge though.
   9317 	To revert, I tagged DBUS_BEFORE_OBJECT_NAMES_MERGE.
   9318 	
   9319 2003-09-28  Havoc Pennington  <hp (a] pobox.com>
   9320 
   9321 	* HACKING: update to reflect new server
   9322 
   9323 2003-09-26  Seth Nickell  <seth (a] gnome.org>
   9324 
   9325 	* python/dbus.py:
   9326 	* python/examples/example-signals.py:
   9327 
   9328 	Start implementing some notions of signals. The API
   9329 	is really terrible, but they sort of work (with the
   9330 	exception of being able to filter by service, and to
   9331 	transmit signals *as* a particular service). Need to
   9332 	figure out how to make messages come from the service
   9333 	we registered :-(
   9334 	
   9335 	* python/dbus_bindings.pyx.in:
   9336 
   9337 	Removed duplicate message_handler callbacks.
   9338 	
   9339 2003-09-25  Havoc Pennington  <hp (a] redhat.com>
   9340 
   9341 	* bus/session.conf.in: fix my mess
   9342 
   9343 2003-09-25  Havoc Pennington  <hp (a] pobox.com>
   9344 
   9345 	* bus/session.conf.in: fix security policy, reported by Seth Nickell
   9346 
   9347 2003-09-25  Seth Nickell  <seth (a] gnome.org>
   9348 
   9349 	* python/examples/example-service.py:
   9350 
   9351 	Johan notices complete wrong code in example-service, but
   9352 	completely wrong in a way that works exactly the same (!).
   9353 	Johan is confused, how could this possibly work? Example
   9354 	code fails to serve purpose of making things clear.
   9355 	Seth fixes.
   9356 
   9357 2003-09-25  Mark McLoughlin  <mark (a] skynet.ie>
   9358 
   9359 	* doc/dbus-specification.sgml: don't require header fields
   9360 	to be 4-byte aligned and specify that fields should be
   9361 	distinguished from padding by the fact that zero is not
   9362 	a valid field name.
   9363 	
   9364 	* doc/TODO: remove re-alignment item and add item to doc
   9365 	the OBJECT_PATH type.
   9366 	
   9367 	* dbus/dbus-message.c:
   9368 	(HeaderField): rename the original member to value_offset
   9369 	and introduce a name_offset member to keep track of where
   9370 	the field actually begins.
   9371 	(adjust_field_offsets): remove.
   9372 	(append_int_field), (append_uint_field),
   9373 	(append_string_field): don't align the start of the header
   9374 	field to a 4-byte boundary.
   9375 	(get_next_field): impl finding the next marhsalled field
   9376 	after a given field.
   9377 	(re_align_field_recurse): impl re-aligning a number of
   9378 	already marshalled fields.
   9379 	(delete_field): impl deleting a field of any type and
   9380 	re-aligning any following fields.
   9381 	(delete_int_or_uint_field), (delete_string_field): remove.
   9382 	(set_int_field), (set_uint_field): no need to re-check
   9383 	that we have the correct type for the field.
   9384 	(set_string_field): ditto and impl re-aligning any
   9385 	following fields.
   9386 	(decode_header_data): update to take into account that
   9387 	the fields aren't 4-byte aligned any more and the new
   9388 	way to distinguish padding from header fields. Also,
   9389 	don't exit when there is too much header padding.
   9390 	(process_test_subdir): print the directory.
   9391 	(_dbus_message_test): add test to make sure a following
   9392 	field is re-aligned correctly after field deletion.
   9393 	
   9394 	* dbus/dbus-string.[ch]:
   9395 	(_dbus_string_insert_bytes): rename from insert_byte and
   9396 	allow the insert of multiple bytes.
   9397 	(_dbus_string_test): test inserting multiple bytes.
   9398 
   9399 	* dbus/dbus-marshal.c: (_dbus_marshal_set_string): add
   9400 	warning note to docs about having to re-align any
   9401 	marshalled values following the string.
   9402 	
   9403 	* dbus/dbus-message-builder.c:
   9404 	(append_string_field), (_dbus_message_data_load):
   9405 	don't align the header field.
   9406 	
   9407 	* dbus/dbus-auth.c: (process_test_subdir): print the
   9408 	directory.
   9409 	
   9410 	* test/break-loader.c: (randomly_add_one_byte): upd. for
   9411 	insert_byte change.
   9412 	
   9413 	* test/data/invalid-messages/bad-header-field-alignment.message:
   9414 	new test case.
   9415 	
   9416 	* test/data/valid-messages/unknown-header-field.message: shove
   9417 	a dict in the unknown field.
   9418 
   9419 2003-09-25  Seth Nickell  <seth (a] gnome.org>
   9420 
   9421 	* python/dbus.py:
   9422 	* python/dbus_bindings.pyx.in:
   9423 
   9424 	Handle return values.
   9425 	
   9426 	* python/examples/example-client.py:
   9427 	* python/examples/example-service.py:
   9428 
   9429 	Pass back return values from the service to the client.
   9430 	
   9431 2003-09-24  Seth Nickell  <seth (a] gnome.org>
   9432 
   9433 	* python/dbus.py:
   9434 
   9435 	Connect Object methods (when you are sharing an object) up... pass
   9436 	in a list of methods to be shared. Sharing all the methods just
   9437 	worked out too weird. You can now create nice Services over the
   9438 	DBus in Python. :-)
   9439 	
   9440 	* python/dbus_bindings.pyx.in:
   9441 
   9442 	Keep references to user_data tuples passed into C functions so 
   9443 	Python doesn't garbage collect on us.
   9444 
   9445 	Implement MethodReturn and Error subclasses of Message for creating
   9446 	DBusMessage's of those types.
   9447 	
   9448 	* python/examples/example-client.py:
   9449 	* python/examples/example-service.py:
   9450 
   9451 	Simple example code showing both how create DBus services and objects,
   9452 	and how to use them.
   9453 
   9454 2003-09-23  Havoc Pennington  <hp (a] pobox.com>
   9455 
   9456 	* glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement
   9457 
   9458 2003-09-23  Havoc Pennington  <hp (a] redhat.com>
   9459 
   9460 	* glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement
   9461 	(dbus_gproxy_disconnect_signal): implement
   9462 	(dbus_gproxy_manager_remove_signal_match): implement
   9463 	(dbus_gproxy_manager_add_signal_match): implement
   9464 	(dbus_gproxy_oneway_call): implement
   9465 
   9466 2003-09-23  Havoc Pennington  <hp (a] pobox.com>
   9467 
   9468 	* glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject
   9469 	subclass. This means dropping the transparent thread safety of the
   9470 	proxy; you now need a separate proxy per-thread, or your own
   9471 	locking on the proxy. Probably right anyway.
   9472 	(dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref
   9473 
   9474 2003-09-22  Havoc Pennington  <hp (a] redhat.com>
   9475 
   9476 	* glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement
   9477 
   9478 2003-09-21  Seth Nickell  <seth (a] gnome.org>
   9479 
   9480         First checkin of the Python bindings.
   9481 	
   9482 	* python/.cvsignore:
   9483 	* python/Makefile.am:
   9484 	* python/dbus_bindings.pyx.in:
   9485 	* python/dbus_h_wrapper.h:
   9486 
   9487 	Pieces for Pyrex to operate on, building a dbus_bindings.so
   9488 	python module for low-level access to the DBus APIs.
   9489 	
   9490 	* python/dbus.py:
   9491 
   9492 	High-level Python module for accessing DBus objects.
   9493 
   9494 	* configure.in:
   9495 	* Makefile.am:
   9496 
   9497 	Build stuff for the python bindings.
   9498 
   9499 	* acinclude.m4:
   9500 
   9501 	Extra macro needed for finding the Python C header files.
   9502 
   9503 2003-09-21  Havoc Pennington  <hp (a] pobox.com>
   9504 
   9505 	* glib/dbus-gproxy.c (dbus_gproxy_manager_new): start
   9506 	implementing the proxy manager, didn't get very far.
   9507 
   9508 	* dbus/dbus-bus.c (dbus_bus_add_match): new
   9509 	(dbus_bus_remove_match): new
   9510 
   9511 	* glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a
   9512 	path_name argument; adjust the other not-yet-implemented 
   9513 	gproxy constructors to be what I think they should be.
   9514 
   9515 2003-09-21  Havoc Pennington  <hp (a] pobox.com>
   9516 
   9517 	* dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE
   9518 	by default for message bus connections.
   9519 
   9520 	* dbus/dbus-connection.c (dbus_connection_dispatch): exit if
   9521 	exit_on_disconnect flag is set and we process the disconnected
   9522 	signal.
   9523 	(dbus_connection_set_exit_on_disconnect): new function
   9524 
   9525 2003-09-21  Havoc Pennington  <hp (a] pobox.com>
   9526 
   9527 	Get matching rules mostly working in the bus; only actually
   9528 	parsing the rule text remains. However, the client side of
   9529 	"signal connections" hasn't been started, this patch is only the
   9530 	bus side.
   9531 	
   9532 	* dbus/dispatch.c: fix for the matching rules changes
   9533 	
   9534 	* bus/driver.c (bus_driver_handle_remove_match)
   9535 	(bus_driver_handle_add_match): send an ack reply from these
   9536 	method calls
   9537 
   9538 	* glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of
   9539 	arguments, reported by Seth Nickell
   9540 
   9541 	* bus/config-parser.c (append_rule_from_element): support
   9542 	eavesdrop=true|false attribute on policies so match rules 
   9543 	can be prevented from snooping on the system bus.
   9544 
   9545 	* bus/dbus-daemon-1.1.in: consistently use terminology "sender"
   9546 	and "destination" in attribute names; fix some docs bugs; 
   9547 	add eavesdrop=true|false attribute
   9548 
   9549 	* bus/driver.c (bus_driver_handle_add_match)
   9550 	(bus_driver_handle_remove_match): handle AddMatch, RemoveMatch
   9551 	messages
   9552 
   9553 	* dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get
   9554 	rid of broadcast service concept, signals are just always broadcast
   9555 
   9556 	* bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c:
   9557 	mostly implement matching rules stuff (currently only exposed as signal
   9558 	connections)
   9559 
   9560 2003-09-21  Mark McLoughlin  <mark (a] skynet.ie>
   9561 
   9562 	* doc/dbus-specification.sgml: Change the header field name
   9563 	to be an enum and update the rest of the spec to reference
   9564 	the fields using the conventinal name.
   9565 
   9566 	* dbus/dbus-protocol.h: update to reflect the spec.
   9567 
   9568 	* doc/TODO: add item to remove the 4 byte alignment requirement.
   9569 	
   9570 	* dbus/dbus-message.c: Remove the code to generalise the
   9571 	header/body length and serial number header fields as named
   9572 	header fields so we can reference field names using the 
   9573 	protocol values.
   9574 	(append_int_field), (append_uint_field), (append_string_field):
   9575 	Append the field name as a byte rather than four chars.
   9576 	(delete_int_or_uint_field), (delete_string_field): reflect the
   9577 	fact that the field name and typecode now occupy 4 bytes instead
   9578 	of 8.
   9579 	(decode_string_field), (decode_header_data): update to reflect
   9580 	protocol changes and move the field specific encoding from
   9581 	decode_string_field() back into decode_header_data().
   9582 	
   9583 	* dbus/dbus-internals.[ch]: (_dbus_header_field_to_string):
   9584 	Add utility to aid debugging.
   9585 	
   9586 	* dbus/dbus-message-builder.c:
   9587 	(append_string_field), (_dbus_message_data_load): Update to
   9588 	reflect protocol changes; Change the FIELD_NAME directive
   9589 	to HEADER_FIELD and allow it to take the field's conventional
   9590 	name rather than the actual value.
   9591 	
   9592 	* test/data/*/*.message: Update to use HEADER_FIELD instead
   9593 	of FIELD_NAME; Always align the header on an 8 byte boundary
   9594 	*before* updating the header length.
   9595 
   9596 2003-09-15  Havoc Pennington  <hp (a] pobox.com>
   9597 
   9598 	* dbus/dbus-pending-call.c: add the get/set object data
   9599 	boilerplate as for DBusConnection, etc. Use generic object data
   9600 	for the notify callback.
   9601 
   9602 	* glib/dbus-gparser.c (parse_node): parse child nodes
   9603 
   9604 	* tools/dbus-viewer.c: more hacking on the dbus-viewer
   9605 	
   9606 	* glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to
   9607 	contain functions shared between the convenience lib and the
   9608 	installed lib
   9609 
   9610 	* glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add
   9611 	-export-symbols-regex to the GLib library
   9612 
   9613 	* dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock):
   9614 	fix the locking in here, and add a default handler for
   9615 	Introspect() that just returns sub-nodes.
   9616 
   9617 2003-09-14  Havoc Pennington  <hp (a] pobox.com>
   9618 
   9619 	* glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo
   9620 	rather than gfoo consistent
   9621 
   9622 	* glib/dbus-gproxy.h: delete for now, move contents to
   9623 	dbus-glib.h, because the include files don't work right since we
   9624 	aren't in the dbus/ subdir.
   9625 	
   9626 	* glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing
   9627 	(dbus_gproxy_end_call): finish
   9628 	(dbus_gproxy_begin_call): finish
   9629 
   9630 	* glib/dbus-gmain.c (dbus_set_g_error): new
   9631 
   9632 	* glib/dbus-gobject.c (handle_introspect): include information
   9633 	about child nodes in the introspection
   9634 
   9635 	* dbus/dbus-connection.c (dbus_connection_list_registered): new
   9636 	function to help in implementation of introspection
   9637 
   9638 	* dbus/dbus-object-tree.c
   9639 	(_dbus_object_tree_list_registered_and_unlock): new function
   9640 
   9641 2003-09-12  Havoc Pennington  <hp (a] pobox.com>
   9642 
   9643 	* glib/dbus-gidl.h: add common base class for all the foo_info
   9644 	types
   9645 
   9646         * tools/dbus-viewer.c: add GTK-based introspection UI thingy
   9647 	similar to kdcop
   9648 
   9649 	* test/Makefile.am: try test srcdir -ef . in addition to test
   9650 	srcdir = ., one of them should work (yeah lame)
   9651 	
   9652         * glib/Makefile.am: build the "idl" parser stuff as a convenience
   9653 	library
   9654 	
   9655 	* glib/dbus-gparser.h: make description_load routines return
   9656 	NodeInfo* not Parser*
   9657 
   9658 	* Makefile.am (SUBDIRS): build test dir after all library dirs
   9659 
   9660 	* configure.in: add GTK+ detection
   9661 
   9662 2003-09-07  Havoc Pennington  <hp (a] pobox.com>
   9663 
   9664 	* Make Doxygen contented.
   9665 
   9666 2003-09-07  Havoc Pennington  <hp (a] pobox.com>
   9667 
   9668 	* doc/dbus-specification.sgml: more updates
   9669 
   9670 2003-09-06  Havoc Pennington  <hp (a] pobox.com>
   9671 
   9672 	* doc/dbus-specification.sgml: partial updates
   9673 
   9674 	* bus/dbus-daemon-1.1.in: fix the config file docs for the
   9675 	zillionth time; hopefully I edited the right file this time.
   9676 
   9677 	* bus/config-parser.c (append_rule_from_element): support
   9678 	send_type, send_path, receive_type, receive_path
   9679 
   9680 	* bus/policy.c: add message type and path to the list of things
   9681 	that can be "firewalled"
   9682 
   9683 2003-09-06  Havoc Pennington  <hp (a] pobox.com>
   9684 
   9685 	* dbus/dbus-connection.c (dbus_connection_register_fallback): add this
   9686 	(dbus_connection_register_object_path): make this not handle
   9687 	messages to paths below the given path
   9688 
   9689 2003-09-03  Havoc Pennington  <hp (a] pobox.com>
   9690 
   9691 	* test/glib/Makefile.am: add this with random glib-linked test
   9692 	programs
   9693 
   9694 	* glib/Makefile.am: remove the random test programs from here,
   9695 	leave only the unit tests
   9696 
   9697 	* glib/dbus-gobject.c (_dbus_gobject_test): add test for 
   9698 	uscore/javacaps conversion, and fix	
   9699 	(get_object_property, set_object_property): change to .NET
   9700 	convention for mapping props to methods, set_FooBar/get_FooBar, 
   9701 	since one language has such a convention we may as well copy it. 
   9702 	Plus real methods in either getFooBar or get_foo_bar style won't 
   9703 	collide with this convention.
   9704 
   9705 2003-09-01  Havoc Pennington  <hp (a] pobox.com>
   9706 
   9707 	* glib/dbus-gparser.c: implement
   9708 
   9709 	* glib/dbus-gobject.c: start implementing skeletons support
   9710 
   9711 	* configure.in: when disabling checks/assert, also define
   9712 	G_DISABLE_ASSERT and G_DISABLE_CHECKS
   9713 
   9714 2003-09-01  Havoc Pennington  <hp (a] pobox.com>
   9715 
   9716 	* glib/Makefile.am: rearrange a bunch of files and get "make
   9717 	check" framework set up
   9718 
   9719 2003-08-31  Havoc Pennington  <hp (a] pobox.com>
   9720 
   9721 	* fix build with --disable-tests
   9722 
   9723 2003-08-30  Havoc Pennington  <hp (a] pobox.com>
   9724 
   9725 	* dbus/dbus-connection.c: purge DBusMessageHandler
   9726 
   9727 	* dbus/dbus-message-handler.c: remove DBusMessageHandler, just 
   9728 	use callbacks everywhere
   9729 
   9730 2003-08-30  Havoc Pennington  <hp (a] pobox.com>
   9731 
   9732 	* test/data/valid-config-files/system.d/test.conf: change to 
   9733 	root for the user so warnings don't get printed
   9734 
   9735 	* dbus/dbus-message.c: add dbus_message_get_path,
   9736 	dbus_message_set_path
   9737 	
   9738 	* dbus/dbus-object-tree.c (do_test_dispatch): add test of
   9739 	dispatching to a path
   9740 
   9741 	* dbus/dbus-string.c (_dbus_string_validate_path): add
   9742 
   9743 	* dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement
   9744 	(_dbus_marshal_object_path): implement
   9745 
   9746 	* dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field 
   9747 	to contain the path to the target object
   9748 	(DBUS_HEADER_FIELD_SENDER_SERVICE): rename
   9749 	DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service
   9750 
   9751 2003-08-30  Havoc Pennington  <hp (a] pobox.com>
   9752 
   9753 	* dbus/dbus-object-tree.c: write tests and fix the discovered bugs
   9754 
   9755 2003-08-29  Havoc Pennington  <hp (a] pobox.com>
   9756 
   9757 	* dbus/dbus-object-tree.c: modify to allow overlapping paths to be
   9758 	registered
   9759 	(struct DBusObjectSubtree): shrink this
   9760 	a lot, since we may have a lot of them
   9761 	(_dbus_object_tree_free_all_unlocked): implement
   9762 	(_dbus_object_tree_dispatch_and_unlock): implement
   9763 
   9764 2003-08-29  Havoc Pennington  <hp (a] pobox.com>
   9765 
   9766 	* dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS
   9767 
   9768 2003-08-28  Havoc Pennington  <hp (a] pobox.com>
   9769 
   9770 	purge DBusObjectID
   9771 	
   9772 	* dbus/dbus-connection.c: port to no ObjectID, create a
   9773 	DBusObjectTree, rename ObjectTree to ObjectPath in public API
   9774 
   9775 	* dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete 
   9776 	everything except UnregisterFunction and MessageFunction
   9777 	
   9778 	* dbus/dbus-marshal.c: port away from DBusObjectID, 
   9779 	add DBUS_TYPE_OBJECT_PATH
   9780 	
   9781 	* dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc], 
   9782 	dbus/dbus-objectid.[hc]: remove these, we are moving to 
   9783 	path-based object IDs
   9784 
   9785 2003-08-25  Havoc Pennington  <hp (a] pobox.com>
   9786 
   9787         Just noticed that dbus_message_test is hosed, I wonder when I
   9788 	broke that. I thought make check was passing earlier...
   9789 	
   9790 	* dbus/dbus-object-tree.c: add new "object tree" to match DCOP 
   9791 	container tree, will replace most of dbus-object-registry
   9792 
   9793 	* dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99
   9794 	screwup
   9795 
   9796 2003-08-19  Havoc Pennington  <hp (a] pobox.com>
   9797 
   9798 	* dbus/dbus-message.c (decode_string_field): support FIELD_SENDER
   9799 	(dbus_message_is_error): fix this function
   9800 
   9801 	* bus/dbus-daemon-1.1: clarify logic on when <deny>/<allow> rules
   9802 	match
   9803 
   9804 	* bus/policy.c (bus_client_policy_check_can_receive): fix code to
   9805 	reflect clarified man page
   9806 	(bus_client_policy_check_can_send): ditto
   9807 	
   9808 	* bus/session.conf.in: fixup
   9809 
   9810 	* bus/system.conf.in: fixup
   9811 
   9812 2003-08-18  Havoc Pennington  <hp (a] redhat.com>
   9813 
   9814 	* dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix
   9815 
   9816 	* dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
   9817 	dumb bug created earlier (wrong order of args to
   9818 	decode_header_data())
   9819 	
   9820 	* tools/dbus-send.c: port
   9821 
   9822 	* tools/dbus-print-message.c (print_message): port
   9823 
   9824         * test/data/*messages: port all messages over
   9825 	
   9826         * dbus/dbus-message-builder.c: support including 
   9827 	message type
   9828 	
   9829         * bus/driver.c: port over
   9830 	
   9831 	* bus/dispatch.c: port over to new stuff
   9832 
   9833 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
   9834 	rename disconnect signal to "Disconnected"
   9835 
   9836 2003-08-17  Havoc Pennington  <hp (a] pobox.com>
   9837 
   9838 	This doesn't compile yet, but syncing up so I can hack on it from
   9839 	work. What are branches for if not broken code? ;-)
   9840 	
   9841 	* dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add
   9842 	DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER,
   9843 	DBUS_HEADER_FIELD_ERROR_NAME
   9844 	
   9845 	* dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use
   9846 	for the interface+member pairs
   9847 	(string_hash): change to use g_str_hash algorithm
   9848 	(find_direct_function, find_string_function): refactor these to
   9849 	share most code.
   9850 	
   9851 	* dbus/dbus-message.c: port all of this over to support 
   9852 	interface/member fields instead of name field
   9853 
   9854 	* dbus/dbus-object-registry.c: port over
   9855 	
   9856 	* dbus/dbus-string.c (_dbus_string_validate_interface): rename
   9857 	from _dbus_string_validate_name
   9858 
   9859 	* bus/dbus-daemon-1.1: change file format for the 
   9860 	<deny>/<allow> stuff to match new message naming scheme
   9861 
   9862 	* bus/policy.c: port over
   9863 
   9864 	* bus/config-parser.c: parse new format
   9865 	
   9866 2003-08-16  Havoc Pennington  <hp (a] pobox.com>
   9867 
   9868 	* dbus/dbus-object-registry.c (add_and_remove_objects): remove
   9869 	broken assertion
   9870 
   9871 	* glib/dbus-gproxy.c: some hacking
   9872 
   9873 2003-08-15  Havoc Pennington  <hp (a] redhat.com>
   9874 
   9875 	* dbus/dbus-pending-call.c (dbus_pending_call_block): implement
   9876 
   9877 	* dbus/dbus-connection.c
   9878 	(dbus_connection_send_with_reply_and_block): factor out internals;
   9879 	change to convert any error replies to DBusError instead of 
   9880 	returning them as a message
   9881 
   9882 2003-08-15  Havoc Pennington  <hp (a] pobox.com>
   9883 
   9884 	* dbus/dbus-connection.c, 
   9885 	dbus/dbus-pending-call.c: Finish the pending call stuff
   9886 
   9887 2003-08-14  Havoc Pennington  <hp (a] redhat.com>
   9888 
   9889 	* dbus/dbus-pending-call.c: start on new object that will replace
   9890 	DBusMessageHandler and ReplyHandlerData for tracking outstanding
   9891 	replies
   9892 
   9893 	* dbus/dbus-gproxy.c: start on proxy object used to communicate
   9894 	with remote interfaces
   9895 
   9896 	* dbus/dbus-gidl.c: do the boring boilerplate in here
   9897 	
   9898 2003-08-12  Havoc Pennington  <hp (a] pobox.com>
   9899 
   9900 	* bus/dispatch.c (bus_dispatch): make this return proper 
   9901 	DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD
   9902 
   9903 	* dbus/dbus-errors.c (dbus_set_error): use
   9904 	_dbus_string_append_printf_valist
   9905 
   9906 	* dbus/dbus-string.c (_dbus_string_append_printf_valist)
   9907 	(_dbus_string_append_printf): new
   9908 
   9909 	* dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to
   9910 	UNKNOWN_METHOD
   9911 
   9912 	* dbus/dbus-connection.c (dbus_connection_dispatch): handle
   9913 	DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a
   9914 	message is unhandled.
   9915 
   9916 2003-08-11  Havoc Pennington  <hp (a] pobox.com>
   9917 
   9918 	* bus/test.c (client_disconnect_handler): change to return
   9919 	HANDLED (would have been REMOVE_MESSAGE)
   9920 
   9921 	* dbus/dbus-object.h (enum DBusHandlerResult): rename to
   9922 	HANDLED/NOT_YET_HANDLED instead of
   9923 	REMOVE_MESSAGE/ALLOW_MORE_HANDLERS to make it clearer how it 
   9924 	should be used.
   9925 
   9926 2003-08-10  Havoc Pennington  <hp (a] pobox.com>
   9927 
   9928 	* tools/dbus-send.c (main): add --type argument, for now
   9929 	supporting only method_call and signal types.
   9930 
   9931 	* tools/dbus-print-message.c: print message type
   9932 
   9933 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
   9934 	init connection->objects
   9935 
   9936 	* doc/dbus-specification.sgml: fix sgml
   9937 
   9938 	* bus/*.c: port over to object-instance API changes
   9939 
   9940 	* test/test-service.c: ditto
   9941 	
   9942 	* dbus/dbus-message.c (dbus_message_create_header): allow #NULL
   9943 	name, we will have to fix up the rest of the code to also handle
   9944 	this
   9945 	(dbus_message_new): generic message-creation call
   9946 	(set_string_field): allow appending name field
   9947 
   9948 2003-08-06  Havoc Pennington  <hp (a] pobox.com>
   9949 
   9950 	* dbus/dbus-object-registry.c: implement signal connection 
   9951 	and dispatch
   9952 
   9953 	* dbus/dbus-connection.c (_dbus_connection_unref_unlocked): new
   9954 
   9955 	* dbus/dbus-internals.c (_dbus_memdup): new function
   9956 
   9957 2003-08-02  Havoc Pennington  <hp (a] pobox.com>
   9958 
   9959 	* dbus/dbus-message.c (dbus_message_get_no_reply)
   9960 	(dbus_message_set_no_reply): add these and remove
   9961 	set_is_error/get_is_error
   9962 
   9963 	* dbus/dbus-protocol.h, doc/dbus-specification.sgml: 
   9964 	remove the ERROR flag, since there's now an ERROR type
   9965 
   9966 2003-08-01  Havoc Pennington  <hp (a] pobox.com>
   9967 
   9968 	* dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock):
   9969 	implement
   9970 
   9971 	* dbus/dbus-message.c (dbus_message_get_type): new function
   9972 
   9973 	* doc/dbus-specification.sgml: add "type" byte to messages
   9974 
   9975 2003-08-01  Havoc Pennington  <hp (a] pobox.com>
   9976 
   9977 	* dbus/dbus-protocol.h (DBUS_MESSAGE_TYPE_*): introduce
   9978 	a message type enum to distinguish kinds of message
   9979 	(DBUS_HEADER_FLAG_NO_REPLY_EXPECTED): flag for a message 
   9980 	that need not be replied to
   9981 
   9982 2003-08-01  Havoc Pennington  <hp (a] pobox.com>
   9983 
   9984 	* dbus/dbus-marshal.c: adapt to DBusObjectID changes
   9985 	(unpack_8_octets): fix no-64-bit-int bug
   9986 
   9987 	* dbus/dbus-object-registry.c (validate_id): validate the 
   9988 	connection ID bits, not just the instance ID.
   9989 
   9990 	* dbus/dbus-connection.c (_dbus_connection_init_id): initialize
   9991 	the connection-global 33 bits of the object ID
   9992 
   9993 	* dbus/dbus-object-registry.c (info_from_entry): fill in 
   9994 	object ID in the new way
   9995 
   9996 	* dbus/dbus-objectid.h: rather than high/low bits, specifically 
   9997 	define server/client/instance bits.
   9998 
   9999 2003-07-30  Havoc Pennington  <hp (a] pobox.com>
   10000 
   10001 	* dbus/dbus-connection.c (dbus_connection_register_object): fix
   10002 	build
   10003 
   10004 2003-07-13  Havoc Pennington  <hp (a] pobox.com>
   10005 
   10006 	* dbus/dbus-object.h (struct DBusObjectVTable): add padding
   10007 	fields to DBusObjectVTable and DBusObjectInfo
   10008 
   10009 2003-07-12  Havoc Pennington  <hp (a] pobox.com>
   10010 
   10011 	* dbus/dbus-object-registry.c: implement unit test,
   10012 	fix bugs discovered in process
   10013 
   10014 	* dbus/dbus-connection.c: remove handler_table and
   10015 	register_handler(), add DBusObjectRegistry usage
   10016 
   10017 	* dbus/dbus-objectid.c (dbus_object_id_is_null)
   10018 	(dbus_object_id_set_null): new functions
   10019 
   10020 2003-07-08  Havoc Pennington  <hp (a] pobox.com>
   10021 
   10022 	* dbus/dbus-object.c: implement some of this
   10023 
   10024 	* dbus/dbus-object-registry.c
   10025 	(_dbus_object_registry_add_and_unlock): fill in the object_id out
   10026 	param
   10027 	(_dbus_object_registry_new): handle OOM
   10028 
   10029 2003-07-08  Havoc Pennington  <hp (a] pobox.com>
   10030 
   10031 	* dbus/dbus-object.h: sketch out an API for registering objects
   10032 	with a connection, that allows us to use as little as 24 bytes
   10033 	per object and lets application code represent an object in 
   10034 	any conceivable way.
   10035 
   10036 	* dbus/dbus-object-registry.c: implement the hard bits of the
   10037 	DBusConnection aspect of object API. Not yet wired up.
   10038 	
   10039 2003-07-06  Havoc Pennington  <hp (a] pobox.com>
   10040 
   10041 	* dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function
   10042 	(_dbus_marshal_object_id): new
   10043 	(_dbus_demarshal_object_id): new
   10044 	(_dbus_marshal_get_arg_end_pos): support object ID type, and
   10045 	consolidate identical switch cases. Don't conditionalize handling
   10046 	of DBUS_TYPE_UINT64, need to handle the type always.
   10047 	(_dbus_marshal_validate_arg): consolidate identical cases, and
   10048 	handle DBUS_TYPE_OBJECT_ID
   10049 
   10050 	* dbus/dbus-objectid.c: new file with DBusObjectID data type.
   10051 
   10052 	* dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID
   10053 
   10054 2003-09-28  Havoc Pennington  <hp (a] pobox.com>
   10055 
   10056 	* real 0.13 release
   10057 
   10058 2003-09-28  Havoc Pennington  <hp (a] pobox.com>
   10059 
   10060 	* doc/Makefile.am (dbus-specification.html): testing a funky hack
   10061 	to work with Debian db2html
   10062 
   10063 2003-09-28  Havoc Pennington  <hp (a] pobox.com>
   10064 
   10065 	* configure.in: 0.13
   10066 
   10067 	* doc/Makefile.am (dbus-test-plan.html): accept nonexistence of
   10068 	stylesheet-images for benefit of Debian
   10069 	
   10070 	Change back to using filesystem-linked sockets for the system
   10071 	bus, so only root can create the default system bus address.
   10072 	
   10073 	* bus/system.conf.in: change to use
   10074 	DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
   10075 
   10076 	* dbus/Makefile.am (INCLUDES): remove DBUS_SYSTEM_BUS_PATH define
   10077 	from here.
   10078 
   10079 	* configure.in: define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
   10080 	here, and AC_DEFINE DBUS_SYSTEM_PATH
   10081 
   10082 2003-08-09  Anders Carlsson  <andersca (a] codefactory.se>
   10083 
   10084 	* doc/TODO:
   10085 	* doc/busconfig.dtd:
   10086 	Add busconfig DTD.
   10087 	
   10088 2003-08-09  Anders Carlsson  <andersca (a] codefactory.se>
   10089 
   10090 	* doc/dbus-specification.sgml:
   10091 	Add activation reply values.
   10092 	
   10093 2003-08-05  Havoc Pennington  <hp (a] redhat.com>
   10094 
   10095 	* configure.in: 0.12
   10096 
   10097 2003-08-05  Anders Carlsson  <andersca (a] codefactory.se>
   10098 
   10099 	* glib/dbus-gmain.c: (watch_fd_new), (watch_fd_ref),
   10100 	(watch_fd_unref), (dbus_gsource_check), (dbus_gsource_dispatch),
   10101 	(add_watch), (remove_watch), (create_source):
   10102 	Refcount fds, fixes some reentrancy issues.
   10103 	
   10104 2003-07-30  Havoc Pennington  <hp (a] redhat.com>
   10105 
   10106 	* dbus/dbus-bus.c (init_connections_unlocked): fix default system
   10107 	bus address to be abstract if we have abstract sockets
   10108 
   10109 	* NEWS: update
   10110 
   10111 2003-07-28  Havoc Pennington  <hp (a] redhat.com>
   10112 
   10113 	* bus/messagebus.in: fix to avoid processname/servicename 
   10114 	confusion, from Michael Kearey
   10115 	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100965
   10116 	
   10117 2003-07-23  Havoc Pennington  <hp (a] pobox.com>
   10118 
   10119 	* dbus/dbus-message.c (dbus_message_iter_get_named): 
   10120 	fix from Andy Hanton to remove broken "+1"
   10121 
   10122 2003-07-16  Havoc Pennington  <hp (a] pobox.com>
   10123 
   10124 	* tools/dbus-launch.c (babysit): close stdout/stderr in the
   10125 	babysitter process, as suggested by Thomas Leonard, so 
   10126 	an "eval `dbus-launch --exit-with-session`" will actually 
   10127 	return
   10128 
   10129 2003-07-16  Havoc Pennington  <hp (a] pobox.com>
   10130 
   10131 	* configure.in: print out EXPANDED_* variables in the summary at
   10132 	the end; clean up the code that computes EXPANDED_ variables and
   10133 	get the ones using exec_prefix right. Should make things work
   10134 	when you build without --prefix
   10135 
   10136 2003-06-29  Havoc Pennington  <hp (a] pobox.com>
   10137 
   10138 	* mono/Test.cs (class Test): fire up a main loop and run it
   10139 
   10140 	* mono/DBus.cs (DBus): don't g_thread_init since it can only be
   10141 	done once, the app has to do it
   10142 
   10143 2003-06-26  Havoc Pennington  <hp (a] pobox.com>
   10144 
   10145 	* mono/Connection.cs: set up connection with the glib main loop
   10146 
   10147 2003-07-01  Havoc Pennington  <hp (a] redhat.com>
   10148 
   10149 	* doc/dbus-specification.sgml: clarify the format of a type code,
   10150 	change suggested by Jim Blandy
   10151 
   10152 2003-06-29  Miloslav Trmac  <mitr (a] volny.cz>
   10153 
   10154 	* doc/Makefile.am:
   10155 	* tools/Makefile.am: Don't assume srcdir == builddir.
   10156 
   10157 	* dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
   10158 	the allocated block.
   10159 	(_dbus_memory_test): New function.
   10160 	* dbus/dbus-test.h: Add _dbus_memory_test ().
   10161 	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
   10162 
   10163 	* dbus/dbus-message.c (decode_header_data): Use %.4s instead
   10164 	of %c%c%c%c.
   10165 	(dbus_message_new): Remove obsolete @todo.
   10166 
   10167 	* dbus/dbus-marshal.c (_dbus_marshal_set_int64)
   10168 	(_dbus_marshal_set_uint64): Fix comment.
   10169 
   10170 	* dbus/dbus-message.c (append_int_field, append_uint_field): Don't
   10171 	hardcode FIELD_REPLY_SERIAL.
   10172 
   10173 	* dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
   10174 	(_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p
   10175 
   10176 	* configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
   10177 	and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
   10178 
   10179 2003-06-24  Havoc Pennington  <hp (a] pobox.com>
   10180 
   10181 	* mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0)
   10182 
   10183 2003-06-23  Anders Carlsson  <andersca (a] codefactory.se>
   10184 
   10185 	* configure.in:
   10186 	* gcj/.cvsignore:
   10187 	* gcj/Hello.java:
   10188 	* gcj/Makefile.am:
   10189 	* gcj/TestMessage.java: (TestMessage), (TestMessage.main):
   10190 	* gcj/org/.cvsignore:
   10191 	* gcj/org/Makefile.am:
   10192 	* gcj/org/freedesktop/.cvsignore:
   10193 	* gcj/org/freedesktop/Makefile.am:
   10194 	* gcj/org/freedesktop/dbus/.cvsignore:
   10195 	* gcj/org/freedesktop/dbus/Makefile.am:
   10196 	* gcj/org/freedesktop/dbus/Message.java: (Message),
   10197 	(Message.Message):
   10198 	* gcj/org/freedesktop/dbus/natMessage.cc:
   10199 	Fix the build system.
   10200 
   10201 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10202 
   10203 	* mono/Connection.cs: add more bindings
   10204 
   10205 	* dbus/dbus-threads.c (dbus_threads_init): allow calling this
   10206 	more than once.
   10207 
   10208 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10209 
   10210 	* mono/Connection.cs, mono/DBus.cs, mono/Error.cs:
   10211 	Start wrapping more stuff.
   10212 
   10213 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10214 
   10215 	* mono/Message.cs: implement Message.Wrap() that ensures we only
   10216 	have a single C# wrapper per DBusMessage, assuming it works which
   10217 	it probably doesn't.
   10218 
   10219 	* dbus/dbus-message.c (dbus_message_allocate_data_slot): new
   10220 	(dbus_message_free_data_slot): new
   10221 	(dbus_message_set_data): new
   10222 	(dbus_message_get_data): new
   10223 
   10224 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10225 
   10226 	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref)
   10227 	(_dbus_data_slot_allocator_alloc): rework these to keep a
   10228 	reference count on each slot and automatically manage a global
   10229 	slot ID variable passed in by address
   10230 
   10231 	* bus/bus.c: convert to new dataslot API
   10232 
   10233 	* dbus/dbus-bus.c: convert to new dataslot API
   10234 
   10235 	* dbus/dbus-connection.c: convert to new dataslot API
   10236 
   10237 	* dbus/dbus-server.c: convert to new dataslot API
   10238 
   10239 	* glib/dbus-gmain.c: ditto
   10240 
   10241 	* bus/test.c: ditto
   10242 
   10243 	* bus/connection.c: ditto
   10244 
   10245 2003-06-22  Anders Carlsson  <andersca (a] codefactory.se>
   10246 
   10247 	* configure.in: Add AM_PROG_GCJ and move AM_PROG_LIBTOOL
   10248 	after the gcj checks so that the correct configuration tags
   10249 	will be added to libtool.
   10250 
   10251 	* dbus-glib-1.pc.in: No need to specify any includes since
   10252 	dbus-1.pc.in has those.
   10253 
   10254 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10255 
   10256 	* mono/*, gcj/*, configure.in, Makefile.am:
   10257 	Check in makefiles and subdirs for mono and gcj bindings.
   10258 	Neither binding actually exists, just trying to get through
   10259 	all the build and other boring bits.
   10260 
   10261 2003-06-21  Philip Blundell  <philb (a] gnu.org>
   10262 
   10263 	* tools/dbus-monitor.1: Updated.
   10264 
   10265 	* tools/dbus-send.1: Likewise.
   10266 
   10267 2003-06-20  Anders Carlsson  <andersca (a] codefactory.se>
   10268 
   10269 	* dbus/dbus-transport-unix.c (unix_handle_watch): Check
   10270 	for hangup and error after checking read so we won't discard
   10271 	pending data if both hangup and read are set.
   10272 
   10273 2003-06-19  Philip Blundell  <philb (a] gnu.org>
   10274 
   10275 	* tools/dbus-print-message.c (print_message): Handle BOOLEAN.
   10276 
   10277 	* tools/dbus-send.c: Accept both --system and --session.
   10278 
   10279 	* tools/dbus-monitor.c: Same here.
   10280 
   10281 2003-06-19  Anders Carlsson  <andersca (a] codefactory.se>
   10282 
   10283 	* glib/dbus-glib.h: Fix so that dbus-glib.h can be used
   10284 	from C++ (Patch by Miloslav Trmac).
   10285 
   10286 2003-06-15  Joe Shaw  <joe (a] assbarn.com>
   10287 
   10288 	* configure.in: Check for socklen_t.
   10289 
   10290 	* dbus/dbus-sysdeps.c: Define socklen_t if it's not defined.
   10291 
   10292 	* test/test-segfault.c: Add #include <sys/time.h>
   10293 
   10294 	* tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since
   10295 	dbus-launch needs it.
   10296 
   10297 2003-06-09  Havoc Pennington  <hp (a] redhat.com>
   10298 
   10299 	* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use
   10300 	SUN_LEN, it breaks abstract socket usage
   10301 
   10302 	* dbus/dbus-internals.c (_dbus_verbose_real): only print PID at
   10303 	starts of lines.
   10304 
   10305 2003-06-04  Havoc Pennington  <hp (a] pobox.com>
   10306 
   10307 	* dbus/dbus-server.c (dbus_server_listen): allow abstract sockets
   10308 	using unix:abstract=/foo, and when listening in a tmpdir
   10309 	i.e. unix:tmpdir=/tmp, always use abstract sockets if we can.
   10310 
   10311 	* dbus/dbus-transport.c (_dbus_transport_open): support
   10312 	unix:abstract=/foo
   10313 
   10314 	* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
   10315 	support abstract sockets
   10316 
   10317 	* dbus/dbus-transport-unix.c
   10318 	(_dbus_transport_new_for_domain_socket): support abstract sockets
   10319 
   10320 	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract"
   10321 	toggle as an argument, implement abstract namespace support
   10322 	(_dbus_listen_unix_socket): ditto
   10323 
   10324 	* configure.in: add --enable-abstract-sockets and implement
   10325 	a configure check for autodetection of the right value.
   10326 
   10327 2003-06-01  Havoc Pennington  <hp (a] pobox.com>
   10328 
   10329 	* tools/dbus-cleanup-sockets.c: add utility to clean up sockets
   10330 	in /tmp (though on Linux this will end up being useless,
   10331 	when we add abstract namespace support)
   10332 
   10333 	* configure.in: define DBUS_SESSION_SOCKET_DIR in addition to
   10334 	subst'ing it
   10335 
   10336 2003-05-28  Colin Walters  <walters (a] verbum.org>
   10337 
   10338 	* tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/).
   10339 
   10340 2003-05-18  Anders Carlsson  <andersca (a] codefactory.se>
   10341 
   10342 	* dbus/dbus-message.c (dbus_message_new): Remove @todo.
   10343 
   10344 2003-05-17  Colin Walters  <walters (a] gnu.org>
   10345 
   10346 	* tools/dbus-send.c: Don't exit with an error code if --help was
   10347 	passed.  Default to using the session bus instead of the system
   10348 	one.
   10349 
   10350 	* tools/dbus-launch.c: Ditto.
   10351 
   10352 	* tools/dbus-monitor.c: Ditto.
   10353 
   10354 	* tools/dbus-send.1: Update with new arguments.
   10355 
   10356 	* tools/dbus-launch.c: Emit code to export variables.  New
   10357 	arguments -s and -c to specify shell syntax, and a bit of code to
   10358 	autodetect syntax.  Also, allow specifying a program to run.
   10359 
   10360 	* tools/dbus-launch.1: Update with new arguments.
   10361 
   10362 	* tools/dbus-send.1: Ditto.
   10363 
   10364 	* tools/dbus-monitor.1: Ditto.
   10365 
   10366 2003-05-17  Havoc Pennington  <hp (a] pobox.com>
   10367 
   10368 	* bus/config-parser.c (merge_included): merge in policies from
   10369 	child configuration file.
   10370 
   10371 	* bus/policy.c (bus_policy_merge): function to merge two policies
   10372 	together
   10373 
   10374 2003-05-16  Havoc Pennington  <hp (a] redhat.com>
   10375 
   10376 	* dbus/dbus-connection.c: disable verbose lock spew
   10377 
   10378 	* tools/dbus-send.c: add --print-reply command line option
   10379 
   10380 	* tools/dbus-print-message.h (print_message): new util function
   10381 	shared by dbus-send and dbus-monitor
   10382 
   10383 	* tools/dbus-monitor.c (handler_func): exit on disconnect
   10384 
   10385 	* dbus/dbus-transport-unix.c (do_reading): if the transport is
   10386 	disconnected, don't try to use the read_watch
   10387 
   10388 	* dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL
   10389 	so we can find this bug more easily
   10390 
   10391 2003-05-16  Havoc Pennington  <hp (a] redhat.com>
   10392 
   10393 	* bus/policy.c (free_rule_list_func): avoid a crash when passed
   10394 	NULL as DBusHashTable is annoyingly likely to do.
   10395 
   10396 2003-05-16  Colin Walters  <walters (a] verbum.org>
   10397 
   10398 	* tools/dbus-monitor.c: Add --session argument and usage()
   10399 	function.
   10400 
   10401 	* tools/dbus-monitor.1: Update with new --session arg.
   10402 
   10403 	* bus/Makefile.am (install-data-hook): Create
   10404 	$(libdir)/dbus-1.0/services so that the session bus is happy.
   10405 
   10406 2003-05-15  Havoc Pennington  <hp (a] redhat.com>
   10407 
   10408 	* dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
   10409 	on non-x86. ifdef's are evil.
   10410 
   10411 2003-05-15  Havoc Pennington  <hp (a] redhat.com>
   10412 
   10413 	* configure.in: 0.11
   10414 
   10415 	* NEWS: update
   10416 
   10417 	* bus/Makefile.am (initddir): apparently we are supposed to put
   10418 	init scripts in /etc/rc.d/init.d not /etc/init.d
   10419 
   10420 	* bus/Makefile.am: remove the "you must --enable-tests to make
   10421 	check" as it broke distcheck
   10422 
   10423 	* bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d
   10424 
   10425 2003-05-13  James Willcox  <jwillcox (a] gnome.org>
   10426 
   10427 	* configure.in:
   10428 	* bus/activation.c: (bus_activation_service_created),
   10429 	(bus_activation_activate_service):
   10430 	* bus/driver.c: (bus_driver_send_service_deleted),
   10431 	(bus_driver_send_service_created), (bus_driver_send_service_lost),
   10432 	(bus_driver_send_service_acquired),
   10433 	(bus_driver_send_welcome_message),
   10434 	(bus_driver_handle_list_services):
   10435 	* bus/session.conf.in:
   10436 	* dbus/dbus-bus.c: (dbus_bus_acquire_service),
   10437 	(dbus_bus_service_exists), (dbus_bus_activate_service):
   10438 	* dbus/dbus-bus.h:
   10439 
   10440 	Add some convenience API which lets you activate a service, and did a
   10441 	bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args()
   10442 	and dbus_message_get_args()
   10443 
   10444 2003-05-11  Havoc Pennington  <hp (a] pobox.com>
   10445 
   10446 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid
   10447 	calling _dbus_marshal_validate_arg() for every byte in a byte
   10448 	array, etc.
   10449 
   10450 	* dbus/dbus-message-handler.c: use atomic reference counting to
   10451 	reduce number of locks slightly; the global lock in here sucks
   10452 
   10453 	* dbus/dbus-connection.c
   10454 	(_dbus_connection_update_dispatch_status_and_unlock): variant of
   10455 	update_dispatch_status that can be called with lock held; then use
   10456 	in a couple places to reduce locking/unlocking
   10457 	(dbus_connection_send): hold the lock over the whole function
   10458 	instead of acquiring it twice.
   10459 
   10460 	* dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM
   10461 
   10462 	* bus/connection.c (bus_connections_setup_connection): fix access
   10463 	to already-freed memory.
   10464 
   10465 	* dbus/dbus-connection.c: keep a little cache of linked list
   10466 	nodes, to avoid using the global linked list alloc lock in the
   10467 	normal send-message case. Instead we just use the connection lock
   10468 	that we already have to take.
   10469 
   10470 	* dbus/dbus-list.c (_dbus_list_find_last): new function
   10471 
   10472 	* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec):
   10473 	change to use a struct for the atomic type; fix docs,
   10474 	they return value before increment, not after increment.
   10475 
   10476 	* dbus/dbus-string.c (_dbus_string_append_4_aligned)
   10477 	(_dbus_string_append_8_aligned): new functions to try to
   10478 	microoptimize this operation.
   10479 	(reallocate_for_length): break this out of set_length(), to
   10480 	improve profile info, and also so we can consider inlining the
   10481 	set_length() part.
   10482 
   10483 	* dbus/dbus-message.c (dbus_message_new_empty_header): init data
   10484 	strings with some preallocation, cuts down on our calls to realloc
   10485 	a fair bit. Though if we can get the "move entire string to empty
   10486 	string" optimization below to kick in here, it would be better.
   10487 
   10488 	* dbus/dbus-string.c (_dbus_string_move): just call
   10489 	_dbus_string_move_len
   10490 	(_dbus_string_move_len): add a special case for moving
   10491 	an entire string into an empty string; we can just
   10492 	swap the string data instead of doing any reallocs.
   10493 	(_dbus_string_init_preallocated): new function
   10494 
   10495 2003-05-11  Havoc Pennington  <hp (a] pobox.com>
   10496 
   10497 	Write a "test-profile" that does echo client-server with threads;
   10498 	profile reveals lock contention, memcpy/realloc of buffers, and
   10499 	UTF-8 validation as hot spots. 20% of lock contention eliminated
   10500 	with dbus_atomic_inc/dec implementation on x86.  Much remaining
   10501 	contention is global mempool locks for GList and DBusList.
   10502 
   10503 	* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
   10504 	x86 implementation
   10505 
   10506 	* dbus/dbus-connection.c (struct DBusConnection): use
   10507 	dbus_atomic_t for the reference count
   10508 
   10509 	* dbus/dbus-message.c (struct DBusMessage): declare
   10510 	dbus_atomic_t values as volatile
   10511 
   10512 	* configure.in: code to detect ability to use atomic integer
   10513 	operations in assembly, from GLib patch
   10514 
   10515 	* dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
   10516 	time, tired of it being wrong in threads and forked processes
   10517 
   10518 	* glib/test-profile.c: a little program to bounce messages back
   10519 	and forth between threads and eat CPU
   10520 
   10521 	* dbus/dbus-connection.c: add debug spew macros for debugging
   10522 	thread locks; include config.h at top; fix deadlock in
   10523 	dbus_connection_flush()
   10524 
   10525 2003-05-08  Havoc Pennington  <hp (a] pobox.com>
   10526 
   10527 	* dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov
   10528 	data from getting written, and there wasn't a good reason to
   10529 	use _exit really.
   10530 
   10531 	* test/decode-gcov.c (mark_inside_dbus_build_tests): don't count
   10532 	dbus_verbose lines in test coverage
   10533 	(main): add list of functions sorted by # of untested blocks
   10534 	to the coverage report
   10535 
   10536 	* dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS
   10537 
   10538 	* dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage
   10539 
   10540 	* dbus/dbus-message-handler.c (_dbus_message_handler_test):
   10541 	extend test coverage
   10542 
   10543 	* test/data/auth/cancel.auth-script: test canceling an
   10544 	authentication
   10545 
   10546 	* dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they
   10547 	aren't used. in CVS history if we end up needing them.
   10548 
   10549 2003-05-04  Havoc Pennington  <hp (a] pobox.com>
   10550 
   10551 	* dbus/dbus-message-handler.c (_dbus_message_handler_test): add
   10552 	unit test
   10553 
   10554 	* dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this
   10555 	function, which assumed length was in # of strings, not bytes
   10556 
   10557 	* dbus/dbus-message.c (_dbus_message_test): add tests for some
   10558 	missing coverage
   10559 
   10560 	* dbus/dbus-connection.c
   10561 	(_dbus_connection_queue_received_message): disable function for
   10562 	now, we are only using it in test mode
   10563 
   10564 	* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
   10565 	remove a mistaken FIXME
   10566 
   10567 2003-05-04  Havoc Pennington  <hp (a] pobox.com>
   10568 
   10569 	* dbus/dbus-connection.c (dbus_connection_preallocate_send):
   10570 	unlock mutex on successful return, patch from Anders Gustafsson
   10571 
   10572 2003-05-04  Havoc Pennington  <hp (a] pobox.com>
   10573 
   10574 	* dbus-glib-1.pc.in (Requires): fix dependencies, from
   10575 	Anders Gustafsson
   10576 
   10577 2003-05-04  Havoc Pennington  <hp (a] pobox.com>
   10578 
   10579 	* tools/dbus-launch.c: implement
   10580 
   10581 	* bus/main.c (main), bus/bus.c (bus_context_new):
   10582 	implement --print-pid and --fork
   10583 
   10584 2003-05-03  Havoc Pennington  <hp (a] redhat.com>
   10585 
   10586 	* dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
   10587 	the address had no value, and add to test suite. Fix and
   10588 	regression test from Miloslav Trmac
   10589 
   10590 2003-05-03  Havoc Pennington  <hp (a] pobox.com>
   10591 
   10592 	* dbus/dbus-watch.c (dbus_watch_handle): warn and return if a
   10593 	watch is invalid when handled
   10594 
   10595 	* tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add
   10596 	dbus-launch utility to launch the bus from a shell script.  Didn't
   10597 	actually implement dbus-launch yet, it's just a placeholder still.
   10598 
   10599 2003-05-03  Havoc Pennington  <hp (a] pobox.com>
   10600 
   10601 	* bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
   10602 	daemon; also documents daemon config file, so replaces
   10603 	doc/config-file.txt. Corrected some stuff from config-file.txt in
   10604 	the process of moving it.
   10605 
   10606 2003-05-03  Havoc Pennington  <hp (a] pobox.com>
   10607 
   10608 	* tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1:
   10609 	add some man pages
   10610 
   10611 2003-05-03  Colin Walters  <walters (a] verbum.org>
   10612 
   10613 	* dbus/dbus-sysdeps.c (fill_user_info): Test against
   10614 	DBUS_UID_UNSET to determine whether to do a uid lookup or not.
   10615 
   10616 	* Makefile.am: Update to use new .pc versioning scheme.
   10617 
   10618 2003-05-02  Havoc Pennington  <hp (a] redhat.com>
   10619 
   10620 	* bus/system.conf.in: allow send/receive to/from message bus
   10621 	service
   10622 
   10623 2003-04-30  Havoc Pennington  <hp (a] redhat.com>
   10624 
   10625 	* configure.in: print a note when building with unit tests and
   10626 	without assertions
   10627 
   10628 2003-04-30  Havoc Pennington  <hp (a] redhat.com>
   10629 
   10630 	* Makefile.am: add a check-local that complains if you didn't
   10631 	configure with --enable-tests
   10632 
   10633 2003-04-29  Havoc Pennington  <hp (a] redhat.com>
   10634 
   10635 	* glib/dbus-gmain.c: docs cleanups
   10636 
   10637 	* dbus/dbus-types.h: add docs on int64 types
   10638 
   10639 	* dbus/dbus-memory.c: fix docs to avoid putting private API in
   10640 	public API docs section
   10641 
   10642 2003-04-29  Havoc Pennington  <hp (a] redhat.com>
   10643 
   10644 	* dbus-1.pc.in, dbus-glib-1.pc.in: rename these from
   10645 	dbus-1.0.pc.in, dbus-glib-1.0.pc.in. As these change with the
   10646 	parallel install API version, not with the D-BUS package version.
   10647 
   10648 	* HACKING: move some of README over here
   10649 
   10650 	* README: updates, and document API/ABI policy
   10651 
   10652 	* configure.in: reindentation
   10653 
   10654 2003-04-29  Havoc Pennington  <hp (a] redhat.com>
   10655 
   10656 	* dbus/dbus.h: add "you have to define DBUS_API_SUBJECT_TO_CHANGE
   10657 	to use this library" to be sure people have the right
   10658 	expectations.
   10659 
   10660 2003-04-28  Havoc Pennington  <hp (a] redhat.com>
   10661 
   10662 	* configure.in: add --enable-docs which by default is auto yes if
   10663 	doxygen and db2html found, no otherwise; but can be forced on/off
   10664 
   10665 	* doc/Makefile.am: conditionalize whether to build docs on
   10666 	--enable-docs
   10667 
   10668 2003-04-28  Havoc Pennington  <hp (a] redhat.com>
   10669 
   10670 	* configure.in: 0.10
   10671 
   10672 	* NEWS: update
   10673 
   10674 	* bus/system.conf.in: add <includedir>system.d</includedir>
   10675 
   10676 	* dbus/dbus-userdb.c (_dbus_user_database_lookup): fix bug when
   10677 	username was provided but not uid
   10678 
   10679 	* bus/config-parser.c (struct BusConfigParser): keep track of
   10680 	whether the parser is toplevel or was included; change some
   10681 	of the error handling if it's included.
   10682 
   10683 2003-04-27  Havoc Pennington  <hp (a] pobox.com>
   10684 
   10685 	Unbreak my code...
   10686 
   10687 	* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
   10688 	report correct status if we finish processing authentication
   10689 	inside this function.
   10690 
   10691 	* bus/activation.c (try_send_activation_failure): use
   10692 	bus_transaction_send_error_reply
   10693 
   10694 	* bus/connection.c (bus_connection_get_groups): return an error
   10695 	explaining the problem
   10696 
   10697 	* bus/bus.c (bus_context_check_security_policy): implement
   10698 	restriction here that inactive connections can only send the
   10699 	hello message. Also, allow bus driver to send anything to
   10700 	any recipient.
   10701 
   10702 	* bus/connection.c (bus_connection_complete): create the
   10703 	BusClientPolicy here instead of on-demand.
   10704 	(bus_connection_get_policy): don't return an error
   10705 
   10706 	* dbus/dbus-message.c (dbus_message_new_error_reply): allow NULL
   10707 	sender field in message being replied to
   10708 
   10709 	* bus/bus.c (bus_context_check_security_policy): fix silly typo
   10710 	causing it to return FALSE always
   10711 
   10712 	* bus/policy.c (bus_client_policy_check_can_send): fix bug where
   10713 	we checked sender rather than destination
   10714 
   10715 2003-04-25  Havoc Pennington  <hp (a] redhat.com>
   10716 
   10717         test suite is slightly hosed at the moment, will fix soon
   10718 
   10719 	* bus/connection.c (bus_connections_expire_incomplete): fix to
   10720 	properly disable the timeout when required
   10721 	(bus_connection_set_name): check whether we can remove incomplete
   10722 	connections timeout after we complete each connection.
   10723 
   10724 	* dbus/dbus-mainloop.c (check_timeout): fix this up a bit,
   10725 	probably still broken.
   10726 
   10727 	* bus/services.c (bus_registry_acquire_service): implement max
   10728 	number of services owned, and honor allow/deny rules on which
   10729 	services a connection can own.
   10730 
   10731 	* bus/connection.c (bus_connection_get_policy): report errors here
   10732 
   10733 	* bus/activation.c: implement limit on number of pending
   10734 	activations
   10735 
   10736 2003-04-25  Havoc Pennington  <hp (a] redhat.com>
   10737 
   10738 	* dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug
   10739 	where we used >= 0 instead of != DBUS_UID_UNSET.
   10740 
   10741 2003-04-25  Havoc Pennington  <hp (a] redhat.com>
   10742 
   10743 	* glib/dbus-gmain.c (remove_watch): fix for a crash when watches
   10744 	were toggled without add/remove, fix from Anders Gustafsson
   10745 
   10746 2003-04-24  Havoc Pennington  <hp (a] redhat.com>
   10747 
   10748 	* test/data/valid-config-files/basic.conf: add <limit> tags to
   10749 	this test
   10750 
   10751 	* bus/config-parser.h, bus/config-parser.c, bus/bus.c: Implement
   10752 	<limit> tag in configuration file.
   10753 
   10754 2003-04-24  Havoc Pennington  <hp (a] redhat.com>
   10755 
   10756 	* bus/dispatch.c: somehow missed some name_is
   10757 
   10758 	* dbus/dbus-timeout.c (_dbus_timeout_set_enabled)
   10759 	(_dbus_timeout_set_interval): new
   10760 
   10761 	* bus/connection.c (bus_connections_setup_connection): record time
   10762 	when each connection is first set up, and expire them after the
   10763 	auth timeout passes.
   10764 
   10765 2003-04-24  Havoc Pennington  <hp (a] redhat.com>
   10766 
   10767 	* dbus/dbus-message.c (dbus_message_name_is): rename
   10768 	(dbus_message_service_is): rename
   10769 	(dbus_message_sender_is): rename
   10770 	(dbus_message_get_service): rename
   10771 
   10772 2003-04-24  Havoc Pennington  <hp (a] redhat.com>
   10773 
   10774 	* configure.in: add --enable-checks
   10775 
   10776 	* dbus/dbus-message.c (dbus_message_new): reverse name/service arguments
   10777 
   10778 	* dbus/dbus-connection.c (dbus_connection_preallocate_send): fix
   10779 	to use thread locks.
   10780 	(_dbus_connection_handler_destroyed_locked): move some private
   10781 	functions into proper docs group
   10782 
   10783 	* dbus/dbus-internals.h: add _dbus_return_if_fail,
   10784 	_dbus_return_val_if_fail
   10785 
   10786 	Throughout: use dbus_return_if_fail
   10787 
   10788 2003-04-23  James Willcox  <jwillcox (a] gnome.org>
   10789 
   10790 	* glib/dbus-glib.h:
   10791 	* glib/dbus-gmain.c: (add_timeout), (wakeup_main), (create_source),
   10792 	(dbus_connection_setup_with_g_main),
   10793 	(dbus_server_setup_with_g_main):
   10794 	* glib/test-dbus-glib.c: (main):
   10795 	* glib/test-thread-client.c: (main):
   10796 	* glib/test-thread-server.c: (new_connection_callback), (main):
   10797 	* tools/dbus-monitor.c: (main):
   10798 
   10799 	Added a GMainContext argument to dbus_connection_setup_with_g_main()
   10800 	and dbus_server_setup_with_g_main().
   10801 
   10802 2003-04-20  Havoc Pennington  <hp (a] pobox.com>
   10803 
   10804 	* doc/dbus-specification.sgml: document the restrictions on
   10805 	message and service names
   10806 
   10807 2003-04-22  Havoc Pennington  <hp (a] redhat.com>
   10808 
   10809 	* dbus/dbus-message.c, dbus/dbus-marshal.c: add 64-bit integer
   10810 	support, and do some code cleanups to share more code and
   10811 	speed up array marshal/demarshal.
   10812 
   10813 	* dbus-1.0.pc.in (Cflags): put libdir include file in cflags
   10814 
   10815 	* configure.in: generate dbus-arch-deps.h
   10816 
   10817 	* dbus/dbus-protocol.h (DBUS_TYPE_INT64, DBUS_TYPE_UINT64): add
   10818 	64-bit typecodes
   10819 
   10820 2003-04-22  Havoc Pennington  <hp (a] redhat.com>
   10821 
   10822 	* test/data/valid-messages/opposite-endian.message: fix test
   10823 	to use proper type for rply field
   10824 
   10825         * test/data/invalid-messages: add tests for below validation
   10826 
   10827 	* dbus/dbus-message.c (decode_header_data): validate field types,
   10828 	and validate that named fields are valid names
   10829 	(decode_name_field): consider messages in the
   10830 	org.freedesktop.Local. namespace to be invalid.
   10831 
   10832 	* dbus/dbus-string.c (_dbus_string_validate_name): new
   10833 
   10834 2003-04-19  Havoc Pennington  <hp (a] pobox.com>
   10835 
   10836 	* bus/driver.c (bus_driver_handle_hello): check limits and
   10837 	return an error if they are exceeded.
   10838 
   10839 	* bus/connection.c: maintain separate lists of active and inactive
   10840 	connections, and a count of each. Maintain count of completed
   10841 	connections per user. Implement code to check connection limits.
   10842 
   10843 	* dbus/dbus-list.c (_dbus_list_unlink): export
   10844 
   10845 	* bus/bus.c (bus_context_check_security_policy): enforce a maximum
   10846 	number of bytes in the message queue for a connection
   10847 
   10848 2003-04-18  Havoc Pennington  <hp (a] pobox.com>
   10849 
   10850 	* dbus/dbus-auth.c (record_mechanisms): memleak fixes
   10851 
   10852 	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): fix some
   10853 	memleaks
   10854 
   10855 	* dbus/dbus-keyring.c (add_new_key): fix a memleak, and
   10856 	on realloc be sure to update the pointer in the keyring
   10857 
   10858 	* dbus/dbus-string.c (_dbus_string_zero): compensate for align
   10859 	offset to avoid writing to unallocated memory
   10860 
   10861 	* dbus/dbus-auth.c (process_rejected): return FALSE if we fail to
   10862 	try the next mechanism, so we properly handle OOM
   10863 
   10864 	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): fix double-free
   10865 	on OOM.
   10866 	(_dbus_keyring_new): fix OOM bug
   10867 	(_dbus_keyring_new_homedir): always set error; impose a maximum
   10868 	number of keys we'll load from the file, mostly to speed up the
   10869 	test suite and make its OOM checks more useful, but also for
   10870 	general sanity.
   10871 
   10872 	* dbus/dbus-auth.c (process_error_server): reject authentication
   10873 	if we get an error from the client
   10874 	(process_cancel): on cancel, send REJECTED, per the spec
   10875 	(process_error_client): send CANCEL if we get an error from the
   10876 	server.
   10877 
   10878 2003-04-18  Havoc Pennington  <hp (a] pobox.com>
   10879 
   10880 	* dbus/dbus-mainloop.c (_dbus_loop_iterate): fix UMR in verbose
   10881 	debug spew
   10882 
   10883 	* dbus/dbus-auth.c (handle_client_data_cookie_sha1_mech): fix OOM
   10884 	handling problem
   10885 
   10886 	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): only whine
   10887 	about DBUS_TEST_HOMEDIR once
   10888 
   10889 	* bus/Makefile.am (TESTS_ENVIRONMENT): put DBUS_TEST_HOMEDIR in
   10890 	the environment
   10891 
   10892 	* bus/dispatch.c (bus_dispatch_sha1_test): actually load sha1
   10893 	config file so we test the right thing
   10894 
   10895 	Throughout: assorted docs improvements
   10896 
   10897 2003-04-18  Havoc Pennington  <hp (a] pobox.com>
   10898 
   10899 	* glib/dbus-gmain.c: adapt to watch changes
   10900 
   10901 	* bus/bus.c, bus/activation.c, etc.: adjust to watch changes
   10902 
   10903 	* dbus/dbus-server.h: remove dbus_server_handle_watch
   10904 
   10905 	* dbus/dbus-connection.h: remove dbus_connection_handle_watch
   10906 
   10907 	* dbus/dbus-watch.c (dbus_watch_handle): change DBusWatch to work
   10908 	like DBusTimeout, so we don't need dbus_connection_handle_watch
   10909 	etc.
   10910 
   10911 2003-04-17  Havoc Pennington  <hp (a] redhat.com>
   10912 
   10913 	* dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd
   10914 	database usage so it all goes via the DBusUserDatabase cache.
   10915 
   10916 2003-04-17  Havoc Pennington  <hp (a] redhat.com>
   10917 
   10918 	* dbus/dbus-mainloop.c (_dbus_loop_iterate): fix logic so that if
   10919 	there was an OOM watch we skipped, we always return TRUE so we
   10920 	iterate again to have a look at it again. Fixes test suite hang.
   10921 	Code rearrangement also lets us lose some memset and only iterate
   10922 	over callbacks once.
   10923 
   10924 	* bus/driver.c (bus_driver_handle_message): sense of test for
   10925 	reply was backward
   10926 
   10927 2003-04-16  Havoc Pennington  <hp (a] pobox.com>
   10928 
   10929 	* doc/dbus-specification.sgml: make spec say serials are unsigned
   10930 
   10931 	* dbus/dbus-message.h: change message serials to unsigned
   10932 
   10933 	* dbus/dbus-connection.c: adapt to message serials being unsigned
   10934 
   10935 2003-04-15  Havoc Pennington  <hp (a] pobox.com>
   10936 
   10937 	* bus/bus.c: create and keep around a shared DBusUserDatabase
   10938 	object.
   10939 
   10940 	* bus/connection.c (bus_connection_get_groups): don't cache
   10941 	groups for user in the connection object, since user database
   10942 	object now does that.
   10943 
   10944 2003-04-16  Havoc Pennington  <hp (a] redhat.com>
   10945 
   10946 	* dbus/dbus-message.c (_dbus_message_add_size_counter): keep a
   10947 	list of size counters
   10948 	(_dbus_message_loader_putback_message_link): put back a popped link
   10949 
   10950 	* dbus/dbus-connection.c
   10951 	(dbus_connection_set_max_live_messages_size): rename
   10952 	max_received_size
   10953 	(dbus_connection_get_outgoing_size): get size of outgoing
   10954 	queue
   10955 	(_dbus_connection_set_connection_counter): remove this cruft
   10956 
   10957 2003-04-14  Havoc Pennington  <hp (a] redhat.com>
   10958 
   10959 	* dbus/dbus-userdb.c: user database abstraction, mostly to get
   10960 	caching, but at some point we might want to be able to use a
   10961 	different database.
   10962 
   10963 	* bus/dispatch.c (bus_dispatch_sha1_test): add a test that uses
   10964 	SHA1 conf file to test the sha1 auth mechanism, since the regular
   10965 	test always uses EXTERNAL when available.
   10966 
   10967 	* configure.in,
   10968 	test/data/valid-config-files/debug-allow-all-sha1.conf.in:
   10969 	add conf file that requires use of sha1 auth
   10970 
   10971 2003-04-13  Havoc Pennington  <hp (a] pobox.com>
   10972 
   10973         * tools/dbus-send.c, tools/dbus-monitor.c: two utility programs
   10974 	from Philip Blundell to send messages and monitor them.
   10975 
   10976 2003-04-13  Havoc Pennington  <hp (a] pobox.com>
   10977 
   10978 	* dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting
   10979 	callbacks
   10980 
   10981 	* test/data/valid-config-files/debug-allow-all.conf.in: allow all
   10982 	users
   10983 
   10984 	* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
   10985 	fix to only recover unused bytes if we're already authenticated
   10986 	(_dbus_transport_get_is_authenticated): fix to still mark us
   10987 	authenticated if there are unused bytes.
   10988 
   10989 	* bus/dispatch.c: implement security policy checking
   10990 
   10991 	* bus/connection.c (bus_transaction_send_from_driver): new
   10992 
   10993 	* bus/bus.c (bus_context_check_security_policy): new
   10994 
   10995 	* bus/dispatch.c (send_service_nonexistent_error): delete this,
   10996 	now we just set the DBusError and it gets converted to an error
   10997 	reply.
   10998 
   10999 	* bus/connection.c (allow_user_function): enable code using actual
   11000 	data from the config file
   11001 
   11002 	* bus/policy.c (list_allows_user): handle wildcard rules for
   11003 	user/group connection perms
   11004 
   11005 2003-04-13  Havoc Pennington  <hp (a] pobox.com>
   11006 
   11007 	* bus/config-parser.c: Load up the BusPolicy and BusPolicyRules
   11008 
   11009 	* dbus/dbus-sysdeps.c (_dbus_get_user_id): new function
   11010 
   11011 	* bus/policy.c (bus_policy_append_mandatory_rule)
   11012 	(bus_policy_append_default_rule, bus_policy_append_user_rule)
   11013 	(bus_policy_append_group_rule): new functions
   11014 
   11015 2003-04-12  Havoc Pennington  <hp (a] pobox.com>
   11016 
   11017 	* bus/config-parser.c (bus_config_parser_new): fix a memleak
   11018 
   11019 	* dbus/dbus-sysdeps.c: change DBusCredentials to use longs for
   11020 	the pid/gid/uid, just for paranoia.
   11021 
   11022 	* test/break-loader.c (randomly_do_n_things): find a byte
   11023 	containing a type code, and randomly change it to a different
   11024 	type code.
   11025 
   11026 2003-04-12  Havoc Pennington  <hp (a] pobox.com>
   11027 
   11028 	* bus/policy.h: change BusPolicy to be the thing from the config
   11029 	file, and rename old BusPolicy to BusClientPolicy
   11030 
   11031 	* bus/bus.c, bus/connection.c, bus/config-parser.c: change to
   11032 	match change in how policy works
   11033 
   11034 	* dbus/dbus-internals.h: mark assert_not_reached as
   11035 	__attribute((noreturn))__
   11036 
   11037 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11038 
   11039 	* doc/dbus-specification.sgml: fix a spot with the wrong name for
   11040 	the broadcast service. Use boolean return for ServiceExists.
   11041 
   11042 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11043 
   11044 	* configure.in: add another directory to look for qt in.
   11045 
   11046 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11047 
   11048 	* AUTHORS: add Colin Walters
   11049 
   11050 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11051 
   11052 	* NEWS: update
   11053 
   11054 	* configure.in: 0.9
   11055 
   11056 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11057 
   11058 	* bus/messagebus.in: remove pid file when stopping the
   11059 	message bus, since the bus won't have privileges to remove it
   11060 	itself.
   11061 
   11062 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11063 
   11064 	* bus/bus.c (bus_context_new): move credentials change after
   11065 	creating pidfile
   11066 
   11067 2003-04-11  Havoc Pennington  <hp (a] pobox.com>
   11068 
   11069 	* test/decode-gcov.c: add "below average functions" to the
   11070 	coverage report, and change how some of the code works.
   11071 
   11072 	* bus/test-main.c: bracket some stuff in DBUS_BUILD_TESTS so it's
   11073 	not in the coverage stats.
   11074 
   11075 	* test/test-service.c (main): use _dbus_verbose not fprintf in a
   11076 	couple places so running the test suite doesn't result in megaspam.
   11077 
   11078 2003-04-11  Havoc Pennington  <hp (a] pobox.com>
   11079 
   11080 	* bus/dispatch.c (check_existent_service_activation): accept a no
   11081 	memory error in a place we didn't before
   11082 
   11083 	* bus/test.c (bus_test_run_everything): remove hacky "do it twice
   11084 	in case the first one failed," since the test suite is less
   11085 	broken now.
   11086 
   11087 2003-04-10  Havoc Pennington  <hp (a] pobox.com>
   11088 
   11089 	* bus/dispatch.c (check_segfault_service_activation): add test
   11090 	for launching an executable that just crashes.
   11091 
   11092 	* test/test-segfault.c (main): try setting coredumpsize to 0 so we
   11093 	don't leave a million cores. We'll see how portable this is.
   11094 
   11095 2003-04-10  Havoc Pennington  <hp (a] pobox.com>
   11096 
   11097 	* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all
   11098 	the possible parent failures before we fork, so that we don't
   11099 	fail to create a babysitter after creating the child.
   11100 
   11101 	* bus/activation.c (bus_activation_activate_service): kill child
   11102 	if we don't successfully complete the activation.
   11103 
   11104 2003-04-10  Havoc Pennington  <hp (a] redhat.com>
   11105 
   11106 	* dbus/dbus-connection.c (dbus_connection_flush): don't spin on
   11107 	the connection if it's disconnected
   11108 
   11109 	* bus/activation.c (bus_activation_service_created): use new
   11110 	transaction features to roll back removal of pending activation if
   11111 	we don't successfully create the service after all. Don't remove
   11112 	pending activation if the function fails.
   11113 
   11114 	* dbus/dbus-list.c (_dbus_list_insert_before_link)
   11115 	(_dbus_list_insert_after_link): new code to facilitate
   11116 	services.c fixes
   11117 
   11118 	* dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated):
   11119 	new functionality, so we can preallocate the ability to insert
   11120 	into a hash table.
   11121 
   11122 	* bus/connection.c (bus_transaction_add_cancel_hook): new function
   11123 	allowing us to put custom hooks in a transaction to be used for
   11124 	cancelling said transaction
   11125 
   11126 	* doc/dbus-specification.sgml: add some discussion of secondary
   11127 	service owners, and disallow zero-length service names
   11128 
   11129 	* bus/services.c (bus_registry_acquire_service): new function,
   11130 	splits out part of bus_driver_handle_acquire_service() and fixes
   11131 	a bug where we didn't remove the service doing the acquiring
   11132 	from the secondary queue if we failed to remove the current owner
   11133 	from the front of the queue.
   11134 
   11135 2003-04-10  Alexander Larsson  <alexl (a] redhat.com>
   11136 
   11137 	* doc/dbus-specification.sgml:
   11138 	s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/
   11139 
   11140 2003-04-10  Alexander Larsson  <alexl (a] redhat.com>
   11141 
   11142 	* bus/.cvsignore:
   11143 	* glib/.cvsignore:
   11144 	* test/.cvsignore:
   11145 	Added files to cvsignore
   11146 
   11147 	* dbus/dbus-message.h:
   11148 	* dbus/dbus-message.c: (dbus_message_iter_get_named):
   11149 	Make get_named() take two out argument and return a boolean.
   11150 	(dbus_message_iter_get_args_valist):
   11151 	Update usage of get_named().
   11152 	(dbus_message_iter_append_byte):
   11153 	Fix typo
   11154 	(dbus_message_iter_append_named)
   11155 	Fix typo
   11156 	(message_iter_test), (check_message_handling_type), (_dbus_message_test):
   11157 	More tests.
   11158 
   11159 2003-04-10  Alexander Larsson  <alexl (a] redhat.com>
   11160 
   11161 	* dbus/dbus-marshal.[ch]:
   11162 	Add array_type_pos argument to _dbus_marshal_validate_arg.
   11163 	Let you pass a NULL end_pos to _dbus_marshal_validate_type.
   11164 
   11165 	* dbus/dbus-message.[ch]:
   11166 	Multi-dimensional arrays have full type specification in the
   11167 	outermost array. Iter code re-arranged to handle this.
   11168 	Added some more iter tests.
   11169 
   11170 	* doc/dbus-specification.sgml:
   11171 	Add me to authors.
   11172 	Remove old FIXME.
   11173 	Update new array encoding description.
   11174 	Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description.
   11175 
   11176 	* test/data/invalid-messages/array-with-mixed-types.message:
   11177 	* test/data/valid-messages/array-of-array-of-uint32.message:
   11178 	Change to the new array format.
   11179 
   11180 	* test/data/invalid-messages/too-short-dict.message:
   11181 	Fix bug in test.
   11182 
   11183 	* test/data/valid-messages/recursive-types.message:
   11184 	Fix up and extend test.
   11185 
   11186 2003-04-10  Havoc Pennington  <hp (a] pobox.com>
   11187 
   11188 	* bus/dispatch.c: lots of fixes
   11189 
   11190 	* dbus/dbus-mainloop.c (_dbus_loop_dispatch): export
   11191 	(_dbus_loop_iterate): remove old "quit if no callbacks" code,
   11192 	that was crack, broke the test service.
   11193 
   11194 	* dbus/dbus-transport.c (_dbus_transport_open): fix error
   11195 	handling to avoid piling up errors if we get a failure on the
   11196 	first address.
   11197 
   11198 	* dbus/dbus-internals.c (_dbus_real_assert_not_reached): include
   11199 	pid in assertion failures.
   11200 
   11201 	* dbus/dbus-mainloop.c (_dbus_loop_iterate): use static arrays up
   11202 	to some fixed size of file descriptor array. Don't return TRUE
   11203 	anytime a timeout exists, that led to lots of busy loop silliness
   11204 	in the tests.
   11205 
   11206 2003-04-09  Havoc Pennington  <hp (a] redhat.com>
   11207 
   11208 	* dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought
   11209 	I'd checked this in earlier but hadn't.
   11210 
   11211 2003-04-09  Havoc Pennington  <hp (a] redhat.com>
   11212 
   11213 	* bus/dispatch.c (bus_dispatch_test): get a bit further through
   11214 	the activation test (man this is getting old!)
   11215 
   11216 2003-04-09  Havoc Pennington  <hp (a] redhat.com>
   11217 
   11218 	* test/test-utils.c: use dispatch status function to fix this up
   11219 
   11220 	* bus/connection.c (connection_watch_callback): don't dispatch
   11221 	from here
   11222 	(connection_timeout_callback): don't dispatch from here
   11223 	(bus_connections_setup_connection): set the dispatch status function
   11224 	(bus_connection_disconnected): unset it
   11225 
   11226 	* dbus/dbus-mainloop.c (_dbus_loop_queue_dispatch): new function
   11227 	used to add a connection to be dispatched
   11228 	(_dbus_loop_iterate): do the dispatching at the end of each
   11229 	iteration
   11230 
   11231 	* dbus/dbus-connection.c
   11232 	(dbus_connection_set_dispatch_status_function): new function
   11233 	allowing us to fix up main loop usage
   11234 	(_dbus_connection_last_unref): free all the various function
   11235 	user data
   11236 	(dbus_connection_dispatch): call the DispatchStatusFunction
   11237 	whenever this function returns
   11238 	(dbus_connection_handle_watch): call DispatchStatusFunction
   11239 	(dbus_connection_send_with_reply_and_block): call DispatchStatusFunction
   11240 	(reply_handler_timeout): call DispatchStatusFunction
   11241 	(dbus_connection_flush): call DispatchStatusFunction
   11242 
   11243 2003-04-09  Havoc Pennington  <hp (a] redhat.com>
   11244 
   11245 	* dbus/dbus-bus.c (dbus_bus_register): fix up error handling and
   11246 	a memory leak
   11247 
   11248 	* bus/dispatch.c (check_service_activated): fix bug in test
   11249 
   11250 	* dbus/dbus-mainloop.c (check_timeout): fix this up
   11251 
   11252 	* dbus/dbus-internals.c (_dbus_verbose_real): include PID in
   11253 	verbose output so we can sort out output from different processes,
   11254 	e.g. in the activation case.
   11255 
   11256 2003-04-08  Colin Walters  <walters (a] gnu.org>
   11257 
   11258  	* bus/bus.c (struct BusContext) [pidfile]: New member, to store
   11259  	the pid file.
   11260  	(bus_context_new): Set it.
   11261  	(bus_context_unref): Use it to delete the pid file.
   11262 
   11263 2003-04-08  Havoc Pennington  <hp (a] redhat.com>
   11264 
   11265 	* test/data/invalid-messages/array-with-mixed-types.message:
   11266 	regression test that fails for the moment
   11267 
   11268 	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): reorder
   11269 	tests for convenience
   11270 
   11271 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): don't allow
   11272 	array of nil, it broke things.
   11273 
   11274 	* test/data/invalid-messages/array-of-nil.message: regression test
   11275 
   11276 	* test/data/valid-messages/array-of-array-of-uint32.message:
   11277 	happened to write this so added it to suite
   11278 
   11279 2003-04-08  Havoc Pennington  <hp (a] redhat.com>
   11280 
   11281 	* bus/driver.c (bus_driver_handle_acquire_service): init
   11282 	retval/reply before checking name
   11283 
   11284 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add a
   11285 	recursion depth argument
   11286 
   11287 	* dbus/dbus-message.h (struct DBusMessageIter): put some padding
   11288 	in the public struct for future extension
   11289 
   11290 	* dbus/dbus-message-builder.c (_dbus_message_data_load): fix
   11291 	typo
   11292 
   11293 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix a verbose
   11294 	message
   11295 
   11296 	* doc/dbus-specification.sgml: fix typo
   11297 
   11298 2003-04-08  Alexander Larsson  <alexl (a] redhat.com>
   11299 
   11300 	Implemented recursive types, named types and new-style iters
   11301 
   11302 	* bus/driver.c:
   11303 	* glib/test-thread-client.c: (thread_func):
   11304 	* glib/test-thread-server.c: (handle_test_message):
   11305 	* test/test-service.c: (handle_echo):
   11306 	Update to new api
   11307 
   11308 	* dbus/Makefile.am:
   11309 	* dbus/dbus-dict.c:
   11310 	* dbus/dbus-dict.h:
   11311 	* dbus/dbus.h
   11312 	Remove DBusDict
   11313 
   11314 	* dbus/dbus-internals.c: (_dbus_type_to_string):
   11315 	Update for new types.
   11316 
   11317 	* dbus/dbus-marshal.[ch]:
   11318 	Implement recursive types and the new marshalling format.
   11319 	Remove hardcoded dict marshalling.
   11320 	Marshal named types.
   11321 
   11322 	* dbus/dbus-message-builder.c:
   11323 	Add BYTE_ARRAY.
   11324 	Remove references to old types
   11325 
   11326 	* dbus/dbus-message.[ch]:
   11327 	New non-refcounted iter API that supports recursive iters.
   11328 	Use iters for appending, including support for recursive
   11329 	iters.
   11330 	Add byte and named type support.
   11331 	Update everything to new marshalling formats.
   11332 	Add tests for new API.
   11333 
   11334 	* dbus/dbus-protocol.h:
   11335 	Remove old array types.
   11336 	Add types: BYTE, ARRAY, DICT, NAMED
   11337 
   11338 	* dbus/dbus-string.c:
   11339 	* dbus/dbus-sysdeps.c:
   11340 	Make parse_double locale safe.
   11341 
   11342 	* dbus/dbus-test-main.c:
   11343 	Call setlocale.
   11344 
   11345 	* dbus/dbus-test.c:
   11346 	Kill dict test
   11347 
   11348 	* doc/dbus-specification.sgml:
   11349 	Update spec
   11350 
   11351 	* test/data/incomplete-messages/missing-body.message:
   11352 	* test/data/invalid-messages/bad-boolean.message:
   11353 	* test/data/invalid-messages/bad-boolean-array.message:
   11354 	* test/data/invalid-messages/boolean-array-length-too-long.message-raw:
   11355 	* test/data/invalid-messages/boolean-has-no-value.message-raw:
   11356 	* test/data/invalid-messages/too-short-dict.message:
   11357 	* test/data/valid-messages/dict-simple.message:
   11358 	* test/data/valid-messages/dict.message:
   11359 	* test/data/valid-messages/emptiness.message:
   11360 	* test/data/valid-messages/lots-of-arguments.message:
   11361 	* test/data/valid-messages/no-padding.message:
   11362 	* test/data/valid-messages/recursive-types.message:
   11363 	Add missing NAME fields
   11364 	Fix up dicts & arrays
   11365 
   11366 	* test/data/invalid-messages/dict-with-nil-value.message:
   11367 	Removed, this is not invalid anymore.
   11368 
   11369 	* test/data/valid-messages/recursive-types.message:
   11370 	Add new test for deeply recursive types.
   11371 
   11372 2003-04-07  Havoc Pennington  <hp (a] pobox.com>
   11373 
   11374 	* bus/driver.c (bus_driver_handle_acquire_service): return an
   11375 	error if you try to acquire a service that starts with ':'
   11376 
   11377 2003-04-07  Havoc Pennington  <hp (a] redhat.com>
   11378 
   11379 	* doc/dbus-specification.sgml: require that base service names
   11380 	start with ':' and that the base service is created/deleted
   11381 	as first and last things a connection does on the bus
   11382 
   11383 	* bus/dispatch.c (check_existent_service_activation): lots more
   11384 	work on the activation test; it doesn't fully pass yet...
   11385 
   11386 	* test/test-service.c (main): fix so we don't memleak the
   11387 	connection to the message bus
   11388 	(filter_func): accept a message asking us to exit
   11389 
   11390 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11391 
   11392 	* qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h,
   11393 	from Colin Walters
   11394 
   11395 	* configure.in: fixes to Qt detection from Colin Walters
   11396 
   11397 	* doc/Makefile.am: Only remove generated docbook dirs if they
   11398 	exist, from Colin Walters
   11399 
   11400 	* dbus/dbus-bus.c: change how we set well-known connections to
   11401 	NULL, so that it works if a single connection is stored in
   11402 	two well-known array slots.
   11403 
   11404 	* test/Makefile.am: remove a lot of stuff that isn't immediately
   11405 	useful, it's in CVS history if we want it.
   11406 
   11407 	* test/test-service.c: use dbus-mainloop instead of that
   11408 	watch.[hc] crack
   11409 
   11410 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11411 
   11412 	* dbus/Makefile.am: split lists of sources into stuff that goes in
   11413 	the library, util functions that go in the lib and are also used
   11414 	elsewhere, and util functions that are used in tests/daemon but
   11415 	don't go in the lib.
   11416 
   11417 	* dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc]
   11418 	here so it can be used in test binaries also
   11419 
   11420 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11421 
   11422 	* dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile
   11423 	here in the parent process, so we can return an error if it
   11424 	fails. Also, move some of the code into the child so the parent
   11425 	is less hosed if we fail midway through.
   11426 
   11427 	* bus/bus.c (bus_context_new): move pidfile detection further up
   11428 	in the function, before we start overwriting sockets and such.
   11429 
   11430 	* bus/messagebus.in: adjust this a bit, not sure if it will work.
   11431 
   11432 	* configure.in: add --with-system-pid-file and --with-system-socket
   11433 
   11434 2003-04-06  Colin Walters  <walters (a] verbum.org>
   11435 
   11436 	* configure.in (DBUS_SYSTEM_PID_FILE): New variable.
   11437 
   11438 	* bus/system.conf.in: Declare a pidfile.
   11439 
   11440 	* bus/bus.c (bus_context_new): Test for an existing pid file, and
   11441 	create one (if appropriate).
   11442 
   11443 	* bus/config-parser.c (enum ElementType) [ELEMENT_PIDFILE]: New.
   11444 	(struct BusConfigParser) [pidfile]: New.
   11445 	(element_type_to_name, merge_included, start_busconfig_child)
   11446 	(bus_config_parser_end_element, bus_config_parser_content): Handle it.
   11447 	(bus_config_parser_unref): Free it.
   11448 	(bus_config_parser_get_pidfile): New function.
   11449 
   11450 	* bus/config-parser.h (_dbus_write_pid_file): Prototype.
   11451 
   11452 	* dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error.
   11453 
   11454 	* dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function.
   11455 
   11456 	* dbus/dbus-sysdeps.h: Prototype it.
   11457 
   11458 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11459 
   11460 	* bus/bus.c (bus_context_new): print the address in here, rather
   11461 	than in main(), because we need to do it before forking the daemon
   11462 
   11463 	* bus/dispatch.c (send_service_nonexistent_error): set the sender
   11464 	on the service nonexistent error
   11465 
   11466 	* bus/driver.c (bus_driver_handle_acquire_service): set the
   11467 	sender on the AcquireService reply
   11468 
   11469 	* test/data/valid-config-files/debug-allow-all.conf.in: Make test
   11470 	server also listen on a UNIX socket so services can connect to it.
   11471 
   11472 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11473 
   11474 	* dbus/dbus-threads.c: Redo how the fake debug mutexes are done
   11475 	so it detects deadlocks and also we actually init threads when
   11476 	debugging.
   11477 
   11478 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11479 
   11480 	* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
   11481 	save the domain socket name, and unlink it when we disconnect the
   11482 	server. Means that at least when we exit normally, we won't leave
   11483 	a bunch of junk in /tmp
   11484 
   11485 	* dbus/dbus-transport-unix.c
   11486 	(_dbus_transport_new_for_domain_socket): code cleanup (nicer
   11487 	memory management). (I was making a real change here but then
   11488 	didn't)
   11489 
   11490 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11491 
   11492 	* bus/bus.c (bus_context_new): fix wrong handling of
   11493 	server_data_slot_unref() in the error case.
   11494 
   11495 	* dbus/dbus-internals.h (_dbus_assert): change so it passes
   11496 	"(condition) != 0" to _dbus_real_assert so that
   11497 	"_dbus_assert (pointer)" doesn't cause a warning
   11498 
   11499 	* bus/main.c (main): accept --print-address option to print out
   11500 	the message bus address
   11501 
   11502 	* dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this
   11503 
   11504 	* dbus/dbus-transport.c (_dbus_transport_open): special error for
   11505 	"tmpdir" option to unix: address on client side
   11506 
   11507 	* dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option
   11508 	to unix: address
   11509 
   11510 	* configure.in (TEST_SOCKET_DIR): locate a temporary directory
   11511 	we can use to create sockets in the test suite.
   11512 
   11513 	* bus/main.c (signal_handler): on SIGTERM, exit the daemon
   11514 	cleanly. To be used for testing.
   11515 
   11516 	* dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler()
   11517 
   11518 	* dbus/dbus-sysdeps.c (_dbus_set_signal_handler): new
   11519 
   11520 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
   11521 	handle trying to call this when there's no servers active
   11522 
   11523 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11524 
   11525 	* NEWS: update
   11526 
   11527 	* configure.in: 0.8
   11528 
   11529 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11530 
   11531 	* bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't
   11532 	crash on startup. Need to get "try starting the daemon"
   11533 	in the test suite I guess. ;-)
   11534 
   11535 	* dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
   11536 	tracked the number of open connections; it's better done in
   11537 	application-specific code as you want it to span all servers etc.
   11538 
   11539 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11540 
   11541 	* bus/Makefile.am (install-data-hook): add missing DESTDIR,
   11542 	patch from Colin Walters
   11543 
   11544 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11545 
   11546 	* doc/config-file.txt (Elements): fix docs of <auth> to reflect
   11547 	reality; in fact multiple mechanisms are allowed.
   11548 
   11549 	* dbus/dbus-internals.c (_dbus_real_assert)
   11550 	(_dbus_real_assert_not_reached): move guts of _dbus_assert() and
   11551 	_dbus_assert_not_reached() into functions, so that they don't show
   11552 	up in basic block counts for test coverage, and don't use up as
   11553 	much disk space. Does mean slower execution speed though, so
   11554 	assumes --disable-asserts is the normal production case.
   11555 
   11556 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11557 
   11558 	* test/Makefile.am (dist-hook): also dist *.in files
   11559 
   11560 	* NEWS: update
   11561 
   11562 	* configure.in: 0.7
   11563 
   11564 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11565 
   11566 	* dbus/dbus-string.c: docs warning
   11567 
   11568 	* dbus/dbus-spawn.c: missing docs
   11569 
   11570 	* dbus/dbus-memory.c (struct ShutdownClosure): missing docs
   11571 
   11572 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11573 
   11574 	* bus/loop.c (bus_loop_iterate): fix the timeout code, using
   11575 	magic from GLib
   11576 
   11577 	* dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid
   11578 	to -1 once we've reaped the babysitter
   11579 	(_dbus_babysitter_handle_watch): do as much work as we can, not
   11580 	just one go of it
   11581 
   11582 	* bus/activation.c: add code using DBusBabysitter so that we
   11583 	handle it when a service fails to start up properly.
   11584 	(bus_activation_service_created): don't remove the activation
   11585 	entries as we go, just let them get removed when we free the pending
   11586 	activation. Unref reply messages after sending them.
   11587 
   11588 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11589 
   11590 	* test/decode-gcov.c (main): print per-directory stats in the report
   11591 
   11592 	* Makefile.am (coverage-report.txt): don't include test/* in gcov stats
   11593 
   11594 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11595 
   11596 	* Makefile.am (coverage-report.txt): add target "coverage-report.txt"
   11597 
   11598 	* test/decode-gcov.c: hack up a little program to suck data
   11599 	out of gcov files. Yes this is sort of silly.
   11600 
   11601 	* configure.in: define something in config.h and do an
   11602 	AM_CONDITIONAL when gcov is enabled
   11603 
   11604 2003-04-04  Havoc Pennington  <hp (a] redhat.com>
   11605 
   11606 	* dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
   11607 	return a "babysitter" object that is used to monitor the status of
   11608 	the spawned process and reap it when required.
   11609 
   11610 	* test/test-segfault.c, test/test-exit.c,
   11611 	test/test-sleep-forever.c: binaries that do various lame things,
   11612 	used in the test suite.
   11613 
   11614 	* dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()
   11615 
   11616 2003-04-03  Havoc Pennington  <hp (a] pobox.com>
   11617 
   11618 	* dbus/dbus-spawn.c: Move dbus-spawn into a separate file
   11619 	in preparation for modifying it, dbus-sysdeps is getting
   11620 	a bit unmanageable.
   11621 
   11622 2003-04-03  Havoc Pennington  <hp (a] redhat.com>
   11623 
   11624 	* bus/loop.h, bus/loop.c: make the mainloop an object so we can
   11625 	have multiple ones
   11626 
   11627 	* bus/*.[hc]: adapt to mainloop change
   11628 
   11629 2003-04-03  Havoc Pennington  <hp (a] redhat.com>
   11630 
   11631 	* bus/activation.c (load_directory): fix up memleaks
   11632 	(bus_activation_entry_free): free the entry
   11633 
   11634 	* dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
   11635 	we get one from the message bus; fix memleaks.
   11636 
   11637 	* dbus/dbus-message.c (dbus_set_error_from_message): new function
   11638 
   11639 2003-04-03  Havoc Pennington  <hp (a] pobox.com>
   11640 
   11641 	* bus/config-parser.c (bus_config_parser_unref): free
   11642 	list of mechanisms, bug discovered by test suite enhancements
   11643 	(putting system.conf and session.conf into suite)
   11644 
   11645 	* test/Makefile.am, test/test-service.c: add placeholder for a
   11646 	test service that we'll activate as part of test suite. Doesn't
   11647 	do anything yet.
   11648 
   11649 	* dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by
   11650 	setting NULL value, and use system malloc not dbus_malloc()
   11651 	when we have unavoidable memleakage.
   11652 
   11653 	* dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
   11654 	didn't work, and support DBUS_BUS_ACTIVATION.
   11655 
   11656 	* bus/activation.c (child_setup): pass our well-known bus type to
   11657 	the child
   11658 
   11659 	* bus/config-parser.c: support <type> to specify well-known type
   11660 
   11661 	* doc/dbus-specification.sgml: document the env variables to
   11662 	locate well-known buses and find service activator
   11663 
   11664 2003-04-02  Havoc Pennington  <hp (a] redhat.com>
   11665 
   11666 	* test/Makefile.am (all-local): add a rule to copy tests to
   11667 	builddir, so we can have generated tests. Use this to remove the
   11668 	silly hack for testing system.conf and session.conf. Will use this
   11669 	shortly to generate .service files pointing to test binaries.
   11670 
   11671 2003-04-02  Havoc Pennington  <hp (a] redhat.com>
   11672 
   11673 	* dbus/dbus-string.c (set_length): fix a bug - we allocated max of
   11674 	current alloc and needed new length, not max of the doubled
   11675 	allocation and needed new length. Also, when building tests,
   11676 	don't do the double-allocation stuff, just realloc every time.
   11677 
   11678 2003-04-02  Havoc Pennington  <hp (a] redhat.com>
   11679 
   11680 	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
   11681 	in error messages
   11682 	(_dbus_string_get_dirname): new
   11683 	(_dbus_sysdeps_test): new
   11684 	(_dbus_directory_open): include dirnames in error messages
   11685 
   11686 	* bus/config-parser.c: interpret <include> and <includedir> and
   11687 	<servicedir> relative to config file location if the given
   11688 	filename is not absolute.
   11689 
   11690 	* dbus/dbus-string.c (_dbus_string_find_byte_backward): new
   11691 
   11692 2003-04-02  Havoc Pennington  <hp (a] redhat.com>
   11693 
   11694 	* bus/connection.c (bus_transaction_send_error_reply): set sender
   11695 	service for the error, and unref the reply on success
   11696 
   11697 	* bus/activation.c: convert to use BusTransaction so OOM can be
   11698 	handled correctly
   11699 	(bus_activation_service_created): set sender of the message
   11700 
   11701 2003-04-01  Havoc Pennington  <hp (a] redhat.com>
   11702 
   11703 	* bus/config-parser.c, bus/bus.c: implement <servicedir> and
   11704 	<includedir> (at least mostly)
   11705 
   11706 	* dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
   11707 	first, then the user ID
   11708 
   11709 2003-04-01  Havoc Pennington  <hp (a] pobox.com>
   11710 
   11711 	* dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
   11712 	function
   11713 
   11714 	* dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
   11715 
   11716 	* dbus/dbus-internals.c (_dbus_dup_string_array): new function
   11717 
   11718 	* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
   11719 	socket 0777, and unlink any existing socket.
   11720 
   11721 	* bus/bus.c (bus_context_new): change our UID/GID and fork if
   11722 	the configuration file so specifies; set up auth mechanism
   11723 	restrictions
   11724 
   11725 	* bus/config-parser.c (bus_config_parser_content): add support
   11726 	for <fork> option and fill in code for <auth>
   11727 
   11728 	* bus/system.conf.in: add <fork/> to default configuration,
   11729 	and limit auth mechanisms to EXTERNAL
   11730 
   11731 	* doc/config-file.txt (Elements): add <fork>
   11732 
   11733 	* dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
   11734 	(_dbus_change_identity): new function
   11735 
   11736 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11737 
   11738 	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket)
   11739 	(_dbus_listen_unix_socket): fix off-by-one error in null
   11740 	termination spotted by Nalin
   11741 
   11742 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11743 
   11744 	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
   11745 	DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
   11746 	having a real home directory available.
   11747 
   11748 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11749 
   11750 	* bus/Makefile.am (install-data-hook): create /var/run/dbus
   11751 
   11752 	* bus/messagebus.in: add init script for Red Hat /etc/init.d
   11753 
   11754 	* configure.in: add support for specifying a style of init script
   11755 	to install
   11756 
   11757 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11758 
   11759         Fix some annoying DBusString API and fix all affected code.
   11760 
   11761 	* dbus/dbus-string.c (_dbus_string_init): get rid of annoying
   11762 	max_length argument
   11763 	(_dbus_string_get_data): change to return string instead of using
   11764 	an out param
   11765 	(_dbus_string_get_const_data): ditto
   11766 	(_dbus_string_get_data_len): ditto
   11767 	(_dbus_string_get_const_data_len): ditto
   11768 
   11769 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11770 
   11771 	* bus/main.c (main): fix up the command line arguments to be nicer
   11772 
   11773 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11774 
   11775 	* dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
   11776 	define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
   11777 	final location that lands in the config file
   11778 
   11779 	* bus/config-loader-expat.c (bus_config_load): fix type of
   11780 	XML_Parser variable
   11781 
   11782 	* doc/TODO: remove TODO item for dbus_bus_get()
   11783 
   11784 	* dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
   11785 
   11786 2003-03-31  Havoc Pennington  <hp (a] pobox.com>
   11787 
   11788 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
   11789 	(_dbus_transport_new_for_tcp_socket): these didn't need the "server"
   11790 	argument since they are always client side
   11791 
   11792 	* dbus/dbus-server.c (dbus_server_get_address): new function
   11793 
   11794 	* bus/main.c (main): take the configuration file as an argument.
   11795 
   11796 	* test/data/valid-config-files/debug-allow-all.conf: new file to
   11797 	use with dispatch.c tests for example
   11798 
   11799 	* bus/test-main.c (main): require test data dir
   11800 
   11801 	* bus/bus.c (bus_context_new): change this to take a
   11802 	configuration file name as argument
   11803 
   11804 	* doc/config-file.txt (Elements): add <servicedir>
   11805 
   11806 	* bus/system.conf, bus/session.conf: new files
   11807 
   11808 	* dbus/dbus-bus.c (dbus_bus_get): look for system bus on
   11809 	well-known socket if none set
   11810 
   11811 	* configure.in: create system.conf and session.conf
   11812 
   11813 2003-03-30  Havoc Pennington  <hp (a] pobox.com>
   11814 
   11815 	* bus/config-parser.c: hacking
   11816 
   11817 	* dbus/dbus-memory.c: don't use DBusList for the list of stuff
   11818 	to shut down, since it could cause weirdness with the DBusList
   11819 	lock
   11820 
   11821 	* dbus/dbus-list.c (_dbus_list_test): add tests for the
   11822 	link-oriented stack routines
   11823 	(alloc_link): free the mempool if the first alloc from it fails
   11824 
   11825 	* dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
   11826 
   11827 	* dbus/dbus-string.c (UNICODE_VALID): sync new version of this
   11828 	from GLib
   11829 	(_dbus_string_skip_white): new
   11830 
   11831 	* doc/config-file.txt (Elements): add <includedir>
   11832 
   11833 2003-03-28  Havoc Pennington  <hp (a] pobox.com>
   11834 
   11835 	* dbus/dbus-string.c (_dbus_string_copy_data_len)
   11836 	(_dbus_string_copy_data): new functions
   11837 
   11838 2003-03-28  Anders Carlsson  <andersca (a] codefactory.se>
   11839 
   11840 	* dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
   11841 	* dbus/dbus-bus.h:
   11842 	Add dbus_bus_get.
   11843 
   11844 	* dbus/dbus-memory.c:
   11845 	Fix a doc comment.
   11846 
   11847 2003-03-28  Havoc Pennington  <hp (a] pobox.com>
   11848 
   11849 	* bus/test.c (bus_test_flush_bus): remove the sleep from here,
   11850 	I think it may have just been superstition. Not sure.
   11851 
   11852 	* dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
   11853 	failures that were not being handled.
   11854 
   11855 	* dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
   11856 
   11857 	* dbus/dbus-memory.c: add ability to set number of mallocs in a
   11858 	row that will fail on out-of-memory.
   11859 
   11860 	* dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
   11861 	function for testing out-of-memory handling.
   11862 
   11863 	* bus/config-loader-expat.c (memsuite): don't wrap the dbus
   11864 	allocation functions, they do map exactly to the expat ones.
   11865 
   11866 2003-03-27  Havoc Pennington  <hp (a] redhat.com>
   11867 
   11868 	* bus/config-loader-libxml.c (bus_config_load): add another error
   11869 	check
   11870 
   11871 2003-03-26  Anders Carlsson  <andersca (a] codefactory.se>
   11872 
   11873 	* doc/TODO:
   11874 	Add note about automatic service activation.
   11875 
   11876 	* doc/dbus-specification.sgml:
   11877 	Rename the specification and clarify a few things.
   11878 
   11879 2003-03-26  Anders Carlsson  <andersca (a] codefactory.se>
   11880 
   11881 	* Doxyfile.in:
   11882 	* dbus/dbus-address.c:
   11883 	* dbus/dbus-dict.c:
   11884 	* dbus/dbus-marshal.c:
   11885 	* dbus/dbus-server-debug-pipe.c:
   11886 	* dbus/dbus-transport-unix.c:
   11887 	Fix documentation warnings.
   11888 
   11889 2003-03-26  Havoc Pennington  <hp (a] pobox.com>
   11890 
   11891 	* bus/test-main.c, dbus/dbus-test.c (main): check memleaks
   11892 	after every test so it's quick and easy to see which leaked, and
   11893 	so we test multiple dbus_shutdown() calls
   11894 
   11895 	* configure.in: change configure.in XML stuff to also support
   11896 	expat
   11897 
   11898 	* config-loader-libxml.c: some hacking
   11899 
   11900 	* config-loader-expat.c: some hacking
   11901 
   11902 	* config-parser.c: some hacking, plus tests
   11903 
   11904 2003-03-25  Havoc Pennington  <hp (a] redhat.com>
   11905 
   11906         * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
   11907 
   11908 	* configure.in: add --with-xml option to specify XML library,
   11909 	right now only libxml is supported.
   11910 
   11911 	* bus/config-loader-libxml.c, config-parser.c: sync some minor
   11912 	nonworking code between home and work, still just stubs
   11913 
   11914 2003-03-24  Havoc Pennington  <hp (a] redhat.com>
   11915 
   11916 	* dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
   11917 	file
   11918 
   11919 	* dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
   11920 	NULL argument for "message" if the error is a well-known one,
   11921 	fill in a generic message in this case.
   11922 
   11923 	* dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
   11924 	favor of DBusError
   11925 
   11926 	* bus/test.c (bus_test_flush_bus): add
   11927 
   11928 	* bus/policy.c (bus_policy_test): test code stub
   11929 
   11930 2003-03-24  Havoc Pennington  <hp (a] pobox.com>
   11931 
   11932 	* bus/connection.c (bus_connections_setup_connection): set up
   11933 	the "can this user connect" function, but it always returns
   11934 	TRUE until we have a config file parser so we can have a config
   11935 	file that allows connections.
   11936 
   11937 2003-03-23  Havoc Pennington  <hp (a] pobox.com>
   11938 
   11939 	* dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
   11940 	DBUS_BUILD_TESTS, actually alloc/free a block of memory for
   11941 	the mutex, so we can check for proper memory management
   11942 	and OOM handling.
   11943 
   11944 	* dbus/dbus-dataslot.c: remove the mutex from
   11945 	DBusDataSlotAllocator and lock it manually when using it,
   11946 	to simplify fitting it into the global slots framework.
   11947 
   11948 	* dbus/dbus-threads.c (init_static_locks): rework how we're
   11949 	handling global locks so they are easily shut down.
   11950 
   11951 	* bus/policy.c (bus_policy_append_rule): fix
   11952 
   11953 	* bus/test-main.c (main): check for memleaks
   11954 
   11955 	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
   11956 	test suite check for memleaks
   11957 
   11958 	* dbus/dbus-memory.c: add support in test mode for tracking
   11959 	number of outstanding blocks
   11960 
   11961 2003-03-23  Havoc Pennington  <hp (a] pobox.com>
   11962 
   11963 	* bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
   11964 	policies code
   11965 
   11966 	* dbus/dbus-hash.h: add ULONG hash keys
   11967 
   11968 	* dbus/dbus-sysdeps.c (_dbus_get_groups): new
   11969 	(_dbus_get_group_id): new function
   11970 
   11971 2003-03-20  Havoc Pennington  <hp (a] redhat.com>
   11972 
   11973 	* dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
   11974 	new function
   11975 	(dbus_connection_get_unix_user): new function
   11976 
   11977 2003-03-20  Havoc Pennington  <hp (a] pobox.com>
   11978 
   11979 	* bus/connection.c (bus_connection_send_oom_error): assert that
   11980 	message has a sender
   11981 	(connection_execute_transaction): ditto
   11982 	(bus_connection_preallocate_oom_error): fix to set the sender, and
   11983 	set recipient to the destination service, not the bus driver
   11984 
   11985 	* bus/policy.c: hacking
   11986 
   11987 	* dbus/dbus-message.c (dbus_message_service_is): new function
   11988 	(dbus_message_sender_is): new
   11989 
   11990 2003-03-19  Havoc Pennington  <hp (a] redhat.com>
   11991 
   11992 	* bus/policy.c: start sketching code for policy restrictions on
   11993 	what connections can do.
   11994 
   11995 2003-03-18  Havoc Pennington  <hp (a] redhat.com>
   11996 
   11997 	* doc/TODO: some notes on high-level todo items. Little nitpick
   11998 	stuff is all in @todo, so no need to add it here.
   11999 
   12000 	* doc/config-file.txt: some notes on how config file might look
   12001 
   12002 2003-03-18  Anders Carlsson  <andersca (a] codefactory.se>
   12003 
   12004 	* configure.in: 0.6
   12005 
   12006 	* NEWS: Update.
   12007 
   12008 2003-03-17  Havoc Pennington  <hp (a] redhat.com>
   12009 
   12010 	* dbus/dbus-internals.h: add gcc attributes so that
   12011 	our printf-style functions warn on bad arguments to
   12012 	format
   12013 
   12014 	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
   12015 	format bug
   12016 
   12017 	* dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
   12018 	printf format bug
   12019 
   12020 2003-03-17  Havoc Pennington  <hp (a] redhat.com>
   12021 
   12022 	* bus/test-main.c (main): make it print something as it runs
   12023 	so make check doesn't look stuck
   12024 
   12025 	* doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
   12026 	from CVS, now obsolete
   12027 
   12028 2003-03-17  Anders Carlsson  <andersca (a] codefactory.se>
   12029 
   12030 	* bus/dispatch.c: (bus_dispatch):
   12031 	Refetch the service name since it may have been reallocated
   12032 	when dbus_message_set_sender was called.
   12033 
   12034 	* dbus/dbus-sysdeps.c: (_dbus_accept):
   12035 	Add address and address length variables and use them to stop
   12036 	valgrind from complaining.
   12037 
   12038 2003-03-17  Havoc Pennington  <hp (a] pobox.com>
   12039 
   12040 	All tests pass, no memleaks, no valgrind complaints.
   12041 
   12042 	* bus/test.c: refcount handler_slot
   12043 
   12044 	* bus/connection.c (bus_connections_new): refcount
   12045 	connection_data_slot
   12046 
   12047 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
   12048 	bytes so that auth scripts pass.
   12049 
   12050 	* bus/dispatch.c: init message_handler_slot so it gets allocated
   12051 	properly
   12052 
   12053 	* bus/dispatch.c (message_handler_slot_ref): fix memleak
   12054 
   12055 	* dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
   12056 	dealloc server_pipe_hash when no longer used for benefit of
   12057 	leak checking
   12058 
   12059 	* dbus/dbus-auth.c (process_command): memleak fix
   12060 
   12061 	* bus/dispatch.c (check_hello_message): memleak fix
   12062 
   12063 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12064 
   12065 	* dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
   12066 
   12067 2003-03-17  Anders Carlsson  <andersca (a] codefactory.se>
   12068 
   12069 	* bus/activation.c (bus_activation_activate_service): Append
   12070 	the pending activation entry to the list of pending activations.
   12071 
   12072 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12073 
   12074 	* bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
   12075 	connections
   12076 
   12077 	* dbus/dbus-address.c (create_entry): fix OOM handling when
   12078 	failing to alloc entry->method
   12079 
   12080 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12081 
   12082 	* dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
   12083 	the watch
   12084 
   12085 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
   12086 	add some missing dbus_set_result
   12087 
   12088 	* bus/dispatch.c (bus_dispatch_add_connection): handle failure to
   12089 	alloc the DBusMessageHandler
   12090 
   12091 	* dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
   12092 	the transport here, since we call this from the finalizer; it
   12093 	resulted in a double-finalize.
   12094 
   12095 	* dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
   12096 	where we tried to use transport->connection that was NULL,
   12097 	happened when transport was disconnected early on due to OOM
   12098 
   12099 	* bus/*.c: adapt to handle OOM for watches/timeouts
   12100 
   12101 	* dbus/dbus-transport-unix.c: port to handle OOM during
   12102 	watch handling
   12103 
   12104 	* dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
   12105 	reference to unused bytes instead of a copy
   12106 
   12107 	* dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
   12108 	out of memory
   12109 
   12110 	* dbus/dbus-connection.c (dbus_connection_handle_watch): return
   12111 	FALSE on OOM
   12112 
   12113 	* dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
   12114 	of memory
   12115 
   12116 2003-03-16  Anders Carlsson  <andersca (a] codefactory.se>
   12117 
   12118 	* doc/dbus-specification.sgml:
   12119 	Document reply message for ActivateService.
   12120 
   12121 2003-03-16  Anders Carlsson  <andersca (a] codefactory.se>
   12122 
   12123 	* bus/activation.c: (bus_pending_activation_entry_free),
   12124 	(bus_pending_activation_free), (bus_activation_new),
   12125 	(bus_activation_unref), (bus_activation_service_created),
   12126 	(bus_activation_activate_service):
   12127 	* bus/activation.h:
   12128 	* bus/bus.c: (bus_context_new):
   12129 	* bus/desktop-file.c: (new_section):
   12130 	* bus/driver.c: (bus_driver_send_service_deleted),
   12131 	(bus_driver_handle_activate_service):
   12132 	* bus/services.c: (bus_registry_new), (bus_registry_ensure):
   12133 	* bus/services.h:
   12134 	* dbus/dbus-connection.c:
   12135 	(dbus_connection_send_with_reply_and_block):
   12136 	* dbus/dbus-message.c: (dbus_message_append_args_valist):
   12137 	* dbus/dbus-protocol.h:
   12138 	Make activation work better. Now pending activations will be queued
   12139 	and the daemon won't try to activate services that are already registered.
   12140 
   12141 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12142 
   12143 	* dbus/dbus-bus.c (ensure_bus_data): handle failure to set
   12144 	connection data
   12145 
   12146 	* dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
   12147 	DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
   12148 
   12149 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12150 
   12151 	* dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
   12152 	this. always run the test suite before commit...
   12153 
   12154 	* bus/*: adapt to DBusConnection API changes
   12155 
   12156 	* glib/dbus-gmain.c: adapt to DBusConnection API changes,
   12157 	requires renaming stuff to avoid dbus_connection_dispatch name
   12158 	conflict.
   12159 
   12160 	* dbus/dbus-transport.c (_dbus_transport_queue_messages): new
   12161 	function
   12162 
   12163 	* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
   12164 	separate from _dbus_message_loader_return_buffer()
   12165 
   12166 	* dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
   12167 	this, because it's now always broken to use; the number of
   12168 	messages in queue vs. the number still buffered by the message
   12169 	loader is undefined/meaningless. Should use
   12170 	dbus_connection_get_dispatch_state().
   12171 	(dbus_connection_dispatch): rename from
   12172 	dbus_connection_dispatch_message
   12173 
   12174 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12175 
   12176 	* dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
   12177 	implementation
   12178 
   12179 2003-03-16  Anders Carlsson  <andersca (a] codefactory.se>
   12180 
   12181 	* dbus/dbus-connection.c:
   12182 	(dbus_connection_send_with_reply_and_block):
   12183 	Decrease connection->n_incoming when removing an entry
   12184 	from the list.
   12185 	* dbus/dbus-dict.c: (dbus_dict_entry_free),
   12186 	(dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
   12187 	(dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
   12188 	(dbus_dict_set_byte_array), (dbus_dict_set_string_array),
   12189 	(dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
   12190 	(dbus_dict_get_byte_array):
   12191 	Handle NULL arrays and strings. Also add support for byte arrays.
   12192 
   12193 	* dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
   12194 	(_dbus_marshal_dict), (_dbus_demarshal_byte_array),
   12195 	(_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
   12196 	(_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
   12197 	(_dbus_demarshal_dict), (demarshal_and_validate_len),
   12198 	(_dbus_marshal_validate_arg), (_dbus_marshal_test):
   12199 	* dbus/dbus-marshal.h:
   12200 	Add support for marshalling and demarshalling empty arrays and strings.
   12201 
   12202 	* dbus/dbus-message.c: (dbus_message_append_args_valist),
   12203 	(dbus_message_append_string_array),
   12204 	(dbus_message_iter_get_boolean),
   12205 	(dbus_message_iter_get_boolean_array),
   12206 	(dbus_message_iter_get_int32_array),
   12207 	(dbus_message_iter_get_uint32_array),
   12208 	(dbus_message_iter_get_double_array),
   12209 	(dbus_message_iter_get_byte_array),
   12210 	(dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
   12211 	(check_message_handling):
   12212 	Add support for getting empty arrays and dicts.
   12213 
   12214 	* dbus/dbus-string.c: (_dbus_string_validate_utf8):
   12215 	Don't do any validation at all for now, that's better than just checking
   12216 	for ASCII.
   12217 
   12218 	* test/data/valid-messages/emptiness.message:
   12219 	New test message with lots of empty arrays.
   12220 
   12221 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12222 
   12223 	* dbus/dbus-connection.c
   12224 	(_dbus_connection_queue_received_message_link): new function that
   12225 	can't fail due to OOM
   12226 
   12227 	* dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
   12228 	new function pops a message together with a list link
   12229 	containing it.
   12230 
   12231 	* dbus/dbus-transport-unix.c (queue_messages): use new link-based
   12232 	message queuing functions to avoid needing to alloc memory
   12233 
   12234 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12235 
   12236 	Oops - test code was only testing failure of around 30 of the
   12237 	mallocs in the test path, but it turns out there are 500+
   12238 	mallocs. I believe this was due to misguided linking setup such
   12239 	that there was one copy of dbus_malloc etc. in the daemon and one
   12240 	in the shared lib, and only daemon mallocs were tested. In any
   12241 	case, the test case now tests all 500+ mallocs, and doesn't pass
   12242 	yet, though there are lots of fixes in this patch.
   12243 
   12244 	* dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
   12245 	this so that it doesn't need to allocate memory, since it
   12246 	has no way of indicating failure due to OOM (and would be
   12247 	annoying if it did).
   12248 
   12249 	* dbus/dbus-list.c (_dbus_list_pop_first_link): new function
   12250 
   12251 	* bus/Makefile.am: rearrange to create two self-contained
   12252 	libraries, to avoid having libraries with overlapping symbols.
   12253 	that was resulting in weirdness, e.g. I'm pretty sure there
   12254 	were two copies of global static variables.
   12255 
   12256 	* dbus/dbus-internals.c: move the malloc debug stuff to
   12257 	dbus-memory.c
   12258 
   12259 	* dbus/dbus-list.c (free_link): free list mempool if it becomes
   12260 	empty.
   12261 
   12262 	* dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
   12263 
   12264 	* dbus/dbus-address.c (dbus_parse_address): free list nodes
   12265 	on failure.
   12266 
   12267 	* bus/dispatch.c (bus_dispatch_add_connection): free
   12268 	message_handler_slot when no longer using it, so
   12269 	memory leak checkers are happy for the test suite.
   12270 
   12271 	* dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
   12272 
   12273 	* bus/bus.c (new_connection_callback): disconnect in here if
   12274 	bus_connections_setup_connection fails.
   12275 
   12276 	* bus/connection.c (bus_connections_unref): fix to free the
   12277 	connections
   12278 	(bus_connections_setup_connection): if this fails, don't
   12279 	disconnect the connection, just be sure there are no side
   12280 	effects.
   12281 
   12282 	* dbus/dbus-string.c (undo_alignment): unbreak this
   12283 
   12284 	* dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
   12285 	leaking
   12286 	(_dbus_auth_new): fix the order in which we free strings
   12287 	on OOM failure
   12288 
   12289 	* bus/connection.c (bus_connection_disconnected): fix to
   12290 	not send ServiceDeleted multiple times in case of memory
   12291 	allocation failure
   12292 
   12293 	* dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
   12294 	get the base service name
   12295 	(dbus_bus_register_client): don't return base service name,
   12296 	instead store it on the DBusConnection and have an accessor
   12297 	function for it.
   12298 	(dbus_bus_register_client): rename dbus_bus_register()
   12299 
   12300 	* bus/dispatch.c (check_hello_message): verify that other
   12301 	connections on the bus also got the correct results, not
   12302 	just the one sending hello
   12303 
   12304 2003-03-15  Havoc Pennington  <hp (a] pobox.com>
   12305 
   12306 	Make it pass the Hello handling test including all OOM codepaths.
   12307 	Now to do other messages...
   12308 
   12309 	* bus/services.c (bus_service_remove_owner): fix crash when
   12310 	removing owner from an empty list of owners
   12311 	(bus_registry_ensure): don't leave service in the list of
   12312 	a connection's owned services if we fail to put the service
   12313 	in the hash table.
   12314 
   12315 	* bus/connection.c (bus_connection_preallocate_oom_error): set
   12316 	error flag on the OOM error.
   12317 
   12318 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
   12319 	handle _dbus_transport_set_connection failure
   12320 
   12321 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
   12322 	to create watches up front and simply enable/disable them as
   12323 	needed.
   12324 	(unix_connection_set): this can now fail on OOM
   12325 
   12326 	* dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
   12327 	of enabling/disabling a watch or timeout.
   12328 
   12329 	* bus/loop.c (bus_loop_iterate): don't touch disabled
   12330 	watches/timeouts
   12331 
   12332 	* glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
   12333 
   12334 2003-03-15  Havoc Pennington  <hp (a] pobox.com>
   12335 
   12336 	* bus/dispatch.c (bus_dispatch_test): OK, now finally actually
   12337 	write useful test code, after all that futzing around ;-)
   12338 
   12339 	Test does not yet pass because we can't handle OOM in
   12340 	_dbus_transport_messages_pending (basically,
   12341 	dbus_connection_preallocate_send() does not prealloc the write
   12342 	watch). To fix this, I think we need to add new stuff to
   12343 	set_watch_functions, namely a SetEnabled function so we can alloc
   12344 	the watch earlier, then enable it later.
   12345 
   12346 	* dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
   12347 	dbus-memory.c to the convenience lib
   12348 
   12349 	* bus/test.c: rename some static functions to keep them clearly
   12350 	distinct from stuff in connection.c. Handle client disconnection.
   12351 
   12352 2003-03-14  Havoc Pennington  <hp (a] pobox.com>
   12353 
   12354 	* bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
   12355 	transport, tests more of the real codepath. Set up clients
   12356 	with bus_setup_debug_client.
   12357 
   12358 	* bus/test.c (bus_setup_debug_client): function to set up debug
   12359 	"clients" on the main loop
   12360 
   12361 	* dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
   12362 	support
   12363 
   12364 	* dbus/dbus-server.c (dbus_server_listen): add debug-pipe
   12365 	server type
   12366 
   12367 	* dbus/dbus-server-debug.c: support a debug server based on pipes
   12368 
   12369 	* dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
   12370 	(_dbus_close): new function
   12371 
   12372 	* configure.in: check for socketpair
   12373 
   12374 2003-03-14  Havoc Pennington  <hp (a] redhat.com>
   12375 
   12376 	* dbus/dbus-memory.c: add a "detect buffer overwrites on free"
   12377 	cheesy hack
   12378 
   12379 	* dbus/dbus-transport-debug.c: rework this a good bit to be
   12380 	less complicated. hopefully still works.
   12381 
   12382 	* dbus/dbus-server-debug.c (handle_new_client): remove timeout
   12383 	manually
   12384 
   12385 	* glib/dbus-gmain.c (timeout_handler): don't remove timeout
   12386 	after running it
   12387 
   12388 	* dbus/dbus-message.c (dbus_message_copy): rename from
   12389 	dbus_message_new_from_message, fix it up to copy
   12390 	all the message fields, add test case
   12391 
   12392 	* bus/dispatch.c (bus_dispatch_test): add some more test code,
   12393 	not quite passing yet
   12394 
   12395 2003-03-14  Havoc Pennington  <hp (a] pobox.com>
   12396 
   12397 	* bus/loop.c (bus_loop_iterate): add this so we can "run loop
   12398 	until no work remains" in test code. (the large diff here
   12399 	is just code movement, no actual changes)
   12400 
   12401 	* dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
   12402 	1, no point waiting around for test code.
   12403 	(_dbus_server_debug_accept_transport): unref the timeout
   12404 	after adding it (right?)
   12405 
   12406 	* dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
   12407 
   12408 2003-03-13  Havoc Pennington  <hp (a] redhat.com>
   12409 
   12410 	* dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
   12411 	out of memory
   12412 
   12413 	* dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
   12414 	of memory
   12415 
   12416 	* dbus/dbus-connection.h: Make AddWatchFunction and
   12417 	AddTimeoutFunction return a bool so they can fail on out-of-memory
   12418 
   12419 	* bus/bus.c (bus_context_new): set up timeout handlers
   12420 
   12421 	* bus/connection.c (bus_connections_setup_connection): set up
   12422 	timeout handlers
   12423 
   12424 	* glib/dbus-gmain.c: adapt to the fact that set_functions stuff
   12425 	can fail
   12426 
   12427 	* bus/bus.c (bus_context_new): adapt to changes
   12428 
   12429 	* bus/connection.c: adapt to changes
   12430 
   12431 	* test/watch.c: adapt to DBusWatch changes
   12432 
   12433 	* bus/dispatch.c (bus_dispatch_test): started adding this but
   12434 	didn't finish
   12435 
   12436 2003-03-14  Anders Carlsson  <andersca (a] codefactory.se>
   12437 
   12438 	* bus/dispatch.c (send_service_nonexistent_error): Fix typo.
   12439 
   12440 2003-03-13  Havoc Pennington  <hp (a] pobox.com>
   12441 
   12442 	* bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
   12443 	set up a test framework as for the library
   12444 
   12445 2003-03-12  Havoc Pennington  <hp (a] pobox.com>
   12446 
   12447 	Throughout: purge global variables, introduce BusActivation,
   12448 	BusConnections, BusRegistry, etc. objects instead.
   12449 
   12450 	* bus/bus.h, bus/bus.c: introduce BusContext as a global
   12451 	message bus object
   12452 
   12453 	* test/Makefile.am (TEST_BINARIES): disable bus-test for now,
   12454 	going to redo this a bit differently I think
   12455 
   12456 2003-03-12  Havoc Pennington  <hp (a] redhat.com>
   12457 
   12458         Mega-patch that gets the message bus daemon initially handling
   12459 	out-of-memory. Work still needed. Also lots of random
   12460 	moving stuff to DBusError instead of ResultCode.
   12461 
   12462 	* dbus/dbus-list.c (_dbus_list_length_is_one): new function
   12463 
   12464 	* dbus/dbus-connection.c
   12465 	(dbus_connection_send_with_reply_and_block): use DBusError
   12466 
   12467 	* dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
   12468 	DBusResultCode
   12469 
   12470 	* dbus/dbus-connection.c (dbus_connection_send): drop the result
   12471 	code here, as the only failure possible is OOM.
   12472 
   12473 	* bus/connection.c (bus_connection_disconnect):
   12474 	rename bus_connection_disconnected as it's a notification only
   12475 
   12476 	* bus/driver.c (bus_driver_handle_acquire_service): don't free
   12477 	"name" on get_args failure, should be done by get_args;
   12478 	don't disconnect client for bad args, just return an error.
   12479 	(bus_driver_handle_service_exists): ditto
   12480 
   12481 	* bus/services.c (bus_services_list): NULL-terminate returned array
   12482 
   12483 	* bus/driver.c (bus_driver_send_service_lost)
   12484 	(bus_driver_send_service_acquired): send messages from driver to a
   12485 	specific client to the client's unique name, not to the broadcast
   12486 	service.
   12487 
   12488 	* dbus/dbus-message.c (decode_header_data): reject messages that
   12489 	contain no name field
   12490 	(_dbus_message_get_client_serial): rename to
   12491 	dbus_message_get_serial and make public
   12492 	(_dbus_message_set_serial): rename from set_client_serial
   12493 	(_dbus_message_set_reply_serial): make public
   12494 	(_dbus_message_get_reply_serial): make public
   12495 
   12496 	* bus/connection.c (bus_connection_foreach): allow stopping
   12497 	iteration by returning FALSE from foreach function.
   12498 
   12499 	* dbus/dbus-connection.c (dbus_connection_send_preallocated)
   12500 	(dbus_connection_free_preallocated_send)
   12501 	(dbus_connection_preallocate_send): new API for sending a message
   12502 	without possibility of malloc failure.
   12503 	(dbus_connection_send_message): rename to just
   12504 	dbus_connection_send (and same for whole function family)
   12505 
   12506 	* dbus/dbus-errors.c (dbus_error_free): make this reinit the error
   12507 
   12508 	* dbus/dbus-sysdeps.c (_dbus_exit): new function
   12509 
   12510 	* bus/activation.c: handle/return errors
   12511 
   12512 	* dbus/dbus-errors.h: add more DBUS_ERROR #define
   12513 
   12514 	* dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
   12515 	(_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
   12516 	(_dbus_result_from_errno): move to this file
   12517 
   12518 2003-03-10  Anders Carlsson  <andersca (a] codefactory.se>
   12519 
   12520 	* dbus/dbus-marshal.c:
   12521 	(_dbus_marshal_set_string):
   12522 	Take a length argument so we can marshal the correct string
   12523 	length.
   12524 
   12525 	(_dbus_marshal_dict), (_dbus_demarshal_dict),
   12526 	(_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
   12527 	(_dbus_marshal_test):
   12528 	* dbus/dbus-marshal.h:
   12529 	Add support for marshalling and demarshalling dicts.
   12530 
   12531 	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
   12532 	Add support for TYPE DICT.
   12533 
   12534 	* dbus/dbus-message.c: (set_string_field):
   12535 	Adjust header padding.
   12536 
   12537 	(dbus_message_append_args_valist), (dbus_message_append_dict),
   12538 	(dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
   12539 	(dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
   12540 	(check_message_handling), (check_have_valid_message):
   12541 	* dbus/dbus-message.h:
   12542 	Add functions for setting and getting dicts.
   12543 
   12544 	* dbus/dbus-protocol.h:
   12545 	Add DBUS_TYPE_DICT.
   12546 
   12547 	* dbus/dbus.h:
   12548 	Add dbus-dict.h
   12549 
   12550 	* doc/dbus-specification.sgml:
   12551 	Add information about how dicts are marshalled.
   12552 
   12553 	* test/data/invalid-messages/dict-with-nil-value.message:
   12554 	* test/data/invalid-messages/too-short-dict.message:
   12555 	* test/data/valid-messages/dict-simple.message:
   12556 	* test/data/valid-messages/dict.message:
   12557 	Add sample messages containing dicts.
   12558 
   12559 2003-03-08  Anders Carlsson  <andersca (a] codefactory.se>
   12560 
   12561 	* dbus/dbus-dict.h: Add DBUS_END_DECLS.
   12562 
   12563 2003-03-07  Anders Carlsson  <andersca (a] codefactory.se>
   12564 
   12565 	* dbus/Makefile.am:
   12566 	* dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
   12567 	(dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
   12568 	(dbus_dict_set_int32), (dbus_dict_set_uint32),
   12569 	(dbus_dict_set_double), (dbus_dict_set_string),
   12570 	(dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
   12571 	(dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
   12572 	(dbus_dict_set_string_array), (_dbus_dict_test):
   12573 	* dbus/dbus-dict.h:
   12574 	Fix according to comments from Havoc.
   12575 
   12576 2003-03-06  Michael Meeks  <michael (a] server.home>
   12577 
   12578 	* configure.in: if we don't have kde-config, disable have_qt.
   12579 
   12580 2003-03-07  Anders Carlsson  <andersca (a] codefactory.se>
   12581 
   12582 	* dbus/Makefile.am:
   12583 	Add dbus-dict.[ch]
   12584 
   12585 	* dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
   12586 	(dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
   12587 	(dbus_dict_remove), (dbus_dict_get_value_type),
   12588 	(dbus_dict_get_keys), (dbus_dict_put_boolean),
   12589 	(dbus_dict_put_int32), (dbus_dict_put_uint32),
   12590 	(dbus_dict_put_double), (dbus_dict_put_string),
   12591 	(dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
   12592 	(dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
   12593 	(dbus_dict_put_string_array), (dbus_dict_get_boolean),
   12594 	(dbus_dict_get_int32), (dbus_dict_get_uint32),
   12595 	(dbus_dict_get_double), (dbus_dict_get_string),
   12596 	(dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
   12597 	(dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
   12598 	(dbus_dict_get_string_array), (_dbus_dict_test):
   12599 	* dbus/dbus-dict.h:
   12600 	Add DBusDict implementation
   12601 
   12602 	* dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
   12603 	* dbus/dbus-test.h:
   12604 	Add _dbus_dict_test
   12605 
   12606 2003-03-04  Havoc Pennington  <hp (a] pobox.com>
   12607 
   12608 	* test/data/auth/*: adapt to changes
   12609 
   12610 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): add
   12611 	USERID_BASE64 and change USERNAME_BASE64 to put in username not
   12612 	userid
   12613 
   12614 	* dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
   12615 	more stuff from being in a context name, to make the protocol
   12616 	simpler to deal with
   12617 
   12618 	* dbus/dbus-errors.c (dbus_error_has_name): new function
   12619 	(dbus_error_is_set): new function
   12620 
   12621 	* dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
   12622 	with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
   12623 
   12624 	* dbus/dbus-connection.c (dbus_connection_flush): also read
   12625 	messages during a flush operation
   12626 
   12627 	* dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
   12628 
   12629 2003-03-05  Anders Carlsson  <andersca (a] codefactory.se>
   12630 
   12631 	* configure.in: Check for gethostbyname on Solaris.
   12632 
   12633 	* dbus/dbus-transport.c: (_dbus_transport_open):
   12634 	Remove duplicate "tcp" entry.
   12635 
   12636 	* doc/dbus-specification.sgml:
   12637 	Clarify some things.
   12638 
   12639 2003-03-05  Anders Carlsson  <andersca (a] codefactory.se>
   12640 
   12641 	* dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
   12642 	* dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
   12643 	(_dbus_keyring_test):
   12644 	* dbus/dbus-md5.c: (_dbus_md5_compute):
   12645 	* dbus/dbus-sha.c: (_dbus_sha_compute):
   12646 	Plug memory leaks.
   12647 
   12648 2003-03-05  Anders Carlsson  <andersca (a] codefactory.se>
   12649 
   12650 	* README: Add some things.
   12651 
   12652 2003-03-04  Anders Carlsson  <andersca (a] codefactory.se>
   12653 
   12654 	* dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
   12655 	after case DBUS_TYPE_BOOELAN.
   12656 
   12657 2003-03-02  Havoc Pennington  <hp (a] pobox.com>
   12658 
   12659 	* test/break-loader.c (randomly_set_extreme_ints): add test that
   12660 	sets really huge and small integers
   12661 
   12662 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
   12663 	that length of boolean array fits in the string, and that
   12664 	string has room for boolean value in single-bool case.
   12665 
   12666 	* dbus/dbus-message-builder.c (_dbus_message_data_load): add
   12667 	optional value to "ALIGN" command which is what to fill the
   12668 	alignment with.
   12669 
   12670 	* test/data/valid-messages/no-padding.message: add regression
   12671 	test for the message padding problem
   12672 
   12673 2003-03-02  Havoc Pennington  <hp (a] pobox.com>
   12674 
   12675 	* dbus/dbus-message.c (decode_header_data): fix to always init
   12676 	message_padding, from Benjamin Dauvergne
   12677 
   12678 2003-03-02  Havoc Pennington  <hp (a] pobox.com>
   12679 
   12680 	* configure.in: 0.5
   12681 
   12682 	* NEWS: Update.
   12683 
   12684 2003-03-01  Joe Shaw  <joe (a] assbarn.com>
   12685 
   12686 	* configure.in: Check for "struct cmsgcred" and try to access its
   12687 	members for BSD-like unices.
   12688 
   12689 	* dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
   12690 	_dbus_read_credentials_unix_socket().
   12691 	(_dbus_read_credentials_unix_socket): Use recvmsg() instead of
   12692 	read() for reading the credential byte off the unix socket.  Use
   12693 	struct cmsgcred on systems that support it.
   12694 
   12695 2003-02-27  Alexander Larsson  <alexl (a] redhat.com>
   12696 
   12697 	* glib/Makefile.am:
   12698 	* configure.in:
   12699 	Make gthreads-2.0 dependency optional. Don't build thread test if
   12700 	its not found.
   12701 
   12702 2003-02-27  Havoc Pennington  <hp (a] pobox.com>
   12703 
   12704 	* dbus/dbus-connection.c
   12705 	(dbus_connection_send_message_with_reply_and_block): fix doh!
   12706 	doh! doh! bug that resulted in never removing a reply from the
   12707 	queue, no wonder we called get_reply_serial so much ;-)
   12708 
   12709 	* dbus/dbus-message.c (struct DBusMessage): cache reply serial
   12710 	and client serial instead of demarshaling them every time
   12711 
   12712 2003-02-27  Havoc Pennington  <hp (a] pobox.com>
   12713 
   12714 	* dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
   12715 	more inlined, using dbus-string-private.h, speeds things up
   12716 	substantially
   12717 
   12718 	* dbus/dbus-string.c (_dbus_string_free): apply align offset
   12719 	when freeing the string
   12720 	(_dbus_string_steal_data): fix for align offset
   12721 	(undo_alignment): new function
   12722 
   12723 2003-02-26  Havoc Pennington  <hp (a] redhat.com>
   12724 
   12725         All kinds of audit fixes from Owen, plus initial attempt to
   12726 	handle unaligned memory returned from malloc.
   12727 
   12728 	* dbus/dbus-string.c (_dbus_string_init): clamp max length to
   12729 	leave room for align_offset and nul byte
   12730 	(fixup_alignment): function to track an align_offset and
   12731 	ensure real->str is aligned
   12732 	(DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
   12733 	to allow a nul byte plus align offset
   12734 	(_dbus_string_lock): fix overflow issue
   12735 	(_dbus_string_init_const_len): add assertions on sanity of len,
   12736 	assign allocated to be ALLOCATION_PADDING larger than len
   12737 	(set_length): fixup the overflow handling
   12738 	(_dbus_string_get_data_len): fix overflow in assertion
   12739 	(open_gap): detect overflow in size of gap to be opened
   12740 	(_dbus_string_lengthen): add overflow check
   12741 	(_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
   12742 	(_dbus_string_append): add overflow check
   12743 	(_dbus_string_append_unichar): overflow
   12744 	(_dbus_string_delete): fix overflow in assertion
   12745 	(_dbus_string_copy_len): overflow in assertion
   12746 	(_dbus_string_replace_len): overflows in assertions
   12747 	(_dbus_string_find): change to implement in terms of
   12748 	_dbus_string_find_to
   12749 	(_dbus_string_find_to): assorted fixage
   12750 	(_dbus_string_equal_c_str): assert c_str != NULL,
   12751 	fix logic so the function works
   12752 	(_dbus_string_ends_with_c_str): fix overflow thingy
   12753 	(_dbus_string_base64_encode): overflow fix
   12754 	(_dbus_string_validate_ascii): overflow
   12755 	(_dbus_string_validate_nul): overflow
   12756 
   12757 2003-02-26  Havoc Pennington  <hp (a] redhat.com>
   12758 
   12759 	* dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
   12760 
   12761 2003-02-26  Alexander Larsson  <alexl (a] redhat.com>
   12762 
   12763 	* configure.in:
   12764 	Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
   12765 
   12766 	* dbus/dbus-connection.c:
   12767 	* dbus/dbus-connection.h:
   12768 	Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
   12769 	Add dbus_connection_set_wakeup_main_function and use it when queueing
   12770 	incoming and outgoing messages.
   12771 
   12772 
   12773 	* dbus/dbus-dataslot.c:
   12774 	Threadsafe usage of DBusDataSlotAllocator
   12775 
   12776 	* dbus/dbus-message.c: (dbus_message_get_args_iter):
   12777 	dbus_new can fail.
   12778 
   12779 	* dbus/dbus-server-unix.c:
   12780 	Add todo comment
   12781 
   12782 	* glib/dbus-gmain.c:
   12783 	Implement the new wakeup functions for glib.
   12784 
   12785 	* glib/Makefile.am:
   12786 	* glib/test-thread-client.c:
   12787 	* glib/test-thread-server.c:
   12788 	* glib/test-thread.h:
   12789 	Initial cut at some thread test code. Not really done yet.
   12790 
   12791 2003-02-26  Havoc Pennington  <hp (a] pobox.com>
   12792 
   12793 	* dbus/dbus-connection.c
   12794 	(dbus_connection_send_message_with_reply_and_block): fix crash
   12795 	where we ref'd the outgoing message instead of the returned reply
   12796 
   12797 	* dbus/dbus-transport-unix.c (do_authentication): check read watch
   12798 	at the end of this function, so if we didn't need to read for
   12799 	authentication, we reinstall it for receiving messages
   12800 
   12801 	* dbus/dbus-message.c (dbus_message_new_reply): allow replies to
   12802 	a NULL sender for peer-to-peer case
   12803 
   12804 	* dbus/dbus-transport-unix.c (check_read_watch): handle
   12805 	!authenticated case correctly
   12806 
   12807 	* glib/dbus-gmain.c: add support for DBusServer
   12808 
   12809 	* dbus/dbus-server.c: add data slot support
   12810 
   12811 	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
   12812 	return values and handle errors
   12813 
   12814 	* dbus/dbus-dataslot.c: factor out the data slot stuff from
   12815 	DBusConnection
   12816 
   12817 	* Doxyfile.in (INPUT): add glib subdir
   12818 
   12819 	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
   12820 	setup_with_g_main instead of hookup_with_g_main; write docs
   12821 
   12822 2003-02-24  Anders Carlsson  <andersca (a] codefactory.se>
   12823 
   12824 	* dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
   12825 	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
   12826 	* dbus/dbus-message.c: (dbus_message_append_boolean),
   12827 	(dbus_message_append_boolean_array),
   12828 	(dbus_message_get_args_valist), (_dbus_message_test):
   12829 	* dbus/dbus-message.h:
   12830 	* doc/dbus-specification.sgml:
   12831 	Various fixes as pointed out by Havoc.
   12832 
   12833 	* test/data/invalid-messages/bad-boolean-array.message:
   12834 	* test/data/invalid-messages/bad-boolean.message:
   12835 	Add invalid boolean value test cases.
   12836 
   12837 2003-02-24  Anders Carlsson  <andersca (a] codefactory.se>
   12838 
   12839 	* dbus/dbus-internals.c: (_dbus_type_to_string):
   12840 	* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
   12841 	(_dbus_marshal_validate_arg):
   12842 	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
   12843 	* dbus/dbus-message.c: (dbus_message_append_args_valist),
   12844 	(dbus_message_append_boolean), (dbus_message_append_boolean_array),
   12845 	(dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
   12846 	(dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
   12847 	(dbus_message_iter_get_double),
   12848 	(dbus_message_iter_get_boolean_array), (message_iter_test):
   12849 	* dbus/dbus-message.h:
   12850 	* dbus/dbus-protocol.h:
   12851 	* doc/dbus-specification.sgml:
   12852 	* test/data/valid-messages/lots-of-arguments.message:
   12853 	Add support for boolean and boolean array types.
   12854 
   12855 2003-02-23  Havoc Pennington  <hp (a] pobox.com>
   12856 
   12857 	* dbus/dbus-keyring.c: finish most of this implementation and
   12858 	simple unit test
   12859 
   12860 	* dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
   12861 	these barf if the error isn't cleared to NULL
   12862 
   12863 	* dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
   12864 	(_dbus_create_directory): new function
   12865 
   12866 	* dbus/dbus-errors.c (dbus_set_error): fix warning
   12867 
   12868 	* dbus/dbus-string.c (_dbus_string_hex_encode): new function
   12869 	(_dbus_string_hex_decode): new function
   12870 	(test_hex_roundtrip): test code
   12871 
   12872 	* dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
   12873 
   12874 	* dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
   12875 
   12876 	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
   12877 	the save-to-temp/rename trick to atomically write the new file
   12878 	(_dbus_string_parse_uint): new function
   12879 
   12880 2003-02-22  Havoc Pennington  <hp (a] pobox.com>
   12881 
   12882 	* test/Makefile.am (dist-hook): fix dist for test/data/sha-1
   12883 
   12884 2003-02-22  Havoc Pennington  <hp (a] pobox.com>
   12885 
   12886 	* dbus/dbus-message.c (dbus_message_iter_get_string_array):
   12887 	(dbus_message_iter_get_byte_array): Fix up doxygen warnings
   12888 
   12889 	* dbus/dbus-sha.c: add implementation of SHA-1 algorithm
   12890 
   12891 	* dbus/test/data/sha-1: add US government test suite for SHA-1
   12892 
   12893 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   12894 
   12895 	* dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
   12896 	Make string arrays NULL-terminated.
   12897 
   12898 	* dbus/dbus-memory.c: (dbus_free_string_array):
   12899 	* dbus/dbus-memory.h:
   12900 	New function for freeing NULL-terminated string arrays.
   12901 
   12902 	* dbus/dbus-message-builder.c: (append_quoted_string),
   12903 	(_dbus_message_data_load):
   12904 	Add support for array types.
   12905 
   12906 	* dbus/dbus-message.c: (check_message_handling):
   12907 	Add more types as test cases.
   12908 
   12909 	* dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
   12910 	(_dbus_string_parse_double):
   12911 	Add the start offset to the end offset.
   12912 
   12913 	* test/data/valid-messages/lots-of-arguments.message:
   12914 	New test message with lots of arguments.
   12915 
   12916 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   12917 
   12918 	* dbus/dbus-message.c: (dbus_message_append_nil),
   12919 	(dbus_message_append_int32), (dbus_message_append_uint32),
   12920 	(dbus_message_append_double), (dbus_message_append_string),
   12921 	(dbus_message_append_int32_array),
   12922 	(dbus_message_append_uint32_array),
   12923 	(dbus_message_append_double_array),
   12924 	(dbus_message_append_byte_array),
   12925 	(dbus_message_append_string_array):
   12926 	Fix all out-of-memory handling in these functions.
   12927 
   12928 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   12929 
   12930 	* dbus/dbus-message.c: (dbus_message_append_nil):
   12931 	Fix a silly.
   12932 
   12933 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   12934 
   12935 	* dbus/dbus-message.c: (dbus_message_append_args_valist),
   12936 	(dbus_message_append_nil), (dbus_message_append_int32_array),
   12937 	(dbus_message_append_uint32_array),
   12938 	(dbus_message_append_double_array),
   12939 	(dbus_message_append_byte_array),
   12940 	(dbus_message_append_string_array), (dbus_message_get_args_valist),
   12941 	(dbus_message_iter_get_int32_array),
   12942 	(dbus_message_iter_get_uint32_array),
   12943 	(dbus_message_iter_get_double_array),
   12944 	(dbus_message_iter_get_byte_array),
   12945 	(dbus_message_iter_get_string_array):
   12946 
   12947 	* dbus/dbus-message.h:
   12948 	Add functions for appending and getting arrays.
   12949 
   12950 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   12951 
   12952 	* dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
   12953 	element size at least 8 bytes, fixes mempool tests on
   12954 	64-bit machines.
   12955 
   12956 2003-02-20  Alexander Larsson  <alexl (a] redhat.com>
   12957 
   12958 	* dbus/dbus-transport-unix.c (unix_do_iteration):
   12959 	Unlock the connection mutex during a blocking select call.
   12960 	Add todo about how we need a way to wake up the select.
   12961 
   12962 	* dbus/dbus-connection-internal.h:
   12963 	* dbus/dbus-connection.c:
   12964 	Add _dbus_connection_lock and _dbus_connection_unlock.
   12965 
   12966 2003-02-19  Havoc Pennington  <hp (a] pobox.com>
   12967 
   12968 	* Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
   12969 	Doxyfile.in, not Doxyfile
   12970 
   12971 	* dbus/dbus-keyring.c: do some hacking on this
   12972 
   12973 	* dbus/dbus-sysdeps.c (_dbus_delete_file): new
   12974 
   12975 	* dbus/dbus-errors.c (dbus_set_error_const): do not call
   12976 	dbus_error_init
   12977 	(dbus_set_error): remove dbus_error_init, check for message ==
   12978 	NULL *before* we sprintf into it, and add @todo about including
   12979 	system headers in this file
   12980 
   12981 	* dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
   12982 
   12983 	* dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
   12984 
   12985 	* dbus/dbus-sysdeps.c (get_user_info): break this function out to
   12986 	get various bits of user information based on either username
   12987 	or user ID
   12988 	(_dbus_homedir_from_username): new function
   12989 
   12990 2003-02-19  Anders Carlsson  <andersca (a] codefactory.se>
   12991 
   12992 	* configure.in:
   12993 	Add check for nonposix getpwnam_r
   12994 
   12995 	* dbus/dbus-mempool.c: (_dbus_mem_pool_new):
   12996 	Align the pool element size to a sizeof (void *) boundary.
   12997 
   12998 	* dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
   12999 	(_dbus_listen_unix_socket), (_dbus_credentials_from_username):
   13000 	General Solaris fixes.
   13001 
   13002 	* test/data/valid-messages/simplest-manual.message:
   13003 	Explicitly state that we want little-endian packing.
   13004 
   13005 2003-02-19  Mikael Hallendal  <micke (a] codefactory.se>
   13006 
   13007 	* dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
   13008 
   13009 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
   13010 	Added to create a transport connecting using a tcp/ip socket.
   13011 
   13012 	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
   13013 	to a tcp socket at given host and port.
   13014 	(_dbus_listen_tcp_socket): added to listen on tcp socket for given
   13015 	hostname and port.
   13016 
   13017 	* dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
   13018 
   13019 	* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
   13020 	Added to create a server listening on a TCP/IP socket.
   13021 
   13022 2003-02-19  Havoc Pennington  <hp (a] pobox.com>
   13023 
   13024 	Throughout: mop up all the Doxygen warnings and undocumented
   13025 	stuff.
   13026 
   13027 	* dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
   13028 	to search any paths.
   13029 
   13030 	* dbus/dbus-threads.c: move global mutex initializers to
   13031 	dbus-internals.h, multiple prototypes was confusing doxygen
   13032 	besides being kind of ugly
   13033 
   13034 	* Doxyfile (PREDEFINED): have Doxygen define
   13035 	DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
   13036 	docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
   13037 	(do not abuse the feature! it's for stuff like the autogenerated
   13038 	macros in dbus-md5.c, not just for things you don't feel like
   13039 	documenting...)
   13040 
   13041 2003-02-18  Havoc Pennington  <hp (a] pobox.com>
   13042 
   13043 	* dbus/dbus-string.c (_dbus_string_zero): new function
   13044 
   13045 	* dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
   13046 	wrap it in some dbus-friendly API
   13047 
   13048 	* dbus/dbus-types.h: add 16-bit types
   13049 
   13050 2003-02-18  Joe Shaw  <joe (a] assbarn.com>
   13051 
   13052 	* dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
   13053 	credentials from our currently running process.
   13054 	(get_word): Fix a buglet where we were copying the entire length
   13055 	instead of relative to our position.
   13056 
   13057 	* dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
   13058 	keys on the stack... it's 640k of data.
   13059 
   13060 	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
   13061 	read the credentials byte off the socket, even if we don't have
   13062 	SO_PEERCRED.
   13063 	(_dbus_poll): Implement poll() using select() for systems which
   13064 	don't have it.
   13065 
   13066 	* glib/test-dbus-glib.c (main): Print out an error if no
   13067 	parameters are given.
   13068 
   13069 	* test/data/auth/fallback.auth-script: Added.  Tests that a client
   13070 	can fallback to a secondary auth mechanism if the first fails.
   13071 
   13072 2003-02-18  Havoc Pennington  <hp (a] pobox.com>
   13073 
   13074 	* AUTHORS: add Alex
   13075 
   13076 2003-02-17  Havoc Pennington  <hp (a] pobox.com>
   13077 
   13078 	* doc/dbus-specification.sgml: lots of cosmetic
   13079 	cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
   13080 	env variable to DBUS_BUS_ADDRESS, s/client/application/,
   13081 	s/server/bus/ (except in authentication section). Add a section
   13082 	"Message Bus Message Routing"
   13083 
   13084 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se.>
   13085 
   13086 	Release 0.4
   13087 
   13088 	* NEWS: Update
   13089 
   13090 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se>
   13091 
   13092 	* doc/dbus-specification.sgml:
   13093 	Specification updates.
   13094 
   13095 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se>
   13096 
   13097 	* bus/activation.c: (bus_activation_init), (child_setup),
   13098 	(bus_activation_activate_service):
   13099 	* bus/activation.h:
   13100 	* bus/main.c: (main):
   13101 	Set DBUS_ADDRESS environment variable.
   13102 
   13103 	* dbus/dbus-errors.c: (dbus_set_error):
   13104 	Don't use va_copy since that's a C99 feature.
   13105 
   13106 	* dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
   13107 	(_dbus_spawn_async):
   13108 	* dbus/dbus-sysdeps.h:
   13109 	Add child_setup_func to _dbus_spawn_async.
   13110 
   13111 	* doc/dbus-specification.sgml:
   13112 	Update specification.
   13113 
   13114 	* test/spawn-test.c: (setup_func), (main):
   13115 	Fix test.
   13116 
   13117 2003-02-17  Alexander Larsson  <alexl (a] redhat.com>
   13118 
   13119 	* dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
   13120 	Added todo.
   13121 
   13122 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se>
   13123 
   13124 	* doc/.cvsignore:
   13125 	* doc/Makefile.am:
   13126 	* doc/dbus-test-plan.sgml:
   13127 	Add test plan document.
   13128 
   13129 	* test/Makefile.am:
   13130 	Fix distcheck.
   13131 
   13132 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se>
   13133 
   13134 	* dbus/dbus-message.c: (decode_header_data),
   13135 	(_dbus_message_loader_return_buffer):
   13136 	Set the header padding amount when loading a message.
   13137 
   13138 2003-02-16  Anders Carlsson  <andersca (a] codefactory.se>
   13139 
   13140 	* bus/dispatch.c: (send_one_message):
   13141 	Only send broadcast messages to registered connections.
   13142 
   13143 	* dbus/dbus-message.c: (dbus_message_name_is):
   13144 	* dbus/dbus-message.h:
   13145 	New convenience function.
   13146 
   13147 	* dbus/dbus-transport-debug.c: (do_reading):
   13148 	Only dispatch one message per run.
   13149 
   13150 	* test/Makefile.am:
   13151 	* test/bus-test.c: (new_connection_callback), (die),
   13152 	(test_hello_client1_handler), (test_hello_client2_handler),
   13153 	(test_hello_replies), (main):
   13154 
   13155 	* test/bus-test-loop.[ch]:
   13156 	Add these.
   13157 
   13158 2003-02-16  Havoc Pennington  <hp (a] pobox.com>
   13159 
   13160 	* dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
   13161 	backward conditional
   13162 
   13163 2003-02-16  Alexander Larsson  <alexl (a] redhat.com>
   13164 
   13165 	* dbus/dbus-connection.c:
   13166 	Implement sent_message_with_reply. (with_reply_and block is still
   13167 	busted).
   13168 	Made dispatch_message not lose message if OOM.
   13169 
   13170 	* dbus/dbus-errors.h:
   13171 	Add NoReply error (for reply timeouts).
   13172 
   13173 2003-02-16  Alexander Larsson  <alexl (a] redhat.com>
   13174 
   13175 	* dbus/dbus-hash.c (_dbus_hash_table_unref):
   13176 	Actually free keys and values when destroying hashtable.
   13177 
   13178 2003-02-16  Anders Carlsson  <andersca (a] codefactory.se>
   13179 
   13180 	* dbus/dbus-auth.c: (client_try_next_mechanism):
   13181 	Plug a leak.
   13182 
   13183 	* dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
   13184 	Return TRUE if there's no thread implementation around.
   13185 
   13186 	* glib/dbus-gmain.c: (free_source),
   13187 	(dbus_connection_hookup_with_g_main):
   13188 	Make sure to remove the GSource when the connection is finalized.
   13189 
   13190 2003-02-16  Anders Carlsson  <andersca (a] codefactory.se>
   13191 
   13192 	* bus/dispatch.c: (bus_dispatch_message_handler):
   13193 	* dbus/dbus-errors.h:
   13194 	Return an error if someone tries to send a message to a service
   13195 	that doesn't exist.
   13196 
   13197 2003-02-16  Anders Carlsson  <andersca (a] codefactory.se>
   13198 
   13199 	* bus/activation.c: (load_directory), (bus_activation_init),
   13200 	(bus_activation_activate_service):
   13201 	* bus/activation.h:
   13202 	* bus/driver.c:
   13203 	(bus_driver_handle_activate_service), (bus_driver_handle_message):
   13204 	More work on the activation handling.
   13205 
   13206 	* dbus/dbus-errors.h:
   13207 	Add some error messages
   13208 
   13209 	* dbus/dbus-message.c: (dbus_message_new_error_reply):
   13210 	* dbus/dbus-message.h:
   13211 	New function that creates an error message.
   13212 
   13213 	* dbus/dbus-protocol.h:
   13214 	Add ACTIVATE_SERVER message.
   13215 
   13216 	* dbus/dbus-server-unix.c: (unix_handle_watch),
   13217 	(_dbus_server_new_for_domain_socket):
   13218 	Call _dbus_fd_set_close_on_exec.
   13219 
   13220 	* dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
   13221 	(_dbus_spawn_async), (_dbus_disable_sigpipe),
   13222 	(_dbus_fd_set_close_on_exec):
   13223 	* dbus/dbus-sysdeps.h:
   13224 	Add _dbus_fd_set_close_on exec function. Also add function that checks
   13225 	that all open fds are set to close-on-exec and warns otherwise.
   13226 
   13227 	* dbus/dbus-transport-unix.c:
   13228 	(_dbus_transport_new_for_domain_socket):
   13229 	Call _dbus_fd_set_close_on_exec.
   13230 
   13231 2003-02-16  Havoc Pennington  <hp (a] pobox.com>
   13232 
   13233 	* dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
   13234 	allow people to avoid setting SIGPIPE to SIG_IGN
   13235 	(_dbus_connection_new_for_transport): disable SIGPIPE unless
   13236 	we've been asked not to
   13237 
   13238 2003-02-15  Anders Carlsson  <andersca (a] codefactory.se>
   13239 
   13240 	* dbus/dbus-list.c: (_dbus_list_append_link),
   13241 	(_dbus_list_prepend_link):
   13242 	* dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
   13243 	(dbus_realloc):
   13244 	Warning fixes.
   13245 
   13246 2003-02-15  Anders Carlsson  <andersca (a] codefactory.se>
   13247 
   13248 	* bus/Makefile.am:
   13249 	* bus/activation.c: (bus_activation_entry_free),
   13250 	(add_desktop_file_entry), (load_directory), (bus_activation_init):
   13251 	* bus/activation.h:
   13252 	* bus/main.c: (main):
   13253 	Add simple activation support, doesn't work yet though.
   13254 
   13255 2003-02-15   Zack Rusin  <zack (a] kde.org>
   13256 
   13257 	* qt/dbus-qthread.cpp:  small casting fix
   13258 
   13259 2003-02-15  Anders Carlsson  <andersca (a] codefactory.se>
   13260 
   13261 	* dbus/dbus-errors.c: (dbus_set_error):
   13262 	* dbus/dbus-errors.h:
   13263 	Add a few errors and make dbus_set_error void.
   13264 
   13265 	* dbus/dbus-sysdeps.c:
   13266 	(_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
   13267 	(write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
   13268 	* dbus/dbus-sysdeps.h:
   13269 	Add _dbus_spawn_async.
   13270 
   13271 	* test/spawn-test.c: (main):
   13272 	Test for _dbus_spawn_async.
   13273 
   13274 2003-02-15  Anders Carlsson  <andersca (a] codefactory.se>
   13275 
   13276 	* dbus/dbus-internals.h:
   13277 	Fix build without tests.
   13278 
   13279 	* dbus/dbus-list.c: (alloc_link):
   13280 	Fix a segfault when a malloc fails.
   13281 
   13282 	* dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
   13283 	(dbus_malloc0), (dbus_realloc):
   13284 	Add support for malloc debugging.
   13285 
   13286 2003-02-15  Alexander Larsson  <alexl (a] redhat.com>
   13287 
   13288 	* dbus/dbus-threads.c:
   13289 	* dbus/dbus-threads.h:
   13290 	Add condvars. Remove static mutext from API.
   13291 	Implement static mutexes by initializing them from threads_init.
   13292 
   13293 	* glib/dbus-gthread.c:
   13294 	* qt/dbus-qthread.cpp:
   13295 	Update with the thread api changes.
   13296 
   13297 
   13298 	* dbus/dbus-list.c:
   13299 	* dbus/dbus-list.h:
   13300 	Turn StaticMutex into normal mutex + init function.
   13301 	Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
   13302 	_dbus_list_append_link, _dbus_list_prepend_link
   13303 
   13304 
   13305 	* dbus/dbus-sysdeps.c:
   13306 	* dbus/dbus-sysdeps.h:
   13307 	New type dbus_atomic_t, and new functions _dbus_atomic_inc,
   13308 	_dbus_atomic_dec. Only slow fallback implementation at the moment.
   13309 
   13310 	* dbus/dbus-protocol.h:
   13311 	Add DBUS_MESSAGE_LOCAL_DISCONNECT define
   13312 
   13313 	* dbus/dbus-message.c:
   13314 	Make ref/unref atomic.
   13315 	Fix some docs.
   13316 
   13317 	* dbus/dbus-connection-internal.h:
   13318 	* dbus/dbus-connection.c:
   13319 	* dbus/dbus-connection.h:
   13320 	Make threadsafe.
   13321 	Change _peek to _borrow,_return & _steal_borrowed.
   13322 	Change disconnect callback to event.
   13323 	Make dbus_connection_dispatch_messages reentrant.
   13324 
   13325 	* dbus/dbus-transport.c:
   13326 	Don't ref the connection on calls to the transport
   13327 	implementation.
   13328 
   13329 	* dbus/dbus-message-handler.c:
   13330 	Make threadsafe.
   13331 
   13332 	* glib/dbus-gmain.c:
   13333 	Don't use peek_message anymore
   13334 
   13335 	* test/Makefile.am:
   13336 	* test/debug-thread.c:
   13337 	* test/debug-thread.h:
   13338 	Simple thread implementation that asserts() on deadlocks in
   13339 	single-threaded code.
   13340 
   13341 	* test/bus-test.c:
   13342 	(main) Call debug_threads_init.
   13343 
   13344 	* test/watch.c:
   13345 	Use disconnect message instead of disconnect callback.
   13346 
   13347 	* bus/connection.c:
   13348 	* bus/connection.h:
   13349 	Don't call dbus_connection_set_disconnect_function. Instead export
   13350 	bus_connection_disconnect.
   13351 
   13352 	* bus/dispatch.c:
   13353 	Call bus_connection_disconnect when we get a disconnected message.
   13354 
   13355 2003-02-15  Havoc Pennington  <hp (a] pobox.com>
   13356 
   13357 	* dbus/dbus-message.c (dbus_message_new): fool around with the
   13358 	docs
   13359 
   13360 2003-02-14  Havoc Pennington  <hp (a] pobox.com>
   13361 
   13362 	* dbus/dbus-mempool.c: fail if the debug functions so indicate
   13363 
   13364 	* dbus/dbus-memory.c: fail if the debug functions indicate we
   13365 	should
   13366 
   13367 	* dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
   13368 	(_dbus_decrement_fail_alloc_counter): debug functions to
   13369 	simulate memory allocation failures
   13370 
   13371 2003-02-14  Havoc Pennington  <hp (a] pobox.com>
   13372 
   13373 	* dbus/dbus-errors.h (struct DBusError): add a word of padding
   13374 	to DBusError
   13375 
   13376 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13377 
   13378 	* bus/driver.c: (bus_driver_handle_hello):
   13379 	* bus/driver.h:
   13380 	* bus/services.c: (bus_service_lookup):
   13381 	Reorder message sending so we get a more sane order.
   13382 
   13383 	* test/bus-test.c: (message_handler):
   13384 	Fix tyop.
   13385 
   13386 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13387 
   13388 	* bus/driver.c: (bus_driver_send_service_deleted),
   13389 	(bus_driver_send_service_created), (bus_driver_send_service_lost),
   13390 	(bus_driver_send_service_acquired), (bus_driver_handle_hello),
   13391 	(bus_driver_send_welcome_message),
   13392 	(bus_driver_handle_list_services),
   13393 	(bus_driver_handle_acquire_service),
   13394 	(bus_driver_handle_service_exists):
   13395 	* dbus/dbus-bus.c: (dbus_bus_register_client),
   13396 	(dbus_bus_acquire_service), (dbus_bus_service_exists):
   13397 	* dbus/dbus-errors.c: (dbus_result_to_string):
   13398 	* dbus/dbus-errors.h:
   13399 	* dbus/dbus-message.c: (dbus_message_append_args),
   13400 	(dbus_message_append_args_valist), (dbus_message_get_args),
   13401 	(dbus_message_get_args_valist), (dbus_message_get_args_iter),
   13402 	(dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
   13403 	(dbus_message_iter_get_byte_array),
   13404 	(dbus_message_iter_get_string_array), (message_iter_test),
   13405 	(check_message_handling), (_dbus_message_test):
   13406 	* dbus/dbus-message.h:
   13407 	* test/bus-test.c: (main):
   13408 	Change fields to arguments in messages, so that they won't be
   13409 	confused with header fields.
   13410 
   13411 	* glib/test-dbus-glib.c: (main):
   13412 	Remove append_fields from hello message.
   13413 
   13414 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13415 
   13416 	* dbus/dbus-errors.c:
   13417 	* dbus/dbus-message.c:
   13418 	* dbus/dbus-string.c:
   13419 	Documentation fixes.
   13420 
   13421 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13422 
   13423 	* glib/dbus-gmain.c: (timeout_handler), (add_timeout),
   13424 	(remove_timeout):
   13425 	Implement support for timeouts in dbus-glib.
   13426 
   13427 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13428 
   13429 	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
   13430 	* dbus/dbus-message.c: (process_test_subdir):
   13431 	* test/break-loader.c: (find_breaks_based_on):
   13432 	Plug some memory leaks.
   13433 
   13434 2003-02-13  Richard Hult  <rhult (a] codefactory.se>
   13435 
   13436 	* bus/main.c: Fix build.
   13437 
   13438 	* dbus/dbus-errors.h:
   13439 	* dbus/dbus-errors.c: Fix copyright for Anders.
   13440 
   13441 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13442 
   13443 	* bus/Makefile.am:
   13444 	Add utils.[ch]
   13445 
   13446 	* bus/connection.c: (bus_connection_foreach):
   13447 	Fix a warning.
   13448 
   13449 	* bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
   13450 	(unescape_string), (new_section), (parse_section_start),
   13451 	(parse_key_value), (report_error), (bus_desktop_file_load),
   13452 	(bus_desktop_file_get_string):
   13453 	* bus/desktop-file.h:
   13454 	Use DBusError for error reporting.
   13455 
   13456 	* bus/dispatch.c: (send_one_message),
   13457 	(bus_dispatch_message_handler):
   13458 	* bus/driver.c: (bus_driver_send_service_deleted),
   13459 	(bus_driver_send_service_created), (bus_driver_send_service_lost),
   13460 	(bus_driver_send_service_acquired), (bus_driver_handle_hello),
   13461 	(bus_driver_send_welcome_message),
   13462 	(bus_driver_handle_list_services),
   13463 	(bus_driver_handle_acquire_service),
   13464 	(bus_driver_handle_service_exists):
   13465 	* bus/loop.c: (bus_loop_run):
   13466 	* bus/main.c:
   13467 	Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
   13468 
   13469 	* bus/utils.c: (bus_wait_for_memory):
   13470 	* bus/utils.h:
   13471 	New files with general utility functions.
   13472 
   13473 	* dbus/dbus-internals.h:
   13474 	Remove _DBUS_HANDLE_OOM.
   13475 
   13476 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13477 
   13478 	* dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
   13479 	(dbus_error_free), (dbus_set_error_const), (dbus_set_error):
   13480 	* dbus/dbus-errors.h:
   13481 	Add DBusError structure.
   13482 
   13483 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13484 
   13485 	* test/data/valid-messages/standard-acquire-service.message:
   13486 	* test/data/valid-messages/standard-hello.message:
   13487 	* test/data/valid-messages/standard-list-services.message:
   13488 	* test/data/valid-messages/standard-service-exists.message:
   13489 	Add some standard messages.
   13490 
   13491 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13492 
   13493 	* bus/driver.c: (bus_driver_send_welcome_message),
   13494 	(bus_driver_handle_list_services),
   13495 	(bus_driver_handle_acquire_service),
   13496 	(bus_driver_handle_service_exists), (bus_driver_handle_message):
   13497 	Update for API changes in libdbus.
   13498 
   13499 	* dbus/dbus-message.c: (dbus_message_new_reply):
   13500 	* dbus/dbus-message.h:
   13501 	Remove the name argument. The spec states that replies shouldn't
   13502 	have a name.
   13503 
   13504 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13505 
   13506 	* bus/desktop-file.c: (parse_section_start), (parse_key_value),
   13507 	(report_error), (bus_desktop_file_load), (lookup_section),
   13508 	(lookup_line), (bus_desktop_file_get_raw),
   13509 	(bus_desktop_file_get_string):
   13510 	* bus/desktop-file.h:
   13511 	Some fixes, and new functions for getting a key value from a section.
   13512 
   13513 2003-02-13  Havoc Pennington  <hp (a] pobox.com>
   13514 
   13515 	* test/data/auth/fail-after-n-attempts.auth-script: new test
   13516 
   13517 	* dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
   13518 	reject the client.
   13519 
   13520 2003-02-13  Havoc Pennington  <hp (a] pobox.com>
   13521 
   13522 	* dbus/dbus-auth.c (handle_server_data_external_mech): args to
   13523 	dbus_credentials_match were backward
   13524 
   13525 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): support
   13526 	NO_CREDENTIALS and ROOT_CREDENTIALS
   13527 
   13528 	* dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
   13529 	into here. Never process more commands after we've reached an
   13530 	end state; store further data as unused bytes.
   13531 
   13532 	* test/data/auth/*: add more auth tests
   13533 
   13534 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
   13535 	command to match exact string and EXPECT_UNUSED to match unused
   13536 	bytes
   13537 
   13538 	* test/Makefile.am (dist-hook): fix to dist all the test stuff
   13539 
   13540 2003-02-12  Havoc Pennington  <hp (a] pobox.com>
   13541 
   13542 	* dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
   13543 	\r off of popped lines
   13544 
   13545 	* dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
   13546 	scripts
   13547 
   13548 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
   13549 	SEND, append \r\n
   13550 
   13551 2003-02-12  Havoc Pennington  <hp (a] pobox.com>
   13552 
   13553 	* dbus/Makefile.am: remove break-loader from the build, since it
   13554 	moved.
   13555 
   13556 	* configure.in: add --enable-gcov to turn on coverage profiling
   13557 	flags and disable optimization
   13558 
   13559 2003-02-10  Havoc Pennington  <hp (a] pobox.com>
   13560 
   13561         * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync
   13562 	initial cut at test framework for DBusAuth from laptop.
   13563 	Doesn't quite work yet but it compiles and I need to get
   13564 	it off the 266mhz laptop. ;-)
   13565 
   13566 	* dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
   13567 	fix a memleak in error case
   13568 
   13569 2003-02-12  Anders Carlsson  <andersca (a] codefactory.se>
   13570 
   13571 	* bus/Makefile.am:
   13572 	* bus/desktop-file.c:
   13573 	* bus/desktop-file.h:
   13574 	Add a desktop file parser.
   13575 
   13576 2003-02-11  Zack Rusin  <zack (a] kde.org>
   13577 
   13578 	* qt/message.[h|cpp]: sample implementation
   13579 	of the KDE wrapper for DBusMessage
   13580 
   13581 2003-02-09  Zack Rusin  <zack (a] kde.org>
   13582 
   13583 	* test/bus-test.c: make_it_compile
   13584 	* doc/dbus-specification.sgml: minimal semantic fix
   13585 
   13586 2003-02-06  Anders Carlsson  <andersca (a] codefactory.se>
   13587 
   13588 	Release 0.3
   13589 
   13590 	* NEWS: Update
   13591 
   13592 2003-02-06  Anders Carlsson  <andersca (a] codefactory.se>
   13593 
   13594 	* dbus/Makefile.am:
   13595 	* dbus/dbus-break-loader.c:
   13596 	* test/Makefile.am:
   13597 	* test/break-loader.c:
   13598 	Move dbus-break-loader to test/ and rename it to break-loader.
   13599 
   13600 2003-02-02  Havoc Pennington  <hp (a] pobox.com>
   13601 
   13602 	* dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files
   13603 	for code to manage cookies in your home directory
   13604 
   13605 	* dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
   13606 
   13607 	* dbus/dbus-auth.c (get_state): impose a maximum number of tries
   13608 	to authenticate, then disconnect the client.
   13609 
   13610 2003-02-03  Alexander Larsson  <alexl (a] redhat.com>
   13611 
   13612 	* dbus/dbus-message.c (dbus_message_append_fields):
   13613 	Correct docs.
   13614 
   13615 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13616 
   13617 	* doc/dbus-specification.sgml:
   13618 	Update address format section.
   13619 
   13620 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13621 
   13622 	* test/Makefile.am:
   13623 	* test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
   13624 	(message_handler), (new_connection_callback), (loop_quit),
   13625 	(loop_run), (main):
   13626 	Add bus test.
   13627 
   13628 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13629 
   13630 	* bus/driver.c: (bus_driver_handle_service_exists):
   13631 	Simplify the code a bit.
   13632 
   13633 	* dbus/dbus-bus.c: (dbus_bus_service_exists):
   13634 	Fix a silly.
   13635 
   13636 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13637 
   13638 	* bus/Makefile.am:
   13639 	Add libdbus-daemon.la and link to it.
   13640 
   13641 2003-02-01  James Willcox  <jwillcox (a] gnome.org>
   13642 
   13643 	* bus/driver.c: (bus_driver_handle_own_service):
   13644 	Actually include the service reply code in the message.
   13645 
   13646 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13647 
   13648 	* bus/driver.c: (bus_driver_handle_service_exists):
   13649 	Don't unref the incoming message.
   13650 
   13651 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13652 
   13653 	* dbus/dbus.h: Add dbus-address.h and dbus-bus.h
   13654 
   13655 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13656 
   13657 	* dbus/dbus-server.c: (dbus_server_listen):
   13658 	* dbus/dbus-transport.c: (_dbus_transport_open):
   13659 	ifdef out the calls to the debug transport and server.
   13660 
   13661 2003-02-02  Alexander Larsson  <alexl (a] redhat.com>
   13662 
   13663 	* dbus/dbus-watch.c (dbus_watch_get_flags):
   13664 	Add note in the docs that ERROR or HANGUP won't be returned
   13665 	and are assumed always on.
   13666 
   13667 	* glib/dbus-gmain.c (add_watch):
   13668 	Always add IO_ERR | IO_HUP
   13669 
   13670 	* dbus/dbus-message.h:
   13671 	Add semicolon after dbus_message_iter_get_string_array().
   13672 	Makes qt code build again
   13673 
   13674 2003-02-01  Anders Carlsson  <andersca (a] codefactory.se>
   13675 
   13676 	* bus/driver.c: (create_unique_client_name),
   13677 	(bus_driver_handle_hello):
   13678 	Don't take a name, just use a numeric id to identify
   13679 	each client.
   13680 
   13681 	* dbus/Makefile.am:
   13682 	* dbus/dbus-bus.c: (dbus_bus_register_client),
   13683 	(dbus_bus_acquire_service), (dbus_bus_service_exists):
   13684 	* dbus/dbus-bus.h:
   13685 	Add new convenience functions for communicating with the bus.
   13686 
   13687 	* dbus/dbus-message.h:
   13688 
   13689 	* dbus/dbus-protocol.h:
   13690 	Fix a typo.
   13691 
   13692 2003-02-01  Alexander Larsson  <alexl (a] redhat.com>
   13693 
   13694 	* dbus/dbus-message.c (dbus_message_append_fields):
   13695 	Add some more doc comments.
   13696 
   13697 2003-02-01  Havoc Pennington  <hp (a] pobox.com>
   13698 
   13699 	* dbus/dbus-break-loader.c (randomly_modify_length): change
   13700 	a 4-byte value in the message as if it were a length
   13701 
   13702 	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
   13703 	execute bit on saved files
   13704 
   13705 2003-02-01  Havoc Pennington  <hp (a] pobox.com>
   13706 
   13707 	* dbus/dbus-break-loader.c (main): new program to find messages
   13708 	that break the loader.
   13709 
   13710 	* dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
   13711 	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
   13712 
   13713 	* dbus/dbus-string.c (_dbus_string_set_byte): new
   13714 
   13715 2003-01-31  Havoc Pennington  <hp (a] pobox.com>
   13716 
   13717 	* dbus/dbus-message.c: refactor the test code to be more general,
   13718 	in preparation for writing a "randomly permute test cases to
   13719 	try to break the loader" program.
   13720 
   13721 2003-01-31  Havoc Pennington  <hp (a] pobox.com>
   13722 
   13723 	* doc/dbus-specification.sgml: work on the specification
   13724 
   13725 	* dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
   13726 	the protocol version of the message.
   13727 
   13728 	* dbus/dbus-protocol.h: drop special _REPLY names, the spec
   13729 	no longer specifies that.
   13730 	(DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
   13731 	1/2/3/4)
   13732 
   13733 	* dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
   13734 	"break" for DBUS_TYPE_NIL, remove @todo
   13735 
   13736 2003-01-31  Havoc Pennington  <hp (a] pobox.com>
   13737 
   13738 	* dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
   13739 	just set_is_error/get_is_error as this is a commonly-used
   13740 	function, and write docs.
   13741 
   13742 2003-01-31  Anders Carlsson  <andersca (a] codefactory.se>
   13743 
   13744 	* dbus/dbus-address.c: (dbus_address_entry_free):
   13745 	Free key and value lists.
   13746 
   13747 	* dbus/dbus-internals.c: (_dbus_type_to_string):
   13748 	Add the types we didn't have.
   13749 
   13750 	* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
   13751 	(_dbus_marshal_validate_arg):
   13752 	Add NIL types.
   13753 
   13754 	* dbus/dbus-message.c: (dbus_message_set_sender):
   13755 	Remove todo about being able to set sender to NULL.
   13756 
   13757 	(dbus_message_set_is_error_reply),
   13758 	(dbus_message_get_is_error_reply):
   13759 	* dbus/dbus-message.h:
   13760 	New functions.
   13761 
   13762 	* dbus/dbus-protocol.h:
   13763 	Add error reply flag.
   13764 
   13765 	* test/data/valid-messages/opposite-endian.message:
   13766 	Add NIL type to test.
   13767 
   13768 2003-01-31  Havoc Pennington  <hp (a] pobox.com>
   13769 
   13770 	* doc/dbus-specification.sgml: fully specify the header.  Add
   13771 	flags and major protocol version, and change header/body len to
   13772 	unsigned.
   13773 
   13774 	* dbus/dbus-message-builder.c (append_saved_length): append length
   13775 	as uint32
   13776 
   13777 	* dbus/dbus-message.c (dbus_message_create_header): change header
   13778 	length and body length to unsigned. Add the new fields from the
   13779 	spec
   13780 	(_dbus_message_loader_return_buffer): unsigned header/body len
   13781 
   13782 2003-01-30  Havoc Pennington  <hp (a] pobox.com>
   13783 
   13784 	* dbus/dbus-auth.c: rework to use only REJECTED, no
   13785 	MECHANISMS
   13786 
   13787 	* doc/dbus-sasl-profile.txt: drop MECHANISMS and just
   13788 	use REJECTED, suggested by Mark McLoughlin
   13789 
   13790 2003-01-30  Havoc Pennington  <hp (a] pobox.com>
   13791 
   13792 	* dbus/dbus-server.c (dbus_server_listen): @todo about how we need
   13793 	a better way to report errors here. e.g.  "unix address lacks
   13794 	path" or something. also "no such file" when the path doesn't
   13795 	exist, etc.
   13796 
   13797 	* dbus/dbus-address.c (dbus_address_entries_free): add @todo about
   13798 	leaking list nodes
   13799 	(dbus_parse_address): add @todo about documenting address format,
   13800 	and allowing , and ; to be escaped
   13801 
   13802 2003-01-30  Anders Carlsson  <andersca (a] codefactory.se>
   13803 
   13804 	* dbus/Makefile.am:
   13805 	Add dbus-address.[ch]
   13806 
   13807 	* dbus/dbus-address.c: (dbus_address_entry_free),
   13808 	(dbus_address_entries_free), (create_entry),
   13809 	(dbus_address_entry_get_method), (dbus_address_entry_get_value),
   13810 	(dbus_parse_address), (_dbus_address_test):
   13811 	* dbus/dbus-address.h:
   13812 	New files for dealing with address parsing.
   13813 
   13814 	* dbus/dbus-connection.c:
   13815 	Document timeout functions.
   13816 
   13817 	* dbus/dbus-message.c:
   13818 	Document dbus_message_new_from_message.
   13819 
   13820 	* dbus/dbus-server-debug.c:
   13821 	Document.
   13822 
   13823 	* dbus/dbus-server.c: (dbus_server_listen):
   13824 	Parse address and use correct server implementation.
   13825 
   13826 	* dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
   13827 	* dbus/dbus-string.h:
   13828 	New function with test.
   13829 
   13830 	* dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
   13831 	* dbus/dbus-test.h:
   13832 	Add address tests.
   13833 
   13834 	* dbus/dbus-transport-debug.c:
   13835 	Document.
   13836 
   13837 	* dbus/dbus-transport.c: (_dbus_transport_open):
   13838 	Parse address and use correct transport implementation.
   13839 
   13840 2003-01-30  Havoc Pennington  <hp (a] pobox.com>
   13841 
   13842 	* dbus/dbus-message.c: use message->byte_order instead of
   13843 	DBUS_COMPILER_BYTE_ORDER throughout.
   13844 	(dbus_message_create_header): pad header to align the
   13845 	start of the body of the message to 8-byte boundary
   13846 
   13847 	* dbus/dbus-marshal.h: make all the demarshalers take const
   13848 	DBusString arguments.
   13849 
   13850 	* dbus/dbus-message.c (_dbus_message_loader_return_buffer):
   13851 	validate message args here, so we don't have to do slow validation
   13852 	later, and so we catch bad messages as they are incoming. Also add
   13853 	better checks on header_len and body_len. Also fill in
   13854 	message->byte_order
   13855 
   13856 	* dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
   13857 	implemented properly)
   13858 	(_dbus_string_validate_nul): new function to check all-nul
   13859 
   13860 	* dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
   13861 	get_arg_end_pos and remove all validation
   13862 	(_dbus_marshal_validate_arg): actually do validation here.
   13863 
   13864 2003-01-29  Havoc Pennington  <hp (a] pobox.com>
   13865 
   13866 	* dbus/dbus-message.c (check_message_handling): fix assertion
   13867 	failure on set_client_serial
   13868 
   13869 2003-01-28  Havoc Pennington  <hp (a] pobox.com>
   13870 
   13871 	* dbus/dbus-server-debug.c: Add doc section comments
   13872 
   13873 	* dbus/dbus-transport-debug.c: add doc section comments
   13874 
   13875 2003-01-28  Havoc Pennington  <hp (a] redhat.com>
   13876 
   13877 	* dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
   13878 	the reverse order from how I had it
   13879 	(_dbus_string_base64_encode): reverse encoding order. I was
   13880 	basically byteswapping everything during encoding.
   13881 
   13882 2003-01-28  Anders Carlsson  <andersca (a] codefactory.se>
   13883 
   13884 	* dbus/dbus-connection-internal.h:
   13885 	* dbus/dbus-connection.c: (_dbus_connection_add_timeout),
   13886 	(_dbus_connection_remove_timeout):
   13887 	Add functions for adding and removing timeouts.
   13888 
   13889 	* dbus/dbus-message.c: (dbus_message_new_from_message):
   13890 	Add new function that takes a message and creates an exact
   13891 	copy of it, but with the refcount set to 1.
   13892 	(check_message_handling):
   13893 	Fix build error.
   13894 
   13895 	* dbus/dbus-server-protected.h:
   13896 	* dbus/dbus-server.c: (_dbus_server_init_base),
   13897 	(_dbus_server_finalize_base), (_dbus_server_add_timeout),
   13898 	(dbus_server_set_timeout_functions):
   13899 	(_dbus_server_remove_timeout):
   13900 	New functions so that a server can add and remove timeouts.
   13901 
   13902 	(dbus_server_listen):
   13903 	Add commented out call to dbus_server_debug_new.
   13904 
   13905 	* dbus/dbus-timeout.c: (_dbus_timeout_new):
   13906 	Actually set the handler, doh.
   13907 
   13908 	* dbus/dbus-transport.c: (_dbus_transport_open):
   13909 	Add commented out call to dbus_transport_debug_client_new.
   13910 
   13911 	* dbus/Makefile.am:
   13912 	Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
   13913 
   13914 2003-01-28  Havoc Pennington  <hp (a] pobox.com>
   13915 
   13916 	* dbus/dbus-message.c (check_message_handling): function to check
   13917 	on the loaded message, iterates over it etc.
   13918 
   13919 2003-01-28  Havoc Pennington  <hp (a] pobox.com>
   13920 
   13921 	* test/Makefile.am (dist-hook): fix make distdir
   13922 
   13923 	* dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
   13924 
   13925 2003-01-27  Havoc Pennington  <hp (a] pobox.com>
   13926 
   13927 	* dbus/dbus-mempool.c (time_for_size): replace printf with
   13928 	_dbus_verbose
   13929 
   13930 	* dbus/dbus-message-builder.c (_dbus_message_data_load): allow
   13931 	empty lines; fix the SAVE_LENGTH stuff to be
   13932 	START_LENGTH/END_LENGTH so it actually works; couple other
   13933 	bugfixes
   13934 
   13935 	* test/Makefile.am (dist-hook): add dist-hook for .message files
   13936 
   13937 	* dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
   13938 	can be constant or locked.
   13939 	(_dbus_string_free): allow freeing a const string as
   13940 	documented/intended
   13941 
   13942 	* dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
   13943 
   13944 	* dbus/dbus-test-main.c (main): take an argument which is the
   13945 	directory containing test data
   13946 
   13947 	* dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
   13948 	argument to this and load all the messages in test/data/
   13949 	checking that they can be loaded or not loaded as appropriate.
   13950 
   13951 2003-01-27  Anders Carlsson  <andersca (a] codefactory.se>
   13952 
   13953 	* bus/dispatch.c: (bus_dispatch_message_handler):
   13954 	Dispatch messages sent to services.
   13955 
   13956 	* bus/driver.c: (bus_driver_send_service_deleted),
   13957 	(bus_driver_send_service_created), (bus_driver_send_service_lost),
   13958 	(bus_driver_send_service_acquired):
   13959 	Add helper functions for sending service related messages.
   13960 
   13961 	(bus_driver_send_welcome_message):
   13962 	Send HELLO_REPLY instead of WELCOME.
   13963 
   13964 	(bus_driver_handle_list_services):
   13965 	Send LIST_SERVICES_REPLY instead of SERVICES.
   13966 
   13967 	(bus_driver_handle_own_service),
   13968 	(bus_driver_handle_service_exists):
   13969 	New message handlers.
   13970 
   13971 	(bus_driver_handle_message):
   13972 	Invoke new message handlers.
   13973 
   13974 	(bus_driver_remove_connection):
   13975 	Don't remove any services here since that's done automatically
   13976 	by bus_service_remove_owner now.
   13977 
   13978 	* bus/driver.h:
   13979 	New function signatures.
   13980 
   13981 	* bus/services.c: (bus_service_add_owner):
   13982 	Send ServiceAcquired message if we're the only primary owner.
   13983 
   13984 	(bus_service_remove_owner):
   13985 	Send ServiceAcquired/ServiceLost messages.
   13986 
   13987 	(bus_service_set_prohibit_replacement),
   13988 	(bus_service_get_prohibit_replacement):
   13989 	Functions for setting prohibit replacement.
   13990 
   13991 	(bus_service_has_owner):
   13992 	New function that checks if a connection is in the owner queue of
   13993 	a certain service.
   13994 
   13995 	* bus/services.h:
   13996 	Add new function signatures.
   13997 
   13998 	* dbus/dbus-list.c: (_dbus_list_test):
   13999 	Add tests for _dbus_list_remove_last and traversing the list backwards.
   14000 
   14001 	* dbus/dbus-list.h:
   14002 	Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
   14003 	go any further, so return NULL then.
   14004 
   14005 	* dbus/dbus-protocol.h:
   14006 	Add new messages, service flags and service replies.
   14007 
   14008 2003-01-26  Havoc Pennington  <hp (a] pobox.com>
   14009 
   14010 	* dbus/dbus-message-builder.c: implement, completely untested.
   14011 
   14012 	* test/data/*: add data to be used in testing.
   14013 	".message" files are our simple loadable text format.
   14014 	".message-raw" will be binary dumps of messages.
   14015 
   14016 	* dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
   14017 
   14018 2003-01-26  Havoc Pennington  <hp (a] pobox.com>
   14019 
   14020 	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
   14021 
   14022 	* dbus/dbus-errors.c (dbus_result_to_string): add
   14023 	file errors
   14024 
   14025 	* dbus/dbus-message-builder.c: new file, will contain code to load
   14026 	up messages from files. Not implemented yet.
   14027 
   14028 2003-01-26  Havoc Pennington  <hp (a] pobox.com>
   14029 
   14030 	* dbus/dbus-message.c (dbus_message_set_sender): support deleting
   14031 	the sender by setting to NULL
   14032 
   14033 2003-01-26  Havoc Pennington  <hp (a] pobox.com>
   14034 
   14035         The unit tests pass, but otherwise untested.  If it breaks, the
   14036 	tests should have been better. ;-)
   14037 
   14038 	* bus/driver.c (bus_driver_handle_hello): return if we disconnect
   14039 	the connection.
   14040 
   14041 	* dbus/dbus-message.c: redo everything so we maintain
   14042 	message->header as the only copy of the various fields.
   14043 	This avoids the possibility of out-of-memory in some cases,
   14044 	for example dbus_message_lock() can't run out of memory anymore,
   14045 	and avoids extra copying. Figured I may as well go ahead and do
   14046 	this since it was busted for dbus_message_lock to not return
   14047 	failure on OOM, and dbus_message_write_header was totally
   14048 	unchecked for OOM. Also fixed some random other bugs.
   14049 
   14050 	* dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
   14051 	that strings are nul-terminated. Also, end_pos can be equal
   14052 	to string length just not greater than, I think.
   14053 	(_dbus_marshal_set_int32): new function
   14054 	(_dbus_marshal_set_uint32): new function
   14055 	(_dbus_marshal_set_string): new function
   14056 
   14057 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
   14058 	a warning, init timeout_list to NULL
   14059 	(dbus_connection_send_message): don't use uninitialized variable
   14060 	"serial"
   14061 
   14062 	* dbus/dbus-string.c (_dbus_string_replace_len): new function
   14063 
   14064 2003-01-26  Anders Carlsson  <andersca (a] codefactory.se>
   14065 
   14066 	* bus/driver.c: (bus_driver_handle_hello),
   14067 	(bus_driver_send_welcome_message):
   14068 	Plug leaks
   14069 
   14070 2003-01-26  Anders Carlsson  <andersca (a] codefactory.se>
   14071 
   14072 	* dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
   14073 	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
   14074 	(dbus_connection_unref):
   14075 	* dbus/dbus-marshal.c: (_dbus_marshal_test):
   14076 	* dbus/dbus-message.c: (dbus_message_unref),
   14077 	Plug memory leaks.
   14078 
   14079 	(dbus_message_get_fields):
   14080 	Remove debugging printout.
   14081 
   14082 	(_dbus_message_loader_return_buffer):
   14083 	Don't store the header string.
   14084 
   14085 	(_dbus_message_test):
   14086 	Plug leaks.
   14087 
   14088 2003-01-26  Richard Hult  <rhult (a] codefactory.se>
   14089 
   14090 	* glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
   14091 	the file descriptor list, since it can change under us.
   14092 
   14093 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14094 
   14095 	* glib/dbus-gmain.c: (dbus_connection_prepare),
   14096 	(dbus_connection_check), (dbus_connection_dispatch), (add_watch),
   14097 	(remove_watch), (dbus_connection_hookup_with_g_main):
   14098 	Rewrite the glib handling to use its own GSource instead of a
   14099 	GIOChannel so we can catch messages put in the queue while waiting
   14100 	for a reply.
   14101 
   14102 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14103 
   14104 	* bus/Makefile.am:
   14105 	* bus/connection.c: (connection_disconnect_handler),
   14106 	(connection_watch_callback), (bus_connection_setup):
   14107 	* bus/dispatch.c: (send_one_message),
   14108 	(bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
   14109 	(bus_dispatch_add_connection), (bus_dispatch_remove_connection):
   14110 	* bus/dispatch.h:
   14111 	* bus/driver.c: (bus_driver_send_service_deleted),
   14112 	(bus_driver_send_service_created), (bus_driver_handle_hello),
   14113 	(bus_driver_send_welcome_message),
   14114 	(bus_driver_handle_list_services), (bus_driver_remove_connection),
   14115 	(bus_driver_handle_message):
   14116 	* bus/driver.h:
   14117 	Refactor code, put the message dispatching in its own file. Use
   14118 	_DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
   14119 	is disconnected.
   14120 
   14121 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14122 
   14123 	* dbus/dbus-internals.h:
   14124 	Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
   14125 
   14126 	* dbus/dbus-message.c: (dbus_message_get_sender):
   14127 	* dbus/dbus-message.h:
   14128 	Implement dbus_message_get_sender.
   14129 
   14130 	* dbus/dbus-protocol.h:
   14131 	Add message and service defines.
   14132 
   14133 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14134 
   14135 	* dbus/dbus-connection.c: (dbus_connection_send_message):
   14136 	* dbus/dbus-message-internal.h:
   14137 	* dbus/dbus-message.c: (_dbus_message_get_client_serial),
   14138 	(dbus_message_write_header):
   14139 	Remove _dbus_messag_unlock and don't set the client serial on a
   14140 	message if one already exists.
   14141 
   14142 2003-01-24  Havoc Pennington  <hp (a] pobox.com>
   14143 
   14144 	* dbus/dbus-list.c (alloc_link): put a thread lock on the global
   14145 	list_pool
   14146 
   14147 	* bus/driver.c (bus_driver_handle_list_services): fix a leak
   14148 	on OOM
   14149 
   14150 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14151 
   14152 	* dbus/dbus-list.c: (alloc_link), (free_link):
   14153 	Use a memory pool for the links.
   14154 
   14155 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14156 
   14157 	* bus/connection.c: (bus_connection_foreach):
   14158 	* bus/connection.h:
   14159 	Add new bus_connection_foreach function.
   14160 
   14161 	* bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
   14162 	Add function that broadcasts a message to all clients.
   14163 
   14164 	(bus_driver_send_service_created), (bus_driver_handle_hello),
   14165 	(bus_driver_send_welcome_message),
   14166 	(bus_driver_handle_list_services), (bus_driver_message_handler):
   14167 	Implement functions that take care of listing services, and notifying
   14168 	clients when new services are created.
   14169 
   14170 	* bus/services.c: (bus_services_list):
   14171 	* bus/services.h:
   14172 	Add new function that returns an array of strings with the currently
   14173 	registered services.
   14174 
   14175 	* glib/dbus-glib.h:
   14176 	* glib/dbus-gmain.c:
   14177 	Update copyright year.
   14178 
   14179 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14180 
   14181 	* dbus/dbus-connection.c: (dbus_connection_send_message):
   14182 	Unlock the message in case it was sent earlier.
   14183 
   14184 	(dbus_connection_send_message_with_reply_and_block):
   14185 	Remove the reply message from the list.
   14186 
   14187 	* dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
   14188 	Set array_len and new_pos correctly.
   14189 
   14190 	(_dbus_marshal_test):
   14191 	Remove debug output.
   14192 
   14193 	* dbus/dbus-message-internal.h:
   14194 	* dbus/dbus-message.c: (_dbus_message_get_reply_serial):
   14195 	New function that returns the reply serial.
   14196 
   14197 	(_dbus_message_unlock):
   14198 	New function that unlocks a message and resets its header.
   14199 
   14200 	(dbus_message_append_string_array),
   14201 	(dbus_message_get_fields_valist),
   14202 	(dbus_message_iter_get_field_type),
   14203 	(dbus_message_iter_get_string_array),
   14204 	(dbus_message_get_fields),
   14205 	(dbus_message_append_fields_valist):
   14206 	Handle string arrays.
   14207 
   14208 	(dbus_message_set_sender):
   14209 	Make this function public since the bus daemon needs it.
   14210 
   14211 	(decode_header_data):
   14212 	Set the reply serial to -1 initially.
   14213 
   14214 	* dbus/dbus-message.h:
   14215 	Add dbus_message_set_sender.
   14216 
   14217 2003-01-24  Havoc Pennington  <hp (a] pobox.com>
   14218 
   14219 	* doc/dbus-specification.sgml: add some stuff
   14220 
   14221 2003-01-22  Havoc Pennington  <hp (a] pobox.com>
   14222 
   14223 	* doc/dbus-specification.sgml: Start to document the protocol.
   14224 
   14225 2003-01-22  Havoc Pennington  <hp (a] pobox.com>
   14226 
   14227 	* dbus/dbus-connection.c
   14228 	(dbus_connection_send_message_with_reply_and_block): add some @todo
   14229 
   14230 	* bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
   14231 
   14232 2003-01-21  Havoc Pennington  <hp (a] pobox.com>
   14233 
   14234         (patch untested because can't compile)
   14235 
   14236 	* bus/driver.c (create_unique_client_name): make this function
   14237 	never recycle client names. Also, caller should initialize
   14238 	the DBusString.
   14239 
   14240 	* dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
   14241 
   14242 2003-01-21  Anders Carlsson  <andersca (a] codefactory.se>
   14243 
   14244 	* dbus/dbus-marshal.c: (_dbus_marshal_double),
   14245 	(_dbus_marshal_int32), (_dbus_marshal_uint32),
   14246 	(_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
   14247 	(_dbus_marshal_double_array), (_dbus_marshal_string_array),
   14248 	(_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
   14249 	(_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
   14250 	(_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
   14251 	* dbus/dbus-marshal.h:
   14252 	* dbus/dbus-protocol.h:
   14253 	Add support for marshalling and demarshalling integer, double
   14254 	and string arrays.
   14255 
   14256 2003-01-21  Anders Carlsson  <andersca (a] codefactory.se>
   14257 
   14258 	* bus/Makefile.am:
   14259 	Add driver.[ch]
   14260 
   14261 	* bus/connection.c: (connection_disconnect_handler):
   14262 	Remove the connection from the bus driver's list.
   14263 
   14264 	(connection_watch_callback): Dispatch messages.
   14265 
   14266 	(free_connection_data): Free connection name.
   14267 
   14268 	(bus_connection_setup): Add connection to the bus driver's list.
   14269 	(bus_connection_remove_owned_service):
   14270 	(bus_connection_set_name), (bus_connection_get_name):
   14271 	Add functions for setting and getting the connection's name.
   14272 
   14273 	* bus/connection.h:
   14274 	Add function headers.
   14275 
   14276 	* bus/driver.c: (create_unique_client_name),
   14277 	(bus_driver_handle_hello_message),
   14278 	(bus_driver_send_welcome_message), (bus_driver_message_handler),
   14279 	(bus_driver_add_connection), (bus_driver_remove_connection):
   14280 	* bus/driver.h:
   14281 	* bus/main.c:
   14282 	* bus/services.c: (bus_service_free):
   14283 	* bus/services.h:
   14284 	New file that handles communication and registreation with the bus
   14285 	itself.
   14286 
   14287 2003-01-21  Anders Carlsson  <andersca (a] codefactory.se>
   14288 
   14289 	* dbus/dbus-connection.c: (dbus_connection_send_message):
   14290 	Add a new client_serial parameter.
   14291 
   14292 	(dbus_connection_send_message_with_reply):
   14293 	Remove a @todo since we've implemented the blocking function.
   14294 
   14295 	(dbus_connection_send_message_with_reply_and_block):
   14296 	New function that sends a message and waits for a reply and
   14297 	then returns the reply.
   14298 
   14299 	* dbus/dbus-connection.h:
   14300 	Add new functions.
   14301 
   14302 	* dbus/dbus-errors.c: (dbus_result_to_string):
   14303 	* dbus/dbus-errors.h:
   14304 	Add new DBUS_RESULT.
   14305 
   14306 	* dbus/dbus-message-internal.h:
   14307 	* dbus/dbus-message.c: (_dbus_message_get_reply_serial),
   14308 	(_dbus_message_set_sender), (dbus_message_write_header),
   14309 	(dbus_message_new_reply), (decode_header_data),
   14310 	(_dbus_message_loader_return_buffer), (_dbus_message_test):
   14311 	* dbus/dbus-message.h:
   14312 	Add new functions that set the reply serial and sender.
   14313 	Also marshal and demarshal them correctly and add test.
   14314 
   14315 	* dbus/dbus-protocol.h:
   14316 	Add new DBUS_MESSAGE_TYPE_SENDER.
   14317 
   14318 	* glib/dbus-glib.h:
   14319 	* glib/dbus-gmain.c: (watch_callback), (free_callback_data),
   14320 	(add_watch), (remove_watch), (add_timeout), (remove_timeout),
   14321 	(dbus_connection_hookup_with_g_main):
   14322 	* glib/test-dbus-glib.c: (main):
   14323 	Rewrite to use GIOChannel and remove the GSource crack.
   14324 
   14325 	* test/echo-client.c: (main):
   14326 	* test/watch.c: (check_messages):
   14327 	Update for changed APIs
   14328 
   14329 2003-01-19  Anders Carlsson  <andersca (a] codefactory.se>
   14330 
   14331 	* dbus/Makefile.am: Add dbus-timeout.[c]
   14332 
   14333 	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
   14334 	Create a DBusTimeoutList.
   14335 	(dbus_connection_set_timeout_functions): Add new function to
   14336 	set timeout callbacks
   14337 
   14338 	* dbus/dbus-connection.h: Add public DBusTimeout API.
   14339 
   14340 	* dbus/dbus-message.c: (dbus_message_get_service):
   14341 	* dbus/dbus-message.h:	New function.
   14342 
   14343 	* dbus/dbus-server.c: Fix small doc typo.
   14344 
   14345 	* dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
   14346 
   14347 2003-01-19  Anders Carlsson  <andersca (a] codefactory.se>
   14348 
   14349 	* dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
   14350 	of the string, just as long as specified.
   14351 
   14352 2003-01-19  Havoc Pennington  <hp (a] pobox.com>
   14353 
   14354 	* dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
   14355 	new function
   14356 
   14357 	* dbus/dbus-server.c (dbus_server_set_max_connections)
   14358 	(dbus_server_get_max_connections, dbus_server_get_n_connections):
   14359 	keep track of current number of connections, and add API for
   14360 	setting a max (but haven't implemented enforcing the max yet)
   14361 
   14362 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14363 
   14364 	* dbus/dbus-transport-unix.c (unix_do_iteration): only do the
   14365 	reading/writing if read_watch != NULL or write_watch != NULL.
   14366 
   14367 	* dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
   14368 	the message loader code to actually load message->header and
   14369 	message->body into the newly-created message.
   14370 
   14371 	* dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
   14372 	in OOM case
   14373 
   14374 	* dbus/dbus-connection.c (dbus_connection_set_max_message_size)
   14375 	(dbus_connection_get_max_message_size)
   14376 	(dbus_connection_set_max_live_messages_size)
   14377 	(dbus_connection_get_max_live_messages_size): implement some
   14378 	resource limitation functions
   14379 
   14380 	* dbus/dbus-resources.c: new file implementing some of the
   14381 	resource limits stuff
   14382 
   14383 	* dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
   14384 	missing docs, add @todo to handle OOM etc.
   14385 
   14386 	* dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
   14387 	docs
   14388 
   14389 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14390 
   14391 	* dbus/dbus-connection.c (dbus_connection_unref): disconnect the
   14392 	connection if it hasn't been already.
   14393 
   14394 	* dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
   14395 	replace with DisconnectFunction.
   14396 
   14397 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14398 
   14399         Building --disable-verbose-mode --disable-asserts --disable-tests
   14400 	cuts the library from 112K to 45K or so
   14401 
   14402 	* configure.in: check for varargs macro support,
   14403 	add --enable-verbose-mode, --enable-asserts.
   14404 
   14405 	* dbus/dbus-internals.h (_dbus_assert): support
   14406 	DBUS_DISABLE_ASSERT
   14407 	(_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
   14408 
   14409 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14410 
   14411 	* dbus/dbus-test.c: include config.h so that tests actually run
   14412 
   14413 	* dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
   14414 	so the failure mode when that assumption fails will be plenty
   14415 	obvious.
   14416 
   14417 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14418 
   14419 	* configure.in: default --enable-tests to $USE_MAINTAINER_MODE
   14420 
   14421 	* dbus/Makefile.am: fix it up so dubs-test-main.c is included in
   14422 	the distribution
   14423 
   14424 	* test/Makefile.am: don't use special variable "TESTS" for echo-*
   14425 	since we don't want to use those in make check
   14426 
   14427 2003-01-15  Havoc Pennington  <hp (a] redhat.com>
   14428 
   14429         Release 0.2
   14430 
   14431 	* NEWS: update
   14432 
   14433 2003-01-15  Havoc Pennington  <hp (a] redhat.com>
   14434 
   14435 	* test/Makefile.am: fix so that test source code ends up in the
   14436 	distribution on make distcheck
   14437 
   14438 2003-01-15  Havoc Pennington  <hp (a] redhat.com>
   14439 
   14440         Release 0.1.
   14441 
   14442 	* NEWS: update
   14443 
   14444 2003-01-15  Havoc Pennington  <hp (a] redhat.com>
   14445 
   14446 	* dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
   14447 	fix build when --disable-tests
   14448 
   14449 	* Makefile.am (EXTRA_DIST): put HACKING in here
   14450 
   14451 	* HACKING: document procedure for making a tarball release.
   14452 
   14453 2003-01-14  Anders Carlsson  <andersca (a] codefactory.se>
   14454 
   14455 	* bus/connection.c: (connection_error_handler),
   14456 	(bus_connection_setup):
   14457 	* bus/main.c: (main):
   14458 	Make sure that the DBusConnectionData struct is NULLed
   14459 	out to prevent a segfault.
   14460 
   14461 	* dbus/dbus-errors.c: (dbus_result_to_string):
   14462 	* dbus/dbus-errors.h:
   14463 	* dbus/dbus-message.c: (dbus_message_get_fields),
   14464 	(dbus_message_get_fields_valist), (_dbus_message_test):
   14465 	* dbus/dbus-message.h:
   14466 	Make dbus_message_get_fields return a result code so we can
   14467 	track invalid fields as well as oom.
   14468 
   14469 2003-01-11  Havoc Pennington  <hp (a] pobox.com>
   14470 
   14471 	* configure.in: change --enable-test/--enable-ansi action-if-given
   14472 	to enable_foo=$enableval instead of enable_foo=yes
   14473 
   14474 2003-01-08  Havoc Pennington  <hp (a] pobox.com>
   14475 
   14476 	* dbus/dbus-string.c (_dbus_string_align_length): new function
   14477 
   14478 	* dbus/dbus-test-main.c: move main() for test app here
   14479 	* dbus/dbus-test.c
   14480 	(dbus_internal_symbol_do_not_use_run_tests): we have to export a
   14481 	symbol to run tests, because dbus-test isn't in the main
   14482 	library
   14483 
   14484         Code review nitpicks.
   14485 
   14486 	* dbus/dbus-message.c (dbus_message_write_header): add newlines
   14487 	for people with narrow emacs ;-). Assert client_serial was filled
   14488 	in. Assert message->name != NULL.
   14489 	(dbus_message_append_fields): have "first_field_type" arg separate
   14490 	from va list, needed for C++ binding that also uses varargs IIRC
   14491 	and helps with type safety
   14492 	(dbus_message_new): add @todo about using DBusString to store
   14493 	service/name internally
   14494 	(dbus_message_new): don't leak ->service and ->name on OOM later
   14495 	in the function
   14496 	(dbus_message_unref): free the service name
   14497 	(dbus_message_get_fields): same change to varargs
   14498 	i.e. first_field_type
   14499 	(_dbus_message_loader_return_buffer): assert that the message data
   14500 	is aligned (if not it's a bug in our code). Put in verbose griping
   14501 	about why we set corrupted = TRUE.
   14502 	(decode_header_data): add FIXME that char* is evil.  Was going to
   14503 	add FIXME about evil locale-specific string.h strncmp, but just
   14504 	switched to wacky string-as-uint32 optimization. Move check for
   14505 	"no room for field name" above get_const_data_len() to avoid
   14506 	assertion failure in get_const_data_len if we have trailing 2
   14507 	bytes or the like. Check for service and name fields being
   14508 	provided twice. Don't leak service/name on error. Require field
   14509 	names to be aligned to 4 bytes.
   14510 
   14511 	* dbus/dbus-marshal.c: move byte swap stuff to header
   14512 	(_dbus_pack_int32): uscore-prefix
   14513 	(_dbus_unpack_int32): uscore-prefix
   14514 	(_dbus_unpack_uint32): export
   14515 	(_dbus_demarshal_string): add @todo complaining about use of
   14516 	memcpy()
   14517 	(_dbus_marshal_get_field_end_pos): add @todo about bad error
   14518 	handling allowing corrupt data to go unchecked
   14519 
   14520 2003-01-08  Havoc Pennington  <hp (a] redhat.com>
   14521 
   14522 	* dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
   14523 	to the select() as needed for authentication. (should be using
   14524 	_dbus_poll() not select, but for another day)
   14525 
   14526 	* dbus/dbus.h: include dbus/dbus-protocol.h
   14527 
   14528 2003-01-08  Anders Carlsson  <andersca (a] codefactory.se>
   14529 
   14530 	* dbus/Makefile.am (dbusinclude_HEADERS): Install
   14531 	dbus-connection.h
   14532 
   14533 2003-01-08  Anders Carlsson  <andersca (a] codefactory.se>
   14534 
   14535 	* dbus/dbus-internals.c: (_dbus_type_to_string):
   14536 	New function that returns a string describing a type.
   14537 
   14538 	* dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
   14539 	* dbus/dbus-marshal.h:
   14540 	* dbus/dbus-message.c: (dbus_message_get_fields_valist),
   14541 	(dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
   14542 	(dbus_message_iter_get_byte_array):
   14543 	* dbus/dbus-message.h:
   14544 	Add new convenience functions for appending and getting message fields.
   14545 	Also add demarshalling routines for byte arrays.
   14546 
   14547 2003-01-07  Anders Carlsson  <andersca (a] codefactory.se>
   14548 
   14549 	* dbus/dbus-connection-internal.h:
   14550 	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
   14551 	(_dbus_connection_get_next_client_serial),
   14552 	(dbus_connection_send_message):
   14553 	* dbus/dbus-internals.h:
   14554 	* dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
   14555 	(dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
   14556 	(_dbus_marshal_uint32), (_dbus_demarshal_double),
   14557 	(_dbus_demarshal_int32), (_dbus_demarshal_uint32),
   14558 	(_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
   14559 	(_dbus_verbose_bytes), (_dbus_marshal_test):
   14560 	* dbus/dbus-marshal.h:
   14561 	* dbus/dbus-message-internal.h:
   14562 	* dbus/dbus-message.c: (_dbus_message_set_client_serial),
   14563 	(dbus_message_write_header), (_dbus_message_lock),
   14564 	(dbus_message_new), (dbus_message_ref), (dbus_message_unref),
   14565 	(dbus_message_get_name), (dbus_message_append_int32),
   14566 	(dbus_message_append_uint32), (dbus_message_append_double),
   14567 	(dbus_message_append_string), (dbus_message_append_byte_array),
   14568 	(dbus_message_get_fields_iter), (dbus_message_iter_ref),
   14569 	(dbus_message_iter_unref), (dbus_message_iter_has_next),
   14570 	(dbus_message_iter_next), (dbus_message_iter_get_field_type),
   14571 	(dbus_message_iter_get_string), (dbus_message_iter_get_int32),
   14572 	(dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
   14573 	(decode_header_data), (_dbus_message_loader_return_buffer),
   14574 	(message_iter_test), (_dbus_message_test):
   14575 	* dbus/dbus-message.h:
   14576 	* dbus/dbus-protocol.h:
   14577 	* dbus/dbus-test.c: (main):
   14578 	* dbus/dbus-test.h:
   14579 	* glib/test-dbus-glib.c: (message_handler), (main):
   14580 	* test/echo-client.c: (main):
   14581 	* test/watch.c: (check_messages):
   14582 	Make messages sendable and receivable for real.
   14583 
   14584 2003-01-07  Anders Carlsson  <andersca (a] codefactory.se>
   14585 
   14586 	* dbus/dbus-marshal.c: (_dbus_marshal_double),
   14587 	(_dbus_marshal_string), (_dbus_marshal_byte_array):
   14588 	* dbus/dbus-message.c: (dbus_message_append_int32),
   14589 	(dbus_message_append_uint32), (dbus_message_append_double),
   14590 	(dbus_message_append_string), (dbus_message_append_byte_array):
   14591 	Handle OOM restoration.
   14592 
   14593 2003-01-07  Anders Carlsson  <andersca (a] codefactory.se>
   14594 
   14595 	* dbus/dbus-marshal.c: (_dbus_marshal_string),
   14596 	(_dbus_demarshal_string), (_dbus_marshal_test):
   14597 	* dbus/dbus-marshal.h:
   14598 	* dbus/dbus-message.c: (dbus_message_get_name),
   14599 	Document these functions.
   14600 
   14601 	(dbus_message_append_int32), (dbus_message_append_uint32),
   14602 	(dbus_message_append_double), (dbus_message_append_string),
   14603 	(dbus_message_append_byte_array):
   14604 	* dbus/dbus-message.h:
   14605 	Add functions for adding message fields of different types.
   14606 
   14607 	* dbus/dbus-protocol.h:
   14608 	Add the different types.
   14609 
   14610 2003-01-05  Havoc Pennington  <hp (a] pobox.com>
   14611 
   14612 	* bus/connection.c: implement routines for handling connections,
   14613 	first thing is keeping a list of owned services on each connection
   14614 	and setting up watches etc.
   14615 
   14616 	* bus/services.c: implement a mapping from service names to lists
   14617 	of connections
   14618 
   14619 	* dbus/dbus-hash.c: add DBUS_HASH_POINTER
   14620 
   14621 	* dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
   14622 	to use static mutexes for global data
   14623 
   14624 	* dbus/dbus-connection.c (dbus_connection_set_data): add new
   14625 	collection of functions to set/get application-specific data
   14626 	on the DBusConnection.
   14627 
   14628 2003-01-04  Havoc Pennington  <hp (a] pobox.com>
   14629 
   14630 	* dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
   14631 	(_dbus_poll): new function
   14632 
   14633 	* dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
   14634 	copied from GLib
   14635 
   14636 	* bus/loop.c: initial code for the daemon main loop
   14637 
   14638 2003-01-04  Havoc Pennington  <hp (a] pobox.com>
   14639 
   14640 	* test/watch.c (error_handler): make it safe if the error handler
   14641 	is called multiple times (if we s/error handler/disconnect
   14642 	handler/ we should just guarantee it's called only once)
   14643 
   14644 	* dbus/dbus-transport.c (_dbus_transport_disconnect): call the
   14645 	error handler on disconnect (it's quite possible we should
   14646 	just change the error handler to a "disconnect handler," I'm
   14647 	not sure we have any other meaningful errors)
   14648 
   14649 	* configure.in: check for getpwnam_r
   14650 
   14651 	* dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
   14652 	dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
   14653 	mechanism as in SASL spec, using socket credentials
   14654 
   14655 	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
   14656 	(_dbus_send_credentials_unix_socket): new function
   14657 
   14658 	* dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
   14659 	dbus_accept()
   14660 	(_dbus_write): only check errno if <0 returned
   14661 	(_dbus_write_two): ditto
   14662 
   14663 2003-01-02  Anders Carlsson  <andersca (a] codefactory.se>
   14664 
   14665 	* dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
   14666 	(_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
   14667 	(_dbus_marshal_test):
   14668 	* dbus/dbus-marshal.h:
   14669 	Add _dbus_marshal_byte_array and rename _dbus_marshal_string
   14670 	to _dbus_marshal_utf8_string. Also fix some tests.
   14671 
   14672 2002-12-28  Harri Porten  <porten (a] kde.org>
   14673 
   14674 	* configure.in: added check for C++ compiler and a very cheesy
   14675 	check for the Qt integration
   14676 
   14677 	* Makefile.am (SUBDIRS): compile qt subdir if support is enabled
   14678 
   14679 	* qt/Makefile.am: added
   14680 
   14681 	* qt/.cvsignore: added
   14682 
   14683 	* qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
   14684 	latter, added #ifdef QT_THREAD_SUPPORT guard.
   14685 
   14686 	* dbus/Makefile.am: added missing headers for make dist
   14687 
   14688 2002-12-28  Kristian Rietveld  <kris (a] gtk.org>
   14689 
   14690 	* dbus/Makefile.am: fixup export-symbols-regex.
   14691 
   14692 2002-12-27  Anders Carlsson  <andersca (a] codefactory.se>
   14693 
   14694 	* acinclude.m4: Add this file and put the
   14695 	PKG_CHECK_MODULE macro in it.
   14696 
   14697 2002-12-27  Anders Carlsson  <andersca (a] codefactory.se>
   14698 
   14699 	* dbus/dbus-marshal.c: (_dbus_marshal_string),
   14700 	(_dbus_demarshal_double), (_dbus_demarshal_int32),
   14701 	(_dbus_demarshal_uint32), (_dbus_demarshal_string),
   14702 	(_dbus_marshal_test):
   14703 	Make the demarshalling routines align the pos argument.
   14704 	Add string marshalling tests and fix the obvious bugs
   14705 	discovered.
   14706 
   14707 2002-12-26  Havoc Pennington  <hp (a] pobox.com>
   14708 
   14709 	* dbus/dbus-auth.c: fixes fixes fixes
   14710 
   14711 	* dbus/dbus-transport-unix.c: wire up support for
   14712 	encoding/decoding data on the wire
   14713 
   14714 	* dbus/dbus-auth.c (_dbus_auth_encode_data)
   14715 	(_dbus_auth_decode_data): append to target string
   14716 	instead of nuking it.
   14717 
   14718 2002-12-26  Havoc Pennington  <hp (a] pobox.com>
   14719 
   14720 	* dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
   14721 	WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
   14722 	doh
   14723 
   14724 	* dbus/dbus-marshal.c: Add macros to do int swapping in-place and
   14725 	avoid swap_bytes() overhead (ignoring possible assembly stuff for
   14726 	now). Main point is because I wanted unpack_uint32 to implement
   14727 	_dbus_verbose_bytes
   14728 	(_dbus_verbose_bytes): new function
   14729 
   14730 	* dbus/dbus-string.c (_dbus_string_validate_ascii): new function
   14731 
   14732 	* dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
   14733 	mechanism to handle a corrupt message stream
   14734 	(_dbus_message_loader_new): fix preallocation to only prealloc,
   14735 	not prelengthen
   14736 
   14737 	* dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
   14738 	(_dbus_string_test): enhance tests for copy/move and fix the
   14739 	functions
   14740 
   14741 	* dbus/dbus-transport-unix.c: Hold references in more places to
   14742 	avoid reentrancy problems
   14743 
   14744 	* dbus/dbus-transport.c: ditto
   14745 
   14746 	* dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
   14747 	leak reference count in no-message case
   14748 
   14749 	* test/watch.c (do_mainloop): handle adding/removing watches
   14750 	during iteration over the watches. Also, ref the connection/server
   14751 	stored on a watch, so we don't try to mangle a destroyed one.
   14752 
   14753 	* dbus/dbus-transport-unix.c (do_authentication): perform
   14754 	authentication
   14755 
   14756 	* dbus/dbus-auth.c (get_state): add a state
   14757 	AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
   14758 	(_dbus_auth_get_unused_bytes): append the unused bytes
   14759 	to the passed in string, rather than prepend
   14760 
   14761 	* dbus/dbus-transport.c (_dbus_transport_init_base): create
   14762 	the auth conversation DBusAuth
   14763 
   14764 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
   14765 	(_dbus_transport_new_for_domain_socket): when creating a
   14766 	transport, pass in whether it's a client-side or server-side
   14767 	transport so we know which DBusAuth to create
   14768 
   14769 2002-12-03  Havoc Pennington  <hp (a] pobox.com>
   14770 
   14771 	* dbus/dbus-transport-unix.c (unix_finalize): finalize base
   14772 	_after_ finalizing the derived members
   14773 	(unix_connection_set): unref watch if we fail to add it
   14774 
   14775 	* dbus/dbus-connection.c (dbus_connection_unref): delete the
   14776 	transport first, so that the connection owned by the
   14777 	transport will be valid as the transport finalizes.
   14778 
   14779 	* dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
   14780 	if necessary, and remove watches from the connection.
   14781 
   14782 	* dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
   14783 
   14784 2002-12-26  Anders Carlsson  <andersca (a] codefactory.se>
   14785 
   14786 	* dbus/dbus-marshal.c: (_dbus_marshal_string),
   14787 	(_dbus_demarshal_double), (_dbus_demarshal_int32),
   14788 	(_dbus_demarshal_uint32), (_dbus_demarshal_string),
   14789 	(_dbus_marshal_test):
   14790 	* dbus/dbus-marshal.h:
   14791 	Add string marshal functions and have the demarshal functions
   14792 	return the new position.
   14793 
   14794 2002-12-25  Havoc Pennington  <hp (a] pobox.com>
   14795 
   14796 	* doc/dbus-sasl-profile.txt: docs on the authentication protocol,
   14797 	it is a simple protocol that just maps directly to SASL.
   14798 
   14799 	* dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
   14800 	initial implementation, not actually used yet.
   14801 
   14802 	* dbus/dbus-string.c (_dbus_string_find): new function
   14803 	(_dbus_string_equal): new function
   14804 	(_dbus_string_base64_encode): new function
   14805 	(_dbus_string_base64_decode): new function
   14806 
   14807 2002-12-25  Anders Carlsson  <andersca (a] codefactory.se>
   14808 
   14809 	* dbus/Makefile.am:
   14810 	* dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
   14811 	(_dbus_marshal_int32), (_dbus_marshal_uint32),
   14812 	(_dbus_demarshal_double), (_dbus_demarshal_int32),
   14813 	(_dbus_demarshal_uint32), (_dbus_marshal_test):
   14814 	* dbus/dbus-marshal.h:
   14815 	* dbus/dbus-protocol.h:
   14816 	* dbus/dbus-test.c: (main):
   14817 	* dbus/dbus-test.h:
   14818 	Add un-optimized marshalling/demarshalling routines.
   14819 
   14820 2002-12-25  Harri Porten  <porten (a] kde.org>
   14821 
   14822 	* qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
   14823 
   14824 2002-12-24  Zack Rusin  <zack (a] kde.org>
   14825 
   14826 	* qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
   14827 	* qt/dbus-qt.h: skeleton with two sample implemenatation of the
   14828 	main loop stuff
   14829 
   14830 2002-12-24  Havoc Pennington  <hp (a] pobox.com>
   14831 
   14832 	* glib/dbus-gthread.c: fix include
   14833 
   14834 	* glib/dbus-glib.h: rename DBusMessageHandler for now.
   14835 	I think glib API needs to change, though, as you don't
   14836 	want to use DBusMessageFunction, you want to use the
   14837 	DBusMessageHandler object. Probably
   14838 	dbus_connection_open_with_g_main_loop()
   14839 	and dbus_connection_setup_g_main_loop() or something like that
   14840 	(but think of better names...) that just create a connection
   14841 	that has watch/timeout functions etc. already set up.
   14842 
   14843 	* dbus/dbus-connection.c
   14844 	(dbus_connection_send_message_with_reply): new function just to
   14845 	show how the message handler helps us deal with replies.
   14846 
   14847 	* dbus/dbus-list.c (_dbus_list_remove_last): new function
   14848 
   14849 	* dbus/dbus-string.c (_dbus_string_test): free a string that
   14850 	wasn't
   14851 
   14852 	* dbus/dbus-hash.c: use memory pools for the hash entries
   14853 	(rebuild_table): be more paranoid about overflow, and
   14854 	shrink table when we can
   14855 	(_dbus_hash_test): reduce number of sprintfs and write
   14856 	valid C89. Add tests for case where we grow and then
   14857 	shrink the hash table.
   14858 
   14859 	* dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
   14860 
   14861 	* dbus/dbus-connection.c (dbus_connection_register_handler)
   14862 	(dbus_connection_unregister_handler): new functions
   14863 
   14864 	* dbus/dbus-message.c (dbus_message_get_name): new
   14865 
   14866 	* dbus/dbus-list.c: fix docs typo
   14867 
   14868 	* dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
   14869 	an object representing a handler for messages.
   14870 
   14871 2002-12-16  Anders Carlsson  <andersca (a] codefactory.se>
   14872 
   14873 	* glib/dbus-glib.h:
   14874 	* glib/dbus-gthread.c: (dbus_gthread_init):
   14875 	Don't use the gdbus prefix for public functions.
   14876 
   14877 2002-12-16  Anders Carlsson  <andersca (a] codefactory.se>
   14878 
   14879 	* Makefile.am:
   14880 	* configure.in:
   14881 	Add GLib checks and fixup .pc files
   14882 
   14883 	* glib/Makefile.am:
   14884 	* glib/dbus-glib.h:
   14885 	* glib/dbus-gmain.c: (gdbus_connection_prepare),
   14886 	(gdbus_connection_check), (gdbus_connection_dispatch),
   14887 	(gdbus_add_connection_watch), (gdbus_remove_connection_watch),
   14888 	(dbus_connection_gsource_new):
   14889 	* glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
   14890 	(dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
   14891 	* glib/test-dbus-glib.c: (message_handler), (main):
   14892 	Add GLib support.
   14893 
   14894 2002-12-15  Harri Porten  <porten (a] kde.org>
   14895 
   14896 	* autogen.sh: check for libtoolize before attempting to use it
   14897 
   14898 	* dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
   14899 	struct.
   14900 
   14901 	* .cvsignore: ignore more stamp files
   14902 
   14903 	* dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
   14904 
   14905 	* test/Makefile.am: added -I$(top_srcdir) to be able to compile
   14906 	without make install.
   14907 
   14908 2002-12-15  Havoc Pennington  <hp (a] pobox.com>
   14909 
   14910 	* dbus/dbus-threads.c: add thread stubs that a higher library
   14911 	layer can fill in. e.g. the GLib wrapper might fill them in with
   14912 	GThread stuff. We still need to use this thread API to
   14913 	thread-safe-ize the library.
   14914 
   14915 2002-12-12  Havoc Pennington  <hp (a] pobox.com>
   14916 
   14917 	* dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
   14918 	below new interfaces and include fewer system headers.
   14919 
   14920 	* dbus/dbus-sysdeps.c (_dbus_read): new function
   14921 	(_dbus_write): new function
   14922 	(_dbus_write_two): new function
   14923 	(_dbus_connect_unix_socket): new function
   14924 	(_dbus_listen_unix_socket): new function
   14925 
   14926 	* dbus/dbus-message-internal.h: change interfaces to use
   14927 	DBusString
   14928 
   14929 2002-12-11  Havoc Pennington  <hp (a] pobox.com>
   14930 
   14931 	* dbus/dbus-types.h: add dbus_unichar
   14932 
   14933 	* dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
   14934 
   14935 	* dbus/dbus-connection.c (dbus_connection_send_message): return
   14936 	TRUE on success
   14937 
   14938 	* dbus/dbus-transport.c: include dbus-watch.h
   14939 
   14940 	* dbus/dbus-connection.c: include dbus-message-internal.h
   14941 
   14942 	* HACKING: add file with coding guidelines stuff.
   14943 
   14944 	* dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
   14945 	handling here, for security purposes (as in vsftpd). Not actually
   14946 	using this class yet.
   14947 
   14948 	* dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
   14949 	system/libc usage here, as in vsftpd, for ease of auditing (and
   14950 	should also simplify portability). Haven't actually moved all the
   14951 	system/libc usage into here yet.
   14952 
   14953 2002-11-25  Havoc Pennington  <hp (a] pobox.com>
   14954 
   14955 	* dbus/dbus-internals.c (_dbus_verbose): fix to not
   14956 	always print the first verbose message.
   14957 
   14958 2002-11-24  Havoc Pennington  <hp (a] pobox.com>
   14959 
   14960         * test/echo-client.c, test/echo-server.c: cheesy test
   14961 	clients.
   14962 
   14963 	* configure.in (AC_CHECK_FUNCS): check for writev
   14964 
   14965 	* dbus/dbus-message.c (_dbus_message_get_network_data): new
   14966 	function
   14967 
   14968 	* dbus/dbus-list.c (_dbus_list_foreach): new function
   14969 
   14970 	* dbus/dbus-internals.c (_dbus_verbose): new function
   14971 
   14972 	* dbus/dbus-server.c, dbus/dbus-server.h: public object
   14973 	representing a server that listens for connections.
   14974 
   14975 	* dbus/.cvsignore: create
   14976 
   14977 	* dbus/dbus-errors.h, dbus/dbus-errors.c:
   14978 	public API for reporting errors
   14979 
   14980 	* dbus/dbus-connection.h, dbus/dbus-connection.c:
   14981 	public object representing a connection that
   14982 	sends/receives messages. (Same object used for
   14983 	both client and server.)
   14984 
   14985 	* dbus/dbus-transport.h, dbus/dbus-transport.c:
   14986 	Basic abstraction for different kinds of stream
   14987 	that we might read/write messages from.
   14988 
   14989 2002-11-23  Havoc Pennington  <hp (a] pobox.com>
   14990 
   14991 	* dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
   14992 	_DBUS_INT_MAX
   14993 
   14994 	* dbus/dbus-test.c (main): add list test, and include
   14995 	dbus-test.h as intended
   14996 
   14997 	* dbus/dbus-hash.c (_dbus_hash_table_remove_string)
   14998 	(_dbus_hash_table_remove_int): return value indicates
   14999 	whether the entry existed to remove
   15000 
   15001 	* dbus/dbus-list.c: add linked list utility class,
   15002 	with docs and tests
   15003 
   15004 	* dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
   15005 	array sometimes.
   15006 
   15007 2002-11-23  Havoc Pennington  <hp (a] pobox.com>
   15008 
   15009 	* Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
   15010 	DBUS_END_DECLS to nothing, that should fix this once and for all
   15011 
   15012 	* Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
   15013 
   15014 	* dbus/dbus-message.c, dbus/dbus-hash.c:
   15015 	add some missing @brief
   15016 
   15017 2002-11-23  Havoc Pennington  <hp (a] pobox.com>
   15018 
   15019 	* dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS
   15020 	to avoid confusing Doxygen
   15021 
   15022 	* dbus/dbus-hash.c: @} not }@
   15023 
   15024 	* dbus/dbus-message.c (struct DBusMessage): split out
   15025 	internals docs
   15026 
   15027 2002-11-23  Havoc Pennington  <hp (a] pobox.com>
   15028 
   15029 	* configure.in: pile on more warning flags if using gcc
   15030 
   15031 	* Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
   15032 	to document static functions
   15033 
   15034 	* configure.in: add summary to end of configure so it
   15035 	looks nice and attractive
   15036 
   15037 	* dbus/dbus-hash.c: finish implementation and write unit
   15038 	tests and docs
   15039 
   15040 	* configure.in: add --enable-tests to enable unit tests
   15041 
   15042 	* dbus/dbus-test.c: test program to run unit tests
   15043 	for all files in dbus/*, initially runs a test for
   15044 	dbus-hash.c
   15045 
   15046 	* dbus/dbus-internals.h: file to hold some internal utility stuff
   15047 
   15048 2002-11-22  Havoc Pennington  <hp (a] redhat.com>
   15049 
   15050 	* dbus/dbus-hash.c: copy in Tcl hash table, not yet
   15051 	"ported" away from Tcl
   15052 
   15053 	* dbus/dbus-types.h: header for types such as dbus_bool_t
   15054 
   15055 2002-11-22  Havoc Pennington  <hp (a] redhat.com>
   15056 
   15057 	* dbus/dbus.h: fixups for doc warnings
   15058 
   15059 	* Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up
   15060 	macros
   15061 	(QUIET): make it quiet so we can see warnings
   15062 
   15063 	* dbus/dbus-memory.c: teach D-BUS to allocate and free memory
   15064 
   15065 2002-11-22  Havoc Pennington  <hp (a] redhat.com>
   15066 
   15067 	* Makefile.am: include "Doxyfile" target in all-local
   15068 
   15069 	* configure.in: generate the Doxyfile
   15070 
   15071 	* Doxyfile.in: move Doxyfile here, so we can use
   15072 	configure to generate a Doxyfile with the right
   15073 	version number etc.
   15074 
   15075 2002-11-22  Havoc Pennington  <hp (a] redhat.com>
   15076 
   15077 	* dbus/dbus-message.c: move inline docs into .c file
   15078 
   15079 	* Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
   15080 	so all docs are under doc/
   15081 	(MAN_EXTENSION): generate man pages. Use extension
   15082 	".3dbus" which matches ".3qt" on my system,
   15083 	I guess this is OK, I don't know really.
   15084 	(FILE_PATTERNS): look for .c files not .h, makes sense
   15085 	for plain C I think
   15086 
   15087 2002-11-22  Havoc Pennington  <hp (a] pobox.com>
   15088 
   15089 	* Makefile.am (SUBDIRS): rename subdir "server" to "bus"
   15090 	because any app can be a server, and any app can be a client,
   15091 	the bus is a special kind of server.
   15092 
   15093 Thu Nov 21 23:35:31 2002  Zack Rusin  <zack (a] kde.org>
   15094 
   15095 	* Doxyfile : adding. Still needs Makefile rules to be generated
   15096 	automatically (just run "doxygen" in the toplevel dir for now to
   15097 	generate docs)
   15098 
   15099 	* dbus/dbus-message.h : Adding sample docs (javadoc since
   15100 	resembles gtk-doc a little more)
   15101 
   15102 	* dbus/dbus.h : Adding sample docs
   15103 
   15104 2002-11-21  Havoc Pennington  <hp (a] redhat.com>
   15105 
   15106 	* dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
   15107 	so we can allow ourselves to include files directly,
   15108 	instead of having to use dbus.h
   15109 
   15110 	* dbus/dbus.h: fill in
   15111 
   15112 	* dbus/dbus-message.h: sketch out a sample header file.
   15113 	Include griping if you include it directly instead of
   15114 	via dbus.h
   15115 
   15116 	* dbus/dbus-macros.h: new file with macros for extern "C",
   15117 	TRUE/FALSE, NULL, etc.
   15118 
   15119 	* doc/file-boilerplate.c: put include guards in here
   15120 
   15121 2002-11-21  Havoc Pennington  <hp (a] redhat.com>
   15122 
   15123 	* doc/file-boilerplate.c: include both AFL and GPL boilerplate.
   15124 
   15125 	* COPYING: include the GPL as well, and license code
   15126 	under both AFL and GPL.
   15127 
   15128 2002-11-21  Havoc Pennington  <hp (a] redhat.com>
   15129 
   15130 	* acconfig.h: get rid of this
   15131 
   15132 	* autogen.sh (run_configure): add --no-configure option
   15133 
   15134 	* configure.in: remove AC_ARG_PROGRAM to make
   15135 	autoconf complain less. add AC_PREREQ.
   15136 	add AC_DEFINE third arg.
   15137 
   15138 2002-11-21  Anders Carlsson  <andersca (a] codefactory.se>
   15139 
   15140 	* doc/Makefile.am:
   15141 	Fix references so we can distcheck.
   15142 
   15143 2002-11-21  Havoc Pennington  <hp (a] redhat.com>
   15144 
   15145 	* Initial module creation
   15146 
   15147