Home | History | Annotate | Download | only in dbus
      1 2006-12-12  John (J5) Palmieri  <johnp (a] redhat.com>
      2 
      3 	* Released 1.0.2
      4 
      5 2006-12-12  John (J5) Palmieri  <johnp (a] redhat.com>
      6 
      7 	* bus/signal.c: Fix match_rule_equal errata
      8 	(CVE-2006-6107 - Patch from Kimmo Hmlinen 
      9 	<kimmo.hamalainen (a] nokia.com>)
     10 
     11 2006-11-19  Thiago Macieira  <thiago (a] kde.org>
     12 
     13 	* dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock,
     14         _dbus_pthread_condvar_wait,
     15         _dbus_pthread_condvar_wait_timeout): set pmutex->holder to
     16         pthread_self() after coming back from a conditional variable
     17         wait as well as in one codepath where it was forgotten.
     18 	Approved by: Havoc Pennington.
     19 
     20 2006-11-17  Havoc Pennington  <hp (a] redhat.com>
     21 
     22 	* update-dbus-docs.sh: allow setting fd.org username via env
     23 	variable. Make it run autogen with --enable-xml-docs=yes
     24 	--enable-doxygen-docs=yes so configure will fail if the required
     25 	tools are missing.
     26 
     27 2006-11-17  Havoc Pennington  <hp (a] redhat.com>
     28 
     29 	* doc/dbus-faq.xml: minor FAQ tweaks
     30 
     31 2006-11-17  John (J5) Palmieri  <johnp (a] redhat.com>
     32 
     33 	* Released 1.0.1
     34 
     35 2006-11-14  Havoc Pennington  <hp (a] redhat.com>
     36 	
     37 	* dbus/dbus-misc.c, dbus/dbus-misc.h: Move
     38 	dbus_get_local_machine_id() to its own file, no substantive
     39 	changes. There are a couple other things we might want to add that
     40 	are "misc" so moving out of dbus-connection.[hc] which is big
     41 	enough already.
     42 	
     43 2006-11-14  Havoc Pennington  <hp (a] redhat.com>
     44 
     45 	* dbus/dbus-internals.c (_dbus_generate_uuid): The spec said the
     46 	UUID had the timestamp last, but the implementation had it first;
     47 	move it to last since I think it's a tiny bit nicer (easier to
     48 	compare at a glance, faster to sort, less code), and will not
     49 	cause any practical compatibility problems. Also, always convert
     50 	the timestamp to big endian.
     51 
     52 	* doc/dbus-specification.xml: Clean up the docs on the UUID.
     53 
     54 	* tools/dbus-uuidgen.1: more prominently say it is not suitable
     55 	as a replacement for regular uuidgen/RFC4122.
     56 
     57 2006-11-14  John (J5) Palmieri  <johnp (a] redhat.com>
     58 
     59 	* configure.in: Bump version to 1.0.1 for next stable release
     60 
     61 	* dbus/dbus-threads.h: fix DBUS_THREAD_FUNCTIONS_ALL_MASK to have
     62 	the correct value so we don't assert when initalizing recursive threads
     63 
     64 	* test/name-test/test-thread-init.c: call dbus_threads_init_default
     65 	instead of _dbus_threads_init_debug since it is more of a real world
     66 	test
     67 
     68 2006-11-09  John (J5) Palmieri  <johnp (a] redhat.com>
     69 
     70 	* Released 1.0.0
     71 
     72 2006-11-09  John (J5) Palmieri  <johnp (a] redhat.com>
     73 
     74 	* AUTHORS: added Peter and Tor of windows porting fame
     75 
     76 2006-11-08  Havoc Pennington  <hp (a] redhat.com>
     77 
     78 	* doc/dbus-specification.xml: add a note about protocol stability
     79 
     80 	* doc/TODO: Remove "important for 1.0" section, replace with
     81 	"important for 1.2" section
     82 	
     83 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
     84 
     85 	* README: remove some of the out of date flags
     86 
     87 	* doc/TODO: Remove todo items which are done
     88 
     89 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
     90 
     91 	* tools/dbus-monitor.c: Handle sigint so we flush stdout
     92 	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
     93 
     94 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
     95 
     96 	* tools/dbus-monitor.1: update the manpage for dbus-monitor
     97 	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
     98 
     99 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
    100 
    101 	* AUTHORS: Update with all people listed in the ChangeLog
    102 
    103 2006-11-08  John (J5) Palmieri  <johnp (a] redhat.com>
    104 
    105 	* tools/dbus-monitor.c: add profiling tools to dbus-monitor
    106 	(Patch from Olli Salli <olli dot salli at collabora dot co dot uk>)
    107 
    108 2006-11-07  Havoc Pennington  <hp (a] redhat.com>
    109 
    110 	* HACKING: Update release instructions to include stuff about
    111 	stable releases, branching, etc. May not be totally correct,
    112 	please fix if needed, but keep instructions up-to-date so we do
    113 	each stable release consistently in the future.
    114 
    115 2006-11-07  Havoc Pennington  <hp (a] redhat.com>
    116 
    117 	* doc/dbus-specification.xml, doc/dbus-faq.xml, README: various
    118 	documentation updates. Bump faq/spec versions (not to 1.0; I don't
    119 	think the spec will be "finished"/1.0 when we ship the 1.0 library).
    120 
    121 2006-11-06  John (J5) Palmieri  <johnp (a] redhat.com>
    122 
    123 	* bus/bus.c: Missed patch - pass in the context to the directory watch
    124 
    125 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
    126 
    127 	* Released D-Bus 1.0 RC 3(0.95)
    128 
    129 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
    130 
    131 	* bus/activation.c (bus_activation_new): don't fail if we can not read
    132 	the directory as it may not exist
    133 
    134 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
    135 
    136 	* bus/config-parser.c (service_dirs_find_dir): use 
    137 	_dbus_list_get_next_link so we don't get stuck in an infinite loop
    138 	(start_busconfig_child): move processing of standard_session_servicedirs
    139 	tags here because they have no content
    140 	(bus_config_parser_content): check we don't have content in 
    141 	standard_session_servicedirs tag
    142 
    143 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
    144 
    145 	* tools/Makefile.am: Make sure the /var/lib/dbus directory is created
    146 	Packagers need to own this directory
    147 
    148 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
    149 
    150 	* tools/run-with-tmp-session-bus.sh: fixed script to replace the 
    151 	<standard_session_servicedirs> tag with a <sevicedir> tag that
    152 	points to the test service directory
    153 
    154 2006-11-02  John (J5) Palmieri  <johnp (a] redhat.com>
    155 
    156 	* configure.in: Add a check for DIR *dirp->dd_fd
    157 
    158 	* dbus/dbus-sysdeps-util-unix: if HAVE_DDFD is defined use 
    159 	DIR *dirp->dd_fd else use DIR *dirp->__dd_fd.  This takes care
    160 	of both Solaris and Irix
    161 
    162 2006-11-01  Havoc Pennington  <hp (a] redhat.com>
    163 
    164 	* bus/dbus-daemon.1.in: document standard_session_servicedirs
    165 
    166 2006-11-01  John (J5) Palmieri  <johnp (a] redhat.com>
    167 
    168 	* configure.in: expose DBUS_DATADIR
    169 	
    170 	* bus/config-parser.c: add the standard_session_servicedirs element
    171 	to the parser
    172 	(bus_config_parser_content): process the standard_session_servicedirs
    173 	element by getting the standard directories from sysdeps and merging
    174 	them into the service directory list
    175 	(test_default_session_servicedirs): make sure we get what we expect
    176 
    177 	* bus/session.conf.in: replace the servicedir tag with the 
    178 	standard_session_servicedirs tag
    179 
    180 	* dbus/dbus-list.h: remove the typedef of DBusList and place it in
    181 	dbus-sysdeps.h to avoid circular header dependencies
    182 
    183 	* dbus/dbus-sysdeps.h: add the typedef of DBusList
    184 
    185 	* dbus/dbus-sysdeps-unix.c (split_paths_and_append): utility function
    186 	which takes a string of directories delimited by colons, parses them 
    187 	out, appends a suffix and puts them in a list ignoring empty elements
    188 	(_dbus_get_standard_session_servicedirs): returns the standard 
    189 	directories for a session bus to look for service activation files
    190 	on Unix which includes the XDG_DATA_HOME, XDG_DATA_DIRS and 
    191 	DBUS_DATADIR directories
    192 
    193 	* test/data/valid-config-files/many-rules.conf: add the 
    194 	standard_session_servicedirs tag to the valid config file tests
    195 
    196 2006-10-30  Havoc Pennington  <hp (a] redhat.com>
    197 
    198 	* tools/dbus-launch.1, doc/TODO: capture intent to change the
    199 	command line options of dbus-launch a bit post 1.0
    200 
    201 2006-10-27  Havoc Pennington  <hp (a] redhat.com>
    202 	
    203 	* dbus/dbus-connection.c (dbus_connection_open_private): document
    204 	how to choose shared vs. private connections
    205 
    206 2006-10-27  Havoc Pennington  <hp (a] redhat.com>
    207 
    208 	* dbus/dbus-test.c: enclose more of the file in the
    209 	DBUS_BUILD_TESTS check.
    210 
    211 	* dbus/dbus-sysdeps-pthread.c (PTHREAD_CHECK): fix for
    212 	DBUS_DISABLE_ASSERT case.
    213 
    214 	* dbus/dbus-connection.c (dbus_connection_get_unix_user): document
    215 	that it only works on the server side
    216 
    217 	* dbus/dbus-bus.c: add a global lock covering the BusData we
    218 	attach to each connection
    219 	(internal_bus_get): lock our access to the BusData
    220 	(dbus_bus_register): lock the entire registration process
    221 	with _DBUS_LOCK(bus_datas). If we get the lock and 
    222 	registration is already complete, silently return (vs. previous
    223 	behavior of aborting).
    224 	(dbus_bus_set_unique_name): lock the BusData
    225 	(dbus_bus_get_unique_name): lock the BusData
    226 
    227 2006-10-27  John (J5) Palmieri  <johnp (a] redhat.com>
    228 
    229 	* bus/config-parser.c (service_dirs_find_dir, 
    230 	service_dirs_append_unique_or_free, 
    231 	service_dirs_append_link_unique_or_free): New static methods
    232 	for only appending unique service directory names into
    233 	the service directory list
    234 	(merge_included, bus_config_parser_content): Only add unique
    235 	service directory names into the list
    236 
    237 2006-10-27  Havoc Pennington  <hp (a] redhat.com>
    238 
    239 	* dbus/dbus-sysdeps-pthread.c: make the "count" and "holder"
    240 	variables volatile, suggested by Thiago. Document struct fields.
    241 	(PTHREAD_CHECK): remove pthread error checking if assertions are
    242 	disabled, should reduce the no-assertions case to the bare
    243 	minimum code.
    244 
    245 2006-10-26  Havoc Pennington  <hp (a] redhat.com>
    246 	
    247 	* dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock): change
    248 	to be recursive
    249 	(_dbus_pthread_mutex_unlock): make it recursive
    250 	(_dbus_pthread_condvar_wait): save/restore the recursion count
    251 	(_dbus_pthread_condvar_wait_timeout): save/restore the recursion count
    252 
    253 2006-10-26  Havoc Pennington  <hp (a] redhat.com>
    254 
    255 	* doc/dbus-specification.xml: clarify the UUID text slightly
    256 
    257 	* dbus/dbus-sysdeps-pthread.c: check for and mostly abort on
    258 	pthread errors. Add DBusMutexPThread and DBusCondVarPThread 
    259 	in preparation for being able to extend them for e.g. recursive
    260 	mutexes.
    261 
    262 2006-10-26  Havoc Pennington  <hp (a] redhat.com>
    263 
    264         * dbus/dbus-threads.[hc]: Documentation improvements. Clarify how 
    265 	condition variables relate to recursive mutexes.
    266 	
    267         * dbus/dbus-sysdeps-pthread.c, dbus/dbus-sysdeps-win-thread.c, 
    268 	dbus/dbus-threads.c: Split the platforms-specific thread 
    269 	implementations into their own files.
    270 	
    271 	* dbus/dbus-sysdeps-pthread.c
    272 	(_dbus_pthread_condvar_wait_timeout): invert the return value, it
    273 	was backward. Not that anything uses it.
    274 
    275 2006-10-26  John (J5) Palmieri  <johnp (a] redhat.com>
    276 
    277 	* dbus-sysdeps-unix.c (_dbus_set_local_creds): Clean up the
    278 	LOCAL_CREDS vs CMSGCRED stuff a bit.  Prefer CMSGCRED.  This
    279 	needs to be cleaned up more.
    280 
    281 	* doc/TODO: Add a todo that *BSD hackers should look at cleaning
    282 	up the CREDS issue.
    283 
    284 2006-10-26  John (J5) Palmieri  <johnp (a] redhat.com>
    285 
    286 	* configure.in, dbus-1.pc.in: Check to see if thread methods 
    287 	are in glibc or libpthread and add -lpthread to the link stage 
    288 	if it is the latter
    289 
    290 2006-10-26  Thiago Macieira  <thiago (a] kde.org>
    291 
    292 	* dbus/dbus-connection.c (_dbus_connection_open_internal): Fix
    293         bug 8780: the connection lock is only required while recording
    294         the shared connection, so protect only that code
    295         section. Don't require connection_lookup_shared to return a
    296         locked connection.
    297 
    298 2006-10-26  Thiago Macieira  <thiago (a] kde.org>
    299 
    300 	* tools/dbus-launch-x11.c (get_session_file, init_x_atoms):
    301         check if get_machine_uuid() returns NULL before proceeding any
    302         further: we can't init the X atoms or create a session file
    303         name if there is no machine ID.
    304 	This solves a crash reported by some users if
    305         --exit-with-session was used without --autolaunch=<machine-id>
    306 
    307 2006-10-26  John (J5) Palmieri  <johnp (a] redhat.com>
    308 
    309 	* tools/dbus-launch.c (main): run the dbus-daemon in the builddir
    310 	if tests are enabled and the DBUS_USE_TEST_BINARY env variable is set
    311 
    312 	* tools/run-with-tmp-session-bus.sh: set DBUS_USE_TEST_BINARY
    313 	before we run dbus-launch
    314 
    315 	* configure.in: define TEST_BUS_BINARY to be the full path to 
    316 	dbus-daemon in the build root 
    317 
    318 2006-10-25  Sjoerd Simons  <sjoerd (a] luon.net>
    319 
    320 	* dbus/Makefile.am:
    321 	* tools/Makefile.am:
    322 	* toos/dbus-uuidgen.1:
    323 		Move the machine-id file to /var/lib/dbus 
    324 
    325 2006-10-24  David Zeuthen  <davidz (a] redhat.com>
    326 
    327 	* dbus/dbus-threads.c (init_uninitialized_locks): Fix typo so it's
    328 	_dbus_assert (thread_init_generation != _dbus_current_generation)
    329 	not _dbus_assert (thread_init_generation == _dbus_current_generation)
    330 
    331 2006-10-24  Thiago Macieira  <thiago (a] kde.org>
    332 
    333 	* dbus/dbus-sysdeps.h:
    334 	* dbus/dbus-sysdeps-unix.c: Add function
    335 	_dbus_make_file_world_readable that chmods a file to 0644.
    336 
    337 	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address):
    338         Avoid writing to the static "argv" array, thereby avoiding a
    339         COW on the child process.
    340 
    341 	* dbus/dbus-internals.c (_dbus_create_uuid_file_exclusively):
    342         call _dbus_make_file_world_readable on the created file.
    343 
    344 2006-10-23  David Zeuthen  <davidz (a] redhat.com>
    345 
    346 	* dbus/dbus-memory.c: Use atomic variable to protect
    347 	n_blocks_outstanding otherwise OOM will be reported using SMP on
    348 	some arches
    349 	
    350 	* bus/dispatch.c: Add missing end of line characters
    351 
    352 	* bus/desktop-file.c (parse_section_start, parse_key_value) 
    353 	(bus_desktop_file_load): Propertly handle OOM
    354 
    355 	* dbus/dbus-threads.c (init_uninitialized_locks): Check that
    356 	thread_init_generation equals _dbus_current_generation, not 0
    357 
    358 2006-10-22  Havoc Pennington  <hp (a] redhat.com>
    359 
    360 	* dbus/dbus-connection-internal.h: move prototype of
    361 	_dbus_bus_notify_shared_connection_disconnected_unlocked() here so
    362 	it isn't in a public header and doesn't end up in the DBusBus
    363 	group in Doxygen
    364 
    365 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    366 
    367 	* Makefile.am (EXTRA_DIST): dist cleanup-man-pages.sh so it's in
    368 	the tarball if packagers want to run it
    369 
    370 	* cleanup-man-pages.sh: Add a script which munges all the internal
    371 	API man pages out of the Doxygen output. This reduces the size of
    372 	the installed man pages from 7 to 2 megs, and avoids
    373 	namespace-polluting pages. Right now (like Doxygen) this script
    374 	isn't in the build, it's something packagers can do manually.
    375 
    376 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    377 
    378 	* dbus/dbus-connection.h: don't include the watch/timeout
    379 	functions in connection section
    380 
    381 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    382 
    383 	* Documentation! Whee! Doxygen now 100% silent. If you make it
    384 	angry again, you will be punished.
    385 	
    386 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    387 
    388 	* More documentation - all public API now documented according to
    389 	Doxygen
    390 
    391 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    392 
    393 	* Document a bunch of undocumented stuff
    394 	
    395 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    396 
    397 	* Clean up Doxygen group markers for public API so Doxygen finds
    398 	everything (not comprehensively fixed for private API).
    399 	Means all remaining Doxygen warnings are just about missing docs
    400 	and thus pretty simple to resolve.
    401 	
    402 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    403 	
    404 	* dbus/dbus-macros.h: add DBUS_GNUC_DEPRECATED macro
    405 
    406 	* dbus/dbus-message.h: mark dbus_message_iter_get_array_len() 
    407 	as DBUS_GNUC_DEPRECATED
    408 
    409 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    410 
    411         * Move all private API into the private Doxygen group sections of
    412 	the files, so they don't show up in the public API docs
    413 	
    414 2006-10-21  Havoc Pennington  <hp (a] redhat.com>
    415 
    416 	* dbus/dbus-message.h: put #ifndef DBUS_DISABLE_DEPRECATED around 
    417 	dbus_message_iter_get_array_len().
    418 
    419 	* throughout: documentation improvements.
    420 
    421 2006-10-20  Havoc Pennington  <hp (a] redhat.com>
    422 
    423 	* doc/TODO: remove the int64 thing from 1.0 since it doesn't
    424 	matter, and the message-loader-breaker thing since nobody is going
    425 	to do it.  Add an item to 1.0 about supporting recursive locks
    426 	in dbus_threads_init_default() though, since it should be easy.
    427 
    428 	* dbus/dbus-connection.c (_dbus_connection_read_write_dispatch):
    429 	Fix this in the !dispatch case to avoid busy-looping after
    430 	disconnection
    431 
    432         * More misc docs improvements
    433 
    434 2006-10-19  Havoc Pennington  <hp (a] redhat.com>
    435 
    436 	* more Doxygen-related fixes (lots of moving things from the
    437 	public to internal section in dbus-connection.c)
    438 
    439 2006-10-19  Havoc Pennington  <hp (a] redhat.com>
    440 
    441 	* Fix a pile of Doxygen warnings and missing docs
    442 
    443 2006-10-19  John (J5) Palmieri  <johnp (a] redhat.com>
    444 
    445 	* bus/dir-watch-default.c, bus/dir-watch-dnotify.c, 
    446 	bus/dir-watch-kqueue.c (bus_watch_directory): Pass in a BusContext 
    447 	instead of a void *.  kqueue uses this to get the context's loop
    448 	while the other modules ignore the parameter.  This allows us to
    449 	avoid platform conditionals
    450 
    451 	* bus/bus.c (process_config_postinit): Pass in the context to the 
    452 	watch
    453 
    454 2006-10-19  John (J5) Palmieri  <johnp (a] redhat.com>
    455 
    456 	* bus/messagebus.in, bus/rc.messagebus.in: run dbus-uuidgen --ensure
    457 	when starting the system bus
    458 
    459 2006-10-18  John (J5) Palmieri  <johnp (a] redhat.com>
    460 
    461 	* configure.in: More fixups for cross compile (Patch from 
    462 	Marco Pracucci <development at pracucci dot com>)
    463 
    464 2006-10-17  Havoc Pennington  <hp (a] redhat.com>
    465 
    466 	* tools/dbus-send.c (main): don't close shared connection, fix
    467 	from Timo Hoenig
    468 
    469 2006-10-17  Havoc Pennington  <hp (a] redhat.com>
    470 
    471 	* configure.in (CPPFLAGS): don't do -DDBUS_API_SUBJECT_TO_CHANGE here
    472 
    473 	* dbus/dbus.h: drop the DBUS_API_SUBJECT_TO_CHANGE requirement,
    474 	since realistically it doesn't look like we'll be changing it
    475 	anymore.
    476 
    477 2006-10-17  Havoc Pennington  <hp (a] redhat.com>
    478 
    479 	* dbus/dbus-internals.c (_dbus_warn_check_failed): new function to
    480 	be used for return_if_fail type warnings; prefixes the pid, and
    481 	fatal by default.
    482 
    483 2006-10-14  John (J5) Palmieri  <johnp (a] redhat.com>
    484 
    485 	* configure.in: Released 1.0 RC 2(0.94)
    486 	Add check for -fPIC and enable it if available
    487 
    488 2006-10-14  John (J5) Palmieri  <johnp (a] redhat.com>
    489 
    490 	* doc/TODO: Remove the check TODO item
    491 
    492 2006-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
    493 
    494 	* dbus-transport-socket.c (exchange_credentials):
    495 	Print out more detailed errors if reading or sending
    496 	credentials fail (Patch from Julio M. Merino Vidal 
    497 	<jmmv at NetBSD dot org>)
    498 
    499 2006-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
    500 
    501 	* configure.in: when checking for posix getpwnam_r assume true
    502 	for cross compiles
    503 
    504 2006-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
    505 
    506 	* configure.in: Check for gethostbyname first before we check for it
    507 	in libnsl.  On gnu systems it is implemeneted 
    508 
    509 2006-10-13  Havoc Pennington  <hp (a] redhat.com>
    510 
    511 	* dbus/dbus-connection.c
    512 	(dbus_connection_send_with_reply_and_block): fix to handle closed
    513 	connections, from Tambet Ingo bug #8631
    514 
    515 2006-10-11  John (J5) Palmieri  <johnp (a] redhat.com>
    516 
    517 	* configure.in: use AC_TRY_COMPILE for dirfd instead of AC_TRY_RUN
    518 
    519 2006-10-11  John (J5) Palmieri  <johnp (a] redhat.com>
    520 
    521 	* test/name-test/Makefile.am: don't link against both libdbus and
    522 	libdbus-convenience
    523 
    524 2006-10-11  John (J5) Palmieri  <johnp (a] redhat.com>
    525 
    526 	* configure.in: check for dirfd even if it is a macro
    527 	(Patch from Timothy Redaelli <drizzt at gufi dot org>)
    528 
    529 2006-10-08  John (J5) Palmieri  <johnp (a] redhat.com>
    530 
    531 	* configure.in: define _POSIX_PTHREAD_SEMANTICS on solaris
    532 	avoid using dirfd on systems that don't have dirfd 
    533 	(Patch by Brian Cameron <brian dot cameron at sun dot com>) 
    534 
    535 2006-10-02  John (J5) Palmieir  <johnp (a] redhat.com>
    536 
    537 	* dbus/dbus-sysdeps.c (_dbus_abort): Remove from 
    538 	#ifndef DBUS_DISABLE_ASSERTS macro to fix distcheck
    539 
    540 	* dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): Remove from
    541 	#if !defined (DBUS_DISABLE_ASSERT) || defined(DBUS_BUILD_TESTS)
    542 	macro because _dbus_abort calls it
    543 
    544 	* tools/Makefile.am: Add dbus-launch.h to the source list so distcheck
    545 	works
    546 
    547 2006-10-02  John (J5) Palmieir  <johnp (a] redhat.com>
    548 
    549 	* dbus/dbus-sysdeps-util-unix.c (dirent_buf_size): Add check for
    550 	MAXNAMELEN for Mac OSX.  (Patch from Jonas B <sanoix at gmail dot com>)
    551 
    552 2006-10-02  Thiago Macieira  <thiago (a] kde.org>
    553 
    554 	* tools/dbus-launch.c (main): make it complain and abort
    555 	execution in case an unknown option is given. Also, process
    556 	the '--' argument as the end of arguments.
    557 
    558 2006-10-01  Havoc Pennington  <hp (a] redhat.com>
    559 
    560 	* tools/dbus-launch.c (print_variables): if no syntax is given,
    561 	don't print something that's sort-of-half-sh-syntax, just print
    562 	a plain key-value pairs thing.
    563 
    564 	* tools/dbus-launch-x11.c: use machine ID rather than hostname for
    565 	the local machine representation (but still have the hostname in
    566 	the display). Remove the hostname from the display if it is
    567 	localhost. Change session files to be named
    568 	~/.dbus/session-bus/machine-display. Change X atoms to be
    569 	underscore-prefixed so nobody whines about ICCCM compliance.
    570 	Otherwise name them the same as the env variables.
    571 	Change session file format to include key-value pairs and an
    572 	explanatory comment. Keys are the same as the env variables.
    573 	(set_address_in_x11): X property format can't depend on
    574 	sizeof(pid_t) on a particular machine, fix to always be 32 bits
    575 
    576 	* tools/dbus-launch.c: make --autolaunch take a machine id
    577 	argument. If --autolaunch is used with a program to run, complain
    578 	for now (but add a FIXME). Also, don't look for existing bus if 
    579 	there's a program to run (but add a FIXME).
    580 
    581 	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): pass
    582 	machine uuid to dbus-launch (avoids linking dbus-launch to libdbus
    583 	just to get this, and avoids duplicating uuid-reading code).
    584 
    585 	* tools/dbus-launch.1: clarify various things
    586 	
    587 2006-10-01  Havoc Pennington  <hp (a] redhat.com>
    588 
    589 	* test/test-service.c (path_message_func): remove broken extra
    590 	unref that was hidden by the bugs in dbus-connection.c/dbus-bus.c
    591 
    592 	* test/test-shell-service.c (path_message_func): same fix
    593 	
    594 	* dbus/dbus-connection.c
    595 	(_dbus_connection_get_dispatch_status_unlocked): break up the
    596 	function a little for clarity and fix the notification of
    597 	dbus-bus.c to not require dispatch to be complete
    598 
    599 	* dbus/dbus-connection.c (dbus_connection_unref): improve the
    600 	warning when you try to finalize an open connection.
    601 	
    602 2006-10-01  Havoc Pennington  <hp (a] redhat.com>
    603 
    604 	* dbus/dbus-bus.c
    605 	(internal_bus_get): only weak ref the connection; this means 
    606 	_dbus_bus_notify_shared_connection_disconnected_unlocked can be
    607 	called safely in any context
    608 	(_dbus_bus_notify_shared_connection_disconnected_unlocked): don't
    609 	unref
    610 
    611 	* dbus/dbus-connection.c
    612 	(_dbus_connection_get_dispatch_status_unlocked): move
    613 	_dbus_bus_notify_shared_connection_disconnected_unlocked here
    614 	when queuing Disconnected instead of when the Disconnected message
    615 	arrives, so dbus_bus_get() won't return closed connections.
    616 	
    617 2006-10-01  Havoc Pennington  <hp (a] redhat.com>
    618 
    619 	* dbus/dbus-connection.c (_dbus_connection_close_if_only_one_ref): 
    620 	Add a hack to make DBusNewConnectionFunction work right.
    621 
    622 	* dbus/dbus-server-socket.c (handle_new_client_fd_and_unlock): use
    623 	the hack here. Also, fix the todo about refcount leak.
    624 	
    625 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
    626 	and use the hack here
    627 	
    628         * dbus/dbus-connection.c: Kill the "shared" flag vs. the
    629 	"shareable" flag; this was completely broken, since it meant 
    630 	dbus_connection_open() returned a connection of unknown
    631 	shared-ness. Now, we always hold a ref on anything opened 
    632 	as shareable.
    633 
    634 	Move the call to notify dbus-bus.c into
    635 	connection_forget_shared_unlocked, so libdbus consistently forgets
    636 	all its knowledge of a connection at once. This exposed numerous
    637 	places where things were totally broken if we dropped a ref inside
    638 	get_dispatch_status_unlocked where
    639 	connection_forget_shared_unlocked was previously, so move
    640 	connection_forget_shared_unlocked into
    641 	_dbus_connection_update_dispatch_status_and_unlock. Also move the
    642 	exit_on_disconnect here.
    643 
    644 	(shared_connections_shutdown): this assumed weak refs to the
    645 	shared connections; since we have strong refs now, the assertion 
    646 	was failing and stuff was left in the hash. Fix it to close
    647 	still-open shared connections.
    648 	
    649 	* bus/dispatch.c: fixup to use dbus_connection_open_private on the 
    650 	debug pipe connections
    651 	
    652 	* dbus/dbus-connection.c (dbus_connection_dispatch): only notify
    653 	dbus-bus.c if the closed connection is in fact shared
    654 	(_dbus_connection_close_possibly_shared): rename from 
    655 	_dbus_connection_close_internal
    656 	(dbus_connection_close, dbus_connection_open,
    657 	dbus_connection_open_private): Improve docs to explain the deal
    658 	with when you should close or unref or both
    659 
    660 	* dbus/dbus-bus.c
    661 	(_dbus_bus_notify_shared_connection_disconnected_unlocked): rename
    662 	from _dbus_bus_check_connection_and_unref_unlocked and modify to
    663 	loop over all connections
    664 
    665 	* test/test-utils.c (test_connection_shutdown): don't try to close
    666 	shared connections.
    667 
    668 	* test/name-test/test-threads-init.c (main): fix warnings in here
    669 
    670 	* dbus/dbus-sysdeps.c (_dbus_abort): support DBUS_BLOCK_ON_ABORT
    671 	env variable to cause blocking waiting for gdb; drop
    672 	DBUS_PRINT_BACKTRACE and just call _dbus_print_backtrace() 
    673 	unconditionally.
    674 
    675 	* configure.in: add -export-dynamic to libtool flags if assertions enabled
    676 	so _dbus_print_backtrace works.
    677 
    678 	* dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): use fprintf
    679 	instead of _dbus_verbose to print the backtrace, and diagnose lack 
    680 	of -rdynamic/-export-dynamic
    681 	
    682 2006-09-30  Havoc Pennington  <hp (a] redhat.com>
    683 
    684 	* dbus/dbus-bus.c (dbus_bus_get_private, dbus_bus_get) 
    685 	(internal_bus_get): fix screwy code formatting. whoever committed
    686 	that was not paying attention!
    687 
    688 2006-09-30  Havoc Pennington  <hp (a] redhat.com>
    689 
    690 	* configure.in (LT_CURRENT, LT_AGE): increment current and age to
    691 	reflect addition of interfaces.
    692 
    693 	* doc/dbus-specification.xml: describe a new
    694 	org.freedesktop.DBus.Peer.GetMachineId method
    695 
    696 	* dbus/dbus-string.c (_dbus_string_skip_white_reverse): new function
    697 	(_dbus_string_skip_white, _dbus_string_skip_blank): use new
    698 	DBUS_IS_ASCII_BLANK, DBUS_IS_ASCII_WHITE macros and fix assertion
    699 	at end of skip_white
    700 	(_dbus_string_chop_white): new function
    701 
    702 	* bus/connection.c (bus_connections_setup_connection): call
    703 	dbus_connection_set_route_peer_messages.
    704 
    705 	* dbus/dbus-connection.c
    706 	(_dbus_connection_peer_filter_unlocked_no_update): modify to
    707 	support a GetMachineId method.
    708 
    709 	Also, support a new flag to let the bus pass peer methods through
    710 	to apps on the bus, which can be set with
    711 	dbus_connection_set_route_peer_messages.
    712 
    713 	Finally, handle and return an error for anything unknown on the
    714 	Peer interface, which will allow us to extend the Peer interface
    715 	in the future without fear that we're now intercepting something
    716 	apps were wanting to see.
    717 	
    718 	* tools/dbus-uuidgen.c: a thin wrapper around the functions in 
    719 	dbus/dbus-uuidgen.c
    720 
    721 	* dbus/dbus-uuidgen.c: implement the bulk of the dbus-uuidgen
    722 	binary here, since most of the code is already in libdbus
    723 
    724 	* dbus/dbus-sysdeps.c (_dbus_read_local_machine_uuid): read the
    725 	uuid from the system config file
    726 
    727 	* dbus/dbus-internals.c (_dbus_generate_uuid, _dbus_uuid_encode) 
    728 	(_dbus_read_uuid_file_without_creating) 
    729 	(_dbus_create_uuid_file_exclusively, _dbus_read_uuid_file): new
    730 	uuid-related functions, partly factored out from dbus-server.c
    731 
    732 	* dbus/dbus-sysdeps.c (_dbus_error_from_errno): convert EEXIST to
    733 	DBUS_ERROR_FILE_EXISTS instead of EEXIST
    734 
    735 	* dbus/dbus-protocol.h (DBUS_ERROR_FILE_EXISTS): add file exists error
    736 
    737 	* tools/dbus-cleanup-sockets.1: explain what the point of this
    738 	thing is a bit more
    739 
    740 	* autogen.sh (run_configure): add --config-cache to default
    741 	configure args
    742 
    743 	* dbus/dbus-internals.h (_DBUS_ASSERT_ERROR_IS_SET): disable the
    744 	error set/clear assertions when DBUS_DISABLE_CHECKS is defined
    745 
    746 	* tools/dbus-launch.c (main): if xdisplay hasn't been opened,
    747 	don't try to save address, fixes crash in make check
    748 	
    749 2006-09-30  Thiago Macieira  <thiago (a] kde.org>
    750 
    751 	* configure.in: add DBUS_BINDIR as a #define to C source code.
    752 
    753 	* tools/dbus-launch.c
    754 	* tools/dbus-launch.h
    755 	* tools/dbus-launch-x11.c:
    756 	* tools/dbus-launch.1: Add the --autolaunch option to
    757 	dbus-launch, which makes it scan for an existing session
    758 	started with --autolaunch. With that option, it also creates
    759 	an X11 window and saves the bus address and PID to it.
    760 
    761 	* dbus/dbus-sysdeps.h:
    762 	* dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): Add
    763 	a function that runs "dbus-launch --autolaunch" to retrieve
    764 	the running D-Bus session address (or start one if none was running)
    765 
    766 	* dbus/dbus-transport.c: Add the handler for the "autolaunch:"
    767         address protocol, which tries to get the running session from
    768         dbus-launch.
    769 
    770 	* dbus/dbus-bus.c:
    771 	* dbus/dbus-internals.h: Make "autolaunch:" be the default
    772 	D-Bus session bus address.
    773 
    774 	* dbus/dbus-connection.c: Fix horrible typo in error message.
    775 
    776 2006-09-18  John (J5) Palmieri  <johnp (a] redhat.com>
    777 
    778 	* tools/Makefile.am: use @EXPANDED_DATADIR@ instead of @DATADIRNAME@  
    779 
    780 2006-09-17  Havoc Pennington  <hp (a] redhat.com>
    781 
    782 	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
    783 	fix so that if unix_user_function is set on windows, we still
    784 	do the default check that the auth identity matches the bus identity
    785 
    786 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    787 
    788 	* dbus/dbus-transport.c (_dbus_transport_open): modify to delegate
    789 	to _dbus_transport_open_platform_specific,
    790 	_dbus_transport_open_socket,
    791 	and _dbus_transport_open_debug_pipe
    792 
    793 	* dbus/dbus-transport-protected.h: add _dbus_transport_open_platform_specific
    794 
    795 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    796 
    797         Attempt auditing public API to remove all cases where a Unix
    798 	function returns weird emulated goo to Windows. This probably 
    799 	breaks the bus daemon on Windows, to fix it again we may 
    800 	need to stop processing unix-specific config options on Windows,
    801 	and may need to add Windows-specific public API or config options.
    802 	
    803 	* configure.in (LT_CURRENT, LT_AGE): increment current and age,
    804 	to reflect added interfaces; should not break soname.
    805 	
    806 	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated): do
    807 	not invoke unix user function on Windows. Kind of a hacky fix, but 
    808 	we don't want a "unix uid" leaking out on Windows.
    809 
    810 	* dbus/dbus-connection.c (dbus_connection_get_socket): add new API
    811 	to get the socket fd on Windows or UNIX
    812 	(dbus_connection_get_unix_fd): make this always fail on Windows
    813 
    814 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    815 
    816 	* dbus/dbus-server.c (dbus_server_listen): change how this works
    817 	to be able to delegate to a set of handlers that can succeed,
    818 	fail, or choose not to handle. Allows us to have 
    819 	dbus_server_listen_platform_specific.
    820 
    821 	* dbus/dbus-server-socket.c (_dbus_server_new_for_tcp_socket):
    822 	factor out the tcp socket stuff to be used on windows, leaving
    823 	unix domain socket only in dbus-socket-unix.c
    824 
    825 	* dbus/dbus-transport-socket.c
    826 	(_dbus_transport_new_for_tcp_socket): factor out the tcp socket
    827 	stuff to be used on windows, leaving unix domain socket only 
    828 	in dbus-transport-unix.c
    829 
    830 	* dbus/dbus-connection.c (dbus_connection_get_unix_user): insert
    831 	temporary hack to be sure this fails on windows
    832 	(dbus_connection_get_unix_process_id): ditto
    833 
    834 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    835 
    836 	* dbus/dbus-sysdeps-unix.c (_dbus_open_tcp_socket) 
    837 	(_dbus_open_unix_socket, _dbus_open_socket): change API for 
    838 	_dbus_open_socket so the domain/type/protocol from system headers
    839 	are not required. This is kind of pointless though unless we move
    840 	part of _dbus_connect_tcp_socket into sysdeps.c instead of
    841 	sysdeps-unix.c, which would mean adding a wrapper around
    842 	bind/listen/etc.
    843 	Also, add DBusError to the socket-opening functions so they 
    844 	don't require use of errno.
    845 
    846 2006-09-16  Havoc Pennington  <hp (a] redhat.com>
    847 
    848 	* dbus/dbus-sysdeps-unix.h: small change to Peter's patch to make
    849 	dbus-sysdeps-unix-util.c build, add unix-specific sysdeps header.
    850 
    851 	* dbus/dbus-sysdeps.h, dbus-sysdeps-unix.c: patch from Peter 
    852 	Kmmel bug #8249 to make the sysdeps.h read/write/open/close
    853 	functions specifically for sockets only, and move generic 
    854 	read/write/open/close into unix-specific code.
    855 
    856 2006-09-14  Havoc Pennington  <hp (a] redhat.com>
    857 
    858 	* dbus/dbus-transport-unix.c (unix_do_iteration): fix a valgrind
    859 	complaint about accessing revents when poll returns 0, from Julian Seward.
    860 
    861 2006-09-14  John (J5) Palmieri  <johnp (a] redhat.com>
    862 
    863 	* Released 1.0 RC 1 (0.93) 
    864 
    865 2006-09-14  John (J5) Palmieri  <johnp (a] redhat.com>
    866 
    867 	* dbus/dbus-sysdeps-util-unix.c (_dbus_write_pid_file):
    868 	use _dbus_close instead of close
    869 
    870 2006-09-14  John (J5) Palmieri  <johnp (a] redhat.com>
    871 
    872 	* dbus/dbus-sysdeps.c: Add support for LOCAL_CREDS socket
    873 	credentials.  Fixes "external" authentication under e.g. NetBSD
    874 	which does not support any other socket credentials mechanism.
    875 	(Patch from Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
    876 
    877 2006-09-14  John (J5) Palmieri  <johnp (a] redhat.com>
    878 
    879 	* dbus/dbus-threads.c: Allow recursive mutex's to be passed into
    880 	dbus_threads_init and be used by the dbus mutex functions to
    881 	avoid deadlocks.
    882 
    883 	* doc/TODO: Remove recursive mutex dbus_connection_dispatch TODO item
    884 
    885 2006-09-13  John (J5) Palmieri  <johnp (a] redhat.com>
    886 
    887 	* dbus/dbus-sysdeps-util-unix.c (_dbus_directory_get_next_file):
    888 	use threadsafe readdir_r instead of readdir
    889 
    890 2006-09-13  John (J5) Palmieri  <johnp (a] redhat.com>
    891 
    892 	* dbus-threads.c (dbus_threads_init_default): New method for
    893 	initializing the internal thread implementation (Patch from
    894 	Alexander Larsson <alexl at redhat dot com>)
    895 
    896 2006-09-11  John (J5) Palmieri  <johnp (a] redhat.com>
    897 
    898 	* remove a bunch of todo items from the 1.0 list
    899 
    900 2006-09-11  John (J5) Palmieri  <johnp (a] redhat.com>
    901 
    902 	* bus/activation.c, bus/desktop-file.c: Distinguish between OOM and
    903 	key not found
    904 
    905 2006-09-11  John (J5) Palmieri  <johnp (a] redhat.com>
    906 
    907 	* dbus/dbus-internal.c: Add dbus_is_verbose so we can have more
    908 	complex debugging code
    909 
    910 	* dbus/dbus-marshal-basic.c (_dbus_marshal_read_fixed_multi): Move
    911 	between the test suite ifdefs
    912 	(_dbus_verbose_bytes): return if verbosity is not enabled 
    913 
    914 2006-09-11  John (J5) Palmieri  <johnp (a] redhat.com>
    915 
    916 	* dbus/dbus-marshal-recursive-util.c, dbus/dbus-marshal-recursive.c:
    917 	remove DBusMark
    918 
    919 2006-09-10  Havoc Pennington  <hp (a] redhat.com>
    920 
    921        patch mostly by Peter Kmmel, bug #8211
    922 	
    923 	* dbus/dbus-sysdeps-unix.c: new file, which splits out
    924 	unix-specific stuff in dbus-sysdeps.c
    925 
    926 	* dbus/dbus-sysdeps.c: don't include any UNIX-only headers, 
    927 	and move unix-specific stuff to dbus-sysdeps-unix.c
    928 
    929 	* configure.in: check HAVE_ERRNO_H
    930 	
    931 2006-09-08  John (J5) Palmieri  <johnp (a] redhat.com>
    932 
    933 	* bus/test-main.c (main): Initialize threading during tests
    934 
    935 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
    936 	Unlock connection on error
    937 	(generate_local_error_message): static method for generating
    938 	an error message when we don't have a message to reply to
    939 	(_dbus_connection_block_pending_call): Send a disconnect error
    940 	instead of just a timeout (NULL) when the bus gets disconnected
    941 	while blocking for a reply.
    942 	
    943 2006-09-08  John (J5) Palmieri  <johnp (a] redhat.com>
    944 
    945 	* dbus/dbus-connection.c (dbus_connection_dispatch): Properly remove
    946 	filters (Patch from Kimmo Hmlinen 
    947 	<kimmo dot hamalainen at nokia dot com>)
    948 
    949 2006-09-07  John (J5) Palmieri  <johnp (a] redhat.com>
    950 
    951 	* dbus/dbus-connection-internal.h: Add prototype for 
    952 	_dbus_connection_test_get_locks to remove warning
    953 
    954 2006-09-07  John (J5) Palmieri  <johnp (a] redhat.com>
    955 
    956 	* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): Make sure we
    957 	close child_err_report_pipe[WRITE_END] on exec (Patch from 
    958 	Kimmo Hmlinen <kimmo dot hamalainen at nokia dot com>)
    959 
    960 2006-09-07  John (J5) Palmieri  <johnp (a] redhat.com>
    961 
    962 	* Clean up close calls to use _dbus_close (Patch from 
    963 	Kimmo Hmlinen <kimmo dot hamalainen at nokia dot com>)
    964 
    965 2006-09-06  John (J5) Palmieri  <johnp (a] redhat.com>
    966 
    967 	* doc/TODO:
    968 	- Remove pending call locking todo item
    969 	- dbus_connection_open now holds hard ref.  Remove todo item
    970 	- do proper locking on _dbus_bus_check_connection_and_unref
    971 	  and handle DBUS_BUS_STARTER. Remove todo item
    972 	- Warn on closing of a shared connection.  Remove todo item
    973 
    974 	* bus/bus.c, bus/connection.c, bus/dispatch.c, dbus/dbus-bus.c,
    975 	dbus/dbus-connection.c: Use the dbus_connection_close_internal
    976 	so we don't get the warning when closing shared connections
    977 
    978 	* test/test-service.c, test/test-shell-service.c: Applications
    979 	don't close shared connections themselves so we unref instead of
    980 	close
    981 
    982 	* test/test-utils.c (test_connection_shutdown): Close the connection
    983 
    984 	* dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): Changed to
    985 	_dbus_bus_check_connection_and_unref_unlocked since we only call this
    986 	method on a locked connection.  
    987 	Make sure we call _dbus_connection_unref_unlocked instead of 
    988 	dbus_connection_unref also.
    989 	Handle DBUS_BUS_STARTER correctly
    990 
    991 	* dbus/dbus-connection.c (connection_record_shared_unlocked):
    992 	Mark as shared and hard ref the connection
    993 	(connection_forget_shared_unlocked): Remove the hard ref from the 
    994 	connection
    995 	(_dbus_connection_close_internal_and_unlock):  New internal function
    996 	which takes a locked connection and unlocks it after closing it
    997 	(_dbus_connection_close_internal): New internal function which acts
    998 	like the origonal dbus_connection_close method by grabbing a connection
    999 	lock and calling _dbus_connection_close_internal_and_unlock
   1000 	(dbus_connection_close): Public close method, warns when the app
   1001 	trys to close a shared connection
   1002 
   1003 2006-09-06  John (J5) Palmieri  <johnp (a] redhat.com>
   1004 
   1005 	* bus/driver.c:
   1006 	(bus_driver_generate_introspect_string): New method for populating
   1007 	a DBusString with the introspect data
   1008 	(bus_driver_handle_introspect): Move introspect generation code to 
   1009 	bus_driver_generate_introspect_string
   1010 
   1011 	* bus/main.c:
   1012 	(introspect): New function which prints out the intropect data and
   1013 	exits
   1014 	(main): Add a --introspect switch
   1015 
   1016 2006-09-06  John (J5) Palmieri  <johnp (a] redhat.com>
   1017 
   1018 	* doc/TODO: Removed dtd publishing item.  
   1019 	It seems the dtd has already been added at
   1020 	http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd
   1021 
   1022 2006-09-05  John (J5) Palmieri  <johnp (a] redhat.com>
   1023 
   1024 	* doc/TODO, various source files: Audited todo's and FIXME's and
   1025 	prepended the ones we should be looking at with 1.0.  Those
   1026 	prepended with 1.0? need clerification or might not be needed
   1027 	for 1.0
   1028 
   1029 2006-09-05  John (J5) Palmieri  <johnp (a] redhat.com>
   1030 
   1031 	* dbus/dbus-pending-call.c: Add some checks so we don't crash on
   1032 	NULL in the public API (Patch from Kimmo Hmlinen 
   1033 	<kimmo dot hamalainen at nokia dot com>)
   1034 
   1035 2006-09-05  John (J5) Palmieri  <johnp (a] redhat.com>
   1036 
   1037 	* configure.in: Fix for OS-X compile time endian issues (patch from
   1038 	Benjamin Reed <ranger at befunk dot com>)
   1039 
   1040 2006-09-05  John (J5) Palmieri  <johnp (a] redhat.com>
   1041 
   1042 	* configure.in: Check for no-common compiler flag (OS-X fix from
   1043 	Benjamin Reed <ranger at befunk dot com>)
   1044 
   1045 2006-09-01  John (J5) Palmieri  <johnp (a] redhat.com>
   1046 
   1047 	* tools/dbus-launch.c: Add a sigterm handler (patch from Frederic Crozat
   1048 	<fcrozat at mandriva dot com>)
   1049 
   1050 2006-08-29  Havoc Pennington  <hp (a] redhat.com>
   1051 
   1052 	* test/test-service.c (path_message_func): fix lack of return value
   1053 
   1054 	* dbus/dbus-sysdeps.c (_dbus_printf_string_upper_bound): fix
   1055 	formatting, remove #ifdef, and fix docs. #ifdef doesn't make
   1056 	any more sense than on anything else in this file.
   1057 	(_dbus_get_tmpdir): add const to return value, and keep the
   1058 	results of the various getenv around in a static variable.
   1059 
   1060 2006-08-29  Havoc Pennington  <hp (a] redhat.com>
   1061 
   1062 	* dbus/dbus-sysdeps-util.c, dbus/dbus-sysdeps-util-unix.c: change
   1063 	from Ralf Habacker to move UNIX-specific sysdeps into a separate file.
   1064 
   1065 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   1066 
   1067 	* test/Makefile.am: change find to use syntax that works with non
   1068 	gnu versions of find
   1069 
   1070 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   1071 
   1072 	* dbus/dbus-transport.c: fix invalid deref when checking if
   1073 	a vtable method exists (Patch from Christian Ehrlicher 
   1074 	<ch dot ehrlicher at gmx dot de>)
   1075 
   1076 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   1077 
   1078 	* configure.in, dbus/Makefile.am, test/name-test/run-test.sh, 
   1079 	test/name-test/Makefile.am: Fixed some issues with getting get dbus 
   1080 	to build with builddir != srcdir (Taken from a patch by Bernard Leak
   1081 	<bernard at brenda-arkle dot demon dot co dot uk>)
   1082 
   1083 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   1084 
   1085 	* configure.in: Fix DBUS_DAEMONDIR to use EXPANDED_BINDIR for the
   1086 	default case
   1087 
   1088 2006-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   1089 
   1090 	* configure.ac, bus/Makefile.am: Generalize kqueue support so that
   1091 	it works on any system providing this interface, not only FreeBSD.
   1092 	For example, NetBSD. (Patch by Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
   1093 
   1094 2006-08-20  Havoc Pennington  <hp (a] redhat.com>
   1095 
   1096 	* doc/dbus-faq.xml, doc/dbus-tutorial.xml: some improvements to
   1097 	the docs
   1098 
   1099 2006-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   1100 
   1101 	* Released 0.92 
   1102 
   1103 2006-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   1104 
   1105 	* dbus/dbus-threads.c (dbus_threads_init): change the documentation
   1106 	to reflect the init late change
   1107 
   1108 	* bus/bus.c (bus_context_new): Check user before we fork so we can
   1109 	print out an error message a user will be able to see
   1110 
   1111 2006-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   1112 
   1113 	Patch provided by Ralf Habacker (ralf dot habacker at freenet dot de) 
   1114 
   1115 	* dbus/dbus-sysdeps.c, dbus/dbus-threads.c, dbus/dbus-internals.h:
   1116 	Add two more global locks for use on windows platforms.  These are
   1117 	unused on non-windows platforms but are not ifdefed out to avoid
   1118 	potential bugs (i.e. the few bytes lost does not warrent the extra
   1119 	maintanence and complexity that having seperate sets of locks would
   1120 	cause)
   1121 
   1122 2006-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   1123 
   1124 	* bus/services.c (bus_registry_acquire_service): Return an error
   1125 	when an application tries to register the org.freedesktop.DBus Bus Name
   1126 
   1127 	* bus/services.c (bus_registry_release_service): Return an error
   1128 	when an application tries to release the org.freedesktop.DBus Bus Name
   1129 
   1130 2006-08-17  Alp Toker  <alp (a] atoker.com>
   1131 
   1132 	* doc/dbus-specification.xml: Fix some minor typos.
   1133 
   1134 2006-08-17  John (J5) Palmieri  <johnp (a] redhat.com>
   1135 
   1136 	* configure.in: use $with_init_scripts instead of $operating_system
   1137 	to determine where to store the pid since the init scripts manipulate 
   1138 	the pid file (patch from Marcelo Ricardo Leitner 
   1139 	<marcelo dot leitner at terra dot com dot br>.  
   1140 
   1141 2006-08-16  John (J5) Palmieri  <johnp (a] redhat.com>
   1142 
   1143 	* dbus/dbus-threads.c: Add static DBusList *uninitialized_mutex_list and
   1144 	static DBusList *uninitialized_condvar_list to support new late 
   1145 	initialization threading model.  In this model threads can be initialized
   1146 	even after the D-Bus API has been used but still needs to be initialized 
   1147 	before the second thread has been started.  Mutexes and condvar addresses
   1148 	are stored in the two static lists and are replaced with actuall locks
   1149 	when threads are initalized.
   1150 	(_dbus_mutex_new_at_location): New method for creating a mutex and placing
   1151 	the location into the static list
   1152 	(_dbus_mutex_free_at_location): New method for removing a mutex location 
   1153 	from the static list and freeing the mutex
   1154 	(_dbus_condvar_new_at_location): New method for creating a conditional 
   1155 	variable and placing the location into the static list
   1156 	(_dbus_condvar_free_at_location): New method for removing a conditional
   1157 	variable location from the static list and freeing the conditional variable 
   1158 	(init_uninitialized_locks): Atomic method which goes through the static 
   1159 	lists of mutex and condvar location and updates them with actuall locks
   1160 	(init_global_locks): changed to init_locks
   1161 	
   1162 	* dbus/dbus-connection.c:
   1163 	(_dbus_connection_test_get_locks): New method for tests to check connections
   1164 	(_dbus_connection_new_for_transport): Use the new at_location mutex and
   1165 	condvar API
   1166 	(dbus_connection_allocate_data_slot): Pass in the global lock address
   1167 	to _dbus_data_slot_allocator_alloc
   1168 
   1169 	* dbus/dbus-dataslot.c:
   1170 	(_dbus_data_slot_allocator_alloc): Use the address of the mutex
   1171 	instead of the mutex itself
   1172 
   1173 	* dbus/dbus-message.c:
   1174 	(dbus_message_allocate_data_slot): Pass in the global lock address
   1175 	to _dbus_data_slot_allocator_alloc
   1176 
   1177 	* dbus/dbus-pending-call.c:
   1178 	(dbus_pending_call_allocate_data_slot): Pass in the global lock address
   1179 	to _dbus_data_slot_allocator_alloc
   1180 
   1181 	* dbus/dbus-server.c:
   1182 	(_dbus_server_init_base): Use the new at_location mutex API
   1183 	(dbus_server_allocate_data_slot): Pass in the global lock address
   1184 	to _dbus_data_slot_allocator_alloc
   1185 
   1186 	* test/name-test/test-threads-init.c: New test case for late thread
   1187 	initialization
   1188 
   1189 2006-08-14  John (J5) Palmieri  <johnp (a] redhat.com>
   1190 
   1191 	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
   1192 	Change _dbus_abort to _dbus_assert_not_reached because _dbus_abort
   1193 	causes compile problems when asserts are turned off
   1194 	Keeping _dbus_warn for printing out the message so even if
   1195 	asserts are turned off the user gets the messages that something is 
   1196 	wrong 
   1197 
   1198 2006-08-14  John (J5) Palmieri  <johnp (a] redhat.com>
   1199 
   1200 	Patches by Kjartan Maraas <kmaraas at gnome dot org>
   1201 
   1202 	* bus/services.c (bus_service_list_queued_owners):
   1203 	Add a pointer cast to fix compiler warning
   1204 
   1205 	* dbus/dbus-dataslot.c (_dbus_data_slot_list_get):
   1206 	return a NULL instead of FALSE since the return type
   1207 	is not expecting a boolean
   1208 
   1209 	* dbus/dbus-marshal-basic.c (_dbus_marshal_test):
   1210 	Remove unused variable
   1211 
   1212 	* dbus/dbus-marshal-recursive-util.c (node_new):
   1213 	return a NULL instead of FALSE since the return type
   1214 	is not expecting a boolean
   1215 
   1216 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
   1217 	Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
   1218 	because we are expecting a pointer not a boolean
   1219 
   1220 	* dbus/dbus-sysdeps-util.c (_dbus_get_tmpdir): 
   1221 	add void as the parameter so some compilers
   1222 	don't complain
   1223 
   1224 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket,
   1225 	  _dbus_transport_new_for_tcp_socket):
   1226 	Send a NULL into _dbus_transport_new_for_fd instead of a FALSE
   1227 	because we are expecting a pointer not a boolean
   1228 
   1229 	* test/shell-test.c (test_command_line):
   1230 	cast the second argument to _dbus_list_append to avoid compiler
   1231 	warnings
   1232 
   1233 	* test/test-names.c (main): remove unused variable
   1234 
   1235 	* test/test-service.c (check_hello_from_self_reply):
   1236 	Initialize echo_message and echo_reply to NULL
   1237 	
   1238 	* test/test-shell-service.c (handle_echo):
   1239 	Remove unused variable and cast the third parameter passed to
   1240 	dbus_connection_get_object_path_data to avoid compiler warrnings
   1241 
   1242 	* test/name-test/test-names.c (clear_message_queue):
   1243 	Remove unused function
   1244 
   1245 	* test/name-test/test-pending-call-dispatch.c:
   1246 	Fix format string in printf
   1247 
   1248 
   1249 2006-08-14  John (J5) Palmieri  <johnp (a] redhat.com>
   1250 
   1251 	* dbus/dbus-bus.c:
   1252 	* test/name-test/test-names.c:
   1253 	Remove test method dbus_bus_connection_get_unique_name because 
   1254 	we already have public method dbus_bus_get_unique_name that 
   1255 	does the exact same thing
   1256 
   1257 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1258 
   1259 	* dbus/dbus-signature.c:
   1260 	fix typos in Julio's previous patch which cause make check to fail
   1261 
   1262 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1263 
   1264 	* dbus/dbus-address.c (_dbus_address_test): Revert leaking strcmp.  
   1265 	In any case it was wrong since this is a test checking to see if
   1266 	address parsing is correct.  There was no need to get the true
   1267 	tmp directory.  
   1268 
   1269 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1270 
   1271 	* dbus/dbus-macros.h: Revert the addition of stddef.h
   1272 	as we should not be adding it to library headers 
   1273 
   1274 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1275 
   1276 	* dbus/dbus-signature.c:
   1277 	Fix the unit tests so that they work if assertions are not enabled.
   1278 	(patch from Julio M. Merino Vidal  <jmmv at NetBSD dot org>)
   1279 
   1280 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1281 
   1282 	* tools/run-with-tmp-session-bus.sh:
   1283 	* test/name-test/run-test.sh:
   1284 	Remove bashisms (patch from Julio M. Merino Vidal
   1285 	<jmmv at NetBSD dot org>)
   1286 
   1287 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1288 
   1289 	* configure.in: add a version (>= 2.6.0) check for libxml2
   1290 
   1291 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1292 
   1293 	* configure.in: make sure the compiler supports -Wfloat-equal
   1294 	
   1295 	* bus/dir-watch-dnotify.c: move functional code after 
   1296 	variable declerations (C99 fix)  (patches from Jens Granseuer
   1297 	<jensgr at gmx dot net>
   1298 
   1299 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1300 
   1301 	* dbus/dbus-macros.h:
   1302 	add #include <stddef.h> so that Sun compilers don't complain about
   1303 	the defining NULL
   1304 
   1305 2006-08-10  John (J5) Palmieri  <johnp (a] redhat.com>
   1306 
   1307 	* dbus/dbus-sysdeps.c:
   1308 	* dbus/dbus-address.c:
   1309 	* bus/activation.c:
   1310 	* test/shell-test.c:
   1311 	don't hardcode tmp directory (patch from Dave Meikle 
   1312 	<dmk at davemeikle dot co dot uk>)
   1313 
   1314 2006-08-09  John (J5) Palmieri  <johnp (a] redhat.com>
   1315 
   1316 	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc):
   1317 	Change an assert to a detailed warning and abort.  
   1318 	When allocator->lock != mutex it indicates that the user has failed
   1319 	to initalize threads before using the D-Bus library.  This warning
   1320 	helps the user identify the issue and fix their app.
   1321 
   1322 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1323 
   1324 	These are all patches from Kjartan Maraas <kmaraas at gnome dot org>
   1325 	with cleanups of bugs found from Coverity reports:
   1326 
   1327 	* dbus/dbus-sysdeps-util.c (_dbus_write_pid_file):
   1328 	close the file on error to avoid a leak
   1329 
   1330 	* bus/expirelist.c (bus_expire_list_test):
   1331 	Check for NULL on dbus_new0
   1332 
   1333 	* bus/activation.c (update_directory):
   1334 	remove dead code
   1335 
   1336 	* bus/config-parser.c (merge_service_context_hash, start_selinux_child):
   1337 	Fix some leaks
   1338 
   1339 	* bus/bus.c (process_config_every_time):
   1340 	Fixed a leak
   1341 
   1342 	* bus/desktop-file.c (parse_key_value):
   1343 	Fixed leak
   1344 
   1345 	* bus/selinux.c (bus_selinux_id_table_insert):
   1346 	Fixed leak
   1347 
   1348 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1349 
   1350 	* dbus/dbus-object-tree.c (_dbus_object_subtree_new):
   1351 	remove dead code
   1352 
   1353 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1354 
   1355 	* tools/run-with-tmp-session-bus.sh: use #!/bin/sh instead of
   1356 	#!/bin/bash
   1357 
   1358 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1359 
   1360 	* Doxyfile.in: fix the INPUT line so we can generate docs 
   1361 	when sourcedir != builddir (patch from Cygwin Ports maintainer
   1362 	<yselkowitz at users dot sourceforge dot net>
   1363 
   1364 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1365 
   1366 	* dbus/dbus-sysdeps.h:
   1367 	* dbus/dbus-sysdeps.c: 
   1368 	* dbus/dbus-string.c: 
   1369 	s/_dbus_printf_length/_dbus_printf_string_upper_bound to comform with
   1370 	GLib's function which does the same thing
   1371 
   1372 	* configure.in:
   1373 	* bus/Makefile.am:
   1374 	* bus/dir-watch-default.c:
   1375 	* bus/dir-watch-dnotify.c:
   1376 	* bus/dir-watch-kqueue.c:
   1377 	Add kqueue directory watching for freebsd and split the directory
   1378 	watching code into seperate files per method/arch
   1379 	(patches from Timothy Redaelli <drizzt at gufi dotorg>)
   1380 
   1381 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1382 
   1383 	* configure.in:
   1384 	* tools/Makefile.am:
   1385 	* tools/dbus-launch.c:
   1386 	* bus/Makefile.am:
   1387 	allow --with-dbus-daemondir switch to be used to make the
   1388 	daemon install to a seperate bindir like /usr/libexec
   1389 	(patch from Brian Cameron <brian dot cameron at sun dot com)
   1390 
   1391 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1392 
   1393 	* bus/Makefile.am (install-data-hook): removed the slash after 
   1394 	$(DESTDIR) so we don't get the double slash which does not work
   1395 	in windows (patch from Andras Porjesz 
   1396 	<andras dot porjesz at siemens dot com>)
   1397 
   1398 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1399 
   1400 	* dbus/dbus-sysdeps.h:
   1401 	* dbus/dbus-sysdeps.c: 
   1402 	  add _dbus_printf_length (patch from Peter Kmmel 
   1403 	  <syntheticpp at gmx dot net>)
   1404 
   1405 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1406 
   1407 	* dbus/dbus-internals.c: unistd.h is not used 
   1408 	(_dbus_verbose_real): only enable verbose printing 
   1409 	if DBUS_VERBOSE environment var is set to '1'
   1410 	(patch from Peter Kmmel <syntheticpp at gmx dot net>)
   1411 
   1412 2006-08-08  John (J5) Palmieri  <johnp (a] redhat.com>
   1413 
   1414 	* configure.in: add a GCC flag check for -Wdeclaration-after-statement
   1415 	so we still compile on older gcc (patch from Frederic Peters 
   1416 	<fpeters at 0d dot be>
   1417 
   1418 2006-08-04  Havoc Pennington  <hp (a] redhat.com>
   1419 
   1420 	* configure.in: add -Wdeclaration-after-statement
   1421 
   1422 	* dbus/dbus-connection.c: change all the pending call stuff to
   1423 	reflect the fact that pending call operations use the connection
   1424 	lock
   1425 
   1426 	* dbus/dbus-pending-call.c: add locking here
   1427 
   1428 	* dbus/dbus-errors.c (struct DBusRealError): don't make the name
   1429 	field const consistent with how message field is done
   1430 
   1431 2006-08-03  John (J5) Palmieri  <johnp (a] redhat.com>
   1432 
   1433 	* s/D-BUS/D-Bus/g
   1434 
   1435 2006-08-03  John (J5) Palmieri  <johnp (a] redhat.com>
   1436 
   1437 	* dbus/dbus-object-tree.c: Patch by Benjamin Otte 
   1438 	<in7y118 at public.uni-hamburg dot de> - fix invalid
   1439 	read/write reported by valgrind
   1440 
   1441 2006-07-24  John (J5) Palmieri  <johnp (a] redhat.com>
   1442 
   1443 	* Released 0.91
   1444 
   1445 2006-07-22  John (J5) Palmieri  <johnp (a] redhat.com>
   1446 
   1447 	* dbus/dbus-connection.c:
   1448 	(_dbus_connection_attach_pending_call_unlocked):
   1449 	(connection_timeout_and_complete_all_pending_calls_unlocked):
   1450 	Make sure we set timeout_added on pending calls to FALSE when
   1451 	we remove the timeout from the connection
   1452 
   1453 2006-07-21  John (J5) Palmieri  <johnp (a] redhat.com>
   1454 
   1455 	* Removed some extra bindings stuff lingering around (thanks timo)
   1456 	* dbus-pendingcall.c (_dbus_pending_call_new): 
   1457 	s/dbus_connection_ref/_dbus_connection_ref_unlocked fixes assertion
   1458 	when we tried to take a lock on an already locked connection
   1459 
   1460 2006-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   1461 
   1462 	* Released 0.90
   1463 
   1464 2006-07-17  Havoc Pennington  <hp (a] redhat.com>
   1465 
   1466 	* dbus/dbus-marshal-basic.c (_dbus_type_to_string): support 64-bit
   1467 	ints, reported by Owen Taylor
   1468 
   1469 2006-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   1470 
   1471 	* doc/TODO:
   1472 	* dbus/dbus-bus.c:
   1473 	* dbus-errors.c:
   1474 	* dbus/dbus-marshal-validate.c:
   1475 	  Removed TODO items which were fixed or are no longer relevent
   1476 
   1477 2006-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   1478 
   1479 	* dbus-qt4-1.pc.in, dbus-sharp.pc.in:
   1480 	Remove stray files from the stripped bindings
   1481 
   1482 2006-07-16  Havoc Pennington  <hp (a] redhat.com>
   1483 
   1484 	* dbus/dbus-pending-call.c (_dbus_pending_call_set_timeout_error):
   1485 	Improve the error message on reply timeout
   1486 
   1487 2006-07-14  John (J5) Palmieri  <johnp (a] redhat.com>
   1488 
   1489 	* Remove all bindings
   1490 
   1491 2006-07-13  John (J5) Palmieri  <johnp (a] redhat.com>
   1492 
   1493 	* dbus-connection.c (dbus_connection_send_with_reply): return TRUE
   1494 	and set pending_reply out arg to NULL is connection is disconnected
   1495 	(connection_timeout_and_complete_all_pending_calls_unlocked): New
   1496 	static method for cleaning up pending calls on disconnect
   1497 	(_dbus_connection_get_dispatch_status_unlocked): If we have pending 
   1498 	calls queued timeouts on disconnect 
   1499 
   1500 	 * dbus/dbus-pending-call.c (_dbus_pending_call_set_connection):
   1501 	Remove 
   1502 
   1503 2006-07-13  Carlos Garcia Campos  <carlosgc (a] gnome.org>
   1504 
   1505 	* bus/activation.[ch] (bus_activation_list_services): new function to 
   1506 	get the list of services that can be activated
   1507 
   1508 	* bus/dispatch.c: test coverage for the new bus method
   1509 	ListActivatableNames
   1510 
   1511 	* bus/driver.c: new bus method ListActivatableNames to get the list of
   1512 	services that can be activated
   1513 
   1514 	* doc/dbus-specification.xml: ListActivatableNames method documentation
   1515 
   1516 2006-07-12  John (J5) Palmieri  <johnp (a] redhat.com>
   1517 	* dbus/Makefile.am: add dbus-pending-call-internal.h to the list of
   1518 	source files
   1519 
   1520 2006-07-12  John (J5) Palmieri  <johnp (a] redhat.com>
   1521 	* dbus/dbus-message-factory.c:
   1522 	Fix index into an array (patch by Peter Kmmel <syntheticpp at gmx.net>)
   1523 
   1524 2006-07-12  John (J5) Palmieri  <johnp (a] redhat.com>
   1525 	* dbus/dbus-connection-internal.h:
   1526 	* dbus/dbus-connection.c:
   1527 	* file dbus/dbus-pending-call.c:
   1528 	* dbus/dbus-pending-call.h:
   1529 	Make DBusPendingCall an opaque type even to D-Bus internals
   1530 
   1531 2006-07-07  John (J5) Palmieri  <johnp (a] redhat.com>
   1532 
   1533 	* dbus/dbus-connection.h: remove connection_disconnect and replace with
   1534 	connection_close
   1535 
   1536 	* dbus/dbus-connection.c: include dbus-bus.h
   1537 	(_dbus_connection_read_write_dispatch): make static
   1538 
   1539 2006-07-07  John (J5) Palmieri  <johnp (a] redhat.com>
   1540 
   1541 	* dbus/dbus-connection.c (dbus_connection_close): removed deprecated
   1542 	function
   1543 	(dbus_connection_dispatch): On disconnect unref any shared connections
   1544 
   1545 	* dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): new function
   1546 	for cleaning up shared connections on disconnect
   1547 	(internal_bus_get): get a hard refrence to shared connections when
   1548 	they are created
   1549 	
   1550 	* doc/TODO: Remove items which are no longer relevent or have been fixed
   1551 	Split 1.0 todo items with a 0.90 freeze todo list
   1552  
   1553 2006-06-14  Ross Burton  <ross (a] openedhand.com>
   1554 
   1555 	* glib/dbus-gobject.c:
   1556 	Free a leaking GArray (surely not!) in dbus_g_method_return.
   1557 
   1558 2006-06-14  Ross Burton  <ross (a] openedhand.com>
   1559 
   1560 	* tools/Makefile.am:
   1561 	* tools/dbus-monitor.c:
   1562 	Don't use the GLib bindings in dbus-monitor (patch from Ralf
   1563 	Habacker).
   1564 	
   1565 2006-06-14  Ross Burton  <ross (a] openedhand.com>
   1566 
   1567 	* tools/dbus-print-message.c:
   1568 	Also print the object path when outputting signals or method calls.
   1569 
   1570 2006-06-13  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1571 
   1572 	* qt/src/Makefile.am: install the qdbus.h header.
   1573 	This allows people to actually use the installed code.
   1574 
   1575 2006-06-12  Ross Burton  <ross (a] openedhand.com>
   1576 
   1577 	* glib/dbus-gproxy.c:
   1578 	Don't leak a GArray when firing signals (thank Rob Taylor for review).
   1579 
   1580 2006-06-12  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1581 
   1582 	* Released 0.62
   1583 
   1584 2006-06-12  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1585 
   1586 	* dbus/dbus-arch-deps.h.in: Remove spurious semi-colons that
   1587         break pedantic builds. Closes bug 6043 (patch approved by
   1588         Havoc back in February).
   1589 
   1590 2006-06-12  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1591 
   1592 	* qt/src/qdbusintegrator.cpp: Fix bug in parsing async methods
   1593         that took a QDBusMessage parameter.
   1594 	* qt/src/qdbusbus.h: Add a default flag for RequestName.
   1595 	* qt/tools/dbus.cpp: Don't use automatic call because we might
   1596         be calling an async method: request a reply.
   1597 
   1598 2006-06-11  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1599 
   1600 	* test/qt/*: Update the testcases, including testing the new
   1601         functionality of sending null QByteArray and QString over the
   1602         bus. Add new headertest test and restore the old
   1603         qdbusxmlparser test.
   1604 
   1605 2006-06-11  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1606 
   1607 	* qt/tools/dbuscpp2xml.cpp: Compile on Windows.
   1608 	* qt/tools/dbusidl2cpp.cpp: Add missing newline.
   1609 
   1610 	* qt/examples/Makefile.am:
   1611 	* qt/examples/chat.h: Use UI-generated files with the ui_*.h
   1612 	form.
   1613 
   1614 	* qt/src/qdbusmarshall.cpp: Allow sending of QString() and
   1615 	QByteArray() (nulls) over the bus.
   1616 	* qt/src/qdbusabstractinterface.cpp: Use the correct variable,
   1617 	the one that has the signature suffix stripped.
   1618 	* qt/src/qdbusreply.h: Make some methods const.
   1619 
   1620 2006-06-09  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1621 
   1622 	Patch from Timo Hoenig <thoenig (a] suse.de>.
   1623 
   1624 	* qt/dbus/Makefile.am: New file.  Fix "make dist", add all headers
   1625 	required during build to EXTRA_DIST.
   1626 	* qt/src/Makefile.am: Fix "make dist", add 'qdbus.h' to EXTRA_DIST.
   1627 	* qt/Makefile.am: Fix "make dist", add 'dbus' to DIST_SUBDIRS.
   1628 	* configure.in: Fix "make dist", take care that the Makefile for
   1629 	qt/dbus is being generated.
   1630 
   1631 2006-06-07  John (J5) Palmieri  <johnp (a] redhat.com>
   1632 
   1633 	* bus/bus.c: Fix eavesdropping on method calls
   1634 
   1635 2006-06-07  John (J5) Palmieri  <johnp (a] redhat.com>
   1636 
   1637 	* configure.in:
   1638 	* dbus/dbus-userdb-util.c:
   1639 	Add Solaris console owner patch from Artem Kachitchkine
   1640 
   1641 2006-06-07  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1642 
   1643 	* qt/Makfile.am:
   1644 	* qt/src/Makefile.am: Fix the EXTRA_DIST after the
   1645 	reorganisation. Thanks to Timo Hoenig for pointing this out.
   1646 
   1647 2006-06-06  Robert McQueen  <robot101 (a] debian.org>
   1648 
   1649 	* glib/dbus-gtype-specialized.c: Fix obvious leak of GArray in every
   1650 	  call to dbus_g_type_get_struct.
   1651 
   1652 2006-06-06  Robert McQueen  <robot101 (a] debian.org>
   1653 
   1654 	* glib/dbus-gvalue-utils.c: Fix the failing test where static string
   1655 	  pointers were put into a GPtrArray-based specialised collection, and
   1656 	  then freed along with the array. GValues which you add into
   1657 	  collections or maps which have the NOCOPY flag set are assumed to not
   1658 	  belong to the caller, so rather than the existing pointer-stealing
   1659 	  semantics, they are copied instead. Given that the main consumers of
   1660 	  this abstraction are the bindings themselves, I don't think this is
   1661 	  too bad, but others should watch their choice of take vs set_static.
   1662 
   1663 2006-06-06  Robert McQueen  <robot101 (a] debian.org>
   1664 
   1665 	* glib/dbus-gvalue-utils.c: Spotted a warning about the return value
   1666 	  of g_slist_prepend not being used. Fixed copying of slist-based
   1667 	  specialised collections, then wrote a test case and found that it was
   1668 	  all broken. Went on to fix iterating and appending too. Good thing
   1669 	  nobody uses this code yet.
   1670 
   1671 2006-06-06  Robert McQueen  <robot101 (a] debian.org>
   1672 
   1673 	* glib/dbus-gvalue-utils.c: Remove duplicated code by having all of
   1674 	  the iterators use gvalue_take_ptrarray_value (the GValues themselves
   1675 	  are discarded without unsetting, so it makes no difference whether
   1676 	  we take or set_static). Remove cases for G_TYPE_POINTER because
   1677 	  there really is nothing useful we can do with them in our
   1678 	  specialised types - we *need* boxed copy/free functions at the very
   1679 	  least.
   1680 
   1681 2006-06-05  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1682 
   1683 	* qt/dbus: Add directory. I had forgotten to add this
   1684 	yesterday after the move...
   1685 
   1686 	* qt/examples/Makefile.am:
   1687 	* qt/examples/dbus.cpp: Moved to qt/tools/dbus.cpp.
   1688 
   1689 	* qt/tools/Makefile.am:
   1690 	* qt/tools/dbus.cpp: Moved from qt/examples/dbus.cpp.
   1691 	Added feature to get and set properties.
   1692 	Added validation of service, object path and interface names.
   1693 
   1694 	* qt/tools/dbusidl2cpp.cpp: Two new features:
   1695 	1) Allow specifying both the header and the source file names,
   1696 	by separating them with a colon.
   1697 	2) Don't write an interface output if the -p switch wasn't
   1698 	given, but the -a was.
   1699 
   1700 	* qt/src/*: Fix usage of Iterators and ConstIterators.
   1701 	Fix shadowing of variables by other variables (-Wshadow).
   1702 	Fix keyword-cleanliness in headers.
   1703 	Fix ASCII-cast (QLatin1String, QLatin1Char).
   1704 	Fix validation of member names.
   1705 	Add extra checking of introspection data during XML parsing.
   1706 	Various bug fixes.
   1707 
   1708 2006-06-04  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1709 
   1710 	* dbus/Makefile.am:
   1711 	* dbus/qdbus.h: Remove unnecessary file. This is mirrored into
   1712         qt/dbus/qdbus.h now.
   1713 
   1714 2006-06-04  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1715 
   1716 	* configure.in: Make --disable-qt actually do
   1717           something. Patch inspired by Zack Rusin.
   1718 
   1719 2006-06-04  Thiago Macieira <thiago.macieira (a] trolltech.com>
   1720 
   1721 	* qt/: Update to Subversion r548032.
   1722 	This includes a big reorganisation of the files inside the
   1723 	subdir.
   1724 
   1725 2006-05-30  Sjoerd Simons  <sjoerd (a] luon.net>
   1726 
   1727 	* dbus/dbus-sysdeps.c: Make tcp socket connection error somewhat more
   1728 	clear:  
   1729 	"Failed to connect to socket <host>:<port> <error>" instead of
   1730 	"Failed to connect to socket <host>: <error>:<port>"
   1731 
   1732 	* dbus/dbus-transport-unix.c: Fix crash when no host option is given
   1733 	for a tcp transport. 
   1734 
   1735 2006-05-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1736 
   1737 	* qt/*: Update the QtDBus bindings up to revision 546310 in
   1738         Subversion.
   1739 	This adds the dbuscpp2xml tool, that parses a C++ header and
   1740         outputs a D-BUS Introspection XML.
   1741 
   1742 2006-05-21  Havoc Pennington  <hp (a] redhat.com>
   1743 
   1744 	* glib/dbus-gproxy.c: Put in a pile of assertions that the proxy name
   1745 	is not NULL when it shouldn't be. Also a couple of possible fixes
   1746 	for #4637 though I don't understand why the bug happens, to be
   1747 	honest... also the object constructor has an assert name != NULL
   1748 	and the name is only currently NULL for peer-to-peer proxies that 
   1749 	I don't think anyone uses? So it should be asserting.
   1750 	Anyway, for now at least see if we get an earlier assertion failure.
   1751 
   1752 	* glib/dbus-gvalue-utils.c: Put in a couple of assertions for
   1753 	apparently broken code to be sure the tests fail and someone 
   1754 	will fix them...
   1755 
   1756 2006-05-07  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1757 
   1758 	* qt/qdbusmarshall.cpp: Fix a problem of demarshalling lists
   1759         and arrays when they had a single element: has_next returns
   1760         false, even before you read the element. So, instead, check
   1761         the array length.
   1762 
   1763 2006-05-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1764 
   1765 	* qt/qdbusmessage.cpp:
   1766 	* qt/qdbustypehelper_p.h:
   1767 	* qt/qdbusintegrator.cpp: gcc 3.4 doesn't like Q_FOREACH when
   1768 	the list is a const-reference
   1769 
   1770 2006-05-03  John (J5) Palmieri  <johnp (a] redhat.com>
   1771 
   1772 	* Adding old doc patch that never got applied
   1773 	
   1774 	* dbus/bus.c (dbus_bus_add_match): Add documentation
   1775 
   1776 	* doc/dbus-specification.xml: Add documentation for the match rules
   1777 	  and the AddMatch and RemoveMatch methods
   1778 
   1779 2006-05-02  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1780 
   1781 	* qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
   1782         call (r535506)
   1783 
   1784 	* qt/dbusidl2cpp.cpp:
   1785 	* qt/qdbusabstractadaptor.cpp:
   1786 	* qt/qdbusabstractadaptor.h: Make QDBusAdaptorConnector be a
   1787         sibling of the QDBusAbstractAdaptor objects instead of the
   1788         parent. (r535848)
   1789 
   1790 	* qt/dbusidl2cpp.cpp:
   1791 	* qt/qdbusabstractinterface.cpp:
   1792 	* qt/qdbusabstractinterface.h:
   1793 	* qt/qdbusabstractinterface_p.h:
   1794 	* qt/qdbusinterface.cpp: Make properties in interfaces
   1795         actually work. The code that was generated would not compile,
   1796         due to moc calls to functions that did not exist. They now
   1797         shall. (r536571)
   1798 
   1799 2006-04-30  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1800 
   1801 	* Makefile.am:
   1802 	* configure.in:
   1803 	* dbus-qt4-1.pc.in: Add a pkg-config file for libdbus-qt4-1.
   1804 	Thanks to Brad Hards for providing the patch
   1805 
   1806 2006-04-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1807 
   1808 	* qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct
   1809         call. (r535506)
   1810 
   1811 2006-04-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1812 
   1813 	* qt/examples/dbus.cpp: Enhance error messages and use
   1814         QDBusInterfacePtr.
   1815 
   1816 2006-04-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1817 
   1818 	* qt/qdbusinterface.h: Rename QDBusRef to QDBusInterfacePtr
   1819         and disable the copy operators. (r533772, r534746)
   1820 
   1821 	* qt/qdbuserror.h: Remove the automatic cast to bool. (r533929)
   1822 
   1823 	* qt/qdbusabstractinterface.cpp:
   1824 	* qt/qdbusabstractinterface.h: Change the default call mode to
   1825         not use the event loop. Add convenience call() methods that
   1826         take a CallMode parameter. (r534042)
   1827 
   1828 	* qt/qdbusconnection.h: Change the default call mode to not
   1829         use the event loop. (r534042)
   1830 
   1831 	* qt/qdbusinterface.cpp:
   1832 	* qt/qdbusinterface.h: Add a method to tell us if the
   1833 	interface is valid (since we don't return a null pointer
   1834 	anymore) (r534099)
   1835 
   1836 	* qt/qdbusinterface_p.h: Don't crash if metaObject is 0
   1837         (r534101)
   1838 
   1839 	* qt/qdbusinternalfilters.cpp: Decouple the introspection
   1840         function in two so taht we get the chance to introspect
   1841         without having a QDBusMessage (r534102)
   1842 
   1843 	* qt/qdbusbus.h:
   1844 	* qt/qdbusconnection.cpp:
   1845 	* qt/qdbusconnection_p.h:
   1846 	* qt/qdbusintegrator.cpp: Keep a list of our own names to
   1847         avoid a round-trip to the server when attempting to introspect
   1848         one of our own objects. Also make sure the filter functions
   1849         match the empty interface as well. (r534108)
   1850 	Don't keep the connection names. Instead, trust the unique
   1851         connection name (r534111)
   1852 	Remove event loop usage (r534112)
   1853 
   1854 2006-04-29  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1855 
   1856 	* qt/qdbusintegrator.cpp: Fix assertion failure spotted by
   1857 	Brad Hards.
   1858 
   1859 2006-04-28  Robert McQueen  <robot101 (a] debian.org>
   1860 
   1861 	* glib/dbus-gproxy.c: Fix properties so that they can be given in
   1862 	any order, making it easier for people who inherit from this
   1863 	object.
   1864 
   1865 2006-04-28  Robert McQueen  <robot101 (a] debian.org>
   1866 
   1867 	* glib/dbus-gvalue-utils.c: Patch from Jakub Stachowski to fix leaking
   1868 	of memory from within pointer arrays and lists. Fixes bug #6300.
   1869 
   1870 2006-04-28  Robert McQueen  <robot101 (a] debian.org>
   1871 
   1872 	* glib/dbus-gvalue.c: Patch from Jakub Stachowski to fix a leak in
   1873 	generating struct signatures. Fixes bug #6083.
   1874 
   1875 2006-04-28  Robert McQueen  <robot101 (a] debian.org>
   1876 
   1877 	* qt/Makefile.am: Tweak CLEANFILES from qdbusconnection.moc
   1878 	to qdbusconnection_p.moc.
   1879 
   1880 2006-04-24 John (J5) Palmieri <johnp (a] redhat.com>
   1881 
   1882 	* README, INSTALL: Doc fixes
   1883 	Patch from Brad Hards <bradh at frogmouth.net>
   1884 
   1885 2006-04-23  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1886 
   1887 	* qt/examples/dbus.cpp: Use the new merged-interface mode for
   1888 	the dynamic meta object. No need to guess which interface to
   1889 	call.
   1890 
   1891 2006-04-23  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1892 
   1893 	* qt/qdbusconnection_p.h:
   1894 	* qt/qdbusmetaobject.cpp:
   1895 	* qt/qdbusmetaobject_p.h:
   1896 	* qt/qdbusintegrator.cpp: Use the new merged-interface mode
   1897 	for the dynamic meta object. No need to guess which
   1898 	interface to call.
   1899 	* qt/qdbusabstractinterface_p.h:
   1900 	* qt/qdbusconnection.cpp:
   1901 	* qt/qdbusintegrator.cpp:
   1902 	* qt/qdbusinterface.cpp:
   1903 	* qt/qdbusinterface.h: Make findInterface always return a non-null pointer.
   1904 	Add a QDBusRef that looks and behaves like DCOPRef.
   1905 
   1906 2006-04-23  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1907 
   1908 	* dbus/dbus-connection.c: Interfaces are optional in method
   1909         calls, so don't give up if the interface parameter is NULL.
   1910 	Patch reviewed by Havoc Pennington.
   1911 
   1912 2006-04-23  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1913 
   1914 	* qt/qdbusreply.h: Add default constructor and operator=
   1915           (r532625)
   1916 	* qt/qdbustypehelper_p.h: Use a clean namespace: no foreach()
   1917           in public headers (r532952)
   1918 	* qt/qdbusabstractinterface.cpp:
   1919 	* qt/qdbusabstractinterface_p.h: Add the AutoDetect mode and
   1920           make it the default (r532951)
   1921 
   1922 2006-04-19  John (J5) Palmieri  <johnp (a] redhat.com>
   1923 
   1924 	* dbus/dbus-connection.c: Fix asserts
   1925 	Patch from Tim Moloney <t.moloney at verizon.net>
   1926 
   1927 2006-04-19  John (J5) Palmieri  <johnp (a] redhat.com>
   1928 
   1929 	* mono/Connection.cs, mono/Message.cs: Check Target type
   1930 	Patch from Aaron Bockover (abockover at novell.com)
   1931 
   1932 2006-04-13  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1933 
   1934 	* INSTALL: fine-tune the requirements for the Qt4 binding.
   1935 
   1936 2006-04-16  Daniel P. Berrange  <dan (a] berrange.com>
   1937 
   1938 	* tools/dbus-print-message.c: Added support for printing of all 
   1939 	  remaining data types. Fixed logic for indentation of compound
   1940 	  data types.
   1941 	
   1942 2006-04-15  Daniel P. Berrange  <dan (a] berrange.com>
   1943 
   1944 	* INSTALL: fill out content of file providing DBus specific
   1945 	  build installations, followed by generic Auto* INSTALL file
   1946 	  content
   1947 	
   1948 2006-04-13  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1949 
   1950 	* qt/qdbusintegrator.cpp: Work around g++ 3.3 bug.
   1951 	  Patch by Stefan Eilers. (r529537)
   1952 
   1953 2006-04-13  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1954 
   1955 	* qt/qdbusinternalfilters.cpp: Don't show the parent's
   1956   	  contents (r528208)
   1957 
   1958 2006-04-10  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1959 
   1960 	* qt/Makefile.am: fix the dependency for
   1961           qdbusconnection_p.moc. It's included in qdbusintegrator.cpp,
   1962 	  not in qdbusconnection.cpp.
   1963 	  Thanks to Jakub Stachowski <stachowski (a] hypair.net> for
   1964           spotting this.
   1965 
   1966 2006-04-10  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1967 
   1968 	* qt/examples/listnames.cpp:
   1969 	* qt/examples/Makefile.am: Three ways to list the names on the
   1970 	  bus.
   1971 
   1972 2006-04-10  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1973 
   1974 	* test/qt/tst_hal.cpp: Remove the waiting, since it's not
   1975           needed anymore. Requires Qt 4.1.3 to work properly. (r528148)
   1976 
   1977 2006-04-10  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1978 
   1979 	Merge from Subversion:
   1980 	* qt/qt-dbus.qdocconf: Update Trolltech's webpage link to
   1981 	  something that exists (r526315)
   1982 	* qt/qdbusinternalfilters.cpp: Correctly detect non-scriptable
   1983 	  slots/signals (r526316)
   1984 	* qt/qdbusinternalfilters.cpp: Fix the setProperty call and
   1985 	  also return an unknown-method error if the parameters don't
   1986 	  match for org.freedesktop.DBus.Properties. (r526842)
   1987 	* qt/examples/dbus.cpp: Allow passing of QVariants (r526843)
   1988 	* qt/qdbusintegrator.cpp: Restore the proper order of
   1989 	  delivery: don't make method returns be delivered on priority
   1990 	  (r528150)
   1991 
   1992 2006-03-28  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   1993 
   1994 	* configure.in qt/Makefile.am: add qt/examples
   1995 	* qt/examples: Add QtDBus example programs:
   1996 	  - hello: Hello, World
   1997 	  - ping: Simple method-calling program
   1998 	  - pong: Simple object-exporting program (not using adaptors)
   1999 	  - complexping: Interactive method-calling program 
   2000 		(also gets and sets properties).
   2001 	  - complexpong: Sample program exporting methods, signals and
   2002 		properties, using adaptors.
   2003 	  - dbus: Simple implementation of a generic method-calling
   2004 		program, similar to 'dbus-send', but with semantics
   2005 		similar to 'dcop'.
   2006 	  - chat: Simplistic chat program, implemented using signals
   2007 		and the system bus. Looks like IRC.
   2008 
   2009 2006-03-28  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2010 
   2011 	* configure.in: Detect QtGui (necessary for one of the
   2012           example programs). Note: this increases the minimum required
   2013           version of Qt to 4.1.3.
   2014 
   2015 2006-03-28  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2016 
   2017 	* test/qt/*: Sync with KDE Subversion revision 523647.
   2018         Update the testcases to the new API. Remove testcases for
   2019         classes that are no longer public or have been removed.
   2020 
   2021 2006-03-28  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2022 
   2023 	* qt/*: 
   2024 	* dbus/qdbus.h: Sync with KDE Subversion revision
   2025 	523647. Hopefully, this will be the last of the
   2026 	source-incompatible changes. Documentation has been improved;
   2027 	support for QList<basic-types> has been added; QDBusObject is
   2028 	gone; QDBus(Abstract)Interface is now a QObject with
   2029 	auto-generated meta-object; QDBusIntrospection is marked
   2030 	private, since QMetaObject can be used now; lots of bugfixes.
   2031 
   2032 2006-03-16  John (J5) Palmieri  <johnp (a] redhat.com>
   2033 
   2034 	Patch from Milosz Derezynski <internalerror at gmail.com>
   2035 	
   2036 	* configure.in:
   2037 	Output the service directory in the configure summary
   2038 
   2039 	* dbus-1.pc.in:
   2040 	Add session_bus_services_dir
   2041 
   2042 2006-03-10  Ross Burton  <ross (a] openedhand.com>
   2043 
   2044 	* tools/dbus-print-message.c:
   2045 	Add support for object paths and signatures.
   2046 
   2047 2006-03-06  Sjoerd Simons <sjoerd (a] luon.net>
   2048 
   2049 	* bus/bus.c: (bus_context_reload_config): Flush the user database cache on
   2050 	config reload.
   2051 	* bus/dbus-daemon.1.in: Also note that SIGHUP flushes the user/group
   2052 	information caches
   2053 	* dbus/dbus-hash.c: (_dbus_hash_table_remove_all): 
   2054 	* dbus/dbus-hash.h: Add function to remove all entries from a hash table
   2055 	* dbus/dbus-userdb.c: (_dbus_user_database_flush):
   2056 	* dbus/dbus-userdb.h: Add function to flush all user/group information
   2057 	caches.
   2058 
   2059 2006-03-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2060 
   2061 	* qt/dbusidl2cpp.cpp:
   2062 	* qt/Makefile.am: add the dbusidl2cpp tool, the replacement
   2063 	for dcopidl2cpp, found in the KDE installations (or the more
   2064 	modern kalyptus): generate Qt4 C++ code for the input XML
   2065 	introspection. Currently no IDL parsing.
   2066 
   2067 2006-03-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2068 
   2069 	* test/qt/*: Update the self-tests.
   2070 
   2071 2006-03-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2072 
   2073 	* qt/*: 
   2074 	* dbus/qdbus.h: Sync with KDE Subversion revision 516237. This
   2075 	represents the first feature-complete version of the Qt4
   2076 	bindings since I took ove maintainership.
   2077 
   2078 2006-03-06  Thiago Macieira  <thiago.macieira (a] trolltech.com>
   2079 
   2080 	* qt/Doxyfile: Adding a Doxyfile for the Qt4 bindings
   2081         dir. This is C++, so we can't use the DBus ones.
   2082 
   2083 2006-03-02  John (J5) Palmieri  <johnp (a] redhat.com>
   2084 
   2085 	* python/dbus_bindings.pyx: Remove refrence to sys/cdefs.h
   2086 	(Patch from Artem Kachitchkine <Artem.Kachitchkin at Sun.COM>)
   2087 
   2088 2006-03-02  John (J5) Palmieri  <johnp (a] redhat.com>
   2089 
   2090 	* dbus/dbus-connection.c: 
   2091 	(_dbus_connection_block_pending_call):
   2092 	Check to see if our data has already been read off the connection
   2093 	by another blocking pending call before we block in poll.
   2094 	(check_for_reply_and_update_dispatch_unlocked):
   2095 	Code taken from _dbus_connection_block_pending_call - checks for
   2096 	an already read reply and updates the dispatch if there is one.
   2097 
   2098 	* test/name-test/test-pending-call-dispatch.c:
   2099 	New test for making sure we don't get stuck polling a 
   2100 	dbus connection which has no data on the socket when
   2101 	blocking out of order on two or more pending calls.
   2102 
   2103 2006-02-28  Thiago Macieira <thiago.macieira (a] trolltech.com>
   2104 
   2105 	* qt/Makefile.am: Patch by Sjoerd Simons. More .moc issues:
   2106         make/automake don't detect that we're talking about the same
   2107         .lo file if I specify the full path to the source files.
   2108 
   2109 2006-02-26  Havoc Pennington  <hp (a] redhat.com>
   2110 
   2111 	* bus/dbus-daemon.1.in: improve the language in a couple spots I noticed
   2112 
   2113 	* dbus/dbus-bus.c (internal_bus_get): in the error message if the
   2114 	session bus variable is unset, suggest "man dbus-launch" and "man
   2115 	dbus-daemon" to figure out how to fix the problem
   2116 
   2117 2006-02-25  Havoc Pennington  <hp (a] redhat.com>
   2118 
   2119 	* glib/dbus-glib-tool.c (usage): fix up the usage message, someone
   2120 	should make this thing use the new glib options parser
   2121 
   2122 2006-02-25  Thiago Macieira <thiago.macieira (a] trolltech.com>
   2123 
   2124 	* qt/Makefile.am: Patch by Sjoerd Simons. Fix the path to the
   2125         .lo files taking moc sources.
   2126 
   2127 2006-02-25  Havoc Pennington  <hp (a] redhat.com>
   2128 
   2129 	* dbus/dbus.h, dbus/Makefile.am: add dbus-signature.h to dbus.h
   2130 	and install it as a public header
   2131 
   2132 2006-02-24  John (J5) Palmieri  <johnp (a] redhat.com>
   2133 
   2134 	* Released 0.61
   2135 
   2136 2006-02-24  John (J5) Palmieri  <johnp (a] redhat.com>
   2137 	
   2138 	* proxies.py: Fix the callchain
   2139 
   2140 2006-02-24  John (J5) Palmieri <johnp (a] redhat.com>
   2141 	
   2142 	* patch from Sjoerd Simons <sjoerd at debian.org>:	
   2143 
   2144 	* dbus/dbus-sysdeps-util.c (_dbus_group_info_free): Moved to 
   2145 	dbus/dbus-sysdeps.c
   2146 
   2147 	* dbus/dbus-userdb.c (_dbus_group_info_free_allocated): Don't
   2148 	call _dbus_group_info_free_allocated which causes infinite loop,
   2149 	correctly call _dbus_group_info_free
   2150 
   2151 2006-02-20  Thiago Macieira <thiago.macieira (a] trolltech.com>
   2152 
   2153 	* qt/qdbusinterface_p.h:
   2154 	* qt/qdbusinterface.cpp: Use the standard
   2155 	org.freedesktop.DBus.Method.NoReply annotation for the "async"
   2156 	calls instead of creating one for us.
   2157 
   2158 	* qt/qdbusconnection_p.h:
   2159 	* qt/qdbusintegrator.cpp: Remove debugging code.
   2160 
   2161 	* qt/qdbusintegrator.cpp:
   2162 	* qt/qdbusmessage.cpp:
   2163 	* qt/qdbusmessage_p.h:
   2164 	* qt/qdbusmessage.h: Change the behaviour of automatic
   2165 	reply-sending: now a reply is always sent, unless the caller
   2166 	didn't request one or if the user slot has already sent one.
   2167 
   2168 2006-02-16  Robert McQueen  <robot101 (a] debian.org>
   2169 
   2170 	* configure.in: Patch from Debian packages by Sjoerd Simons
   2171 	<sjoerd (a] debian.org> to add --with-qt-moc and --with-qt3-moc
   2172 	arguments so it's possible to build both bindings in the
   2173 	same tree.
   2174 
   2175 	* qt/Makefile.am: Fix truncated value so that make dist works.
   2176 
   2177 2006-02-16  Robert McQueen  <robot101 (a] debian.org>
   2178 
   2179 	* acinclude.m4, configure.in: Patch from Brad Hards
   2180 	<bradh (a] frogmouth.net> to avoid warnings from autoconf 1.9 by
   2181 	improving quoting, re-ordering a few checks, and a few other
   2182 	aesthetic tidy-ups.
   2183 
   2184 2006-02-16  Robert McQueen  <robot101 (a] debian.org>
   2185 
   2186 	* dbus/dbus-message.c (dbus_message_iter_get_fixed_array):
   2187 	Patch from Rob Taylor <rob.taylor (a] collabora.co.uk> to correct a bogus
   2188 	assertion that the next element to read from the iter is fixed in
   2189 	size. This is not the case when you are at the end of the iter,
   2190 	because the next element type is INVALID.
   2191 
   2192 	* dbus/dbus-string.c (_dbus_string_init_const_len): Correct a
   2193 	a bogus assert which means that you may not initialise a 0-length
   2194 	string unless you provide a non-NULL pointer. This prevented
   2195 	you from marshalling messages containing zero-length arrays in
   2196 	some cases.
   2197 
   2198 	* glib/dbus-gvalue.c (demarshal_collection_array): Another patch
   2199 	from Rob to correct bogus asserts when trying to demarshal an
   2200 	array and get_fixed_array got you 0 elements. Append nothing to
   2201 	the GArray in this case.
   2202 
   2203 	* test/glib/test-dbus-glib.c: Add a test case for round-tripping
   2204 	an empty array via the glib bindings. Without all of the above
   2205 	patches, this new test fails.
   2206 
   2207 2006-02-16  Robert McQueen  <robot101 (a] debian.org>
   2208 
   2209 	* glib/dbus-gmain.c: Make the previous commit compile.
   2210 
   2211 	* python/_dbus.py, python/matchrules.py: Patch from Ole Andre
   2212 	Ravnaas <ole.andre.ravnaas (a] collabora.co.uk> to allow you to
   2213 	specify sender_keyword="foo", path_keyword="bar" when adding
   2214 	a signal listener, so that you can bind to signals generically
   2215 	but still do something useful in your callback.
   2216 
   2217 	* python/dbus_bindings.pyx: Demarshal the byte type as unsigned
   2218 	chars so that they're not cast to chars and made negative. Thanks
   2219 	to Jakub Stachowski for reporting this and testing the fix.
   2220 
   2221 2006-02-15  John (J5) Palmieri  <johnp (a] redhat.com>
   2222 
   2223 	* dbus/dbus-glib.h:
   2224 	* glib/dbus-gmain.h:
   2225 	(dbus_g_connection_open): new method for openning
   2226 	a connection to an arbitrary address in the glib bindings
   2227 
   2228 	* ChangeLog: checkin last entry which doesn't seem to be commited
   2229 
   2230 2006-02-13  John (J5) Palmieri  <johnp (a] redhat.com>
   2231 
   2232 	* tools/dbus-launch.c: Fixed sh syntax output
   2233 
   2234 2006-02-13  Robert McQueen  <robot101 (a] debian.org>
   2235 
   2236 	* glib/dbus-binding-tool-glib.c, glib/dbus-gmain.c,
   2237 	glib/dbus-gsignature.c, glib/dbus-gtype-specialized.c,
   2238 	glib/dbus-gtype-specialized.h, glib/dbus-gvalue-utils.c,
   2239 	glib/dbus-gvalue-utils.h, glib/dbus-gvalue.c:
   2240 	Patch from Rob Taylor <rob.taylor (a] collabora.co.uk> to add a big
   2241 	missing piece of the glib bindings jigsaw puzzle. This modifies
   2242 	the existing specialised types to have N type parameters (rather
   2243 	than the current 1 or 2 for arrays and dictionaries respectively).
   2244 	You can then use this to get a glib type to represent any arbitrary
   2245 	D-Bus struct type using dbus_g_type_get_struct. The only
   2246 	implementation of these types is with GValueArrays as before,
   2247 	but it's now possible to store these in arrays, emit them in
   2248 	signals, etc.
   2249 
   2250 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2251 
   2252 	* dbus/dbus-signature.c (dbus_signature_iter_recurse): Correctly
   2253 	deal with nested arrays (Bug #5823) Patch by Thiago Macieira 
   2254 	<thiago.macieira at trolltech.com>
   2255 
   2256 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2257 
   2258 	* mono/doc/Makefile.am: Fix parallel make problem with mono-doc
   2259 	(Bug #4213) Patch from Doug Goldstein <cardoe at gentoo.org>
   2260 
   2261 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2262 
   2263 	* bus/connection.c (bus_connections_expect_reply): Make
   2264 	pending reply limit not common to all connections (Bug #5416)
   2265 	Patch from Kimmo Hmlinen <kimmo.hamalainen at nokia.com>
   2266 
   2267 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2268 
   2269 	* tools/dbus-launch.c: Fixed csh syntax output (Bug #5720)
   2270 
   2271 2006-02-10  John (J5) Palmieri  <johnp (a] redhat.com>
   2272 
   2273 	* gcj/Makefile.am: point to correct jar command (Bug #4529)
   2274 	patch from Doug Goldstein <cardoe at gentoo.org>
   2275 
   2276 2006-02-09  Joe Shaw  <joeshaw (a] novell.com>
   2277 
   2278 	* mono/Arguments.cs: Fix a magic number in the mono bindings
   2279 	that doesn't work on 64 bit arches.  Patch from Peter Johanson.
   2280 
   2281 2006-01-27  Robert McQueen  <robot101 (a] debian.org>
   2282 
   2283 	* glib/dbus-binding-tool-glib.[ch]: Patch based on Ricardo Kekki's
   2284 	patch to use an annotation org.freedesktop.DBus.GLib.ClientCSymbol
   2285 	when generating the client-side methods, instead of overloading
   2286 	CSymbol which broke everything horribly. My apologies.
   2287 
   2288 2006-01-27  Robert McQueen  <robot101 (a] debian.org>
   2289 
   2290 	* glib/dbus-gtype-specialized.[ch], glib/dbus-gvalue-utils.c: Patch
   2291 	by me and Rob Taylor to add a simple_free function to D-Bus map
   2292 	and collection types, which allows those types which can be freed
   2293 	with a GDestroyNotify (such as GHashTables and GArrays, but not
   2294 	GPtrArrays) to be stored as the values in hashtables.
   2295 
   2296 	* test/glib/test-dbus-glib.c, test/glib/test-service-glib.{c,xml}:
   2297 	Patch by Rob Taylor to add nested dicts to the glib tests to check
   2298 	the above code works, and appears not to leak when called repeatedly.
   2299 
   2300 2006-01-27  Robert McQueen  <robot101 (a] debian.org>
   2301 
   2302 	* glib/dbus-gvalue.c (demarshal_valuearray): Patch from Rob Taylor
   2303 	to free a D-Bus allocated string with dbus_free () instead of
   2304 	g_free ().
   2305 
   2306 2006-01-27  Iain Holmes  <iain (a] openedhand.com>
   2307 
   2308 	* glib/dbus-gproxy.c (dbus_g_proxy_dispose): Protect the dispose
   2309 	method from being called multiple times.
   2310 
   2311 2006-01-19  Robert McQueen  <robot101 (a] debian.org>
   2312 
   2313 	* glib/dbus-binding-tool-glib.c: Patch from Rob Taylor
   2314 	<rob.taylor (a] collabora.co.uk> to add support for generating bindings
   2315 	to arrays that are represented as GPtrArrays rather than GArrays (ie
   2316 	size-variable things, such as strings, objects, structs, etc).
   2317 
   2318 2006-01-05  Robert McQueen  <robot101 (a] debian.org>
   2319 
   2320 	* dbus/dbus-glib.h, glib/dbus-gproxy.c: Patch from Ricardo Kekki
   2321 	<ricardo.kekki (a] movial.fi> to make it possible to inherit from
   2322 	DBusGProxy, by splitting the DBusGProxy struct into a public part and
   2323 	a private part, and moving the setting of the DBusGProxyManager into a
   2324 	connection property, allowing proper GObject construction.
   2325 
   2326 2006-01-05  Robert McQueen  <robot101 (a] debian.org>
   2327 
   2328 	* glib/dbus-binding-tool-glib.c: Patch from Ricardo Kekki
   2329 	<ricardo.kekki (a] movial.fi> to make dbus-binding-tool heed C symbol name
   2330 	annotations when generating glib client bindings.
   2331 
   2332 2005-12-19 John (J5) Palmieri  <johnp (a] redhat.com>
   2333 
   2334 	* dbus/dbus-shared.h: Call it shared constants instead of shared macros
   2335 
   2336 	* dbus/dbus-protocol.h: add DOxygen markup to quiet warnings
   2337 
   2338 2005-12-19 John (J5) Palmieri  <johnp (a] redhat.com>
   2339 
   2340 	* dbus/dbus-shared.h: add DOxygen markup to quiet warnings
   2341 
   2342 2005-12-19 John (J5) Palmieri  <johnp (a] redhat.com> 
   2343 
   2344 	* dbus/dbus-macros.h: correct DOxygen end of section (s/}@/@})
   2345 
   2346 2005-12-19  Ross Burton  <ross (a] openedhand.com>
   2347 
   2348 	* doc/dbus-tutorial.xml:
   2349 	Document the Glib client-side bindings, and list all possible annotations.
   2350 
   2351 2005-12-19  John (J5) Palmieri  <johnp (a] redhat.com>
   2352 
   2353 	* dbus/bus.c (dbus_bus_release_name): Add documentation
   2354 
   2355 2005-12-06  Robert McQueen  <robot101 (a] debian.org>
   2356 
   2357 	* python/service.py: s/sucessful/successful/ so we're allocating to
   2358 	and reading from the same variable. Oops.
   2359 
   2360 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2361 
   2362 	* Released 0.60
   2363 
   2364 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2365 
   2366 	* test/qt/Makefile.am: build from srcdir
   2367 
   2368 	* qt/qtconnection.cpp (requestName): Changed PROHIBIT_REPLACE to ALLOW_REPLACE
   2369 	Note - this code is wrong and needs to be fixed by the Qt binding
   2370 	developers.  The flags should be treated as bitfields and not enums.
   2371 
   2372 	* qt/qtconnection.h: Change ProhibitReplace to AllowReplace
   2373 
   2374 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2375 
   2376 	* dbus/dbus-list.c (_dbus_list_insert_after_link, _dbus_list_insert_after, 
   2377 	  link_after): remove #ifdef DBUS_BUILD_TESTS since we use these methods 
   2378 	  in production code
   2379 
   2380 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2381 
   2382 	* dbus/dbus-connection.c (dbus_connection_read_write): Add new
   2383 	method for getting messages off the bus in the absence of a
   2384 	mainloop.  This method is much like 
   2385 	dbus_connection_read_write_dispatch except it does not dispatch
   2386 	the messages to a registered filter function.  Instead it
   2387 	allows a developer to process messages by directly popping
   2388 	them off the bus.
   2389 
   2390 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2391 
   2392 	* bus/desktop-file.c (parse_key_value): Ignore locales allowing 
   2393 	the parser to continue instead of returning error
   2394 	(bus_desktop_file_load): Do not free parser data when
   2395 	parse_section_start or parse_key_value fails because it was 
   2396 	already freed by parser_free (patch from Carlos Garcia Campos  
   2397 	<carlosgc at gnome.org>)
   2398 
   2399 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2400 
   2401 	* dbus/dbus-auth.c, dbus/dbus-connection.c, dbus/dbus-keyring.c,
   2402 	dbus/dbus-server-debug-pipe.c, glib/dbus-binding-tool-glib.c
   2403 	glib/dbus-glib-tool.c, glib/dbus-gparser.c, glib/dbus-gproxy.c
   2404 	test/test-segfault.c, test/test-utils.c,
   2405 	test/glib/test-dbus-glib.c, tools/dbus-cleanup-sockets.c
   2406 	tools/dbus-launch.c, tools/dbus-tree-view.c, tools/dbus-viewer.c:
   2407 	Various cleanup of dead code and compiler warnings (patch from
   2408 	Kjartan Maraas <kmaraas at gnome.org>) 
   2409 
   2410 2005-11-30  John (J5) Palmieri  <johnp (a] redhat.com>
   2411 
   2412 	* glib/dbus-gmain.c (connection_setup_add_watch): plugged a leak
   2413 	(patch from Carlos Garnacho Parro <carlosg at gnome.org>
   2414 
   2415 2005-11-27  Robert McQueen  <robot101 (a] debian.org>
   2416 
   2417 	* python/dbus_bindings.pyx: Repair my previous commit which reverted
   2418 	part of the preceding one. Oops. Merge patch by Johan Hedberg
   2419 	<johan.hedberg (a] nokia.com> to fix marshalling of 16-bit integer values
   2420 	on big-endian platforms.
   2421 
   2422 	* test/python/test-client.py: Add some 16-bit integers to the test
   2423 	values.
   2424 
   2425 2005-11-27  Carlos Garcia Campos  <carlosgc (a] gnome.org>
   2426 
   2427 	* glib/dbus-gobject.c: Append a GValue instead of a basic type in
   2428 	method return message for property getters
   2429 
   2430 2005-11-27  Robert McQueen  <robot101 (a] debian.org>
   2431 
   2432 	* python/dbus_bindings.pyx: Fix a bug where doing a strict append
   2433 	with type v of an instance of dbus.Variant(foo, type='x') caused
   2434 	it to be boxed twice before sending over the bus.
   2435 
   2436 	* python/dbus_bindings.pyx, python/service.py,
   2437 	test/python/test-client.py: Update the constants for the new
   2438 	request_name flags, and update comments/test cases now that queueing
   2439 	is the default action.
   2440 
   2441 2005-11-22  John (J5) Palmieri  <johnp (a] redhat.com>
   2442 
   2443 	* configure.in:
   2444 	- Change version to 0.60 for impending release
   2445 	- upped the sonames because of ABI and API breakage
   2446 
   2447 2005-11-22  John (J5) Palmieri  <johnp (a] redhat.com>
   2448 
   2449 	* configure.in: Add test/name-test/Makefile to the generated
   2450 	Makefile list
   2451 
   2452 	* dbus/dbus-shared.h (#define DBUS_NAME_FLAG_ALLOW_REPLACEMENT):
   2453 	New flag which replaces DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT
   2454 	(#define DBUS_NAME_FLAG_DO_NOT_QUEUE): New flag for specifying
   2455 	not to queue an ower if it can't be the primary owner
   2456 
   2457 	* bus/bus.h: Add new internal BusOwner struct
   2458 
   2459 	* bus/driver.c (bus_driver_handle_hello): Send flags (0 for default)
   2460 	to bus_registry_ensure and don't set the prohibit_replacement flag
   2461 	since they are now set per BusOwner and not per name.
   2462 	(bus_driver_handle_list_queued_owners): bus method (ListQueuedOwners) 
   2463 	that returns the list of connections in a name's connection queue
   2464 	
   2465 	* bus/services.c (struct BusService): remove prohibit_replacement field
   2466 	(struct BusOwner): new struct for keeping track of queued connections
   2467 	and their associated flags for the queue
   2468 	(struct BusRegistry): add a BusOwner memory pool
   2469 	(bus_registry_new): initialize the BusOwner memory pool
   2470 	(bus_registry_unref): free the BusOwner memory pool
   2471 	(_bus_service_find_owner_link): new internal method for
   2472 	searching the queue for a specific connection
   2473 	(bus_owner_set_flags): new method for adding setting the flags on a
   2474 	bus owner
   2475 	(bus_owner_new): new method that creates a BusOwner object from the
   2476 	pool and sets its flags
   2477 	(bus_owner_ref, bus_owner_unref): ref counting for BusOwner objects
   2478 	(bus_registry_ensure): Add the flags parameter
   2479 	(bus_registry_acquire_service): Switch from using raw connections to
   2480 	using the BusOwner struct
   2481 	Add new state machine for dealing with the new set of flags
   2482 	(bus_registry_set_service_context_table, struct OwnershipCancelData, 
   2483 	cancel_ownership, free_ownership_cancel_data, 
   2484 	add_cancel_ownership_to_transaction, struct OwnershipRestoreData, 
   2485 	restore_ownership, free_ownership_restore_data, 
   2486 	add_restore_ownership_to_transaction): Switch to using BusOwner 
   2487 	instead of raw connections
   2488 	(bus_service_add_owner): Add flags parameter
   2489 	Switch to using BusOwner instead of raw connections
   2490 	Add state machine for dealing with the new set of flags
   2491 	(bus_service_swap_owner): Swaps the first and second owners in the
   2492 	queue.  Used to make sure proper signals are sent when a service looses 
   2493 	or gains primary ownership.  We never insert an owner at the top of the
   2494 	queue.  Instead we insert it in the second position and then swap.
   2495 	(bus_service_remove_owner): Remove the owner from the queue sending
   2496 	out the NameLost and NameOwnerChanged signals if the we were the 
   2497 	primary owner
   2498 	(bus_service_get_primary_owners_connection): New method that extracts
   2499 	the connection from the primary owner
   2500 	(bus_service_get_primary_owner): Returns the BusOwner instead of the 
   2501 	connection
   2502 	(bus_service_get_allow_replacement): Changed from the old 
   2503 	bus_service_get_prohibit_replacement method.  Checks the flags of the 
   2504 	primary owner and returns if it can be replaced or not
   2505 	(bus_service_set_prohibit_replacement): removed
   2506 	(bus_service_has_owner): returns TRUE if and owner with
   2507 	the specified connection exists in the queue
   2508 	
   2509 	* dbus/dbus-bus.c (dbus_bus_connection_get_unique_name): New helper
   2510 	method that only compiles if tests are enabled.  Allows us to get the 
   2511 	unique name of a connection so we can check it against the queue when
   2512 	doing regression tests
   2513 
   2514 	* bus/activation.c (bus_activation_send_pending_auto_activate),
   2515 	bus/dispatch.c (bus_dispatch),  
   2516 	bus/driver.c (bus_driver_handle_get_service_owner, 
   2517 	bus_driver_handle_get_connection_unix_user, 
   2518 	bus_driver_handle_get_connection_unix_process_id,
   2519 	bus_driver_handle_get_connection_selinux_security_context),
   2520 	bus/signals.c (connection_is_primary_owner): 
   2521 	use bus_service_get_primary_owners_connection instead of
   2522 	bus_service_get_primary_owner
   2523 
   2524 	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket, 
   2525 	_dbus_listen_unix_socket): Calculate the length of the socket
   2526 	path and use that instead of using a fixed length which was
   2527 	causing socket names to contain many trailing Nul bytes.
   2528 
   2529 	* dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c
   2530 	(dbus_g_method_get_sender): New method for extracting the sender 
   2531 	from a DBusGMethodInvocation
   2532 	(dbus_g_method_return_get_reply): changed name to 
   2533 	dbus_g_method_get_reply
   2534 	(dbus_g_method_return_send_reply): changed name to
   2535 	dbus_g_method_send reply
   2536 
   2537 	* doc/dbus-specification.xml: New docs that describe how the new
   2538 	queueing system works and talks about the changes to the how
   2539 	we specify socket names
   2540 
   2541 	* glib/examples/example-service.c, 
   2542 	glib/examples/example-signal-emitter.c,
   2543 	glib/examples/statemachine/statemachine-server.c:
   2544 	Changed the RequestName flags to the new system
   2545 
   2546 	* test/name-test/ (test-names.c, run-test.sh, Makefile.am): New
   2547 	regression test suite for testing various states of the new
   2548 	queueing system
   2549 	
   2550 2005-11-15  Robert McQueen  <robot101 (a] debian.org>
   2551 
   2552 	* dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c: Patch from Rob
   2553 	Taylor to add two methods, dbus_g_method_return_get_reply and
   2554 	dbus_g_method_return_send_reply, to allow you to get the reply
   2555 	message from a DBusGMethodInvocation, append arbitrary stuff to it,
   2556 	and send it. The GLib bindings can't marshal a return value of
   2557 	something like a(s) if the array is empty - ultimately they should be
   2558 	made to heed the signature of the out arguments as the Python bindings
   2559 	now can, but this is a workable interim solution which might have
   2560 	other applications.
   2561 
   2562 2005-11-15  Robert McQueen  <robot101 (a] debian.org>
   2563 
   2564 	* bus/driver.c, bus/services.c, bus/services.h: Add a ReleaseName
   2565 	method to org.freedesktop.DBus to release a bus name or give up
   2566 	waiting in the queue for it.
   2567 
   2568 	* dbus/dbus-bus.c, dbus/dbus-bus.h, dbus/dbus-shared.h: Add a
   2569 	dbus_bus_release_name method to send the ReleaseName method calls.
   2570 	Add constants for the return values to dbus/dbus-shared.h.
   2571 
   2572 	* doc/dbus-specification.xml: Document the new ReleaseName method
   2573 	in the specification.
   2574 
   2575 	* python/dbus_bindings.pyx: Add a low-level python binding for the
   2576 	release name method.
   2577 
   2578 	* python/exceptions.py, python/service.py: Make freeing BusName
   2579 	objects release the name. Add a NameExistsException, and fix a
   2580 	bug with creating UnknownMethodException.
   2581 
   2582 	* test/python/test-client.py: Add tests for freeing BusName
   2583 	objects causing names to be released.
   2584 
   2585 2005-11-14  Robert McQueen  <robot101 (a] debian.org>
   2586 
   2587 	* python/service.py: Include the traceback in the error reply when we
   2588 	send an exception over the bus. _BEST_ _PATCH_ _EVER_
   2589 
   2590 2005-11-14  David Zeuthen  <davidz (a] redhat.com>
   2591 
   2592 	Patch from Timo Hoenig <thoenig (a] suse.de>.
   2593 
   2594 	* bus/bus.c: I've recently investigated why the automatic reload
   2595 	of configuration files does not work as expected.
   2596 
   2597 	Currently, reloading configuration files does only work when
   2598 	running dbus-daemon with --nodaemon.  If we are running as daemon
   2599 	we're hitting a dnotify bug once we fork the process.
   2600 
   2601 	We're initializing the dnotify fds before calling fork().  Once
   2602 	the child process forked it does still have the fds (and they
   2603 	still show up in /proc/`pidof dbus-daemon`/fd/) but we're not
   2604 	getting SIGIO as changes are made to the configuration files.
   2605 
   2606 	The attached patch moves the initialization of the dnotify fds to
   2607 	process_config_postinit().  This is safe for all current code
   2608 	paths and solves the dnotify disfunction.  If we're running
   2609 	dbus-daemon as daemon the fds for dnotify are now being
   2610 	initialized after fork() for the child process.
   2611 
   2612 	* configure.in: The current configure.in check for dnotify probes
   2613 	'x$target_os' for being 'xlinux-gnu'.  I've changed the check to
   2614 	match for 'xlinux', too. Additionally I have adapted the configure
   2615 	option's style to match with the others.
   2616 
   2617 2005-11-14  Robert McQueen  <robot101 (a] debian.org>
   2618 
   2619 	* python/decorators.py, python/service.py: Add a new argument to the
   2620 	dbus.service.method decorator called sender_keyword, which if set,
   2621 	specifies the name of an argument which will be provided the bus
   2622 	name of the method caller.
   2623 
   2624 	* test/python/test-client.py, test/python/test-service.py: Add a
   2625 	method and test to check the sender_keyword functionality.
   2626 
   2627 2005-11-07  John (J5) Palmieri  <johnp (a] redhat.com>
   2628 
   2629 	* bus/driver.c (bus_driver_handle_reload_config): Make sure we send an 
   2630 	empty reply so blocking calls don't block forever (Patch from Sjoerd 
   2631 	Simons <sjoerd at luon.net>)
   2632 
   2633 	* AUTHORS: Add Robert McQueen for his work on the Python
   2634 	Bindings and other parts of D-Bus
   2635 
   2636 2005-11-07  Robert McQueen  <robot101 (a] debian.org>
   2637 
   2638 	* python/decorators.py: Change emit_signal function to use the
   2639 	signature annotation of the signal when marhsalling the arguments from
   2640 	the service. Fix a bug where the code checking signature length
   2641 	against argument length referenced the wrong variable.
   2642 
   2643 	* python/introspect_parser.py: Avoid adding the type signature of
   2644 	signal arguments to any methods which occur after them in the
   2645 	introspection data (!) by making the parser a little more careful
   2646 	about its current state.
   2647 
   2648 	* python/service.py: Remove debug prints from last commit (again :D).
   2649 
   2650 	* test/python/test-client.py, test/python/test-service.py: Add test
   2651 	signals with signature decorators to test the strict marshalling code
   2652 	gives errors at the right time. Could do with checking the signals
   2653 	actually get emitted too, given that the test does nothing with
   2654 	signals at the moment...
   2655 
   2656 2005-11-07  Robert McQueen  <robot101 (a] debian.org>
   2657 
   2658 	* python/_dbus.py: Add WeakReferenceDictionary cache of dbus.Bus
   2659 	instances to stop madness of creating new instances representing
   2660 	the same bus connection all the time, rendering any tracking of
   2661 	match rules and bus names quite meaningless. Caught a bug where
   2662 	the private argument to SessionBus() and friends was being passed
   2663 	in as use_default_mainloop by mistake. Still some problems with
   2664 	multiple dbus_binding.Connection instances representing the same
   2665 	low-level connection (eg when you use both SessionBus() and
   2666 	StarterBus() in same process), but it's a lot better now than it
   2667 	was.
   2668 
   2669 	* python/dbus_bindings.pyx: Add constants with the return values
   2670 	for bus_request_name().
   2671 
   2672 	* python/service.py: Store bus name instances in a per-dbus.Bus cache
   2673 	and retrieve the same instances for the same name, so deletion can be
   2674 	done with refcounting. Also now throws some kind of error if you
   2675 	don't actually get the name you requested, unlike previously...
   2676 
   2677 	* test/python/test-client.py: Add tests for instance caching of buses
   2678 	and bus name objects.
   2679 
   2680 2005-11-04  Robert McQueen  <robot101 (a] debian.org>
   2681 
   2682 	* python/dbus_bindings.pyx, test/python/test-client.py: Fix
   2683 	marshalling of boolean values. Add some booleans to the values in
   2684 	the test client.
   2685 
   2686 	* python/decorators.py, python/service.py: Add an 'async_callbacks'
   2687 	argument to the dbus.service.method decorator, which allows you to
   2688 	name arguments to take two callback functions for replying with
   2689 	return values or an exception.
   2690 
   2691 	* test/python/test-client.py, test/python/test-service.py: Add test
   2692 	case using asynchronous method reply functions, both return values and
   2693 	errors, and from within both the function itself and from a mainloop
   2694 	callback.
   2695 
   2696 	* python/decorators.py, python/service.py: Perform checking that the
   2697 	number of method/signal arguments matches the number of types in the
   2698 	signature at class loading time, not when you first introspect the
   2699 	class.
   2700 
   2701 	* python/service.py: Remove debug print left by the last commit.
   2702 
   2703 2005-11-03  Robert McQueen  <robot101 (a] debian.org>
   2704 
   2705 	* python/service.py: Heavy refactoring of method invocation, with
   2706 	hopefully no effect on functionality. Nuked _dispatch_dbus_method_call
   2707 	in favour of a new _message_cb that uses seperate functions for
   2708 	looking up the method to call, marshalling the return values, and
   2709 	sending exceptions as errors, and is easier to follow as a
   2710 	consequence.  Fixes some corner cases about returning things that
   2711 	don't match your declared out_signature, allows exceptions to define
   2712 	_dbus_error_name and have it be sent over the bus as the error name,
   2713 	and paves the way for cool stuff like heeding the message no reply
   2714 	flag, asynchronous method implementations, informing the method of the
   2715 	sender, and including backtraces in the error messages.
   2716 
   2717 	* test/python/test-client.py: Catch and print exceptions thrown in the
   2718 	async callback tests, rather than passing them to the low-level
   2719 	bindings to be ignored in a noisy and frustrating manner.
   2720 
   2721 2005-11-03  Robert McQueen  <robot101 (a] debian.org>
   2722 
   2723 	* python/_dbus.py, python/proxies.py, python/service.py: Add __repr__
   2724 	functions to dbus.Bus, dbus.service.BusName and dbus.service.Object,
   2725 	tweak others to be consistent.
   2726 
   2727 	* test/python/test-client.py: Tweak output of testInheritance.
   2728 
   2729 2005-10-29  Robert McQueen  <robot101 (a] debian.org>
   2730 
   2731 	* python/service.py: Major changes to allow multiple inheritance
   2732 	from classes that define D-Bus interfaces:
   2733 	
   2734 	 1. Create a new Interface class which is the parent class of
   2735 	    Object, and make the ObjectType metaclass into InterfaceType.
   2736 	
   2737 	 2. Patch written with Rob Taylor to replace use of method_vtable
   2738 	    with code that walks the class's __MRO__ (method resolution order)
   2739 	    to behave like Python does when invoking methods and allow
   2740 	    overriding as you'd expect. Code is quite tricky because
   2741 	    we have to find two methods, the one to invoke which has the
   2742 	    right name and isn't decorated with the /wrong/ interface,
   2743 	    and the one to pick up the signatures from which is decorated
   2744 	    with the right interface.
   2745 	
   2746 	    The same caveats apply as to normal multiple inheritance -
   2747 	    this has undefined behaviour if you try and inherit from two
   2748 	    classes that define a method with the same name but are
   2749 	    decorated with different interfaces. You should decorate
   2750 	    your overriding method with the interface you want.
   2751 	
   2752 	 3. Replace grungy introspection XML generation code in the metaclass
   2753 	    with dictionaries that cope correctly with multiple inheritance
   2754 	    and the overriding of methods. This also uses the signature
   2755 	    decorations to provide correct introspection data, including
   2756 	    the debut appearance of the types of your return values. :D
   2757 
   2758 	* test/python/test-client.py, test/python/test-service.py: Add a test
   2759 	case to try invoking an method that overrides one inherited from a
   2760 	D-Bus interface class.
   2761 
   2762 2005-10-29  Robert McQueen  <robot101 (a] debian.org>
   2763 
   2764 	* python/dbus_bindings.pyx: Tweak 'raise AssertionError' to assert().
   2765 	Add checking for the end of struct character when marshalling a
   2766 	struct in MessageIter.append_strict.
   2767 
   2768 	* python/examples/example-service.py,
   2769 	python/examples/gconf-proxy-service.py,
   2770 	python/examples/gconf-proxy-service2.py: Update to use gobject
   2771 	mainloop directly rather than appearing to depend on gtk.
   2772 
   2773 	* python/test/test-client.py, python/test/test-server.py: Remove
   2774 	obsolete and broken test scripts for old bindings. We have up to date
   2775 	and working tests in test/python/.
   2776 
   2777 2005-10-29  Robert McQueen  <robot101 (a] debian.org>
   2778 
   2779 	* python/decorators.py: Add optional arguments to the method and
   2780 	signal decorators to allow you to specify the signature of arguments
   2781 	and return values. Preserve the doc strings of signal functions in the
   2782 	decorated version, for pydoc and friends.
   2783 
   2784 	* python/dbus_bindings.pyx, python/proxies.py: Replace the
   2785 	parse_signature_block function with an iterable dbus.Signature()
   2786 	type. Fix a bug in MessageIter.append_strict where you could append
   2787 	anything by claiming it was a string.
   2788 
   2789 	* python/service.py: Use the out_signature decoration on methods to
   2790 	marshal return values, meaning you no longer require dbus.Array()
   2791 	or dbus.Dictionary() to indicate the type when returning empty
   2792 	arrays or dictionaries. Fix a bug where exceptions which are defined
   2793 	in __main__ are not turned into error replies.
   2794 
   2795 	* test/python/test-client.py, test/python/test-service.py: Add test
   2796 	for correct marshalling of return values according to out_signature.
   2797 	Fix a bug in the async call test where the error_handler is missing a
   2798 	self argument.
   2799 
   2800 2005-10-29  Robert McQueen  <robot101 (a] debian.org>
   2801 
   2802 	* glib/Makefile.am, glib/examples/Makefile.am,
   2803 	glib/examples/statemachine/Makefile.am: Merge patch from Ubuntu by
   2804 	Daniel Stone to replace explicit calls to libtool with $(LIBTOOL).
   2805 
   2806 	* test/python/.cvsignore: Add run-with-tmp-session-bus.conf.
   2807 
   2808 	* tools/dbus-monitor.1, tools/dbus-monitor.c: Merge dbus-monitor patch
   2809 	from Ubuntu by Daniel Silverstone to allow specifying match rules on
   2810 	the command line.
   2811 
   2812 2005-10-27  Ross Burton  <ross (a] openedhand.com>
   2813 
   2814 	* dbus/dbus-marshal-header.c:
   2815 	Remove dead code.
   2816 
   2817 	* glib/dbus-gobject.c:
   2818 	Stop compiler warning.
   2819 
   2820 2005-10-25  Ross Burton  <ross (a] openedhand.com>
   2821 
   2822 	* dbus/dbus-auth.c:
   2823 	* dbus/dbus-server-unix.c:
   2824 	* dbus/dbus-transport-unix.c:
   2825 	* glib/dbus-gmain.c:
   2826 	* glib/dbus-gobject.c:
   2827 	Add some const keywords.
   2828 
   2829 2005-10-25  Ross Burton  <ross (a] openedhand.com>
   2830 
   2831 	* doc/dbus-specification.xml:
   2832 	Document the NoReply annotation.
   2833 
   2834 	* glib/dbus-binding-tool-glib.h:
   2835 	* glib/dbus-binding-tool-glib.c:
   2836 	Respect the NoReply annotation.
   2837 
   2838 2005-10-24  Robert McQueen <robot101 (a] debian.org>
   2839 
   2840 	* python/dbus_bindings.pyx (String, MessageIter): make D-Bus strings
   2841 	derive from unicode instead of str, and encode/decode UTF-8 when
   2842 	marshalling/unmarshalling bus messages
   2843 
   2844 	* python/introspect_parser.py: encode introspection data as UTF-8
   2845 	before passing the buffer into libxml2
   2846 
   2847 	* test/python/test-client.py: add unicode test strings
   2848 
   2849 	* test/data/valid-service-files/.cvsignore, test/python/.cvsignore:
   2850 	ignore generated python test files
   2851 
   2852 2005-10-17  John (J5) Palmieri  <johnp (a] redhat.com>
   2853 
   2854 	* glib/dbus-gvalue-utils.c (hash_free_from_gtype): handle gdouble
   2855 	and G_TYPE_VALUE_ARRAY (DBUS_TYPE_STRUCT)
   2856 	(gvalue_from_hash_value, hash_value_from_gvalue): handle gdouble
   2857 
   2858 	* glib/dbus-gvalue.c (dbus_gvalue_to_signature): add missing
   2859 	DBUS_STRUCT_BEGIN_CHAR and DBUS_STRUCT_END_CHAR charaters
   2860 	when constructing struct signatures
   2861 
   2862 	* python/_dbus.py (Bus): handle private connections using the
   2863 	private keyword in the constructor. defaults to private=False
   2864 	(Bus::close): new method to close a connection to the bus
   2865 
   2866 	* python/dbus_bindings.pyx (Connection::close): renamed method
   2867 	was previously called disconnect
   2868 	(bus_get): now supports getting a private connection
   2869 
   2870 	* python/proxies.py (ProxyMethod::__call__): check if ignore_reply
   2871 	keyword is set to True.  if it is, execute the method without waiting
   2872 	for a reply
   2873 	(ProxyObject::_introspect_execute_queue): new method for executing
   2874 	all the pending methods that were waiting for the introspect to
   2875 	finish.  this is called when introspect either succeeds or fails
   2876 	(ProxyObject::_introspect_error_handler): call queued methods
   2877 
   2878 2005-10-14  John (J5) Palmieri  <johnp (a] redhat.com>
   2879 
   2880 	* python/dbus_bindings.pyx (MessageIter::append_strict): check for
   2881 	STRUCT_BEGIN not TYPE_STRUCT in indicate we are marshalling a struct
   2882 
   2883 	* python/service.py (Object::_message_cb): handle exceptions correctly
   2884 	by sending them over the wire to the calling app.  This makes sure
   2885 	the client returns immediately instead of waiting the 15 seconds to
   2886 	timeout.
   2887 
   2888 	* test/python/test-client.py (TestDBusBindings::testBenchmarkIntrospect): 
   2889 	Add a test to benchmark how long it takes to introspect a service and 
   2890 	call a method which returns a large element (pretty fast)
   2891 
   2892 	* test/python/test-service.py (TestObject::GetComplexArray): new test 
   2893 	method which pushes a lot of data
   2894 
   2895 2005-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
   2896 
   2897 	* python/service.py(ObjectType::_reflect_on_signal, _reflect_on_method): 	
   2898 	reclaim memory outside of the loop and use del istead of just setting
   2899 	the key to None
   2900 
   2901 2005-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
   2902 
   2903 	* python/service.py (ObjectType::_reflect_on_signal): Always close
   2904 	signal tag even when there are no arguments
   2905 
   2906 2005-10-13  John (J5) Palmieri  <johnp (a] redhat.com>
   2907 
   2908 	* configure.in: Set mono, mono-docs and Qt3 to default
   2909 	to no instead of auto when building.  These bindings do not
   2910 	have full time maintainers and will not be supported for the
   2911 	1.0 release.
   2912 
   2913 2005-10-12  John (J5) Palmieri  <johnp (a] redhat.com>
   2914 
   2915 	patches from Michael Krivoruchko <misha at sun.com>: 
   2916 	
   2917 	* dbus/dbus-connection.c (_dbus_connection_queue_received_message_link,
   2918 	_dbus_connection_message_sent, 
   2919 	_dbus_connection_send_preallocated_unlocked_no_update, 
   2920 	_dbus_connection_pop_message_link_unlocked): handle the case when path 
   2921 	is NULL when calling _dbus_verbose
   2922 
   2923 	* configure.in: check for functions getpeerucred and getpeereid
   2924 
   2925 	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): provides 
   2926 	support of auth EXTERNAL on Solaris 10+ (getpeerucred), FreeBSD 4.6+, 
   2927 	OpenBSD 3.0+ and FreeBSD 5.0+ as well as MacOSX 10.2+ (getpeereid). 
   2928 	Patch was only tested on Solaris 10 x86 so it might be issues
   2929 	with other platforms (i.e. BSDs and MacOSX)
   2930 	
   2931 
   2932 2005-10-05  John (J5) Palmieri  <johnp (a] redhat.com>
   2933 
   2934 	* glib/dbus-gvalue.c (marshal_variant): call _dbus_gvalue_marshal 
   2935 	instead of marshal basic so we can handle recursive types in a variant
   2936 
   2937 	* test/glib/test-dbus-glib.c: Add test for marshaling recurive types
   2938 	in variants
   2939 
   2940 	* test/glib/test-service-glib.c, test-service-glib.xml
   2941 	(my_object_echo_variant [EchoVariant], 
   2942 	my_object_process_variant_of_array_of_ints123
   2943 	[ProcessVariantOfArrayOfInts123]): 
   2944 	Add two test methods
   2945 
   2946 	* python/introspect_parser.py: New module for parsing introspect
   2947 	data.
   2948 
   2949 	* python/dbus_bindings.pyx:
   2950 	(various places): when throwing errors fix to use errormsg instead 
   2951 	of message local variable because Pyrex can get confused with other 
   2952 	message variables (initial patch by Robert McQueen 
   2953 	<robert.mcqueen at collabora.co.uk>)
   2954 	(MessageIter::parse_signature_block): new method for getting the next
   2955 	block in a signiture.
   2956 	(MessageIter::append_strict): new method for appending values strictly
   2957 	using the passed in signature instead of guessing at the type
   2958 	(MessageItter:: append_dict, append_struct, append_array): use 
   2959 	signatures to marshal children if the signature is available
   2960 	
   2961 	* python/exceptions.py (IntrospectionParserException): new exception
   2962 
   2963 	* python/proxies.py (ProxyMethod::__call__): Marshal args with 
   2964 	introspected signatures if available, else we fall back to the
   2965 	old way of doing things.
   2966 	(ProxyObject::_introspect_reply_handler ): parse introspection data
   2967 	
   2968 	* python/service.py (ObjectType::_reflect_on_method): Properly
   2969 	terminate <method> if there are no args in the reflection data
   2970 
   2971 	* test/python/test-client.py: add tests for talking with the GLib
   2972 	test server.  This gives us better coverage for introspection since
   2973 	python to python will always generate arguments as variants.  It also
   2974 	allows us to test the robustness of the GLib bindings and interlanguage
   2975 	communications.
   2976 
   2977 	
   2978 2005-10-03  John (J5) Palmieri  <johnp (a] redhat.com>
   2979 
   2980 	* bus/driver.c (bus_driver_handle_introspect): Add signals
   2981 	to the introspect data. (patch from Daniel P. Berrange 
   2982 	<dan at berrange.com>)
   2983 
   2984 	* bus/dispatch.c (check_existent_ping): Add testcase for Ping
   2985 	
   2986 	* dbus/dbus-connection.c (_dbus_connection_peer_filter,
   2987 	_dbus_connection_run_builtin_filters): Changed these to
   2988 	be unlock_no_update functions and call 
   2989 	_dbus_connection_send_unlocked_no_update instead of
   2990 	dbus_connection_send to avoid locking errors.
   2991 	
   2992 	* doc/TODO: Removed the make Ping test TODO
   2993 	
   2994 2005-09-26  John (J5) Palmieri  <johnp (a] redhat.com>
   2995 
   2996 	* dbus/Python.pyx: Fixed memory leaks when throwing errors.
   2997 	We now copy the message from a DBusError and then free 
   2998 	the error object befor throwing the error
   2999 
   3000 	* glib/dbus-glib-tool.c: removed extra comma at the end of the
   3001 	DBusBindingOutputMode enum which was causing a warning.
   3002 	#include <time.h> so using time_t is explicitly defined
   3003 
   3004 2005-09-26  John (J5) Palmieri  <johnp (a] redhat.com>
   3005 
   3006 	* Integrate patches from Lennart Poettering <mzsqb at 0pointer.de>:
   3007 	- dbus/dbus-bus.c
   3008 	(internal_bus_get): new method that take over the heavy lifting
   3009 	of dbus_bus_get and adds the ability to get a private connection
   3010 	to the bus
   3011 	(dbus_bus_get): wrapper to internal_bus_get that provides the same
   3012 	interface as in previous versions
   3013 	(dbus_bus_get_private): new method that is a wrapper to 
   3014 	internal_bus_get to get a private connection to the bus
   3015 
   3016 	- dbus/dbus-bus.h
   3017 	(dbus_bus_get_private): add as a public libdbus interface
   3018 
   3019 	- dbus-1.pc.in: output system_bus_default_address and 
   3020 	sysconfdir variables so apps can use them when compiling
   3021 
   3022 2005-09-23  Harald Fernengel  <harry (a] kdevelop.org>
   3023 	* dbus/qt: New Qt bindings
   3024 
   3025 2005-09-12  Waldo Bastian  <bastian (a] kde.org>
   3026 
   3027 	* dbus/dbus-marshal-validate.c,
   3028 	doc/dbus-specification.xml, test/Makefile.am,
   3029 	test/test-names.c: allow hyphens in bus names.
   3030 
   3031 2005-09-11  Mark McLoughlin  <mark (a] skynet.ie>
   3032 
   3033 	* test/data/auth/fallback.auth-script: we don't
   3034 	retry the EXTERNAL method when we know its going
   3035 	to fail anymore.
   3036 
   3037 2005-09-11  Mark McLoughlin  <mark (a] skynet.ie>
   3038 
   3039 	* dbus/dbus-connection-internal.h: rename
   3040 	(add|remove|toggle)_(watch|timeout) to unlocked()
   3041 	
   3042 	* dbus/dbus-connection.c: ditto.
   3043 	
   3044 	* dbus/dbus-timeout.c, dbus/dbus-transport-unix.c:
   3045 	Update some callers for the renaming.
   3046 
   3047 2005-09-10  Mark McLoughlin  <mark (a] skynet.ie>
   3048 
   3049 	* dbus/dbus-auth.c: (record_mechanisms): don't
   3050 	retry the first auth mechanism because we know
   3051 	we're just going to get rejected again.
   3052 	
   3053 	* dbus/dbus-keyring.c: (_dbus_keyring_reload):
   3054 	Fix thinko ... and what a nasty little bugger to
   3055 	track down you were ...
   3056 
   3057 	* dbus/dbus-connection.c:
   3058 	(_dbus_connection_add_watch),
   3059 	(_dbus_connection_remove_watch): add note about
   3060 	these needing the connection to be locked.
   3061 	(_dbus_connection_get_dispatch_status_unlocked):
   3062 	set status to DATA_REMAINS when we queue the
   3063 	disconnected message.
   3064 	
   3065 	* bus/dispatch.c:
   3066 	(bus_dispatch): fix warning.
   3067 	(check_existent_service_no_auto_start):
   3068 	Expect ChildSignaled error too.
   3069 	(check_existent_hello_from_self): fix another
   3070 	couple of warnings.
   3071 	
   3072 2005-09-08  Joe Shaw  <joeshaw (a] novell.com>
   3073 
   3074 	Patches from James Willcox <snorp (a] snorp.net>
   3075 
   3076 	* mono/Makefile.am: Add Int16.cs and UInt16.cs
   3077 
   3078 	* mono/DBusType/Array.cs: Handle multidimensional arrays, and
   3079 	support array "out" parameters.
   3080 
   3081 	* mono/DBusType/Int16.cs, mono/DBusType/UInt16.cs: New files,
   3082 	for 16-bit int support.
   3083 
   3084 2005-09-06  John (J5) Palmieri  <johnp (a] redhat.com>
   3085 
   3086 	* Released 0.50
   3087 
   3088 	* Patch from Steve Grubb:
   3089 	- bus/activation.c (bus_activation_service_reload_test): clean up
   3090 	some indentation
   3091 	- dbus/dbus-keyring.c (_dbus_keyring_reload): fix conditional 
   3092 	- dbus/dbus-message-factory.c (generate_special): fix a couple of
   3093 	buffer overflows in the test suite.  This is non critical because
   3094 	it can not be exploited and this code is only run when doing a 
   3095 	make check.
   3096 
   3097 	* Patch from Yaakov Selkowitz: Build fixes for Cygwin
   3098 	- configure.in: Don't check and link against kdecore, only qt headers
   3099 	- dbus/Makefile.am: Add -no-undefined to libdbus_1_la_LDFLAGS
   3100 	- gcj/org/freedesktop/dbus/Makefile.am:
   3101 	add libdbus_gcj_1_la_LDFLAGS = -no-undefined
   3102 	- glib/Makefile.am: Add -no-undefined to libdbus_glib_1_la_LDFLAGS
   3103 	and $(DBUS_GLIB_LIBS) to dbus_binding_tool_LDADD
   3104 	- qt/Makefile.am: Add -no-undefined to libdbus_qt_1_la_LDFLAGS
   3105 	- tools/Makefile.am: Add platform extentions to binaries 
   3106 	(i.e. .exe on windows)
   3107 
   3108 	* configure.in: 
   3109 	- Make it so if no suitable version of python is found we only 
   3110 	disable building python instead of exiting the configure script
   3111 	- Require version 2.4 of glib for glib bindings
   3112 	- Up version to 0.50
   3113 
   3114 	* python/__init__.py: Sync version with libdbus to (0,50,0)
   3115 	
   3116 2005-09-05  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   3117 
   3118 	* dbus/dbus-object-tree.c (find_subtree_recurse):
   3119 	a couple of optimizations (bug #710):
   3120 	- do a binary search in the tree
   3121 	- insert a new child at the right place directly, no need for
   3122 	  qsort anymore
   3123 	- do the "double alloc" thing when allocating children
   3124 
   3125 2005-08-31  John (J5) Palmieri  <johnp (a] redhat.com>
   3126 
   3127 	* python/Makefile.am: Break on pyrexc errors instead of ignoring them
   3128 
   3129 	* python/dbus_bindings.pyx: Memory management foo
   3130 	(global): remove hacky _user_data_references global list
   3131 	(GIL_safe_cunregister_function_handler): userdata now stuffed into
   3132 	tuples. Unref user_data
   3133 	(GIL_safe_cmessage_function_handler): userdata now stuffed into tuples
   3134 	(Connection::__del__): Remove and replace with __dealloc__ method
   3135 	(Connection::add_filter): Stuff user_data into a tuple.  Use Py_INCREF
   3136 	to keep tuple from being deallocated instead of the global var hack
   3137 	(Connection::register_object_path): Stuff user_data into a tuple.
   3138 	Use Py_INCREF to keep tuple from being deallocated instead of the 
   3139 	global var hack
   3140 	(Connection::register_fallback): Stuff user_data into a tuple.
   3141 	Use Py_INCREF to keep tuple from being deallocated instead of the 
   3142 	global var hack
   3143 	(GIL_safe_pending_call_notification): Don't unref the message
   3144 	because it gets unreffed when going out of scope.  Py_XDECREF
   3145 	the user_data
   3146 	(PendingCall::__del__): Remove and replace with __dealloc__ method
   3147 	(PendingCall::set_notify): ref the pending call because we will
   3148 	need it to stick around for when the notify callback gets called
   3149 	(Message::__del__): Remove and replace with __dealloc__ method
   3150 
   3151 	* python/dbus_glib_bindings.pyx (init_gthreads): Changed to 
   3152 	gthreads_init to match up with the dbus call
   3153 
   3154 	* python/glib.py (init_threads): Changed to threads_init to match
   3155 	up with gobject.threads_init().  init_threads is kept for backwards
   3156 	compat but will most likely be deprecated in the future
   3157 
   3158 	* test/python/test-client.py: 
   3159 	- revamp to use Python's unittest functionality
   3160 	- add async call tests
   3161 	- setup threads in glib and dbus so we make sure locks are working
   3162 	
   3163 2005-08-30  John (J5) Palmieri  <johnp (a] redhat.com>
   3164 
   3165 	* python/dbus_bindings.pyx 
   3166 	(_pending_call_notification, cunregister_function_handler, 
   3167 	cmessage_function_handler): All callback functions have been rearranged 
   3168 	to workaround a bug in Pyrex when working with the GIL which is Python's 
   3169 	global lock when dealing with threads.  They have been split into
   3170 	a wrapper function (which assumes the name of the old function) and
   3171 	a _GIL_safe_<function name> function which contains the functionality
   3172 	of the old function.  This ensures that Pyrex does not write code
   3173 	the lock is released.
   3174 	
   3175 
   3176 2005-08-30  John (J5) Palmieri  <johnp (a] redhat.com>
   3177 
   3178 	* python/dbus_bindings.pyx (_pending_call_notification): Obtain the
   3179 	GIL global lock when calling back into Python
   3180 
   3181 2005-08-29  John (J5) Palmieri  <johnp (a] redhat.com>
   3182 
   3183 	* Release 0.36.2
   3184 
   3185 	* Add Havoc's patch that never got applied to HEAD (Bug #2436):
   3186 
   3187 	* bus/policy.c (bus_policy_allow_user): change default "user is
   3188 	allowed" to be "user has same uid as the bus itself"; any
   3189 	allow/deny rules will override.
   3190 
   3191 	* bus/session.conf.in: don't allow all users, since now by default
   3192 	the user that ran the bus can connect.
   3193 
   3194 2005-08-26  Colin Walters  <walters (a] verbum.org>
   3195 
   3196 	* tools/dbus-print-message.c (print_message): Flush stdout
   3197 	after printing a message, so that redirecting to a file, then
   3198 	hitting Ctrl-C works.
   3199 
   3200 2005-08-25  John (J5) Palmieri  <johnp (a] redhat.com>
   3201 
   3202 	* python/dbus_bindings.pyx: Tracked down a major memleak and fixed it
   3203 	(EmptyMessage): new class that subclasses Message.  This is a workaround
   3204 	to a Pyrex bug that fails to call __del__ when the Message object goes out
   3205 	of scope.  For some reason subclassing Message fixes this bug
   3206 	(Bus::send_with_reply_and_block): use EmptyMessage instead of Message
   3207 	- s/Message(_create=0)/EmptyMessage everywhere else
   3208 	
   3209 	* test/python/test-{server|client}.py: add the python/.libs directory
   3210 	to the lookup path so dbus_bindings and dbus_glib_bindings don't
   3211 	get picked up from the system
   3212 
   3213 2005-08-25  Colin Walters  <walters (a] verbum.org>
   3214 
   3215 	* glib/dbus-gproxy.c (dbus_g_proxy_call): Doc update, thanks
   3216 	to Ryan Lortie for the suggestion.
   3217 
   3218 2005-08-24  John (J5) Palmieri  <johnp (a] redhat.com>
   3219 
   3220 	* test/python: Add python regression test
   3221 
   3222 	* configure.in: Add test/python/Makefile
   3223 
   3224 	* test/Makefile.am: Add the python directory to SUBDIRS
   3225 
   3226 2005-08-24  John (J5) Palmieri  <johnp (a] redhat.com>
   3227 
   3228 	* Release 0.36.1
   3229 
   3230 	* python/_dbus.py: 
   3231 	(Interface::connect_to_signal): propigate keywords for match on args
   3232 	(Bus::add_signal_receiver): Fix typo s/dbus_inteface/dbus_interface
   3233 
   3234 	* python/proxies.py (ProxyObject::connect_to_signal):
   3235 	propigate keywords for match on args
   3236 
   3237 	* Makefile.am: point everything to pyexecdir since python borks
   3238 	on multilib
   3239 
   3240 2005-08-23  John (J5) Palmieri  <johnp (a] redhat.com>
   3241 
   3242 	* Release 0.36
   3243 
   3244 2005-08-23  Colin Walters  <walters (a] verbum.org>
   3245 
   3246 	* test/glib/Makefile.am: Don't multiply-define EXTRA_DIST.
   3247 
   3248 2005-08-23  John (J5) Palmieri  <johnp (a] redhat.com>
   3249 
   3250 	* python/dbus_glib_bindings.pyx: reorder imports and c definitions
   3251 	to fix some wranings. We now use dbus_bindings.DBusConnection instead
   3252 	of defining DBusConnection ourselves.
   3253 
   3254 2005-08-18  John (J5) Palmieri  <johnp (a] redhat.com>
   3255 
   3256 	* python/dbus.pth: New path file to fix up problems when installing
   3257 	c libraries to lib64 and python files to lib.
   3258 
   3259 	* python/Makefile.am: install dbus.pth in the correct spot
   3260 
   3261 2005-08-17  John (J5) Palmieri  <johnp (a] redhat.com>
   3262 	* ChangeLog: clean up my last entry a bit
   3263 
   3264 	* doc/introspect.xsl: New stylesheet for converting introspection data
   3265 	into browser renderable xhtml. Contributed by Lennart Poettering.
   3266 
   3267 	* doc/introspect.dtd: Fixups in the introspect format from Lennart
   3268 	Poettering.
   3269 
   3270 	* doc/dbus-tutorial.xml: 
   3271 	- Add Colin Walter to the Authors section for authoring the GLib
   3272 	section
   3273 	- Add descriptions of the new signature and type functionality
   3274 	in the Python complex type mapping section
   3275 	- Add a sidenote on the new args matching functionality in 
   3276 	the Python bindings
   3277 	- Fixed up some of the examples to use the gobject.MainLoop
   3278 	instead of gtk.main
   3279 	
   3280 	* python/_dbus.py:
   3281 	(Bus::_create_args_dict): New. Converts a hash of arg matches
   3282 	to a more useable format
   3283 	(Bus::add_signal_receiver): add a **keywords parameter for catching
   3284 	arg match parameters
   3285 	(Bus::remove_signal_receiver): add a **keywords parameter for catching
   3286 	arg match parameters
   3287 	
   3288 	* python/matchrules.py:
   3289 	(MatchTree::exec_matches): Check for arg matches
   3290 	(SignalMatchRule::add_args_match): New method
   3291 	(SignalMatchRule::execute): Added args_list parameter as an optimization
   3292 	so we don't have to marshal the args more than once
   3293 	(SignalMatchRule::match_args_from_list): New method that checks to see
   3294 	if the rule's arg matches match an argument list.  Only arguments
   3295 	set in the rule are checked.
   3296 	(SignalMatchRule::match_args_from_rule): New method that checks to see
   3297 	if the rule's arg matches match another rule's.  All args have to match
   3298 	in order for this method to return true.  If either rule has more args
   3299 	then it is not a match.
   3300 	(SignalMatchRule::is_match): Add args match
   3301 	(SignalMatchRule::repr): Add args to the final output if they exist
   3302 
   3303 2005-08-17  Ross Burton  <ross (a] burtonini.com>
   3304 
   3305 	* glib/dbus-gproxy.c:
   3306 	(dbus_g_proxy_call_no_reply): unref the message once sent.
   3307 	(dbus_g_proxy_call): protect against NULL proxy.
   3308 
   3309 2005-08-16  John (J5) Palmieri  <johnp (a] redhat.com>
   3310 
   3311 	* python/__init__.py: Version updated (0, 43, 0)
   3312 	
   3313 	* python/dbus_bindings.pyx: 
   3314 	- Fixed type objects to have self passed into __init__
   3315 	- Added the Variant type
   3316 	- Add the ability to specify types or signatures for Array, Variant 
   3317 	and Dictionary
   3318 	(Connection::send_with_reply_handlers): return a PendingCall object
   3319 	(_pending_call_notification): handle the case when an error is returned 
   3320 	without an error message in the body
   3321 	(MessageIter::get_boolean): return True or False instead of an integer
   3322 	(MessageIter::python_value_to_dbus_sig): add direct checking of types 
   3323 	and add checks for objects with embeded signatures or types (Array, 
   3324 	Variant and Dictionary)
   3325 	(MessageIter::append_byte): handle case when the value is a dbus.Byte
   3326 	(MessageIter::append_dict): handle embeded types or signatures
   3327 	(MessageIter::append_array): handle embeded types or signatures
   3328 	(MessageIter::append_variant): new method
   3329 	
   3330 	* python/proxies.py:
   3331 	(DeferedMethod): New. Dummy executable object used when queuing calls 
   3332 	blocking on introspection data
   3333 	(ProxyMethod::__call__): add the timeout keyword for specifying longer 
   3334 	or shorter timeouts for method calls
   3335 	(ProxyObject): Add first pass at an introspection state machine
   3336 	(ProxyObject::__init__): Add introspect keyword for turing off an on 
   3337 	introspection. 
   3338 	(ProxyObject::_Introspect): Internal Introspect call that bypasses 
   3339 	the usual mechanisms for sending messages.  This is to avoid a deadlock
   3340 	where the Intospect call would be queued waiting for the Introspect 
   3341 	call to finish ;-)
   3342 	(ProxyObject::_introspect_reply_handler): New.  This method is called 
   3343 	when introspection returns with no error
   3344 	(ProxyObject::_introspect_error_handler): New.  This method is called 
   3345 	when introspection encounters an error
   3346 	(ProxyObject::__getattr__): Code to handle different introspection 
   3347 	states.  Queue async calls or block blocking calls if we are 
   3348 	introspecting.  Pass through as normal if we are not or are done with 
   3349 	introspecting.
   3350 	
   3351 	* python/service.py: Import signal and method from decorators.py
   3352 
   3353 	* python/types.py: Add Variant type
   3354 
   3355 2005-08-16  Colin Walters  <walters (a] verbum.org>
   3356 
   3357 	* glib/dbus-gobject.c (dbus_set_g_error): Don't lose if the
   3358 	DBusError message is NULL.
   3359 
   3360 2005-08-09  Havoc Pennington  <hp (a] redhat.com>
   3361 
   3362 	* dbus/dbus-errors.c: apply patch from Timo Teras to make a
   3363 	malloc'd copy of the name parameter
   3364 
   3365 2005-08-09  Havoc Pennington  <hp (a] redhat.com>
   3366 
   3367 	* dbus/dbus-message.c (dbus_message_set_reply_serial): print
   3368 	warning if the reply serial is set to 0
   3369 
   3370 2005-08-04  Colin Walters  <walters (a] verbum.org>
   3371 
   3372 	* glib/dbus-gvalue-utils.h (_dbus_g_type_specialized_builtins_init)
   3373 	(dbus_g_type_is_fixed, dbus_g_type_fixed_get_size)
   3374 	(dbus_gvalue_set_from_pointer, dbus_g_hash_table_value_foreach)
   3375 	(dbus_g_hash_table_insert_values, dbus_g_hash_table_insert_steal_values)
   3376 	(dbus_gtype_is_valid_hash_key, dbus_gtype_is_valid_hash_value)
   3377 	(dbus_g_hash_func_from_gtype, dbus_g_hash_free_from_gtype)
   3378 	(dbus_g_hash_equal_from_gtype, dbus_gvalue_stor, dbus_gvalue_take):
   3379 	* glib/dbus-gvalue.h (dbus_g_value_types_init)
   3380 	(dbus_gvalue_demarshal, dbus_gvalue_demarshal_variant)
   3381 	(dbus_gvalue_demarshal_message, dbus_gvalue_marshal):
   3382 	
   3383 	Prefix name with _ to ensure they're not exported.  All callers
   3384 	updated.
   3385 
   3386 	* glib/dbus-gvalue.c (typecode_to_gtype)
   3387 	(dbus_typecode_maps_to_basic, basic_typecode_to_gtype)
   3388 	(signature_iter_to_g_type_dict)
   3389 	(signature_iter_to_g_type_array)
   3390 	(dbus_gtype_from_signature_iter, dbus_gtype_from_signature)
   3391 	(dbus_gtypes_from_arg_signature):
   3392 	Move to dbus-gsignature.c.
   3393 
   3394 	* glib/dbus-binding-tool-glib.c (dbus_binding_tool_output_glib_server): Call
   3395 	dbus_g_type_specialized_builtins_init instead of dbus_g_value_types_init.
   3396 	(dbus_binding_tool_output_glib_client): Ditto.
   3397 
   3398 	* glib/Makefile.am (DBUS_GLIB_INTERNALS): Add dbus-gsignature.c
   3399 	and dbus-gsignature.h
   3400 
   3401 	* test/glib/test-service-glib.c (my_object_rec_arrays): Delete
   3402 	unused variable.
   3403 
   3404 2005-08-03  Colin Walters  <walters (a] verbum.org>
   3405 
   3406 	* glib/dbus-gobject.c: Add tests on hardcoded object info; this should
   3407 	catch any incompatible changes accidentally made.
   3408 
   3409 2005-08-03  Havoc Pennington  <hp (a] redhat.com>
   3410 
   3411 	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): fix
   3412 	typo, from Julien Puydt
   3413 
   3414 	* bus/connection.c (bus_connection_disconnected): we were always
   3415 	doing a wait_for_memory due to a buggy loop, found by Timo Hoenig
   3416 
   3417 2005-08-01  Colin Walters  <walters (a] verbum.org>
   3418 
   3419 	Patch from Joe Markus Clarke:	
   3420 	
   3421 	* glib/dbus-gidl.c (property_info_unref, arg_info_unref): Fix
   3422 	use-after-free.
   3423 
   3424 2005-08-01  Colin Walters  <walters (a] verbum.org>
   3425 	
   3426 	Patch from Joe Markus Clarke:	
   3427 	
   3428 	* tools/dbus-send.c (main): 
   3429 	
   3430 	Don't use C99 style initializers (bug #3933).
   3431 	
   3432 2005-08-01  Colin Walters  <walters (a] verbum.org>
   3433 
   3434 	Patch from Joe Markus Clarke:	
   3435 
   3436 	* glib/dbus-gvalue.c (dbus_g_value_types_init): 
   3437 	* glib/dbus-gvalue-utils.c (dbus_g_type_specialized_builtins_init) 
   3438 	* glib/dbus-gobject.c (write_interface):
   3439 
   3440 	Don't use C99 style initializers (bug #3933).
   3441 
   3442 2005-07-31  Havoc Pennington  <hp (a] redhat.com>
   3443 
   3444 	* tools/dbus-viewer.c (load_child_nodes): fix invocation of
   3445 	dbus_g_proxy_call, fix from Piotr Zielinski bug #3920
   3446 
   3447 2005-07-30  Havoc Pennington  <hp (a] redhat.com>
   3448 
   3449 	* fix a bunch of Doxygen warnings and mistakes
   3450 
   3451 2005-07-30  Havoc Pennington  <hp (a] redhat.com>
   3452 
   3453 	* dbus/dbus-sysdeps.c (_dbus_string_parse_uint): remove #ifdef
   3454 	DBUS_BUILD_TESTS since it's now used in production code
   3455 
   3456 2005-07-29  Havoc Pennington  <hp (a] redhat.com>
   3457 
   3458 	* test/glib/test-profile.c (write_junk): initialize the junk
   3459 	buffer so valgrind doesn't have a breakdown
   3460 
   3461 2005-07-29  Havoc Pennington  <hp (a] redhat.com>
   3462 
   3463 	* bus/signals.c (bus_signals_test): add match_rule_equal() tests
   3464 	(match_rule_matches): remove unused arg
   3465 	(test_matching): add tests for match_rule_matches()
   3466 
   3467 	* bus/signals.c (bus_match_rule_parse_arg_match): add ability to
   3468 	do arg0='foo' arg5='bar' in the match rules
   3469 	(match_rule_matches): don't match if the arg0='foo' doesn't match.
   3470 
   3471 	* dbus/dbus-protocol.h (DBUS_MAXIMUM_MATCH_RULE_ARG_NUMBER): add this
   3472 
   3473 2005-07-29  Ross Burton  <ross (a] openedhand.com>
   3474 
   3475 	* dbus/dbus-connection.c:
   3476 	Don't create a DBusCondVar which is never used.
   3477 
   3478 2005-07-27  Ross Burton  <ross (a] openedhand.com>
   3479 
   3480 	* dbus/dbus-message.c:
   3481 	Reduce the size of the maximum cached message to 10K.
   3482 
   3483 2005-07-25  Ross Burton  <ross (a] openedhand.com>
   3484 
   3485 	* glib/dbus-gproxy.c:
   3486 	Remove matches when all proxies are unregistered.
   3487 
   3488 2005-07-24  Colin Walters  <walters (a] verbum.org>
   3489 
   3490 	* glib/dbus-gvalue.c (signature_iter_to_g_type_array): Don't require
   3491 	typedata; recursive arrays won't have it.
   3492 
   3493 	* test/glib/test-dbus-glib.c:
   3494 	* test/glib/test-service-glib.c:
   3495 	* test/glib/test-service-glib.xml: Add recursive arrays tests.
   3496 	
   3497 2005-07-20  John (J5) Palmieir  <johnp (a] redhat.com>
   3498 
   3499 	* python/_dbus.py, _util.py, decorators.py, extract.py, matchrules.py.
   3500 	proxies.py, service.py: Cleanup of code after running it through the
   3501 	pyflakes code checker mostly dealing with undefined names.  
   3502 	(Bug #3828, Patch from Anthony Baxter <anthony (a] interlink.com.au>)
   3503 
   3504 2005-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   3505 
   3506 	* NEWS: Update to 0.35.2
   3507 
   3508 2005-07-17  John (J5) Palmieri  <johnp (a] redhat.com>
   3509 
   3510 	* python/_dbus.py: Remove import of the dbus.services
   3511 	module as it no longer exists (patch from Dimitur Kirov)
   3512 
   3513 	* python/service.py (Object::__init__): Fixed typo
   3514 	s/name/bus_name (patch from Dimitur Kirov)
   3515 
   3516 	* python/examples/example-signal-emitter.py: import dbus.glib
   3517 	to get the main loop and use glib mainloop instead of gtk so
   3518 	X doesn't have to be running.
   3519 
   3520 	* python/examples/example-signal-recipient.py: import dbus.glib
   3521 	to get the main loop and use glib mainloop instead of gtk so
   3522 	X doesn't have to be running. Import the decorators module
   3523 	directly.
   3524 
   3525 	* test/glib/Makefile.am:  Added DIST_EXTRA files that distcheck
   3526 	didn't pick up on but are needed to build
   3527 
   3528 	* configure.in: upped version to 0.35.2
   3529 
   3530 	* bus/driver.c, bus/selinux.c, bus/selinux.h, dbus/dbus-protocol.h:
   3531 	added Colin Walters' SELinux API rename patch from head 
   3532 	s/unix sercurity context/selinux security context/
   3533 
   3534 2005-07-16  John (J5) Palmieri  <johnp (a] redhat.com>
   3535 
   3536 	* python/Makefile.am: dbus_binding.pxd.in should be included 
   3537 	in EXTRA_DIST not dbus_binding.pxd
   3538 	fix up $(srcdir) hopefully for the last time
   3539 
   3540 	* NEWS: Update to 0.35.1
   3541 
   3542 2005-07-16  Colin Walters  <walters (a] verbum.org>
   3543 
   3544 	* bus/driver.c (bus_driver_handle_get_connection_selinux_security_context): Renamed
   3545 	from bus_driver_handle_get_connection_unix_security_context.  Update for
   3546 	error usage.
   3547 	(message_handlers): Update for renames.
   3548 
   3549 	* bus/selinux.c (bus_selinux_allows_send): Handle OOM on
   3550 	_dbus_string_init failure correctly.
   3551 	(bus_selinux_append_context): Convert SID to context.  Append it
   3552 	as a byte array.
   3553 	(bus_selinux_shutdown): Handle the case where bus_selinux_full_init
   3554 	hasn't been called.
   3555 
   3556 	* bus/selinux.h: Update prototype.
   3557 
   3558 	* dbus/dbus-protocol.h (DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN): Renamed
   3559 	from DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN.
   3560 
   3561 2005-07-15  Colin Walters  <walters (a] verbum.org>
   3562 
   3563 	* doc/TODO: Add note about convenience wrappers.
   3564 
   3565 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3566 
   3567 	* NEWS: Update to 0.35
   3568 
   3569 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3570 
   3571 	* glib/Makefile.am: Add make-dbus-glib-error-switch.sh to EXTRA_DIST
   3572 	so distcheck doesn't fail
   3573 
   3574 	* glib/examples/Makefile.am: Add example-service.xml and 
   3575 	example-signal-emitter.xml to EXTRA_DIST so distcheck doesn't fail
   3576 
   3577 	* glib/examples/statemachine/Makefile.am: Add statemachine.xml and
   3578 	statemachine-server.xml to EXTRA_DIST so distcheck doesn't fail
   3579 
   3580 	* python/Makefile.am: Preprend $(srcdir)/ to source files so the
   3581 	compiler looks in the right places during distcheck
   3582 
   3583 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3584 
   3585 	* glib/example/Makefile.am: Fix a typo which cause make distcheck
   3586 	to fail
   3587 
   3588 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3589 
   3590 	* python/examples/example-service.py,
   3591 	python/examples/example-signal-emitter.py: Fixed up examples
   3592 	for API changes
   3593 
   3594 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3595 
   3596 	* python/__init__.py: Upped to version (0,42,0) because of
   3597 	the API change
   3598 
   3599 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3600 
   3601 	* ChangeLog: fix date in last entry
   3602 
   3603 	* configure.in, bus/system.conf.in: add the ability to configure 
   3604 	the system bus user at compiletime with the --with-dbus-user flag
   3605 	(patch from Kristof Vansant)
   3606 
   3607 2005-07-15  John (J5) Palmieri  <johnp (a] redhat.com>
   3608 
   3609 	* bus/dispatch.c, test/test-service.c: Add testcase
   3610 	for sending messages to oneself (TODO item).
   3611 
   3612 	* python/service.py (class Object): Swap ordering of bus_name 
   3613 	and object_path parameters to better support inheritance.
   3614 
   3615 	* doc/dbus-tutorial.xml: change Python docs to reflect change
   3616 	in parameter ordering and fix the inheritance section.
   3617 
   3618 	* doc/TODO: remove sending message to oneself TODO item
   3619 
   3620 2005-07-15  Ross Burton  <ross (a] openedhand.com>
   3621 
   3622 	* glib/dbus-gproxy.c:
   3623 	Fix a leak when calling methods via the proxy.
   3624 
   3625 2005-07-15  Colin Walters  <walters (a] verbum.org>
   3626 
   3627 	* bus/selinux.c (bus_selinux_append_context): Wrap in
   3628 	HAVE_SELINUX.
   3629 
   3630 2005-07-14  John (J5) Palmieri  <johnp (a] redhat.com>
   3631 
   3632 	* python/_dbus.py (Bus::remove_signal_receiver):
   3633 	don't add a callback to the match if none has been passed in
   3634 	
   3635 	* python/matchrules.py (SignalMatchTree::remove): if the rule
   3636 	being matched does not have a callback treat it as a wildcard
   3637 	fix matching logic
   3638 
   3639 	* doc/dbus-tutorial.xml: Add Python tutorial
   3640 
   3641 2005-07-14  Colin Walters  <walters (a] verbum.org>
   3642 
   3643 	* bus/driver.c
   3644 	(bus_driver_handle_get_connection_unix_security_context): New function.
   3645 	(message_handlers): Add.
   3646 
   3647 	* bus/selinux.c (bus_selinux_append_context): New function; appends
   3648 	security context to message.
   3649 
   3650 	* bus/selinux.h: Prototype.
   3651 
   3652 	* dbus/dbus-protocol.h (DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN): New.
   3653 
   3654 2005-07-14  John (J5) Palmieri  <johnp (a] redhat.com>
   3655 
   3656 	* bus/activation.c: clean up all tabs to be 8 spaces 
   3657 	(bus_activation_activate_service): make sure we clean up
   3658 	if activation fails
   3659 
   3660 	* bus/dispatch.c: clean up all tabs to be 8 spaces 
   3661 	(check_shell_fail_service_auto_start): New function
   3662 	tests to make sure we get fail properly when trying to auto start a service
   3663 	with a faulty command line
   3664 	(check_shell_service_success_auto_start): New function tests to make sure
   3665 	auto started services get the arguments on the command line
   3666 
   3667 	* test/test-shell-service.c: Added service for testing auto-starting with 
   3668 	command line arguments
   3669 
   3670 	* test/data/valid-service-files/debug-shell-echo-fail.service.in, 
   3671 	test/data/valid-service-files/debug-shell-echo-success.service.in:
   3672 	Added service files for testing auto-starting with command line arguments
   3673 
   3674 	* */.cvsignore: added a bunch of generated files to various .cvsignore files
   3675 
   3676 2005-07-14  Rodrigo Moya  <rodrigo (a] novell.com>
   3677 
   3678 	* dbus/dbus-shell.[ch]: copy/pasted code from GLib.
   3679 	
   3680 	* dbus/Makefile.am: added new files to build.
   3681 
   3682 	* bus/activation.c (bus_activation_activate_service): support
   3683 	activation commands with parameters.
   3684 
   3685 	* test/shell-test.c: added test program for the shell parsing
   3686 	code.
   3687 
   3688 2005-07-13  David Zeuthen  <davidz (a] redhat.com>
   3689 
   3690 	* tools/dbus-send.c (append_arg, type_from_name): Also support 16 and
   3691 	64 bit signed and unsigned parameters
   3692 
   3693 2005-07-13  John (J5) Palmieri  <johnp (a] redhat.com>
   3694 
   3695 	* python/.cvsignore: remove dbus_bindings.pyx, add dbus_bindings.pxd
   3696 
   3697 	* python/service.py (class Name): renamed BusName to make it clearer
   3698 	what the object is for (a name on the bus)
   3699 
   3700 	* python/examples/example-service.py,
   3701 	python/examples/example-signal-emitter.py: change the Name object to
   3702 	BusName
   3703 
   3704 2005-07-12  Colin Walters  <walters (a] verbum.org>
   3705 
   3706 	Patch from Jim Gettys <Jim.Gettys (a] hp.com>.
   3707 
   3708 	* tools/dbus-launch.c: Include sys/select.h.
   3709 
   3710 2005-07-12  John (J5) Palmieri  <johnp (a] redhat.com>
   3711 	* python/dbus_bindings.pyx.in: removed
   3712 
   3713 	* python/dbus_bindings.pyx: Added.
   3714 	- Fixed some memleaks (patch from 
   3715 	Sean Meiners <sean.meiners (a] linspireinc.com>)
   3716 	- Broke out the #include "dbus_h_wrapper.h" and put it in its
   3717 	own pxd file (Pyrex definition)
   3718 	- Broke out glib dependancies into its own pyx module
   3719 	
   3720 	* python/dbus_bindings.pdx: Added.
   3721 	- Defines C class Connection for exporting to other modules
   3722 
   3723 	* python/dbus_glib_bindings.pyx: Added.
   3724 	- New module to handle lowlevel dbus-glib mainloop integration
   3725 
   3726 	* python/glib.py: Added.
   3727 	- Registers the glib mainloop when you import this module
   3728 
   3729 	* python/services.py: Removed (renamed to service.py)
   3730 	
   3731 	* python/service.py: Added.
   3732 	- (class Server): renamed Name
   3733 
   3734 	* python/__init__.py: Bump ro version (0,41,0)
   3735 	-don't import the decorators or service module
   3736 	by default.  These now reside in the dbus.service namespace
   3737 
   3738 	* python/_dbus.py (Bus::__init__): Add code run the main loop 
   3739 	setup function on creation 
   3740 
   3741 	* python/examples/example-service.py,
   3742 	python/examples/example-signal-emitter.py: update examples
   3743 
   3744 	* python/examples/gconf-proxy-service.py,
   3745 	python/examples/gconf-proxy-service2.py: TODO fix these up
   3746 
   3747 	* doc/TODO: Addition
   3748 	- Added a Python Bindings 1.0 section
   3749 	- added "Add match on args or match on details to match rules"
   3750 
   3751 
   3752 2005-07-12  Colin Walters  <walters (a] verbum.org>
   3753 
   3754 	* glib/examples/statemachine/Makefile.am (statemachine-server-glue.h) 
   3755 	(statemachine-glue.h): 
   3756 	* glib/examples/Makefile.am (example-service-glue.h) 
   3757 	(example-signal-emitter-glue.h): 
   3758 	* glib/Makefile.am (dbus-glib-error-switch.h): 
   3759 	Add libtool --mode=execute so we use the built library instead
   3760 	of any installed one.
   3761 
   3762 2005-07-11  Colin Walters  <walters (a] verbum.org>
   3763 
   3764 	* glib/dbus-gvalue.c (struct _DBusGValue): Delete.
   3765 	(dbus_g_value_types_init): Remove assertion.
   3766 	(dbus_g_value_get_g_type, dbus_g_value_open)
   3767 	(dbus_g_value_iterator_get_values, dbus_g_value_get_signature)
   3768 	(dbus_g_value_copy, dbus_g_value_free): Delete unimplemented
   3769 	functions related to DBusGValue.  Now we marshal/demarshal
   3770 	structures as GValueArray.
   3771 	(dbus_gtype_from_signature_iter): Return G_TYPE_VALUE_ARRAY for
   3772 	structures.
   3773 	(signature_iter_to_g_type_array): Don't call
   3774 	signature_iter_to_g_type_struct.
   3775 	(signature_iter_to_g_type_struct): Delete.
   3776 	(dbus_gvalue_to_signature): Delete.
   3777 	(dbus_gvalue_to_signature): New function with same name as other
   3778 	one; we can convert structures to signatures.
   3779 	(demarshal_valuearray): New function.
   3780 	(get_type_demarshaller): Use it.
   3781 	(demarshal_recurse): Delete.
   3782 	(marshal_proxy): New function.
   3783 	(marshal_map): Warn if we can't determine signature from type.
   3784 	(marshal_collection_ptrarray): Ditto.
   3785 	(marshal_collection_array): Ditto.
   3786 	(get_type_marshaller): Use marshal_valuearray.
   3787 	(marshal_recurse): Delete.
   3788 	(_dbus_gvalue_test): Add some tests.
   3789 
   3790 	* dbus/dbus-glib.h (struct _DBusGValueIterator): 
   3791 	(dbus_g_value_get_g_type, DBUS_TYPE_G_VALUE)
   3792 	(dbus_g_value_open, dbus_g_value_iterator_get_value)
   3793 	(dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
   3794 	(dbus_g_value_free): Remove prototypes.
   3795 
   3796 	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_lookup_function): Handle
   3797 	G_TYPE_VALUE_ARRAY.
   3798 
   3799 	* glib/examples/example-service.c:
   3800 	* glib/examples/example-client.c: Implement GetTuple.
   3801 
   3802 	* test/glib/test-dbus-glib.c:
   3803 	* test/glib/test-service-glib.c:
   3804 	* test/glib/test-service-glib.xml: Add structure tests.
   3805 
   3806 2005-07-10  Colin Walters  <walters (a] verbum.org>
   3807 
   3808 	* doc/TODO: Knock off some GLib items with this patch.
   3809 
   3810 	* glib/dbus-gvalue-utils.c (_dbus_gtype_can_signal_error) 
   3811 	(_dbus_gvalue_signals_error): New functions.
   3812 
   3813 	* glib/dbus-gvalue-utils.h: Prototype them.
   3814 
   3815 	* glib/dbus-gobject.c (arg_iterate): Update to handle return vals
   3816 	and change to not output const/retval flags for input args.  All
   3817 	callers updated.
   3818 	(invoke_object_method): Refactor to handle return values.  Add
   3819 	some more comments in various places.  Remove debug g_print.
   3820 
   3821 	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_RETURNVAL): New.
   3822 
   3823 	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_marshal_name):
   3824 	Handle G_TYPE_NONE.
   3825 	(compute_gsignature): New function; refactored from code from
   3826 	compute_marshaller and compute_marshaller_name.  Enhance to
   3827 	handle return values and async ops more cleanly.  Update for
   3828 	async ops returning NONE instead of BOOLEAN.
   3829 	(compute_marshaller, compute_marshaller_name): Call compute_gsignature
   3830 	and output appropriate string.
   3831 	(generate_glue): Handle return value annotation.  Also don't dump
   3832 	constness flag for input arguments.
   3833 
   3834 	* glib/Makefile.am (DBUS_GLIB_INTERNALS): New variable; contains
   3835 	files shared between installed library and utilities.
   3836 	(libdbus_glib_1_la_SOURCES): Move some stuf into DBUS_GLIB_INTERNALS.
   3837 	(libdbus_gtool_la_SOURCES): Suck in DBUS_GLIB_INTERNALS so the
   3838 	binding tool can access gtype utility functions.
   3839 
   3840 	* test/glib/test-service-glib.c: 
   3841 	* test/glib/test-service-glib.xml: 
   3842 	* test/glib/test-dbus-glib.c: Add some tests for return values.
   3843 
   3844 2005-07-09  Colin Walters  <walters (a] verbum.org>
   3845 
   3846 	* glib/dbus-gparser.c (parse_annotation): Add annotations to
   3847 	argument if available, not method.
   3848 
   3849 	* glib/dbus-gobject.c (arg_iterate): More verbose warnings.
   3850 	(invoke_object_method): First, remove some redundant
   3851 	GValues (object_value, error_value) in favor of working on
   3852 	array directly.  Second, rework constness to be less buggy.
   3853 	Now we iterate directly over the argument metadata instead
   3854 	of parallel iterating over output signature and metadata.
   3855 
   3856 	* glib/dbus-glib-tool.h: Add INVALID_ANNOTATION error.
   3857 
   3858 	* glib/dbus-binding-tool-glib.c (generate_glue): Barf on const
   3859 	annotation on input args.
   3860 	
   3861 2005-07-09  Colin Walters  <walters (a] verbum.org>
   3862 
   3863 	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_CONST):
   3864 	Define.
   3865 
   3866 	* glib/dbus-binding-tool-glib.c (generate_glue): Handle Const
   3867 	annotation.
   3868 
   3869 	* glib/dbus-gobject.c (arg_iterate): Update to parse constval too.
   3870 	(method_dir_signature_from_object_info): Handle arg_iterate change.
   3871 	(write_interface): Ditto.
   3872 	(lookup_object_info): Don't barf if format_version is > 0.
   3873 	(invoke_object_method): Handle arg constness.
   3874 
   3875 	* glib/dbus-gidl.c (struct ArgInfo): Add annotations.
   3876 	(arg_info_new): Create.
   3877 	(arg_info_unref): Destroy.
   3878 	(arg_info_get_annotations, arg_info_get_annotation) 
   3879 	(arg_info_add_annotation): New functions.
   3880 
   3881 	* glib/dbus-gidl.h: Prototype them.
   3882 
   3883 	* glib/dbus-gparser.c (parse_annotation): Allow annotations in
   3884 	args, disallow them in properties.
   3885 	(parse_annotation): Handle arg annotations.
   3886 
   3887 	* test/glib/test-service-glib.xml: 
   3888 	* test/glib/test-service-glib.c: Update to make some methods
   3889 	const.
   3890 
   3891 2005-07-08  Colin Walters  <walters (a] verbum.org>
   3892 
   3893 	* test/glib/test-service-glib.xml: 
   3894 	* test/glib/test-service-glib.c:
   3895 	* test/glib/test-dbus-glib.c: Test a{sv}.
   3896 
   3897 	* glib/examples/statemachine/statemachine.c:
   3898 	* glib/examples/statemachine/statemachine-server.c:
   3899 	* glib/examples/statemachine/statemachine-client.c: Fix some bugs,
   3900 	add progress bar, etc.
   3901 
   3902 	* glib/dbus-gvalue.c (register_array, register_dict): Delete; not
   3903 	needed anymore due to generic array/map marshalling.
   3904 	(dbus_g_value_types_init): Don't register basic arrays or the
   3905 	string/string hash.
   3906 	(dbus_gtype_from_signature_iter): Don't try to recurse into
   3907 	variants.
   3908 	(dbus_gtype_to_signature): Check collection/map before type
   3909 	metadata.
   3910 	(demarshal_garray_basic): Renamed to demarshal_collection_array.
   3911 	(demarshal_ghashtable): Renamed to demarshal_map; fix to use new
   3912 	generic map creation/append functions instead of hash table
   3913 	specifically.
   3914 	(get_type_demarshaller): Handle maps.
   3915 	(demarshal_collection): Dispatch on collection type to either
   3916 	demarshal_collection_ptrarray or demarshal_collection_array.
   3917 	(get_type_marshaller): Handle maps.
   3918 	(marshal_collection): Dispatch collection type to either
   3919 	marshal_collection_ptrarray or marshal_collection_array.
   3920 	(_dbus_gvalue_test): New test.
   3921 
   3922 	* glib/dbus-gvalue-utils.c (unset_and_free_g_value): New function.
   3923 	(hash_free_from_gtype): Use it to free GValues.
   3924 	(hashtable_append): New function.
   3925 	(ptrarray_append): Fix prototype.
   3926 	(slist_append): Ditto.
   3927 	(_dbus_gvalue_utils_test): Extend tests.
   3928 
   3929 	* glib/dbus-gtype-specialized.c
   3930 	(dbus_g_type_specialized_init_append): Renamed from
   3931 	dbus_g_type_specialized_collection_init_append.  Remove const from
   3932 	value, since we steal it.
   3933 	(dbus_g_type_specialized_map_append): New function.
   3934 
   3935 	* glib/dbus-gtype-specialized.h: Update prototypes.
   3936 	Add DBusGTypeSpecializedMapAppendFunc.
   3937 
   3938 	* glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
   3939 	_dbus_gvalue_test.
   3940 	
   3941 	* glib/dbus-gtest.h: Prototype it.
   3942 
   3943 2005-07-08  Ross Burton  <ross (a] openedhand.com>
   3944 
   3945 	* dbus/dbus-glib.h:
   3946 	Add DBysGAsyncData for the async bindings.
   3947 
   3948 	* glib/dbus-binding-tool-glib.c:
   3949 	Re-enable the async bindings.
   3950 
   3951 	* test/glib/test-dbus-glib.c:
   3952 	Add a test for the generated async bindings.
   3953 
   3954 2005-07-08  Colin Walters  <walters (a] verbum.org>
   3955 
   3956 	* doc/TODO: Update GLib todo bits, also add a post-1.0 TODO for a
   3957 	connection concept.
   3958 	
   3959 2005-07-08  Colin Walters  <walters (a] verbum.org>
   3960 	
   3961 	* tools/Makefile.am: Kill of print-introspect in favor of using
   3962 	dbus-send --print-reply=literal.
   3963 
   3964 	* test/glib/test-service-glib.xml: 
   3965 	* test/glib/test-service-glib.c (my_object_get_objs): New test
   3966 	for "ao".
   3967 
   3968 	* test/glib/test-dbus-glib.c (echo_received_cb): Free echo data.
   3969 	(main): Test GetObjs.
   3970 
   3971 	* glib/examples/statemachine/Makefile.am:
   3972 	* glib/examples/statemachine/sm-marshal.list:
   3973 	* glib/examples/statemachine/statemachine-client.c:
   3974 	* glib/examples/statemachine/statemachine-server.c:
   3975 	* glib/examples/statemachine/statemachine-server.xml:
   3976 	* glib/examples/statemachine/statemachine.c:
   3977 	* glib/examples/statemachine/statemachine.h:
   3978 	* glib/examples/statemachine/statemachine.xml:
   3979 
   3980 	New example.
   3981 
   3982 	* glib/examples/example-service.c (main): Move invocation
   3983 	of dbus_g_object_type_install_info earlier, to emphasize it
   3984 	should only be done once.
   3985 
   3986 	* glib/examples/example-signal-emitter.c (main): Ditto.
   3987 
   3988 	* glib/examples/Makefile.am (SUBDIRS): Include statemachine.
   3989 
   3990 	* glib/dbus-gvalue.h (dbus_gtype_to_signature)
   3991 	(dbus_gvalue_marshal): Update prototypes.
   3992 
   3993 	* glib/dbus-gvalue.c: Update all marshalling functions to take
   3994 	const GValue instead of GValue.
   3995 	(signature_iter_to_g_type_array): Return a GPtrArray for nonfixed
   3996 	types.
   3997 	(dbus_gvalue_to_signature): Update for dbus_gtype_to_signature
   3998 	change.
   3999 	(dbus_gtype_to_signature): Handle generic collecitons and maps.
   4000 	Return a newly-allocated string.
   4001 	(demarshal_proxy, demarshal_object_path, demarshal_object)
   4002 	(demarshal_strv, demarshal_ghashtable): Set error, don't assert if
   4003 	we get the wrong types from message.
   4004 	(get_type_demarshaller): New function, extracted from
   4005 	dbus_gvalue_demarshal.
   4006 	(demarshal_collection): New function, demarshals generic
   4007 	collection.
   4008 	(dbus_gvalue_demarshal): Just invoke result of
   4009 	get_type_demarshaller.  Throw error if we don't have one.
   4010 	(marshal_garray_basic): Abort on OOM.
   4011 	(get_type_marshaller): New function, extracted from
   4012 	dbus_gvalue_marshal.
   4013 	(collection_marshal_iterator, marshal_collection): New functions;
   4014 	implements generic marshalling for an iteratable specialized
   4015 	collection.
   4016 	(dbus_gvalue_marshal): Just invoke result of get_type_marshaller.
   4017 
   4018 	* glib/dbus-gvalue-utils.c (gvalue_from_ptrarray_value): Handle
   4019 	G_TYPE_STRING.
   4020 	(ptrarray_value_from_gvalue): Ditto.
   4021 	(ptrarray_append, ptrarray_free): New functions.
   4022 	(slist_constructor, slist_iterator, slist_copy_elt, slist_copy) 
   4023 	(slist_append, slist_end_append, slist_free): New functions.
   4024 	(dbus_g_type_specialized_builtins_init): Add append fuctions
   4025 	for GPtrArray and GSList.  Register GSList.
   4026 	(test_specialized_hash, _dbus_gvalue_utils_test): New functions.
   4027 
   4028 	* glib/dbus-gtype-specialized.h (DBusGTypeSpecializedAppendContext):
   4029 	New.
   4030 	(dbus_g_type_specialized_collection_init_append)
   4031 	(dbus_g_type_specialized_collection_append)
   4032 	(dbus_g_type_specialized_collection_end_append): Prototype.
   4033 	(DBusGTypeSpecializedCollectionVtable): Add append_func and
   4034 	end_append_func.
   4035 
   4036 	* glib/dbus-gtype-specialized.c (dbus_g_type_specialized_collection_init_append) 
   4037 	(dbus_g_type_specialized_collection_append) 
   4038 	(dbus_g_type_specialized_collection_end_append): New functions.
   4039 	(dbus_g_type_map_value_iterate): Take const GValue.
   4040 	(dbus_g_type_collection_value_iterate): Ditto.
   4041 
   4042 	* glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run
   4043 	_dbus_gvalue_utils_test.
   4044 	
   4045 	* glib/dbus-gtest.h: Prototype it.
   4046 
   4047 	* glib/dbus-gproxy.c (dbus_g_proxy_manager_filter): Avoid
   4048 	using uninitialized owner_list.
   4049 	(dbus_g_proxy_begin_call_internal): Move return_if_fail to
   4050 	public API.
   4051 	(dbus_g_proxy_end_call_internal): Update to use error set
   4052 	from dbus_gvalue_demarshal instead of setting it here.
   4053 	(dbus_g_proxy_begin_call): Move return_if_fail here.
   4054 
   4055 	* glib/dbus-gobject.c (write_interface): Update for
   4056 	dbus_gtype_to_signature returning new string.
   4057 
   4058 	* configure.in: Add glib/examples/statemachine.
   4059 
   4060 2005-07-08  Joe Shaw  <joeshaw (a] novell.com>
   4061 
   4062 	* configure.in: Add a configure option, --with-console-auth-dir
   4063 	
   4064 	* dbus/dbus-sysdeps-util.c (_dbus_user_at_console): Use the
   4065 	new setting.  Patch from Kay Sievers.
   4066 
   4067 2005-07-06  Colin Walters  <walters (a] verbum.org>
   4068 
   4069 	* dbus/dbus-glib.h (DBusGPendingCall, DBusGPendingCallNotify)
   4070 	(DBUS_TYPE_G_PENDING_CALL, dbus_g_pending_call_get_g_type)
   4071 	(dbus_g_pending_call_ref, dbus_g_pending_call_unref): Delete.
   4072 	(dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel):
   4073 	Delete in favor of dbus_g_proxy_begin_call and
   4074 	dbus_g_proxy_cancel_call.
   4075 	(DBusGProxyCall, DBusGProxyCallNotify): New.
   4076 	(dbus_g_proxy_begin_call): Change prototype to take callback, user
   4077 	data, and destroy function.  This replaces
   4078 	dbus_g_pending_call_set_notify.
   4079 	(dbus_g_proxy_cancel_call): Prototype.
   4080 	(DBusGAsyncData): Delete, shouldn't be needed anymore.
   4081 
   4082 	* glib/dbus-gproxy.c (struct _DBusGProxy): Add call_id_counter and
   4083 	pending_calls map.
   4084 	(struct _DBusGProxyManager): Add bus_proxy member, which is an
   4085 	internal proxy for calls to the bus. Remove
   4086 	pending_nameowner_calls, now the internal proxy keeps track.
   4087 	(dbus_g_proxy_manager_unref): Unref bus proxy, remove reference to
   4088 	pending_nameowner_calls.
   4089 	(got_name_owner_cb): Update prototype, and use
   4090 	dbus_g_proxy_end_call.
   4091 	(got_name_owner_cb): Remove reference to pending_nameowner_calls.
   4092 	(dbus_g_proxy_manager_register): Delete directly libdbus code in
   4093 	favor of using internal proxy.
   4094 	(dbus_g_proxy_manager_unregister): Update to use
   4095 	dbus_g_proxy_cancel_call for any pending GetNameOwner call.
   4096 	(dbus_g_proxy_init): Initialize pending calls map.
   4097 	(dbus_g_proxy_constructor): New.
   4098 	(dbus_g_proxy_class_init): Add get/set property functions,
   4099 	constructor, and add NAME, PATH, and INTERFACE properties.
   4100 	(cancel_pending_call): New function.
   4101 	(dbus_g_proxy_dispose): Iterate over any outstanding calls and
   4102 	cancel them.
   4103 	(dbus_g_proxy_set_property, dbus_g_proxy_get_property): New.
   4104 	(GPendingNotifyClosure): New structure.
   4105 	(d_pending_call_notify, d_pending_call_free): Moved here from
   4106 	dbus-glib.c.
   4107 	(DBUS_G_VALUE_ARRAY_COLLECT_ALL): Moved around to satisfy function
   4108 	ordering.
   4109 	(manager_begin_bus_call): New internal function for talking to
   4110 	internal bus proxy.
   4111 	(dbus_g_proxy_new): Construct object using GObjet properties.
   4112 	(dbus_g_proxy_begin_call_internal): Update to take user data, etc.
   4113 	Create closure of same, and insert call into map of pending calls.
   4114 	(dbus_g_proxy_end_call_internal): Take call id instead of pending
   4115 	call.  Look up pending call in current set.  Remove it when we've
   4116 	completed.
   4117 	(dbus_g_pending_call_end, dbus_g_proxy_end_call_internal): Delete.
   4118 	(dbus_g_proxy_begin_call): Change API to take callback, user data,
   4119 	and destroy function directly.
   4120 	(dbus_g_proxy_end_call): Update to take DBusGProxyCall.
   4121 	(dbus_g_proxy_call): Invoke with NULL callback.
   4122 	(dbus_g_proxy_cancel_call): New function, replaces
   4123 	dbus_g_pending_call_cancel.
   4124 
   4125 	* glib/dbus-gparser.c (validate_signature): Fix call to
   4126 	dbus_set_g_error.
   4127 
   4128 	* glib/dbus-gobject.c (dbus_g_object_type_dbus_metadata_quark):
   4129 	New quark for attaching metadata to GType.
   4130 	(info_hash): Delete.
   4131 	(lookup_object_info): Look up using quark.
   4132 	(dbus_g_object_type_install_info): Check that a type is classed,
   4133 	not that it's an object.  Also just install type data using quark
   4134 	instead of using global hash.
   4135 
   4136 	* glib/dbus-glib.c (dbus_g_pending_call_ref) 
   4137 	(dbus_g_pending_call_unref, dbus_pending_call_get_g_type)
   4138 	(GPendingNotifyClosure): Delete.
   4139 	(d_pending_call_notify, d_pending_call_free): Move to dbus-gproxy.c.
   4140 	(dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel): Delete.
   4141 
   4142 	* glib/dbus-binding-tool-glib.c (generate_client_glue): Disable async
   4143 	client method generation until we can fix it...
   4144 	
   4145 	* tools/dbus-viewer.c (load_child_nodes): Use dbus_g_proxy_call.
   4146 	(load_from_service_thread_func): Ditto.
   4147 
   4148 	* tools/dbus-names-model.c (struct NamesModel): Hold
   4149 	DBusGProxyCall.
   4150 	(have_names_notify): Update prototype, use
   4151 	dbus_g_proxy_cancel_call.
   4152 	(names_model_reload): Update for new dbus_g_proxy_begin_call API.
   4153 
   4154 	* tools/dbus-monitor.c (filter_func): Update for print_message
   4155 	API change.
   4156 
   4157 	* test/glib/test-dbus-glib.c: Add more tests for async
   4158 	invocations.  Update many begin_call/end_call pairs to just use
   4159 	dbus_g_proxy_call.
   4160 
   4161 	* tools/dbus-send.c (main): Add --print-reply=literal mode.  This
   4162 	allows us to dump print-introspect.c.
   4163 
   4164 	* tools/dbus-print-message.h (print_message): Add literal argument
   4165 	to print_message which is intended to allow printing arguments without
   4166 	metadata like "string=".
   4167 
   4168 	* tools/dbus-print-message.c (print_iter): Add literal argument.
   4169 	(print_message): Allow printing string messages literally.
   4170 
   4171 2005-07-05  Colin Walters  <walters (a] verbum.org>
   4172 
   4173 	* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
   4174 	Remove value refcount leak, original patch from Jorn Baayen
   4175 	<jorn (a] openedhand.com>.  Also remove useless extra value in favor
   4176 	of prepending to value array directly.
   4177 
   4178 2005-07-02  Colin Walters  <walters (a] verbum.org>
   4179 
   4180 	* glib/dbus-gmain.c (_dbus_gmain_test): Fix test.
   4181 
   4182 2005-07-01  Colin Walters  <walters (a] verbum.org>
   4183 
   4184 	Patch from Jonathan Matthew <jonathan (a] kaolin.hn.org>
   4185 	
   4186 	* glib/dbus-gvalue.c (basic_typecode_to_gtype): Fix return type.
   4187 	(dbus_g_value_types_init): Marshal G_TYPE_CHAR as DBUS_TYPE_BYTE,
   4188 	G_TYPE_LONG as DBUS_TYPE_INT32, G_TYPE_ULONG as DBUS_TYPE_UINT32,
   4189 	and G_TYPE_FLOAT as DBUS_TYPE_DOUBLE.
   4190 
   4191 2005-06-30  Colin Walters  <walters (a] verbum.org>
   4192 
   4193 	* test/glib/test-dbus-glib.c:
   4194 	* test/glib/test-service-glib.c:
   4195 	* test/glib/test-service-glib.xml: Update tests for new error
   4196 	setting bits, also add async tests (patch from Ross Burton).
   4197 
   4198 	* test/glib/Makefile.am (test_service_glib_LDADD): Add
   4199 	DBUS_GLIB_THREADS_LIBS.
   4200 
   4201 	* glib/dbus-gproxy.c (get_name_owner)
   4202 	(dbus_g_pending_call_end_valist): Ditto.
   4203 
   4204 	* glib/dbus-gobject.c (error_metadata): New mapping from GError
   4205 	domain (GQuark) to DBusGErrorInfo.  
   4206 	(gerror_domaincode_to_dbus_error_name): Attempt to look up error
   4207 	quark in error_metadata.  Take message interface as default
   4208 	error message interface.
   4209 	(gerror_to_dbus_error_message): Pass message interface.
   4210 	(dbus_set_g_error): Resurrected.
   4211 	(dbus_g_error_info_free): New function.
   4212 	(dbus_g_object_type_install_info): Use g_type_class_ref instead
   4213 	of _peek to actually create the object class if it hasn't been
   4214 	created yet.
   4215 	(dbus_g_error_domain_register): New function.
   4216 
   4217 	* glib/dbus-gmain.c (dbus_g_bus_get): Switch to dbus_set_g_error.
   4218 
   4219 	* glib/dbus-gparser.c (validate_signature): Ditto.
   4220 
   4221 	* dbus/dbus-glib.h (dbus_g_error_set): Delete.
   4222 	(dbus_g_error_domain_register): Prototype.
   4223 
   4224 	* glib/dbus-glib.c (dbus_g_error_set): Delete.
   4225 	Update tests.
   4226 
   4227 2005-06-29  Colin Walters  <walters (a] verbum.org>
   4228 
   4229 	* dbus/dbus-glib.h: Delete DBUS_TYPE_G_PROXY_ARRAY.  Add
   4230 	DBUS_TYPE_G_OBJECT_PATH.
   4231 
   4232 	* glib/dbus-gvalue.c (dbus_g_value_types_init): Remove marshallers
   4233 	for G_TYPE_OBJECT and DBUS_TYPE_G_PROXY_ARRAY (the latter should
   4234 	be handled more generically).  Add DBUS_TYPE_G_OBJECT_PATH.
   4235 	(dbus_g_object_path_get_g_type): New function.
   4236 	(dbus_gtype_from_signature_iter): Map DBUS_TYPE_OBJECT_PATH
   4237 	to DBUS_TYPE_G_OBJECT_PATH by default.
   4238 	(demarshal_proxy): Remove unused name variable.
   4239 	(demarshal_object_path, marshal_object_path): New functions.
   4240 	(demarshal_proxy_array, marshal_proxy_array): Delete.
   4241 	
   4242 	* glib/dbus-binding-tool-glib.c (dbus_g_type_get_c_name): Map
   4243 	DBUS_TYPE_G_OBJECT_PATH to char *.
   4244 	(dbus_g_type_get_lookup_function): Map builtin
   4245 	DBUS_TYPE_G_OBJECT_PATH.
   4246 
   4247 	* test/glib/test-dbus-glib.c
   4248 	* test/glib/test-service-glib.c (my_object_objpath): 
   4249 	Adapt tests to new object path marshalling.
   4250 
   4251 2005-06-29  John (J5) Palmieri  <johnp (a] redhat.com>
   4252 
   4253 	* configure.in: force check for Python >= 2.4
   4254 
   4255 2005-06-29  Colin Walters  <walters (a] verbum.org>
   4256 	
   4257 	Patch from Ross Burton <ross (a] openedhand.com>
   4258 	
   4259 	* glib/dbus-gobject.c (invoke_object_method): Unset object
   4260 	value in all cases, not only in async case.
   4261 
   4262 2005-06-29  Colin Walters  <walters (a] verbum.org>
   4263 
   4264 	* glib/dbus-gproxy.c (struct _DBusGProxy): Add new member
   4265 	name_call for keeping track of any outgoing GetNameOwner call.
   4266 	Also add for_owner and associated.
   4267 	(struct _DBusGProxyManager): Add owner_names, which is hash table
   4268 	that maps a base name to a list of names it owns (that we're
   4269 	interested in).  Add pending_nameowner_calls which is a list of
   4270 	all outstanding GetNameOwner; avoids us having to iterate over
   4271 	every proxy.  Add unassociated_proxies which keeps track of name
   4272 	proxies with no associated name owner.
   4273 	(dbus_g_proxy_manager_unref): Destroy owner_names.
   4274 	(struct DBusGProxyNameOwnerInfo): New struct for keeping track of
   4275 	name refcounts.
   4276 	(find_name_in_info, name_owner_foreach)
   4277 	(dbus_g_proxy_manager_lookup_name_owner, insert_nameinfo)
   4278 	(dbus_g_proxy_manager_monitor_name_owner)
   4279 	(dbus_g_proxy_manager_unmonitor_name_owner)
   4280 	(unassociate_proxies, dbus_g_proxy_manager_replace_name_owner):
   4281 	New functions; they manipulate the owner_names mapping.
   4282 	(got_name_owner_cb): New function.
   4283 	(get_name_owner): New function, extracted from
   4284 	dbus_g_proxy_new_for_name_owner.
   4285 	(dbus_g_proxy_manager_register): For now we need to keep track of
   4286 	all NameOwnerChanged.  Also if the proxy is for a name, if we
   4287 	don't already know the name owner, queue a new GetNameOwner
   4288 	request and add it to our list of unassociated proxies.  Otherwise
   4289 	inc the refcount.
   4290 	(dbus_g_proxy_manager_unregister): If this proxy is for a name,
   4291 	cancel any pending GetNameOwner call, etc.
   4292 	(dbus_g_proxy_manager_filter): Handle NameOwnerChanged.  Also use
   4293 	the owner_names mapping to look up the current names for the
   4294 	signal source, and dispatch to any proxies for that name.
   4295 	(dbus_g_proxy_new): Initialize new members.
   4296 	(dbus_g_proxy_new_for_name): Delete unused proxy variable.
   4297 	(dbus_g_proxy_new_for_name_owner): Use get_name_owner.
   4298 	(dbus_g_pending_call_end_valist): New function, extracted from
   4299 	dbus_g_proxy_end_call_internal.  Useful when we don't have a proxy
   4300 	but want to use the GLib infrastructure.  Also note how many
   4301 	arguments in reply were over.
   4302 	(dbus_g_pending_call_end): New function, just call
   4303 	dbus_g_pending_call_end_valist.
   4304 	(dbus_g_proxy_end_call_internal): Just call
   4305 	dbus_g_pending_call_end_valist.
   4306 
   4307 	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Fix lookup
   4308 	of builtin marshaller for STRING_STRING_STRING.
   4309 
   4310 	* test/glib/test-dbus-glib.c: 
   4311 	* test/glib/test-service-glib.c:
   4312 	* test/glib/test-service-glib.xml:
   4313 	Extend tests to cover name proxies, destruction of owner proxies,
   4314 	etc.
   4315 	
   4316 	* glib/examples/example-signal-recipient.c
   4317 	(dbus_g_proxy_new_for_name_owner): Create a name proxy.
   4318 	
   4319 	* tools/dbus-send.c (main): Print D-BUS error name in addition
   4320 	to message.
   4321 
   4322 2005-06-28  John (J5) Palmieri  <johnp (a] redhat.com>
   4323 
   4324 	* python/dbus_bindings.pyx.in (cunregister_function_handler,
   4325 	cmessage_function_handler): Patch from 
   4326 	Anthony Baxter <anthony (a] interlink.com.au> fixes threading problems
   4327 	by using the Py_GILState_Ensure/Release to synchronize with the
   4328 	python runtime.
   4329 	
   4330 2005-06-28  Ray Strode  <rstrode (a] redhat.com>
   4331 
   4332 	*  dbus/dbus-spawn.c (_dbus_babysitter_unref): kill
   4333 	babysitter helper process on last unref, bug #2813.
   4334 
   4335 2005-06-27  Colin Walters  <walters (a] verbum.org>
   4336 
   4337 	* test/glib/test-dbus-glib.c: 
   4338 	* test/glib/test-service-glib.c:
   4339 	* test/glib/test-service-glib.xml:
   4340 	Test hash table signal emitting.
   4341 
   4342 	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Convert
   4343 	types to their fundamental basis types, since this is what
   4344 	marshallers operate on.  Also add an entry for VOID__BOXED.
   4345 	(dbus_g_object_register_marshaller_array): Convert to fundamental.
   4346 
   4347 2005-06-26  Havoc Pennington  <hp (a] redhat.com>
   4348 
   4349 	* doc/dbus-tutorial.xml: fix names of interface/service/path, fix
   4350 	from Don Park
   4351 
   4352 2005-06-26  Colin Walters  <walters (a] verbum.org>
   4353 
   4354 	* glib/dbus-glib.c (dbus_set_g_error): Delete.
   4355 	(dbus_g_error_set): New public function from its ashes; used by
   4356 	both service-side method implementation and GLib bindings
   4357 	internals.
   4358 	(dbus_g_error_has_name, dbus_g_error_get_name): New function.
   4359 	(_dbus_glib_test): Add some tests.
   4360 
   4361 	* test/glib/test-dbus-glib.c (main): Test dbus_g_error_has_name.
   4362 
   4363 	* test/glib/test-service-glib.c (my_object_throw_error): Use
   4364 	dbus_g_error_set.
   4365 
   4366 	* glib/dbus-gobject.c (gerror_to_dbus_error_message): Handle
   4367 	errors thrown by dbus_g_error_set.
   4368 
   4369 	* glib/dbus-gmain.c (dbus_g_bus_get): Change to dbus_g_error_set.
   4370 
   4371 	* glib/dbus-gparser.c (validate_signature): Ditto.
   4372 
   4373 	* glib/dbus-gproxy.c (dbus_g_proxy_new_for_name_owner) 
   4374 	(dbus_g_proxy_end_call_internal): Ditto.
   4375 
   4376 	* glib/Makefile.am: Generate dbus-glib-error-switch.h, which
   4377 	converts DBUS_ERROR_x to DBUS_GERROR_x.
   4378 	(libdbus_glib_1_la_SOURCES, BUILT_SOURCES, CLEANFILES): Add it.
   4379 
   4380 	* doc/TODO: Remove error TODO.
   4381 
   4382 	* doc/dbus-tutorial.xml: Update with documentation about error
   4383 	handling.
   4384 
   4385 	* dbus/make-dbus-glib-error-enum.sh: Tighten up regexp to make
   4386 	sure we only change DBUS_ERROR to DBUS_GERROR, not all ERROR to
   4387 	GERROR.  Also add DBUS_GERROR_REMOTE_EXCEPTION.
   4388 
   4389 2005-06-22  Colin Walters  <walters (a] verbum.org>
   4390 	
   4391 	Patch from Ross Burton <ross (a] openedhand.com>
   4392 
   4393 	* glib/dbus-gobject.c (dbus_g_method_return): Free out_sig.
   4394 
   4395 2005-06-20  Colin Walters  <walters (a] verbum.org>
   4396 
   4397 	* configure.in: Add glib/examples.
   4398 
   4399 	* glib/Makefile.am: Add examples/
   4400 
   4401 	* glib/examples/.cvsignore
   4402 	* glib/examples/Makefile.am
   4403 	* glib/examples/example-client.c
   4404 	* glib/examples/example-service.c
   4405 	* glib/examples/example-service.xml
   4406 	* glib/examples/example-signal-emitter.c
   4407 	* glib/examples/example-signal-emitter.xml
   4408 	* glib/examples/example-signal-recipient.c:
   4409 	New files; GLib binding examples, ported from
   4410 	python/examples.
   4411 
   4412 2005-06-20  Colin Walters  <walters (a] verbum.org>
   4413 
   4414 	* dbus/dbus-glib.h: 
   4415 	* glib/dbus-gproxy.c: Rename dbus_g_proxy_invoke to
   4416 	dbus_g_proxy_call.
   4417 
   4418 	* glib/dbus-binding-tool-glib.c: 
   4419 	* doc/dbus-tutorial.xml: 
   4420 	* test/glib/test-dbus-glib.c: Update for rename.
   4421 	
   4422 2005-06-20  Colin Walters  <walters (a] verbum.org>
   4423 
   4424 	Patch suggested by Ross Burton <ross (a] openedhand.com>
   4425 
   4426 	* glib/dbus-gobject.c (export_signals): Free signal name.
   4427 	(g_value_init): Use G_VALUE_NOCOPY_CONTENTS to plug
   4428 	memory leak.  Add a bit of documentation.
   4429 	(dbus_g_method_return_error): Free context, and note we do
   4430 	so.
   4431 
   4432 2005-06-18  Murray Cumming  <murrayc (a] murrayc.com>
   4433 
   4434 	* dbus/dbus-glib.h:
   4435 	* glib/dbus-gobject.c:
   4436 	* glib/dbus-gproxy.c:
   4437 	* glib/dbus-gvalue.c: Predeclare structs as 
   4438 	typedef struct _Something Something instead of 
   4439   	typedef struct Something Something, so we can 
   4440 	redeclare the prototypes. Other GNOME libraries 
   4441 	do this already.
   4442 
   4443 2005-06-17  Colin Walters  <walters (a] verbum.org>
   4444 
   4445 	* tools/dbus-names-model.c (have_names_notify): Fix call
   4446 	to dbus_g_proxy_end_call.
   4447 	
   4448 2005-06-17  Colin Walters  <walters (a] verbum.org>
   4449 
   4450 	* glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): Don't
   4451 	spew warnings if we get malformed remote signals.
   4452 
   4453 	* glib/dbus-gobject.c (propsig_iterate): New function.
   4454 	(lookup_object_info): New function, extracted from
   4455 	lookup_object_and_method.
   4456 	(introspect_properties, introspect_signals): Delete; these
   4457 	are merged into write_interface.
   4458 	(write_interface): Write out signals and properties here;
   4459 	dump the org.gtk.object stuff and use the interface given
   4460 	in the introspection data blob.  Also fix up property XML.
   4461 	(lookup_values): New function.
   4462 	(introspect_interfaces): Gather a mapping from interface to a
   4463 	list of its methods, signals, and properties, then write out
   4464 	each interface.
   4465 	(lookup_object_and_method): Use lookup_object_info.
   4466 	(struct DBusGSignalClosure): Add interface.
   4467 	(dbus_g_signal_closure_new): Add interface. Don't dup signame;
   4468 	we can just use the constant data.
   4469 	(dbus_g_signal_closure_finalize): Don't free signal name.
   4470 	(signal_emitter_marshaller): Use interface from signal closure.
   4471 	(export_signals): Only export signals mentioned in introspection
   4472 	blob.
   4473 	(dbus_g_connection_register_g_object): Warn if we have no
   4474 	introspection data for an object.
   4475 	(funcsig_equal): Remove unused variable.
   4476 	(dbus_g_object_register_marshaller): Take varargs instead of
   4477 	list.
   4478 	(dbus_g_object_register_marshaller_array): New function,
   4479 	extracted from old dbus_g_object_register_marshaller.
   4480 
   4481 	* glib/dbus-binding-tool-glib.c (struct DBusBindingToolCData): Add
   4482 	signals and property data.
   4483 	(write_quoted_string): New function, extracted from generate_glue.
   4484 	(generate_glue): Write signals and properties to introspection
   4485 	blob.
   4486 
   4487 	* dbus/dbus-glib.h (struct DBusGObjectInfo): Include
   4488 	exported_signals and exported_properties.
   4489 	(dbus_g_object_register_marshaller): Update prototype.
   4490 	(dbus_g_object_register_marshaller_array): Prototype.
   4491 	
   4492 	* test/glib/test-dbus-glib.c: Extend testing to cover new signals.
   4493 
   4494 	* test/glib/test-service-glib.c: Add new test signals and method
   4495 	to emit them.
   4496 
   4497 	* test/glib/test-service-glib.xml: Add some test signals.
   4498 
   4499 	* test/glib/Makefile.am (BUILT_SOURCES): Add my-object-marshal.c
   4500 	and my-object-marshal.h
   4501 	(test_service_glib_SOURCES, test_dbus_glib_SOURCES): Add
   4502 	my-object-marshal.c.
   4503 	(my-object-marshal.c, my-object-marshal.h): Implement.
   4504 
   4505 	* test/glib/.cvsignore: Update.
   4506 
   4507 	* doc/TODO: Remove two GLib TODO items fixed by this
   4508 	patch.
   4509 
   4510 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4511 
   4512 	* doc/TODO: Update for GLib bindings.
   4513 	
   4514 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4515 
   4516 	* glib/dbus-binding-tool-glib.c:
   4517 	* glib/dbus-gobject.c:
   4518 	* glib/dbus-gproxy.c:  Add Nokia copyright; Patch
   4519 	from Ross Burton, for his GLib bindings work.
   4520 
   4521 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4522 
   4523 	* glib/dbus-gobject.c (funcsig_hash, funcsig_equal): Use n_params
   4524 	to iterate instead of walking to G_TYPE_INVALID.
   4525 
   4526 	Patch based on a patch from Ryan Gammon.
   4527 
   4528 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4529 
   4530 	* bus/bus.c (bus_context_new): Set parser to NULL
   4531 	after we unref it (Patch from Chris Boscolo, #2174).
   4532 	
   4533 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4534 
   4535 	* python/dbus_bindings.pyx.in: Import size_t,
   4536 	__int64_t, __uint64_t, and __signed.
   4537 
   4538 	* dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (write_credentials_byte):
   4539 	Define cmsg struct, output it.
   4540 	(_dbus_read_credentials_unix_socket):
   4541 	Use cmsg struct.
   4542 	
   4543 	Patch from Joe Markus Clarke for FreeBSD support.
   4544 	
   4545 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4546 
   4547 	* tools/dbus-send.c (append_array): Use strtok.
   4548 	(append_dict): New function.
   4549 	(type_from_name): New function, extracted from main.
   4550 	(main): Handle sending dicts.
   4551 
   4552 	* tools/dbus-print-message.c (print_iter): Print dict
   4553 	entries.
   4554 	
   4555 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4556 
   4557 	* glib/dbus-gvalue.c (marshal_basic): Marshal NULL string
   4558 	values as the empty string (#2948).
   4559 	
   4560 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4561 
   4562 	* dbus/Makefile.am:
   4563 	* mono/doc/Makefile.am:
   4564 	* test/glib/Makefile.am:
   4565 
   4566 	Fix srcdir != builddir issues (Patch from Chris Wilson, #3477)
   4567 
   4568 2005-06-16  Colin Walters  <walters (a] verbum.org>
   4569 
   4570 	* dbus/dbus-marshal-header.c (_dbus_header_load): Set
   4571 	header byte order from expected byte order (Patch from Chris Wilson, #3475).
   4572 
   4573 	* dbus/dbus-marshal-byteswap.c (byteswap_body_helper): 
   4574 	Increment pointer after swapping fixed array.  Add assertion
   4575 	for array length.
   4576 		
   4577 2005-06-15  Colin Walters  <walters (a] verbum.org>
   4578 
   4579 	* dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (_dbus_read_credentials_unix_socket):
   4580 	Fix call to dbus_set_error.  (Patch from Michael Banck, #3461)
   4581 	
   4582 2005-06-15  John (J5) Palmieri  <johnp (a] redhat.com>
   4583 
   4584 	* NEWS: Update to 0.34
   4585 
   4586 2005-06-15  David Zeuthen  <davidz (a] redhat.com>
   4587 
   4588 	* configure.in (LT_CURRENT): Revert back to 1 as the library
   4589 	hasn't changed and we've certainly not committed to protocol
   4590 	stability yet.  All this does is to break ABI. See commit note
   4591 	from hp (a] redhat.com 2005-05-05 for details.
   4592 	
   4593 2005-06-15  John (J5) Palmieri  <johnp (a] redhat.com>
   4594 
   4595 	* dbus/dbus-connection.c (_dbus_connection_peer_filter): New method 
   4596 	(_dbus_connection_run_builtin_filters): New method
   4597 	(dbus_connection_dispatch): Run the builtin filters which in turn
   4598 	runs the peer filter which handles Ping messages.
   4599 
   4600 	* doc/TODO: 
   4601 	 - Ping isn't handled: This patch fixes it
   4602 	 
   4603 	 - Add a test case for the Ping message: added TODO item
   4604 
   4605 2005-06-15  John (J5) Palmieri  <johnp (a] redhat.com>
   4606 
   4607 	* dbus/dbus-message.c:
   4608 	(dbus_message_has_path): New method
   4609 	(dbus_message_has_interface): New method
   4610 	(dbus_message_has_member): New method
   4611 
   4612 	* dbus/dbus/dbus-sysdeps.c (_dbus_check_dir_is_private_to_user):
   4613 	New method
   4614 
   4615 	* dbus/dbus-keyring.c (_dbus_keyring_reload): Check to see that 
   4616 	the keyring directory is private to the user
   4617 
   4618 	* doc/TODO:
   4619 	 - The convenience functions in dbus-bus.h should perhaps have
   4620 	 the signatures that they would have if they were autogenerated
   4621 	 stubs. e.g. the acquire service function. We should also evaluate
   4622 	 which of these functions to include, in light of the fact that
   4623 	 GLib/Qt native stubs will probably also exist.: Punted
   4624 
   4625 	 - add dbus_message_has_path(), maybe has_member/interface:
   4626 	 fixed in this patch
   4627 
   4628 	 - in dbus-keyring.c, enforce that the keyring dir is not
   4629 	 world readable/writable: Fixed in this patch
   4630 
   4631 2005-06-15  John (J5) Palmieri  <johnp (a] redhat.com>
   4632 
   4633 	* dbus/dbus-marshal-validate.h: Added a new validation
   4634 	error code DBUS_VALIDITY_UNKNOWN_OOM_ERROR = -4 for 
   4635 	out of memory errors when validating signitures
   4636 
   4637 	* dbus/dbus-marshal-header.c: use DBUS_VALIDITY_UNKNOWN_OOM_ERROR
   4638 	in places where we previously used DBUS_VALID and a FALSE return 
   4639 	value to indicate OOM
   4640 	
   4641 	* dbus/dbus-marshal-validate.c (_dbus_validate_signature_with_reason):
   4642 	Use a stack to track the number of elements inside containers.  The 
   4643 	stack values are then used to validate that dict entries have only two
   4644 	elements within them.
   4645 	(validate_body_helper): check the reason for failure when validating
   4646 	varients
   4647 	
   4648 	* dbus/dbus-message.c (load_message): use 
   4649 	DBUS_VALIDITY_UNKNOWN_OOM_ERROR in places where we previously used 
   4650 	DBUS_VALID and a FALSE return value to indicate OOM
   4651 
   4652 	* doc/TODO: remove "- validate dict entry number of fields" as this
   4653 	patch fixes it
   4654 
   4655 2005-06-14  David Zeuthen  <davidz (a] redhat.com>
   4656 
   4657 	* bus/bus.c (process_config_every_time): Drop existing conf-dir
   4658 	watches (if applicable) and add new watches
   4659 
   4660 	* bus/main.c (signal_handler): Handle SIGIO if using D_NOTIFY
   4661 	(main): Setup SIGIO signal handler if using D_NOTIFY
   4662 
   4663 	* bus/config-parser.h: Add prototype bus_config_parser_get_conf_dirs
   4664 
   4665 	* bus/config-parser.c (struct BusConfigParser): Add conf_dirs list
   4666 	(merge_included): Also merge conf_dirs list
   4667 	(bus_config_parser_unref): Clear conf_dirs list
   4668 	(include_dir): Add directory to conf_dirs list
   4669 	(bus_config_parser_get_conf_dirs): New function
   4670 
   4671 	* bus/dir-watch.[ch]: New files
   4672 
   4673 	* bus/Makefile.am (BUS_SOURCES): Add dir-watch.[ch]
   4674 
   4675 	* configure.in: Add checks for D_NOTIFY on Linux
   4676 
   4677 2005-06-14  Colin Walters  <walters (a] verbum.org>
   4678 
   4679 	* glib/dbus-binding-tool-glib.c:
   4680 	* glib/dbus-gobject.c:
   4681 	* glib/dbus-gvalue.c: Fix indentation and brace style.
   4682 	
   4683 2005-06-14  Ross Burton <ross (a] openedhand.com>.
   4684 
   4685 	* glib/dbus-glib.h: Make DBusGMethodInvocation
   4686 	a private structure.  Rearrange prototypes a bit.
   4687 	
   4688 	* glib/dbus-gproxy.c (dbus_g_proxy_invoke): Add
   4689 	documentation for first_arg_type.
   4690 	
   4691 	* glib/dbus-gobject.c: Move DBusGMethodInvocation
   4692 	here, add documentation.  Move dbus_g_method_return
   4693 	and dbus_g_method_return_error into public API
   4694 	section.
   4695 
   4696 2005-06-14  Colin Walters  <walters (a] verbum.org>
   4697 
   4698 	* glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller):
   4699 	Add missing return statements, noticed by Ross Burton.
   4700 	
   4701 2005-06-13  Ross Burton <ross (a] openedhand.com>.
   4702 
   4703 	* glib/dbus-gobject.c: Handle errors on message
   4704 	demarshalling by sending error message back.
   4705 	* glib/dbus-gvalue.c: Initialize return variables.
   4706 
   4707 2005-06-13  Colin Walters  <walters (a] verbum.org>
   4708 
   4709 	* glib/Makefile.am: Fix thinko in last patch.
   4710 
   4711 2005-06-13  Colin Walters  <walters (a] verbum.org>
   4712 
   4713 	* glib/Makefile.am: Move dbus-gtype-specialized.c
   4714 	and dbus-gtype-specialized.h into a _HEADERS variable,
   4715 	install them.
   4716 
   4717 2005-06-12  Colin Walters  <walters (a] verbum.org>
   4718 
   4719 	Async signals and various bugfixes and testing by
   4720 	Ross Burton <ross (a] openedhand.com>.
   4721 
   4722 	* glib/dbus-gvalue.h: (struct DBusBasicGValue): Delete.
   4723 	(dbus_gvalue_genmarshal_name_from_type)
   4724 	(dbus_gvalue_ctype_from_type): Moved to dbus-binding-tool-glib.c.
   4725 	(dbus_gtype_to_dbus_type): Renamed to dbus_gtype_from_signature.
   4726 	(dbus_g_value_types_init, dbus_gtype_from_signature)
   4727 	(dbus_gtype_from_signature_iter, dbus_gtype_to_signature)
   4728 	(dbus_gtypes_from_arg_signature): New function prototypes.
   4729 	(dbus_gvalue_demarshal): Take context and error arguments.
   4730 	(dbus_gvalue_demarshal_variant): New function.
   4731 	(dbus_gvalue_demarshal_message): New function.
   4732 	(dbus_gvalue_store): Delete.
   4733 
   4734 	* glib/dbus-gvalue.c:
   4735 
   4736 	File has been almost entirely rewritten; now we special-case
   4737 	more types such as DBUS_TYPE_SIGNATURE, handle arrays and
   4738 	hash tables correctly, etc.  Full support for recursive values
   4739 	is not yet complete.
   4740 
   4741 	* glib/dbus-gproxy.c (dbus_g_proxy_class_init): Change last
   4742 	argument of signal to G_TYPE_POINTER since we now pass a
   4743 	structure.
   4744 	(lookup_g_marshaller): Delete in favor of
   4745 	_dbus_gobject_lookup_marshaller.
   4746 	(marshal_dbus_message_to_g_marshaller): Use
   4747 	_dbus_gobject_lookup_marshaller and dbus_gvalue_demarshal_message
   4748 	to handle remote signal callbacks.
   4749 	(dbus_g_proxy_new_from_proxy): New function; creates a new
   4750 	DBusGProxy by copying an existing one.
   4751 	(dbus_g_proxy_get_interface, dbus_g_proxy_set_interface)
   4752 	(dbus_g_proxy_get_path): New functions.
   4753 	(dbus_g_proxy_marshal_args_to_message): New function;
   4754 	factored out of existing code.
   4755 	(DBUS_G_VALUE_ARRAY_COLLECT_ALL): Collect all arguments
   4756 	from a varargs array.
   4757 	(dbus_g_proxy_begin_call_internal): New function.
   4758 	(dbus_g_proxy_end_call_internal): New function.
   4759 	(dbus_g_proxy_begin_call): Take GTypes instead of DBus types
   4760 	as arguments; simply invoke dbus_g_proxy_begin_call_internal
   4761 	after collecting args into value array.
   4762 	(dbus_g_proxy_end_call): Take GTypes instead of DBus types;
   4763 	invoke dbus_g_proxy_end_call_internal.
   4764 	(dbus_g_proxy_invoke): Simply invoke begin_call_interanl and
   4765 	end_call_internal.
   4766 	(dbus_g_proxy_call_no_reply): Take GTypes instead of DBus
   4767 	types.
   4768 	(array_free_all): New function.
   4769 	(dbus_g_proxy_add_signal): Take GTypes.
   4770 
   4771 	* glib/dbus-gobject.h:
   4772 	(_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
   4773 	(_dbus_gobject_get_path, _dbus_gobject_lookup_marshaller):
   4774 	Prototype.
   4775 
   4776 	* glib/dbus-gobject.c: Add a global marshal_table hash which
   4777 	stores mappings from type signatures to marshallers.  Change lots
   4778 	of invocations of dbus_gtype_to_dbus_type to
   4779 	dbus_gtype_to_signature.
   4780 	(_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete.
   4781 	(introspect_signals): Fix test for query.return_type.
   4782 	(set_object_property): Update invocation of dbus_gvalue_demarshal.
   4783 	(invoke_object_method): Many changes.  Handle asynchronous
   4784 	invocations.  Convert arguments with
   4785 	dbus_gvalue_demarshal_message.  Handle errors.  Use
   4786 	DBusSignatureIter instead of strlen on args. Handle all arguments
   4787 	generically.  Special-case variants.
   4788 	(dbus_g_method_return, dbus_g_method_return_error): New function.
   4789 	(DBusGSignalClosure): New structure, closes over signal
   4790 	information.
   4791 	(dbus_g_signal_closure_new): New function.
   4792 	(dbus_g_signal_closure_finalize): New function.
   4793 	(signal_emitter_marshaller): New function; is special marshaller
   4794 	which emits signals on bus.
   4795 	(export_signals): New function; introspects object signals and
   4796 	connects to them.
   4797 	(dbus_g_object_type_install_info): Take GType instead of
   4798 	GObjectClass.
   4799 	(dbus_g_connection_register_g_object): Invoke export_signals.
   4800 	(dbus_g_connection_lookup_g_object): New function.
   4801 	(DBusGFuncSignature) New structure; used for mapping type
   4802 	signatures to marshallers.
   4803 	(funcsig_hash): New function; hashes DBusGFuncSignature.
   4804 	(funcsig_equal): New function; compares DBusGFuncSignature.
   4805 	(_dbus_gobject_lookup_marshaller): New function.
   4806 	(dbus_g_object_register_marshaller): New function; used to
   4807 	register a marshaller at runtime for a particular signature.
   4808 
   4809 	* glib/dbus-gmain.c (_dbus_gmain_test): Add various tests.
   4810 
   4811 	* glib/dbus-binding-tool-glib.h: Add DBUS_GLIB_ANNOTATION_ASYNC
   4812 	which notes a server method implementation should be
   4813 	asynchronous.
   4814 
   4815 	* glib/dbus-binding-tool-glib.c
   4816 	(dbus_binding_tool_output_glib_server): Call
   4817 	dbus_g_value_types_init.
   4818 	(write_formal_parameters): Use dbus_gtype_from_signature.  Handle
   4819 	variants specially.
   4820 	(dbus_g_type_get_lookup_function): Turn GType into an invocation
   4821 	of a lookup function.
   4822 	(write_args_for_direction): Use dbus_g_type_get_lookup_function.
   4823 	(write_untyped_out_args): New method; write output arguments.
   4824 	(write_formal_declarations_for_direction): Function for
   4825 	writing prototypes.
   4826 	(write_formal_parameters_for_direction): Function for
   4827 	writing implementations.
   4828 	(write_typed_args_for_direction): Function for writing
   4829 	arguments prefixed with GTypes.
   4830 	(write_async_method_client): Write out async version
   4831 	of method.
   4832 
   4833 	* glib/dbus-binding-tool-glib.c: Include dbus-gvalue-utils.h.
   4834 	(dbus_g_type_get_marshal_name): Move mapping from GType
   4835 	to marshal name into here.
   4836 	(dbus_g_type_get_c_name): Move into here.
   4837 	(compute_marshaller): Convert signature to type with
   4838 	dbus_gtype_from_signature, use dbus_g_type_get_marshal_name.
   4839 	(compute_marshaller_name): Ditto.
   4840 	(compute_marshaller): Handle async signal annotations.
   4841 	(gather_marshallers): Return if we don't have a known
   4842 	prefix.
   4843 	(generate_glue): Collect introspection blob here, and
   4844 	write all of the blob at the end.  This allows an object
   4845 	with multiple interfaces to work.
   4846 	Mark async methods in introspection blob.
   4847 
   4848 	* glib/Makefile.am (libdbus_glib_1_la_SOURCES): Add
   4849 	dbus-gtype-specialized.c, dbus-gtype-specialized.h,
   4850 	dbus-gvalue-utils.h, dbus-gvalue-utils.c.
   4851 
   4852 	* dbus/dbus-glib.h: Don't include dbus-protocol.h; this
   4853 	avoids people accidentally using DBUS_TYPE_* which should
   4854 	not be necessary anymore.
   4855 	Do include dbus-gtype-specialized.h, which are utilities
   4856 	for GLib container types.
   4857 	Add various #defines for types such as
   4858 	DBUS_TYPE_G_BOOLEAN_ARRAY.
   4859 	(DBusGValueIterator, DBusGValue): Define, not fully used
   4860 	yet.
   4861 	(dbus_g_value_get_g_type): Type for recursive value.
   4862 	(dbus_g_value_open, dbus_g_value_iterator_get_value)
   4863 	(dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse)
   4864 	(dbus_g_value_free): Prototypes.
   4865 	(dbus_g_object_register_marshaller, dbus_g_proxy_new_from_proxy): Prototype.
   4866 	(dbus_g_proxy_set_interface): Prototype.
   4867 	(dbus_g_proxy_begin_call, dbus_g_proxy_end_call)
   4868 	(dbus_g_proxy_call_no_reply): Take GLib types instead of DBus
   4869 	types.
   4870 	(dbus_g_proxy_get_path, dbus_g_proxy_get_interface):
   4871 	Accessors.
   4872 	(DBusGAsyncData, DBusGMethodInvocation): Structures for
   4873 	doing async invocations.
   4874 	(dbus_g_method_return, dbus_g_method_return_error):
   4875 	Prototypes.
   4876 	* doc/dbus-tutorial.xml: Update GLib section.
   4877 	
   4878 	* tools/dbus-viewer.c (load_child_nodes): Update
   4879 	for new invocation type of dbus_g_proxy_end_call.
   4880 	(load_from_service_thread_func): Ditto.
   4881 
   4882 	* tools/print-introspect.c (main): Ditto.
   4883 
   4884 	* tools/dbus-names-model.c (have_names_notify)
   4885 	(names_model_reload, names_model_set_connection)
   4886 	Use GTypes.
   4887 
   4888 	* python/Makefile.am (INCLUDES): Define DBUS_COMPILATION,
   4889 	needed since Python bindings use GLib bindings.
   4890 
   4891 	* test/glib/Makefile.am (INCLUDES): Define DBUS_COMPILATION.
   4892 	Add --prefix argument.
   4893 
   4894 	* tools/Makefile.am: Define DBUS_COMPILATION.  Remove
   4895 	unneeded --ignore-unsupported arg.
   4896 	
   4897 	* test/glib/test-service-glib.c: 
   4898 	* test/glib/test-service-glib.xml:
   4899 	* test/glib/test-dbus-glib.c: Add many more tests.
   4900 
   4901 2005-06-06  David Zeuthen  <davidz (a] redhat.com>
   4902 
   4903 	* doc/TODO: Add item about need to remove deprecated functions.
   4904 
   4905 	* dbus/dbus-connection.h: Add prototype for dbus_connection_disconnect
   4906 
   4907 	* dbus/dbus-connection.c (dbus_connection_disconnect): New function
   4908 	to repair the ABI which was broken with the last commit.
   4909 
   4910 2005-06-02  John (J5) Palmieri <johnp (a] redhat.com>
   4911 
   4912 	*  dbus/dbus-connection.c, dbus/dbus-connection.h 
   4913 	(dbus_connection_disconnect): renamed to dbus_connection_close 
   4914 	for API symmetry with dbus_connection_open
   4915 	(_dbus_connection_open_internal): 
   4916 	s/dbus_connection_disconnect/dbus_connection_close
   4917 
   4918 	* dbus/dbus-bus.c (dbus_bus_get):
   4919 	s/dbus_connection_disconnect/dbus_connection_close
   4920 
   4921 	* bus/connection.c (bus_connections_unref, 
   4922 	bus_connections_setup_connection, bus_connections_expire_incomplete):
   4923 	s/dbus_connection_disconnect/dbus_connection_close
   4924 
   4925 	* bus/dispatch.c (bus_dispatch, kill_client_connection, 
   4926 	kill_client_connection_unchecked, check_hello_connection):
   4927 	s/dbus_connection_disconnect/dbus_connection_close
   4928 
   4929 	* bus/bus.c (new_connection_callback):
   4930 	s/dbus_connection_disconnect/dbus_connection_close
   4931 
   4932 	* tools/dbus-send.c (main):
   4933 	s/dbus_connection_disconnect/dbus_connection_close
   4934 
   4935 	* test/glib/test-profile.c (no_bus_thread_func, with_bus_thread_func):
   4936 	s/dbus_connection_disconnect/dbus_connection_close
   4937 	
   4938 	* test/test-service.c (path_message_func, filter_func):
   4939 	s/dbus_connection_disconnect/dbus_connection_close
   4940 	
   4941 	* doc/TODO: remove connection_open/connection_disconnect lacks symmetry 	item that was just fixed
   4942 	
   4943 2005-05-25  Colin Walters  <walters (a] verbum.org>
   4944 
   4945 	* dbus/dbus-protocol.h: Move various bus service #defines such
   4946 	  as DBUS_SERVICE_DBUS and DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT to
   4947 	  dbus/dbus-shared.h.
   4948 	* dbus/dbus-shared.h: Various defines moved here.
   4949 	* dbus/dbus-marshal-header.c: Include dbus-shared.h.
   4950 
   4951 2005-05-25  John (J5) Palmieri  <johnp (a] redhat.com>
   4952 
   4953 	* python/__init__.py: Python bindings deserve a minor version
   4954 	update.  Upped to (0, 40, 2)
   4955 
   4956 2005-05-24  John (J5) Palmieri  <johnp (a] redhat.com>
   4957 
   4958 	* python/decorators.py: add explicitly_pass_message decorator
   4959 	for passing in the dbus message as keyword for edge case signal
   4960 	handling
   4961 
   4962 	* python/matchrules.py (SignalMatchRule.__repr__): fix output
   4963 	to conform with what dbus expects for match rules
   4964 	(SignalMatchRule.execute): add the dbus message as a keyword
   4965 	if the signal handler has requested it
   4966 
   4967 	* python/examples/example/signal-recipient.py: added some more
   4968 	examples on how to hook up to signals
   4969 
   4970 2005-05-23  John (J5) Palmieri  <johnp (a] redhat.com>
   4971 
   4972 	* python/decorators.py: import dbus_bindings
   4973 
   4974 	* python/matchrules.py (SignalMatchRule, SignalMatchTree, 
   4975 	SignalMatchNode): new classes that implement wildcard signal
   4976 	callback matching using a tree lookup. Heavily modified from a
   4977 	patch sent by Celso Pinto (fd.o bug #3241)
   4978 
   4979 	* _dbus.py (add_signal_receiver, remove_signal_receiver, _signal_func):
   4980 	use new match classes to handle signals.
   4981 
   4982 2005-05-19  John (J5) Palmieri  <johnp (a] redhat.com>
   4983 	
   4984 	* python/dbus_bindings.pyx.in: s/TYPE_PATH/TYPE_OBJECT_PATH
   4985 
   4986 2005-05-18  Havoc Pennington  <hp (a] redhat.com>
   4987 
   4988 	* configure.in: use GLIB_GNU_GETTEXT to get INTLLIBS and require
   4989 	gettext. Not really worth requiring yet perhaps, but any
   4990 	production quality 1.0 would require it so we should go ahead and
   4991 	get things set up. We do have a couple token calls to
   4992 	bindtextdomain in the code already.
   4993 
   4994 2005-05-16  John (J5) Palmieri  <johnp (a] redhat.com>
   4995 
   4996 	* glib/dbus-gmain.c (io_handler_dispatch): fix deadlock
   4997 	when using recursive g_main_loops
   4998 
   4999 	* python/_dbus.py (class Bus): add the ProxyObjectClass
   5000 	alias for ProxyObject to make it easier for the Twisted 
   5001 	networking framework to integrate dbus.
   5002 
   5003 	* python/proxies.py (class ProxyObject): add the ProxyMethodClass
   5004 	alias for ProxyMethod to make it easier for the Twisted 
   5005 	networking framework to integrate dbus. 
   5006 
   5007 2005-05-11  Ross Burton  <ross (a] openedhand.com>
   5008 
   5009 	* glib/dbus-glib-tool.c: Add --prefix argument.
   5010 	* glib/dbus-binding-tool-glib.h: Add prefix argument.
   5011 	* glib/dbus-binding-tool-glib.c (compute_marshaller_name):
   5012 	Add prefix argument.
   5013 	(generate_glue): Pass prefix argument down.
   5014 	(dbus_binding_tool_output_glib_server): Pass prefix to
   5015 	glib-genmarshal.
   5016 	
   5017 2005-05-11  Colin Walters  <walters (a] verbum.org>
   5018 
   5019 	* tools/dbus-send.c (append_array): New function.
   5020 	(append_arg): Broken out from main.
   5021 	(main): Add cheesy hack to send arrays and variants.
   5022 	(usage): Update.
   5023 	* tools/dbus-print-message.c (print_iter): Broken out
   5024 	from main.
   5025 
   5026 2005-05-11  Colin Walters  <walters (a] verbum.org>
   5027 
   5028 	* dbus/dbus-signature.c (dbus_signature_iter_get_signature):
   5029 	New function, returns signature string for signature iter.
   5030 	* dbus/dbus-signature.h: Prototype it.
   5031 	* dbus/dbus-message.c (dbus_message_iter_get_signature):
   5032 	New function, returns signature string for message iter.
   5033 	(dbus_message_iter_get_array_len): New function, returns
   5034 	length of array.
   5035 	(dbus_message_iter_get_fixed_array): Fix assertion; this
   5036 	function should be used when the iter is pointing to the
   5037 	contents of an array
   5038 	* dbus/dbus-message.h: Prototypes.
   5039 	* dbus/dbus-marshal-recursive.c (_dbus_type_reader_get_array_length):
   5040 	New function; returns length of an array.
   5041 	* dbus/dbus-marshal-recursive.h: Prototype it.
   5042 	
   5043 2005-05-11  Colin Walters  <walters (a] verbum.org>
   5044 
   5045 	* dbus/dbus-sysdeps-util.c <!HAVE_POSIX_GETPWNAM_R>: Fix
   5046 	compilation error.
   5047 	
   5048 2005-05-08  Havoc Pennington  <hp (a] redhat.com>
   5049 
   5050 	* dbus/dbus-sysdeps-util.c (_dbus_become_daemon): write the
   5051 	daemon's pid, not the parent's pid, to the file descriptor.
   5052 	Reported by Taj Morton.
   5053 
   5054 2005-05-05  Havoc Pennington  <hp (a] redhat.com>
   5055 
   5056 	* configure.in (LT_*): add notes on how the libtool versioning
   5057 	works to save thinking. Increment soname to indicate protocol
   5058 	breakage (though really the library interface hasn't changed I
   5059 	guess)
   5060 
   5061 	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
   5062 	verify the GUID received from server matches what we were
   5063 	expecting, if we had an expectation
   5064 
   5065 	* dbus/dbus-auth.c (send_ok): send GUID along with the OK command
   5066 	(_dbus_auth_get_guid_from_server): new function
   5067 	(send_begin): parse the OK args
   5068 
   5069 	* doc/dbus-specification.xml: add GUID to the auth protocol
   5070 
   5071 2005-05-05  John (J5) Palmieri  <johnp (a] redhat.com>
   5072 
   5073 	* Fix my name in previous changelog ;)
   5074 
   5075 	* python/proxies.py (ProxyObject.__getattr__): add further patch
   5076 	from Anthony Baxter to throw an AttributeError when python 
   5077 	__special__ functions are called instead of marshling them over 
   5078 	the bus (Bug#1685 comment 3).
   5079 
   5080 2005-05-04  John (J5) Palmieri  <johnp (a] redhat.com>
   5081 
   5082 	* python/Makefile.am: changed to use pyexecdir for the binding
   5083 	shared libraries (Bug#2494)
   5084 
   5085 	* python/exceptions.py: bring exceptions over from the bindings
   5086 	so they can be used in applications (Bug#2036)
   5087 	Make all exceptions derive from DBusException
   5088 
   5089 	* python/_dbus.py, python/proxies.py: implement __repr__ in a couple
   5090 	of classes so that print obj doesn't throw an exception (Bug #1685)
   5091 
   5092 2005-05-03  Ross Burton  <ross (a] openedhand.com>
   5093 
   5094 	* glib/dbus-gobject.c (dbus_g_connection_register_g_object):
   5095 	Return if we get an error during registration.  Set up a
   5096 	weak reference on object to unregister if object is destroyed.
   5097 	(unregister_gobject): New function.
   5098 	
   5099 2005-05-01  John (J5) Palmieri  <johnp (a] redhat.com>
   5100 
   5101 	* python/dbus_bindings.pyx.in: 
   5102 	- added new type classes for hinting to the marashaler what type 
   5103 	to send over the wire
   5104 	- added int16 and uint16 marshalers
   5105 	- Fixed a bug in the type constants that caused int32 to go out
   5106 	as uint16 over the wire
   5107 	* python/dbus.py: split up into different files and renamed _dbus.py
   5108 	* python/__init__.py, python/_util.py, python/decorators.py, 
   5109 	python/exceptions.py, python/proxies.py, python/services.py,
   5110 	python/types.py: new files split off from dbus.py
   5111 	* python/Makefile.am: Add new files, remove dbus.py and 
   5112 	install all python files to <python module dir>/dbus
   5113 	* python/examples/*: Added #!/usr/bin/env python to the top of
   5114 	every example.  Patch provided by Tatavarty Kalyan
   5115 
   5116 2005-04-25  John (J5) Palmieri  <johnp (a] redhat.com>
   5117 
   5118 	* NEWS: Update to 0.33
   5119 
   5120 2005-04-25  John (J5) Palmieri  <johnp (a] redhat.com>
   5121 
   5122 	* python/dbus_bindings.pyx.in (send_with_reply_handlers): New send
   5123 	method for doing async calls
   5124 	(_pending_call_notification): New C function for handling pendning call
   5125 	callbacks
   5126 	(set_notify): New method for setting pending call notification
   5127 	
   5128 	* python/dbus.py: new version tuple "version" is set at (0, 40, 0)
   5129 	Async capabilities added to remote method calls
   5130 	(Sender): class removed
   5131 	(RemoteService): class removed
   5132 	(ObjectTree): class removed for now
   5133 	(RemoteObject): Renamed to ProxyObject
   5134 	(RemoteMethod): Renamed to ProxyMethod
   5135 	(method): Decorator added for decorating python methods as dbus methods
   5136 	(signal): Decorator added for decorating python methods as signal emitters
   5137 	(ObjectType): Metaclass added for generating introspection data and the
   5138 	method callback vtable
   5139 	(Interface): Wrapper class added to wrap objects in a dbus interface
   5140 	(Object): Uses ObjectType as its metaclass and exports Introspect
   5141 	of the org.freedesktop.DBus.Introspectable interface
   5142 	(ValidationException, UnknownMethodException): new exceptions
   5143 
   5144 	* python/examples/*: Modified to fit with the new bindings
   5145 
   5146 2005-04-23  Havoc Pennington  <hp (a] redhat.com>
   5147 
   5148 	* dbus/dbus-message.c (dbus_message_append_args): fix doc comment,
   5149 	reported by Tony Houghton
   5150 
   5151 	* test/test-service.c (main): test
   5152 	dbus_connection_get_object_path_data()
   5153 
   5154 	* dbus/dbus-object-tree.c (find_handler): be sure we always init
   5155 	the exact_match
   5156 	(_dbus_object_tree_get_user_data_unlocked): new function used by
   5157 	dbus_connection_get_object_path_data()
   5158 	(do_register): add assertion test for get_user_data_unlocked
   5159 	(object_tree_test_iteration): more tests
   5160 
   5161 	* dbus/dbus-connection.c (dbus_connection_get_object_path_data):
   5162 	new function from Dan Reed to let you get the user data from 
   5163 	dbus_connection_register_object_path()
   5164 
   5165 2005-04-23  John (J5) Palmieri  <johnp (a] redhat.com>
   5166 
   5167 	* dbus/dbus-marshal-recursive-util.c: Fixed buffer overflow
   5168 	in numerous places that did not account for the NULL terminator
   5169 	(signature_from_seed): changed the manual string copy loop to 
   5170 	just use strcpy instead
   5171 	make check should now pass
   5172 
   5173 2005-04-19  John (J5) Palmieri  <johnp (a] redhat.com>
   5174 
   5175 	* dbus/dbus-marshal-header.c (_dbus_header_create): Fix assert
   5176 	so that it allows messages that are not signals to pass in 
   5177 	NULL as the interface.
   5178 
   5179 2005-04-18  David Zeuthen  <davidz (a] redhat.com>
   5180 
   5181 	* glib/dbus-gmain.c (io_handler_destroy_source): 
   5182 	(timeout_handler_destroy_source, connection_setup_free): 
   5183 	Also unref the source to avoid memory leaks.
   5184 
   5185 2005-04-13  David Zeuthen  <davidz (a] redhat.com>
   5186 
   5187 	* bus/config-parser.c (bus_config_parser_new): Bump this to a
   5188 	more reasonable, yet still totally arbitrary, value :-). 
   5189 
   5190 2005-04-13  David Zeuthen  <davidz (a] redhat.com>
   5191 
   5192 	* doc/TODO: Added an "important for 1.0" item about selinux
   5193 	allow/deny messages
   5194 
   5195 2005-04-13  David Zeuthen  <davidz (a] redhat.com>
   5196 
   5197 	* bus/selinux.c: Add c-file-style to top of file
   5198 	(log_audit_callback): Don't free the data here anymore
   5199 	(bus_selinux_check): Don't take spid and tpid since appending
   5200 	that to auxdata may OOM.
   5201 	(bus_selinux_allows_acquire_service): Handle OOM and signal back
   5202 	to the caller if we are OOM by taking an error object.
   5203 	(bus_selinux_allows_send): -do-
   5204 
   5205 	* bus/selinux.h: Fix prototypes for bus_selinux_allows_acquire_service
   5206 	and bus_selinux_allows_send
   5207 
   5208 	* bus/bus.c (bus_context_check_security_policy): Pass error and
   5209 	pass on OOM thrown by bus_selinux_allows_send()
   5210 
   5211 	* bus/services.c (bus_registry_acquire_service): Pass error and
   5212 	pass on OOM thrown by bus_selinux_allows_acquire_service()
   5213 
   5214 2005-04-13  Havoc Pennington  <hp (a] redhat.com>
   5215 
   5216 	* glib/dbus-gmain.c (message_queue_dispatch): only dispatch one
   5217 	message at a time to avoid monopolizing the main loop, bug 
   5218 	#2953 from Benjamin Otte
   5219 
   5220 2005-04-09  Havoc Pennington  <hp (a] redhat.com>
   5221 
   5222 	* dbus/dbus-string.c (copy): change a memcpy to memmove due to
   5223 	possible overlap, fix from Daniel Reed
   5224 	(fixup_alignment): fix signedness warnings
   5225 	(_dbus_string_append_unichar): ditto
   5226 
   5227 2005-04-09  Havoc Pennington  <hp (a] redhat.com>
   5228 
   5229 	* dbus/dbus-message-util.c (_dbus_message_test): fix signedness warning
   5230 
   5231 	* glib/dbus-glib-tool.c (main): fix warning
   5232 
   5233 	* glib/dbus-binding-tool-glib.c (generate_glue): fix warning
   5234 
   5235 	* dbus/dbus-connection.c (dbus_connection_read_write_dispatch):
   5236 	add a new function that can be used in simple applications that
   5237 	don't have a main loop and are willing to block
   5238 
   5239 2005-04-05  David Zeuthen  <davidz (a] redhat.com>
   5240 
   5241 	Fix https://bugs.freedesktop.org/show_bug.cgi?id=2889
   5242 
   5243 	* glib/dbus-gmain.c:
   5244 	(io_handler_destroy_source): Remove from list of IO handlers
   5245 	of the ConnectionSetup object
   5246 	(timeout_handler_destroy_source): -do- for timeout handlers
   5247 	(io_handler_source_finalized): Don't remove from list since
   5248 	we now do that in io_handler_destroy_source(). Renamed from
   5249 	io_handler_source_destroyed
   5250 	(timeout_handler_source_destroyed): -do- for timeout handlers
   5251 	(connection_setup_free): It is now safe to iterate over all
   5252 	IO and timeout handlers as the _destroy_source removes them
   5253 	from the list synchronously
   5254 
   5255 2005-03-30  Havoc Pennington  <hp (a] redhat.com>
   5256 
   5257 	* configure.in: change check to gtk 2.4
   5258 
   5259 	* tools/dbus-viewer.c (name_combo_changed_callback): remove
   5260 	gtk_combo_box_get_active_text() usage to decrement GTK requirement
   5261 	to 2.4
   5262 
   5263 2005-03-29  John (J5) Palmieri  <johnp (a] redhat.com>
   5264 
   5265 	* News: Update 0.32
   5266 
   5267 	* HACKING: Fixed realease instructions.  configure.in should be updated to
   5268 	  the next release by the person who made the last release.
   5269 
   5270 2005-03-29  John (J5) Palmieri  <johnp (a] redhat.com>
   5271 
   5272 	* python/lvalue_cast_post_process.py - removed.  Patch has been
   5273 	  submitted to Pyrex maintainers that fixes gcc4.0 errors
   5274 
   5275 	* python/Makefile.am: removed refrences to lvalue_cast_post_process.py
   5276 
   5277 2005-03-24  Daniel Reed  <n (a] ml.org>
   5278 
   5279 	* tools/Makefile.am: Make print-introspect and
   5280 	dbus-bus-introspect.xml building conditional on HAVE_GLIB.
   5281 
   5282 2005-03-22  John (J5) Palmieri  <johnp (a] redhat.com>
   5283 
   5284 	* tools/Makefile.am: Patch by Colin Walters that fixes distcheck
   5285 
   5286 	* dbus/dbus-userdb.c, dbus/dbus-userdb-util.c: Add patch we have 
   5287 	  had in Red Hat packages for a while but for some reason never 
   5288 	  got merged upstream
   5289 	  (_dbus_is_a_number): New checks if a string
   5290 	  can be converted to a number and does the conversion if it can
   5291 	  (_dbus_user_database_lookup): Add check to see if the given username
   5292 	  is a udi.  This allows udi's to be used instead of usernames in the
   5293 	  config file.
   5294 	  (_dbus_user_database_lookup_group): Add check to see if the given groupname
   5295 	  is a gdi.  This allows gdi's to be used instead of groupnames in the
   5296 	  config file.
   5297 
   5298 2005-03-21  John (J5) Palmieri  <johnp (a] redhat.com>
   5299 
   5300 	* python/lvalue_cast_post_process.py - added post processor to fix Pyrex
   5301 	  code so that it compiles with gcc4.0
   5302 
   5303 	* python/Makefile.am: Added lvalue_cast_post_process.py to EXTRA_DIST
   5304 	  run dbus_bindings.c through lvalue_cast_post_process.py and copy the
   5305 	  results back to dbus_binding.c
   5306 
   5307 2005-03-20  Colin Walters  <walters (a] verbum.org>
   5308 
   5309 	Patch suggested by Inguva Rajasekhar <ringuva (a] novell.com>.
   5310 
   5311 	* configure.in: Require GTK+ 2.6.
   5312 	
   5313 2005-03-20  Colin Walters  <walters (a] verbum.org>
   5314 
   5315 	* Makefile.am (SUBDIRS, DIST_SUBDIRS): Build tools before test.
   5316 
   5317 2005-03-17  Tom Parker  <palfrey (a] tevp.net>
   5318 
   5319 	* dbus/dbus-userdb.c (_dbus_user_database_lookup): Don't
   5320 	print DBUS_UID_UNSET; instead print passed username.  Also
   5321 	be sure to actually use gid looked up in cache.
   5322 	
   5323 	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): Ditto
   5324 	for DBUS_GID_UNSET and groupname.
   5325 
   5326 2005-03-17  Colin Walters  <walters (a] verbum.org>
   5327 
   5328 	* bus/print-introspect.c: Move to tools/.
   5329 	* bus/run-with-tmp-session-bus.sh: Ditto.
   5330 	
   5331 	* glib/Makefile.am (dbus-glib-bindings.h): Move
   5332 	generation to tools/Makefile.am.
   5333 
   5334 	* test/glib/run-test.sh: Update to handle move
   5335 	of run-with-tmp-session-bus.sh.
   5336 
   5337 	* test/glib/test-service-glib.c: Update to handle
   5338 	move of dbus-glib-bindings.h.
   5339 
   5340 	* tools/print-introspect.c: Moved here
   5341 	from bus/, and ported to GLib bindings.
   5342 
   5343 	* tools/run-with-tmp-session-bus.sh: Moved here
   5344 	from bus/.
   5345 
   5346 	* tools/Makefile.am: Generate dbus-glib-bindings.h
   5347 	and dbus-bus-introspect.xml here.
   5348 
   5349 	* tools/.cvsignore, glib/.cvsignore, bus/.cvsignore:
   5350 	Update.
   5351 
   5352 2005-03-17  Colin Walters  <walters (a] verbum.org>
   5353 
   5354 	* bus/driver.c (write_args_for_direction): Use
   5355 	_dbus_string_get_const_data to retrieve string;
   5356 	_dbus_string_get_const_data_len doesn't actually return
   5357 	a NULL-terminated substring.
   5358 
   5359 	* test/glib/test-service-glib.c: Include dbus-glib-bindings.h.
   5360 	(main): Change to use org_freedesktop_DBus_request_name
   5361 	instead of using g_proxy_begin_call/end_call.
   5362 
   5363 2005-03-15  Joe Shaw  <joeshaw (a] novell.com>
   5364 
   5365 	* mono/ProxyBuilder.cs (BuildFinalizer): Fix some invalid IL when
   5366 	generating the finalizer.  Fixes from Ben Maurer.
   5367 
   5368 2005-03-12  Joe Shaw  <joeshaw (a] novell.com>
   5369 
   5370 	* mono/BusDriver.cs: Update method names: ListServices
   5371 	becomes ListNames; GetOwner becomes GetNameOwner.
   5372 
   5373 	* mono/ProxyBuilder.cs (BuildFinalizer): Need to load arg 0
   5374 	onto the eval stack when removing the delegate.
   5375 
   5376 2005-03-12  Joe Shaw  <joeshaw (a] novell.com>
   5377 
   5378 	* mono/dbus-sharp.dll.config.in: Don't hardcode 0 for
   5379 	LT_CURRENT.  Set it to the autoconf variable.
   5380                                                                                 
   5381 	* mono/ProxyBuilder.cs: Add a finalizer to the generated proxy
   5382 	classes that disconnects the signal handler delegate from the
   5383 	service object.  Fixes a big leak of proxy objects on the
   5384 	client side of things.  Patch from Ben Maurer
   5385 	<bmaurer (a] ximian.com>
   5386 
   5387 2005-03-12  Colin Walters  <walters (a] verbum.org>
   5388 
   5389 	* bus/driver.c (write_args_for_direction): New function,
   5390 	parses a type signature into arguments and outputs to
   5391 	XML.
   5392 	(bus_driver_handle_introspect): Use it instead of
   5393 	hardcoding XML for certain signatures.
   5394 	
   5395 	* bus/Makefile.am (dbus-bus-introspect.xml): Add
   5396 	dependency on dbus-daemon.
   5397 
   5398 	* glib/dbus-glib-tool.c (main): Parse ignore_unsupported
   5399 	argument, pass it to dbus_binding_tool_output_glib_client.
   5400 
   5401 	* glib/dbus-binding-tool-glib.c
   5402 	(generate_client_glue): Protect against multiple inclusion.
   5403 	(dbus_binding_tool_output_glib_client): Add
   5404 	G_BEGIN_DECLS/G_END_DECLS.
   5405 
   5406 	* glib/dbus-binding-tool-glib.c (compute_client_method_name):
   5407 	Change to just take iface prefix directly.
   5408 	(write_formal_parameters): Clarify error message.
   5409 	(check_supported_parameters): New function; checks to see type
   5410 	signatures of method parameters are supported.
   5411 	(generate_client_glue): Handle ignore_unsupported flag.
   5412 	(dbus_binding_tool_output_glib_client): Handle ignore_unsupported
   5413 	parameter.
   5414 
   5415 	* glib/Makefile.am (dbus-glib-bindings.h): Pass
   5416 	--ignore-unsupported by default until glib bindings
   5417 	support arrays.
   5418 
   5419 2005-03-11  Colin Walters  <walters (a] verbum.org>
   5420 
   5421 	* glib/Makefile.am: Generate dbus-glib-bindings.h and
   5422 	install it.
   5423 
   5424 	* bus/print-introspect.c: New file; prints introspection
   5425 	data for a given name and object path.
   5426 
   5427 	* bus/run-with-tmp-session-bus.sh: New file, refactored
   5428 	from test/glib/run-test.sh.  Creates a temporary session
   5429 	bus and runs another program.
   5430 
   5431 	* test/glib/run-test.sh: Refactor to invoke
   5432 	run-with-tmp-session-bus.sh.
   5433 
   5434 	* bus/driver.c (bus_driver_handle_introspect): Fix to print new
   5435 	introspection format.  Also change to use DBUS_TYPE_x_AS_STRING
   5436 	macros instead of hardcoding.
   5437 
   5438 	* glib/.cvsignore, bus/.cvsignore, test/glib/.cvsignore: Update.
   5439 
   5440 2005-03-11  Joe Shaw  <joeshaw (a] novell.com>
   5441 
   5442 	* dbus/dbus-connection.c (dbus_connection_send_with_reply): Remove
   5443 	this unref; it doesn't match up evenly in some codepaths.
   5444 	(_dbus_connection_block_pending_call): Unref at every exitpoint;
   5445 	this evenly matches with the ref near the top of this function.
   5446 
   5447 2005-03-09  Joe Shaw  <joeshaw (a] novell.com>
   5448 
   5449 	* dbus/dbus-object-tree.c
   5450 	(_dbus_object_tree_unregister_and_unlock): If checks are enabled
   5451 	and we try to unregister a path that's not registered, still go
   5452 	through the process of unlocking and don't just return.
   5453 
   5454 2005-03-09  Colin Walters  <walters (a] verbum.org>
   5455 
   5456 	* glib/dbus-gproxy.c (dbus_g_proxy_invoke): New method; calls
   5457 	to this are generated for client-side wrappers.  Invokes a
   5458 	D-BUS method and returns reply values.  
   5459 
   5460 	* glib/dbus-binding-tool-glib.c (write_args_sig_for_direction): New
   5461 	function; writes signature string for argument direction.
   5462 	(write_args_for_direction): Change to pass input values directly
   5463 	instead of via address, and fix indentation.
   5464 	(generate_client_glue): Change to invoke dbus_g_proxy_invoke.  Also
   5465 	make generated wrappers inlineable.
   5466 
   5467 	* dbus/dbus-message.c (dbus_message_iter_get_fixed_array): Add
   5468 	note about using dbus_type_is_fixed.
   5469 
   5470 	* dbus/dbus-marshal-basic.c (_dbus_type_is_fixed): Moved to
   5471 	dbus/dbus-signature.c as dbus_type_is_fixed.
   5472 
   5473 	All callers updated.
   5474 
   5475 	* dbus/dbus-signature.c (dbus_type_is_fixed): Moved here
   5476 	from dbus/dbus-marshal-basic.c:_dbus_type_is_fixed.
   5477 
   5478 	* dbus/dbus-signature.h: Prototype.
   5479 
   5480 	* glib/dbus-binding-tool-glib.c (compute_marshaller_name): Fix
   5481 	error printf code.
   5482 
   5483 	* test/glib/test-dbus-glib.c (main): Be sure to clear error as
   5484 	appropriate instead of just freeing it.
   5485 	(main): Free returned strings using g_free.
   5486 
   5487 	* test/glib/Makefile.am (test-service-glib-glue.h)
   5488 	(test-service-glib-bindings.h): Add dependency on dbus-binding-tool.
   5489 
   5490 	* glib/dbus-gvalue.c (MAP_BASIC): Refactored from MAP_BASIC_INIT;
   5491 	simply maps a simple D-BUS type to GType.
   5492 	(dbus_dbus_type_to_gtype): Function which maps D-BUS type to
   5493 	GType.
   5494 	(dbus_gvalue_init): Just invoke dbus_dbus_type_to_gtype and
   5495 	initialize the value with it.
   5496 	(dbus_gvalue_binding_type_from_type): Unused, delete.
   5497 	(dbus_gvalue_demarshal): Switch to hardcoding demarshalling for
   5498 	various types instead of unmarshalling to value data directly.
   5499 	Remove can_convert boolean.
   5500 	(dbus_gvalue_marshal): Remove duplicate initialization; switch to
   5501 	returning directly instead of using can_convert boolean.
   5502 	(dbus_gvalue_store): New function; not related to D-BUS per-se.
   5503 	Stores a GValue in a pointer to a value of its corresponding C
   5504 	type.
   5505 
   5506 	* glib/dbus-gvalue.h: Remove dbus_gvalue_binding_type_from_type,
   5507 	add dbus_gvalue_store.
   5508 
   5509 2005-03-08  Joe Shaw  <joeshaw (a] novell.com>
   5510 
   5511 	Fix a bunch of lifecycle and memory management problems
   5512 	in the mono bindings.
   5513 
   5514 	* mono/Arguments.cs (Arguments): Implement IDisposable
   5515 
   5516 	* mono/Bus.cs (Bus): Don't allow public instantiation.  This is
   5517 	strictly a static class.
   5518 
   5519 	* mono/Connection.cs: Move the DBusObjectPathVTable and associated
   5520 	delegates into this file.
   5521 	(Connection): Implement IDisposable.
   5522 	(Dispose): Disconnect the connection and set the raw connection
   5523 	pointer to IntPtr.Zero.
   5524 	(~Connection): Call Dispose().
   5525 	(RegisterObjectPath): Added.  Manages the registration of object
   5526 	paths so we can cleanly disconnect them at dispose/finalize time.
   5527 	(UnregisterObjectPath): Ditto.
   5528 	(set_RawConnection): Unregister all of the object paths when
   5529 	changing the underlying DBusConnection.  Add them back onto the
   5530 	new connection, if any.
   5531 
   5532 	* mono/Handler.cs: Don't implement IDisposable; it doesn't use any
   5533 	more unmanaged resources anymore, so it's not necessary.  Move all
   5534 	the DBusObjectPathVTable stuff out of here.
   5535 	(Handler): Save references to our delegates so that they don't get
   5536 	finalized.  Call Connection.RegisterObjectPath() instead of
   5537 	dbus_connection_register_object_path() directly.
   5538 	(Message_Called): Dispose the message after we're finished with
   5539 	it.
   5540 
   5541 	* mono/Message.cs (Message): Implement IDisposable.
   5542 	(Dispose): Dispose the Arguments, and set the RawMessage to
   5543 	IntPtr.Zero.
   5544 	(SendWithReplyAndBlock): We own the ref to the reply that comes
   5545 	back from dbus_connection_send_with_reply_and_block() so add a
   5546 	comment about that and unref it after we've constructed a managed
   5547 	MethodReturn class around it.  Fixes a big, big leak.
   5548 
   5549 	* mono/ProxyBuilder.cs: Reflect into Message to get the Dispose
   5550 	method.
   5551 	(BuildSignalHandler): After we've sent the Signal message, dispose
   5552 	of it.
   5553 	(BuildMethod): Dispose of the method call and reply messages after
   5554 	we've sent the message and extracted the data we want from the
   5555 	reply.
   5556 
   5557 	* mono/Service.cs (UnregisterObject): Don't call handler.Dispose()
   5558 	anymore.
   5559 	(Service_FilterCalled): Dispose of the message after we're
   5560 	finished with it.
   5561 
   5562 2005-03-08  Joe Shaw  <joeshaw (a] novell.com>
   5563 
   5564         * dbus/dbus-connection.c (dbus_connection_send_with_reply):
   5565         After we attach our pending call to the connection, unref
   5566         it.  Fixes a leak.
   5567  
   5568         * mono/Connection.cs (set_RawConnection): Disconnect our
   5569         filter and match callbacks from the old connection and
   5570         reconnect them to the new connection, if any.
   5571 
   5572 	* mono/DBusType/Array.cs: "Code" is a static member, so
   5573 	don't use "this" to refer to it.  Fix for stricter checking
   5574 	in Mono 1.1.4.
   5575  
   5576         * mono/DBusType/ObjectPath.cs (Append): Don't leak the
   5577 	object path that we pass into unmanaged code.
   5578  
   5579         * mono/DBusType/String.cs (Append): Don't leak the string
   5580 	that we pass into unmanged code.
   5581 
   5582 2005-03-07  John (J5) Palmieri  <johnp (a] redhat.com>
   5583 	* NEWS: Update for 0.31
   5584 
   5585 	* configure.in: Release 0.31
   5586 	add LT_CURRENT, LT_REVISION, LT_AGE for easy soname bumping
   5587 
   5588 	* qt/Makefile.am: fixed build
   5589 
   5590 	* dbus/Makefile.am: soname bump for libdbus
   5591 
   5592 	* glib/Makefile.am: soname bump for libdbus-glib
   5593 
   5594 2005-03-05  Havoc Pennington  <hp (a] redhat.com>
   5595 
   5596 	* dbus/dbus-sysdeps.c:
   5597 	(pseudorandom_generate_random_bytes_buffer): fix to have no return
   5598 	value
   5599 	(_dbus_generate_random_bytes_buffer): fix return value
   5600 
   5601 	* dbus/dbus-sysdeps-util.c: s/GETPWNAME/GETPWNAM/ so configure
   5602 	checks actually work, from Tom Parker <fdo (a] tevp.net>
   5603 
   5604 2005-03-01  Colin Walters  <walters (a] verbum.org>
   5605 
   5606 	* test/glib/test-dbus-glib.c (lose, lose_gerror): Utility
   5607 	functions copied from dbus-glib-tool.c.
   5608 	(main): Convert lots of error code to use them.
   5609 	Also add some testing for introspection bits.
   5610 
   5611 2005-03-01  Colin Walters  <walters (a] verbum.org>
   5612 	
   5613 	* doc/TODO: Remove introspection signature TODO.
   5614 
   5615 2005-02-27  Colin Walters  <walters (a] verbum.org>
   5616 
   5617 	* glib/dbus-gidl.c (property_info_get_type, arg_info_get_type):
   5618 	Change return value to const char * instead of int so we can do
   5619 	full signatures.
   5620 	(struct PropertyInfo, struct ArgInfo): Store char *.
   5621 	(property_info_new, arg_info_new): Update parameters, strdup.
   5622 	(property_info_unref, arg_info_unref): Free.
   5623 
   5624 	* glib/dbus-gidl.h: Update prototypes.
   5625 
   5626 	* glib/dbus-gparser.c (basic_type_from_string): Delete.
   5627 	(validate_signature): New function, just validates signature and
   5628 	sets GError.
   5629 	(parse_property, parse_arg): Invoke validate_signature.  Store
   5630 	signature instead of just type code.
   5631 
   5632 	* glib/dbus-gvalue.c (base_type_from_signature): New utility
   5633 	function to return a primary type for a signature, dropping
   5634 	information about types in container types.
   5635 	(dbus_gvalue_genmarshal_name_from_type)
   5636 	(dbus_gvalue_binding_type_from_type)
   5637 	(dbus_gvalue_ctype_from_type): Update to take full signature
   5638 	 instead of type code.
   5639 	(dbus_gtype_to_dbus_type): Moved here from glib/dbus-gobject.c.
   5640 
   5641 	* glib/dbus-gvalue.h: Update prototypes for above.
   5642 
   5643 	* glib/dbus-gobject.c (gtype_to_dbus_type): Moved to
   5644 	glib/dbus-gvalue.c as dbus_gtype_to_dbus_type.
   5645 	(introspect_properties, introspect_signals, write_interface):
   5646 	Update to handle signatures, and remove usage of
   5647 	_dbus_gutils_type_to_string.
   5648 	(handle_introspect): Print out type codes instead of e.g. "string"
   5649 	in hardcoded introspection XML; also use x_AS_STRING constants
   5650 	instead of hardcoding in string.
   5651 
   5652 	* glib/dbus-glib-tool.c (pretty_print): Handle signature change
   5653 	to string.  Remove usage of _dbus_gutils_type_to_string.
   5654 
   5655 	* glib/dbus-gutils.c (_dbus_gutils_type_to_string): Delete.
   5656 
   5657 	* glib/dbus-gutils.h (_dbus_gutils_type_to_string): Update for
   5658 	deletion.
   5659 	
   5660 	* glib/dbus-binding-tool-glib.c (compute_marshaller)
   5661 	(compute_marshaller_name, generate_glue): Handle signature change
   5662 	to string.
   5663 	(write_formal_parameters, write_args_for_direction): Ditto, and
   5664 	remove FIXME.
   5665 
   5666 	* tools/dbus-tree-view.c (type_to_string): Delete.
   5667 	(info_set_func_text): Update to print full signatures.
   5668 
   5669 	* test/glib/test-service-glib.xml: Change types to new
   5670 	introspection format.
   5671 
   5672 2005-02-26  Havoc Pennington  <hp (a] redhat.com>
   5673 
   5674 	* doc/TODO: remove the "guid" item
   5675 
   5676 	* test/glib/test-profile.c (no_bus_thread_func): use open_private
   5677 	(with_bus_thread_func): use open_private
   5678 
   5679 	* dbus/dbus-connection.c (dbus_connection_open_private): new
   5680 	function that works like the old dbus_connection_open()
   5681 	(dbus_connection_open): now returns an existing connection if
   5682 	possible
   5683 
   5684 	* dbus/dbus-server-unix.c (handle_new_client_fd_and_unlock): pass
   5685 	through the GUID to the transport
   5686 
   5687 	* dbus/dbus-server.c (_dbus_server_init_base): keep around the
   5688 	GUID in hex-encoded form.
   5689 
   5690 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
   5691 	pass GUID argument in to the transport
   5692 
   5693 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): add
   5694 	guid argument
   5695 
   5696 	* dbus/dbus-transport.c (_dbus_transport_init_base): add guid argument
   5697 
   5698 	* dbus/dbus-auth.c (_dbus_auth_server_new): add guid argument
   5699 
   5700 2005-02-25  Havoc Pennington  <hp (a] redhat.com>
   5701 
   5702 	* doc/dbus-specification.xml: document the GUID thing
   5703 
   5704 	* dbus/dbus-server.c (_dbus_server_init_base): initialize a
   5705 	globally unique ID for the server, and put a "guid=hexencoded"
   5706 	field in the address
   5707 
   5708 	* dbus/dbus-bus.c: fix missing #include of dbus-threads-internal.h
   5709 
   5710 	* dbus/dbus-message.c: ditto
   5711 
   5712 	* dbus/dbus-dataslot.c: ditto
   5713 
   5714 	* dbus/dbus-list.c: ditto
   5715 
   5716 	* dbus/dbus-internals.h: wait, just include
   5717 	dbus-threads-internal.h here
   5718 	
   5719 	* dbus/dbus-string.c (_dbus_string_copy_to_buffer): move back for
   5720 	use in main library
   5721 
   5722 	* dbus/dbus-sysdeps.c (_dbus_generate_random_bytes_buffer): new function
   5723 
   5724 2005-02-24  Colin Walters  <walters (a] verbum.org>
   5725 
   5726 	* test/glib/Makefile.am (EXTRA_DIST): Add test-service-glib.xml
   5727 
   5728 2005-02-24  John (J5) Palmieir  <johnp (a] redhat.com>
   5729 
   5730 	* glib/Makefile.am: added dbus-gobject.h to sources list
   5731 	so distcheck doesn't fail
   5732 	
   5733 2005-02-24  Havoc Pennington  <hp (a] redhat.com>
   5734 
   5735 	* dbus/dbus-server.c, dbus/dbus-server-unix.c: change semantics so
   5736 	you must disconnect before unref, since locking and other things
   5737 	are screwed up otherwise. Fix assorted other locking stuff.
   5738 
   5739 	* dbus/dbus-signature.c (dbus_signature_iter_get_element_type):
   5740 	fix compilation
   5741 
   5742 	* dbus/dbus-threads-internal.h: move the mutex/condvar wrappers
   5743 	into a private header and don't export from the library
   5744 
   5745 	* throughout - call _dbus_thread_stuff vs. dbus_thread_stuff
   5746 
   5747 2005-02-24  Colin Walters  <walters (a] verbum.org>
   5748 	
   5749 	* dbus/dbus-signature.c: New file; implements various functions
   5750 	related to type signatures.  Includes an interator for parsing,
   5751 	validation functions.
   5752 	(dbus_type_is_basic): Moved here from
   5753 	dbus-marshal-basic.c:_dbus_type_is_basic.
   5754 	(dbus_type_is_container): Moved here from
   5755 	dbus-marshal-basic.c:_dbus_type_is_container.
   5756 
   5757 	All callers of _dbus_type_is_container and _dbus_type_is_basic
   5758 	updated, and include dbus-signature.h.
   5759 
   5760 	* dbus/dbus-signature.h: New file; prototypes for the above.
   5761 
   5762 	* dbus/Makefile.am (DBUS_LIB_SOURCES): Add dbus-signature.c,
   5763 	dbus-signature.h.
   5764 
   5765 	* dbus/dbus-marshal-basic.c (map_type_char_to_type): New utility
   5766 	function factored out of _dbus_first_type_in_signature.
   5767 	(_dbus_first_type_in_signature_c_str): New function; returns first
   5768 	type code for a type signature character.
   5769 
   5770 	* dbus/dbus-marshal-basic.h: Prototype _dbus_first_type_in_signature_c_str,
   5771 	handle function moves.
   5772 
   5773 	* dbus/dbus-marshal-recursive.h: Export _dbus_type_signature_next.
   5774 
   5775 	* dbus/dbus-marshal-recursive.c (_dbus_type_signature_next): New
   5776 	function; skips to next complete type in type signature.
   5777 	Implemented using previous skip_one_complete_type.  Now
   5778 	skip_one_complete_type just delegates to
   5779 	_dbus_type_signature_next.
   5780 
   5781 	* dbus/dbus-marshal-basic.c (_dbus_type_is_basic): Moved
   5782 	to dbus-signature.c
   5783 	(_dbus_type_is_container): Ditto.
   5784 
   5785 	* doc/dbus-specification.xml: Update introspection sample to
   5786 	use real type signatures.
   5787 
   5788 	* dbus/dbus-test.h: Prototype signature test.
   5789 
   5790 	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Run
   5791 	signature tests.
   5792 
   5793 	* dbus/dbus-protocol.h (DBUS_ERROR_INVALID_SIGNATURE): New error.
   5794 
   5795 2005-02-23  John (J5) Palmieri  <johnp (a] redhat.com>
   5796 
   5797 	* python/dbus_bindings.pyx.in (PendingCall::get_reply):
   5798 	s/dbus_pending_call_get_reply/dbus_pending_call_steal_reply
   5799 
   5800 2005-02-21  Colin Walters  <walters (a] verbum.org>
   5801 
   5802 	* dbus/dbus-test-main.c (main): Take optional specific test
   5803 	argument.
   5804 
   5805 	* dbus/dbus-test.c (run_test): New function, runs a test function
   5806 	with no data directory.
   5807 	(run_data_test): Like above, but takes data directory.
   5808 	(dbus_internal_do_not_use_run_tests): Take
   5809 	specific test argument.  Replace lots of cut n' paste code
   5810 	with run_test and run_data_test.
   5811 
   5812 	* dbus/dbus-test.h: Update prototype for
   5813 	dbus_internal_do_not_use_run_tests.
   5814 
   5815 2005-02-20  Havoc Pennington  <hp (a] redhat.com>
   5816 
   5817         Fix bugs reported by Daniel P. Berrange
   5818 	
   5819 	* dbus/dbus-server.c (_dbus_server_unref_unlocked): new function
   5820 	(protected_change_watch): new function
   5821 	(_dbus_server_toggle_watch, _dbus_server_remove_watch)
   5822 	(_dbus_server_add_watch): change to work like the
   5823 	dbus-connection.c equivalents; like those, probably kind of
   5824 	busted, but should at least mostly work for now
   5825 	(dbus_server_disconnect): drop the lock if we were already
   5826 	disconnected, patch from Daniel P. Berrange
   5827 
   5828 	* dbus/dbus-server.c (_dbus_server_toggle_timeout) 
   5829 	(_dbus_server_remove_timeout, _dbus_server_add_timeout): all the
   5830 	same stuff
   5831 
   5832 	* doc/TODO: todo about unscrewing this mess
   5833 
   5834 2005-02-19  Colin Walters  <walters (a] verbum.org>
   5835 
   5836 	* glib/dbus-binding-tool-glib.c
   5837 	(dbus_binding_tool_output_glib_server): Fix iochannel refcounting.
   5838 
   5839 	* glib/dbus-glib-tool.c: Include dbus-glib-tool.h, as well
   5840 	as errno.h and sys/stat.h.
   5841 	(lose): New function, prints error with
   5842 	newline and exits.
   5843 	(lose_gerror): Similar, but takes GError for message.
   5844 	(main): Add --output argument to specify output file to write to,
   5845 	instead of always printing to stdout.  In this mode, determine
   5846 	timestamps on source files to see whether any are newer than the
   5847 	target file.  If not, exit.  Also convert a number of error
   5848 	messages to use lose (since it's shorter), and switch to using
   5849 	g_io_channel_shutdown.
   5850 
   5851 2005-02-19  Havoc Pennington  <hp (a] redhat.com>
   5852 
   5853 	* glib/dbus-gobject.c
   5854 	(_dbus_glib_marshal_dbus_message_to_gvalue_array): add docs
   5855 
   5856 	* glib/dbus-glib.c: fix doxygen warnings
   5857 
   5858 	* glib/dbus-gparser.c (parse_annotation): error if an annotation
   5859 	is found on an <arg>
   5860 
   5861 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5862 
   5863 	* glib/dbus-gobject.h: Don't export
   5864 	_dbus_glib_marshal_dbus_message_to_gvalue_array.
   5865 	
   5866 	* glib/dbus-gobject.c (_dbus_glib_marshal_dbus_message_to_gvalue_array): Do rename.
   5867 	(invoke_object_method): Handle it.
   5868 
   5869 	* glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller):
   5870 	Handle rename.
   5871 	
   5872 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5873 
   5874 	* bus/.cvsignore, doc/.cvsignore
   5875 	* test/data/valid-service-files/.cvsignore, test/glib/.cvsignore:
   5876 	Update.
   5877 
   5878 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5879 	
   5880 	* dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS):
   5881 	Rename to DBUS_SERVICE_DBUS.
   5882 	(DBUS_PATH_ORG_FREEDESKTOP_DBUS): Rename to DBUS_PATH_DBUS.
   5883 	(DBUS_PATH_ORG_FREEDESKTOP_LOCAL): Rename to DBUS_PATH_LOCAL.
   5884 	Change the value from "org.freedesktop.Local"
   5885 	to "org.freedesktop.DBus.Local".
   5886 	(DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS): Rename to DBUS_INTERFACE_DBUS.
   5887 	(DBUS_INTERFACE_ORG_FREEDESKTOP_INTROSPECTABLE): Rename to
   5888 	DBUS_INTERFACE_INTROSPECTABLE.
   5889 	Change the value from "org.freedesktop.Introspectable"
   5890 	to "org.freedesktop.DBus.Introspectable".
   5891 	(DBUS_INTERFACE_ORG_FREEDESKTOP_PROPERTIES): Rename to
   5892 	DBUS_INTERFACE_PROPERTIES.
   5893 	Change the value from "org.freedesktop.Properties"
   5894 	to "org.freedesktop.DBus.Properties".
   5895 	(DBUS_INTERFACE_ORG_FREEDESKTOP_PEER): Rename to
   5896 	DBUS_INTERFACE_PEER.
   5897 	Change the value from "org.freedesktop.Peer"
   5898 	to "org.freedesktop.DBus.Peer".
   5899 	(DBUS_INTERFACE_ORG_FREEDESKTOP_LOCAL): 
   5900 	DBUS_INTERFACE_LOCAL.
   5901 	Change the value from "org.freedesktop.Local"
   5902 	to "org.freedesktop.DBus.Local".
   5903 
   5904 	All other users of those constants have been changed.
   5905 
   5906 	* bus/driver.c (bus_driver_handle_introspect): Use constants.
   5907 
   5908 	* glib/dbus-gobject.c (handle_introspect): Use constants.
   5909 
   5910 	* doc/dbus-faq.xml, doc/dbus-specification.xml: Update for rename.
   5911 
   5912 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5913 
   5914 	* glib/dbus-gparser.c (struct Parser): Add in_annotation boolean.
   5915 	(parse_node, parse_interface, parse_method, parse_signal)
   5916 	(parse_property, parse_annotation): Lose if we're currently in an
   5917 	annotation.
   5918 	(parse_annotation): New function.
   5919 	(parser_start_element, parser_end_element): Handle annotation.
   5920 	(parse_method, parse_interface): Remove support for c_name attribute,
   5921 	switch to annotations.
   5922 
   5923 	* glib/dbus-gidl.h (interface_info_get_binding_names)
   5924 	(method_info_get_binding_names)
   5925 	(interface_info_get_binding_name, method_info_get_binding_name)
   5926 	(interface_info_set_binding_name, method_info_set_binding_name):
   5927 	Remove.
   5928 	(interface_info_get_annotations, method_info_get_annotations)
   5929 	(interface_info_get_annotation, method_info_get_annotation)
   5930 	(interface_info_add_annotation, method_info_add_annotation):
   5931 	Prototype.
   5932 
   5933 	* glib/dbus-gidl.c (struct InterfaceInfo): Substitute "annotations"
   5934 	for "bindings".
   5935 	(struct MethodInfo): Ditto.
   5936 	Straightfoward conversion of binding methods into annotation methods
   5937 	as prototyped.
   5938 
   5939 	* glib/dbus-glib-tool.c (pretty_print): Print annotations.
   5940 
   5941 	* glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_C_SYMBOL): Define.
   5942 
   5943 	* glib/dbus-binding-tool-glib.c (gather_marshallers, generate_glue):
   5944 	Use new annotation API.
   5945 
   5946 	* doc/introspect.dtd: Fix a number of DTD syntax errors.  Add
   5947 	annotation element.
   5948 	
   5949 	* doc/dbus-specification.xml: Discuss introspection annotations,
   5950 	include list of well-known annotations.
   5951 
   5952 	* test/glib/test-service-glib.xml: Make validate against new DTD.
   5953 
   5954 2005-02-17  Colin Walters  <walters (a] verbum.org>
   5955 
   5956 	This patch is based on initial work from
   5957 	Paul Kuliniewicz <kuliniew (a] purdue.edu>.
   5958 
   5959 	* glib/dbus-gvalue.c (dbus_gvalue_init): New function; move
   5960 	initialization of GValue from dbus type to here.
   5961 	(dbus_gvalue_genmarshal_name_from_type): New function; generates a string
   5962 	for the "glib-genmarshal" program from a DBus type.
   5963 	(dbus_gvalue_binding_type_from_type): New function; turns a DBus type
   5964 	into the C name for it we use in the glib bindings.
   5965 	(dbus_gvalue_ctype_from_type): New function; maps a DBus type into a
   5966 	glib C type (not GValue).
   5967 	(dbus_gvalue_demarshal): invoke dbus_gvalue_init.
   5968 
   5969 	* glib/dbus-gutils.c (_dbus_gutils_wincaps_to_uscore): Moved here
   5970 	from dbus-gobject.c.
   5971 
   5972 	* glib/dbus-gutils.h: Prototype it.
   5973 
   5974 	* glib/dbus-gproxy.c: Include new dbus-gobject.h.
   5975 	(marshal_dbus_message_to_g_marshaller): Use new shared function
   5976 	dbus_glib_marshal_dbus_message_to_gvalue_array.
   5977 
   5978 	* glib/dbus-gparser.c (parse_interface, parse_method): Handle c_name attribute.
   5979 	Will be changed once we have annotations.
   5980 
   5981 	* glib/dbus-gobject.c: Change info_hash_mutex from GStaticMutex to
   5982 	GStaticRWLock.  Callers updated.
   5983 	(wincaps_to_uscore): Move to dbus-gutils.c.  Callers updated.
   5984 	(string_table_next): New function for iterating over zero-terminated
   5985 	string value array.
   5986 	(string_table_lookup): New function; retrieves specific entry in
   5987 	array.
   5988 	(get_method_data): New function; look up method data in object data chunk.
   5989 	(object_error_domain_prefix_from_object_info)
   5990 	(object_error_code_from_object_info): New functions, but not implemented yet.
   5991 	(method_interface_from_object_info): New function; retrieve interface name.
   5992 	(method_name_from_object_info): New function; retrieve method name.
   5993 	(method_arg_info_from_object_info): New function; retrieve argument data.
   5994 	(arg_iterate): New function; iterates over serialized argument data.
   5995 	(method_dir_signature_from_object_info): New function; returns a
   5996 	GString holding type signature for arguments for just one
   5997 	direction (input or output).
   5998 	(method_input_signature_from_object_info)
   5999 	(method_output_signature_from_object_info): New functions.
   6000 	(dbus_glib_marshal_dbus_message_to_gvalue_array): New shared function;
   6001 	converts dbus message arguments into a GValue array.  Used for both
   6002 	signal handling and method invocation.
   6003 	(struct DBusGlibWriteIterfaceData): New utility structure.
   6004 	(write_interface): New function; generate introspection XML for
   6005 	an interface.
   6006 	(introspect_interfaces): New function; gathers all interface->methods,
   6007 	generates introspection XML for them.
   6008 	(handle_introspect): Invoke introspect_interfaces.
   6009 	(get_object_property): Be sure to zero-initalize stack-allocated GValue.
   6010 	(lookup_object_and_method): New function; examines an incoming message
   6011 	and attempts to match it up (via interface, method name, and argument
   6012 	signature) with a known object and method.
   6013 	(gerror_domaincode_to_dbus_error_name): New function; converts a
   6014 	GError domain and code into a DBus error name.  Needs GError data
   6015 	added to object introspection to work well.
   6016 	(gerror_to_dbus_error_message): Creates a DBusMessage error return from
   6017 	GError.
   6018 	(invoke_object_method): New function to invoke an object method
   6019 	looked up via lookup_object_and_method.  Parses the incoming
   6020 	message, turns it into a GValue array, then invokes the marshaller
   6021 	specified in the DBusGMethodInfo.  Creates a new message with
   6022 	either return values or error message as appropriate.
   6023 	(gobject_message_function): Invoke lookup_object_and_method and
   6024 	invoke_object_method.
   6025 
   6026 	* glib/dbus-glib-tool.c: Include dbus-binding-tool-glib.h.
   6027 	(enum DBusBindingOutputMode): New enum for binding output modes.
   6028 	(pretty_print): Print binding names.
   6029 	(dbus_binding_tool_error_quark): GError bits.
   6030 	(version): Fix typo.
   6031 	(main): Create GIOChannel for output.  Parse new --mode argument,
   6032 	possible values are "pretty-print", "glib-server", "glib-client".
   6033 	Use mode to invoke appropriate function.
   6034 	
   6035 	* glib/dbus-gobject.h: Prototype dbus_glib_marshal_dbus_message_to_gvalue_array.
   6036 
   6037 	* glib/dbus-glib-tool.h: New header, just includes GError bits
   6038 	for now.
   6039 
   6040 	* glib/dbus-gidl.c (struct InterfaceInfo): Add bindings hashtable;
   6041 	maps binding style to name.
   6042 	(struct MethodInfo): Ditto.
   6043 	(get_hash_keys, get_hash_key): Utility function, returns keys for
   6044 	a GHashTable.
   6045 	(interface_info_new, method_info_new): Initialize bindings.
   6046 	(interface_info_unref, method_info_unref): Destroy bindings.
   6047 	(method_info_get_binding_names, method_info_get_binding_name)
   6048 	(interface_info_get_binding_names, interface_info_get_binding_name):
   6049 	Functions for retrieving binding names.
   6050 	(method_info_set_binding_name, interface_info_set_binding_name):
   6051 	Functions for setting binding names.
   6052 
   6053 	* glib/dbus-binding-tool-glib.h: New file, has prototypes
   6054 	for glib binding generation.
   6055 
   6056 	* glib/dbus-binding-tool-glib.c: New file, implements server-side
   6057 	and client-side glib glue generation.
   6058 
   6059 	* glib/Makefile.am (dbus_binding_tool_SOURCES): Add
   6060 	dbus-binding-tool-glib.c, dbus-binding-tool-glib.h,
   6061 	dbus-glib-tool.h.
   6062 
   6063 	* dbus/dbus-glib.h (struct DBusGMethodMarshaller): Remove in favor
   6064 	of using GClosureMarshal directly.
   6065 	(struct DBusGObjectInfo): Add n_infos member.
   6066 
   6067 	* test/glib/test-service-glib.xml: New file; contains introspection data
   6068 	for MyTestObject used in test-service-glib.c.
   6069 
   6070 	* test/glib/test-service-glib.c (enum MyObjectError): New GError enum.
   6071 	(my_object_do_nothing, my_object_increment, my_object_throw_error)
   6072 	(my_object_uppercase, my_object_many_args): New test methods.
   6073 	(main): Use dbus_g_object_class_install_info to include generated object
   6074 	info.
   6075 
   6076 	* test/glib/Makefile.am: Generate server-side glue for test-service-glib.c,
   6077 	as well as client-side bindings.
   6078 
   6079 	* test/glib/test-dbus-glib.c: Include test-service-glib-bindings.h.
   6080 	(main): Activate TestSuiteGLibService; test invoke a bunch of its methods
   6081 	using both the dbus_gproxy stuff directly as well as the generated bindings.
   6082 
   6083 2005-02-15  Havoc Pennington  <hp (a] redhat.com>
   6084 
   6085 	* dbus/dbus-connection.c (dbus_connection_dispatch): always
   6086 	complete a pending call, don't run filters first.
   6087 
   6088 	* glib/dbus-gproxy.c (dbus_g_proxy_end_call): change to use
   6089 	dbus_pending_call_steal_reply
   6090 
   6091 	* dbus/dbus-pending-call.c (dbus_pending_call_block): just call
   6092 	_dbus_connection_block_pending_call
   6093 	(dbus_pending_call_get_reply): change to steal_reply and return a
   6094 	ref
   6095 
   6096 	* dbus/dbus-connection.c
   6097 	(dbus_connection_send_with_reply_and_block): port to work in terms
   6098 	of DBusPendingCall
   6099 	(_dbus_connection_block_pending_call): replace block_for_reply
   6100 	with this
   6101 
   6102 2005-02-14  Havoc Pennington  <hp (a] redhat.com>
   6103 
   6104 	* dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group):
   6105 	properly handle looking up group information by name; fix 
   6106 	from j (a] bootlab.org
   6107 
   6108 2005-02-13  Havoc Pennington  <hp (a] redhat.com>
   6109 
   6110 	* dbus/dbus-connection.c (dbus_connection_return_message) 
   6111 	(dbus_connection_borrow_message): hold dispatch lock while message
   6112 	is outstanding
   6113 	(_dbus_connection_block_for_reply): hold dispatch lock while we
   6114 	block for the reply, so nobody steals our reply
   6115 	(dbus_connection_pop_message): hold the dispatch lock while we
   6116 	pluck the message
   6117 
   6118 2005-02-13  Havoc Pennington  <hp (a] redhat.com>
   6119 
   6120 	* dbus/dbus-connection.c (_dbus_connection_acquire_dispatch)
   6121 	(_dbus_connection_release_dispatch)
   6122 	(_dbus_connection_acquire_io_path)
   6123 	(_dbus_connection_release_io_path): make the mutex and condvar
   6124 	control access to the "acquired" flag. Drop the connection lock
   6125 	while waiting on the condvar. Hopefully these are baby steps in
   6126 	roughly the right direction.
   6127 
   6128 2005-02-13  Havoc Pennington  <hp (a] redhat.com>
   6129 
   6130 	* dbus/dbus-connection.c: use separate mutexes for the condition
   6131 	variables; this is some kind of baseline for sanity, but the
   6132 	condition variables still aren't used correctly afaict
   6133 
   6134 2005-02-13  Havoc Pennington  <hp (a] redhat.com>
   6135 
   6136 	* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
   6137 	fix a double-unlock
   6138 
   6139 	* dbus/dbus-connection.c
   6140 	(_dbus_connection_detach_pending_call_unlocked): add this
   6141 
   6142         Initial semi-correct pass through to fix thread locking; there are
   6143 	still some issues with the condition variable paths I'm pretty
   6144 	sure
   6145 	
   6146 	* dbus/dbus-server.c: add a mutex on DBusServer and appropriate
   6147 	lock/unlock calls
   6148 
   6149 	* dbus/dbus-connection.c (_dbus_connection_do_iteration_unlocked):
   6150 	rename to add _unlocked
   6151 	(struct DBusConnection): move "dispatch_acquired" and
   6152 	"io_path_acquired" to use only one bit each.
   6153 	(CONNECTION_LOCK, CONNECTION_UNLOCK): add checks with !DBUS_DISABLE_CHECKS
   6154 	(dbus_connection_set_watch_functions): hacky fix to reentrancy
   6155 	(_dbus_connection_add_watch, _dbus_connection_remove_watch) 
   6156 	(_dbus_connection_toggle_watch, _dbus_connection_add_timeout) 
   6157 	(_dbus_connection_remove_timeout) 
   6158 	(_dbus_connection_toggle_timeout): drop lock when calling out to
   6159 	user functions; done in a hacky/bad way.
   6160 	(_dbus_connection_send_and_unlock): add a missing unlock
   6161 	(_dbus_connection_block_for_reply): add a missing unlock
   6162 
   6163 	* dbus/dbus-transport.c (_dbus_transport_get_is_authenticated):
   6164 	drop lock in a hacky probably unsafe way to call out to user
   6165 	function
   6166 
   6167 2005-02-12  Havoc Pennington  <hp (a] redhat.com>
   6168 
   6169 	* tools/dbus-tree-view.c (info_set_func_text): display more
   6170 	details on args
   6171 
   6172 	* bus/driver.c (bus_driver_handle_list_services): list the bus
   6173 	driver
   6174 
   6175 	* glib/dbus-gparser.c (parse_arg): generate an arg name if none is supplied
   6176 
   6177 	* glib/dbus-gidl.c (signal_info_get_n_args): new function
   6178 	(method_info_get_n_args): new function
   6179 
   6180 2005-02-12  Havoc Pennington  <hp (a] redhat.com>
   6181 
   6182 	* bus/driver.c (bus_driver_handle_introspect): add introspection
   6183 	for bus driver
   6184 
   6185 2005-02-12  Havoc Pennington  <hp (a] redhat.com>
   6186 
   6187 	* bus/driver.c: put the signature of each bus driver method in the
   6188 	table of handlers and check it on incoming calls; this isn't
   6189 	really useful, but going to add introspect support in a minute.
   6190 
   6191 2005-02-11  Joe Shaw  <joeshaw (a] novell.com>
   6192 
   6193 	* mono/Connection.cs: The unpredictability of finalizers in mono
   6194 	prevents us from deterministically disconnecting the filters from
   6195 	the Service class's finalizer, so move tracking of filters and
   6196 	matches here.  Add API for that.
   6197 
   6198 	* mono/Service.cs: Remove the code, add code which calls the
   6199 	methods now on the Connection class.
   6200 
   6201 2005-02-11  John (J5) Palmieri  <johnp (a] redhat.com>
   6202 
   6203 	* python/dbus.py (class Sender): added to support dbus signals better
   6204 	(Bus::add_signal_receiver): added expand_args parameter which defaults
   6205 	to True.  When expand args is True the signal handler will pass the 
   6206 	message arguments as parameters to the signal handler.  If False
   6207 	revert to previous behavior where the signal handler must get the
   6208 	argument list from the message.  This is to help port applications
   6209 	like HAL that have a tendancy to send variable length argument lists.
   6210 	self._match_rule_to_receivers is now a dict of dicts.
   6211 	(Bus::remove_signal_receiver): pop handler off the dict intead of 
   6212 	removing it from a list
   6213 	(Bus::_signal_func): change signal handlers so that interface,
   6214 	signal_name, service, path and message are packed into a Sender
   6215 	object and that is passed to the handler.  If expand_args is True
   6216 	extract the args list from the message and append it to the parameter
   6217 	list
   6218 	
   6219 	* python/dbus_bindings.pyx.in (class Signature): added to support 
   6220 	signiature types
   6221 	(MessageIter::__init__): changed iteration limit to match D-BUS
   6222 	(MessageIter::get*): added INT16, UINT16, SIGNATURE, DICT_ENTRY, 
   6223 	STRUCT and VARIENT type support
   6224 	(MessageIter::python_value_to_dbus_sig): made recursive to support
   6225 	recursive types
   6226 	(MessageIter::append*): added Signature, dict, tuple 
   6227 	support
   6228 
   6229 	* python/examples/example-client.py: added examples of getting tuples
   6230 	and dicts
   6231 
   6232 	* python/examples/example-service.py: added examples of sending tuples
   6233 	and dicts
   6234 
   6235 	* python/examples/example-signal-recipient.py: Fixed to handle new
   6236 	signal callback format
   6237 
   6238 2005-02-10  Havoc Pennington  <hp (a] redhat.com>
   6239 
   6240 	* test/glib/test-dbus-glib.c (main): fix so this test doesn't fail
   6241 	(call dbus_g_proxy_add_signal)
   6242 
   6243 	* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
   6244 	escape the hostname
   6245 	(_dbus_server_new_for_domain_socket): escape the path
   6246 
   6247 	* dbus/dbus-address.c (dbus_address_escape_value): new
   6248 	(dbus_address_unescape_value): new
   6249 	(dbus_parse_address): unescape values
   6250 
   6251 	* dbus/dbus-string.c (_dbus_string_append_byte_as_hex): new function
   6252 
   6253 	* doc/dbus-specification.xml: explain how to escape values in
   6254 	addresses
   6255 
   6256 2005-02-10  Havoc Pennington  <hp (a] redhat.com>
   6257 
   6258 	* dbus/dbus-message-factory.c (generate_special): modify test to
   6259 	avoid using a non-basic dict key
   6260 
   6261 	* dbus/dbus-marshal-validate-util.c: add test for the below
   6262 
   6263 	* doc/dbus-specification.xml: require that dict keys are a basic
   6264 	type
   6265 
   6266 	* dbus/dbus-marshal-validate.c
   6267 	(_dbus_validate_signature_with_reason): require that dict key is a
   6268 	basic type
   6269 
   6270 2005-02-10  Havoc Pennington  <hp (a] redhat.com>
   6271 
   6272 	* dbus/dbus-object-tree.c (handle_default_introspect_and_unlock):
   6273 	change to be _and_unlock instead of _unlocked
   6274 
   6275 	* dbus/dbus-connection.c
   6276 	(_dbus_connection_send_preallocated_unlocked_no_update): rename to
   6277 	have no_update so we can find this bug quickly in future
   6278 
   6279 2005-02-10  Havoc Pennington  <hp (a] redhat.com>
   6280 
   6281 	* dbus/dbus-message-util.c (verify_test_message): tests for string
   6282 	array
   6283 
   6284 	* dbus/dbus-message.c (dbus_message_append_args_valist): add
   6285 	support for arrays of string/signature/path
   6286 
   6287 2005-02-10  Joe Shaw  <joeshaw (a] novell.com>
   6288 
   6289 	* dbus/dbus-connection.c
   6290 	(_dbus_connection_queue_received_message_link,
   6291 	_dbus_connection_message_sent): Add the path to
   6292 	the verbose output.
   6293 	(_dbus_connection_send_preallocated_and_unlock): Added.  Calls
   6294 	_dbus_connection_send_preallocated_unlocked(), updated the
   6295 	dispatch status, and unlocks.  Fixes a bug where certain
   6296 	situations (like a broken pipe) could cause a Disconnect message
   6297 	to not be sent, tricking the bus into thinking a service was still
   6298 	there when the process had quit.
   6299 	(_dbus_connection_send_preallocated): Call
   6300 	_dbus_connection_send_preallocated_and_unlock().
   6301 	(_dbus_connection_send_and_unlock): Added.  Calls
   6302 	_dbus_connection_send_preallocated_and_unlock().
   6303 	(dbus_connection_send): Call _dbus_connection_send_and_unlock().
   6304 	(dbus_connection_send_with_reply): Update the dispatch status and
   6305 	unlock.
   6306 
   6307 	* mono/Service.cs (~Service): Added.  Removes the filter so that
   6308 	we don't get unmanaged code calling back into a GCed delegate.
   6309 	(RemoveFilter); Added.
   6310 
   6311 2005-02-09  John (J5) Palmieri  <johnp (a] redhat.com>
   6312 
   6313 	* dbus/dbus-message.c (dbus_message_iter_open_container):
   6314 	- Removed check for iterator type being an array because
   6315 	get_arg_type does not work with writer iterators
   6316 	- Pass NULL to _dbus_type_writer_recurse if signiture is NULL
   6317 
   6318 2005-02-07  Havoc Pennington  <hp (a] redhat.com>
   6319 
   6320 	* doc/dbus-specification.xml: some more language cleanups; add
   6321 	stuff about how to deal with invalid protocol and extension
   6322 	points; add _ to allowed chars in auth commands; add EXTENSION_
   6323 	auth command prefix
   6324 
   6325 2005-02-06  Havoc Pennington  <hp (a] redhat.com>
   6326 
   6327 	* s/expected/required/ in a couple places for clarity
   6328 
   6329 2005-02-07  Colin Walters  <walters (a] verbum.org>
   6330 
   6331 	* bus/selinux.c (bus_selinux_allows_send): Handle NULL for
   6332 	sender or proposed_recipient.
   6333 
   6334 2005-02-06  Havoc Pennington  <hp (a] redhat.com>
   6335 
   6336 	* dbus/dbus-message-factory.c (generate_special): more tests
   6337 
   6338 	* dbus/dbus-marshal-validate.c (validate_body_helper): detect
   6339 	array length that exceeds the maximum
   6340 
   6341 2005-02-05  Havoc Pennington  <hp (a] redhat.com>
   6342 
   6343 	* dbus/dbus-message-factory.c (generate_special): more test cases,
   6344 	increasing coverage
   6345 
   6346 	* dbus/dbus-marshal-validate.c (validate_body_helper): return the
   6347 	reason why a signature was invalid
   6348 
   6349 	* dbus/dbus-marshal-header.c (load_and_validate_field): fix to
   6350 	skip the length of the string before we look at it in validation
   6351 
   6352 	* dbus/dbus-string-util.c (_dbus_string_test): add tests for
   6353 	equal_substring
   6354 
   6355 	* dbus/dbus-message.c (_dbus_message_loader_new): default
   6356 	max_message_length to DBUS_MAXIMUM_MESSAGE_LENGTH
   6357 
   6358 2005-02-05  Havoc Pennington  <hp (a] redhat.com>
   6359 
   6360 	* dbus/dbus-marshal-validate.c (validate_body_helper): fix crash
   6361 	if the signature of a variant was empty
   6362 	(_dbus_validate_signature_with_reason): catch "(a)" (array inside
   6363 	struct with no element type)
   6364 
   6365 	* dbus/dbus-message-factory.c (generate_uint32_changed): add more
   6366 	mangled messages to break things
   6367 
   6368 2005-02-04  Havoc Pennington  <hp (a] redhat.com>
   6369 
   6370 	* glib/dbus-gproxy.c (dbus_g_proxy_disconnect_signal): use
   6371 	g_quark_try_string() so it actually can return 0
   6372 	(dbus_g_proxy_connect_signal): ditto
   6373 
   6374 2005-02-04  Havoc Pennington  <hp (a] redhat.com>
   6375 
   6376 	* glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): fix a
   6377 	bogus warning
   6378 	(tristring_from_message): assert cleanly on null path/interface
   6379 	(should not be possible though I decided later)
   6380 	(dbus_g_proxy_dispose): move proxy manager unregistration here
   6381 	(DBUS_G_PROXY_DESTROYED): add this macro, and use it in a bunch of
   6382 	g_return_if_fail() checks
   6383 
   6384 2005-02-04  Havoc Pennington  <hp (a] redhat.com>
   6385 
   6386 	* doc/Makefile.am (EXTRA_DIST): add DTDs to makefile
   6387 
   6388 	* doc/introspect.dtd: add introspect.dtd from David A. Wheeler
   6389 	(with some minor changes)
   6390 
   6391 	* doc/dbus-specification.xml: add deprecated attribute to
   6392 	introspection format
   6393 
   6394 2005-01-31  Havoc Pennington  <hp (a] redhat.com>
   6395 
   6396 	* glib/dbus-gproxy.c: rewrite how signals work again, this time I
   6397 	think it's sort of right
   6398 
   6399 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6400 
   6401 	* tools/dbus-viewer.c: kind of half-ass hook up the option menu.
   6402 
   6403 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6404 
   6405 	* tools/dbus-names-model.c: dynamically watch NameOwnerChanged
   6406 
   6407 	* autogen.sh: change to autotools 1.9
   6408 
   6409 	* glib/dbus-gproxy.c: completely change how signals work
   6410 	(dbus_g_proxy_add_signal): new function to specify signature of a
   6411 	signal
   6412 	(dbus_g_proxy_emit_received): marshal the dbus message to GValues,
   6413 	and g_warning if the incoming message has the wrong signature.
   6414 
   6415 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6416 
   6417 	* tools/dbus-names-model.c (have_names_notify): fix this
   6418 
   6419 	* dbus/dbus-message.c (_dbus_message_iter_get_args_valist): clean
   6420 	up the string array handling a bit 
   6421 
   6422 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6423 
   6424 	* glib/dbus-glib.c (dbus_g_pending_call_set_notify): new function
   6425 	(dbus_g_pending_call_cancel): new function
   6426 
   6427 	* dbus/dbus-glib.h: move GType decls for connection/message here;
   6428 	* dbus/dbus-glib.c: move all the g_type and ref/unref stuff in
   6429 	here, just kind of rationalizing how we handle all that
   6430 
   6431 	* tools/dbus-names-model.c: new file for a tree model listing the
   6432 	services on a bus
   6433 
   6434 	* tools/dbus-tree-view.c (model_new): use proper typing on the
   6435 	model rows
   6436 
   6437 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6438 
   6439 	* glib/dbus-gmain.c: add a custom GSource back that just checks
   6440 	whether the message queue has anything in it; otherwise, there are 
   6441 	cases where we won't see messages in the queue since there was no 
   6442 	IO visible to the glib main loop
   6443 
   6444 	* dbus/dbus-connection-internal.h (_DBUS_DEFAULT_TIMEOUT_VALUE):
   6445 	increase default message timeout to 25 seconds
   6446 
   6447 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6448 
   6449 	* test/glib/test-profile.c (no_bus_stop_server): remove the
   6450 	warning about the g_warning that I just fixed
   6451 
   6452 	* glib/dbus-gmain.c: rewrite the main loop stuff to avoid the
   6453 	custom source, seems to be a lot easier to understand and work
   6454 	better.
   6455 
   6456 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6457 
   6458         I think this main loop thing is conceptually broken, but here are 
   6459 	some band aids. I'll maybe rewrite it in a minute.
   6460 	
   6461 	* glib/dbus-gmain.c (add_timeout): timeout stuff doesn't use the
   6462 	custom GSource, so don't pass it in; confusing
   6463 	(gsource_server_finalize, gsource_connection_finalize): add
   6464 	finalize handlers that remove all the watches.	
   6465 
   6466 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6467 
   6468 	* glib/dbus-gobject.c (introspect_properties): fix the XML
   6469 	generated
   6470 
   6471 	* dbus/dbus-message.c (dbus_message_unref): add an in_cache flag
   6472 	which effectively detects the use of freed messages
   6473 
   6474 	* glib/dbus-gobject.c (handle_introspect): modify and return the
   6475 	reply message instead of the incoming message
   6476 
   6477 	* dbus/dbus-object-tree.c (handle_default_introspect_unlocked):
   6478 	gee, maybe it should SEND THE XML instead of just making a string
   6479 	and freeing it again ;-)
   6480 
   6481 	* tools/dbus-print-message.c (print_message): improve printing of
   6482 	messages
   6483 
   6484 	* configure.in: add debug-glib.service to the output
   6485 
   6486 2005-01-30  Havoc Pennington  <hp (a] redhat.com>
   6487 
   6488         dbus-viewer introspected and displayed the bus driver
   6489 	
   6490 	* dbus/dbus-object-tree.c 
   6491 	(object_tree_test_iteration): add tests for a handler registered on "/"
   6492 
   6493 	* dbus/dbus-object-tree.c
   6494 	(_dbus_decompose_path): fix to handle path "/" properly
   6495 	(run_decompose_tests): add tests for path decomposition
   6496 	
   6497 	* glib/dbus-gutils.c (_dbus_gutils_split_path): fix to handle "/"
   6498 	properly
   6499 
   6500 	* glib/dbus-gobject.c (handle_introspect): fix quotes
   6501 
   6502 	* test/glib/run-test.sh: support launching the bus, then running
   6503 	dbus-viewer
   6504 
   6505 	* test/glib/test-service-glib.c (main): put in a trivial gobject
   6506 	subclass and register it on the connection
   6507 
   6508 	* bus/driver.c (bus_driver_handle_introspect): implement
   6509 	introspection of the bus driver service
   6510 
   6511 	* dbus/dbus-protocol.h: add #defines for the XML namespace,
   6512 	identifiers, doctype decl
   6513 
   6514 	* bus/driver.c (bus_driver_handle_get_service_owner): handle
   6515 	attempts to get owner of DBUS_SERVICE_ORG_FREEDESKTOP_DBUS by 
   6516 	returning the service unchanged.
   6517 	(bus_driver_handle_message): remove old check for reply_serial in
   6518 	method calls, now the message type deals with that
   6519 	(bus_driver_handle_message): handle NULL interface
   6520 
   6521 	* glib/dbus-gproxy.c (dbus_g_proxy_get_bus_name): new function
   6522 
   6523 	* glib/dbus-gloader-expat.c (description_load_from_string): allow
   6524 	-1 for len
   6525 
   6526 	* tools/dbus-viewer.c: add support for introspecting a service on
   6527 	a bus
   6528 
   6529 	* glib/dbus-gproxy.c (dbus_g_pending_call_ref): add
   6530 	(dbus_g_pending_call_unref): add
   6531 
   6532 2005-01-29  Havoc Pennington  <hp (a] redhat.com>
   6533 
   6534 	* tools/dbus-tree-view.c: add support for displaying properties.
   6535 	(run dbus-viewer with an introspect xml file as arg, then resize
   6536 	the window so the tree elements show up, not sure what that is)
   6537 
   6538 	* glib/dbus-gobject.c (handle_introspect): return
   6539 	org.freedesktop.Properties and org.freedesktop.Introspectable
   6540 	interfaces when we are introspected.
   6541 
   6542 	* doc/dbus-specification.xml: allow empty interface name when 
   6543 	Get/Set a property
   6544 
   6545 2005-01-29  Havoc Pennington  <hp (a] redhat.com>
   6546 
   6547 	* glib/Makefile.am: rename dbus-glib-tool to dbus-binding-tool;
   6548 	though it uses glib, it could be extended for any binding in
   6549 	principle
   6550 
   6551 	* glib/dbus-gobject.c (gobject_message_function): change to the
   6552 	new way properties work
   6553 
   6554 	* dbus/dbus-protocol.h: add the new interfaces
   6555 
   6556 	* doc/dbus-specification.xml: document the introspection format,
   6557 	Introspectable interface, and add an org.freedesktop.Properties
   6558 	interface.
   6559 
   6560 	* glib/dbus-gparser.c: add support for a <property> element
   6561 
   6562 	* glib/dbus-gidl.c: add PropertyInfo
   6563 
   6564 	* glib/dbus-gobject.c (handle_introspect): put the outermost
   6565 	<node> outside the signal and property descriptions.
   6566 	(introspect_properties): export properties as <property> rather
   6567 	than as method calls
   6568 
   6569 2005-01-28  Havoc Pennington  <hp (a] redhat.com>
   6570 
   6571 	* doc/TODO, doc/dbus-specification.xml: spec and TODO tweaks
   6572 	related to authentication protocol
   6573 
   6574 2005-01-28  John (J5) Palmieri  <johnp (a] redhat.com>
   6575 
   6576 	* python/dbus_bindings.pyx.in: Updated to handle new D-BUS type system
   6577 		- BUS_ACTIVATION -> BUS_STARTER
   6578 		- DBUS_BUS_ACTIVATION -> DBUS_BUS_STARTER
   6579 		- class MessageIter (__init__): Added recursion checking 
   6580 		so we throw a nice error instead of just disconnecting from the
   6581 		bus.
   6582 		(get): Added arg_type parameter for recursion.
   6583 		Removed the nil type
   6584 		Added signiture type placeholder (not implemented)
   6585 		Added struct type placeholder (not implemented)
   6586 		Added varient type placeholder (not implemented)
   6587 		Commented out dict type for now	    
   6588 		(get_element_type): renamed from get_array_type
   6589 		(get_*): changed to use the dbus_message_iter_get_basic API
   6590 		(get_*_array): removed in favor of recursive get_array method
   6591 		(get_array): new recursive method which calls get to marshal
   6592 	        the elements of the array
   6593 		(value_to_dbus_sig): New method returns the corrasponding
   6594 		dbus signiture to a python value
   6595 		(append): Comment out dict handling for now
   6596 		Handle lists with the new recursive API
   6597 		Comment out None handling for now
   6598 		(append_nil): removed
   6599 		(append_*): changed to use dbus_message_iter_append_basic API
   6600 		(append_*_array): removed in favor of recursive append_array 
   6601 		method
   6602 		(__str__): Make it easier to print out recursive iterators
   6603 		for debugging
   6604 		- class Message (__str__): moved type inspection to the
   6605 		MessageIter class' __str__ method
   6606 		(get_iter): Added an append parameter wich defaults to False
   6607 		If True use the new API's to create an append iterator
   6608 
   6609 	* python/dbus.py: Update to use new bindings API
   6610 		- TYPE_ACTIVATION -> TYPE_STARTER
   6611 		- class Bus (_get_match_rule): GetServiceOwner -> GetNameOwner
   6612 		- class ActivationBus -> class StarterBus
   6613 		- class RemoteObject (__call__): get an append iterator
   6614 		- (_dispatch_dbus_method_call): get an append iterator
   6615 		- class Object (emit_signal): get an append iterator
   6616 
   6617 	* python/examples/: Fixed up the examples to work with the new API
   6618 		
   6619 2005-01-28  Joe Shaw  <joeshaw (a] novell.com>
   6620 
   6621 	* configure.in: Bump version up to 0.30.
   6622 
   6623 	* HACKING: Add a release item to bump the version number up after 
   6624 	a release.
   6625 
   6626 2005-01-28  Havoc Pennington  <hp (a] redhat.com>
   6627 
   6628 	* doc/dbus-specification.xml: update to describe 16-bit types and
   6629 	dict entries
   6630 
   6631 	* dbus/dbus-marshal-basic.c (_dbus_unpack_uint16): fix broken
   6632 	assertion
   6633 
   6634 	* dbus/dbus-protocol.h (DBUS_TYPE_DICT_ENTRY): add DICT_ENTRY as a
   6635 	type
   6636 
   6637 	* dbus/dbus-marshal-recursive.c: implement
   6638 
   6639 2005-01-27  Havoc Pennington  <hp (a] redhat.com>
   6640 
   6641 	* dbus/dbus-arch-deps.h.in: add 16/32-bit types
   6642 
   6643 	* configure.in: find the right type for 16 and 32 bit ints as well
   6644 	as 64
   6645 
   6646 	* dbus/dbus-protocol.h (DBUS_TYPE_INT16, DBUS_TYPE_UINT16): add
   6647 	the 16-bit types so people don't have to stuff them in 32-bit or
   6648 	byte arrays.
   6649 
   6650 2005-01-27  Havoc Pennington  <hp (a] redhat.com>
   6651 
   6652         * dbus/dbus-message.c: byteswap the message if you init an
   6653 	iterator to read/write from it
   6654 	
   6655 	* dbus/dbus-marshal-byteswap.c: new file implementing 
   6656 	_dbus_marshal_byteswap()
   6657 
   6658 	* dbus/dbus-marshal-basic.c: add _dbus_swap_array()
   6659 
   6660 2005-01-26  Havoc Pennington  <hp (a] redhat.com>
   6661 	
   6662 	* dbus/dbus-marshal-validate-util.c: break this out (and fix
   6663 	build, apparently - nobody noticed?)
   6664 	
   6665 2005-01-26  Havoc Pennington  <hp (a] redhat.com>
   6666 
   6667 	* dbus/dbus-marshal-recursive.h: remove todo comment
   6668 
   6669 2005-01-25  Joe Shaw  <joeshaw (a] novell.com>
   6670 
   6671 	* Land the mono binding changes to conform to the new APIs.
   6672 
   6673 	* mono/Makefile.am: Remove Custom.cs, DBusType/Custom.cs,
   6674 	DBusType/Dict.cs, and DBusType/Nil.cs from the build.
   6675 
   6676 	* mono/Arguments.cs (GetCodeAsString): Added.  Returns the dbus
   6677 	type code as a string.
   6678 	(InitAppending): Rename dbus_message_append_iter_init() to
   6679 	dbus_message_iter_init_append().
   6680 
   6681 	* mono/BusDriver.cs: Rename ServiceEventHandler to
   6682 	NameOwnerChangedHandler.  Rename GetServiceOwner to GetOwner.
   6683 	Rename ServiceOwnerChanged to NameOwnerChanged.
   6684 
   6685 	* mono/Connection.cs: Rename BaseService to UniqueName, and the
   6686 	underlying C call.
   6687 
   6688 	* mono/Custom.cs: Removed.  The CUSTOM type has been removed.
   6689 
   6690 	* mono/Service.cs: Rename Exists to HasOwner, internally rename
   6691 	dbus_bus_acquire_service() to dbus_bus_request_name().
   6692 
   6693 	* mono/DBusType/Array.cs (ctor): Use Type.GetElementType() instead
   6694 	of Type.UnderlyingSystemType to get the correct element type for
   6695 	the array.
   6696 	(ctor): Update code for new APIs: use dbus_message_iter_recurse(),
   6697 	dbus_message_get_{element|arg}_type() instead of
   6698 	dbus_message_iter_init_array_iterator().
   6699 	(Append): Replace dbus_message_iter_append_array() with
   6700 	dbus_message_iter_open_container() and
   6701 	dbus_message_iter_close_container().
   6702 
   6703 	* mono/DBusType/Custom.cs, mono/DBusType/Nil.cs: Removed.  These
   6704 	types have been removed.
   6705 	
   6706 	* mono/DBusType/*.cs: Replace calls of
   6707 	dbus_message_iter_get_[type]() to dbus_message_iter_get_basic(),
   6708 	but specify the type in the DllImport extern declaration.  Ditto
   6709 	for dbus_message_iter_append_[type]() ->
   6710 	dbus_message_iter_append_basic().
   6711 
   6712 	* mono/example/BusListener.cs: Update for ServiceEventHandler ->
   6713 	NameOwnerChangedHandler.
   6714 
   6715 2005-01-25  John (J5) Palmieri  <johnp (a] redhat.com>
   6716 
   6717 	* python/dbus_bindings.pyx.in: Rename of methods and bindings
   6718 		- get_base_service -> get_unique_name
   6719 		- bus_get_base_service -> bus_get_unique_name
   6720 		- dbus_bus_get_base_service -> dbus_bus_get_unique_name
   6721 		- ACTIVATION_REPLY_ACTIVATED -> DBUS_START_REPLY_SUCCESS 
   6722 		- ACTIVATION_REPLY_ALREADY_ACTIVE -> DBUS_START_REPLY_ALREADY_RUNNING
   6723 		- bus_activate_service -> bus_start_service_by_name
   6724 		- dbus_bus_activate_service -> dbus_bus_start_service_by_name
   6725 		- bus_acquire_service -> bus_request_name
   6726 		- dbus_bus_acquire_service -> dbus_bus_request_name
   6727 		- bus_service_exists -> bus_name_has_owner
   6728 		- dbus_bus_service_exists -> dbus_bus_name_has_owner
   6729 
   6730 	* python/dbus.py: Rename of methods
   6731 		- activate_service -> start_service_by_name
   6732 		- bus_acquire_service -> bus_request_name
   6733 		- ACTIVATION_REPLY_ACTIVATED -> START_REPLY_SUCCESS 
   6734 		- ACTIVATION_REPLY_ALREADY_ACTIVE -> START_REPLY_ALREADY_RUNNING
   6735 
   6736 	
   6737 2005-01-24  Joe Shaw  <joeshaw (a] novell.com>
   6738 
   6739 	* dbus/dbus-connection.c (dbus_connection_dispatch): Print out the
   6740 	signature for the method that can't be found.
   6741 
   6742 	* dbus/dbus-message.c (dbus_message_iter_init): To check to see if
   6743 	the message has any arguments, we need to call
   6744 	_dbus_type_reader_get_current_type(), not
   6745 	_dbus_type_reader_has_next().
   6746 
   6747 2005-01-24  Havoc Pennington  <hp (a] redhat.com>
   6748 
   6749 	* dbus/dbus-message-factory.c: more testing of message validation
   6750 
   6751 	* dbus/dbus-protocol.h (DBUS_MINIMUM_HEADER_SIZE): move to this
   6752 	header
   6753 
   6754 2005-01-23  Havoc Pennington  <hp (a] redhat.com>
   6755 
   6756 	* dbus/dbus-message-factory.c, dbus/dbus-message-util.c: 
   6757 	get this all working, not many tests in the framework yet though
   6758 
   6759 2005-01-22  Havoc Pennington  <hp (a] redhat.com>
   6760 
   6761 	* doc/dbus-faq.xml, doc/dbus-tutorial: add a FAQ and update
   6762 	tutorial, based on work from David Wheeler.
   6763 
   6764 2005-01-21  Havoc Pennington  <hp (a] redhat.com>
   6765 
   6766 	* dbus/dbus-bus.c: add more return_if_fail checks
   6767 
   6768 	* dbus/dbus-message.c (load_message): have the "no validation"
   6769 	mode (have to edit the code to toggle the mode for now though)
   6770 
   6771 	* dbus/dbus-marshal-header.c (_dbus_header_load): have a mode that
   6772 	skips all validation; I want to use this at least for benchmark
   6773 	baseline, I'm not sure if it should be a publicly-available switch.
   6774 
   6775 2005-01-21  Havoc Pennington  <hp (a] redhat.com>
   6776 
   6777 	* glib/dbus-gmain.c: don't put the GLib bindings in the same
   6778 	toplevel doxygen group as the low-level API stuff
   6779 
   6780 	* dbus/dbus.h: note that libdbus is the low-level API
   6781 
   6782 2005-01-20  Havoc Pennington  <hp (a] redhat.com>
   6783 
   6784 	* update-dbus-docs.sh: script to update docs on the web site, only
   6785 	works for me though. neener.
   6786 
   6787 2005-01-20  Havoc Pennington  <hp (a] redhat.com>
   6788 
   6789 	* dbus/dbus-sysdeps.c (_dbus_poll): amazingly, trying to compile
   6790 	code can reveal bugs in it
   6791 
   6792 2005-01-20  Havoc Pennington  <hp (a] redhat.com>
   6793 
   6794 	* dbus/dbus-sysdeps.c (_dbus_poll): fix several bugs in the
   6795 	select() version, patches from Tor Lillqvist
   6796 
   6797 2005-01-20  Havoc Pennington  <hp (a] redhat.com>
   6798 
   6799 	* doc/dbus-tutorial.xml: replace > with &gt;
   6800 
   6801 	* bus/services.c (bus_registry_acquire_service): validate the name
   6802 	and return a better error if it's no good.
   6803 
   6804 	* doc/dbus-specification.xml: note NO_AUTO_START change
   6805 
   6806 	* dbus/dbus-protocol.h (DBUS_HEADER_FLAG_NO_AUTO_START): change
   6807 	from AUTO_START, we're toggling the default
   6808 
   6809 	* bus/dispatch.c: adapt the tests to change of auto-start default
   6810 
   6811 2005-01-18  Havoc Pennington  <hp (a] redhat.com>
   6812 
   6813 	* rename dbus-daemon-1 to dbus-daemon throughout
   6814 
   6815 2005-01-18  Havoc Pennington  <hp (a] redhat.com>
   6816 
   6817         * Throughout, grand renaming to strip out the use of "service",
   6818 	just say "name" instead (or "bus name" when ambiguous).  Did not
   6819 	change the internal code of the message bus itself, only the
   6820 	programmer-facing API and messages.
   6821 	
   6822 	* doc/dbus-specification.xml: further update the message bus section
   6823 	
   6824 	* bus/config-parser.c (all_are_equiv): fix bug using freed string
   6825 	in error case
   6826 
   6827 2005-01-17  Havoc Pennington  <hp (a] redhat.com>
   6828 
   6829 	* dbus/dbus-types.h: remove 16-bit types since we don't use them
   6830 	ever
   6831 
   6832 	* dbus/dbus-marshal-validate.c (_dbus_validate_path): disallow any
   6833 	"invalid name character" not only non-ASCII
   6834 
   6835 	* doc/dbus-specification.xml: further update spec, message bus 
   6836 	parts are still out-of-date but the marshaling etc. stuff is now
   6837 	accurate-ish
   6838 
   6839 2005-01-17  Havoc Pennington  <hp (a] redhat.com>
   6840 
   6841 	* doc/dbus-specification.xml: partially update spec
   6842 
   6843 2005-01-17  Havoc Pennington  <hp (a] redhat.com>
   6844 
   6845         * Throughout, align variant bodies according to the contained
   6846 	type, rather than always to 8. Should save a fair bit of space in
   6847 	message headers.
   6848 	
   6849 	* dbus/dbus-marshal-validate.c (_dbus_validate_body_with_reason):
   6850 	fix handling of case where p == end
   6851 
   6852 	* doc/TODO: remove the dbus_bool_t item and variant alignment items
   6853 
   6854 2005-01-17  Havoc Pennington  <hp (a] redhat.com>
   6855 
   6856 	* dbus/dbus-types.h: hardcode dbus_bool_t to 32 bits
   6857 
   6858 	* Throughout: modify DBUS_TYPE_BOOLEAN to be a 32-bit type instead
   6859 	of an 8-bit type. Now dbus_bool_t is the type to use whenever you 
   6860 	are marshaling/unmarshaling a boolean.
   6861 
   6862 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6863 
   6864         This is about it on what can be disabled/deleted from libdbus
   6865 	easily, back below 150K anyhow. Deeper cuts are more work than 
   6866 	just turning the code off as I've done here.
   6867 	
   6868 	* dbus/dbus-marshal-basic.c (_dbus_pack_int32): we don't need the
   6869 	signed int convenience funcs
   6870 
   6871 	* dbus/dbus-internals.c (_dbus_verbose_real): omit when not in
   6872 	verbose mode
   6873 
   6874 	* dbus/dbus-string-util.c, dbus/dbus-string.c: more breaking
   6875 	things out of libdbus
   6876 
   6877 	* dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-util.c: same
   6878 	
   6879 	* dbus/dbus-hash.c: purge the TWO_STRINGS crap (well, make it
   6880 	tests-enabled-only, though it should probably be deleted)
   6881 
   6882 	* dbus/dbus-message-util.c: same stuff
   6883 
   6884 	* dbus/dbus-auth-util.c: same stuff
   6885 
   6886 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6887 
   6888 	* dbus/dbus-userdb-util.c: split out part of dbus-userdb.c
   6889 
   6890 	* dbus/dbus-sysdeps.c (_dbus_uid_from_string): move here to pave
   6891 	way for stripping down dbus-userdb.c stuff included in libdbus.
   6892 	Rename _dbus_parse_uid for consistency.
   6893 
   6894 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6895 
   6896 	* dbus/dbus-internals.c (_dbus_real_assert): print the function
   6897 	name the assertion failed in
   6898 
   6899 	* dbus/dbus-internals.h (_dbus_return_if_fail) 
   6900 	(_dbus_return_val_if_fail): assert that the name of the function
   6901 	containing the check doesn't start with '_', since we only want to 
   6902 	use checks on public functions
   6903 	
   6904 	* dbus/dbus-connection.c (_dbus_connection_ref_unlocked): change
   6905 	checks to assertions
   6906 
   6907 	* dbus/dbus-marshal-header.c (_dbus_header_set_field_basic):
   6908 	change checks to asserts for private function
   6909 
   6910 	* dbus/dbus-message.c (_dbus_message_set_serial): checks
   6911 	to asserts for private function
   6912 
   6913 	* dbus/dbus-marshal-recursive.c (skip_one_complete_type): remove
   6914 	broken assertion that was breaking make check
   6915 	(_dbus_type_reader_array_is_empty): remove this rather than fix
   6916 	it, was only used in assertions
   6917 
   6918 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6919 
   6920 	* test/unused-code-gc.py: hacky script to find code that's used
   6921 	only by the bus (not libdbus) or used only by tests or not used at
   6922 	all. It has some false alarms, but looks like we can clean up a
   6923 	lot of size from libdbus.
   6924 
   6925 	* dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-utils.c,
   6926 	dbus/Makefile.am: initially move 10K of binary size out of libdbus
   6927 	
   6928 2005-01-16  Havoc Pennington  <hp (a] redhat.com>
   6929 
   6930         * Add and fix docs according to Doxygen warnings throughout
   6931 	source.
   6932 	
   6933 	* dbus/dbus-marshal-recursive.c
   6934 	(_dbus_type_reader_array_is_empty): change this to just call
   6935 	array_reader_get_array_len() and make it static
   6936 
   6937 	* dbus/dbus-message.c (dbus_message_iter_get_element_type): rename
   6938 	from get_array_type
   6939 	(dbus_message_iter_init_append): rename from append_iter_init
   6940 
   6941 	* dbus/dbus-marshal-recursive.c
   6942 	(_dbus_type_reader_get_element_type): rename from
   6943 	_dbus_type_reader_get_array_type
   6944 
   6945 2005-01-15  Havoc Pennington  <hp (a] redhat.com>
   6946 
   6947 	* test/glib/test-profile.c (with_bus_server_filter): fix crash
   6948 
   6949 	* dbus/dbus-marshal-basic.c (_dbus_unpack_uint32): inline as macro
   6950 	when DBUS_DISABLE_ASSERT
   6951 	(_dbus_marshal_set_basic): be sure we align for the string length
   6952 
   6953 	* dbus/dbus-marshal-recursive.c (skip_one_complete_type): make
   6954 	this look faster
   6955 
   6956 	* dbus/dbus-string.c (_dbus_string_get_const_data_len): add an
   6957 	inline macro version
   6958 	(_dbus_string_set_byte): provide inline macro version
   6959 
   6960 2005-01-15  Havoc Pennington  <hp (a] redhat.com>
   6961 
   6962 	* Land the new message args API and type system.
   6963 
   6964 	This patch is huge, but the public API change is not 
   6965 	really large. The set of D-BUS types has changed somewhat, 
   6966 	and the arg "getters" are more geared toward language bindings;
   6967 	they don't make a copy, etc.
   6968 
   6969 	There are also some known issues. See these emails for details
   6970 	on this huge patch:
   6971 	http://lists.freedesktop.org/archives/dbus/2004-December/001836.html
   6972         http://lists.freedesktop.org/archives/dbus/2005-January/001922.html
   6973 	
   6974 	* dbus/dbus-marshal-*: all the new stuff
   6975 
   6976 	* dbus/dbus-message.c: basically rewritten
   6977 
   6978 	* dbus/dbus-memory.c (check_guards): with "guards" enabled, init
   6979 	freed blocks to be all non-nul bytes so using freed memory is less
   6980 	likely to work right
   6981 
   6982 	* dbus/dbus-internals.c (_dbus_test_oom_handling): add
   6983 	DBUS_FAIL_MALLOC=N environment variable, so you can do
   6984 	DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or
   6985 	DBUS_FAIL_MALLOC=10 to make it really, really, really slow and
   6986 	thorough.
   6987 
   6988 	* qt/message.cpp: port to the new message args API
   6989 	(operator<<): use str.utf8() rather than str.unicode()
   6990 	(pretty sure this is right from the Qt docs?)
   6991 
   6992 	* glib/dbus-gvalue.c: port to the new message args API
   6993 
   6994 	* bus/dispatch.c, bus/driver.c: port to the new message args API
   6995 
   6996 	* dbus/dbus-string.c (_dbus_string_init_const_len): initialize the
   6997 	"locked" flag to TRUE and align_offset to 0; I guess we never
   6998 	looked at these anyhow, but seems cleaner.
   6999 
   7000 	* dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING):
   7001 	move allocation padding macro to this header; use it to implement
   7002 	(_DBUS_STRING_STATIC): ability to declare a static string.
   7003 
   7004 	* dbus/dbus-message.c (_dbus_message_has_type_interface_member):
   7005 	change to return TRUE if the interface is not set.
   7006 
   7007 	* dbus/dbus-string.[hc]: move the D-BUS specific validation stuff
   7008 	to dbus-marshal-validate.[hc]
   7009 
   7010 	* dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from
   7011 	dbus-internals.c
   7012 
   7013 	* dbus/Makefile.am: cut over from dbus-marshal.[hc]
   7014 	to dbus-marshal-*.[hc]
   7015 
   7016 	* dbus/dbus-object-tree.c (_dbus_decompose_path): move this
   7017 	function here from dbus-marshal.c
   7018 
   7019 2005-01-12  Joe Shaw  <joeshaw (a] novell.com>
   7020 
   7021 	* NEWS: Update for 0.23.
   7022 
   7023 	* configure.in: Release 0.23.
   7024 
   7025 2005-01-12  Joe Shaw  <joeshaw (a] novell.com>
   7026 
   7027 	* mono/Makefile.am, mono/example/Makefile.am: Always build the 
   7028 	dbus DLL with --debug.  Clean up after the .mdb files this leaves
   7029 	behind.
   7030 
   7031 	* mono/doc/Makefile.am: Need to uninstall the docs on "make
   7032 	uninstall"
   7033 
   7034 	* mono/Arguments.cs (GetDBusTypeConstructor): If the type
   7035 	is an enum, get the enum's underlying type.  Another mono
   7036 	1.1.3 fix.
   7037 
   7038 2005-01-11  Joe Shaw  <joeshaw (a] novell.com>
   7039 
   7040 	Patch from Sjoerd Simons <sjoerd (a] luon.net>
   7041 
   7042 	* mono/Makefile.am, mono/example/Makefile.am: Don't redefine
   7043 	DESTDIR.  It breaks stuff.
   7044 
   7045 2005-01-11  Joe Shaw  <joeshaw (a] novell.com>
   7046 
   7047 	Patch from Tambet Ingo <tambet (a] ximian.com>
   7048 
   7049 	* mono/DBusType/Array.cs (Get): Get the underlying element type by
   7050 	calling type.GetElementType().  The code previously depended on
   7051 	broken Mono behavior, which was fixed in Mono 1.1.3.
   7052 
   7053 	* mono/DBusType/Dict.cs (constructor): Fix the parameters for
   7054 	Activator.CreateInstance() so that the class's constructor is
   7055 	called with the right parameters.
   7056 
   7057 2005-01-11  Joe Shaw  <joeshaw (a] novell.com>
   7058 
   7059 	Patch from Timo Ters <ext-timo.teras (a] nokia.com>
   7060 
   7061 	* dbus/dbus-connection.c
   7062 	(_dbus_connection_queue_received_message_link): Call
   7063 	_dbus_connection_remove_timeout() instead of the _locked()
   7064 	variant, since it's always called from
   7065 	_dbus_connection_handle_watch(), which handles the locking.
   7066 	Removed the _locked() variant since it's no longer used.
   7067 
   7068 2005-01-03  Havoc Pennington  <hp (a] redhat.com>
   7069 
   7070 	* dbus/dbus-internals.h: I'm an idiot, _dbus_assert certainly can
   7071 	return
   7072 	
   7073 2004-12-26  Havoc Pennington  <hp (a] redhat.com>
   7074 
   7075 	* dbus/dbus-internals.h: add _DBUS_GNUC_NORETURN to _dbus_assert
   7076 
   7077 2005-01-03  Havoc Pennington  <hp (a] redhat.com>
   7078 
   7079 	* dbus/dbus-sysdeps.c (_dbus_sysdeps_test): fix using == on
   7080 	floating point
   7081 
   7082 	* dbus/dbus-string.c (_dbus_string_insert_alignment): new function
   7083 
   7084 2005-01-02  Havoc Pennington  <hp (a] redhat.com>
   7085 
   7086 	* dbus/dbus-internals.h (_DBUS_ALIGN_OFFSET): new macro
   7087 
   7088 2005-01-01  Havoc Pennington  <hp (a] redhat.com>
   7089 
   7090 	* configure.in: add -Wfloat-equal
   7091 
   7092 2005-01-01  Havoc Pennington  <hp (a] redhat.com>
   7093 
   7094 	* dbus/dbus-sysdeps.h: add _DBUS_DOUBLES_BITWISE_EQUAL macro, 
   7095 	for a variety of reasons '==' doesn't do this.
   7096 
   7097 2004-12-31  Havoc Pennington  <hp (a] redhat.com>
   7098 
   7099 	* dbus/dbus-string.c (_dbus_string_equal_substrings): new function
   7100 	I keep wishing I had
   7101 
   7102 2004-12-30  John (J5) Palmieri  <johnp (a] redhat.com>
   7103 
   7104 	* python/dbus.py: s/ACTIVATION_REPLY_ACTIVE/ACTIVATION_REPLY_ACTIVATED
   7105 
   7106 2004-12-30  John (J5) Palmieri  <johnp (a] redhat.com>
   7107 
   7108 	* python/dbus_bindings.pyx.in: Change DBUS_ACTIVATION_REPLY_ACTIVATED
   7109 	and DBUS_ACTIVATION_REPLY_ALREADY_ACTIVE to match the values in
   7110 	dbus-protocol.h.  Because they are defines and not enums they are not
   7111 	autogenerated.
   7112 
   7113 2004-12-26  John (J5) Palmieri  <johnp (a] redhat.com>
   7114 
   7115 	* python/dbus_bindings.pyx.in (bus_activate_service): Bind
   7116 	dbus_bus_activate_service
   7117 
   7118 	* python/dbus.py (Bus.activate_service): activate a service on the
   7119 	bus.
   7120 
   7121 2004-12-24  Havoc Pennington  <hp (a] redhat.com>
   7122 
   7123 	* test/decode-gcov.c: change to use .gcno and .gcda files, but the
   7124 	file format has also changed and I haven't adapted to that yet
   7125 	
   7126 	* Makefile.am: load .gcno files from latest gcc
   7127 
   7128 2004-12-23  John (J5) Palmieri  <johnp (a] redhat.com>
   7129 	* Patch from Rob Taylor <robtaylor (a] fastmail.fm>
   7130 
   7131 	* python/dbus_bindings.pyx.in (bus_get_unix_user): New
   7132 	lowlevel binding
   7133 
   7134 	* python/dbus.py (get_unix_user): Added binding to 
   7135 	call dbus_bindings.bus_get_unix_user
   7136 
   7137 	* python/extract.py: Modified the proto_pat regex to
   7138 	handle unsigned long
   7139 
   7140 2004-12-21  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7141 
   7142 	* dbus/make-dbus-glib-error-enum.sh: omit the function keyword for
   7143 	better POSIX compliance.
   7144 
   7145 2004-12-19  Havoc Pennington  <hp (a] redhat.com>
   7146 
   7147 	* dbus/dbus-string.c (_dbus_string_insert_4_aligned) 
   7148 	(_dbus_string_insert_8_aligned): new functions
   7149 
   7150 	* dbus/dbus-string.c (_dbus_string_alloc_space): new function
   7151 
   7152 2004-12-18  Havoc Pennington  <hp (a] redhat.com>
   7153 
   7154 	* dbus/dbus-string.c (_dbus_string_validate_ascii): use ISASCII
   7155 	macro
   7156 
   7157 	* dbus/dbus-message.c: fix a comment, and add a still-unused
   7158 	not-implemented function
   7159 
   7160 	* dbus/dbus-marshal.h: fix comment
   7161 
   7162 	* dbus/dbus-internals.h (_DBUS_ISASCII): new macro
   7163 
   7164 2004-12-17  Joe Shaw  <joeshaw (a] novell.com>
   7165 
   7166 	* mono/DBusType/Byte.cs, mono/DBusType/Int32.cs,
   7167 	mono/DBusType/Int64.cs, mono/DBusType/UInt32.cs,
   7168 	mono/DBusType/UInt64.cs: Use Enum.GetUnderlyingType() instead of
   7169 	Type.UnderlyingSystemType to get the actual system type
   7170 	underneath.  This code previously depended on the broken Mono
   7171 	behavior, which was fixed in 1.1.3.
   7172 
   7173 2004-11-27  Havoc Pennington  <hp (a] redhat.com>
   7174 
   7175 	* dbus/dbus-string.h (_dbus_string_get_byte): inline when asserts
   7176 	are disabled
   7177 	(_dbus_string_get_const_data): inline when asserts are disabled
   7178 
   7179 	* dbus/dbus-message.c: record the _dbus_current_generation of
   7180 	creation so we can complain if dbus_shutdown() is used improperly.
   7181 	Do this only if checks are enabled.
   7182 
   7183 	* dbus/dbus-connection.c: ditto
   7184 	
   7185 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7186 
   7187 	* test/glib/test-profile.c: add with_bus mode to profile echoes
   7188 	that go through the bus.
   7189 
   7190 	* test/glib/run-test.sh: add ability to run test-profile
   7191 
   7192 	* bus/dbus-daemon-1.1.in: fix to say that SIGHUP causes partial
   7193 	config file reload.
   7194 
   7195 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7196 
   7197 	* test/glib/test-profile.c: clean up how the fake_malloc_overhead
   7198 	thing was implemented
   7199 
   7200 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7201 
   7202 	* test/glib/test-profile.c: tweak a bit, add support for some
   7203 	made-up minimal malloc overhead with plain sockets, since in 
   7204 	real life some sort of buffers are unavoidable thus we could 
   7205 	count them in the theoretical best case
   7206 
   7207 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7208 
   7209 	* dbus/dbus-message.c (dbus_message_cache_or_finalize): fix bug
   7210 	where I was trying to cache one too many messages
   7211 
   7212 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7213 
   7214 	* dbus/dbus-message.c: reimplement message cache as an array which 
   7215 	makes the cache about twice as fast and saves maybe 1.5% overall
   7216 
   7217 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7218 
   7219 	* dbus/dbus-threads.c (init_global_locks): forgot to put the
   7220 	message cache lock here
   7221 
   7222 2004-11-26  Havoc Pennington  <hp (a] redhat.com>
   7223 
   7224 	* dbus/dbus-message.c (struct DBusMessage): put the locked bit and
   7225 	the "char byte_order" next to each other to save 4 bytes
   7226 	(dbus_message_new_empty_header): reduce preallocation, since the
   7227 	message cache should achieve a similar effect
   7228 	(dbus_message_cache_or_finalize, dbus_message_get_cached): add a
   7229 	message cache that keeps a few DBusMessage around in a pool,
   7230 	another 8% speedup or so.
   7231 
   7232 	* dbus/dbus-dataslot.c (_dbus_data_slot_list_clear): new function
   7233 
   7234 2004-11-25  Havoc Pennington  <hp (a] redhat.com>
   7235 
   7236 	* dbus/dbus-transport-unix.c (unix_do_iteration): if we're going
   7237 	to write, without reading or blocking, try it before the poll()
   7238 	and skip the poll() if nothing remains to write. This is about a
   7239 	3% speedup in the echo client/server
   7240 
   7241 2004-11-25  Havoc Pennington  <hp (a] redhat.com>
   7242 
   7243         The primary change here is to always write() once before adding
   7244 	the write watch, which gives us about a 10% performance increase.
   7245 	
   7246 	* dbus/dbus-transport-unix.c: a number of modifications to cope
   7247 	with removing messages_pending
   7248 	(check_write_watch): properly handle
   7249 	DBUS_AUTH_STATE_WAITING_FOR_MEMORY; adapt to removal of
   7250 	messages_pending stuff
   7251 	(check_read_watch): properly handle WAITING_FOR_MEMORY and
   7252 	AUTHENTICATED cases
   7253 	(unix_handle_watch): after writing, see if the write watch can be
   7254 	removed
   7255 	(unix_do_iteration): assert that write_watch/read_watch are
   7256 	non-NULL rather than testing that they aren't, since they 
   7257 	aren't allowed to be NULL. check_write_watch() at the end so 
   7258 	we add the watch if we did not finish writing (e.g. got EAGAIN)
   7259 
   7260 	* dbus/dbus-transport-protected.h: remove messages_pending call,
   7261 	since it resulted in too much inefficient watch adding/removing; 
   7262 	instead we now require that the transport user does an iteration 
   7263 	after queueing outgoing messages, and after trying the first
   7264 	write() we add a write watch if we got EAGAIN or exceeded our 
   7265 	max bytes to write per iteration setting
   7266 
   7267 	* dbus/dbus-string.c (_dbus_string_validate_signature): add this
   7268 	function
   7269 
   7270 	* dbus/dbus-server-unix.c (unix_finalize): the socket name was
   7271 	freed and then accessed, valgrind flagged this bug, fix it
   7272 
   7273 	* dbus/dbus-message.c: fix several bugs where HEADER_FIELD_LAST was taken
   7274 	as the last valid field plus 1, where really it is equal to the
   7275 	last valid field. Corrects some message corruption issues.
   7276 
   7277 	* dbus/dbus-mainloop.c: verbosity changes
   7278 
   7279 	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): handle OOM
   7280 	instead of aborting in one of the test codepaths
   7281 
   7282 	* dbus/dbus-internals.c (_dbus_verbose_real): fix a bug that
   7283 	caused not printing the pid ever again if a verbose was missing
   7284 	the newline at the end
   7285 	(_dbus_header_field_to_string): add HEADER_FIELD_SIGNATURE
   7286 
   7287 	* dbus/dbus-connection.c: verbosity changes; 
   7288 	(dbus_connection_has_messages_to_send): new function
   7289 	(_dbus_connection_message_sent): no longer call transport->messages_pending
   7290 	(_dbus_connection_send_preallocated_unlocked): do one iteration to
   7291 	try to write() immediately, so we can avoid the write watch. This
   7292 	is the core purpose of this patchset
   7293 	(_dbus_connection_get_dispatch_status_unlocked): if disconnected,
   7294 	dump the outgoing message queue, so nobody will get confused
   7295 	trying to send them or thinking stuff is pending to be sent
   7296 
   7297 	* bus/test.c: verbosity changes
   7298 
   7299 	* bus/driver.c: verbosity/assertion changes
   7300 
   7301 	* bus/dispatch.c: a bunch of little tweaks to get it working again
   7302 	because this patchset changes when/where you need to block.
   7303 
   7304 2004-11-23  Havoc Pennington  <hp (a] redhat.com>
   7305 
   7306 	* test/glib/test-profile.c: modify to accept a plain_sockets
   7307 	argument in which case it will bench plain sockets instead of
   7308 	libdbus, for comparison purposes.
   7309 
   7310 2004-11-22  Havoc Pennington  <hp (a] redhat.com>
   7311 
   7312 	* test/glib/test-profile.c (N_CLIENT_THREADS): run multiple
   7313 	threads for more time, so sysprof can get a grip on it.
   7314 
   7315 	* dbus/dbus-string.c (_dbus_string_validate_utf8): remove
   7316 	pointless variable
   7317 
   7318 2004-11-13  Havoc Pennington  <hp (a] redhat.com>
   7319 
   7320 	* test/glib/test-profile.c: fix this thing up a bit
   7321 
   7322 	* dbus/dbus-message.c (dbus_message_new_empty_header): increase
   7323 	preallocation sizes by a fair bit; not sure if this will be an
   7324 	overall performance win or not, but it does reduce reallocs.
   7325 
   7326 	* dbus/dbus-string.c (set_length, reallocate_for_length): ignore
   7327 	the test hack that forced constant realloc if asserts are
   7328 	disabled, so we can profile sanely. Sprinkle in some
   7329 	_DBUS_UNLIKELY() which are probably pointless, but before I
   7330 	noticed the real performance problem I put them in.
   7331 	(_dbus_string_validate_utf8): micro-optimize this thing a little
   7332 	bit, though callgrind says it didn't help; then special-case
   7333 	ascii, which did help a lot; then be sure we detect nul bytes as
   7334 	invalid, which is a bugfix.
   7335 	(align_length_then_lengthen): add some more _DBUS_UNLIKELY
   7336 	superstition; use memset to nul the padding instead of a manual
   7337 	loop.
   7338 	(_dbus_string_get_length): inline this as a
   7339 	macro; it showed up in the profile because it's used for loop
   7340 	tests and so forth
   7341 
   7342 2004-11-10  Colin Walters  <walters (a] verbum.org>
   7343 
   7344 	* dbus/dbus-spawn.c (check_babysit_events): Handle EINTR,
   7345 	for extra paranoia.
   7346 
   7347 2004-11-09  Colin Walters  <walters (a] verbum.org>
   7348 
   7349 	* dbus/dbus-string.c (_dbus_string_get_length): New
   7350 	function, writes DBusString to C buffer.
   7351 
   7352 	* dbus/dbus-string.h: Prototype it.
   7353 
   7354 	* dbus/dbus-message.c (dbus_message_type_to_string): New
   7355 	function, converts message type into C string.
   7356 
   7357 	* dbus/dbus-message.h: Prototype it.
   7358 
   7359 	* bus/selinux.c (bus_selinux_check): Take source pid,
   7360 	target pid, and audit data.  Pass audit data to
   7361 	avc_has_perm.
   7362 	(log_audit_callback): New function, appends extra
   7363 	audit information.
   7364 	(bus_selinux_allows_acquire_service): Also take
   7365 	service name, add it to audit data.
   7366 	(bus_selinux_allows_send): Also take message
   7367 	type, interface, method member, error name,
   7368 	and destination, and add them to audit data.
   7369 	(log_cb): Initialize func_audit.
   7370 	
   7371 	* bus/selinux.h (bus_selinux_allows_acquire_service)
   7372 	(bus_selinux_allows_send): Update prototypes 
   7373 
   7374 	* bus/services.c (bus_registry_acquire_service): Pass
   7375 	service name to bus_selinux_allows_acquire_service.
   7376 
   7377 	* bus/bus.c (bus_context_check_security_policy): Pass
   7378 	additional audit data.  Move assignment of dest
   7379 	to its own line.
   7380 
   7381 2004-11-07  Colin Walters  <walters (a] verbum.org>
   7382 
   7383 	* dbus/dbus-transport-unix.c (do_authentication): Always
   7384 	initialize auth_completed.
   7385 	
   7386 2004-11-07  Colin Walters  <walters (a] verbum.org>
   7387 
   7388 	* bus/bus.c (load_config): Break into three
   7389 	separate functions: process_config_first_time_only,
   7390 	process_config_every_time, and process_config_postinit.
   7391 	(process_config_every_time): Move call of
   7392 	bus_registry_set_service_context_table into
   7393 	process_config_postinit.
   7394 	(process_config_postinit): New function, does
   7395 	any processing that needs to happen late
   7396 	in initialization (and also on reload).
   7397 	(bus_context_new): Instead of calling load_config,
   7398 	open config parser here and call process_config_first_time_only
   7399 	and process_config_every_time directly.  Later, after
   7400 	we have forked but before changing UID,
   7401 	invoke bus_selinux_full_init, and then call
   7402 	process_config_postinit.
   7403 	(bus_context_reload_config): As in bus_context_new,
   7404 	load parse file inside here, and call process_config_every_time
   7405 	and process_config_postinit.
   7406 
   7407 	* bus/services.h, bus/services.c
   7408 	(bus_registry_set_service_context_table): Rename
   7409 	from bus_registry_set_sid_table.  Take string hash from config
   7410 	parser, and convert them here into SIDs.
   7411 
   7412 	* bus/config-parser.c (struct BusConfigParser): Have
   7413 	config parser only store a mapping of service->context
   7414 	string.
   7415 	(merge_service_context_hash): New function.
   7416 	(merge_included): Merge context string hashes instead
   7417 	of using bus_selinux_id_table_union.
   7418 	(bus_config_parser_new): Don't use bus_selinux_id_table_new;
   7419 	simply create a new string hash.
   7420 	(bus_config_parser_unref): Unref it.
   7421 	(start_selinux_child): Simply insert strings into hash,
   7422 	don't call bus_selinux_id_table_copy_over.
   7423 
   7424 	* bus/selinux.h, bus/selinux.c (bus_selinux_id_table_union)
   7425 	(bus_selinux_id_table_copy_over): Delete.
   7426 
   7427 2004-11-03  Colin Walters  <walters (a] verbum.org>
   7428 
   7429 	* bus/selinux.c (bus_selinux_pre_init): Kill some unused
   7430 	variables.
   7431 	
   7432 2004-11-03  Colin Walters  <walters (a] verbum.org>
   7433 
   7434 	* bus/test-main.c (test_pre_hook): Fix test logic,
   7435 	thanks Joerg Barfurth <Joerg.Barfurth (a] Sun.COM>.
   7436 
   7437 2004-11-02  Colin Walters  <walters (a] redhat.com>
   7438 
   7439 	* bus/selinux.c (bus_selinux_init): Split into two functions,
   7440 	bus_selinux_pre_init and bus_selinux_post_init.
   7441 	(bus_selinux_pre_init): Just determine whether SELinux is
   7442 	enabled.
   7443 	(bus_selinux_post_init): Do everything else.
   7444 
   7445 	* bus/main.c (main): Call bus_selinux_pre_init before parsing
   7446 	config file, and bus_selinux_post_init after.  This ensures that
   7447 	we don't lose the policyreload notification thread that
   7448 	bus_selinux_init created before forking previously.
   7449 	
   7450 	* bus/test-main.c (test_pre_hook): Update for split.
   7451 
   7452 2004-10-31  Owen Fraser-Green  <owen (a] discobabe.net>
   7453 
   7454 	Patch from Johan Fischer <linux (a] fischaz.com>
   7455 	
   7456 	* mono/doc/Makefile.am (install-data-local): Added directory
   7457 	install for DESTDIR
   7458 
   7459 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7460 
   7461 	* dbus/dbus-sysdeps.h (_dbus_become_daemon): Also take
   7462 	parameter for fd to write pid to.	
   7463 
   7464 	* dbus/dbus-sysdeps.c (_dbus_become_daemon): Implement it.
   7465 	
   7466 	* bus/bus.c (bus_context_new): Pass print_pid_fd
   7467 	to _dbus_become_daemon (bug #1720)
   7468 
   7469 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7470 
   7471 	Patch from Ed Catmur <ed (a] catmur.co.uk>
   7472 
   7473 	* mono/doc/Makefile.am (install-data-local): Handle
   7474 	DESTDIR.
   7475 
   7476 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7477 
   7478 	* bus/.cvsignore, qt/.cvsignore: Update.
   7479 
   7480 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7481 
   7482 	Patch from Kristof Vansant <de_lupus (a] pandora.be>
   7483 
   7484 	* configure.in: Detect Slackware.
   7485 	* bus/Makefile.am (SCRIPT_IN_FILES): Add rc.messagebus.in.
   7486 	* bus/rc.messagebus.in: New file.
   7487 
   7488 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7489 
   7490 	* tools/dbus-monitor.c (filter_func): Return
   7491 	DBUS_HANDLER_RESULT_HANDLED in filter function
   7492 	for now.  See:
   7493 	http://freedesktop.org/pipermail/dbus/2004-August/001433.html
   7494 
   7495 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7496 
   7497 	Patch from Matthew Rickard <mjricka (a] epoch.ncsc.mil>
   7498 
   7499 	* bus/services.c (bus_registry_acquire_service): 
   7500 	Correctly retrieve service name from DBusString
   7501 	for printing.
   7502 
   7503 2004-10-29  Colin Walters  <walters (a] redhat.com>
   7504 
   7505 	* dbus/dbus-glib.h: Update documentation to not
   7506 	refer to internal APIs.
   7507 
   7508 2004-10-27  Joe Shaw  <joeshaw (a] novell.com>
   7509 
   7510 	* mono/Arguments.cs (GetDBusTypeConstructor):
   7511 	type.UnderlyingSystemType will return "System.Byte" if you do it
   7512 	on "byte[]", which is not what we want.  So check the type.IsArray
   7513 	property and use System.Array instead.
   7514 
   7515 2004-10-25  John (J5) Palmieri  <johnp (a] redhat.com>
   7516 
   7517 	* dbus/dbus-sysdeps.c (fill_user_info): On errors do not free
   7518 	the DBusUserInfo structure since this is passed into the function.
   7519 	This would cause a double free when the function that allocated
   7520 	the structure would try to free it when an error occured.
   7521 
   7522 	* (bus/session.conf.in, bus/Makefile.am, dbus/configure.in):
   7523 	use /usr/share/dbus-1/services instead of /usr/lib/dbus-1.0/services
   7524 	for service activation to avoid 32bit/64bit parallel install issues
   7525 
   7526 2004-10-21  Colin Walters  <walters (a] verbum.org>
   7527 
   7528 	* AUTHORS: Fix my email address, the @gnu.org one
   7529 	has been bouncing for some time.  Also add J5.
   7530 	
   7531 2004-10-21  Colin Walters  <walters (a] verbum.org>
   7532 
   7533 	* dbus/dbus-transport-unix.c (do_authentication): Return
   7534 	authentication status to callers.
   7535 	(unix_handle_watch): If we completed authentication this round,
   7536 	don't do another read.  Instead wait until the next iteration,
   7537 	after we've read any pending data in the auth buffer.
   7538 	(unix_do_iteration): Ditto.
   7539 	(unix_handle_watch): Updated for new do_authentication prototype.
   7540 
   7541 2004-10-18  Colin Walters  <walters (a] verbum.org>
   7542 
   7543 	* bus/selinux.c (bus_selinux_enabled): Handle
   7544 	--disable-selinux case.
   7545 	
   7546 2004-10-18  Colin Walters  <walters (a] verbum.org>
   7547 
   7548 	* bus/selinux.h: Add bus_selinux_enabled.
   7549 	
   7550 	* bus/selinux.c (bus_selinux_enabled): Implement it.
   7551 	
   7552 	* bus/config-parser.c (struct include): Add
   7553 	if_selinux_enabled member.
   7554 	(start_busconfig_child): Parse if_selinux_enabled
   7555 	attribute for include.
   7556 	(bus_config_parser_content): Handle it.
   7557 
   7558 	* bus/session.conf.in, bus/system.conf.in: Add
   7559 	inclusion of context mapping to default config files;
   7560 	conditional on SELinux being enabled.
   7561 	
   7562 	* doc/busconfig.dtd: Add to if_selinux_enabled to default DTD.
   7563 	
   7564 	* test/data/invalid-config-files/badselinux-1.conf, 
   7565 	test/data/invalid-config-files/badselinux-2.conf:
   7566 	Test files for bad syntax.
   7567 	
   7568 2004-10-17  Colin Walters  <walters (a] verbum.org>
   7569 
   7570 	* dbus/dbus-memory.c (_dbus_initialize_malloc_debug, check_guards)
   7571 	(dbus_malloc, dbus_malloc0, dbus_realloc): Fix up printf
   7572 	format specifier mismatches.
   7573 
   7574 2004-10-07  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7575 
   7576 	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): fix an incorrect
   7577 	format string.
   7578 
   7579 	* glib/dbus-dbus-gmain.c (dbus_g_bus_get): do not mangle NULL
   7580 	pointer (bug #1540, Leonardo Boiko).
   7581 
   7582 2004-09-28  Jon Trowbridge  <trow (a] ximian.com>
   7583 
   7584 	* mono/BusDriver.cs: Changed BusDriver struct to remove
   7585 	the ServiceCreated and ServiceDeleted events and replace them
   7586 	with the new ServiceOwnerChanged event.
   7587 
   7588 	* mono/example/BusListener.cs: Added a new example program,
   7589 	which listens for and reports any ServiceOwnerChanged events
   7590 	on the bus driver.
   7591 
   7592 	* mono/example/Makefile.am (DESTDIR): Build changes for the
   7593 	new BusListener.cs example.
   7594 
   7595 2004-09-27  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7596 
   7597 	* bus/signals.c (bus_match_rule_parse): validate the components of
   7598 	match rules (bug #1439).
   7599 
   7600 	* dbus/dbus-bus.c (dbus_bus_add_match): add a missing OOM test.
   7601 
   7602 2004-09-24  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7603 
   7604 	* doc/dbus-specification.xml: document ServiceOwnerChanged
   7605 	signal.
   7606 	
   7607 	* bus/driver.c, bus/driver.h, bus/services.c: Use
   7608 	ServiceOwnerChanged signal instead of ServiceCreated and
   7609 	ServiceDeleted.
   7610 	
   7611 	* bus/dispatch.c: update testcase for the new signal.
   7612 
   7613 2004-09-20  Jon Trowbridge  <trow (a] ximian.com>
   7614 
   7615 	Patch from Nat Friedman <nat (a] novell.com>
   7616 
   7617 	* mono/Makefile.am: A number of small build fixes to allow "make
   7618 	distcheck" to succeed.
   7619 
   7620 	* mono/example/Makefile.am: "make distcheck" fixes.
   7621 
   7622 	* mono/AssemblyInfo.cs.in: When signing the assembly, look for the
   7623 	key in @srcdir@.
   7624 
   7625 	* test/Makefile.am: "make distcheck" fixes.
   7626 
   7627 2004-09-17  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7628 
   7629 	* dbus/dbus-sysdeps.c (_dbus_user_at_console): fix memleak in OOM.
   7630 
   7631 	* doc/busconfig.dtd: update the DTD for the at_console attribute.
   7632 
   7633 	* bus/driver.c (bus_driver_handle_hello): correctly handle Hello
   7634 	messages after the first one (bug #1389).
   7635 	
   7636 	* bus/dispatch.c (check_double_hello_message): add a test case for
   7637 	the double hello message bug.
   7638 	(check_existent_service_activation): fix check of spawning error.
   7639 	
   7640 2004-09-16  David Zeuthen  <david (a] fubar.dk>
   7641 
   7642 	* python/dbus_bindings.pyx.in: Add support for int64 and uint64
   7643 
   7644 2004-09-12  David Zeuthen  <david (a] fubar.dk>
   7645 
   7646 	Patch from Kay Sievers <kay.sievers (a] vrfy.org>
   7647 
   7648 	* bus/bus.c (bus_context_new):
   7649 	* bus/bus.h:
   7650 	* bus/main.c (usage)
   7651 	(main):
   7652 	Add commandline option --nofork to override configuration file
   7653 	setting.
   7654 
   7655 2004-09-09  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7656 
   7657 	* dbus/dbus-*.h: remove the ; after DBUS_(BEGIN|END)_DECLS. Some C
   7658 	compilers don't like it (bug #974).
   7659 
   7660 2004-09-04  Harald Fernengel  <harry (a] kdevelop.org>
   7661 
   7662 	* qt/connection.*: Applied patch by Jrme Lodewyck
   7663 	<lodewyck (a] clipper.ens.fr> to integrate an existing
   7664 	connection into the Qt eventloop
   7665 
   7666 2004-08-30  Jon Trowbridge  <trow (a] ximian.com>
   7667 
   7668 	* mono/BusDriver.cs: Added.  This is a class for interacting with
   7669 	the org.freedesktop.DBus service.
   7670 
   7671 	* mono/Message.cs: Added a mechanism to expose the message that is
   7672 	currently being dispatched via the static Message.Current
   7673 	property.  Added Message.Sender and Message.Destination
   7674 	properties.
   7675 
   7676 	* mono/Handler.cs: Expose the dispatched message via
   7677 	Message.Current when handling method calls.
   7678 
   7679 	* mono/Service.cs: Expose the dispatched message via
   7680 	Message.Current when handling signal emissions.
   7681 	
   7682 	* mono/Connection.cs: Bind dbus_bus_get_base_service via the
   7683 	Connection.BaseService property.
   7684 
   7685 2004-08-28  Havoc Pennington  <hp (a] redhat.com>
   7686 
   7687 	* dbus/dbus-userdb.c (_dbus_is_console_user): remove unused variable
   7688 
   7689         More fixes from Steve Grubb
   7690 	
   7691 	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix fd leak
   7692 	(_dbus_listen_tcp_socket): fix fd leak
   7693 
   7694 	* dbus/dbus-spawn.c (read_pid, read_ints): move the "again:" for
   7695 	EINTR to a bit lower in the code
   7696 
   7697 2004-08-26  Jon Trowbridge  <trow (a] ximian.com>
   7698 
   7699 	* bus/driver.c (bus_driver_handle_service_exists): Respond with
   7700 	TRUE if we are inquiring about the existence of the built-in
   7701 	org.freedesktop.DBus service.
   7702 
   7703 2004-08-25  John Palmieri  <johnp (a] redhat.com>
   7704 	* bus/config-parser.c:
   7705 	(struct PolicyType): Add POLICY_CONSOLE
   7706 	(struct Element.d.policy): s/gid_or_uid/gid_uid_or_at_console
   7707 	(start_busconfig_child): Sets up console element when
   7708 	<policy at_console=""> is encountered in a policy file
   7709 	(append_rule_from_element): Convert console elements to console
   7710 	rules.
   7711 
   7712 	* bus/policy.c: 
   7713 	(bus_policy_create_client_policy): Add console rules to the client
   7714 	policy based on if the client is at the console
   7715 	(bus_policy_append_console_rule): New function for adding a
   7716 	console rule to a policy
   7717 	(bus_policy_merge): Handle console rule merging
   7718 
   7719 	* dbus/dbus-sysdeps.h: Added the DBUS_CONSOLE_DIR constant
   7720 	where we check for console user files
   7721 	
   7722 	* dbus/dbus-sysdeps.c:
   7723 	(_dbus_file_exists): New function which checks if the given
   7724 	file exists
   7725 	(_dbus_user_at_console): New function which does the system
   7726 	specific process of checking if the user is at the console
   7727 
   7728 	* dbus/dbus-userdb.c:
   7729 	(_dbus_is_console_user): New function converts a UID to user name
   7730 	and then calls the system specific _dbus_user_at_console to 
   7731 	see if the user is at the console and therefor a console user
   7732 
   7733 2004-08-25  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7734 
   7735 	* bus/config-parser.c (set_limit):
   7736 	* bus/dbus-daemon-1.1.in:
   7737 	* test/data/valid-config-files/many-rules.conf: set the
   7738 	max_match_rules_per_connection limt from the config file. 
   7739 
   7740 	* doc/busconfig.dtd: update the DTD.
   7741 
   7742 	* bus/driver.c: remove some unused variables.
   7743 
   7744 2004-08-24  Mikael Hallendal  <micke (a] imendio.com>
   7745 
   7746 	* dbus/dbus-glib-lowlevel.h: Removed dbus_bus_get_with_g_main since 
   7747 	it's been replaced by dbus_g_bus_get
   7748 
   7749 2004-08-23  Colin Walters  <walters (a] redhat.com>
   7750 
   7751 	Updated SELinux support from Matthew Rickard <mjricka (a] epoch.ncsc.mil>
   7752 
   7753 	* bus/selinux.h: Prototype bus_selinux_get_policy_root.
   7754 
   7755 	* bus/selinux.c: Create a thread for policy reload notification.
   7756 	(bus_selinux_get_policy_root): Implement.
   7757 
   7758 	* bus/config-parser.c (start_busconfig_child)
   7759 	(bus_config_parser_content): Support SELinux-root relative
   7760 	inclusion.
   7761 
   7762 	* configure.in <HAVE_SELINUX>: Add -lpthread.
   7763 	
   7764 	* bus/test-main.c (test_pre_hook, test_post_hook): New.
   7765 	(test_post_hook): Move memory checking into here.
   7766 	(test_pre_hook, test_post_hook): Move SELinux checks in
   7767 	here, but conditional on a DBUS_TEST_SELINUX environment
   7768 	variable.  Unfortunately we can't run the SELinux checks
   7769 	as a normal user, since they won't have any permissions
   7770 	for /selinux.  So this will have to be tested manually
   7771 	for now, until we have virtualization for most of
   7772 	libselinux.
   7773 	
   7774 2004-08-23  Havoc Pennington  <hp (a] redhat.com>
   7775 
   7776 	* dbus/dbus-sysdeps.c (_dbus_change_identity): add setgroups() to
   7777 	drop supplementary groups, suggested by Steve Grubb
   7778 
   7779 2004-08-20  Colin Walters  <walters (a] redhat.com>
   7780 
   7781 	* bus/config-parser.c (start_busconfig_child): Remove some unused
   7782 	variables.
   7783 	
   7784 	* bus/selinux.c (bus_selinux_id_table_insert): Avoid compiler
   7785 	warning.
   7786 
   7787 2004-08-17  Joe Shaw  <joeshaw (a] novell.com>
   7788 
   7789 	* configure.in: If --enable-mono is passed in, if we can't find
   7790 	mono error out.
   7791 
   7792 	* mono/Makefile.am: Use /gacutil to install assemblies into the
   7793 	GAC and not /root.
   7794 
   7795 2004-08-12  Havoc Pennington  <hp (a] redhat.com>
   7796 
   7797 	* NEWS: update for 0.22
   7798 
   7799 	* configure.in: release 0.22
   7800 
   7801 2004-08-11  Colin Walters  <walters (a] redhat.com>
   7802 
   7803 	* tools/dbus-send.c (main, usage): Add --reply-timeout
   7804 	argument.
   7805 
   7806 2004-08-10  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7807 
   7808 	* bus/bus.c (process_config_first_time_only): get rid of an unused
   7809 	DBusError that was causing a memoy leak (bug #989).
   7810 
   7811 	* dbus/dbus-keyring.c, dbus/dbus-message.c:
   7812 	fix compilation on Solaris/Forte C (bug #974)
   7813 
   7814 	* bus/main.c (main): plug two minuscule memleaks.
   7815 
   7816 2004-08-10  Havoc Pennington  <hp (a] redhat.com>
   7817 
   7818 	* doc/dbus-tutorial.xml: add some more info on GLib bindings
   7819 
   7820 2004-08-09  Havoc Pennington  <hp (a] redhat.com>
   7821 
   7822 	* COPYING: switch to Academic Free License version 2.1 instead of
   7823 	2.0, to resolve complaints about patent termination clause.
   7824 
   7825 2004-07-31  John (J5) Palmieri  <johnp (a] redhat.com>
   7826 
   7827 	* README: added documentation for the --enable-python 
   7828 	configure switch.
   7829 
   7830 2004-07-31  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7831 
   7832 	* bus/config-parser.c (bus_config_parser_new): fix an invalid
   7833 	_unref in the SELinux support.
   7834 
   7835 	* doc/busconfig.dtd: update DTD for SELinux support.
   7836 
   7837 	* bus/config-loader-libxml.c: fix error handler and parser
   7838 	initialisation/cleanup. OOM test now works with libxml2 HEAD.
   7839 
   7840 	* configure.in: remove the warning about libxml2.
   7841 
   7842 	* dbus/dbus-bus.c: silence doxygen warning.
   7843 
   7844 2004-07-31  Colin Walters  <walters (a] redhat.com>
   7845 
   7846 	* configure.in: Move #error in SELinux check to its own line.
   7847 
   7848 2004-07-31  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7849 
   7850 	* dbus/dbus-internals.h (_DBUS_SET_OOM):
   7851 	* bus/utils.h (BUS_SET_OOM): use dbus_error_set_const instead of
   7852 	dbus_error_set.
   7853 
   7854 	* bus/dispatch.c (check_send_exit_to_service): fix the test case,
   7855 	broken by the change in the _SET_OOM macros.
   7856 
   7857 2004-07-31  Colin Walters  <walters (a] redhat.com>
   7858 
   7859 	* bus/selinux.c <HAVE_SELINUX>: Include utils.h to get
   7860 	BUS_SET_OOM.
   7861 
   7862 2004-07-31  Colin Walters  <walters (a] redhat.com>
   7863 
   7864 	* configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADER
   7865 	to correctly detect DBUS__ACQUIRE_SVC.  Also add an
   7866 	AC_MSG_CHECKING.
   7867 
   7868 2004-07-24  Havoc Pennington  <hp (a] redhat.com>
   7869 
   7870 	SELinux support from Matthew Rickard <mjricka (a] epoch.ncsc.mil>
   7871 
   7872 	* bus/selinux.c, bus/selinux.h: new file encapsulating selinux
   7873 	functionality
   7874 
   7875 	* configure.in: add --enable-selinux
   7876 	
   7877 	* bus/policy.c (bus_policy_merge): add FIXME to a comment
   7878 
   7879 	* bus/main.c (main): initialize and shut down selinux
   7880 
   7881 	* bus/connection.c: store SELinux ID on each connection, to avoid 
   7882 	repeated getting of the string context and converting it into 
   7883 	an ID
   7884 
   7885 	* bus/bus.c (bus_context_get_policy): new accessor, though it
   7886 	isn't used
   7887 	(bus_context_check_security_policy): check whether the security
   7888 	context of sender connection can send to the security context of
   7889 	recipient connection
   7890 
   7891 	* bus/config-parser.c: add parsing for <selinux> and <associate>
   7892 	
   7893 	* dbus/dbus-transport.c (_dbus_transport_get_unix_fd): to
   7894 	implement dbus_connection_get_unix_fd()
   7895 
   7896 	* dbus/dbus-connection.c (dbus_connection_get_unix_fd): new
   7897 	function, used by the selinux stuff
   7898 	
   7899 2004-07-29  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7900 
   7901 	* bus/config-loader-libxml.c: complete the implementation of
   7902 	libxml backend for config file loader. Doesn't work with full OOM
   7903 	test yet. 
   7904 	
   7905 	* configure.in: change error when selecting libxml into a warning.
   7906 	
   7907 	* test/data/invalid-config-files: add two non-well-formed XML
   7908 	files. 
   7909 	
   7910 	* glib/Makefile.am: libdbus_gtool always uses expat, not libxml.
   7911 	
   7912 	* dbus/dbus-transport-unix.c (unix_handle_watch): do not
   7913 	disconnect in case of DBUS_WATCH_HANGUP, several do_reading() may
   7914 	be necessary to read all the buffer. (bug #894)
   7915 
   7916 	* bus/activation.c (bus_activation_activate_service): fix a
   7917 	potential assertion failure (bug #896). Small optimization in the
   7918 	case of auto-activation messages.
   7919 
   7920 	* dbus/dbus-message.c (verify_test_message, _dbus_message_test):
   7921 	add test case for byte-through-vararg bug (#901). patch by Kimmo
   7922 	Hmlinen. 
   7923 
   7924 2004-07-28  Anders Carlsson  <andersca (a] gnome.org>
   7925 
   7926 	* python/dbus.py:
   7927 	* python/dbus_bindings.pyx.in:
   7928 	Add dbus.init_gthreads (), allow emit_signal to pass
   7929 	arguments to the signal.
   7930 	
   7931 2004-07-24  Havoc Pennington  <hp (a] redhat.com>
   7932 
   7933 	* AUTHORS: add some people, not really comprehensively, let me
   7934 	know if I missed you
   7935 
   7936 2004-07-24  Havoc Pennington  <hp (a] redhat.com>
   7937 
   7938 	* Makefile.am (DIST_SUBDIRS): add DIST_SUBDIRS, problem solved by
   7939 	Owen
   7940 
   7941 	* test/Makefile.am (DIST_SUBDIRS): here also
   7942 
   7943 2004-07-22  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7944 
   7945 	* dbus/dbus-sysdeps.c (fill_user_info): fix inexistent label name,
   7946 	breaking build on Solaris, reported by Farhad Saberi on the ML.
   7947 
   7948 	* dbus/dbus-message.c (dbus_message_append_args_valist): fix the
   7949 	va_arg invocation to account for integer promotion in the case of
   7950 	DBUS_TYPE_BYTE (unsigned char is promoted to int). (bug #901)
   7951 
   7952 	* bus/services.c (bus_service_remove_owner): fix bug #902, use
   7953 	_dbus_list_get_first_link, not _dbus_list_get_first.
   7954 
   7955 	* dbus/dbus-bus.c (dbus_bus_service_exists): plug a memory leak.
   7956 
   7957 	* dbus/dbus-object-tree.c (free_subtree_recurse): always null
   7958 	handler functions so that the asserts in _dbus_object_subtree_unref
   7959 	do not fail.
   7960 
   7961 	* dbus/dbus-transport-unix.c (do_reading):
   7962 	_dbus_transport_queue_messages return value is of type
   7963 	dbus_bool_t, not DBusDispatchStatus.
   7964 	
   7965 2004-07-19  David Zeuthen  <david (a] fubar.dk>
   7966 
   7967 	* dbus/dbus-protocol.h: Add DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN
   7968 
   7969 	* bus/dispatch.c:
   7970 	(check_get_connection_unix_user): Debug says GetProperty; but the
   7971 	method is called GetConnectionUnixUser
   7972 	(check_get_connection_unix_process_id): New function
   7973 	(bus_dispatch_test): Actually call check_get_connection_unix_user();
   7974 	also call check_get_connection_unix_process_id()
   7975 	
   7976 	* bus/driver.c:
   7977 	(bus_driver_handle_get_connection_unix_process_id): New function,
   7978 	handles GetConnectionUnixProcessID on the org.freedesktop.DBus
   7979 	interface
   7980 	
   7981 	* dbus/dbus-auth.c:
   7982 	(handle_server_data_external_mech): Set pid from the credentials
   7983 	obtained from the socket
   7984 	
   7985 	* dbus/dbus-connection.c:
   7986 	(dbus_connection_get_unix_process_id): New function
   7987 	
   7988 	* dbus/dbus-connection.h: 
   7989 	Add prototype for dbus_connection_get_unix_process_id
   7990 	
   7991 	* dbus/dbus-transport.c:
   7992 	(_dbus_transport_get_unix_process_id): New function
   7993 	
   7994 	* dbus/dbus-transport.h:
   7995 	Add prototype for _dbus_transport_get_unix_process_id
   7996 	
   7997 2004-07-19  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   7998 
   7999 	* dbus/dbus-message.c: Message counter fix, patch by Christian
   8000 	Hammond <chipx86 (a] gnupdate.org>
   8001 
   8002 2004-07-18  Seth Nickell  <seth (a] gnome.org>
   8003 
   8004 	* python/dbus.py:
   8005 	* python/dbus_bindings.pyx.in:
   8006 	* python/tests/test-client.py:
   8007 
   8008 	Add dbus.ByteArray and dbus_bindings.ByteArray
   8009 	types so that byte streams can be passed back.
   8010 
   8011 	Give jdahlin the heaps of credit that are so
   8012 	rightfully his.
   8013 	
   8014 2004-07-12  Seth Nickell  <seth (a] gnome.org>
   8015 
   8016 	* python/dbus.py:
   8017 
   8018 	Add message argument to the default object_method_handler
   8019 	function.
   8020 	
   8021 	* python/dbus_bindings.pyx.in:
   8022 
   8023 	Automatically return NIL when passed an empty list
   8024 	(we can't pass back a list since lists are typed
   8025 	and we don't have any idea what type the the client
   8026 	intended the list to be... :-( )
   8027 	
   8028 2004-07-10  Seth Nickell  <seth (a] gnome.org>
   8029 
   8030 	* python/examples/Makefile.am:
   8031 
   8032 	Fix distcheck breakage caused by new examples.
   8033 
   8034 2004-07-10  Seth Nickell  <seth (a] gnome.org>
   8035 
   8036 	* python/dbus.py:
   8037 
   8038 	Add "message" argument to service-side dbus.Object
   8039 	methods. This will break existing services written
   8040 	using the python bindings, but will allow extraction
   8041 	of all the message information (e.g. who its from).
   8042 
   8043 	Add improved "object oriented" signal handling/emission.
   8044 	
   8045 	* python/examples/example-service.py:
   8046 
   8047 	Nix this example.
   8048 	
   8049 	* python/examples/example-signal-emitter.py:
   8050 	* python/examples/example-signal-recipient.py:
   8051 
   8052 	Two new examples that show how to emit and receive
   8053 	signals using the new APIs.
   8054 	
   8055 	* python/examples/example-signals.py:
   8056 	* python/examples/gconf-proxy-service.py:
   8057 	* python/examples/gconf-proxy-service2.py:
   8058 
   8059 	Add "message" argument to service methods.
   8060 
   8061 2004-06-28  Kay Sievers <kay.sievers (a] vrfy.org>
   8062 
   8063 	* bus/driver.c (bus_driver_handle_get_connection_unix_user)
   8064 	* dbus/bus.c (dbus_bus_get_unix_user)
   8065 	* doc/dbus-specification.xml: implement GetConnectionUnixUser
   8066 	method of org.freedesktop.DBus interface.
   8067 
   8068 	* bus/dispatch.c: test case
   8069 
   8070 2004-06-23  John (J5) Palmieri  <johnp (a] redhat.com>
   8071 
   8072 	* python/Makefile.am: switched include directory from glib/ to dbus/
   8073 	since dbus-glib.h moved
   8074  
   8075 2004-06-22  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8076 
   8077 	* configure.in: prevent building the gcj stuff and libxml loader
   8078 	since they are broken.
   8079 
   8080 2004-06-20  Havoc Pennington  <hp (a] redhat.com>
   8081 
   8082         * dbus/dbus-glib-error-enum.h: autogenerate the GError enum 
   8083 	codes from the dbus error names
   8084 	
   8085         * glib/dbus-glib.h: move to subdir dbus/ since it's included 
   8086 	as dbus/dbus-glib.h and that breakage is now visible due to 
   8087 	including dbus/dbus-glib.h in dbus-glib-lowlevel.h
   8088 	
   8089 	* glib/dbus-glib.h: s/gproxy/g_proxy/
   8090 
   8091 	* dbus/dbus-shared.h: new header to hold stuff shared with
   8092 	binding APIs
   8093 	
   8094 	* dbus/dbus-protocol.h (DBUS_ERROR_*): move errors here rather
   8095 	than dbus-errors.h
   8096 
   8097 	* glib/dbus-glib.h (dbus_set_g_error): move to
   8098 	dbus-glib-lowlevel.h
   8099 
   8100 	* glib/dbus-glib.h: remove dbus/dbus.h from here; change a bunch
   8101 	of stuff to enable this
   8102 
   8103 	* dbus/dbus-glib-lowlevel.h: put dbus/dbus.h here
   8104 
   8105 	* a bunch of other changes with the same basic "separate glib 
   8106 	bindings from dbus.h" theme
   8107 	
   8108 2004-06-10  Owen Fraser-Green  <owen (a] discobabe.net>
   8109 
   8110 	* dbus-sharp.pc.in: Removed glib-sharp inclusion in Libs.
   8111 
   8112 	* python/examples/Makefile.am: Fixed typo in EXTRA_DIST.
   8113 
   8114 2004-06-09  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8115 
   8116 	* bus/driver.c, dbus/dbus-bus.c: use BOOLEAN instead of UINT32 for
   8117 	the reply value of the ServiceExists message.
   8118 
   8119 2004-06-07  John (J5) Palmieri  <johnp (a] redhat.com>
   8120 
   8121 	* python/dbus_bindings.pyx.in: No longer need to parse path
   8122 	elements and pass them as arrays of strings.  The C API now
   8123 	accepts plain path strings.
   8124 	(_build_parsed_path): removed 
   8125 
   8126 2004-06-07  Havoc Pennington  <hp (a] redhat.com>
   8127 
   8128 	* doc/TODO: remove auto-activation item since it's done; sort
   8129 	items by importance/milestone
   8130 
   8131 2004-06-07  Havoc Pennington  <hp (a] redhat.com>
   8132 
   8133 	* dbus/dbus-message-builder.c (_dbus_message_data_load): append
   8134 	random signature when using REQUIRED_FIELDS (this hack won't work
   8135 	in the long term)
   8136 
   8137 	* dbus/dbus-message.c: change the signature to be a header field,
   8138 	instead of message->signature special-case string. Incremental
   8139 	step forward. Then we can fix up code to send the signature in the
   8140 	message, then fix up code to validate said signature, then fix up
   8141 	code to not put the typecodes inline, etc.
   8142 	(load_one_message): don't make up the signature after the fact
   8143 	(decode_header_data): require signature field for the known
   8144 	message types
   8145 
   8146 	* dbus/dbus-marshal.c (_dbus_marshal_string_len): new
   8147 
   8148 	* dbus/dbus-protocol.h: add DBUS_HEADER_FIELD_SIGNATURE
   8149 
   8150 2004-06-07  Owen Fraser-Green  <owen (a] discobabe.net>
   8151 
   8152 	* mono/DBusType/ObjectPath.cs: Renamed PathName argument to Path
   8153 
   8154 	* mono/Handler.cs: Updated to follow new path argument for
   8155 	(un-)registering objects.
   8156 
   8157 	* mono/example/Makefile.am:
   8158 	* mono/Makefile.am:
   8159 	* configure.in: Bumped required version for mono and use new -pkg
   8160 	syntax for deps
   8161 
   8162 2004-06-05  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8163 
   8164 	* dbus/dbus-connection.h, dbus/dbus-connection.c: have object path
   8165 	registration functions take the path argument as char* instead of
   8166 	char**.
   8167 
   8168 	* dbus/dbus-marshal.h, dbus/dbus-marshal.c (_dbus_decompose_path):
   8169 	split off the path decompostion part of
   8170 	_dbus_demarshal_object_path. Some misc. fixes to silence compiler
   8171 	warnings. 
   8172 
   8173 	* glib/dbus-gobject.c, test/test-service.c: update accordingly.
   8174 	
   8175 2004-06-02  Kristian Hgsberg  <krh (a] redhat.com>
   8176  
   8177 	* dbus/dbus-auth.c: Rewrite auth protocol handling to use a state
   8178 	machine approach.  A state is implemented as a function that
   8179 	handles incoming events as specified for that state.
   8180 	
   8181 	* doc/dbus-specification.xml: Update auth protocol state machine
   8182 	specification to match implementation.  Remove some leftover
   8183 	base64 examples.
   8184 
   8185 2004-06-02  Kristian Hgsberg  <krh (a] redhat.com>
   8186 
   8187 	* glib/dbus-gproxy.c, glib/dbus-gmain.c, dbus/dbus-string.c,
   8188 	dbus/dbus-object-tree.c, dbus/dbus-message.c: add comments to
   8189 	quiet doxygen.
   8190 
   8191 	* Doxyfile.in: remove deprecated options.
   8192 
   8193 	* dbus/dbus-message-handler.c, dbus/dbus-message-handler.h,
   8194 	glib/test-thread.h, glib/test-thread-client.c,
   8195 	glib/test-thread-server.c, glib/test-profile.c,
   8196 	glib/test-dbus-glib.c: remove these unused files.
   8197 
   8198 2004-06-01  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8199 
   8200 	* dbus/dbus-object-tree.c
   8201 	(_dbus_object_tree_dispatch_and_unlock): fix dispatch for
   8202 	non-fallback handlers (bug #684).
   8203 	(_dbus_object_subtree_new): initialize invoke_as_fallback field.
   8204 	(find_subtree_recurse): report wether the returned subtree is an
   8205 	exact match or a "fallback" match higher up in the tree.
   8206 	(object_tree_test_iteration): update test case.
   8207 
   8208 2004-06-01  Seth Nickell  <seth (a] gnome.org>
   8209 
   8210 	* python/dbus_bindings.pyx.in:
   8211 	* python/tests/test-client.py:
   8212 
   8213 	Round off basic type support. Add dicts (yay!), and 
   8214 	remaining array types.
   8215 
   8216 	Make MessageIter more general so it works for dicts too.
   8217 
   8218 	Mark all loop variables as C integers.
   8219 	
   8220 2004-05-31  Havoc Pennington  <hp (a] redhat.com>
   8221 
   8222 	* glib/dbus-gidl.c (method_info_add_arg): keep args sorted with
   8223 	"in" before "out"
   8224 
   8225 	* glib/dbus-gobject.c (dbus_type_to_string): move to dbus-gutils.c
   8226 
   8227 	* glib/dbus-glib-tool.c (main): set up to have a --self-test
   8228 	option that runs the tests, and start filling in some code
   8229 	including for starters just dumping the interfaces to stdout
   8230 
   8231 	* glib/Makefile.am (INCLUDES): define DBUS_LOCALEDIR
   8232 
   8233 	* test/data/valid-introspection-files/lots-of-types.xml: test of
   8234 	an example introspection file
   8235 
   8236 	* glib/dbus-gparser.c (parser_check_doctype): doctype should be
   8237 	"node" (I think...)
   8238 
   8239 2004-05-31  Seth Nickell  <seth (a] gnome.org>
   8240 
   8241 	* python/dbus_bindings.pyx.in:
   8242 	* python/tests/test-client.py:
   8243 
   8244 	Test Suite: 1
   8245 	Python Bindings: 0
   8246 
   8247 	Fix string array memory trashing bug... oops...
   8248 
   8249 2004-05-30  Seth Nickell  <seth (a] gnome.org>
   8250 
   8251 	* python/dbus.py:
   8252 
   8253 	Add a nicer-but-less-flexible alternate API for handling 
   8254 	calls to virtual objects in dbus.ObjectTree.
   8255 
   8256 	Screw up the argument order to the dbus.Object constructor
   8257 	for consistency with dbus.ObjectTree (and to make dbus_methods
   8258 	optional for future extension)
   8259 	
   8260 	* python/examples/Makefile.am:
   8261 	* python/examples/gconf-proxy-service.py:
   8262 	* python/examples/gconf-proxy-service2.py:
   8263 
   8264 	Alternate implementation of gconf-proxy-service using the
   8265 	nicer dbus.ObjectTree API.
   8266 	
   8267 	* python/examples/example-service.py:
   8268 	* python/tests/test-server.py
   8269 
   8270 	Reverse the argument order to deal with dbus.Object constructor
   8271 	changes.
   8272 	
   8273 2004-05-30  Seth Nickell  <seth (a] gnome.org>
   8274 
   8275 	* python/examples/example-client.py:
   8276 	* python/examples/example-service.py:
   8277 
   8278 	Take it back. Lists seem to work but they're broken
   8279 	in the test suite. Make the base examples use
   8280 	lists (works fine).
   8281 
   8282 2004-05-30  Seth Nickell  <seth (a] gnome.org>
   8283 
   8284 	* python/dbus_bindings.pyx.in:
   8285 	* python/tests/test-client.py:
   8286 
   8287 	Add some more tests and fix errors that crop up.
   8288 	Unfortunately, currently it seems like marshalling
   8289 	and unmarshalling of lists is completely broken :-(
   8290 
   8291 2004-05-30  Seth Nickell  <seth (a] gnome.org>
   8292 
   8293 	* python/dbus_bindings.pyx.in:
   8294 
   8295 	Add support for ObjectPath type.
   8296 
   8297 	* python/dbus.py:
   8298 
   8299 	Refactor message handling code to a common function.
   8300 	
   8301 	* python/tests/test-client.py:
   8302 	* python/tests/test-server.py:
   8303 
   8304 	Add tests that check to make sure values of all types
   8305 	can be echoed from a service w/o mangling.
   8306 	
   8307 2004-05-29  Seth Nickell  <seth (a] gnome.org>
   8308 
   8309 	* python/dbus.py:
   8310 
   8311 	Add ObjectTree class which allows implementation
   8312 	of trees of "virtual" objects. Basically the python
   8313 	wrapper for "register_fallback".
   8314 	
   8315 	* python/examples/Makefile.am
   8316 	* python/examples/gconf-proxy-client.py:
   8317 	* python/examples/gconf-proxy-service.py:
   8318 
   8319 	Implement a simple GConf proxy service that supports
   8320 	get/set on string and int GConf keys using the ObjectTree.
   8321 	
   8322 2004-05-29  Seth Nickell  <seth (a] gnome.org>
   8323 
   8324 	* python/dbus.py:
   8325 	* python/examples/example-client.py:
   8326 	* python/examples/example-service.py:
   8327 	* python/examples/list-system-services.py:
   8328 
   8329 	Add SessionBus, SystemBus and ActivationBus classes
   8330 	so you don't need to know the special little BUS_TYPE
   8331 	flag.
   8332 	
   8333 2004-05-29  Havoc Pennington  <hp (a] redhat.com>
   8334 
   8335 	* bus/config-parser.c (process_test_valid_subdir): temporarily
   8336 	stop testing config parser OOM handling, since expat has issues
   8337 	http://freedesktop.org/pipermail/dbus/2004-May/001153.html
   8338 
   8339 	* bus/dbus-daemon-1.1.in: change requested_reply to
   8340 	send_requested_reply/receive_requested_reply so we can send the
   8341 	replies, not just receive them.
   8342 
   8343 	* bus/config-parser.c: parse the new
   8344 	send_requested_reply/receive_requested_reply
   8345 
   8346 	* bus/policy.c (bus_client_policy_check_can_send): add
   8347 	requested_reply argument and use it
   8348 
   8349 	* bus/bus.c (bus_context_check_security_policy): pass through
   8350 	requested_reply status to message send check
   8351 
   8352 	* bus/system.conf.in: adapt to requested_reply change
   8353 	
   8354 2004-05-28  Havoc Pennington  <hp (a] redhat.com>
   8355 
   8356 	* test/glib/test-service-glib.c (main): remove unused variable
   8357 
   8358 	* glib/dbus-gidl.c (base_info_ref): fix a silly compiler warning
   8359 
   8360 	* dbus/dbus-auth.h (enum): remove AUTHENTICATED_WITH_UNUSED_BYTES
   8361 	from the enum, no longer in use.
   8362 
   8363 	* dbus/dbus-sysdeps.h: include config.h so DBUS_VA_COPY actually
   8364 	works right.
   8365 
   8366 	* dbus/dbus-message.c: add various _dbus_return_val_if_fail for
   8367 	whether error_name passed in is a valid error name.
   8368 
   8369 2004-05-28  John (J5) Palmieri  <johnp (a] redhat.com>
   8370 
   8371 	* dbus/dbus-message.c (dbus_message_get_args): Added support for
   8372 	OBJECT_PATH and OBJECT_PATH_ARRAY
   8373 
   8374 2004-05-28  Seth Nickell  <seth (a] gnome.org>
   8375 
   8376 	* python/examples/Makefile.am:
   8377 
   8378 	Forget to add Makefile.am. Do not pass go.
   8379 
   8380 2004-05-28  Michael Meeks  <michael (a] ximian.com>
   8381 
   8382 	* glib/dbus-gvalue.c (dbus_gvalue_marshal, dbus_gvalue_demarshal): 
   8383 	fix no int64 case.
   8384 
   8385 	* dbus/dbus-string.c (_dbus_string_parse_basic_type): impl.
   8386 
   8387 	* dbus/dbus-message.c (_dbus_message_iter_get_basic_type),
   8388 	(_dbus_message_iter_get_basic_type_array): impl.
   8389 	drastically simplify ~all relevant _get methods to use these.
   8390 	(_dbus_message_iter_append_basic_array),
   8391 	(dbus_message_iter_append_basic): impl
   8392 	drastically simplify ~all relevant _append methods to use these.
   8393 
   8394 	* dbus/dbus-message-builder.c (parse_basic_type) 
   8395 	(parse_basic_array, lookup_basic_type): impl.
   8396 	(_dbus_message_data_load): prune scads of duplicate /
   8397 	cut & paste coding.
   8398 
   8399 	* dbus/dbus-marshal.c (_dbus_demarshal_basic_type_array) 
   8400 	(_dbus_demarshal_basic_type): implement,
   8401 	(demarshal_and_validate_len/arg): beef up debug.
   8402 	(_dbus_marshal_basic_type, _dbus_marshal_basic_type_array): impl.
   8403 
   8404 2004-05-27  Seth Nickell  <seth (a] gnome.org>
   8405 
   8406 	* configure.in:
   8407 	* python/Makefile.am:
   8408 
   8409 	Include the example python apps in the tarball.
   8410 	
   8411 	* python/examples/list-system-services.py
   8412 
   8413 	Add a python new example that fetches the list of services
   8414 	from the system bus.
   8415 	
   8416 2004-05-27  Seth Nickell  <seth (a] gnome.org>
   8417 
   8418 	* python/dbus.py:
   8419 	* python/dbus_bindings.pyx.in:
   8420 
   8421 	Fix failure to notify that a signal was not handled,
   8422 	resulted in hung functions.
   8423 	
   8424 2004-05-25  Colin Walters  <walters (a] redhat.com>
   8425 
   8426 	* tools/dbus-monitor.c (main): Monitor all types of messages.
   8427 
   8428 2004-05-23  Owen Fraser-Green  <owen (a] discobabe.net>
   8429 
   8430 	* mono/Handler.cs, mono/Service.cs: Added UnregisterObject method
   8431 	which unregisters the object path and disposes the handler.
   8432 
   8433 2004-05-23  Kristian Hgsberg  <krh (a] redhat.com>
   8434  
   8435         Patch from Timo Ters <ext-timo.teras (a] nokia.com> (#614):
   8436          
   8437 	* dbus/dbus-message.c (dbus_message_iter_get_args_valist): Swap
   8438         operands to && so we call dbus_message_iter_next () for the last
   8439         argument also.
   8440 
   8441 2004-05-21  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8442 
   8443 	* dbus/dbus-object-tree.c
   8444 	(_dbus_object_tree_list_registered_unlock, lookup_subtree): return
   8445 	children even if the requested path isn't registered.
   8446 	(object_tree_test_iteration): test object_tree_list_registered.
   8447 
   8448 	* configure.in: undefine HAVE_ABSTRACT_SOCKETS instead of defining
   8449 	it to 0.
   8450 	
   8451 2004-05-20  Kristian Hgsberg  <krh (a] redhat.com>
   8452 
   8453 	* doc/TODO: Remove resolved items.
   8454 
   8455 	* bus/expirelist.h (struct BusExpireList): remove unused n_items
   8456 	field.
   8457 	
   8458 	* bus/connection.c (bus_connections_expect_reply): Enforce the
   8459 	per-connection limit on pending replies.
   8460 	
   8461 	Patch from Jon Trowbridge <trow (a] ximian.com>:
   8462  
   8463  	* bus/main.c (setup_reload_pipe): Added.  Creates a pipe and sets
   8464  	up a watch that triggers a config reload when one end of the pipe
   8465  	becomes readable.
   8466  	(signal_handler): Instead of doing the config reload in our SIGHUP
   8467  	handler, just write to the reload pipe and let the associated
   8468  	watch handle the reload when control returns to the main loop.
   8469  
   8470  	* bus/driver.c (bus_driver_handle_reload_config): Added.
   8471  	Implements a ReloadConfig method for requesting a configuration
   8472  	file reload via the bus driver.
   8473  
   8474 2004-05-19  Owen Fraser-Green  <owen (a] discobabe.net>
   8475 
   8476 	* HACKING: Updated release instructions concerning the wiki page.
   8477 
   8478 2004-05-18  Kristian Hgsberg  <krh (a] redhat.com>
   8479 
   8480  	* dbus/dbus-auth.c (client_try_next_mechanism): Remove logic to
   8481 	filter against auth->allowed_mechs; we only add allowed mechs in
   8482 	record_mechanisms().
   8483  
   8484  	* dbus/dbus-auth-script.c (_dbus_auth_script_run): Add an
   8485 	ALLOWED_MECHS to auth-script format so we can set the list of
   8486 	allowed mechanisms.
   8487  
   8488  	* data/auth/client-out-of-mechanisms.auth-script: New test to
   8489 	check client disconnects when it is out of mechanisms to try.
   8490  
   8491  	* dbus/dbus-auth.c (process_command): Remove check for lines
   8492 	longer that 1 MB; we only buffer up maximum 16 kB.
   8493  
   8494  	* dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
   8495 	dbus/dbus-auth-script.c, dbus/dbus-auth.c, dbus/dbus-auth.h:
   8496 	Remove auth state AUTHENTICATED_WITH_UNUSED_BYTES, instead always
   8497 	assume there might be unused bytes.
   8498  
   8499  	* dbus/dbus-auth.c (_dbus_auth_do_work): Remove check for
   8500 	client-out-of-mechs, it is handled in process_reject(). Move check
   8501 	for max failures to send_rejected(), as it's a server-only thing.
   8502 
   8503 	* dbus/dbus-auth.c: Factor out protocol reply code into functions
   8504 	send_auth(), send_data(), send_rejected(), send_error(),
   8505 	send_ok(), send_begin() and send_cancel().
   8506 
   8507 2004-05-17  Kristian Hgsberg  <krh (a] redhat.com>
   8508 
   8509 	Remove base64 encoding, replace with hex encoding. Original patch
   8510 	from trow (a] ximian.com, added error handling.
   8511 
   8512 	* dbus/dbus-string.c (_dbus_string_base64_encode)
   8513 	(_dbus_string_base64_decode): Remove.
   8514 	(_dbus_string_hex_decode): Add end_return argument so we can
   8515 	distinguish between OOM and invalid hex encoding.
   8516 	(_dbus_string_test): Remove base64 tests and add test case for
   8517 	invalid hex.
   8518 
   8519 	* dbus/dbus-keyring.c, dbus/dbus-auth-script.c, dbus/dbus-auth.c:
   8520 	Replace base64 with hex.
   8521 
   8522 	* test/data/auth/invalid-hex-encoding.auth-script: New test case
   8523 	for invalid hex encoded data in auth protocol.
   8524 
   8525 2004-05-17  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8526 
   8527 	* dbus/dbus-connection.c (check_for_reply_unlocked): plug a memory
   8528 	leak.
   8529 
   8530 2004-05-15  Owen Fraser-Green  <owen (a] discobabe.net>
   8531 
   8532 	* mono/dbus-sharp.dll.config.in: Added for GAC
   8533 	* mono/dbus-sharp.snk: Added for GAC
   8534 	* mono/Assembly.cs.in: Added for GAC
   8535 	* mono/Makefile.am: Changes for GAC installation	
   8536 	* configure.in: Added refs for dbus-sharp.dll.config.in and
   8537 	Assembly.cs.in. More fixes for mono testing
   8538 	* mono/example/Makefile.am: Changed var to CSC
   8539 	* Makefile.am: Changed flag name to DBUS_USE_CSC
   8540 
   8541 2004-05-15  Owen Fraser-Green  <owen (a] discobabe.net>
   8542 
   8543 	* mono/Makefile.am: Added SUBDIRS for docs. Changed SUBDIRS order
   8544 	* mono/doc/*: Added documentation framework
   8545 	* configure.in: Added monodoc check
   8546 	* README: Added description of mono configure flags
   8547 
   8548 2004-05-11  John (J5) Palmieri  <johnp (a] redhat.com>:
   8549 
   8550 	* doc/dbus-specification.xml: Added a "Required" column to the 
   8551 	header fields table and changed the "zero or more" verbage in
   8552 	the above paragraph to read "The header must contain the required 
   8553 	named header fields and zero or more of the optional named header 
   8554 	fields".
   8555 	* test/data/invalid-messages/*.message: Added the required PATH 
   8556 	named header field to the tests so that they don't fail on 
   8557 	'Missing path field'
   8558 
   8559 2004-05-07  John (J5) Palmieri  <johnp (a] redhat.com>
   8560 
   8561 	* python/dbus-bindings.pyx.in: Stopped the bindings from trashing
   8562 	the stack by implicitly defining variable and parameter types and
   8563 	removing the hack of defining C pointers as python objects and later
   8564 	casting them.
   8565 
   8566 2004-05-02  Owen Fraser-Green  <owen (a] discobabe.net>
   8567 
   8568 	* mono/Makefile.am: Removed test-dbus-sharp.exe from all target
   8569 
   8570 2004-05-01  Owen Fraser-Green  <owen (a] discobabe.net>
   8571 
   8572 	* mono/DBusType/Dict.cs: Handle empty dicts
   8573 	* mono/DBusType/Array.cs: Handle empty arrays
   8574 	* mono/Arguments.cs: Handle empty arguments
   8575 
   8576 2004-04-30  Owen Fraser-Green  <owen (a] discobabe.net>
   8577 
   8578 	* dbus-sharp.pc.in: Modified to include include Libs and Requires
   8579 	field
   8580 
   8581 2004-04-25  Kristian Hgsberg  <krh (a] redhat.com>
   8582 
   8583 	* test/data/valid-messages/standard-*.message: Update message
   8584 	test scripts to new header field names.
   8585 
   8586 2004-04-22  John (J5) Palmieri  <johnp (a] redhat.com>
   8587 
   8588 	* test/break-loader.c (randomly_do_n_things): tracked down buffer
   8589 	overflow to times_we_did_each_thing array which would chop off the
   8590 	first character of the failure_dir string. Increased the size of
   8591 	the array to 7 to reflect the number of random mutation functions
   8592 	we have.
   8593 
   8594 2004-04-21  Kristian Hgsberg  <krh (a] redhat.com>
   8595 
   8596 	* dbus/dbus-server-unix.c (unix_finalize): Don't unref
   8597 	unix_server->watch here, it is unreffed in disconnect.
   8598 	(_dbus_server_new_for_tcp_socket): convert NULL host to
   8599 	"localhost" here so we don't append NULL to address.
   8600 	
   8601 	* dbus/dbus-server.c (_dbus_server_test): Add test case for
   8602 	various addresses, including tcp with no explicit host.
   8603 
   8604 2004-04-21  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8605 
   8606 	* dbus/dbus-message.c (decode_header_data, decode_string_field):
   8607 	fix incorrect setting of .name_offset in the HeaderField (it was
   8608 	off by two bytes, positioned right after the name and typecode)
   8609 
   8610 	* bus/bus.c (bus_context_new, bus_context_unref): test before
   8611 	calling dbus_server_free_data_slot and _dbus_user_database_unref
   8612 	in case of an error.
   8613 
   8614 	* tools/Makefile.am: add $(DBUS_GLIB_TOOL_LIBS), xml libs needed
   8615 	by libdbus-gtool.
   8616 
   8617 2004-04-19  Kristian Hgsberg  <krh (a] redhat.com>
   8618 
   8619 	* dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use
   8620 	_dbus_poll() instead of select().
   8621 
   8622 2004-04-15  Jon Trowbridge  <trow (a] ximian.com>
   8623 
   8624 	* bus/main.c (signal_handler): Reload the configuration files
   8625 	on SIGHUP.
   8626 	(main): Set up our SIGHUP handler.
   8627 
   8628 	* bus/bus.c (struct BusContext): Store the config file, user and
   8629 	fork flag in the BusContext.
   8630 	(process_config_first_time_only): Added.  Contains the code
   8631 	(previously in bus_context_new) for setting up the BusContext from
   8632 	the BusConfigParser that should only be run the first time the
   8633 	config files are read.
   8634 	(process_config_every_time): Added.  Contains the code (previously
   8635 	in bus_context_new) for setting up the BusContext from the
   8636 	BusConfigParser that should be run every time the config files are
   8637 	read.
   8638 	(load_config): Added.  Builds a BusConfigParser from the config
   8639 	files and passes the resulting structure off to
   8640 	process_config_first_time_only (assuming this is the first time)
   8641 	and process_config_every_time.
   8642 	(bus_context_new): All of the config-related code has been moved
   8643 	to process_config_first_time_only and process_config_every_time.
   8644 	Now this function just does the non-config-related initializations
   8645 	and calls load_config.
   8646 	(bus_context_reload_config): Added.
   8647 
   8648 2004-04-15  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8649 
   8650 	* bus/driver.c (bus_driver_handle_get_service_owner):
   8651 	implement a GetServiceOwner method.
   8652 	* doc/dbus-specification.xml: document it.
   8653 	* dbus/dbus-errors.h: add a 'ServiceHasNoOwner' error.
   8654 	
   8655 	* glib/dbus-gproxy.c (dbus_gproxy_new_for_service_owner):
   8656 	implement, using the bus GetServiceOwner method.
   8657 
   8658 	* test/glib/test-dbus-glib.c:
   8659 	use dbus_gproxy_new_for_service_owner so that we can receive the
   8660 	signal. 
   8661 
   8662 2004-04-15  John (J5) Palmieri  <johnp (a] redhat.com>
   8663 
   8664 	* dbus/dbus-internals.c, dbus/dbus-message-builder.c,
   8665 	dbus/dbus-message.c, dbus/dbus-protocol.h
   8666 	(DBUS_HEADER_FIELD_SERVICE): renamed DBUS_HEADER_FIELD_DESTINATION
   8667 
   8668 	* dbus/dbus-internals.c, dbus/dbus-message-builder.c,
   8669 	dbus/dbus-message.c, dbus/dbus-protocol.h
   8670 	(DBUS_HEADER_FIELD_SENDER_SERVICE): renamed DBUS_HEADER_FIELD_SENDER
   8671 
   8672 	* dbus/dbus-internals.c (_dbus_header_field_to_string):
   8673 	DBUS_HEADER_FIELD_DESTINATION resolves to "destination"
   8674 	DBUS_HEADER_FIELD_SENDER resolves to "sender"
   8675 
   8676 	* doc/dbus-specification.xml (Header Fields Table):
   8677 	s/SERVICE/DESTINATION
   8678 	s/SENDER_SERVICE/SENDER
   8679 
   8680 
   8681 2004-04-14  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8682 
   8683 	* test/glib/test-dbus-glib.c (timed_exit): fail the test after
   8684 	a few seconds.
   8685 
   8686 2004-04-13  Michael Meeks  <michael (a] ximian.com>
   8687 
   8688 	* glib/dbus-gobject.c (handle_introspect): split out
   8689 	(introspect_properties): this.
   8690 	(handle_introspect): implement this.
   8691 
   8692 	* test/glib/Makefile.am: use the absolute path so the bus
   8693 	daemon's chdir ("/") doesn't kill us dead.
   8694 
   8695 	* configure.in: subst ABSOLUTE_TOP_BUILDDIR
   8696 
   8697 2004-04-12  Jon Trowbridge  <trow (a] ximian.com>
   8698 
   8699 	* bus/config-parser.c (struct BusConfigParser): Added
   8700 	included_files field.
   8701 	(seen_include): Added.  Checks whether or not a file has already
   8702 	been included by any parent BusConfigParser.
   8703 	(bus_config_parser_new): Copy the parent's included_files.
   8704 	(include_file): Track which files have been included, and fail on
   8705 	circular inclusions.
   8706 	(process_test_valid_subdir): Changed printf to report if we are
   8707 	testing valid or invalid conf files.
   8708 	(all_are_equiv): Changed printf to be a bit clearer about
   8709 	what we are actually doing.
   8710 	(bus_config_parser_test): Test invalid configuration files.
   8711 
   8712 2004-04-09  Jon Trowbridge  <trow (a] ximian.com>
   8713 
   8714 	* bus/config-parser.c (bus_config_parser_new): Added a 'parent'
   8715 	argument.  If non-null, the newly-constructed BusConfigParser will
   8716 	be initialized with the parent's BusLimits instead of the default
   8717 	values.
   8718 	(include_file): When including a config file, pass in
   8719 	the current parser as the parent and then copy the BusLimits
   8720 	from the included BusConfigParser pack to the current parser.
   8721 	(process_test_valid_subdir): Renamed from process_test_subdir.
   8722 	(process_test_equiv_subdir): Added.  Walks through a directory,
   8723 	descending into each subdirectory and loading the config files
   8724 	it finds there.  If any subdirectory contains two config files
   8725 	that don't produce identical BusConfigParser structs, fail.
   8726 	For now, the BusConfigParser's BusPolicies are not compared.
   8727 	(bus_config_parser_test): Call both process_test_valid_subdir and
   8728 	process_test_equiv_subdir.
   8729 
   8730 	* bus/config-loader-libxml.c (bus_config_load): Take a parent
   8731 	argument and pass it along to the call to bus_config_parser_new.
   8732 	Also made a few small changes to allow this code to compile.
   8733 
   8734 	* bus/config-loader-expat.c (bus_config_load): Take a parent
   8735 	argument and pass it along to the call to bus_config_parser_new.
   8736 
   8737 	* bus/bus.c (bus_context_new): Load the config file
   8738 	with a NULL parent argument.
   8739 
   8740 2004-03-29  Michael Meeks  <michael (a] ximian.com>
   8741 
   8742 	* glib/dbus-gobject.c (introspect_properties): split
   8743 	out, fix mangled 'while' flow control.
   8744 	(introspect_signals): implement.
   8745 	(handle_introspect): update.
   8746 
   8747 2004-03-29  Michael Meeks  <michael (a] ximian.com>
   8748 
   8749 	* glib/dbus-gobject.c (set_object_property): split out / 
   8750 	re-work, use the property type, and not the message type(!)
   8751 	(get_object_property): ditto.
   8752 
   8753         * glib/dbus-gvalue.c (dbus_gvalue_demarshal),
   8754 	(dbus_gvalue_marshal): make this code re-usable, needed
   8755 	for signals too, also on both proxy and server side.
   8756 	Re-write for more efficiency / readability.
   8757 
   8758 2004-03-29  Michael Meeks  <michael (a] ximian.com>
   8759 
   8760 	* dbus/dbus-message.c
   8761 	(dbus_message_new_error_printf): impl.
   8762 
   8763 	* dbus/dbus-connection.c
   8764 	(dbus_connection_unregister_object_path): fix warning.
   8765 
   8766 	* configure.in: fix no-mono-installed situation.
   8767 
   8768 2004-03-27  Havoc Pennington  <hp (a] redhat.com>
   8769 
   8770 	Patch from Timo Ters:
   8771 	
   8772 	* tools/dbus-send.c (main): if --print-reply, assume type is
   8773 	method call; support boolean type args
   8774 	
   8775 	* dbus/dbus-connection.c (dbus_connection_send_with_reply): fix a
   8776 	bunch of memleak and logic bugs
   8777 	
   8778 2004-03-23  Owen Fraser-Green  <owen (a] discobabe.net>
   8779 
   8780         * mono/Arguments.cs:
   8781 	* mono/Introspector.cs:
   8782 	* mono/Handler.cs:
   8783 	* mono/InterfaceProxy.cs:
   8784 	* mono/Message.cs
   8785 	* mono/ProxyBuilder.cs:
   8786 	* mono/Service.cs:
   8787 	Added InterfaceProxy class to avoid building proxies for every
   8788 	object.
   8789 
   8790 	* dbus-message.h:
   8791 	* dbus-message.c (dbus_message_append_args_valist)
   8792 	(dbus_message_iter_get_object_path)
   8793 	(dbus_message_iter_get_object_path_array)
   8794 	(dbus_message_iter_append_object_path)
   8795 	(dbus_message_iter_append_object_path_array):
   8796 	Added object_path iter functions to handle OBJECT_PATH arguments
   8797 	
   8798 2004-03-23  Owen Fraser-Green  <owen (a] discobabe.net>
   8799 
   8800 	First checkin of mono bindings.
   8801 	* configure.in:
   8802 	* Makefile.am:
   8803 	Build stuff for the bindings
   8804 	* dbus-sharp.pc.in: Added for pkgconfig
   8805 	
   8806 2004-03-21  Havoc Pennington  <hp (a] redhat.com>
   8807 
   8808 	* test/test-service.c (main): remove debug spew
   8809 
   8810 2004-03-21  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8811 
   8812 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): accept empty
   8813 	arrays
   8814 
   8815 	* dbus/dbus-message.h, bus/dbus-message.c (dbus_message_iter_init)
   8816 	(dbus_message_iter_init_array_iterator)
   8817 	(dbus_message_iter_init_dict_iterator): return a dbus_bool_t to
   8818 	indicate whether the iterator is empty
   8819 
   8820 	* dbus/dbus-pending-call.c, dbus/dbus-server.c: silence compiler
   8821 	warnings
   8822 
   8823 2004-03-19  Havoc Pennington  <hp (a] redhat.com>
   8824 
   8825 	* NEWS: 0.21 updates
   8826 
   8827 	* configure.in: 0.21
   8828 
   8829 	* doc/Makefile.am: add all XMLTO usage to DBUS_XML_DOCS_ENABLED
   8830 	
   8831 	* python/Makefile.am: change to avoid dist of dbus_bindings.c so
   8832 	you don't need pyrex to make dist
   8833 
   8834 	* qt/Makefile.am (libdbus_qt_1_la_SOURCES): add integrator.h to
   8835 	sources; run moc
   8836 	
   8837 2004-03-18  Richard Hult  <richard (a] imendio.com>
   8838 
   8839 	* dbus/dbus-message.c (dbus_message_get_auto_activation) 
   8840 	(dbus_message_set_auto_activation): Add doxygen docs.
   8841 
   8842 2004-03-16  Richard Hult  <richard (a] imendio.com>
   8843 
   8844 	* bus/activation.c: (bus_activation_service_created),
   8845 	(bus_activation_send_pending_auto_activation_messages),
   8846 	(bus_activation_activate_service):
   8847 	* bus/activation.h:
   8848 	* bus/dispatch.c: (bus_dispatch),
   8849 	(check_nonexistent_service_auto_activation),
   8850 	(check_service_auto_activated),
   8851 	(check_segfault_service_auto_activation),
   8852 	(check_existent_service_auto_activation), (bus_dispatch_test):
   8853 	* bus/driver.c: (bus_driver_handle_activate_service):
   8854 	* bus/services.c: (bus_registry_acquire_service):
   8855 	* dbus/dbus-message.c: (dbus_message_set_auto_activation),
   8856 	(dbus_message_get_auto_activation):
   8857 	* dbus/dbus-message.h:
   8858 	* dbus/dbus-protocol.h: Implement auto-activation.
   8859 	
   8860 	* doc/dbus-specification.xml: Add auto-activation to the spec.
   8861 
   8862 2004-03-12  Olivier Andrieu  <oliv__a (a] users.sourceforge.net>
   8863 
   8864 	* dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos):
   8865 	fix a bug with CUSTOM types.
   8866 
   8867 	* dbus/dbus-message.c (message_iter_test, _dbus_message_test): add
   8868 	a unit test for this bug (used to fail).
   8869 
   8870 2004-03-12  Mikael Hallendal  <micke (a] imendio.com>
   8871 
   8872 	* bus/activation.c:
   8873 	(babysitter_watch_callback): notify all pending activations waiting for
   8874 	  the same exec that the activation failed.
   8875 	(bus_activation_activate_service): shortcut the activation if we 
   8876 	  already waiting for the same executable to start up.
   8877 
   8878 2004-03-12  Mikael Hallendal  <micke (a] imendio.com>
   8879 
   8880 	* bus/activation.c: 
   8881 	- Added service file reloading. 
   8882 	  Each service files directory is kept in an hash table in 
   8883 	  BusActivation and each BusActivationEntry knows what .service-file it
   8884 	  was read from. So when you try to activate a service the bus will 
   8885 	  check if it's been updated, removed or if new .service-files has 
   8886 	  been installed.
   8887 	- Test code at the bottom for the service file reloading.
   8888 	* bus/test-main.c: (main):
   8889 	* bus/test.h:
   8890 	- added service reloading test.
   8891 	* dbus/dbus-sysdeps.c: 
   8892 	* dbus/dbus-sysdeps.h: (_dbus_delete_directory): Added.
   8893 
   8894 2004-03-08  Michael Meeks  <michael (a] ximian.com>
   8895 
   8896 	* dbus/dbus-connection.c (_dbus_connection_block_for_reply): 
   8897 	bail immediately if disconnected, to avoid busy loop.
   8898 
   8899 	* dbus/dbus-message.c (dbus_message_iter_get_args_valist):
   8900 	cleanup cut/paste/inefficiency.
   8901 
   8902 2004-03-01  David Zeuthen  <david (a] fubar.dk>
   8903 
   8904 	* dbus/dbus-string.c (_dbus_string_append_printf_valist): Fix a
   8905 	bug where args were used twice. This bug resulted in a segfault
   8906 	on a Debian/PPC system when starting the messagebus daemon. Include
   8907 	dbus-sysdeps.h for DBUS_VA_COPY
   8908 
   8909 	* dbus/dbus-sysdeps.h: Define DBUS_VA_COPY if neccessary. From GLib
   8910 
   8911 	* configure.in: Check for va_copy; define DBUS_VA_COPY to the
   8912 	appropriate va_copy implementation. From GLib
   8913  	
   8914 2004-02-24  Joe Shaw  <joe (a] ximian.com>
   8915 
   8916 	* bus/services.c (bus_registry_acquire_service): We need to pass
   8917 	in the service name to dbus_set_error() to prevent a crash.
   8918 
   8919 2003-12-26  Anders Carlsson  <andersca (a] gnome.org>
   8920 
   8921 	* AUTHORS: Reveal my True identity.
   8922 
   8923 2003-12-17  Mikael Hallendal  <micke (a] imendio.com>
   8924 
   8925 	* dbus/dbus-message.c: (dbus_message_append_args_valist): 
   8926 	- Added case for DBUS_TYPE_BYTE, patch from Johan Hedberg.
   8927 
   8928 2003-12-13  Mikael Hallendal  <micke (a] imendio.com>
   8929 
   8930 	* doc/TODO: Added not about better error check of configuration files.
   8931 
   8932 2003-12-02  Richard Hult  <richard (a] imendio.com>
   8933 
   8934 	* Update AFL version to 2.0 throughout the source files to reflect
   8935 	the update that was done a while ago.
   8936 
   8937 2003-12-02  Richard Hult  <richard (a] imendio.com>
   8938 
   8939 	* dbus/dbus-message.c (dbus_message_iter_append_dict): Set
   8940 	wrote_dict_key to FALSE on the iter that the dict is appended to,
   8941 	just like when appending other types. Fixes a bug where a dict
   8942 	couldn't be put inside a dict.
   8943 	(dbus_message_iter_append_dict_key): Fix typo in warning message.
   8944 	(message_iter_test, _dbus_message_test): Add test case for dict
   8945 	inside dict.
   8946 
   8947 2003-12-01  David Zeuthen  <david (a] fubar.dk>
   8948 
   8949 	* python/dbus.py: Add the actual message when calling the reciever
   8950 	of a signal such that parameters can be inspected. Add the method
   8951 	remove_signal_receiver
   8952 	
   8953 2003-11-26  Mikael Hallendal  <micke (a] imendio.com>
   8954 
   8955 	* bus/*.[ch]:
   8956 	* dbus/*.[ch]:
   8957 	* glib/*.[ch]: Made ref functions return the pointer
   8958 
   8959 2003-11-25  Zack Rusin  <zack (a] kde.org>
   8960 
   8961 	* qt/integrator.h, qt/integrator.cpp: Adding handling of DBusServer,
   8962 
   8963 	* qt/server.h, qt/server.cpp, qt/Makefile.am: Adding DBusServer 
   8964 	wrappers,
   8965 
   8966 	* qt/connection.h, qt/connection.cpp: Adjusting to changes in 
   8967 	the Integrator and to better fit with the server,
   8968 
   8969 2003-11-24  Zack Rusin  <zack (a] kde.org>
   8970 
   8971 	* qt/connection.h, qt/connection.cpp: removing initDbus method since
   8972 	the integrator handles it now
   8973 
   8974 	* qt/integrator.h, qt/integrator.cpp: reworking handling of timeouts,
   8975 	since QTimer wasn't really meant to be used the way DBusTimeout is
   8976 
   8977 2003-11-24  Zack Rusin  <zack (a] kde.org>
   8978 
   8979 	* qt/integrator.h, qt/integrator.cpp, Makefile.am: Adding 
   8980 	Integrator class which integrates D-BUS with the Qt event loop,
   8981 
   8982 	* qt/connection.h, qt/connection.cpp: Move all the code which
   8983 	was dealing with D-BUS integration to the Integrator class,
   8984 	and start using Integrator,
   8985 
   8986 2003-11-23  Zack Rusin  <zack (a] kde.org>
   8987 
   8988 	* qt/connection.h, qt/connection.cpp: Adding the DBusConnection 
   8989 	wrapper
   8990 
   8991 	* qt/message.h, qt/message.cpp: updating to the current D-BUS api,
   8992 	switching namespaces to DBusQt, reworking the class,
   8993 
   8994 	* Makefile.cvs: switching dependencies so that it matches KDE 
   8995 	schematics,
   8996 	
   8997 	* qt/Makefile.am: adding connection.{h,cpp} and message.{h,cpp} to 
   8998 	the library
   8999 
   9000 2003-11-19  Havoc Pennington  <hp (a] redhat.com>
   9001 
   9002 	* NEWS: update
   9003 
   9004         * configure.in: bump version to 0.20
   9005 
   9006 	* configure.in (have_qt): add yet another place to look for qt
   9007 	(someone hand trolltech a .pc file...)
   9008 
   9009 2003-11-01  Havoc Pennington  <hp (a] redhat.com>
   9010 
   9011 	* doc/dbus-specification.xml: add state machine docs on the auth
   9012 	protocol; just a first draft, I'm sure it's wrong.	
   9013 
   9014 2003-10-28  David Zeuthen  <david (a] fubar.dk>
   9015 
   9016 	* python/dbus_bindings.pyx.in: add get_dict to handle dictionaries
   9017 	return types. Fixup TYPE_* to reflect changes in dbus/dbus-protocol.h
   9018 	
   9019 2003-10-28  Havoc Pennington  <hp (a] redhat.com>
   9020 
   9021 	* dbus/dbus-message.c (get_next_field): delete unused function
   9022 
   9023 2003-10-28  Havoc Pennington  <hp (a] redhat.com>
   9024 
   9025 	* bus/expirelist.c (do_expiration_with_current_time): detect
   9026 	failure of the expire_func due to OOM
   9027 
   9028 	* bus/connection.c (bus_pending_reply_expired): return FALSE on OOM
   9029 
   9030 	* bus/dispatch.c (check_send_exit_to_service): fix to handle the
   9031 	NoReply error that's now created by the bus when the service exits
   9032 
   9033 2003-10-28  Havoc Pennington  <hp (a] redhat.com>
   9034 
   9035 	* dbus/dbus-message.c (_dbus_message_test): enable and fix the
   9036 	tests for set_path, set_interface, set_member, etc.
   9037 
   9038 	* dbus/dbus-string.c (_dbus_string_insert_bytes): allow 0 bytes
   9039 
   9040 	* dbus/dbus-message.c (set_string_field): always just delete and
   9041 	re-append the field; accept NULL for deletion
   9042 	(re_align_fields_recurse): reimplement
   9043 	
   9044 2003-10-26  Havoc Pennington  <hp (a] redhat.com>
   9045 
   9046 	* dbus/dbus-connection.c: fix docs to properly describe the
   9047 	disconnected message
   9048 	(_dbus_connection_notify_disconnected): remove this function; 
   9049 	we can't synchronously add the disconnected message, we have to 
   9050 	do it after we've queued any remaining real messages
   9051 	(_dbus_connection_get_dispatch_status_unlocked): queue the
   9052 	disconnect message only if the transport has finished queueing all
   9053 	its real messages and is disconnected.
   9054 	(dbus_connection_disconnect): update the dispatch status here
   9055 
   9056 2003-10-22  Havoc Pennington  <hp (a] redhat.com>
   9057 
   9058 	* bus/bus.c (bus_context_check_security_policy): fix up assertion
   9059 
   9060 	* bus/connection.c (bus_transaction_send_from_driver): set the
   9061 	destination to the connection's base service
   9062 
   9063 2003-10-20  Havoc Pennington  <hp (a] redhat.com>
   9064 
   9065         hmm, make check is currently not passing.
   9066 	
   9067 	* doc/dbus-specification.xml: add requirement that custom type
   9068 	names follow the same rules as interface names.
   9069 
   9070 	* dbus/dbus-protocol.h: change some of the byte codes, to avoid
   9071 	duplication and allow 'c' to be 'custom'; dict is now 'm' for
   9072 	'map'
   9073 
   9074 	* doc/dbus-specification.xml: update type codes to match
   9075 	dbus-protocol.h, using the ASCII byte values. Rename type NAMED to
   9076 	CUSTOM. Add type OBJECT_PATH to the spec.
   9077 
   9078 2003-10-17  Havoc Pennington  <hp (a] redhat.com>
   9079 
   9080 	* bus/driver.c (create_unique_client_name): use "." as separator
   9081 	in base service names instead of '-'
   9082 
   9083 	* dbus/dbus-string.c (_dbus_string_get_byte): allow getting nul
   9084 	byte at the end of the string
   9085 
   9086 	* dbus/dbus-internals.h (_DBUS_LIKELY, _DBUS_UNLIKELY): add
   9087 	optimization macros since string validation seems to be a slow
   9088 	point.
   9089 	
   9090 	* doc/dbus-specification.xml: restrict valid
   9091 	service/interface/member/error names. Add test suite code for the
   9092 	name validation.
   9093 
   9094 	* dbus/dbus-string.c: limit service/interface/member/error names 
   9095 	to [0-9][A-Z][a-z]_
   9096 
   9097 	* dbus/dbus-connection.c (dbus_connection_dispatch): add missing
   9098 	format arg to verbose spew
   9099 
   9100 	* glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): if not out of
   9101 	memory, return instead of g_error
   9102 
   9103 	* test/test-service.c (path_message_func): support emitting a
   9104 	signal on request
   9105 
   9106 	* dbus/dbus-bus.c (init_connections_unlocked): only fill in
   9107 	activation bus type if DBUS_BUS_ACTIVATION was set; default to
   9108 	assuming the activation bus was the session bus so that services
   9109 	started manually will still register.
   9110 	(init_connections_unlocked): fix so that in OOM situation we get
   9111 	the same semantics when retrying the function
   9112 	
   9113 	* test/test-service.c (main): change to use path registration, to
   9114 	test those codepaths; register with DBUS_BUS_ACTIVATION rather
   9115 	than DBUS_BUS_SESSION
   9116 
   9117 2003-10-16  Havoc Pennington  <hp (a] redhat.com>
   9118 
   9119 	* glib/dbus-gtest-main.c: bracket with #ifdef DBUS_BUILD_TESTS
   9120 
   9121 	* Makefile.am (GCOV_DIRS): remove "test", we don't care about test
   9122 	coverage of the tests
   9123 	(coverage-report.txt): don't move the .da and .bbg files around
   9124 
   9125 2003-10-16  Havoc Pennington  <hp (a] redhat.com>
   9126 
   9127 	* bus/bus.c (struct BusContext): remove struct field I didn't mean
   9128 	to put there
   9129 
   9130 2003-10-16  Havoc Pennington  <hp (a] redhat.com>
   9131 
   9132 	* bus/connection.c (bus_pending_reply_expired): either cancel or
   9133 	execute, not both
   9134 	(bus_connections_check_reply): use unlink, not remove_link, as we
   9135 	don't want to free the link; fixes double free mess
   9136 
   9137 	* dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case
   9138 	where no reply was received
   9139 
   9140 	* dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock):
   9141 	fix a refcount leak
   9142 
   9143 	* bus/signals.c (match_rule_matches): add special cases for the
   9144 	bus driver, so you can match on sender/destination for it.
   9145 
   9146 	* dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if
   9147 	DBUS_PRINT_BACKTRACE is set
   9148 
   9149 	* dbus/dbus-internals.c: add pid to assertion failure messages
   9150 
   9151 	* dbus/dbus-connection.c: add message type code to the debug spew
   9152 
   9153 	* glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want
   9154 	sender=foo not service=foo
   9155 
   9156 	* dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the
   9157 	session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use 
   9158 	DBUS_ACTIVATION_ADDRESS instead
   9159 
   9160 	* bus/activation.c: set DBUS_SESSION_BUS_ADDRESS,
   9161 	DBUS_SYSTEM_BUS_ADDRESS if appropriate
   9162 
   9163 	* bus/bus.c (bus_context_new): handle OOM copying bus type into
   9164 	context struct
   9165 
   9166 	* dbus/dbus-message.c (dbus_message_iter_get_object_path): new function
   9167 	(dbus_message_iter_get_object_path_array): new function (half
   9168 	finished, disabled for the moment)
   9169 	
   9170 	* glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle
   9171 	DBUS_MESSAGE_TYPE_ERROR
   9172 
   9173 	* tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to
   9174 	avoid redirecting stderr to /dev/null
   9175 	(babysit): close stdin if not doing the "exit_with_session" thing
   9176 
   9177 	* dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover
   9178 	debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not
   9179 	stdout/stdin, so things don't get confused
   9180 	
   9181 	* bus/system.conf.in: fix to allow replies, I modified .conf
   9182 	instead of .conf.in again.
   9183 
   9184 2003-10-14  David Zeuthen  <david (a] fubar.dk>
   9185 
   9186 	* python/dbus_bindings.pyx.in (MessageIter.get): fixed typo in
   9187 	argtype to arg_type when raising unknown arg type exception.
   9188 	Changed type list to reflect the changes in dbus-protocol.h so 
   9189 	the bindings actually work.
   9190 
   9191 2003-10-14  Havoc Pennington  <hp (a] redhat.com>
   9192 
   9193 	* test/decode-gcov.c: support gcc 3.3 also, though gcc 3.3 seems
   9194 	to have a bug keeping it from outputting the .da files sometimes
   9195 	(string_get_string): don't append garbage nul bytes to the string.
   9196 
   9197 2003-10-15  Seth Nickell  <seth (a] gnome.org>
   9198 
   9199 	* python/Makefile.am:
   9200 
   9201 	Include dbus_h_wrapper.h in the dist tarball.
   9202 
   9203 2003-10-14  Havoc Pennington  <hp (a] redhat.com>
   9204 
   9205 	* bus/bus.c (bus_context_check_security_policy): revamp this to
   9206 	work more sanely with new policy-based requested reply setup
   9207 
   9208 	* bus/connection.c (bus_transaction_send_from_driver): set bus
   9209 	driver messages as no reply
   9210 
   9211 	* bus/policy.c (bus_client_policy_check_can_receive): handle a
   9212 	requested_reply attribute on allow/deny rules
   9213 
   9214 	* bus/system.conf: add <allow requested_reply="true"/>
   9215 
   9216 	* bus/driver.c (bus_driver_handle_message): fix check for replies
   9217 	sent to the bus driver, which was backward. How did this ever work
   9218 	at all though? I think I'm missing something.
   9219 
   9220 	* dbus/dbus-message.c (decode_header_data): require error and
   9221 	method return messages to have a reply serial field to be valid
   9222 	(_dbus_message_loader_queue_messages): break up this function;
   9223 	validate that reply serial and plain serial are nonzero; 
   9224 	clean up the OOM/error handling.
   9225 	(get_uint_field): don't return -1 from this
   9226 	(dbus_message_create_header): fix signed/unsigned bug
   9227 
   9228 	* bus/connection.c (bus_connections_expect_reply): save serial of
   9229 	the incoming message, not reply serial
   9230 
   9231 2003-10-14  Havoc Pennington  <hp (a] redhat.com>
   9232 
   9233 	* bus/connection.c: implement pending reply tracking using
   9234 	BusExpireList
   9235 
   9236 	* bus/bus.c (bus_context_check_security_policy): verify that a
   9237 	reply is pending in order to allow a reply to be sent. Deny 
   9238 	messages of unknown type.
   9239 
   9240 	* bus/dbus-daemon-1.1.in: update to mention new resource limits
   9241 
   9242 	* bus/bus.c (bus_context_get_max_replies_per_connection): new
   9243 	(bus_context_get_reply_timeout): new
   9244 
   9245 2003-10-13  Seth Nickell  <seth (a] gnome.org>
   9246 
   9247 	* python/Makefile.am:
   9248 
   9249 	Pass "make distcheck": remove a couple files from DIST_FILES
   9250 	that weren't included in the final version.
   9251 
   9252 2003-10-12  Havoc Pennington  <hp (a] pobox.com>
   9253 
   9254         Added test code that 1) starts an actual bus daemon and 2) uses
   9255 	DBusGProxy; fixed bugs that were revealed by the test. Lots 
   9256 	more testing possible, but this is the basic framework.
   9257 	
   9258 	* glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove
   9259 	empty proxy lists from the proxy list hash
   9260 
   9261 	* dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a
   9262 	couple of return_if_fail checks
   9263 
   9264 	* dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0
   9265 	to allocate, so everything is cleared to NULL as it should be.
   9266 
   9267 	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass
   9268 	source as data to dbus_connection_set_timeout_functions() as the 
   9269 	timeout functions expected
   9270 
   9271 	* test/glib/run-test.sh: add a little script to start up a message
   9272 	bus and run tests using it
   9273 
   9274 	* tools/dbus-launch.1: updates
   9275 
   9276 	* tools/dbus-launch.c (main): add --config-file option
   9277 
   9278 	* tools/dbus-launch.c (main): remove confusing else if (runprog)
   9279 	that could never be reached.
   9280 
   9281 	* dbus/dbus-message.c (dbus_message_new_method_return) 
   9282 	(dbus_message_new_error, dbus_message_new_signal): set the
   9283 	no-reply-expected flag on all these. Redundant, but may
   9284 	as well be consistent.
   9285 
   9286 2003-10-11  Havoc Pennington  <hp (a] pobox.com>
   9287 
   9288 	* test/decode-gcov.c (function_solve_graph): make broken block
   9289 	graph a nonfatal error since it seems to be broken. Need to debug
   9290 	this.
   9291 
   9292 	* dbus/dbus-marshal.c (_dbus_type_is_valid): new function since we
   9293 	can't just check type > INVALID < LAST anymore
   9294 
   9295 	* dbus/dbus-message.c (dbus_message_get_signature): new function
   9296 	(dbus_message_has_signature): new function
   9297 	(struct DBusMessage): add signature field (right now it isn't sent
   9298 	over the wire, just generated on the fly)
   9299 	(dbus_message_copy): copy the signature, and init strings to
   9300 	proper length to avoid some reallocs
   9301 	(dbus_message_iter_init_array_iterator): return void, since it
   9302 	can't fail
   9303 	(dbus_message_iter_init_dict_iterator): return void since it can't fail
   9304 	(_dbus_message_loader_queue_messages): add silly temporary hack to
   9305 	fill in message->signature on load
   9306 
   9307 	* dbus/dbus-protocol.h: change DBUS_TYPE_* values to be ASCII
   9308 	characters, so they are relatively human-readable.
   9309 
   9310 2003-10-11  Havoc Pennington  <hp (a] pobox.com>
   9311 
   9312 	* dbus/dbus-message.c (_dbus_message_test): add more test
   9313 	coverage, but #if 0 for now since they uncover a bug 
   9314 	not fixed yet; I think in re_align_field_recurse()
   9315 	(re_align_field_recurse): add FIXME about broken assertion
   9316 
   9317 	* dbus/dbus-sysdeps.c (_dbus_sysdeps_test): add more test coverage
   9318 
   9319 	* bus/connection.c: share a couple code bits with expirelist.c
   9320 
   9321 	* bus/expirelist.h, bus/expirelist.c: implement a generic
   9322 	expire-items-after-N-seconds facility, was going to share between
   9323 	expiring connections and replies, decided not to use for expiring
   9324 	connections for now.
   9325 
   9326 	* COPYING: include AFL 2.0 (still need to change all the file headers)
   9327 
   9328 2003-10-09  Havoc Pennington  <hp (a] redhat.com>
   9329 
   9330 	* configure.in: define DBUS_HAVE_GCC33_GCOV if we have
   9331 	gcc 3.3. Not that we do anything about it yet.
   9332 
   9333 	* bus/signals.c (bus_match_rule_parse): impose max length on the
   9334 	match rule text
   9335 
   9336 	* dbus/dbus-protocol.h: add DBUS_MAXIMUM_MATCH_RULE_LENGTH
   9337 
   9338 2003-10-09  Havoc Pennington  <hp (a] redhat.com>
   9339 
   9340         Make matching rules theoretically work (add parser).
   9341 	
   9342 	* bus/bus.c (bus_context_check_security_policy): fix up to handle
   9343 	the case where destination is explicitly specified as bus driver
   9344 	and someone else is eavesdropping.
   9345 	
   9346 	* bus/policy.c (bus_client_policy_check_can_receive): fix up
   9347 	definition of eavesdropping and assertion
   9348 
   9349 	* tools/dbus-send.c (main): use dbus_message_type_from_string
   9350 
   9351 	* bus/signals.c (bus_match_rule_parse): implement
   9352 
   9353 	* dbus/dbus-message.c (dbus_message_type_from_string): new
   9354 
   9355 	* dbus/dbus-errors.h (DBUS_ERROR_MATCH_RULE_INVALID): add
   9356 
   9357 2003-10-02  Havoc Pennington  <hp (a] pobox.com>
   9358 
   9359 	* glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): rename from
   9360 	dbus_gproxy_oneway_call
   9361 
   9362 	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main) 
   9363 	(dbus_server_setup_with_g_main): fix to allow calling them more
   9364 	than once on the same args
   9365 	(dbus_bus_get_with_g_main): new function
   9366 
   9367 2003-10-02  Havoc Pennington  <hp (a] redhat.com>
   9368 
   9369 	* doc/dbus-tutorial.xml: write some stuff
   9370 
   9371 2003-09-29  Havoc Pennington  <hp (a] pobox.com>
   9372 
   9373 	* configure.in: split checks for Doxygen from XML docs, check for
   9374 	xmlto
   9375 
   9376 	* doc/Makefile.am: XML-ify all the docs, and add a blank
   9377 	dbus-tutorial.xml
   9378 
   9379 2003-09-29  Havoc Pennington  <hp (a] pobox.com>
   9380 
   9381 	* Merge dbus-object-names branch. To see the entire patch 
   9382 	do cvs diff -r DBUS_OBJECT_NAMES_BRANCHPOINT -r dbus-object-names,
   9383 	it's huuuuge though.
   9384 	To revert, I tagged DBUS_BEFORE_OBJECT_NAMES_MERGE.
   9385 	
   9386 2003-09-28  Havoc Pennington  <hp (a] pobox.com>
   9387 
   9388 	* HACKING: update to reflect new server
   9389 
   9390 2003-09-26  Seth Nickell  <seth (a] gnome.org>
   9391 
   9392 	* python/dbus.py:
   9393 	* python/examples/example-signals.py:
   9394 
   9395 	Start implementing some notions of signals. The API
   9396 	is really terrible, but they sort of work (with the
   9397 	exception of being able to filter by service, and to
   9398 	transmit signals *as* a particular service). Need to
   9399 	figure out how to make messages come from the service
   9400 	we registered :-(
   9401 	
   9402 	* python/dbus_bindings.pyx.in:
   9403 
   9404 	Removed duplicate message_handler callbacks.
   9405 	
   9406 2003-09-25  Havoc Pennington  <hp (a] redhat.com>
   9407 
   9408 	* bus/session.conf.in: fix my mess
   9409 
   9410 2003-09-25  Havoc Pennington  <hp (a] pobox.com>
   9411 
   9412 	* bus/session.conf.in: fix security policy, reported by Seth Nickell
   9413 
   9414 2003-09-25  Seth Nickell  <seth (a] gnome.org>
   9415 
   9416 	* python/examples/example-service.py:
   9417 
   9418 	Johan notices complete wrong code in example-service, but
   9419 	completely wrong in a way that works exactly the same (!).
   9420 	Johan is confused, how could this possibly work? Example
   9421 	code fails to serve purpose of making things clear.
   9422 	Seth fixes.
   9423 
   9424 2003-09-25  Mark McLoughlin  <mark (a] skynet.ie>
   9425 
   9426 	* doc/dbus-specification.sgml: don't require header fields
   9427 	to be 4-byte aligned and specify that fields should be
   9428 	distinguished from padding by the fact that zero is not
   9429 	a valid field name.
   9430 	
   9431 	* doc/TODO: remove re-alignment item and add item to doc
   9432 	the OBJECT_PATH type.
   9433 	
   9434 	* dbus/dbus-message.c:
   9435 	(HeaderField): rename the original member to value_offset
   9436 	and introduce a name_offset member to keep track of where
   9437 	the field actually begins.
   9438 	(adjust_field_offsets): remove.
   9439 	(append_int_field), (append_uint_field),
   9440 	(append_string_field): don't align the start of the header
   9441 	field to a 4-byte boundary.
   9442 	(get_next_field): impl finding the next marhsalled field
   9443 	after a given field.
   9444 	(re_align_field_recurse): impl re-aligning a number of
   9445 	already marshalled fields.
   9446 	(delete_field): impl deleting a field of any type and
   9447 	re-aligning any following fields.
   9448 	(delete_int_or_uint_field), (delete_string_field): remove.
   9449 	(set_int_field), (set_uint_field): no need to re-check
   9450 	that we have the correct type for the field.
   9451 	(set_string_field): ditto and impl re-aligning any
   9452 	following fields.
   9453 	(decode_header_data): update to take into account that
   9454 	the fields aren't 4-byte aligned any more and the new
   9455 	way to distinguish padding from header fields. Also,
   9456 	don't exit when there is too much header padding.
   9457 	(process_test_subdir): print the directory.
   9458 	(_dbus_message_test): add test to make sure a following
   9459 	field is re-aligned correctly after field deletion.
   9460 	
   9461 	* dbus/dbus-string.[ch]:
   9462 	(_dbus_string_insert_bytes): rename from insert_byte and
   9463 	allow the insert of multiple bytes.
   9464 	(_dbus_string_test): test inserting multiple bytes.
   9465 
   9466 	* dbus/dbus-marshal.c: (_dbus_marshal_set_string): add
   9467 	warning note to docs about having to re-align any
   9468 	marshalled values following the string.
   9469 	
   9470 	* dbus/dbus-message-builder.c:
   9471 	(append_string_field), (_dbus_message_data_load):
   9472 	don't align the header field.
   9473 	
   9474 	* dbus/dbus-auth.c: (process_test_subdir): print the
   9475 	directory.
   9476 	
   9477 	* test/break-loader.c: (randomly_add_one_byte): upd. for
   9478 	insert_byte change.
   9479 	
   9480 	* test/data/invalid-messages/bad-header-field-alignment.message:
   9481 	new test case.
   9482 	
   9483 	* test/data/valid-messages/unknown-header-field.message: shove
   9484 	a dict in the unknown field.
   9485 
   9486 2003-09-25  Seth Nickell  <seth (a] gnome.org>
   9487 
   9488 	* python/dbus.py:
   9489 	* python/dbus_bindings.pyx.in:
   9490 
   9491 	Handle return values.
   9492 	
   9493 	* python/examples/example-client.py:
   9494 	* python/examples/example-service.py:
   9495 
   9496 	Pass back return values from the service to the client.
   9497 	
   9498 2003-09-24  Seth Nickell  <seth (a] gnome.org>
   9499 
   9500 	* python/dbus.py:
   9501 
   9502 	Connect Object methods (when you are sharing an object) up... pass
   9503 	in a list of methods to be shared. Sharing all the methods just
   9504 	worked out too weird. You can now create nice Services over the
   9505 	DBus in Python. :-)
   9506 	
   9507 	* python/dbus_bindings.pyx.in:
   9508 
   9509 	Keep references to user_data tuples passed into C functions so 
   9510 	Python doesn't garbage collect on us.
   9511 
   9512 	Implement MethodReturn and Error subclasses of Message for creating
   9513 	DBusMessage's of those types.
   9514 	
   9515 	* python/examples/example-client.py:
   9516 	* python/examples/example-service.py:
   9517 
   9518 	Simple example code showing both how create DBus services and objects,
   9519 	and how to use them.
   9520 
   9521 2003-09-23  Havoc Pennington  <hp (a] pobox.com>
   9522 
   9523 	* glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement
   9524 
   9525 2003-09-23  Havoc Pennington  <hp (a] redhat.com>
   9526 
   9527 	* glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement
   9528 	(dbus_gproxy_disconnect_signal): implement
   9529 	(dbus_gproxy_manager_remove_signal_match): implement
   9530 	(dbus_gproxy_manager_add_signal_match): implement
   9531 	(dbus_gproxy_oneway_call): implement
   9532 
   9533 2003-09-23  Havoc Pennington  <hp (a] pobox.com>
   9534 
   9535 	* glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject
   9536 	subclass. This means dropping the transparent thread safety of the
   9537 	proxy; you now need a separate proxy per-thread, or your own
   9538 	locking on the proxy. Probably right anyway.
   9539 	(dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref
   9540 
   9541 2003-09-22  Havoc Pennington  <hp (a] redhat.com>
   9542 
   9543 	* glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement
   9544 
   9545 2003-09-21  Seth Nickell  <seth (a] gnome.org>
   9546 
   9547         First checkin of the Python bindings.
   9548 	
   9549 	* python/.cvsignore:
   9550 	* python/Makefile.am:
   9551 	* python/dbus_bindings.pyx.in:
   9552 	* python/dbus_h_wrapper.h:
   9553 
   9554 	Pieces for Pyrex to operate on, building a dbus_bindings.so
   9555 	python module for low-level access to the DBus APIs.
   9556 	
   9557 	* python/dbus.py:
   9558 
   9559 	High-level Python module for accessing DBus objects.
   9560 
   9561 	* configure.in:
   9562 	* Makefile.am:
   9563 
   9564 	Build stuff for the python bindings.
   9565 
   9566 	* acinclude.m4:
   9567 
   9568 	Extra macro needed for finding the Python C header files.
   9569 
   9570 2003-09-21  Havoc Pennington  <hp (a] pobox.com>
   9571 
   9572 	* glib/dbus-gproxy.c (dbus_gproxy_manager_new): start
   9573 	implementing the proxy manager, didn't get very far.
   9574 
   9575 	* dbus/dbus-bus.c (dbus_bus_add_match): new
   9576 	(dbus_bus_remove_match): new
   9577 
   9578 	* glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a
   9579 	path_name argument; adjust the other not-yet-implemented 
   9580 	gproxy constructors to be what I think they should be.
   9581 
   9582 2003-09-21  Havoc Pennington  <hp (a] pobox.com>
   9583 
   9584 	* dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE
   9585 	by default for message bus connections.
   9586 
   9587 	* dbus/dbus-connection.c (dbus_connection_dispatch): exit if
   9588 	exit_on_disconnect flag is set and we process the disconnected
   9589 	signal.
   9590 	(dbus_connection_set_exit_on_disconnect): new function
   9591 
   9592 2003-09-21  Havoc Pennington  <hp (a] pobox.com>
   9593 
   9594 	Get matching rules mostly working in the bus; only actually
   9595 	parsing the rule text remains. However, the client side of
   9596 	"signal connections" hasn't been started, this patch is only the
   9597 	bus side.
   9598 	
   9599 	* dbus/dispatch.c: fix for the matching rules changes
   9600 	
   9601 	* bus/driver.c (bus_driver_handle_remove_match)
   9602 	(bus_driver_handle_add_match): send an ack reply from these
   9603 	method calls
   9604 
   9605 	* glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of
   9606 	arguments, reported by Seth Nickell
   9607 
   9608 	* bus/config-parser.c (append_rule_from_element): support
   9609 	eavesdrop=true|false attribute on policies so match rules 
   9610 	can be prevented from snooping on the system bus.
   9611 
   9612 	* bus/dbus-daemon-1.1.in: consistently use terminology "sender"
   9613 	and "destination" in attribute names; fix some docs bugs; 
   9614 	add eavesdrop=true|false attribute
   9615 
   9616 	* bus/driver.c (bus_driver_handle_add_match)
   9617 	(bus_driver_handle_remove_match): handle AddMatch, RemoveMatch
   9618 	messages
   9619 
   9620 	* dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get
   9621 	rid of broadcast service concept, signals are just always broadcast
   9622 
   9623 	* bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c:
   9624 	mostly implement matching rules stuff (currently only exposed as signal
   9625 	connections)
   9626 
   9627 2003-09-21  Mark McLoughlin  <mark (a] skynet.ie>
   9628 
   9629 	* doc/dbus-specification.sgml: Change the header field name
   9630 	to be an enum and update the rest of the spec to reference
   9631 	the fields using the conventinal name.
   9632 
   9633 	* dbus/dbus-protocol.h: update to reflect the spec.
   9634 
   9635 	* doc/TODO: add item to remove the 4 byte alignment requirement.
   9636 	
   9637 	* dbus/dbus-message.c: Remove the code to generalise the
   9638 	header/body length and serial number header fields as named
   9639 	header fields so we can reference field names using the 
   9640 	protocol values.
   9641 	(append_int_field), (append_uint_field), (append_string_field):
   9642 	Append the field name as a byte rather than four chars.
   9643 	(delete_int_or_uint_field), (delete_string_field): reflect the
   9644 	fact that the field name and typecode now occupy 4 bytes instead
   9645 	of 8.
   9646 	(decode_string_field), (decode_header_data): update to reflect
   9647 	protocol changes and move the field specific encoding from
   9648 	decode_string_field() back into decode_header_data().
   9649 	
   9650 	* dbus/dbus-internals.[ch]: (_dbus_header_field_to_string):
   9651 	Add utility to aid debugging.
   9652 	
   9653 	* dbus/dbus-message-builder.c:
   9654 	(append_string_field), (_dbus_message_data_load): Update to
   9655 	reflect protocol changes; Change the FIELD_NAME directive
   9656 	to HEADER_FIELD and allow it to take the field's conventional
   9657 	name rather than the actual value.
   9658 	
   9659 	* test/data/*/*.message: Update to use HEADER_FIELD instead
   9660 	of FIELD_NAME; Always align the header on an 8 byte boundary
   9661 	*before* updating the header length.
   9662 
   9663 2003-09-15  Havoc Pennington  <hp (a] pobox.com>
   9664 
   9665 	* dbus/dbus-pending-call.c: add the get/set object data
   9666 	boilerplate as for DBusConnection, etc. Use generic object data
   9667 	for the notify callback.
   9668 
   9669 	* glib/dbus-gparser.c (parse_node): parse child nodes
   9670 
   9671 	* tools/dbus-viewer.c: more hacking on the dbus-viewer
   9672 	
   9673 	* glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to
   9674 	contain functions shared between the convenience lib and the
   9675 	installed lib
   9676 
   9677 	* glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add
   9678 	-export-symbols-regex to the GLib library
   9679 
   9680 	* dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock):
   9681 	fix the locking in here, and add a default handler for
   9682 	Introspect() that just returns sub-nodes.
   9683 
   9684 2003-09-14  Havoc Pennington  <hp (a] pobox.com>
   9685 
   9686 	* glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo
   9687 	rather than gfoo consistent
   9688 
   9689 	* glib/dbus-gproxy.h: delete for now, move contents to
   9690 	dbus-glib.h, because the include files don't work right since we
   9691 	aren't in the dbus/ subdir.
   9692 	
   9693 	* glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing
   9694 	(dbus_gproxy_end_call): finish
   9695 	(dbus_gproxy_begin_call): finish
   9696 
   9697 	* glib/dbus-gmain.c (dbus_set_g_error): new
   9698 
   9699 	* glib/dbus-gobject.c (handle_introspect): include information
   9700 	about child nodes in the introspection
   9701 
   9702 	* dbus/dbus-connection.c (dbus_connection_list_registered): new
   9703 	function to help in implementation of introspection
   9704 
   9705 	* dbus/dbus-object-tree.c
   9706 	(_dbus_object_tree_list_registered_and_unlock): new function
   9707 
   9708 2003-09-12  Havoc Pennington  <hp (a] pobox.com>
   9709 
   9710 	* glib/dbus-gidl.h: add common base class for all the foo_info
   9711 	types
   9712 
   9713         * tools/dbus-viewer.c: add GTK-based introspection UI thingy
   9714 	similar to kdcop
   9715 
   9716 	* test/Makefile.am: try test srcdir -ef . in addition to test
   9717 	srcdir = ., one of them should work (yeah lame)
   9718 	
   9719         * glib/Makefile.am: build the "idl" parser stuff as a convenience
   9720 	library
   9721 	
   9722 	* glib/dbus-gparser.h: make description_load routines return
   9723 	NodeInfo* not Parser*
   9724 
   9725 	* Makefile.am (SUBDIRS): build test dir after all library dirs
   9726 
   9727 	* configure.in: add GTK+ detection
   9728 
   9729 2003-09-07  Havoc Pennington  <hp (a] pobox.com>
   9730 
   9731 	* Make Doxygen contented.
   9732 
   9733 2003-09-07  Havoc Pennington  <hp (a] pobox.com>
   9734 
   9735 	* doc/dbus-specification.sgml: more updates
   9736 
   9737 2003-09-06  Havoc Pennington  <hp (a] pobox.com>
   9738 
   9739 	* doc/dbus-specification.sgml: partial updates
   9740 
   9741 	* bus/dbus-daemon-1.1.in: fix the config file docs for the
   9742 	zillionth time; hopefully I edited the right file this time.
   9743 
   9744 	* bus/config-parser.c (append_rule_from_element): support
   9745 	send_type, send_path, receive_type, receive_path
   9746 
   9747 	* bus/policy.c: add message type and path to the list of things
   9748 	that can be "firewalled"
   9749 
   9750 2003-09-06  Havoc Pennington  <hp (a] pobox.com>
   9751 
   9752 	* dbus/dbus-connection.c (dbus_connection_register_fallback): add this
   9753 	(dbus_connection_register_object_path): make this not handle
   9754 	messages to paths below the given path
   9755 
   9756 2003-09-03  Havoc Pennington  <hp (a] pobox.com>
   9757 
   9758 	* test/glib/Makefile.am: add this with random glib-linked test
   9759 	programs
   9760 
   9761 	* glib/Makefile.am: remove the random test programs from here,
   9762 	leave only the unit tests
   9763 
   9764 	* glib/dbus-gobject.c (_dbus_gobject_test): add test for 
   9765 	uscore/javacaps conversion, and fix	
   9766 	(get_object_property, set_object_property): change to .NET
   9767 	convention for mapping props to methods, set_FooBar/get_FooBar, 
   9768 	since one language has such a convention we may as well copy it. 
   9769 	Plus real methods in either getFooBar or get_foo_bar style won't 
   9770 	collide with this convention.
   9771 
   9772 2003-09-01  Havoc Pennington  <hp (a] pobox.com>
   9773 
   9774 	* glib/dbus-gparser.c: implement
   9775 
   9776 	* glib/dbus-gobject.c: start implementing skeletons support
   9777 
   9778 	* configure.in: when disabling checks/assert, also define
   9779 	G_DISABLE_ASSERT and G_DISABLE_CHECKS
   9780 
   9781 2003-09-01  Havoc Pennington  <hp (a] pobox.com>
   9782 
   9783 	* glib/Makefile.am: rearrange a bunch of files and get "make
   9784 	check" framework set up
   9785 
   9786 2003-08-31  Havoc Pennington  <hp (a] pobox.com>
   9787 
   9788 	* fix build with --disable-tests
   9789 
   9790 2003-08-30  Havoc Pennington  <hp (a] pobox.com>
   9791 
   9792 	* dbus/dbus-connection.c: purge DBusMessageHandler
   9793 
   9794 	* dbus/dbus-message-handler.c: remove DBusMessageHandler, just 
   9795 	use callbacks everywhere
   9796 
   9797 2003-08-30  Havoc Pennington  <hp (a] pobox.com>
   9798 
   9799 	* test/data/valid-config-files/system.d/test.conf: change to 
   9800 	root for the user so warnings don't get printed
   9801 
   9802 	* dbus/dbus-message.c: add dbus_message_get_path,
   9803 	dbus_message_set_path
   9804 	
   9805 	* dbus/dbus-object-tree.c (do_test_dispatch): add test of
   9806 	dispatching to a path
   9807 
   9808 	* dbus/dbus-string.c (_dbus_string_validate_path): add
   9809 
   9810 	* dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement
   9811 	(_dbus_marshal_object_path): implement
   9812 
   9813 	* dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field 
   9814 	to contain the path to the target object
   9815 	(DBUS_HEADER_FIELD_SENDER_SERVICE): rename
   9816 	DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service
   9817 
   9818 2003-08-30  Havoc Pennington  <hp (a] pobox.com>
   9819 
   9820 	* dbus/dbus-object-tree.c: write tests and fix the discovered bugs
   9821 
   9822 2003-08-29  Havoc Pennington  <hp (a] pobox.com>
   9823 
   9824 	* dbus/dbus-object-tree.c: modify to allow overlapping paths to be
   9825 	registered
   9826 	(struct DBusObjectSubtree): shrink this
   9827 	a lot, since we may have a lot of them
   9828 	(_dbus_object_tree_free_all_unlocked): implement
   9829 	(_dbus_object_tree_dispatch_and_unlock): implement
   9830 
   9831 2003-08-29  Havoc Pennington  <hp (a] pobox.com>
   9832 
   9833 	* dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS
   9834 
   9835 2003-08-28  Havoc Pennington  <hp (a] pobox.com>
   9836 
   9837 	purge DBusObjectID
   9838 	
   9839 	* dbus/dbus-connection.c: port to no ObjectID, create a
   9840 	DBusObjectTree, rename ObjectTree to ObjectPath in public API
   9841 
   9842 	* dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete 
   9843 	everything except UnregisterFunction and MessageFunction
   9844 	
   9845 	* dbus/dbus-marshal.c: port away from DBusObjectID, 
   9846 	add DBUS_TYPE_OBJECT_PATH
   9847 	
   9848 	* dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc], 
   9849 	dbus/dbus-objectid.[hc]: remove these, we are moving to 
   9850 	path-based object IDs
   9851 
   9852 2003-08-25  Havoc Pennington  <hp (a] pobox.com>
   9853 
   9854         Just noticed that dbus_message_test is hosed, I wonder when I
   9855 	broke that. I thought make check was passing earlier...
   9856 	
   9857 	* dbus/dbus-object-tree.c: add new "object tree" to match DCOP 
   9858 	container tree, will replace most of dbus-object-registry
   9859 
   9860 	* dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99
   9861 	screwup
   9862 
   9863 2003-08-19  Havoc Pennington  <hp (a] pobox.com>
   9864 
   9865 	* dbus/dbus-message.c (decode_string_field): support FIELD_SENDER
   9866 	(dbus_message_is_error): fix this function
   9867 
   9868 	* bus/dbus-daemon-1.1: clarify logic on when <deny>/<allow> rules
   9869 	match
   9870 
   9871 	* bus/policy.c (bus_client_policy_check_can_receive): fix code to
   9872 	reflect clarified man page
   9873 	(bus_client_policy_check_can_send): ditto
   9874 	
   9875 	* bus/session.conf.in: fixup
   9876 
   9877 	* bus/system.conf.in: fixup
   9878 
   9879 2003-08-18  Havoc Pennington  <hp (a] redhat.com>
   9880 
   9881 	* dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix
   9882 
   9883 	* dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
   9884 	dumb bug created earlier (wrong order of args to
   9885 	decode_header_data())
   9886 	
   9887 	* tools/dbus-send.c: port
   9888 
   9889 	* tools/dbus-print-message.c (print_message): port
   9890 
   9891         * test/data/*messages: port all messages over
   9892 	
   9893         * dbus/dbus-message-builder.c: support including 
   9894 	message type
   9895 	
   9896         * bus/driver.c: port over
   9897 	
   9898 	* bus/dispatch.c: port over to new stuff
   9899 
   9900 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
   9901 	rename disconnect signal to "Disconnected"
   9902 
   9903 2003-08-17  Havoc Pennington  <hp (a] pobox.com>
   9904 
   9905 	This doesn't compile yet, but syncing up so I can hack on it from
   9906 	work. What are branches for if not broken code? ;-)
   9907 	
   9908 	* dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add
   9909 	DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER,
   9910 	DBUS_HEADER_FIELD_ERROR_NAME
   9911 	
   9912 	* dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use
   9913 	for the interface+member pairs
   9914 	(string_hash): change to use g_str_hash algorithm
   9915 	(find_direct_function, find_string_function): refactor these to
   9916 	share most code.
   9917 	
   9918 	* dbus/dbus-message.c: port all of this over to support 
   9919 	interface/member fields instead of name field
   9920 
   9921 	* dbus/dbus-object-registry.c: port over
   9922 	
   9923 	* dbus/dbus-string.c (_dbus_string_validate_interface): rename
   9924 	from _dbus_string_validate_name
   9925 
   9926 	* bus/dbus-daemon-1.1: change file format for the 
   9927 	<deny>/<allow> stuff to match new message naming scheme
   9928 
   9929 	* bus/policy.c: port over
   9930 
   9931 	* bus/config-parser.c: parse new format
   9932 	
   9933 2003-08-16  Havoc Pennington  <hp (a] pobox.com>
   9934 
   9935 	* dbus/dbus-object-registry.c (add_and_remove_objects): remove
   9936 	broken assertion
   9937 
   9938 	* glib/dbus-gproxy.c: some hacking
   9939 
   9940 2003-08-15  Havoc Pennington  <hp (a] redhat.com>
   9941 
   9942 	* dbus/dbus-pending-call.c (dbus_pending_call_block): implement
   9943 
   9944 	* dbus/dbus-connection.c
   9945 	(dbus_connection_send_with_reply_and_block): factor out internals;
   9946 	change to convert any error replies to DBusError instead of 
   9947 	returning them as a message
   9948 
   9949 2003-08-15  Havoc Pennington  <hp (a] pobox.com>
   9950 
   9951 	* dbus/dbus-connection.c, 
   9952 	dbus/dbus-pending-call.c: Finish the pending call stuff
   9953 
   9954 2003-08-14  Havoc Pennington  <hp (a] redhat.com>
   9955 
   9956 	* dbus/dbus-pending-call.c: start on new object that will replace
   9957 	DBusMessageHandler and ReplyHandlerData for tracking outstanding
   9958 	replies
   9959 
   9960 	* dbus/dbus-gproxy.c: start on proxy object used to communicate
   9961 	with remote interfaces
   9962 
   9963 	* dbus/dbus-gidl.c: do the boring boilerplate in here
   9964 	
   9965 2003-08-12  Havoc Pennington  <hp (a] pobox.com>
   9966 
   9967 	* bus/dispatch.c (bus_dispatch): make this return proper 
   9968 	DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD
   9969 
   9970 	* dbus/dbus-errors.c (dbus_set_error): use
   9971 	_dbus_string_append_printf_valist
   9972 
   9973 	* dbus/dbus-string.c (_dbus_string_append_printf_valist)
   9974 	(_dbus_string_append_printf): new
   9975 
   9976 	* dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to
   9977 	UNKNOWN_METHOD
   9978 
   9979 	* dbus/dbus-connection.c (dbus_connection_dispatch): handle
   9980 	DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a
   9981 	message is unhandled.
   9982 
   9983 2003-08-11  Havoc Pennington  <hp (a] pobox.com>
   9984 
   9985 	* bus/test.c (client_disconnect_handler): change to return
   9986 	HANDLED (would have been REMOVE_MESSAGE)
   9987 
   9988 	* dbus/dbus-object.h (enum DBusHandlerResult): rename to
   9989 	HANDLED/NOT_YET_HANDLED instead of
   9990 	REMOVE_MESSAGE/ALLOW_MORE_HANDLERS to make it clearer how it 
   9991 	should be used.
   9992 
   9993 2003-08-10  Havoc Pennington  <hp (a] pobox.com>
   9994 
   9995 	* tools/dbus-send.c (main): add --type argument, for now
   9996 	supporting only method_call and signal types.
   9997 
   9998 	* tools/dbus-print-message.c: print message type
   9999 
   10000 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
   10001 	init connection->objects
   10002 
   10003 	* doc/dbus-specification.sgml: fix sgml
   10004 
   10005 	* bus/*.c: port over to object-instance API changes
   10006 
   10007 	* test/test-service.c: ditto
   10008 	
   10009 	* dbus/dbus-message.c (dbus_message_create_header): allow #NULL
   10010 	name, we will have to fix up the rest of the code to also handle
   10011 	this
   10012 	(dbus_message_new): generic message-creation call
   10013 	(set_string_field): allow appending name field
   10014 
   10015 2003-08-06  Havoc Pennington  <hp (a] pobox.com>
   10016 
   10017 	* dbus/dbus-object-registry.c: implement signal connection 
   10018 	and dispatch
   10019 
   10020 	* dbus/dbus-connection.c (_dbus_connection_unref_unlocked): new
   10021 
   10022 	* dbus/dbus-internals.c (_dbus_memdup): new function
   10023 
   10024 2003-08-02  Havoc Pennington  <hp (a] pobox.com>
   10025 
   10026 	* dbus/dbus-message.c (dbus_message_get_no_reply)
   10027 	(dbus_message_set_no_reply): add these and remove
   10028 	set_is_error/get_is_error
   10029 
   10030 	* dbus/dbus-protocol.h, doc/dbus-specification.sgml: 
   10031 	remove the ERROR flag, since there's now an ERROR type
   10032 
   10033 2003-08-01  Havoc Pennington  <hp (a] pobox.com>
   10034 
   10035 	* dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock):
   10036 	implement
   10037 
   10038 	* dbus/dbus-message.c (dbus_message_get_type): new function
   10039 
   10040 	* doc/dbus-specification.sgml: add "type" byte to messages
   10041 
   10042 2003-08-01  Havoc Pennington  <hp (a] pobox.com>
   10043 
   10044 	* dbus/dbus-protocol.h (DBUS_MESSAGE_TYPE_*): introduce
   10045 	a message type enum to distinguish kinds of message
   10046 	(DBUS_HEADER_FLAG_NO_REPLY_EXPECTED): flag for a message 
   10047 	that need not be replied to
   10048 
   10049 2003-08-01  Havoc Pennington  <hp (a] pobox.com>
   10050 
   10051 	* dbus/dbus-marshal.c: adapt to DBusObjectID changes
   10052 	(unpack_8_octets): fix no-64-bit-int bug
   10053 
   10054 	* dbus/dbus-object-registry.c (validate_id): validate the 
   10055 	connection ID bits, not just the instance ID.
   10056 
   10057 	* dbus/dbus-connection.c (_dbus_connection_init_id): initialize
   10058 	the connection-global 33 bits of the object ID
   10059 
   10060 	* dbus/dbus-object-registry.c (info_from_entry): fill in 
   10061 	object ID in the new way
   10062 
   10063 	* dbus/dbus-objectid.h: rather than high/low bits, specifically 
   10064 	define server/client/instance bits.
   10065 
   10066 2003-07-30  Havoc Pennington  <hp (a] pobox.com>
   10067 
   10068 	* dbus/dbus-connection.c (dbus_connection_register_object): fix
   10069 	build
   10070 
   10071 2003-07-13  Havoc Pennington  <hp (a] pobox.com>
   10072 
   10073 	* dbus/dbus-object.h (struct DBusObjectVTable): add padding
   10074 	fields to DBusObjectVTable and DBusObjectInfo
   10075 
   10076 2003-07-12  Havoc Pennington  <hp (a] pobox.com>
   10077 
   10078 	* dbus/dbus-object-registry.c: implement unit test,
   10079 	fix bugs discovered in process
   10080 
   10081 	* dbus/dbus-connection.c: remove handler_table and
   10082 	register_handler(), add DBusObjectRegistry usage
   10083 
   10084 	* dbus/dbus-objectid.c (dbus_object_id_is_null)
   10085 	(dbus_object_id_set_null): new functions
   10086 
   10087 2003-07-08  Havoc Pennington  <hp (a] pobox.com>
   10088 
   10089 	* dbus/dbus-object.c: implement some of this
   10090 
   10091 	* dbus/dbus-object-registry.c
   10092 	(_dbus_object_registry_add_and_unlock): fill in the object_id out
   10093 	param
   10094 	(_dbus_object_registry_new): handle OOM
   10095 
   10096 2003-07-08  Havoc Pennington  <hp (a] pobox.com>
   10097 
   10098 	* dbus/dbus-object.h: sketch out an API for registering objects
   10099 	with a connection, that allows us to use as little as 24 bytes
   10100 	per object and lets application code represent an object in 
   10101 	any conceivable way.
   10102 
   10103 	* dbus/dbus-object-registry.c: implement the hard bits of the
   10104 	DBusConnection aspect of object API. Not yet wired up.
   10105 	
   10106 2003-07-06  Havoc Pennington  <hp (a] pobox.com>
   10107 
   10108 	* dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function
   10109 	(_dbus_marshal_object_id): new
   10110 	(_dbus_demarshal_object_id): new
   10111 	(_dbus_marshal_get_arg_end_pos): support object ID type, and
   10112 	consolidate identical switch cases. Don't conditionalize handling
   10113 	of DBUS_TYPE_UINT64, need to handle the type always.
   10114 	(_dbus_marshal_validate_arg): consolidate identical cases, and
   10115 	handle DBUS_TYPE_OBJECT_ID
   10116 
   10117 	* dbus/dbus-objectid.c: new file with DBusObjectID data type.
   10118 
   10119 	* dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID
   10120 
   10121 2003-09-28  Havoc Pennington  <hp (a] pobox.com>
   10122 
   10123 	* real 0.13 release
   10124 
   10125 2003-09-28  Havoc Pennington  <hp (a] pobox.com>
   10126 
   10127 	* doc/Makefile.am (dbus-specification.html): testing a funky hack
   10128 	to work with Debian db2html
   10129 
   10130 2003-09-28  Havoc Pennington  <hp (a] pobox.com>
   10131 
   10132 	* configure.in: 0.13
   10133 
   10134 	* doc/Makefile.am (dbus-test-plan.html): accept nonexistence of
   10135 	stylesheet-images for benefit of Debian
   10136 	
   10137 	Change back to using filesystem-linked sockets for the system
   10138 	bus, so only root can create the default system bus address.
   10139 	
   10140 	* bus/system.conf.in: change to use
   10141 	DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
   10142 
   10143 	* dbus/Makefile.am (INCLUDES): remove DBUS_SYSTEM_BUS_PATH define
   10144 	from here.
   10145 
   10146 	* configure.in: define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
   10147 	here, and AC_DEFINE DBUS_SYSTEM_PATH
   10148 
   10149 2003-08-09  Anders Carlsson  <andersca (a] codefactory.se>
   10150 
   10151 	* doc/TODO:
   10152 	* doc/busconfig.dtd:
   10153 	Add busconfig DTD.
   10154 	
   10155 2003-08-09  Anders Carlsson  <andersca (a] codefactory.se>
   10156 
   10157 	* doc/dbus-specification.sgml:
   10158 	Add activation reply values.
   10159 	
   10160 2003-08-05  Havoc Pennington  <hp (a] redhat.com>
   10161 
   10162 	* configure.in: 0.12
   10163 
   10164 2003-08-05  Anders Carlsson  <andersca (a] codefactory.se>
   10165 
   10166 	* glib/dbus-gmain.c: (watch_fd_new), (watch_fd_ref),
   10167 	(watch_fd_unref), (dbus_gsource_check), (dbus_gsource_dispatch),
   10168 	(add_watch), (remove_watch), (create_source):
   10169 	Refcount fds, fixes some reentrancy issues.
   10170 	
   10171 2003-07-30  Havoc Pennington  <hp (a] redhat.com>
   10172 
   10173 	* dbus/dbus-bus.c (init_connections_unlocked): fix default system
   10174 	bus address to be abstract if we have abstract sockets
   10175 
   10176 	* NEWS: update
   10177 
   10178 2003-07-28  Havoc Pennington  <hp (a] redhat.com>
   10179 
   10180 	* bus/messagebus.in: fix to avoid processname/servicename 
   10181 	confusion, from Michael Kearey
   10182 	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100965
   10183 	
   10184 2003-07-23  Havoc Pennington  <hp (a] pobox.com>
   10185 
   10186 	* dbus/dbus-message.c (dbus_message_iter_get_named): 
   10187 	fix from Andy Hanton to remove broken "+1"
   10188 
   10189 2003-07-16  Havoc Pennington  <hp (a] pobox.com>
   10190 
   10191 	* tools/dbus-launch.c (babysit): close stdout/stderr in the
   10192 	babysitter process, as suggested by Thomas Leonard, so 
   10193 	an "eval `dbus-launch --exit-with-session`" will actually 
   10194 	return
   10195 
   10196 2003-07-16  Havoc Pennington  <hp (a] pobox.com>
   10197 
   10198 	* configure.in: print out EXPANDED_* variables in the summary at
   10199 	the end; clean up the code that computes EXPANDED_ variables and
   10200 	get the ones using exec_prefix right. Should make things work
   10201 	when you build without --prefix
   10202 
   10203 2003-06-29  Havoc Pennington  <hp (a] pobox.com>
   10204 
   10205 	* mono/Test.cs (class Test): fire up a main loop and run it
   10206 
   10207 	* mono/DBus.cs (DBus): don't g_thread_init since it can only be
   10208 	done once, the app has to do it
   10209 
   10210 2003-06-26  Havoc Pennington  <hp (a] pobox.com>
   10211 
   10212 	* mono/Connection.cs: set up connection with the glib main loop
   10213 
   10214 2003-07-01  Havoc Pennington  <hp (a] redhat.com>
   10215 
   10216 	* doc/dbus-specification.sgml: clarify the format of a type code,
   10217 	change suggested by Jim Blandy
   10218 
   10219 2003-06-29  Miloslav Trmac  <mitr (a] volny.cz>
   10220 
   10221 	* doc/Makefile.am:
   10222 	* tools/Makefile.am: Don't assume srcdir == builddir.
   10223 
   10224 	* dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
   10225 	the allocated block.
   10226 	(_dbus_memory_test): New function.
   10227 	* dbus/dbus-test.h: Add _dbus_memory_test ().
   10228 	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
   10229 
   10230 	* dbus/dbus-message.c (decode_header_data): Use %.4s instead
   10231 	of %c%c%c%c.
   10232 	(dbus_message_new): Remove obsolete @todo.
   10233 
   10234 	* dbus/dbus-marshal.c (_dbus_marshal_set_int64)
   10235 	(_dbus_marshal_set_uint64): Fix comment.
   10236 
   10237 	* dbus/dbus-message.c (append_int_field, append_uint_field): Don't
   10238 	hardcode FIELD_REPLY_SERIAL.
   10239 
   10240 	* dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
   10241 	(_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p
   10242 
   10243 	* configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
   10244 	and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
   10245 
   10246 2003-06-24  Havoc Pennington  <hp (a] pobox.com>
   10247 
   10248 	* mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0)
   10249 
   10250 2003-06-23  Anders Carlsson  <andersca (a] codefactory.se>
   10251 
   10252 	* configure.in:
   10253 	* gcj/.cvsignore:
   10254 	* gcj/Hello.java:
   10255 	* gcj/Makefile.am:
   10256 	* gcj/TestMessage.java: (TestMessage), (TestMessage.main):
   10257 	* gcj/org/.cvsignore:
   10258 	* gcj/org/Makefile.am:
   10259 	* gcj/org/freedesktop/.cvsignore:
   10260 	* gcj/org/freedesktop/Makefile.am:
   10261 	* gcj/org/freedesktop/dbus/.cvsignore:
   10262 	* gcj/org/freedesktop/dbus/Makefile.am:
   10263 	* gcj/org/freedesktop/dbus/Message.java: (Message),
   10264 	(Message.Message):
   10265 	* gcj/org/freedesktop/dbus/natMessage.cc:
   10266 	Fix the build system.
   10267 
   10268 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10269 
   10270 	* mono/Connection.cs: add more bindings
   10271 
   10272 	* dbus/dbus-threads.c (dbus_threads_init): allow calling this
   10273 	more than once.
   10274 
   10275 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10276 
   10277 	* mono/Connection.cs, mono/DBus.cs, mono/Error.cs:
   10278 	Start wrapping more stuff.
   10279 
   10280 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10281 
   10282 	* mono/Message.cs: implement Message.Wrap() that ensures we only
   10283 	have a single C# wrapper per DBusMessage, assuming it works which
   10284 	it probably doesn't.
   10285 
   10286 	* dbus/dbus-message.c (dbus_message_allocate_data_slot): new
   10287 	(dbus_message_free_data_slot): new
   10288 	(dbus_message_set_data): new
   10289 	(dbus_message_get_data): new
   10290 
   10291 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10292 
   10293 	* dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref)
   10294 	(_dbus_data_slot_allocator_alloc): rework these to keep a
   10295 	reference count on each slot and automatically manage a global
   10296 	slot ID variable passed in by address
   10297 
   10298 	* bus/bus.c: convert to new dataslot API
   10299 
   10300 	* dbus/dbus-bus.c: convert to new dataslot API
   10301 
   10302 	* dbus/dbus-connection.c: convert to new dataslot API
   10303 
   10304 	* dbus/dbus-server.c: convert to new dataslot API
   10305 
   10306 	* glib/dbus-gmain.c: ditto
   10307 
   10308 	* bus/test.c: ditto
   10309 
   10310 	* bus/connection.c: ditto
   10311 
   10312 2003-06-22  Anders Carlsson  <andersca (a] codefactory.se>
   10313 
   10314 	* configure.in: Add AM_PROG_GCJ and move AM_PROG_LIBTOOL
   10315 	after the gcj checks so that the correct configuration tags
   10316 	will be added to libtool.
   10317 
   10318 	* dbus-glib-1.pc.in: No need to specify any includes since
   10319 	dbus-1.pc.in has those.
   10320 
   10321 2003-06-22  Havoc Pennington  <hp (a] pobox.com>
   10322 
   10323 	* mono/*, gcj/*, configure.in, Makefile.am:
   10324 	Check in makefiles and subdirs for mono and gcj bindings.
   10325 	Neither binding actually exists, just trying to get through
   10326 	all the build and other boring bits.
   10327 
   10328 2003-06-21  Philip Blundell  <philb (a] gnu.org>
   10329 
   10330 	* tools/dbus-monitor.1: Updated.
   10331 
   10332 	* tools/dbus-send.1: Likewise.
   10333 
   10334 2003-06-20  Anders Carlsson  <andersca (a] codefactory.se>
   10335 
   10336 	* dbus/dbus-transport-unix.c (unix_handle_watch): Check
   10337 	for hangup and error after checking read so we won't discard
   10338 	pending data if both hangup and read are set.
   10339 
   10340 2003-06-19  Philip Blundell  <philb (a] gnu.org>
   10341 
   10342 	* tools/dbus-print-message.c (print_message): Handle BOOLEAN.
   10343 
   10344 	* tools/dbus-send.c: Accept both --system and --session.
   10345 
   10346 	* tools/dbus-monitor.c: Same here.
   10347 
   10348 2003-06-19  Anders Carlsson  <andersca (a] codefactory.se>
   10349 
   10350 	* glib/dbus-glib.h: Fix so that dbus-glib.h can be used
   10351 	from C++ (Patch by Miloslav Trmac).
   10352 
   10353 2003-06-15  Joe Shaw  <joe (a] assbarn.com>
   10354 
   10355 	* configure.in: Check for socklen_t.
   10356 
   10357 	* dbus/dbus-sysdeps.c: Define socklen_t if it's not defined.
   10358 
   10359 	* test/test-segfault.c: Add #include <sys/time.h>
   10360 
   10361 	* tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since
   10362 	dbus-launch needs it.
   10363 
   10364 2003-06-09  Havoc Pennington  <hp (a] redhat.com>
   10365 
   10366 	* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use
   10367 	SUN_LEN, it breaks abstract socket usage
   10368 
   10369 	* dbus/dbus-internals.c (_dbus_verbose_real): only print PID at
   10370 	starts of lines.
   10371 
   10372 2003-06-04  Havoc Pennington  <hp (a] pobox.com>
   10373 
   10374 	* dbus/dbus-server.c (dbus_server_listen): allow abstract sockets
   10375 	using unix:abstract=/foo, and when listening in a tmpdir
   10376 	i.e. unix:tmpdir=/tmp, always use abstract sockets if we can.
   10377 
   10378 	* dbus/dbus-transport.c (_dbus_transport_open): support
   10379 	unix:abstract=/foo
   10380 
   10381 	* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
   10382 	support abstract sockets
   10383 
   10384 	* dbus/dbus-transport-unix.c
   10385 	(_dbus_transport_new_for_domain_socket): support abstract sockets
   10386 
   10387 	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract"
   10388 	toggle as an argument, implement abstract namespace support
   10389 	(_dbus_listen_unix_socket): ditto
   10390 
   10391 	* configure.in: add --enable-abstract-sockets and implement
   10392 	a configure check for autodetection of the right value.
   10393 
   10394 2003-06-01  Havoc Pennington  <hp (a] pobox.com>
   10395 
   10396 	* tools/dbus-cleanup-sockets.c: add utility to clean up sockets
   10397 	in /tmp (though on Linux this will end up being useless,
   10398 	when we add abstract namespace support)
   10399 
   10400 	* configure.in: define DBUS_SESSION_SOCKET_DIR in addition to
   10401 	subst'ing it
   10402 
   10403 2003-05-28  Colin Walters  <walters (a] verbum.org>
   10404 
   10405 	* tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/).
   10406 
   10407 2003-05-18  Anders Carlsson  <andersca (a] codefactory.se>
   10408 
   10409 	* dbus/dbus-message.c (dbus_message_new): Remove @todo.
   10410 
   10411 2003-05-17  Colin Walters  <walters (a] gnu.org>
   10412 
   10413 	* tools/dbus-send.c: Don't exit with an error code if --help was
   10414 	passed.  Default to using the session bus instead of the system
   10415 	one.
   10416 
   10417 	* tools/dbus-launch.c: Ditto.
   10418 
   10419 	* tools/dbus-monitor.c: Ditto.
   10420 
   10421 	* tools/dbus-send.1: Update with new arguments.
   10422 
   10423 	* tools/dbus-launch.c: Emit code to export variables.  New
   10424 	arguments -s and -c to specify shell syntax, and a bit of code to
   10425 	autodetect syntax.  Also, allow specifying a program to run.
   10426 
   10427 	* tools/dbus-launch.1: Update with new arguments.
   10428 
   10429 	* tools/dbus-send.1: Ditto.
   10430 
   10431 	* tools/dbus-monitor.1: Ditto.
   10432 
   10433 2003-05-17  Havoc Pennington  <hp (a] pobox.com>
   10434 
   10435 	* bus/config-parser.c (merge_included): merge in policies from
   10436 	child configuration file.
   10437 
   10438 	* bus/policy.c (bus_policy_merge): function to merge two policies
   10439 	together
   10440 
   10441 2003-05-16  Havoc Pennington  <hp (a] redhat.com>
   10442 
   10443 	* dbus/dbus-connection.c: disable verbose lock spew
   10444 
   10445 	* tools/dbus-send.c: add --print-reply command line option
   10446 
   10447 	* tools/dbus-print-message.h (print_message): new util function
   10448 	shared by dbus-send and dbus-monitor
   10449 
   10450 	* tools/dbus-monitor.c (handler_func): exit on disconnect
   10451 
   10452 	* dbus/dbus-transport-unix.c (do_reading): if the transport is
   10453 	disconnected, don't try to use the read_watch
   10454 
   10455 	* dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL
   10456 	so we can find this bug more easily
   10457 
   10458 2003-05-16  Havoc Pennington  <hp (a] redhat.com>
   10459 
   10460 	* bus/policy.c (free_rule_list_func): avoid a crash when passed
   10461 	NULL as DBusHashTable is annoyingly likely to do.
   10462 
   10463 2003-05-16  Colin Walters  <walters (a] verbum.org>
   10464 
   10465 	* tools/dbus-monitor.c: Add --session argument and usage()
   10466 	function.
   10467 
   10468 	* tools/dbus-monitor.1: Update with new --session arg.
   10469 
   10470 	* bus/Makefile.am (install-data-hook): Create
   10471 	$(libdir)/dbus-1.0/services so that the session bus is happy.
   10472 
   10473 2003-05-15  Havoc Pennington  <hp (a] redhat.com>
   10474 
   10475 	* dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
   10476 	on non-x86. ifdef's are evil.
   10477 
   10478 2003-05-15  Havoc Pennington  <hp (a] redhat.com>
   10479 
   10480 	* configure.in: 0.11
   10481 
   10482 	* NEWS: update
   10483 
   10484 	* bus/Makefile.am (initddir): apparently we are supposed to put
   10485 	init scripts in /etc/rc.d/init.d not /etc/init.d
   10486 
   10487 	* bus/Makefile.am: remove the "you must --enable-tests to make
   10488 	check" as it broke distcheck
   10489 
   10490 	* bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d
   10491 
   10492 2003-05-13  James Willcox  <jwillcox (a] gnome.org>
   10493 
   10494 	* configure.in:
   10495 	* bus/activation.c: (bus_activation_service_created),
   10496 	(bus_activation_activate_service):
   10497 	* bus/driver.c: (bus_driver_send_service_deleted),
   10498 	(bus_driver_send_service_created), (bus_driver_send_service_lost),
   10499 	(bus_driver_send_service_acquired),
   10500 	(bus_driver_send_welcome_message),
   10501 	(bus_driver_handle_list_services):
   10502 	* bus/session.conf.in:
   10503 	* dbus/dbus-bus.c: (dbus_bus_acquire_service),
   10504 	(dbus_bus_service_exists), (dbus_bus_activate_service):
   10505 	* dbus/dbus-bus.h:
   10506 
   10507 	Add some convenience API which lets you activate a service, and did a
   10508 	bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args()
   10509 	and dbus_message_get_args()
   10510 
   10511 2003-05-11  Havoc Pennington  <hp (a] pobox.com>
   10512 
   10513 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid
   10514 	calling _dbus_marshal_validate_arg() for every byte in a byte
   10515 	array, etc.
   10516 
   10517 	* dbus/dbus-message-handler.c: use atomic reference counting to
   10518 	reduce number of locks slightly; the global lock in here sucks
   10519 
   10520 	* dbus/dbus-connection.c
   10521 	(_dbus_connection_update_dispatch_status_and_unlock): variant of
   10522 	update_dispatch_status that can be called with lock held; then use
   10523 	in a couple places to reduce locking/unlocking
   10524 	(dbus_connection_send): hold the lock over the whole function
   10525 	instead of acquiring it twice.
   10526 
   10527 	* dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM
   10528 
   10529 	* bus/connection.c (bus_connections_setup_connection): fix access
   10530 	to already-freed memory.
   10531 
   10532 	* dbus/dbus-connection.c: keep a little cache of linked list
   10533 	nodes, to avoid using the global linked list alloc lock in the
   10534 	normal send-message case. Instead we just use the connection lock
   10535 	that we already have to take.
   10536 
   10537 	* dbus/dbus-list.c (_dbus_list_find_last): new function
   10538 
   10539 	* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec):
   10540 	change to use a struct for the atomic type; fix docs,
   10541 	they return value before increment, not after increment.
   10542 
   10543 	* dbus/dbus-string.c (_dbus_string_append_4_aligned)
   10544 	(_dbus_string_append_8_aligned): new functions to try to
   10545 	microoptimize this operation.
   10546 	(reallocate_for_length): break this out of set_length(), to
   10547 	improve profile info, and also so we can consider inlining the
   10548 	set_length() part.
   10549 
   10550 	* dbus/dbus-message.c (dbus_message_new_empty_header): init data
   10551 	strings with some preallocation, cuts down on our calls to realloc
   10552 	a fair bit. Though if we can get the "move entire string to empty
   10553 	string" optimization below to kick in here, it would be better.
   10554 
   10555 	* dbus/dbus-string.c (_dbus_string_move): just call
   10556 	_dbus_string_move_len
   10557 	(_dbus_string_move_len): add a special case for moving
   10558 	an entire string into an empty string; we can just
   10559 	swap the string data instead of doing any reallocs.
   10560 	(_dbus_string_init_preallocated): new function
   10561 
   10562 2003-05-11  Havoc Pennington  <hp (a] pobox.com>
   10563 
   10564 	Write a "test-profile" that does echo client-server with threads;
   10565 	profile reveals lock contention, memcpy/realloc of buffers, and
   10566 	UTF-8 validation as hot spots. 20% of lock contention eliminated
   10567 	with dbus_atomic_inc/dec implementation on x86.  Much remaining
   10568 	contention is global mempool locks for GList and DBusList.
   10569 
   10570 	* dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
   10571 	x86 implementation
   10572 
   10573 	* dbus/dbus-connection.c (struct DBusConnection): use
   10574 	dbus_atomic_t for the reference count
   10575 
   10576 	* dbus/dbus-message.c (struct DBusMessage): declare
   10577 	dbus_atomic_t values as volatile
   10578 
   10579 	* configure.in: code to detect ability to use atomic integer
   10580 	operations in assembly, from GLib patch
   10581 
   10582 	* dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
   10583 	time, tired of it being wrong in threads and forked processes
   10584 
   10585 	* glib/test-profile.c: a little program to bounce messages back
   10586 	and forth between threads and eat CPU
   10587 
   10588 	* dbus/dbus-connection.c: add debug spew macros for debugging
   10589 	thread locks; include config.h at top; fix deadlock in
   10590 	dbus_connection_flush()
   10591 
   10592 2003-05-08  Havoc Pennington  <hp (a] pobox.com>
   10593 
   10594 	* dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov
   10595 	data from getting written, and there wasn't a good reason to
   10596 	use _exit really.
   10597 
   10598 	* test/decode-gcov.c (mark_inside_dbus_build_tests): don't count
   10599 	dbus_verbose lines in test coverage
   10600 	(main): add list of functions sorted by # of untested blocks
   10601 	to the coverage report
   10602 
   10603 	* dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS
   10604 
   10605 	* dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage
   10606 
   10607 	* dbus/dbus-message-handler.c (_dbus_message_handler_test):
   10608 	extend test coverage
   10609 
   10610 	* test/data/auth/cancel.auth-script: test canceling an
   10611 	authentication
   10612 
   10613 	* dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they
   10614 	aren't used. in CVS history if we end up needing them.
   10615 
   10616 2003-05-04  Havoc Pennington  <hp (a] pobox.com>
   10617 
   10618 	* dbus/dbus-message-handler.c (_dbus_message_handler_test): add
   10619 	unit test
   10620 
   10621 	* dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this
   10622 	function, which assumed length was in # of strings, not bytes
   10623 
   10624 	* dbus/dbus-message.c (_dbus_message_test): add tests for some
   10625 	missing coverage
   10626 
   10627 	* dbus/dbus-connection.c
   10628 	(_dbus_connection_queue_received_message): disable function for
   10629 	now, we are only using it in test mode
   10630 
   10631 	* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
   10632 	remove a mistaken FIXME
   10633 
   10634 2003-05-04  Havoc Pennington  <hp (a] pobox.com>
   10635 
   10636 	* dbus/dbus-connection.c (dbus_connection_preallocate_send):
   10637 	unlock mutex on successful return, patch from Anders Gustafsson
   10638 
   10639 2003-05-04  Havoc Pennington  <hp (a] pobox.com>
   10640 
   10641 	* dbus-glib-1.pc.in (Requires): fix dependencies, from
   10642 	Anders Gustafsson
   10643 
   10644 2003-05-04  Havoc Pennington  <hp (a] pobox.com>
   10645 
   10646 	* tools/dbus-launch.c: implement
   10647 
   10648 	* bus/main.c (main), bus/bus.c (bus_context_new):
   10649 	implement --print-pid and --fork
   10650 
   10651 2003-05-03  Havoc Pennington  <hp (a] redhat.com>
   10652 
   10653 	* dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
   10654 	the address had no value, and add to test suite. Fix and
   10655 	regression test from Miloslav Trmac
   10656 
   10657 2003-05-03  Havoc Pennington  <hp (a] pobox.com>
   10658 
   10659 	* dbus/dbus-watch.c (dbus_watch_handle): warn and return if a
   10660 	watch is invalid when handled
   10661 
   10662 	* tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add
   10663 	dbus-launch utility to launch the bus from a shell script.  Didn't
   10664 	actually implement dbus-launch yet, it's just a placeholder still.
   10665 
   10666 2003-05-03  Havoc Pennington  <hp (a] pobox.com>
   10667 
   10668 	* bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
   10669 	daemon; also documents daemon config file, so replaces
   10670 	doc/config-file.txt. Corrected some stuff from config-file.txt in
   10671 	the process of moving it.
   10672 
   10673 2003-05-03  Havoc Pennington  <hp (a] pobox.com>
   10674 
   10675 	* tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1:
   10676 	add some man pages
   10677 
   10678 2003-05-03  Colin Walters  <walters (a] verbum.org>
   10679 
   10680 	* dbus/dbus-sysdeps.c (fill_user_info): Test against
   10681 	DBUS_UID_UNSET to determine whether to do a uid lookup or not.
   10682 
   10683 	* Makefile.am: Update to use new .pc versioning scheme.
   10684 
   10685 2003-05-02  Havoc Pennington  <hp (a] redhat.com>
   10686 
   10687 	* bus/system.conf.in: allow send/receive to/from message bus
   10688 	service
   10689 
   10690 2003-04-30  Havoc Pennington  <hp (a] redhat.com>
   10691 
   10692 	* configure.in: print a note when building with unit tests and
   10693 	without assertions
   10694 
   10695 2003-04-30  Havoc Pennington  <hp (a] redhat.com>
   10696 
   10697 	* Makefile.am: add a check-local that complains if you didn't
   10698 	configure with --enable-tests
   10699 
   10700 2003-04-29  Havoc Pennington  <hp (a] redhat.com>
   10701 
   10702 	* glib/dbus-gmain.c: docs cleanups
   10703 
   10704 	* dbus/dbus-types.h: add docs on int64 types
   10705 
   10706 	* dbus/dbus-memory.c: fix docs to avoid putting private API in
   10707 	public API docs section
   10708 
   10709 2003-04-29  Havoc Pennington  <hp (a] redhat.com>
   10710 
   10711 	* dbus-1.pc.in, dbus-glib-1.pc.in: rename these from
   10712 	dbus-1.0.pc.in, dbus-glib-1.0.pc.in. As these change with the
   10713 	parallel install API version, not with the D-BUS package version.
   10714 
   10715 	* HACKING: move some of README over here
   10716 
   10717 	* README: updates, and document API/ABI policy
   10718 
   10719 	* configure.in: reindentation
   10720 
   10721 2003-04-29  Havoc Pennington  <hp (a] redhat.com>
   10722 
   10723 	* dbus/dbus.h: add "you have to define DBUS_API_SUBJECT_TO_CHANGE
   10724 	to use this library" to be sure people have the right
   10725 	expectations.
   10726 
   10727 2003-04-28  Havoc Pennington  <hp (a] redhat.com>
   10728 
   10729 	* configure.in: add --enable-docs which by default is auto yes if
   10730 	doxygen and db2html found, no otherwise; but can be forced on/off
   10731 
   10732 	* doc/Makefile.am: conditionalize whether to build docs on
   10733 	--enable-docs
   10734 
   10735 2003-04-28  Havoc Pennington  <hp (a] redhat.com>
   10736 
   10737 	* configure.in: 0.10
   10738 
   10739 	* NEWS: update
   10740 
   10741 	* bus/system.conf.in: add <includedir>system.d</includedir>
   10742 
   10743 	* dbus/dbus-userdb.c (_dbus_user_database_lookup): fix bug when
   10744 	username was provided but not uid
   10745 
   10746 	* bus/config-parser.c (struct BusConfigParser): keep track of
   10747 	whether the parser is toplevel or was included; change some
   10748 	of the error handling if it's included.
   10749 
   10750 2003-04-27  Havoc Pennington  <hp (a] pobox.com>
   10751 
   10752 	Unbreak my code...
   10753 
   10754 	* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
   10755 	report correct status if we finish processing authentication
   10756 	inside this function.
   10757 
   10758 	* bus/activation.c (try_send_activation_failure): use
   10759 	bus_transaction_send_error_reply
   10760 
   10761 	* bus/connection.c (bus_connection_get_groups): return an error
   10762 	explaining the problem
   10763 
   10764 	* bus/bus.c (bus_context_check_security_policy): implement
   10765 	restriction here that inactive connections can only send the
   10766 	hello message. Also, allow bus driver to send anything to
   10767 	any recipient.
   10768 
   10769 	* bus/connection.c (bus_connection_complete): create the
   10770 	BusClientPolicy here instead of on-demand.
   10771 	(bus_connection_get_policy): don't return an error
   10772 
   10773 	* dbus/dbus-message.c (dbus_message_new_error_reply): allow NULL
   10774 	sender field in message being replied to
   10775 
   10776 	* bus/bus.c (bus_context_check_security_policy): fix silly typo
   10777 	causing it to return FALSE always
   10778 
   10779 	* bus/policy.c (bus_client_policy_check_can_send): fix bug where
   10780 	we checked sender rather than destination
   10781 
   10782 2003-04-25  Havoc Pennington  <hp (a] redhat.com>
   10783 
   10784         test suite is slightly hosed at the moment, will fix soon
   10785 
   10786 	* bus/connection.c (bus_connections_expire_incomplete): fix to
   10787 	properly disable the timeout when required
   10788 	(bus_connection_set_name): check whether we can remove incomplete
   10789 	connections timeout after we complete each connection.
   10790 
   10791 	* dbus/dbus-mainloop.c (check_timeout): fix this up a bit,
   10792 	probably still broken.
   10793 
   10794 	* bus/services.c (bus_registry_acquire_service): implement max
   10795 	number of services owned, and honor allow/deny rules on which
   10796 	services a connection can own.
   10797 
   10798 	* bus/connection.c (bus_connection_get_policy): report errors here
   10799 
   10800 	* bus/activation.c: implement limit on number of pending
   10801 	activations
   10802 
   10803 2003-04-25  Havoc Pennington  <hp (a] redhat.com>
   10804 
   10805 	* dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug
   10806 	where we used >= 0 instead of != DBUS_UID_UNSET.
   10807 
   10808 2003-04-25  Havoc Pennington  <hp (a] redhat.com>
   10809 
   10810 	* glib/dbus-gmain.c (remove_watch): fix for a crash when watches
   10811 	were toggled without add/remove, fix from Anders Gustafsson
   10812 
   10813 2003-04-24  Havoc Pennington  <hp (a] redhat.com>
   10814 
   10815 	* test/data/valid-config-files/basic.conf: add <limit> tags to
   10816 	this test
   10817 
   10818 	* bus/config-parser.h, bus/config-parser.c, bus/bus.c: Implement
   10819 	<limit> tag in configuration file.
   10820 
   10821 2003-04-24  Havoc Pennington  <hp (a] redhat.com>
   10822 
   10823 	* bus/dispatch.c: somehow missed some name_is
   10824 
   10825 	* dbus/dbus-timeout.c (_dbus_timeout_set_enabled)
   10826 	(_dbus_timeout_set_interval): new
   10827 
   10828 	* bus/connection.c (bus_connections_setup_connection): record time
   10829 	when each connection is first set up, and expire them after the
   10830 	auth timeout passes.
   10831 
   10832 2003-04-24  Havoc Pennington  <hp (a] redhat.com>
   10833 
   10834 	* dbus/dbus-message.c (dbus_message_name_is): rename
   10835 	(dbus_message_service_is): rename
   10836 	(dbus_message_sender_is): rename
   10837 	(dbus_message_get_service): rename
   10838 
   10839 2003-04-24  Havoc Pennington  <hp (a] redhat.com>
   10840 
   10841 	* configure.in: add --enable-checks
   10842 
   10843 	* dbus/dbus-message.c (dbus_message_new): reverse name/service arguments
   10844 
   10845 	* dbus/dbus-connection.c (dbus_connection_preallocate_send): fix
   10846 	to use thread locks.
   10847 	(_dbus_connection_handler_destroyed_locked): move some private
   10848 	functions into proper docs group
   10849 
   10850 	* dbus/dbus-internals.h: add _dbus_return_if_fail,
   10851 	_dbus_return_val_if_fail
   10852 
   10853 	Throughout: use dbus_return_if_fail
   10854 
   10855 2003-04-23  James Willcox  <jwillcox (a] gnome.org>
   10856 
   10857 	* glib/dbus-glib.h:
   10858 	* glib/dbus-gmain.c: (add_timeout), (wakeup_main), (create_source),
   10859 	(dbus_connection_setup_with_g_main),
   10860 	(dbus_server_setup_with_g_main):
   10861 	* glib/test-dbus-glib.c: (main):
   10862 	* glib/test-thread-client.c: (main):
   10863 	* glib/test-thread-server.c: (new_connection_callback), (main):
   10864 	* tools/dbus-monitor.c: (main):
   10865 
   10866 	Added a GMainContext argument to dbus_connection_setup_with_g_main()
   10867 	and dbus_server_setup_with_g_main().
   10868 
   10869 2003-04-20  Havoc Pennington  <hp (a] pobox.com>
   10870 
   10871 	* doc/dbus-specification.sgml: document the restrictions on
   10872 	message and service names
   10873 
   10874 2003-04-22  Havoc Pennington  <hp (a] redhat.com>
   10875 
   10876 	* dbus/dbus-message.c, dbus/dbus-marshal.c: add 64-bit integer
   10877 	support, and do some code cleanups to share more code and
   10878 	speed up array marshal/demarshal.
   10879 
   10880 	* dbus-1.0.pc.in (Cflags): put libdir include file in cflags
   10881 
   10882 	* configure.in: generate dbus-arch-deps.h
   10883 
   10884 	* dbus/dbus-protocol.h (DBUS_TYPE_INT64, DBUS_TYPE_UINT64): add
   10885 	64-bit typecodes
   10886 
   10887 2003-04-22  Havoc Pennington  <hp (a] redhat.com>
   10888 
   10889 	* test/data/valid-messages/opposite-endian.message: fix test
   10890 	to use proper type for rply field
   10891 
   10892         * test/data/invalid-messages: add tests for below validation
   10893 
   10894 	* dbus/dbus-message.c (decode_header_data): validate field types,
   10895 	and validate that named fields are valid names
   10896 	(decode_name_field): consider messages in the
   10897 	org.freedesktop.Local. namespace to be invalid.
   10898 
   10899 	* dbus/dbus-string.c (_dbus_string_validate_name): new
   10900 
   10901 2003-04-19  Havoc Pennington  <hp (a] pobox.com>
   10902 
   10903 	* bus/driver.c (bus_driver_handle_hello): check limits and
   10904 	return an error if they are exceeded.
   10905 
   10906 	* bus/connection.c: maintain separate lists of active and inactive
   10907 	connections, and a count of each. Maintain count of completed
   10908 	connections per user. Implement code to check connection limits.
   10909 
   10910 	* dbus/dbus-list.c (_dbus_list_unlink): export
   10911 
   10912 	* bus/bus.c (bus_context_check_security_policy): enforce a maximum
   10913 	number of bytes in the message queue for a connection
   10914 
   10915 2003-04-18  Havoc Pennington  <hp (a] pobox.com>
   10916 
   10917 	* dbus/dbus-auth.c (record_mechanisms): memleak fixes
   10918 
   10919 	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): fix some
   10920 	memleaks
   10921 
   10922 	* dbus/dbus-keyring.c (add_new_key): fix a memleak, and
   10923 	on realloc be sure to update the pointer in the keyring
   10924 
   10925 	* dbus/dbus-string.c (_dbus_string_zero): compensate for align
   10926 	offset to avoid writing to unallocated memory
   10927 
   10928 	* dbus/dbus-auth.c (process_rejected): return FALSE if we fail to
   10929 	try the next mechanism, so we properly handle OOM
   10930 
   10931 	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): fix double-free
   10932 	on OOM.
   10933 	(_dbus_keyring_new): fix OOM bug
   10934 	(_dbus_keyring_new_homedir): always set error; impose a maximum
   10935 	number of keys we'll load from the file, mostly to speed up the
   10936 	test suite and make its OOM checks more useful, but also for
   10937 	general sanity.
   10938 
   10939 	* dbus/dbus-auth.c (process_error_server): reject authentication
   10940 	if we get an error from the client
   10941 	(process_cancel): on cancel, send REJECTED, per the spec
   10942 	(process_error_client): send CANCEL if we get an error from the
   10943 	server.
   10944 
   10945 2003-04-18  Havoc Pennington  <hp (a] pobox.com>
   10946 
   10947 	* dbus/dbus-mainloop.c (_dbus_loop_iterate): fix UMR in verbose
   10948 	debug spew
   10949 
   10950 	* dbus/dbus-auth.c (handle_client_data_cookie_sha1_mech): fix OOM
   10951 	handling problem
   10952 
   10953 	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): only whine
   10954 	about DBUS_TEST_HOMEDIR once
   10955 
   10956 	* bus/Makefile.am (TESTS_ENVIRONMENT): put DBUS_TEST_HOMEDIR in
   10957 	the environment
   10958 
   10959 	* bus/dispatch.c (bus_dispatch_sha1_test): actually load sha1
   10960 	config file so we test the right thing
   10961 
   10962 	Throughout: assorted docs improvements
   10963 
   10964 2003-04-18  Havoc Pennington  <hp (a] pobox.com>
   10965 
   10966 	* glib/dbus-gmain.c: adapt to watch changes
   10967 
   10968 	* bus/bus.c, bus/activation.c, etc.: adjust to watch changes
   10969 
   10970 	* dbus/dbus-server.h: remove dbus_server_handle_watch
   10971 
   10972 	* dbus/dbus-connection.h: remove dbus_connection_handle_watch
   10973 
   10974 	* dbus/dbus-watch.c (dbus_watch_handle): change DBusWatch to work
   10975 	like DBusTimeout, so we don't need dbus_connection_handle_watch
   10976 	etc.
   10977 
   10978 2003-04-17  Havoc Pennington  <hp (a] redhat.com>
   10979 
   10980 	* dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd
   10981 	database usage so it all goes via the DBusUserDatabase cache.
   10982 
   10983 2003-04-17  Havoc Pennington  <hp (a] redhat.com>
   10984 
   10985 	* dbus/dbus-mainloop.c (_dbus_loop_iterate): fix logic so that if
   10986 	there was an OOM watch we skipped, we always return TRUE so we
   10987 	iterate again to have a look at it again. Fixes test suite hang.
   10988 	Code rearrangement also lets us lose some memset and only iterate
   10989 	over callbacks once.
   10990 
   10991 	* bus/driver.c (bus_driver_handle_message): sense of test for
   10992 	reply was backward
   10993 
   10994 2003-04-16  Havoc Pennington  <hp (a] pobox.com>
   10995 
   10996 	* doc/dbus-specification.sgml: make spec say serials are unsigned
   10997 
   10998 	* dbus/dbus-message.h: change message serials to unsigned
   10999 
   11000 	* dbus/dbus-connection.c: adapt to message serials being unsigned
   11001 
   11002 2003-04-15  Havoc Pennington  <hp (a] pobox.com>
   11003 
   11004 	* bus/bus.c: create and keep around a shared DBusUserDatabase
   11005 	object.
   11006 
   11007 	* bus/connection.c (bus_connection_get_groups): don't cache
   11008 	groups for user in the connection object, since user database
   11009 	object now does that.
   11010 
   11011 2003-04-16  Havoc Pennington  <hp (a] redhat.com>
   11012 
   11013 	* dbus/dbus-message.c (_dbus_message_add_size_counter): keep a
   11014 	list of size counters
   11015 	(_dbus_message_loader_putback_message_link): put back a popped link
   11016 
   11017 	* dbus/dbus-connection.c
   11018 	(dbus_connection_set_max_live_messages_size): rename
   11019 	max_received_size
   11020 	(dbus_connection_get_outgoing_size): get size of outgoing
   11021 	queue
   11022 	(_dbus_connection_set_connection_counter): remove this cruft
   11023 
   11024 2003-04-14  Havoc Pennington  <hp (a] redhat.com>
   11025 
   11026 	* dbus/dbus-userdb.c: user database abstraction, mostly to get
   11027 	caching, but at some point we might want to be able to use a
   11028 	different database.
   11029 
   11030 	* bus/dispatch.c (bus_dispatch_sha1_test): add a test that uses
   11031 	SHA1 conf file to test the sha1 auth mechanism, since the regular
   11032 	test always uses EXTERNAL when available.
   11033 
   11034 	* configure.in,
   11035 	test/data/valid-config-files/debug-allow-all-sha1.conf.in:
   11036 	add conf file that requires use of sha1 auth
   11037 
   11038 2003-04-13  Havoc Pennington  <hp (a] pobox.com>
   11039 
   11040         * tools/dbus-send.c, tools/dbus-monitor.c: two utility programs
   11041 	from Philip Blundell to send messages and monitor them.
   11042 
   11043 2003-04-13  Havoc Pennington  <hp (a] pobox.com>
   11044 
   11045 	* dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting
   11046 	callbacks
   11047 
   11048 	* test/data/valid-config-files/debug-allow-all.conf.in: allow all
   11049 	users
   11050 
   11051 	* dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
   11052 	fix to only recover unused bytes if we're already authenticated
   11053 	(_dbus_transport_get_is_authenticated): fix to still mark us
   11054 	authenticated if there are unused bytes.
   11055 
   11056 	* bus/dispatch.c: implement security policy checking
   11057 
   11058 	* bus/connection.c (bus_transaction_send_from_driver): new
   11059 
   11060 	* bus/bus.c (bus_context_check_security_policy): new
   11061 
   11062 	* bus/dispatch.c (send_service_nonexistent_error): delete this,
   11063 	now we just set the DBusError and it gets converted to an error
   11064 	reply.
   11065 
   11066 	* bus/connection.c (allow_user_function): enable code using actual
   11067 	data from the config file
   11068 
   11069 	* bus/policy.c (list_allows_user): handle wildcard rules for
   11070 	user/group connection perms
   11071 
   11072 2003-04-13  Havoc Pennington  <hp (a] pobox.com>
   11073 
   11074 	* bus/config-parser.c: Load up the BusPolicy and BusPolicyRules
   11075 
   11076 	* dbus/dbus-sysdeps.c (_dbus_get_user_id): new function
   11077 
   11078 	* bus/policy.c (bus_policy_append_mandatory_rule)
   11079 	(bus_policy_append_default_rule, bus_policy_append_user_rule)
   11080 	(bus_policy_append_group_rule): new functions
   11081 
   11082 2003-04-12  Havoc Pennington  <hp (a] pobox.com>
   11083 
   11084 	* bus/config-parser.c (bus_config_parser_new): fix a memleak
   11085 
   11086 	* dbus/dbus-sysdeps.c: change DBusCredentials to use longs for
   11087 	the pid/gid/uid, just for paranoia.
   11088 
   11089 	* test/break-loader.c (randomly_do_n_things): find a byte
   11090 	containing a type code, and randomly change it to a different
   11091 	type code.
   11092 
   11093 2003-04-12  Havoc Pennington  <hp (a] pobox.com>
   11094 
   11095 	* bus/policy.h: change BusPolicy to be the thing from the config
   11096 	file, and rename old BusPolicy to BusClientPolicy
   11097 
   11098 	* bus/bus.c, bus/connection.c, bus/config-parser.c: change to
   11099 	match change in how policy works
   11100 
   11101 	* dbus/dbus-internals.h: mark assert_not_reached as
   11102 	__attribute((noreturn))__
   11103 
   11104 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11105 
   11106 	* doc/dbus-specification.sgml: fix a spot with the wrong name for
   11107 	the broadcast service. Use boolean return for ServiceExists.
   11108 
   11109 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11110 
   11111 	* configure.in: add another directory to look for qt in.
   11112 
   11113 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11114 
   11115 	* AUTHORS: add Colin Walters
   11116 
   11117 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11118 
   11119 	* NEWS: update
   11120 
   11121 	* configure.in: 0.9
   11122 
   11123 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11124 
   11125 	* bus/messagebus.in: remove pid file when stopping the
   11126 	message bus, since the bus won't have privileges to remove it
   11127 	itself.
   11128 
   11129 2003-04-11  Havoc Pennington  <hp (a] redhat.com>
   11130 
   11131 	* bus/bus.c (bus_context_new): move credentials change after
   11132 	creating pidfile
   11133 
   11134 2003-04-11  Havoc Pennington  <hp (a] pobox.com>
   11135 
   11136 	* test/decode-gcov.c: add "below average functions" to the
   11137 	coverage report, and change how some of the code works.
   11138 
   11139 	* bus/test-main.c: bracket some stuff in DBUS_BUILD_TESTS so it's
   11140 	not in the coverage stats.
   11141 
   11142 	* test/test-service.c (main): use _dbus_verbose not fprintf in a
   11143 	couple places so running the test suite doesn't result in megaspam.
   11144 
   11145 2003-04-11  Havoc Pennington  <hp (a] pobox.com>
   11146 
   11147 	* bus/dispatch.c (check_existent_service_activation): accept a no
   11148 	memory error in a place we didn't before
   11149 
   11150 	* bus/test.c (bus_test_run_everything): remove hacky "do it twice
   11151 	in case the first one failed," since the test suite is less
   11152 	broken now.
   11153 
   11154 2003-04-10  Havoc Pennington  <hp (a] pobox.com>
   11155 
   11156 	* bus/dispatch.c (check_segfault_service_activation): add test
   11157 	for launching an executable that just crashes.
   11158 
   11159 	* test/test-segfault.c (main): try setting coredumpsize to 0 so we
   11160 	don't leave a million cores. We'll see how portable this is.
   11161 
   11162 2003-04-10  Havoc Pennington  <hp (a] pobox.com>
   11163 
   11164 	* dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all
   11165 	the possible parent failures before we fork, so that we don't
   11166 	fail to create a babysitter after creating the child.
   11167 
   11168 	* bus/activation.c (bus_activation_activate_service): kill child
   11169 	if we don't successfully complete the activation.
   11170 
   11171 2003-04-10  Havoc Pennington  <hp (a] redhat.com>
   11172 
   11173 	* dbus/dbus-connection.c (dbus_connection_flush): don't spin on
   11174 	the connection if it's disconnected
   11175 
   11176 	* bus/activation.c (bus_activation_service_created): use new
   11177 	transaction features to roll back removal of pending activation if
   11178 	we don't successfully create the service after all. Don't remove
   11179 	pending activation if the function fails.
   11180 
   11181 	* dbus/dbus-list.c (_dbus_list_insert_before_link)
   11182 	(_dbus_list_insert_after_link): new code to facilitate
   11183 	services.c fixes
   11184 
   11185 	* dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated):
   11186 	new functionality, so we can preallocate the ability to insert
   11187 	into a hash table.
   11188 
   11189 	* bus/connection.c (bus_transaction_add_cancel_hook): new function
   11190 	allowing us to put custom hooks in a transaction to be used for
   11191 	cancelling said transaction
   11192 
   11193 	* doc/dbus-specification.sgml: add some discussion of secondary
   11194 	service owners, and disallow zero-length service names
   11195 
   11196 	* bus/services.c (bus_registry_acquire_service): new function,
   11197 	splits out part of bus_driver_handle_acquire_service() and fixes
   11198 	a bug where we didn't remove the service doing the acquiring
   11199 	from the secondary queue if we failed to remove the current owner
   11200 	from the front of the queue.
   11201 
   11202 2003-04-10  Alexander Larsson  <alexl (a] redhat.com>
   11203 
   11204 	* doc/dbus-specification.sgml:
   11205 	s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/
   11206 
   11207 2003-04-10  Alexander Larsson  <alexl (a] redhat.com>
   11208 
   11209 	* bus/.cvsignore:
   11210 	* glib/.cvsignore:
   11211 	* test/.cvsignore:
   11212 	Added files to cvsignore
   11213 
   11214 	* dbus/dbus-message.h:
   11215 	* dbus/dbus-message.c: (dbus_message_iter_get_named):
   11216 	Make get_named() take two out argument and return a boolean.
   11217 	(dbus_message_iter_get_args_valist):
   11218 	Update usage of get_named().
   11219 	(dbus_message_iter_append_byte):
   11220 	Fix typo
   11221 	(dbus_message_iter_append_named)
   11222 	Fix typo
   11223 	(message_iter_test), (check_message_handling_type), (_dbus_message_test):
   11224 	More tests.
   11225 
   11226 2003-04-10  Alexander Larsson  <alexl (a] redhat.com>
   11227 
   11228 	* dbus/dbus-marshal.[ch]:
   11229 	Add array_type_pos argument to _dbus_marshal_validate_arg.
   11230 	Let you pass a NULL end_pos to _dbus_marshal_validate_type.
   11231 
   11232 	* dbus/dbus-message.[ch]:
   11233 	Multi-dimensional arrays have full type specification in the
   11234 	outermost array. Iter code re-arranged to handle this.
   11235 	Added some more iter tests.
   11236 
   11237 	* doc/dbus-specification.sgml:
   11238 	Add me to authors.
   11239 	Remove old FIXME.
   11240 	Update new array encoding description.
   11241 	Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description.
   11242 
   11243 	* test/data/invalid-messages/array-with-mixed-types.message:
   11244 	* test/data/valid-messages/array-of-array-of-uint32.message:
   11245 	Change to the new array format.
   11246 
   11247 	* test/data/invalid-messages/too-short-dict.message:
   11248 	Fix bug in test.
   11249 
   11250 	* test/data/valid-messages/recursive-types.message:
   11251 	Fix up and extend test.
   11252 
   11253 2003-04-10  Havoc Pennington  <hp (a] pobox.com>
   11254 
   11255 	* bus/dispatch.c: lots of fixes
   11256 
   11257 	* dbus/dbus-mainloop.c (_dbus_loop_dispatch): export
   11258 	(_dbus_loop_iterate): remove old "quit if no callbacks" code,
   11259 	that was crack, broke the test service.
   11260 
   11261 	* dbus/dbus-transport.c (_dbus_transport_open): fix error
   11262 	handling to avoid piling up errors if we get a failure on the
   11263 	first address.
   11264 
   11265 	* dbus/dbus-internals.c (_dbus_real_assert_not_reached): include
   11266 	pid in assertion failures.
   11267 
   11268 	* dbus/dbus-mainloop.c (_dbus_loop_iterate): use static arrays up
   11269 	to some fixed size of file descriptor array. Don't return TRUE
   11270 	anytime a timeout exists, that led to lots of busy loop silliness
   11271 	in the tests.
   11272 
   11273 2003-04-09  Havoc Pennington  <hp (a] redhat.com>
   11274 
   11275 	* dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought
   11276 	I'd checked this in earlier but hadn't.
   11277 
   11278 2003-04-09  Havoc Pennington  <hp (a] redhat.com>
   11279 
   11280 	* bus/dispatch.c (bus_dispatch_test): get a bit further through
   11281 	the activation test (man this is getting old!)
   11282 
   11283 2003-04-09  Havoc Pennington  <hp (a] redhat.com>
   11284 
   11285 	* test/test-utils.c: use dispatch status function to fix this up
   11286 
   11287 	* bus/connection.c (connection_watch_callback): don't dispatch
   11288 	from here
   11289 	(connection_timeout_callback): don't dispatch from here
   11290 	(bus_connections_setup_connection): set the dispatch status function
   11291 	(bus_connection_disconnected): unset it
   11292 
   11293 	* dbus/dbus-mainloop.c (_dbus_loop_queue_dispatch): new function
   11294 	used to add a connection to be dispatched
   11295 	(_dbus_loop_iterate): do the dispatching at the end of each
   11296 	iteration
   11297 
   11298 	* dbus/dbus-connection.c
   11299 	(dbus_connection_set_dispatch_status_function): new function
   11300 	allowing us to fix up main loop usage
   11301 	(_dbus_connection_last_unref): free all the various function
   11302 	user data
   11303 	(dbus_connection_dispatch): call the DispatchStatusFunction
   11304 	whenever this function returns
   11305 	(dbus_connection_handle_watch): call DispatchStatusFunction
   11306 	(dbus_connection_send_with_reply_and_block): call DispatchStatusFunction
   11307 	(reply_handler_timeout): call DispatchStatusFunction
   11308 	(dbus_connection_flush): call DispatchStatusFunction
   11309 
   11310 2003-04-09  Havoc Pennington  <hp (a] redhat.com>
   11311 
   11312 	* dbus/dbus-bus.c (dbus_bus_register): fix up error handling and
   11313 	a memory leak
   11314 
   11315 	* bus/dispatch.c (check_service_activated): fix bug in test
   11316 
   11317 	* dbus/dbus-mainloop.c (check_timeout): fix this up
   11318 
   11319 	* dbus/dbus-internals.c (_dbus_verbose_real): include PID in
   11320 	verbose output so we can sort out output from different processes,
   11321 	e.g. in the activation case.
   11322 
   11323 2003-04-08  Colin Walters  <walters (a] gnu.org>
   11324 
   11325  	* bus/bus.c (struct BusContext) [pidfile]: New member, to store
   11326  	the pid file.
   11327  	(bus_context_new): Set it.
   11328  	(bus_context_unref): Use it to delete the pid file.
   11329 
   11330 2003-04-08  Havoc Pennington  <hp (a] redhat.com>
   11331 
   11332 	* test/data/invalid-messages/array-with-mixed-types.message:
   11333 	regression test that fails for the moment
   11334 
   11335 	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): reorder
   11336 	tests for convenience
   11337 
   11338 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): don't allow
   11339 	array of nil, it broke things.
   11340 
   11341 	* test/data/invalid-messages/array-of-nil.message: regression test
   11342 
   11343 	* test/data/valid-messages/array-of-array-of-uint32.message:
   11344 	happened to write this so added it to suite
   11345 
   11346 2003-04-08  Havoc Pennington  <hp (a] redhat.com>
   11347 
   11348 	* bus/driver.c (bus_driver_handle_acquire_service): init
   11349 	retval/reply before checking name
   11350 
   11351 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add a
   11352 	recursion depth argument
   11353 
   11354 	* dbus/dbus-message.h (struct DBusMessageIter): put some padding
   11355 	in the public struct for future extension
   11356 
   11357 	* dbus/dbus-message-builder.c (_dbus_message_data_load): fix
   11358 	typo
   11359 
   11360 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix a verbose
   11361 	message
   11362 
   11363 	* doc/dbus-specification.sgml: fix typo
   11364 
   11365 2003-04-08  Alexander Larsson  <alexl (a] redhat.com>
   11366 
   11367 	Implemented recursive types, named types and new-style iters
   11368 
   11369 	* bus/driver.c:
   11370 	* glib/test-thread-client.c: (thread_func):
   11371 	* glib/test-thread-server.c: (handle_test_message):
   11372 	* test/test-service.c: (handle_echo):
   11373 	Update to new api
   11374 
   11375 	* dbus/Makefile.am:
   11376 	* dbus/dbus-dict.c:
   11377 	* dbus/dbus-dict.h:
   11378 	* dbus/dbus.h
   11379 	Remove DBusDict
   11380 
   11381 	* dbus/dbus-internals.c: (_dbus_type_to_string):
   11382 	Update for new types.
   11383 
   11384 	* dbus/dbus-marshal.[ch]:
   11385 	Implement recursive types and the new marshalling format.
   11386 	Remove hardcoded dict marshalling.
   11387 	Marshal named types.
   11388 
   11389 	* dbus/dbus-message-builder.c:
   11390 	Add BYTE_ARRAY.
   11391 	Remove references to old types
   11392 
   11393 	* dbus/dbus-message.[ch]:
   11394 	New non-refcounted iter API that supports recursive iters.
   11395 	Use iters for appending, including support for recursive
   11396 	iters.
   11397 	Add byte and named type support.
   11398 	Update everything to new marshalling formats.
   11399 	Add tests for new API.
   11400 
   11401 	* dbus/dbus-protocol.h:
   11402 	Remove old array types.
   11403 	Add types: BYTE, ARRAY, DICT, NAMED
   11404 
   11405 	* dbus/dbus-string.c:
   11406 	* dbus/dbus-sysdeps.c:
   11407 	Make parse_double locale safe.
   11408 
   11409 	* dbus/dbus-test-main.c:
   11410 	Call setlocale.
   11411 
   11412 	* dbus/dbus-test.c:
   11413 	Kill dict test
   11414 
   11415 	* doc/dbus-specification.sgml:
   11416 	Update spec
   11417 
   11418 	* test/data/incomplete-messages/missing-body.message:
   11419 	* test/data/invalid-messages/bad-boolean.message:
   11420 	* test/data/invalid-messages/bad-boolean-array.message:
   11421 	* test/data/invalid-messages/boolean-array-length-too-long.message-raw:
   11422 	* test/data/invalid-messages/boolean-has-no-value.message-raw:
   11423 	* test/data/invalid-messages/too-short-dict.message:
   11424 	* test/data/valid-messages/dict-simple.message:
   11425 	* test/data/valid-messages/dict.message:
   11426 	* test/data/valid-messages/emptiness.message:
   11427 	* test/data/valid-messages/lots-of-arguments.message:
   11428 	* test/data/valid-messages/no-padding.message:
   11429 	* test/data/valid-messages/recursive-types.message:
   11430 	Add missing NAME fields
   11431 	Fix up dicts & arrays
   11432 
   11433 	* test/data/invalid-messages/dict-with-nil-value.message:
   11434 	Removed, this is not invalid anymore.
   11435 
   11436 	* test/data/valid-messages/recursive-types.message:
   11437 	Add new test for deeply recursive types.
   11438 
   11439 2003-04-07  Havoc Pennington  <hp (a] pobox.com>
   11440 
   11441 	* bus/driver.c (bus_driver_handle_acquire_service): return an
   11442 	error if you try to acquire a service that starts with ':'
   11443 
   11444 2003-04-07  Havoc Pennington  <hp (a] redhat.com>
   11445 
   11446 	* doc/dbus-specification.sgml: require that base service names
   11447 	start with ':' and that the base service is created/deleted
   11448 	as first and last things a connection does on the bus
   11449 
   11450 	* bus/dispatch.c (check_existent_service_activation): lots more
   11451 	work on the activation test; it doesn't fully pass yet...
   11452 
   11453 	* test/test-service.c (main): fix so we don't memleak the
   11454 	connection to the message bus
   11455 	(filter_func): accept a message asking us to exit
   11456 
   11457 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11458 
   11459 	* qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h,
   11460 	from Colin Walters
   11461 
   11462 	* configure.in: fixes to Qt detection from Colin Walters
   11463 
   11464 	* doc/Makefile.am: Only remove generated docbook dirs if they
   11465 	exist, from Colin Walters
   11466 
   11467 	* dbus/dbus-bus.c: change how we set well-known connections to
   11468 	NULL, so that it works if a single connection is stored in
   11469 	two well-known array slots.
   11470 
   11471 	* test/Makefile.am: remove a lot of stuff that isn't immediately
   11472 	useful, it's in CVS history if we want it.
   11473 
   11474 	* test/test-service.c: use dbus-mainloop instead of that
   11475 	watch.[hc] crack
   11476 
   11477 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11478 
   11479 	* dbus/Makefile.am: split lists of sources into stuff that goes in
   11480 	the library, util functions that go in the lib and are also used
   11481 	elsewhere, and util functions that are used in tests/daemon but
   11482 	don't go in the lib.
   11483 
   11484 	* dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc]
   11485 	here so it can be used in test binaries also
   11486 
   11487 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11488 
   11489 	* dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile
   11490 	here in the parent process, so we can return an error if it
   11491 	fails. Also, move some of the code into the child so the parent
   11492 	is less hosed if we fail midway through.
   11493 
   11494 	* bus/bus.c (bus_context_new): move pidfile detection further up
   11495 	in the function, before we start overwriting sockets and such.
   11496 
   11497 	* bus/messagebus.in: adjust this a bit, not sure if it will work.
   11498 
   11499 	* configure.in: add --with-system-pid-file and --with-system-socket
   11500 
   11501 2003-04-06  Colin Walters  <walters (a] verbum.org>
   11502 
   11503 	* configure.in (DBUS_SYSTEM_PID_FILE): New variable.
   11504 
   11505 	* bus/system.conf.in: Declare a pidfile.
   11506 
   11507 	* bus/bus.c (bus_context_new): Test for an existing pid file, and
   11508 	create one (if appropriate).
   11509 
   11510 	* bus/config-parser.c (enum ElementType) [ELEMENT_PIDFILE]: New.
   11511 	(struct BusConfigParser) [pidfile]: New.
   11512 	(element_type_to_name, merge_included, start_busconfig_child)
   11513 	(bus_config_parser_end_element, bus_config_parser_content): Handle it.
   11514 	(bus_config_parser_unref): Free it.
   11515 	(bus_config_parser_get_pidfile): New function.
   11516 
   11517 	* bus/config-parser.h (_dbus_write_pid_file): Prototype.
   11518 
   11519 	* dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error.
   11520 
   11521 	* dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function.
   11522 
   11523 	* dbus/dbus-sysdeps.h: Prototype it.
   11524 
   11525 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11526 
   11527 	* bus/bus.c (bus_context_new): print the address in here, rather
   11528 	than in main(), because we need to do it before forking the daemon
   11529 
   11530 	* bus/dispatch.c (send_service_nonexistent_error): set the sender
   11531 	on the service nonexistent error
   11532 
   11533 	* bus/driver.c (bus_driver_handle_acquire_service): set the
   11534 	sender on the AcquireService reply
   11535 
   11536 	* test/data/valid-config-files/debug-allow-all.conf.in: Make test
   11537 	server also listen on a UNIX socket so services can connect to it.
   11538 
   11539 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11540 
   11541 	* dbus/dbus-threads.c: Redo how the fake debug mutexes are done
   11542 	so it detects deadlocks and also we actually init threads when
   11543 	debugging.
   11544 
   11545 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11546 
   11547 	* dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
   11548 	save the domain socket name, and unlink it when we disconnect the
   11549 	server. Means that at least when we exit normally, we won't leave
   11550 	a bunch of junk in /tmp
   11551 
   11552 	* dbus/dbus-transport-unix.c
   11553 	(_dbus_transport_new_for_domain_socket): code cleanup (nicer
   11554 	memory management). (I was making a real change here but then
   11555 	didn't)
   11556 
   11557 2003-04-06  Havoc Pennington  <hp (a] pobox.com>
   11558 
   11559 	* bus/bus.c (bus_context_new): fix wrong handling of
   11560 	server_data_slot_unref() in the error case.
   11561 
   11562 	* dbus/dbus-internals.h (_dbus_assert): change so it passes
   11563 	"(condition) != 0" to _dbus_real_assert so that
   11564 	"_dbus_assert (pointer)" doesn't cause a warning
   11565 
   11566 	* bus/main.c (main): accept --print-address option to print out
   11567 	the message bus address
   11568 
   11569 	* dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this
   11570 
   11571 	* dbus/dbus-transport.c (_dbus_transport_open): special error for
   11572 	"tmpdir" option to unix: address on client side
   11573 
   11574 	* dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option
   11575 	to unix: address
   11576 
   11577 	* configure.in (TEST_SOCKET_DIR): locate a temporary directory
   11578 	we can use to create sockets in the test suite.
   11579 
   11580 	* bus/main.c (signal_handler): on SIGTERM, exit the daemon
   11581 	cleanly. To be used for testing.
   11582 
   11583 	* dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler()
   11584 
   11585 	* dbus/dbus-sysdeps.c (_dbus_set_signal_handler): new
   11586 
   11587 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
   11588 	handle trying to call this when there's no servers active
   11589 
   11590 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11591 
   11592 	* NEWS: update
   11593 
   11594 	* configure.in: 0.8
   11595 
   11596 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11597 
   11598 	* bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't
   11599 	crash on startup. Need to get "try starting the daemon"
   11600 	in the test suite I guess. ;-)
   11601 
   11602 	* dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
   11603 	tracked the number of open connections; it's better done in
   11604 	application-specific code as you want it to span all servers etc.
   11605 
   11606 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11607 
   11608 	* bus/Makefile.am (install-data-hook): add missing DESTDIR,
   11609 	patch from Colin Walters
   11610 
   11611 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11612 
   11613 	* doc/config-file.txt (Elements): fix docs of <auth> to reflect
   11614 	reality; in fact multiple mechanisms are allowed.
   11615 
   11616 	* dbus/dbus-internals.c (_dbus_real_assert)
   11617 	(_dbus_real_assert_not_reached): move guts of _dbus_assert() and
   11618 	_dbus_assert_not_reached() into functions, so that they don't show
   11619 	up in basic block counts for test coverage, and don't use up as
   11620 	much disk space. Does mean slower execution speed though, so
   11621 	assumes --disable-asserts is the normal production case.
   11622 
   11623 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11624 
   11625 	* test/Makefile.am (dist-hook): also dist *.in files
   11626 
   11627 	* NEWS: update
   11628 
   11629 	* configure.in: 0.7
   11630 
   11631 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11632 
   11633 	* dbus/dbus-string.c: docs warning
   11634 
   11635 	* dbus/dbus-spawn.c: missing docs
   11636 
   11637 	* dbus/dbus-memory.c (struct ShutdownClosure): missing docs
   11638 
   11639 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11640 
   11641 	* bus/loop.c (bus_loop_iterate): fix the timeout code, using
   11642 	magic from GLib
   11643 
   11644 	* dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid
   11645 	to -1 once we've reaped the babysitter
   11646 	(_dbus_babysitter_handle_watch): do as much work as we can, not
   11647 	just one go of it
   11648 
   11649 	* bus/activation.c: add code using DBusBabysitter so that we
   11650 	handle it when a service fails to start up properly.
   11651 	(bus_activation_service_created): don't remove the activation
   11652 	entries as we go, just let them get removed when we free the pending
   11653 	activation. Unref reply messages after sending them.
   11654 
   11655 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11656 
   11657 	* test/decode-gcov.c (main): print per-directory stats in the report
   11658 
   11659 	* Makefile.am (coverage-report.txt): don't include test/* in gcov stats
   11660 
   11661 2003-04-05  Havoc Pennington  <hp (a] pobox.com>
   11662 
   11663 	* Makefile.am (coverage-report.txt): add target "coverage-report.txt"
   11664 
   11665 	* test/decode-gcov.c: hack up a little program to suck data
   11666 	out of gcov files. Yes this is sort of silly.
   11667 
   11668 	* configure.in: define something in config.h and do an
   11669 	AM_CONDITIONAL when gcov is enabled
   11670 
   11671 2003-04-04  Havoc Pennington  <hp (a] redhat.com>
   11672 
   11673 	* dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
   11674 	return a "babysitter" object that is used to monitor the status of
   11675 	the spawned process and reap it when required.
   11676 
   11677 	* test/test-segfault.c, test/test-exit.c,
   11678 	test/test-sleep-forever.c: binaries that do various lame things,
   11679 	used in the test suite.
   11680 
   11681 	* dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()
   11682 
   11683 2003-04-03  Havoc Pennington  <hp (a] pobox.com>
   11684 
   11685 	* dbus/dbus-spawn.c: Move dbus-spawn into a separate file
   11686 	in preparation for modifying it, dbus-sysdeps is getting
   11687 	a bit unmanageable.
   11688 
   11689 2003-04-03  Havoc Pennington  <hp (a] redhat.com>
   11690 
   11691 	* bus/loop.h, bus/loop.c: make the mainloop an object so we can
   11692 	have multiple ones
   11693 
   11694 	* bus/*.[hc]: adapt to mainloop change
   11695 
   11696 2003-04-03  Havoc Pennington  <hp (a] redhat.com>
   11697 
   11698 	* bus/activation.c (load_directory): fix up memleaks
   11699 	(bus_activation_entry_free): free the entry
   11700 
   11701 	* dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
   11702 	we get one from the message bus; fix memleaks.
   11703 
   11704 	* dbus/dbus-message.c (dbus_set_error_from_message): new function
   11705 
   11706 2003-04-03  Havoc Pennington  <hp (a] pobox.com>
   11707 
   11708 	* bus/config-parser.c (bus_config_parser_unref): free
   11709 	list of mechanisms, bug discovered by test suite enhancements
   11710 	(putting system.conf and session.conf into suite)
   11711 
   11712 	* test/Makefile.am, test/test-service.c: add placeholder for a
   11713 	test service that we'll activate as part of test suite. Doesn't
   11714 	do anything yet.
   11715 
   11716 	* dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by
   11717 	setting NULL value, and use system malloc not dbus_malloc()
   11718 	when we have unavoidable memleakage.
   11719 
   11720 	* dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
   11721 	didn't work, and support DBUS_BUS_ACTIVATION.
   11722 
   11723 	* bus/activation.c (child_setup): pass our well-known bus type to
   11724 	the child
   11725 
   11726 	* bus/config-parser.c: support <type> to specify well-known type
   11727 
   11728 	* doc/dbus-specification.sgml: document the env variables to
   11729 	locate well-known buses and find service activator
   11730 
   11731 2003-04-02  Havoc Pennington  <hp (a] redhat.com>
   11732 
   11733 	* test/Makefile.am (all-local): add a rule to copy tests to
   11734 	builddir, so we can have generated tests. Use this to remove the
   11735 	silly hack for testing system.conf and session.conf. Will use this
   11736 	shortly to generate .service files pointing to test binaries.
   11737 
   11738 2003-04-02  Havoc Pennington  <hp (a] redhat.com>
   11739 
   11740 	* dbus/dbus-string.c (set_length): fix a bug - we allocated max of
   11741 	current alloc and needed new length, not max of the doubled
   11742 	allocation and needed new length. Also, when building tests,
   11743 	don't do the double-allocation stuff, just realloc every time.
   11744 
   11745 2003-04-02  Havoc Pennington  <hp (a] redhat.com>
   11746 
   11747 	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
   11748 	in error messages
   11749 	(_dbus_string_get_dirname): new
   11750 	(_dbus_sysdeps_test): new
   11751 	(_dbus_directory_open): include dirnames in error messages
   11752 
   11753 	* bus/config-parser.c: interpret <include> and <includedir> and
   11754 	<servicedir> relative to config file location if the given
   11755 	filename is not absolute.
   11756 
   11757 	* dbus/dbus-string.c (_dbus_string_find_byte_backward): new
   11758 
   11759 2003-04-02  Havoc Pennington  <hp (a] redhat.com>
   11760 
   11761 	* bus/connection.c (bus_transaction_send_error_reply): set sender
   11762 	service for the error, and unref the reply on success
   11763 
   11764 	* bus/activation.c: convert to use BusTransaction so OOM can be
   11765 	handled correctly
   11766 	(bus_activation_service_created): set sender of the message
   11767 
   11768 2003-04-01  Havoc Pennington  <hp (a] redhat.com>
   11769 
   11770 	* bus/config-parser.c, bus/bus.c: implement <servicedir> and
   11771 	<includedir> (at least mostly)
   11772 
   11773 	* dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
   11774 	first, then the user ID
   11775 
   11776 2003-04-01  Havoc Pennington  <hp (a] pobox.com>
   11777 
   11778 	* dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
   11779 	function
   11780 
   11781 	* dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
   11782 
   11783 	* dbus/dbus-internals.c (_dbus_dup_string_array): new function
   11784 
   11785 	* dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
   11786 	socket 0777, and unlink any existing socket.
   11787 
   11788 	* bus/bus.c (bus_context_new): change our UID/GID and fork if
   11789 	the configuration file so specifies; set up auth mechanism
   11790 	restrictions
   11791 
   11792 	* bus/config-parser.c (bus_config_parser_content): add support
   11793 	for <fork> option and fill in code for <auth>
   11794 
   11795 	* bus/system.conf.in: add <fork/> to default configuration,
   11796 	and limit auth mechanisms to EXTERNAL
   11797 
   11798 	* doc/config-file.txt (Elements): add <fork>
   11799 
   11800 	* dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
   11801 	(_dbus_change_identity): new function
   11802 
   11803 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11804 
   11805 	* dbus/dbus-sysdeps.c (_dbus_connect_unix_socket)
   11806 	(_dbus_listen_unix_socket): fix off-by-one error in null
   11807 	termination spotted by Nalin
   11808 
   11809 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11810 
   11811 	* dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
   11812 	DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
   11813 	having a real home directory available.
   11814 
   11815 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11816 
   11817 	* bus/Makefile.am (install-data-hook): create /var/run/dbus
   11818 
   11819 	* bus/messagebus.in: add init script for Red Hat /etc/init.d
   11820 
   11821 	* configure.in: add support for specifying a style of init script
   11822 	to install
   11823 
   11824 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11825 
   11826         Fix some annoying DBusString API and fix all affected code.
   11827 
   11828 	* dbus/dbus-string.c (_dbus_string_init): get rid of annoying
   11829 	max_length argument
   11830 	(_dbus_string_get_data): change to return string instead of using
   11831 	an out param
   11832 	(_dbus_string_get_const_data): ditto
   11833 	(_dbus_string_get_data_len): ditto
   11834 	(_dbus_string_get_const_data_len): ditto
   11835 
   11836 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11837 
   11838 	* bus/main.c (main): fix up the command line arguments to be nicer
   11839 
   11840 2003-03-31  Havoc Pennington  <hp (a] redhat.com>
   11841 
   11842 	* dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
   11843 	define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
   11844 	final location that lands in the config file
   11845 
   11846 	* bus/config-loader-expat.c (bus_config_load): fix type of
   11847 	XML_Parser variable
   11848 
   11849 	* doc/TODO: remove TODO item for dbus_bus_get()
   11850 
   11851 	* dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
   11852 
   11853 2003-03-31  Havoc Pennington  <hp (a] pobox.com>
   11854 
   11855 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
   11856 	(_dbus_transport_new_for_tcp_socket): these didn't need the "server"
   11857 	argument since they are always client side
   11858 
   11859 	* dbus/dbus-server.c (dbus_server_get_address): new function
   11860 
   11861 	* bus/main.c (main): take the configuration file as an argument.
   11862 
   11863 	* test/data/valid-config-files/debug-allow-all.conf: new file to
   11864 	use with dispatch.c tests for example
   11865 
   11866 	* bus/test-main.c (main): require test data dir
   11867 
   11868 	* bus/bus.c (bus_context_new): change this to take a
   11869 	configuration file name as argument
   11870 
   11871 	* doc/config-file.txt (Elements): add <servicedir>
   11872 
   11873 	* bus/system.conf, bus/session.conf: new files
   11874 
   11875 	* dbus/dbus-bus.c (dbus_bus_get): look for system bus on
   11876 	well-known socket if none set
   11877 
   11878 	* configure.in: create system.conf and session.conf
   11879 
   11880 2003-03-30  Havoc Pennington  <hp (a] pobox.com>
   11881 
   11882 	* bus/config-parser.c: hacking
   11883 
   11884 	* dbus/dbus-memory.c: don't use DBusList for the list of stuff
   11885 	to shut down, since it could cause weirdness with the DBusList
   11886 	lock
   11887 
   11888 	* dbus/dbus-list.c (_dbus_list_test): add tests for the
   11889 	link-oriented stack routines
   11890 	(alloc_link): free the mempool if the first alloc from it fails
   11891 
   11892 	* dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
   11893 
   11894 	* dbus/dbus-string.c (UNICODE_VALID): sync new version of this
   11895 	from GLib
   11896 	(_dbus_string_skip_white): new
   11897 
   11898 	* doc/config-file.txt (Elements): add <includedir>
   11899 
   11900 2003-03-28  Havoc Pennington  <hp (a] pobox.com>
   11901 
   11902 	* dbus/dbus-string.c (_dbus_string_copy_data_len)
   11903 	(_dbus_string_copy_data): new functions
   11904 
   11905 2003-03-28  Anders Carlsson  <andersca (a] codefactory.se>
   11906 
   11907 	* dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
   11908 	* dbus/dbus-bus.h:
   11909 	Add dbus_bus_get.
   11910 
   11911 	* dbus/dbus-memory.c:
   11912 	Fix a doc comment.
   11913 
   11914 2003-03-28  Havoc Pennington  <hp (a] pobox.com>
   11915 
   11916 	* bus/test.c (bus_test_flush_bus): remove the sleep from here,
   11917 	I think it may have just been superstition. Not sure.
   11918 
   11919 	* dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
   11920 	failures that were not being handled.
   11921 
   11922 	* dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
   11923 
   11924 	* dbus/dbus-memory.c: add ability to set number of mallocs in a
   11925 	row that will fail on out-of-memory.
   11926 
   11927 	* dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
   11928 	function for testing out-of-memory handling.
   11929 
   11930 	* bus/config-loader-expat.c (memsuite): don't wrap the dbus
   11931 	allocation functions, they do map exactly to the expat ones.
   11932 
   11933 2003-03-27  Havoc Pennington  <hp (a] redhat.com>
   11934 
   11935 	* bus/config-loader-libxml.c (bus_config_load): add another error
   11936 	check
   11937 
   11938 2003-03-26  Anders Carlsson  <andersca (a] codefactory.se>
   11939 
   11940 	* doc/TODO:
   11941 	Add note about automatic service activation.
   11942 
   11943 	* doc/dbus-specification.sgml:
   11944 	Rename the specification and clarify a few things.
   11945 
   11946 2003-03-26  Anders Carlsson  <andersca (a] codefactory.se>
   11947 
   11948 	* Doxyfile.in:
   11949 	* dbus/dbus-address.c:
   11950 	* dbus/dbus-dict.c:
   11951 	* dbus/dbus-marshal.c:
   11952 	* dbus/dbus-server-debug-pipe.c:
   11953 	* dbus/dbus-transport-unix.c:
   11954 	Fix documentation warnings.
   11955 
   11956 2003-03-26  Havoc Pennington  <hp (a] pobox.com>
   11957 
   11958 	* bus/test-main.c, dbus/dbus-test.c (main): check memleaks
   11959 	after every test so it's quick and easy to see which leaked, and
   11960 	so we test multiple dbus_shutdown() calls
   11961 
   11962 	* configure.in: change configure.in XML stuff to also support
   11963 	expat
   11964 
   11965 	* config-loader-libxml.c: some hacking
   11966 
   11967 	* config-loader-expat.c: some hacking
   11968 
   11969 	* config-parser.c: some hacking, plus tests
   11970 
   11971 2003-03-25  Havoc Pennington  <hp (a] redhat.com>
   11972 
   11973         * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
   11974 
   11975 	* configure.in: add --with-xml option to specify XML library,
   11976 	right now only libxml is supported.
   11977 
   11978 	* bus/config-loader-libxml.c, config-parser.c: sync some minor
   11979 	nonworking code between home and work, still just stubs
   11980 
   11981 2003-03-24  Havoc Pennington  <hp (a] redhat.com>
   11982 
   11983 	* dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
   11984 	file
   11985 
   11986 	* dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
   11987 	NULL argument for "message" if the error is a well-known one,
   11988 	fill in a generic message in this case.
   11989 
   11990 	* dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
   11991 	favor of DBusError
   11992 
   11993 	* bus/test.c (bus_test_flush_bus): add
   11994 
   11995 	* bus/policy.c (bus_policy_test): test code stub
   11996 
   11997 2003-03-24  Havoc Pennington  <hp (a] pobox.com>
   11998 
   11999 	* bus/connection.c (bus_connections_setup_connection): set up
   12000 	the "can this user connect" function, but it always returns
   12001 	TRUE until we have a config file parser so we can have a config
   12002 	file that allows connections.
   12003 
   12004 2003-03-23  Havoc Pennington  <hp (a] pobox.com>
   12005 
   12006 	* dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
   12007 	DBUS_BUILD_TESTS, actually alloc/free a block of memory for
   12008 	the mutex, so we can check for proper memory management
   12009 	and OOM handling.
   12010 
   12011 	* dbus/dbus-dataslot.c: remove the mutex from
   12012 	DBusDataSlotAllocator and lock it manually when using it,
   12013 	to simplify fitting it into the global slots framework.
   12014 
   12015 	* dbus/dbus-threads.c (init_static_locks): rework how we're
   12016 	handling global locks so they are easily shut down.
   12017 
   12018 	* bus/policy.c (bus_policy_append_rule): fix
   12019 
   12020 	* bus/test-main.c (main): check for memleaks
   12021 
   12022 	* dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
   12023 	test suite check for memleaks
   12024 
   12025 	* dbus/dbus-memory.c: add support in test mode for tracking
   12026 	number of outstanding blocks
   12027 
   12028 2003-03-23  Havoc Pennington  <hp (a] pobox.com>
   12029 
   12030 	* bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
   12031 	policies code
   12032 
   12033 	* dbus/dbus-hash.h: add ULONG hash keys
   12034 
   12035 	* dbus/dbus-sysdeps.c (_dbus_get_groups): new
   12036 	(_dbus_get_group_id): new function
   12037 
   12038 2003-03-20  Havoc Pennington  <hp (a] redhat.com>
   12039 
   12040 	* dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
   12041 	new function
   12042 	(dbus_connection_get_unix_user): new function
   12043 
   12044 2003-03-20  Havoc Pennington  <hp (a] pobox.com>
   12045 
   12046 	* bus/connection.c (bus_connection_send_oom_error): assert that
   12047 	message has a sender
   12048 	(connection_execute_transaction): ditto
   12049 	(bus_connection_preallocate_oom_error): fix to set the sender, and
   12050 	set recipient to the destination service, not the bus driver
   12051 
   12052 	* bus/policy.c: hacking
   12053 
   12054 	* dbus/dbus-message.c (dbus_message_service_is): new function
   12055 	(dbus_message_sender_is): new
   12056 
   12057 2003-03-19  Havoc Pennington  <hp (a] redhat.com>
   12058 
   12059 	* bus/policy.c: start sketching code for policy restrictions on
   12060 	what connections can do.
   12061 
   12062 2003-03-18  Havoc Pennington  <hp (a] redhat.com>
   12063 
   12064 	* doc/TODO: some notes on high-level todo items. Little nitpick
   12065 	stuff is all in @todo, so no need to add it here.
   12066 
   12067 	* doc/config-file.txt: some notes on how config file might look
   12068 
   12069 2003-03-18  Anders Carlsson  <andersca (a] codefactory.se>
   12070 
   12071 	* configure.in: 0.6
   12072 
   12073 	* NEWS: Update.
   12074 
   12075 2003-03-17  Havoc Pennington  <hp (a] redhat.com>
   12076 
   12077 	* dbus/dbus-internals.h: add gcc attributes so that
   12078 	our printf-style functions warn on bad arguments to
   12079 	format
   12080 
   12081 	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
   12082 	format bug
   12083 
   12084 	* dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
   12085 	printf format bug
   12086 
   12087 2003-03-17  Havoc Pennington  <hp (a] redhat.com>
   12088 
   12089 	* bus/test-main.c (main): make it print something as it runs
   12090 	so make check doesn't look stuck
   12091 
   12092 	* doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
   12093 	from CVS, now obsolete
   12094 
   12095 2003-03-17  Anders Carlsson  <andersca (a] codefactory.se>
   12096 
   12097 	* bus/dispatch.c: (bus_dispatch):
   12098 	Refetch the service name since it may have been reallocated
   12099 	when dbus_message_set_sender was called.
   12100 
   12101 	* dbus/dbus-sysdeps.c: (_dbus_accept):
   12102 	Add address and address length variables and use them to stop
   12103 	valgrind from complaining.
   12104 
   12105 2003-03-17  Havoc Pennington  <hp (a] pobox.com>
   12106 
   12107 	All tests pass, no memleaks, no valgrind complaints.
   12108 
   12109 	* bus/test.c: refcount handler_slot
   12110 
   12111 	* bus/connection.c (bus_connections_new): refcount
   12112 	connection_data_slot
   12113 
   12114 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
   12115 	bytes so that auth scripts pass.
   12116 
   12117 	* bus/dispatch.c: init message_handler_slot so it gets allocated
   12118 	properly
   12119 
   12120 	* bus/dispatch.c (message_handler_slot_ref): fix memleak
   12121 
   12122 	* dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
   12123 	dealloc server_pipe_hash when no longer used for benefit of
   12124 	leak checking
   12125 
   12126 	* dbus/dbus-auth.c (process_command): memleak fix
   12127 
   12128 	* bus/dispatch.c (check_hello_message): memleak fix
   12129 
   12130 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12131 
   12132 	* dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
   12133 
   12134 2003-03-17  Anders Carlsson  <andersca (a] codefactory.se>
   12135 
   12136 	* bus/activation.c (bus_activation_activate_service): Append
   12137 	the pending activation entry to the list of pending activations.
   12138 
   12139 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12140 
   12141 	* bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
   12142 	connections
   12143 
   12144 	* dbus/dbus-address.c (create_entry): fix OOM handling when
   12145 	failing to alloc entry->method
   12146 
   12147 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12148 
   12149 	* dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
   12150 	the watch
   12151 
   12152 	* dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
   12153 	add some missing dbus_set_result
   12154 
   12155 	* bus/dispatch.c (bus_dispatch_add_connection): handle failure to
   12156 	alloc the DBusMessageHandler
   12157 
   12158 	* dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
   12159 	the transport here, since we call this from the finalizer; it
   12160 	resulted in a double-finalize.
   12161 
   12162 	* dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
   12163 	where we tried to use transport->connection that was NULL,
   12164 	happened when transport was disconnected early on due to OOM
   12165 
   12166 	* bus/*.c: adapt to handle OOM for watches/timeouts
   12167 
   12168 	* dbus/dbus-transport-unix.c: port to handle OOM during
   12169 	watch handling
   12170 
   12171 	* dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
   12172 	reference to unused bytes instead of a copy
   12173 
   12174 	* dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
   12175 	out of memory
   12176 
   12177 	* dbus/dbus-connection.c (dbus_connection_handle_watch): return
   12178 	FALSE on OOM
   12179 
   12180 	* dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
   12181 	of memory
   12182 
   12183 2003-03-16  Anders Carlsson  <andersca (a] codefactory.se>
   12184 
   12185 	* doc/dbus-specification.sgml:
   12186 	Document reply message for ActivateService.
   12187 
   12188 2003-03-16  Anders Carlsson  <andersca (a] codefactory.se>
   12189 
   12190 	* bus/activation.c: (bus_pending_activation_entry_free),
   12191 	(bus_pending_activation_free), (bus_activation_new),
   12192 	(bus_activation_unref), (bus_activation_service_created),
   12193 	(bus_activation_activate_service):
   12194 	* bus/activation.h:
   12195 	* bus/bus.c: (bus_context_new):
   12196 	* bus/desktop-file.c: (new_section):
   12197 	* bus/driver.c: (bus_driver_send_service_deleted),
   12198 	(bus_driver_handle_activate_service):
   12199 	* bus/services.c: (bus_registry_new), (bus_registry_ensure):
   12200 	* bus/services.h:
   12201 	* dbus/dbus-connection.c:
   12202 	(dbus_connection_send_with_reply_and_block):
   12203 	* dbus/dbus-message.c: (dbus_message_append_args_valist):
   12204 	* dbus/dbus-protocol.h:
   12205 	Make activation work better. Now pending activations will be queued
   12206 	and the daemon won't try to activate services that are already registered.
   12207 
   12208 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12209 
   12210 	* dbus/dbus-bus.c (ensure_bus_data): handle failure to set
   12211 	connection data
   12212 
   12213 	* dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
   12214 	DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
   12215 
   12216 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12217 
   12218 	* dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
   12219 	this. always run the test suite before commit...
   12220 
   12221 	* bus/*: adapt to DBusConnection API changes
   12222 
   12223 	* glib/dbus-gmain.c: adapt to DBusConnection API changes,
   12224 	requires renaming stuff to avoid dbus_connection_dispatch name
   12225 	conflict.
   12226 
   12227 	* dbus/dbus-transport.c (_dbus_transport_queue_messages): new
   12228 	function
   12229 
   12230 	* dbus/dbus-message.c (_dbus_message_loader_queue_messages):
   12231 	separate from _dbus_message_loader_return_buffer()
   12232 
   12233 	* dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
   12234 	this, because it's now always broken to use; the number of
   12235 	messages in queue vs. the number still buffered by the message
   12236 	loader is undefined/meaningless. Should use
   12237 	dbus_connection_get_dispatch_state().
   12238 	(dbus_connection_dispatch): rename from
   12239 	dbus_connection_dispatch_message
   12240 
   12241 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12242 
   12243 	* dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
   12244 	implementation
   12245 
   12246 2003-03-16  Anders Carlsson  <andersca (a] codefactory.se>
   12247 
   12248 	* dbus/dbus-connection.c:
   12249 	(dbus_connection_send_with_reply_and_block):
   12250 	Decrease connection->n_incoming when removing an entry
   12251 	from the list.
   12252 	* dbus/dbus-dict.c: (dbus_dict_entry_free),
   12253 	(dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
   12254 	(dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
   12255 	(dbus_dict_set_byte_array), (dbus_dict_set_string_array),
   12256 	(dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
   12257 	(dbus_dict_get_byte_array):
   12258 	Handle NULL arrays and strings. Also add support for byte arrays.
   12259 
   12260 	* dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
   12261 	(_dbus_marshal_dict), (_dbus_demarshal_byte_array),
   12262 	(_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
   12263 	(_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
   12264 	(_dbus_demarshal_dict), (demarshal_and_validate_len),
   12265 	(_dbus_marshal_validate_arg), (_dbus_marshal_test):
   12266 	* dbus/dbus-marshal.h:
   12267 	Add support for marshalling and demarshalling empty arrays and strings.
   12268 
   12269 	* dbus/dbus-message.c: (dbus_message_append_args_valist),
   12270 	(dbus_message_append_string_array),
   12271 	(dbus_message_iter_get_boolean),
   12272 	(dbus_message_iter_get_boolean_array),
   12273 	(dbus_message_iter_get_int32_array),
   12274 	(dbus_message_iter_get_uint32_array),
   12275 	(dbus_message_iter_get_double_array),
   12276 	(dbus_message_iter_get_byte_array),
   12277 	(dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
   12278 	(check_message_handling):
   12279 	Add support for getting empty arrays and dicts.
   12280 
   12281 	* dbus/dbus-string.c: (_dbus_string_validate_utf8):
   12282 	Don't do any validation at all for now, that's better than just checking
   12283 	for ASCII.
   12284 
   12285 	* test/data/valid-messages/emptiness.message:
   12286 	New test message with lots of empty arrays.
   12287 
   12288 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12289 
   12290 	* dbus/dbus-connection.c
   12291 	(_dbus_connection_queue_received_message_link): new function that
   12292 	can't fail due to OOM
   12293 
   12294 	* dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
   12295 	new function pops a message together with a list link
   12296 	containing it.
   12297 
   12298 	* dbus/dbus-transport-unix.c (queue_messages): use new link-based
   12299 	message queuing functions to avoid needing to alloc memory
   12300 
   12301 2003-03-16  Havoc Pennington  <hp (a] pobox.com>
   12302 
   12303 	Oops - test code was only testing failure of around 30 of the
   12304 	mallocs in the test path, but it turns out there are 500+
   12305 	mallocs. I believe this was due to misguided linking setup such
   12306 	that there was one copy of dbus_malloc etc. in the daemon and one
   12307 	in the shared lib, and only daemon mallocs were tested. In any
   12308 	case, the test case now tests all 500+ mallocs, and doesn't pass
   12309 	yet, though there are lots of fixes in this patch.
   12310 
   12311 	* dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
   12312 	this so that it doesn't need to allocate memory, since it
   12313 	has no way of indicating failure due to OOM (and would be
   12314 	annoying if it did).
   12315 
   12316 	* dbus/dbus-list.c (_dbus_list_pop_first_link): new function
   12317 
   12318 	* bus/Makefile.am: rearrange to create two self-contained
   12319 	libraries, to avoid having libraries with overlapping symbols.
   12320 	that was resulting in weirdness, e.g. I'm pretty sure there
   12321 	were two copies of global static variables.
   12322 
   12323 	* dbus/dbus-internals.c: move the malloc debug stuff to
   12324 	dbus-memory.c
   12325 
   12326 	* dbus/dbus-list.c (free_link): free list mempool if it becomes
   12327 	empty.
   12328 
   12329 	* dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
   12330 
   12331 	* dbus/dbus-address.c (dbus_parse_address): free list nodes
   12332 	on failure.
   12333 
   12334 	* bus/dispatch.c (bus_dispatch_add_connection): free
   12335 	message_handler_slot when no longer using it, so
   12336 	memory leak checkers are happy for the test suite.
   12337 
   12338 	* dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
   12339 
   12340 	* bus/bus.c (new_connection_callback): disconnect in here if
   12341 	bus_connections_setup_connection fails.
   12342 
   12343 	* bus/connection.c (bus_connections_unref): fix to free the
   12344 	connections
   12345 	(bus_connections_setup_connection): if this fails, don't
   12346 	disconnect the connection, just be sure there are no side
   12347 	effects.
   12348 
   12349 	* dbus/dbus-string.c (undo_alignment): unbreak this
   12350 
   12351 	* dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
   12352 	leaking
   12353 	(_dbus_auth_new): fix the order in which we free strings
   12354 	on OOM failure
   12355 
   12356 	* bus/connection.c (bus_connection_disconnected): fix to
   12357 	not send ServiceDeleted multiple times in case of memory
   12358 	allocation failure
   12359 
   12360 	* dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
   12361 	get the base service name
   12362 	(dbus_bus_register_client): don't return base service name,
   12363 	instead store it on the DBusConnection and have an accessor
   12364 	function for it.
   12365 	(dbus_bus_register_client): rename dbus_bus_register()
   12366 
   12367 	* bus/dispatch.c (check_hello_message): verify that other
   12368 	connections on the bus also got the correct results, not
   12369 	just the one sending hello
   12370 
   12371 2003-03-15  Havoc Pennington  <hp (a] pobox.com>
   12372 
   12373 	Make it pass the Hello handling test including all OOM codepaths.
   12374 	Now to do other messages...
   12375 
   12376 	* bus/services.c (bus_service_remove_owner): fix crash when
   12377 	removing owner from an empty list of owners
   12378 	(bus_registry_ensure): don't leave service in the list of
   12379 	a connection's owned services if we fail to put the service
   12380 	in the hash table.
   12381 
   12382 	* bus/connection.c (bus_connection_preallocate_oom_error): set
   12383 	error flag on the OOM error.
   12384 
   12385 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport):
   12386 	handle _dbus_transport_set_connection failure
   12387 
   12388 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
   12389 	to create watches up front and simply enable/disable them as
   12390 	needed.
   12391 	(unix_connection_set): this can now fail on OOM
   12392 
   12393 	* dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
   12394 	of enabling/disabling a watch or timeout.
   12395 
   12396 	* bus/loop.c (bus_loop_iterate): don't touch disabled
   12397 	watches/timeouts
   12398 
   12399 	* glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
   12400 
   12401 2003-03-15  Havoc Pennington  <hp (a] pobox.com>
   12402 
   12403 	* bus/dispatch.c (bus_dispatch_test): OK, now finally actually
   12404 	write useful test code, after all that futzing around ;-)
   12405 
   12406 	Test does not yet pass because we can't handle OOM in
   12407 	_dbus_transport_messages_pending (basically,
   12408 	dbus_connection_preallocate_send() does not prealloc the write
   12409 	watch). To fix this, I think we need to add new stuff to
   12410 	set_watch_functions, namely a SetEnabled function so we can alloc
   12411 	the watch earlier, then enable it later.
   12412 
   12413 	* dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
   12414 	dbus-memory.c to the convenience lib
   12415 
   12416 	* bus/test.c: rename some static functions to keep them clearly
   12417 	distinct from stuff in connection.c. Handle client disconnection.
   12418 
   12419 2003-03-14  Havoc Pennington  <hp (a] pobox.com>
   12420 
   12421 	* bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
   12422 	transport, tests more of the real codepath. Set up clients
   12423 	with bus_setup_debug_client.
   12424 
   12425 	* bus/test.c (bus_setup_debug_client): function to set up debug
   12426 	"clients" on the main loop
   12427 
   12428 	* dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
   12429 	support
   12430 
   12431 	* dbus/dbus-server.c (dbus_server_listen): add debug-pipe
   12432 	server type
   12433 
   12434 	* dbus/dbus-server-debug.c: support a debug server based on pipes
   12435 
   12436 	* dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
   12437 	(_dbus_close): new function
   12438 
   12439 	* configure.in: check for socketpair
   12440 
   12441 2003-03-14  Havoc Pennington  <hp (a] redhat.com>
   12442 
   12443 	* dbus/dbus-memory.c: add a "detect buffer overwrites on free"
   12444 	cheesy hack
   12445 
   12446 	* dbus/dbus-transport-debug.c: rework this a good bit to be
   12447 	less complicated. hopefully still works.
   12448 
   12449 	* dbus/dbus-server-debug.c (handle_new_client): remove timeout
   12450 	manually
   12451 
   12452 	* glib/dbus-gmain.c (timeout_handler): don't remove timeout
   12453 	after running it
   12454 
   12455 	* dbus/dbus-message.c (dbus_message_copy): rename from
   12456 	dbus_message_new_from_message, fix it up to copy
   12457 	all the message fields, add test case
   12458 
   12459 	* bus/dispatch.c (bus_dispatch_test): add some more test code,
   12460 	not quite passing yet
   12461 
   12462 2003-03-14  Havoc Pennington  <hp (a] pobox.com>
   12463 
   12464 	* bus/loop.c (bus_loop_iterate): add this so we can "run loop
   12465 	until no work remains" in test code. (the large diff here
   12466 	is just code movement, no actual changes)
   12467 
   12468 	* dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
   12469 	1, no point waiting around for test code.
   12470 	(_dbus_server_debug_accept_transport): unref the timeout
   12471 	after adding it (right?)
   12472 
   12473 	* dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
   12474 
   12475 2003-03-13  Havoc Pennington  <hp (a] redhat.com>
   12476 
   12477 	* dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
   12478 	out of memory
   12479 
   12480 	* dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
   12481 	of memory
   12482 
   12483 	* dbus/dbus-connection.h: Make AddWatchFunction and
   12484 	AddTimeoutFunction return a bool so they can fail on out-of-memory
   12485 
   12486 	* bus/bus.c (bus_context_new): set up timeout handlers
   12487 
   12488 	* bus/connection.c (bus_connections_setup_connection): set up
   12489 	timeout handlers
   12490 
   12491 	* glib/dbus-gmain.c: adapt to the fact that set_functions stuff
   12492 	can fail
   12493 
   12494 	* bus/bus.c (bus_context_new): adapt to changes
   12495 
   12496 	* bus/connection.c: adapt to changes
   12497 
   12498 	* test/watch.c: adapt to DBusWatch changes
   12499 
   12500 	* bus/dispatch.c (bus_dispatch_test): started adding this but
   12501 	didn't finish
   12502 
   12503 2003-03-14  Anders Carlsson  <andersca (a] codefactory.se>
   12504 
   12505 	* bus/dispatch.c (send_service_nonexistent_error): Fix typo.
   12506 
   12507 2003-03-13  Havoc Pennington  <hp (a] pobox.com>
   12508 
   12509 	* bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
   12510 	set up a test framework as for the library
   12511 
   12512 2003-03-12  Havoc Pennington  <hp (a] pobox.com>
   12513 
   12514 	Throughout: purge global variables, introduce BusActivation,
   12515 	BusConnections, BusRegistry, etc. objects instead.
   12516 
   12517 	* bus/bus.h, bus/bus.c: introduce BusContext as a global
   12518 	message bus object
   12519 
   12520 	* test/Makefile.am (TEST_BINARIES): disable bus-test for now,
   12521 	going to redo this a bit differently I think
   12522 
   12523 2003-03-12  Havoc Pennington  <hp (a] redhat.com>
   12524 
   12525         Mega-patch that gets the message bus daemon initially handling
   12526 	out-of-memory. Work still needed. Also lots of random
   12527 	moving stuff to DBusError instead of ResultCode.
   12528 
   12529 	* dbus/dbus-list.c (_dbus_list_length_is_one): new function
   12530 
   12531 	* dbus/dbus-connection.c
   12532 	(dbus_connection_send_with_reply_and_block): use DBusError
   12533 
   12534 	* dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
   12535 	DBusResultCode
   12536 
   12537 	* dbus/dbus-connection.c (dbus_connection_send): drop the result
   12538 	code here, as the only failure possible is OOM.
   12539 
   12540 	* bus/connection.c (bus_connection_disconnect):
   12541 	rename bus_connection_disconnected as it's a notification only
   12542 
   12543 	* bus/driver.c (bus_driver_handle_acquire_service): don't free
   12544 	"name" on get_args failure, should be done by get_args;
   12545 	don't disconnect client for bad args, just return an error.
   12546 	(bus_driver_handle_service_exists): ditto
   12547 
   12548 	* bus/services.c (bus_services_list): NULL-terminate returned array
   12549 
   12550 	* bus/driver.c (bus_driver_send_service_lost)
   12551 	(bus_driver_send_service_acquired): send messages from driver to a
   12552 	specific client to the client's unique name, not to the broadcast
   12553 	service.
   12554 
   12555 	* dbus/dbus-message.c (decode_header_data): reject messages that
   12556 	contain no name field
   12557 	(_dbus_message_get_client_serial): rename to
   12558 	dbus_message_get_serial and make public
   12559 	(_dbus_message_set_serial): rename from set_client_serial
   12560 	(_dbus_message_set_reply_serial): make public
   12561 	(_dbus_message_get_reply_serial): make public
   12562 
   12563 	* bus/connection.c (bus_connection_foreach): allow stopping
   12564 	iteration by returning FALSE from foreach function.
   12565 
   12566 	* dbus/dbus-connection.c (dbus_connection_send_preallocated)
   12567 	(dbus_connection_free_preallocated_send)
   12568 	(dbus_connection_preallocate_send): new API for sending a message
   12569 	without possibility of malloc failure.
   12570 	(dbus_connection_send_message): rename to just
   12571 	dbus_connection_send (and same for whole function family)
   12572 
   12573 	* dbus/dbus-errors.c (dbus_error_free): make this reinit the error
   12574 
   12575 	* dbus/dbus-sysdeps.c (_dbus_exit): new function
   12576 
   12577 	* bus/activation.c: handle/return errors
   12578 
   12579 	* dbus/dbus-errors.h: add more DBUS_ERROR #define
   12580 
   12581 	* dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
   12582 	(_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
   12583 	(_dbus_result_from_errno): move to this file
   12584 
   12585 2003-03-10  Anders Carlsson  <andersca (a] codefactory.se>
   12586 
   12587 	* dbus/dbus-marshal.c:
   12588 	(_dbus_marshal_set_string):
   12589 	Take a length argument so we can marshal the correct string
   12590 	length.
   12591 
   12592 	(_dbus_marshal_dict), (_dbus_demarshal_dict),
   12593 	(_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
   12594 	(_dbus_marshal_test):
   12595 	* dbus/dbus-marshal.h:
   12596 	Add support for marshalling and demarshalling dicts.
   12597 
   12598 	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
   12599 	Add support for TYPE DICT.
   12600 
   12601 	* dbus/dbus-message.c: (set_string_field):
   12602 	Adjust header padding.
   12603 
   12604 	(dbus_message_append_args_valist), (dbus_message_append_dict),
   12605 	(dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
   12606 	(dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
   12607 	(check_message_handling), (check_have_valid_message):
   12608 	* dbus/dbus-message.h:
   12609 	Add functions for setting and getting dicts.
   12610 
   12611 	* dbus/dbus-protocol.h:
   12612 	Add DBUS_TYPE_DICT.
   12613 
   12614 	* dbus/dbus.h:
   12615 	Add dbus-dict.h
   12616 
   12617 	* doc/dbus-specification.sgml:
   12618 	Add information about how dicts are marshalled.
   12619 
   12620 	* test/data/invalid-messages/dict-with-nil-value.message:
   12621 	* test/data/invalid-messages/too-short-dict.message:
   12622 	* test/data/valid-messages/dict-simple.message:
   12623 	* test/data/valid-messages/dict.message:
   12624 	Add sample messages containing dicts.
   12625 
   12626 2003-03-08  Anders Carlsson  <andersca (a] codefactory.se>
   12627 
   12628 	* dbus/dbus-dict.h: Add DBUS_END_DECLS.
   12629 
   12630 2003-03-07  Anders Carlsson  <andersca (a] codefactory.se>
   12631 
   12632 	* dbus/Makefile.am:
   12633 	* dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
   12634 	(dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
   12635 	(dbus_dict_set_int32), (dbus_dict_set_uint32),
   12636 	(dbus_dict_set_double), (dbus_dict_set_string),
   12637 	(dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
   12638 	(dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
   12639 	(dbus_dict_set_string_array), (_dbus_dict_test):
   12640 	* dbus/dbus-dict.h:
   12641 	Fix according to comments from Havoc.
   12642 
   12643 2003-03-06  Michael Meeks  <michael (a] server.home>
   12644 
   12645 	* configure.in: if we don't have kde-config, disable have_qt.
   12646 
   12647 2003-03-07  Anders Carlsson  <andersca (a] codefactory.se>
   12648 
   12649 	* dbus/Makefile.am:
   12650 	Add dbus-dict.[ch]
   12651 
   12652 	* dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
   12653 	(dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
   12654 	(dbus_dict_remove), (dbus_dict_get_value_type),
   12655 	(dbus_dict_get_keys), (dbus_dict_put_boolean),
   12656 	(dbus_dict_put_int32), (dbus_dict_put_uint32),
   12657 	(dbus_dict_put_double), (dbus_dict_put_string),
   12658 	(dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
   12659 	(dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
   12660 	(dbus_dict_put_string_array), (dbus_dict_get_boolean),
   12661 	(dbus_dict_get_int32), (dbus_dict_get_uint32),
   12662 	(dbus_dict_get_double), (dbus_dict_get_string),
   12663 	(dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
   12664 	(dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
   12665 	(dbus_dict_get_string_array), (_dbus_dict_test):
   12666 	* dbus/dbus-dict.h:
   12667 	Add DBusDict implementation
   12668 
   12669 	* dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
   12670 	* dbus/dbus-test.h:
   12671 	Add _dbus_dict_test
   12672 
   12673 2003-03-04  Havoc Pennington  <hp (a] pobox.com>
   12674 
   12675 	* test/data/auth/*: adapt to changes
   12676 
   12677 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): add
   12678 	USERID_BASE64 and change USERNAME_BASE64 to put in username not
   12679 	userid
   12680 
   12681 	* dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
   12682 	more stuff from being in a context name, to make the protocol
   12683 	simpler to deal with
   12684 
   12685 	* dbus/dbus-errors.c (dbus_error_has_name): new function
   12686 	(dbus_error_is_set): new function
   12687 
   12688 	* dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
   12689 	with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
   12690 
   12691 	* dbus/dbus-connection.c (dbus_connection_flush): also read
   12692 	messages during a flush operation
   12693 
   12694 	* dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
   12695 
   12696 2003-03-05  Anders Carlsson  <andersca (a] codefactory.se>
   12697 
   12698 	* configure.in: Check for gethostbyname on Solaris.
   12699 
   12700 	* dbus/dbus-transport.c: (_dbus_transport_open):
   12701 	Remove duplicate "tcp" entry.
   12702 
   12703 	* doc/dbus-specification.sgml:
   12704 	Clarify some things.
   12705 
   12706 2003-03-05  Anders Carlsson  <andersca (a] codefactory.se>
   12707 
   12708 	* dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
   12709 	* dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
   12710 	(_dbus_keyring_test):
   12711 	* dbus/dbus-md5.c: (_dbus_md5_compute):
   12712 	* dbus/dbus-sha.c: (_dbus_sha_compute):
   12713 	Plug memory leaks.
   12714 
   12715 2003-03-05  Anders Carlsson  <andersca (a] codefactory.se>
   12716 
   12717 	* README: Add some things.
   12718 
   12719 2003-03-04  Anders Carlsson  <andersca (a] codefactory.se>
   12720 
   12721 	* dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
   12722 	after case DBUS_TYPE_BOOELAN.
   12723 
   12724 2003-03-02  Havoc Pennington  <hp (a] pobox.com>
   12725 
   12726 	* test/break-loader.c (randomly_set_extreme_ints): add test that
   12727 	sets really huge and small integers
   12728 
   12729 	* dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
   12730 	that length of boolean array fits in the string, and that
   12731 	string has room for boolean value in single-bool case.
   12732 
   12733 	* dbus/dbus-message-builder.c (_dbus_message_data_load): add
   12734 	optional value to "ALIGN" command which is what to fill the
   12735 	alignment with.
   12736 
   12737 	* test/data/valid-messages/no-padding.message: add regression
   12738 	test for the message padding problem
   12739 
   12740 2003-03-02  Havoc Pennington  <hp (a] pobox.com>
   12741 
   12742 	* dbus/dbus-message.c (decode_header_data): fix to always init
   12743 	message_padding, from Benjamin Dauvergne
   12744 
   12745 2003-03-02  Havoc Pennington  <hp (a] pobox.com>
   12746 
   12747 	* configure.in: 0.5
   12748 
   12749 	* NEWS: Update.
   12750 
   12751 2003-03-01  Joe Shaw  <joe (a] assbarn.com>
   12752 
   12753 	* configure.in: Check for "struct cmsgcred" and try to access its
   12754 	members for BSD-like unices.
   12755 
   12756 	* dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
   12757 	_dbus_read_credentials_unix_socket().
   12758 	(_dbus_read_credentials_unix_socket): Use recvmsg() instead of
   12759 	read() for reading the credential byte off the unix socket.  Use
   12760 	struct cmsgcred on systems that support it.
   12761 
   12762 2003-02-27  Alexander Larsson  <alexl (a] redhat.com>
   12763 
   12764 	* glib/Makefile.am:
   12765 	* configure.in:
   12766 	Make gthreads-2.0 dependency optional. Don't build thread test if
   12767 	its not found.
   12768 
   12769 2003-02-27  Havoc Pennington  <hp (a] pobox.com>
   12770 
   12771 	* dbus/dbus-connection.c
   12772 	(dbus_connection_send_message_with_reply_and_block): fix doh!
   12773 	doh! doh! bug that resulted in never removing a reply from the
   12774 	queue, no wonder we called get_reply_serial so much ;-)
   12775 
   12776 	* dbus/dbus-message.c (struct DBusMessage): cache reply serial
   12777 	and client serial instead of demarshaling them every time
   12778 
   12779 2003-02-27  Havoc Pennington  <hp (a] pobox.com>
   12780 
   12781 	* dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
   12782 	more inlined, using dbus-string-private.h, speeds things up
   12783 	substantially
   12784 
   12785 	* dbus/dbus-string.c (_dbus_string_free): apply align offset
   12786 	when freeing the string
   12787 	(_dbus_string_steal_data): fix for align offset
   12788 	(undo_alignment): new function
   12789 
   12790 2003-02-26  Havoc Pennington  <hp (a] redhat.com>
   12791 
   12792         All kinds of audit fixes from Owen, plus initial attempt to
   12793 	handle unaligned memory returned from malloc.
   12794 
   12795 	* dbus/dbus-string.c (_dbus_string_init): clamp max length to
   12796 	leave room for align_offset and nul byte
   12797 	(fixup_alignment): function to track an align_offset and
   12798 	ensure real->str is aligned
   12799 	(DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
   12800 	to allow a nul byte plus align offset
   12801 	(_dbus_string_lock): fix overflow issue
   12802 	(_dbus_string_init_const_len): add assertions on sanity of len,
   12803 	assign allocated to be ALLOCATION_PADDING larger than len
   12804 	(set_length): fixup the overflow handling
   12805 	(_dbus_string_get_data_len): fix overflow in assertion
   12806 	(open_gap): detect overflow in size of gap to be opened
   12807 	(_dbus_string_lengthen): add overflow check
   12808 	(_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
   12809 	(_dbus_string_append): add overflow check
   12810 	(_dbus_string_append_unichar): overflow
   12811 	(_dbus_string_delete): fix overflow in assertion
   12812 	(_dbus_string_copy_len): overflow in assertion
   12813 	(_dbus_string_replace_len): overflows in assertions
   12814 	(_dbus_string_find): change to implement in terms of
   12815 	_dbus_string_find_to
   12816 	(_dbus_string_find_to): assorted fixage
   12817 	(_dbus_string_equal_c_str): assert c_str != NULL,
   12818 	fix logic so the function works
   12819 	(_dbus_string_ends_with_c_str): fix overflow thingy
   12820 	(_dbus_string_base64_encode): overflow fix
   12821 	(_dbus_string_validate_ascii): overflow
   12822 	(_dbus_string_validate_nul): overflow
   12823 
   12824 2003-02-26  Havoc Pennington  <hp (a] redhat.com>
   12825 
   12826 	* dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
   12827 
   12828 2003-02-26  Alexander Larsson  <alexl (a] redhat.com>
   12829 
   12830 	* configure.in:
   12831 	Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
   12832 
   12833 	* dbus/dbus-connection.c:
   12834 	* dbus/dbus-connection.h:
   12835 	Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
   12836 	Add dbus_connection_set_wakeup_main_function and use it when queueing
   12837 	incoming and outgoing messages.
   12838 
   12839 
   12840 	* dbus/dbus-dataslot.c:
   12841 	Threadsafe usage of DBusDataSlotAllocator
   12842 
   12843 	* dbus/dbus-message.c: (dbus_message_get_args_iter):
   12844 	dbus_new can fail.
   12845 
   12846 	* dbus/dbus-server-unix.c:
   12847 	Add todo comment
   12848 
   12849 	* glib/dbus-gmain.c:
   12850 	Implement the new wakeup functions for glib.
   12851 
   12852 	* glib/Makefile.am:
   12853 	* glib/test-thread-client.c:
   12854 	* glib/test-thread-server.c:
   12855 	* glib/test-thread.h:
   12856 	Initial cut at some thread test code. Not really done yet.
   12857 
   12858 2003-02-26  Havoc Pennington  <hp (a] pobox.com>
   12859 
   12860 	* dbus/dbus-connection.c
   12861 	(dbus_connection_send_message_with_reply_and_block): fix crash
   12862 	where we ref'd the outgoing message instead of the returned reply
   12863 
   12864 	* dbus/dbus-transport-unix.c (do_authentication): check read watch
   12865 	at the end of this function, so if we didn't need to read for
   12866 	authentication, we reinstall it for receiving messages
   12867 
   12868 	* dbus/dbus-message.c (dbus_message_new_reply): allow replies to
   12869 	a NULL sender for peer-to-peer case
   12870 
   12871 	* dbus/dbus-transport-unix.c (check_read_watch): handle
   12872 	!authenticated case correctly
   12873 
   12874 	* glib/dbus-gmain.c: add support for DBusServer
   12875 
   12876 	* dbus/dbus-server.c: add data slot support
   12877 
   12878 	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
   12879 	return values and handle errors
   12880 
   12881 	* dbus/dbus-dataslot.c: factor out the data slot stuff from
   12882 	DBusConnection
   12883 
   12884 	* Doxyfile.in (INPUT): add glib subdir
   12885 
   12886 	* glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
   12887 	setup_with_g_main instead of hookup_with_g_main; write docs
   12888 
   12889 2003-02-24  Anders Carlsson  <andersca (a] codefactory.se>
   12890 
   12891 	* dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
   12892 	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
   12893 	* dbus/dbus-message.c: (dbus_message_append_boolean),
   12894 	(dbus_message_append_boolean_array),
   12895 	(dbus_message_get_args_valist), (_dbus_message_test):
   12896 	* dbus/dbus-message.h:
   12897 	* doc/dbus-specification.sgml:
   12898 	Various fixes as pointed out by Havoc.
   12899 
   12900 	* test/data/invalid-messages/bad-boolean-array.message:
   12901 	* test/data/invalid-messages/bad-boolean.message:
   12902 	Add invalid boolean value test cases.
   12903 
   12904 2003-02-24  Anders Carlsson  <andersca (a] codefactory.se>
   12905 
   12906 	* dbus/dbus-internals.c: (_dbus_type_to_string):
   12907 	* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
   12908 	(_dbus_marshal_validate_arg):
   12909 	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
   12910 	* dbus/dbus-message.c: (dbus_message_append_args_valist),
   12911 	(dbus_message_append_boolean), (dbus_message_append_boolean_array),
   12912 	(dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
   12913 	(dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
   12914 	(dbus_message_iter_get_double),
   12915 	(dbus_message_iter_get_boolean_array), (message_iter_test):
   12916 	* dbus/dbus-message.h:
   12917 	* dbus/dbus-protocol.h:
   12918 	* doc/dbus-specification.sgml:
   12919 	* test/data/valid-messages/lots-of-arguments.message:
   12920 	Add support for boolean and boolean array types.
   12921 
   12922 2003-02-23  Havoc Pennington  <hp (a] pobox.com>
   12923 
   12924 	* dbus/dbus-keyring.c: finish most of this implementation and
   12925 	simple unit test
   12926 
   12927 	* dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
   12928 	these barf if the error isn't cleared to NULL
   12929 
   12930 	* dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
   12931 	(_dbus_create_directory): new function
   12932 
   12933 	* dbus/dbus-errors.c (dbus_set_error): fix warning
   12934 
   12935 	* dbus/dbus-string.c (_dbus_string_hex_encode): new function
   12936 	(_dbus_string_hex_decode): new function
   12937 	(test_hex_roundtrip): test code
   12938 
   12939 	* dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
   12940 
   12941 	* dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
   12942 
   12943 	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
   12944 	the save-to-temp/rename trick to atomically write the new file
   12945 	(_dbus_string_parse_uint): new function
   12946 
   12947 2003-02-22  Havoc Pennington  <hp (a] pobox.com>
   12948 
   12949 	* test/Makefile.am (dist-hook): fix dist for test/data/sha-1
   12950 
   12951 2003-02-22  Havoc Pennington  <hp (a] pobox.com>
   12952 
   12953 	* dbus/dbus-message.c (dbus_message_iter_get_string_array):
   12954 	(dbus_message_iter_get_byte_array): Fix up doxygen warnings
   12955 
   12956 	* dbus/dbus-sha.c: add implementation of SHA-1 algorithm
   12957 
   12958 	* dbus/test/data/sha-1: add US government test suite for SHA-1
   12959 
   12960 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   12961 
   12962 	* dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
   12963 	Make string arrays NULL-terminated.
   12964 
   12965 	* dbus/dbus-memory.c: (dbus_free_string_array):
   12966 	* dbus/dbus-memory.h:
   12967 	New function for freeing NULL-terminated string arrays.
   12968 
   12969 	* dbus/dbus-message-builder.c: (append_quoted_string),
   12970 	(_dbus_message_data_load):
   12971 	Add support for array types.
   12972 
   12973 	* dbus/dbus-message.c: (check_message_handling):
   12974 	Add more types as test cases.
   12975 
   12976 	* dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
   12977 	(_dbus_string_parse_double):
   12978 	Add the start offset to the end offset.
   12979 
   12980 	* test/data/valid-messages/lots-of-arguments.message:
   12981 	New test message with lots of arguments.
   12982 
   12983 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   12984 
   12985 	* dbus/dbus-message.c: (dbus_message_append_nil),
   12986 	(dbus_message_append_int32), (dbus_message_append_uint32),
   12987 	(dbus_message_append_double), (dbus_message_append_string),
   12988 	(dbus_message_append_int32_array),
   12989 	(dbus_message_append_uint32_array),
   12990 	(dbus_message_append_double_array),
   12991 	(dbus_message_append_byte_array),
   12992 	(dbus_message_append_string_array):
   12993 	Fix all out-of-memory handling in these functions.
   12994 
   12995 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   12996 
   12997 	* dbus/dbus-message.c: (dbus_message_append_nil):
   12998 	Fix a silly.
   12999 
   13000 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   13001 
   13002 	* dbus/dbus-message.c: (dbus_message_append_args_valist),
   13003 	(dbus_message_append_nil), (dbus_message_append_int32_array),
   13004 	(dbus_message_append_uint32_array),
   13005 	(dbus_message_append_double_array),
   13006 	(dbus_message_append_byte_array),
   13007 	(dbus_message_append_string_array), (dbus_message_get_args_valist),
   13008 	(dbus_message_iter_get_int32_array),
   13009 	(dbus_message_iter_get_uint32_array),
   13010 	(dbus_message_iter_get_double_array),
   13011 	(dbus_message_iter_get_byte_array),
   13012 	(dbus_message_iter_get_string_array):
   13013 
   13014 	* dbus/dbus-message.h:
   13015 	Add functions for appending and getting arrays.
   13016 
   13017 2003-02-21  Anders Carlsson  <andersca (a] codefactory.se>
   13018 
   13019 	* dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
   13020 	element size at least 8 bytes, fixes mempool tests on
   13021 	64-bit machines.
   13022 
   13023 2003-02-20  Alexander Larsson  <alexl (a] redhat.com>
   13024 
   13025 	* dbus/dbus-transport-unix.c (unix_do_iteration):
   13026 	Unlock the connection mutex during a blocking select call.
   13027 	Add todo about how we need a way to wake up the select.
   13028 
   13029 	* dbus/dbus-connection-internal.h:
   13030 	* dbus/dbus-connection.c:
   13031 	Add _dbus_connection_lock and _dbus_connection_unlock.
   13032 
   13033 2003-02-19  Havoc Pennington  <hp (a] pobox.com>
   13034 
   13035 	* Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
   13036 	Doxyfile.in, not Doxyfile
   13037 
   13038 	* dbus/dbus-keyring.c: do some hacking on this
   13039 
   13040 	* dbus/dbus-sysdeps.c (_dbus_delete_file): new
   13041 
   13042 	* dbus/dbus-errors.c (dbus_set_error_const): do not call
   13043 	dbus_error_init
   13044 	(dbus_set_error): remove dbus_error_init, check for message ==
   13045 	NULL *before* we sprintf into it, and add @todo about including
   13046 	system headers in this file
   13047 
   13048 	* dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
   13049 
   13050 	* dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
   13051 
   13052 	* dbus/dbus-sysdeps.c (get_user_info): break this function out to
   13053 	get various bits of user information based on either username
   13054 	or user ID
   13055 	(_dbus_homedir_from_username): new function
   13056 
   13057 2003-02-19  Anders Carlsson  <andersca (a] codefactory.se>
   13058 
   13059 	* configure.in:
   13060 	Add check for nonposix getpwnam_r
   13061 
   13062 	* dbus/dbus-mempool.c: (_dbus_mem_pool_new):
   13063 	Align the pool element size to a sizeof (void *) boundary.
   13064 
   13065 	* dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
   13066 	(_dbus_listen_unix_socket), (_dbus_credentials_from_username):
   13067 	General Solaris fixes.
   13068 
   13069 	* test/data/valid-messages/simplest-manual.message:
   13070 	Explicitly state that we want little-endian packing.
   13071 
   13072 2003-02-19  Mikael Hallendal  <micke (a] codefactory.se>
   13073 
   13074 	* dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
   13075 
   13076 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
   13077 	Added to create a transport connecting using a tcp/ip socket.
   13078 
   13079 	* dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
   13080 	to a tcp socket at given host and port.
   13081 	(_dbus_listen_tcp_socket): added to listen on tcp socket for given
   13082 	hostname and port.
   13083 
   13084 	* dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
   13085 
   13086 	* dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
   13087 	Added to create a server listening on a TCP/IP socket.
   13088 
   13089 2003-02-19  Havoc Pennington  <hp (a] pobox.com>
   13090 
   13091 	Throughout: mop up all the Doxygen warnings and undocumented
   13092 	stuff.
   13093 
   13094 	* dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
   13095 	to search any paths.
   13096 
   13097 	* dbus/dbus-threads.c: move global mutex initializers to
   13098 	dbus-internals.h, multiple prototypes was confusing doxygen
   13099 	besides being kind of ugly
   13100 
   13101 	* Doxyfile (PREDEFINED): have Doxygen define
   13102 	DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
   13103 	docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
   13104 	(do not abuse the feature! it's for stuff like the autogenerated
   13105 	macros in dbus-md5.c, not just for things you don't feel like
   13106 	documenting...)
   13107 
   13108 2003-02-18  Havoc Pennington  <hp (a] pobox.com>
   13109 
   13110 	* dbus/dbus-string.c (_dbus_string_zero): new function
   13111 
   13112 	* dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
   13113 	wrap it in some dbus-friendly API
   13114 
   13115 	* dbus/dbus-types.h: add 16-bit types
   13116 
   13117 2003-02-18  Joe Shaw  <joe (a] assbarn.com>
   13118 
   13119 	* dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
   13120 	credentials from our currently running process.
   13121 	(get_word): Fix a buglet where we were copying the entire length
   13122 	instead of relative to our position.
   13123 
   13124 	* dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
   13125 	keys on the stack... it's 640k of data.
   13126 
   13127 	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
   13128 	read the credentials byte off the socket, even if we don't have
   13129 	SO_PEERCRED.
   13130 	(_dbus_poll): Implement poll() using select() for systems which
   13131 	don't have it.
   13132 
   13133 	* glib/test-dbus-glib.c (main): Print out an error if no
   13134 	parameters are given.
   13135 
   13136 	* test/data/auth/fallback.auth-script: Added.  Tests that a client
   13137 	can fallback to a secondary auth mechanism if the first fails.
   13138 
   13139 2003-02-18  Havoc Pennington  <hp (a] pobox.com>
   13140 
   13141 	* AUTHORS: add Alex
   13142 
   13143 2003-02-17  Havoc Pennington  <hp (a] pobox.com>
   13144 
   13145 	* doc/dbus-specification.sgml: lots of cosmetic
   13146 	cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
   13147 	env variable to DBUS_BUS_ADDRESS, s/client/application/,
   13148 	s/server/bus/ (except in authentication section). Add a section
   13149 	"Message Bus Message Routing"
   13150 
   13151 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se.>
   13152 
   13153 	Release 0.4
   13154 
   13155 	* NEWS: Update
   13156 
   13157 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se>
   13158 
   13159 	* doc/dbus-specification.sgml:
   13160 	Specification updates.
   13161 
   13162 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se>
   13163 
   13164 	* bus/activation.c: (bus_activation_init), (child_setup),
   13165 	(bus_activation_activate_service):
   13166 	* bus/activation.h:
   13167 	* bus/main.c: (main):
   13168 	Set DBUS_ADDRESS environment variable.
   13169 
   13170 	* dbus/dbus-errors.c: (dbus_set_error):
   13171 	Don't use va_copy since that's a C99 feature.
   13172 
   13173 	* dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
   13174 	(_dbus_spawn_async):
   13175 	* dbus/dbus-sysdeps.h:
   13176 	Add child_setup_func to _dbus_spawn_async.
   13177 
   13178 	* doc/dbus-specification.sgml:
   13179 	Update specification.
   13180 
   13181 	* test/spawn-test.c: (setup_func), (main):
   13182 	Fix test.
   13183 
   13184 2003-02-17  Alexander Larsson  <alexl (a] redhat.com>
   13185 
   13186 	* dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
   13187 	Added todo.
   13188 
   13189 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se>
   13190 
   13191 	* doc/.cvsignore:
   13192 	* doc/Makefile.am:
   13193 	* doc/dbus-test-plan.sgml:
   13194 	Add test plan document.
   13195 
   13196 	* test/Makefile.am:
   13197 	Fix distcheck.
   13198 
   13199 2003-02-17  Anders Carlsson  <andersca (a] codefactory.se>
   13200 
   13201 	* dbus/dbus-message.c: (decode_header_data),
   13202 	(_dbus_message_loader_return_buffer):
   13203 	Set the header padding amount when loading a message.
   13204 
   13205 2003-02-16  Anders Carlsson  <andersca (a] codefactory.se>
   13206 
   13207 	* bus/dispatch.c: (send_one_message):
   13208 	Only send broadcast messages to registered connections.
   13209 
   13210 	* dbus/dbus-message.c: (dbus_message_name_is):
   13211 	* dbus/dbus-message.h:
   13212 	New convenience function.
   13213 
   13214 	* dbus/dbus-transport-debug.c: (do_reading):
   13215 	Only dispatch one message per run.
   13216 
   13217 	* test/Makefile.am:
   13218 	* test/bus-test.c: (new_connection_callback), (die),
   13219 	(test_hello_client1_handler), (test_hello_client2_handler),
   13220 	(test_hello_replies), (main):
   13221 
   13222 	* test/bus-test-loop.[ch]:
   13223 	Add these.
   13224 
   13225 2003-02-16  Havoc Pennington  <hp (a] pobox.com>
   13226 
   13227 	* dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
   13228 	backward conditional
   13229 
   13230 2003-02-16  Alexander Larsson  <alexl (a] redhat.com>
   13231 
   13232 	* dbus/dbus-connection.c:
   13233 	Implement sent_message_with_reply. (with_reply_and block is still
   13234 	busted).
   13235 	Made dispatch_message not lose message if OOM.
   13236 
   13237 	* dbus/dbus-errors.h:
   13238 	Add NoReply error (for reply timeouts).
   13239 
   13240 2003-02-16  Alexander Larsson  <alexl (a] redhat.com>
   13241 
   13242 	* dbus/dbus-hash.c (_dbus_hash_table_unref):
   13243 	Actually free keys and values when destroying hashtable.
   13244 
   13245 2003-02-16  Anders Carlsson  <andersca (a] codefactory.se>
   13246 
   13247 	* dbus/dbus-auth.c: (client_try_next_mechanism):
   13248 	Plug a leak.
   13249 
   13250 	* dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
   13251 	Return TRUE if there's no thread implementation around.
   13252 
   13253 	* glib/dbus-gmain.c: (free_source),
   13254 	(dbus_connection_hookup_with_g_main):
   13255 	Make sure to remove the GSource when the connection is finalized.
   13256 
   13257 2003-02-16  Anders Carlsson  <andersca (a] codefactory.se>
   13258 
   13259 	* bus/dispatch.c: (bus_dispatch_message_handler):
   13260 	* dbus/dbus-errors.h:
   13261 	Return an error if someone tries to send a message to a service
   13262 	that doesn't exist.
   13263 
   13264 2003-02-16  Anders Carlsson  <andersca (a] codefactory.se>
   13265 
   13266 	* bus/activation.c: (load_directory), (bus_activation_init),
   13267 	(bus_activation_activate_service):
   13268 	* bus/activation.h:
   13269 	* bus/driver.c:
   13270 	(bus_driver_handle_activate_service), (bus_driver_handle_message):
   13271 	More work on the activation handling.
   13272 
   13273 	* dbus/dbus-errors.h:
   13274 	Add some error messages
   13275 
   13276 	* dbus/dbus-message.c: (dbus_message_new_error_reply):
   13277 	* dbus/dbus-message.h:
   13278 	New function that creates an error message.
   13279 
   13280 	* dbus/dbus-protocol.h:
   13281 	Add ACTIVATE_SERVER message.
   13282 
   13283 	* dbus/dbus-server-unix.c: (unix_handle_watch),
   13284 	(_dbus_server_new_for_domain_socket):
   13285 	Call _dbus_fd_set_close_on_exec.
   13286 
   13287 	* dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
   13288 	(_dbus_spawn_async), (_dbus_disable_sigpipe),
   13289 	(_dbus_fd_set_close_on_exec):
   13290 	* dbus/dbus-sysdeps.h:
   13291 	Add _dbus_fd_set_close_on exec function. Also add function that checks
   13292 	that all open fds are set to close-on-exec and warns otherwise.
   13293 
   13294 	* dbus/dbus-transport-unix.c:
   13295 	(_dbus_transport_new_for_domain_socket):
   13296 	Call _dbus_fd_set_close_on_exec.
   13297 
   13298 2003-02-16  Havoc Pennington  <hp (a] pobox.com>
   13299 
   13300 	* dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
   13301 	allow people to avoid setting SIGPIPE to SIG_IGN
   13302 	(_dbus_connection_new_for_transport): disable SIGPIPE unless
   13303 	we've been asked not to
   13304 
   13305 2003-02-15  Anders Carlsson  <andersca (a] codefactory.se>
   13306 
   13307 	* dbus/dbus-list.c: (_dbus_list_append_link),
   13308 	(_dbus_list_prepend_link):
   13309 	* dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
   13310 	(dbus_realloc):
   13311 	Warning fixes.
   13312 
   13313 2003-02-15  Anders Carlsson  <andersca (a] codefactory.se>
   13314 
   13315 	* bus/Makefile.am:
   13316 	* bus/activation.c: (bus_activation_entry_free),
   13317 	(add_desktop_file_entry), (load_directory), (bus_activation_init):
   13318 	* bus/activation.h:
   13319 	* bus/main.c: (main):
   13320 	Add simple activation support, doesn't work yet though.
   13321 
   13322 2003-02-15   Zack Rusin  <zack (a] kde.org>
   13323 
   13324 	* qt/dbus-qthread.cpp:  small casting fix
   13325 
   13326 2003-02-15  Anders Carlsson  <andersca (a] codefactory.se>
   13327 
   13328 	* dbus/dbus-errors.c: (dbus_set_error):
   13329 	* dbus/dbus-errors.h:
   13330 	Add a few errors and make dbus_set_error void.
   13331 
   13332 	* dbus/dbus-sysdeps.c:
   13333 	(_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
   13334 	(write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
   13335 	* dbus/dbus-sysdeps.h:
   13336 	Add _dbus_spawn_async.
   13337 
   13338 	* test/spawn-test.c: (main):
   13339 	Test for _dbus_spawn_async.
   13340 
   13341 2003-02-15  Anders Carlsson  <andersca (a] codefactory.se>
   13342 
   13343 	* dbus/dbus-internals.h:
   13344 	Fix build without tests.
   13345 
   13346 	* dbus/dbus-list.c: (alloc_link):
   13347 	Fix a segfault when a malloc fails.
   13348 
   13349 	* dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
   13350 	(dbus_malloc0), (dbus_realloc):
   13351 	Add support for malloc debugging.
   13352 
   13353 2003-02-15  Alexander Larsson  <alexl (a] redhat.com>
   13354 
   13355 	* dbus/dbus-threads.c:
   13356 	* dbus/dbus-threads.h:
   13357 	Add condvars. Remove static mutext from API.
   13358 	Implement static mutexes by initializing them from threads_init.
   13359 
   13360 	* glib/dbus-gthread.c:
   13361 	* qt/dbus-qthread.cpp:
   13362 	Update with the thread api changes.
   13363 
   13364 
   13365 	* dbus/dbus-list.c:
   13366 	* dbus/dbus-list.h:
   13367 	Turn StaticMutex into normal mutex + init function.
   13368 	Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
   13369 	_dbus_list_append_link, _dbus_list_prepend_link
   13370 
   13371 
   13372 	* dbus/dbus-sysdeps.c:
   13373 	* dbus/dbus-sysdeps.h:
   13374 	New type dbus_atomic_t, and new functions _dbus_atomic_inc,
   13375 	_dbus_atomic_dec. Only slow fallback implementation at the moment.
   13376 
   13377 	* dbus/dbus-protocol.h:
   13378 	Add DBUS_MESSAGE_LOCAL_DISCONNECT define
   13379 
   13380 	* dbus/dbus-message.c:
   13381 	Make ref/unref atomic.
   13382 	Fix some docs.
   13383 
   13384 	* dbus/dbus-connection-internal.h:
   13385 	* dbus/dbus-connection.c:
   13386 	* dbus/dbus-connection.h:
   13387 	Make threadsafe.
   13388 	Change _peek to _borrow,_return & _steal_borrowed.
   13389 	Change disconnect callback to event.
   13390 	Make dbus_connection_dispatch_messages reentrant.
   13391 
   13392 	* dbus/dbus-transport.c:
   13393 	Don't ref the connection on calls to the transport
   13394 	implementation.
   13395 
   13396 	* dbus/dbus-message-handler.c:
   13397 	Make threadsafe.
   13398 
   13399 	* glib/dbus-gmain.c:
   13400 	Don't use peek_message anymore
   13401 
   13402 	* test/Makefile.am:
   13403 	* test/debug-thread.c:
   13404 	* test/debug-thread.h:
   13405 	Simple thread implementation that asserts() on deadlocks in
   13406 	single-threaded code.
   13407 
   13408 	* test/bus-test.c:
   13409 	(main) Call debug_threads_init.
   13410 
   13411 	* test/watch.c:
   13412 	Use disconnect message instead of disconnect callback.
   13413 
   13414 	* bus/connection.c:
   13415 	* bus/connection.h:
   13416 	Don't call dbus_connection_set_disconnect_function. Instead export
   13417 	bus_connection_disconnect.
   13418 
   13419 	* bus/dispatch.c:
   13420 	Call bus_connection_disconnect when we get a disconnected message.
   13421 
   13422 2003-02-15  Havoc Pennington  <hp (a] pobox.com>
   13423 
   13424 	* dbus/dbus-message.c (dbus_message_new): fool around with the
   13425 	docs
   13426 
   13427 2003-02-14  Havoc Pennington  <hp (a] pobox.com>
   13428 
   13429 	* dbus/dbus-mempool.c: fail if the debug functions so indicate
   13430 
   13431 	* dbus/dbus-memory.c: fail if the debug functions indicate we
   13432 	should
   13433 
   13434 	* dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
   13435 	(_dbus_decrement_fail_alloc_counter): debug functions to
   13436 	simulate memory allocation failures
   13437 
   13438 2003-02-14  Havoc Pennington  <hp (a] pobox.com>
   13439 
   13440 	* dbus/dbus-errors.h (struct DBusError): add a word of padding
   13441 	to DBusError
   13442 
   13443 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13444 
   13445 	* bus/driver.c: (bus_driver_handle_hello):
   13446 	* bus/driver.h:
   13447 	* bus/services.c: (bus_service_lookup):
   13448 	Reorder message sending so we get a more sane order.
   13449 
   13450 	* test/bus-test.c: (message_handler):
   13451 	Fix tyop.
   13452 
   13453 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13454 
   13455 	* bus/driver.c: (bus_driver_send_service_deleted),
   13456 	(bus_driver_send_service_created), (bus_driver_send_service_lost),
   13457 	(bus_driver_send_service_acquired), (bus_driver_handle_hello),
   13458 	(bus_driver_send_welcome_message),
   13459 	(bus_driver_handle_list_services),
   13460 	(bus_driver_handle_acquire_service),
   13461 	(bus_driver_handle_service_exists):
   13462 	* dbus/dbus-bus.c: (dbus_bus_register_client),
   13463 	(dbus_bus_acquire_service), (dbus_bus_service_exists):
   13464 	* dbus/dbus-errors.c: (dbus_result_to_string):
   13465 	* dbus/dbus-errors.h:
   13466 	* dbus/dbus-message.c: (dbus_message_append_args),
   13467 	(dbus_message_append_args_valist), (dbus_message_get_args),
   13468 	(dbus_message_get_args_valist), (dbus_message_get_args_iter),
   13469 	(dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
   13470 	(dbus_message_iter_get_byte_array),
   13471 	(dbus_message_iter_get_string_array), (message_iter_test),
   13472 	(check_message_handling), (_dbus_message_test):
   13473 	* dbus/dbus-message.h:
   13474 	* test/bus-test.c: (main):
   13475 	Change fields to arguments in messages, so that they won't be
   13476 	confused with header fields.
   13477 
   13478 	* glib/test-dbus-glib.c: (main):
   13479 	Remove append_fields from hello message.
   13480 
   13481 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13482 
   13483 	* dbus/dbus-errors.c:
   13484 	* dbus/dbus-message.c:
   13485 	* dbus/dbus-string.c:
   13486 	Documentation fixes.
   13487 
   13488 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13489 
   13490 	* glib/dbus-gmain.c: (timeout_handler), (add_timeout),
   13491 	(remove_timeout):
   13492 	Implement support for timeouts in dbus-glib.
   13493 
   13494 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13495 
   13496 	* dbus/dbus-message-builder.c: (_dbus_message_data_load):
   13497 	* dbus/dbus-message.c: (process_test_subdir):
   13498 	* test/break-loader.c: (find_breaks_based_on):
   13499 	Plug some memory leaks.
   13500 
   13501 2003-02-13  Richard Hult  <rhult (a] codefactory.se>
   13502 
   13503 	* bus/main.c: Fix build.
   13504 
   13505 	* dbus/dbus-errors.h:
   13506 	* dbus/dbus-errors.c: Fix copyright for Anders.
   13507 
   13508 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13509 
   13510 	* bus/Makefile.am:
   13511 	Add utils.[ch]
   13512 
   13513 	* bus/connection.c: (bus_connection_foreach):
   13514 	Fix a warning.
   13515 
   13516 	* bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
   13517 	(unescape_string), (new_section), (parse_section_start),
   13518 	(parse_key_value), (report_error), (bus_desktop_file_load),
   13519 	(bus_desktop_file_get_string):
   13520 	* bus/desktop-file.h:
   13521 	Use DBusError for error reporting.
   13522 
   13523 	* bus/dispatch.c: (send_one_message),
   13524 	(bus_dispatch_message_handler):
   13525 	* bus/driver.c: (bus_driver_send_service_deleted),
   13526 	(bus_driver_send_service_created), (bus_driver_send_service_lost),
   13527 	(bus_driver_send_service_acquired), (bus_driver_handle_hello),
   13528 	(bus_driver_send_welcome_message),
   13529 	(bus_driver_handle_list_services),
   13530 	(bus_driver_handle_acquire_service),
   13531 	(bus_driver_handle_service_exists):
   13532 	* bus/loop.c: (bus_loop_run):
   13533 	* bus/main.c:
   13534 	Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
   13535 
   13536 	* bus/utils.c: (bus_wait_for_memory):
   13537 	* bus/utils.h:
   13538 	New files with general utility functions.
   13539 
   13540 	* dbus/dbus-internals.h:
   13541 	Remove _DBUS_HANDLE_OOM.
   13542 
   13543 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13544 
   13545 	* dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
   13546 	(dbus_error_free), (dbus_set_error_const), (dbus_set_error):
   13547 	* dbus/dbus-errors.h:
   13548 	Add DBusError structure.
   13549 
   13550 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13551 
   13552 	* test/data/valid-messages/standard-acquire-service.message:
   13553 	* test/data/valid-messages/standard-hello.message:
   13554 	* test/data/valid-messages/standard-list-services.message:
   13555 	* test/data/valid-messages/standard-service-exists.message:
   13556 	Add some standard messages.
   13557 
   13558 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13559 
   13560 	* bus/driver.c: (bus_driver_send_welcome_message),
   13561 	(bus_driver_handle_list_services),
   13562 	(bus_driver_handle_acquire_service),
   13563 	(bus_driver_handle_service_exists), (bus_driver_handle_message):
   13564 	Update for API changes in libdbus.
   13565 
   13566 	* dbus/dbus-message.c: (dbus_message_new_reply):
   13567 	* dbus/dbus-message.h:
   13568 	Remove the name argument. The spec states that replies shouldn't
   13569 	have a name.
   13570 
   13571 2003-02-13  Anders Carlsson  <andersca (a] codefactory.se>
   13572 
   13573 	* bus/desktop-file.c: (parse_section_start), (parse_key_value),
   13574 	(report_error), (bus_desktop_file_load), (lookup_section),
   13575 	(lookup_line), (bus_desktop_file_get_raw),
   13576 	(bus_desktop_file_get_string):
   13577 	* bus/desktop-file.h:
   13578 	Some fixes, and new functions for getting a key value from a section.
   13579 
   13580 2003-02-13  Havoc Pennington  <hp (a] pobox.com>
   13581 
   13582 	* test/data/auth/fail-after-n-attempts.auth-script: new test
   13583 
   13584 	* dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
   13585 	reject the client.
   13586 
   13587 2003-02-13  Havoc Pennington  <hp (a] pobox.com>
   13588 
   13589 	* dbus/dbus-auth.c (handle_server_data_external_mech): args to
   13590 	dbus_credentials_match were backward
   13591 
   13592 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): support
   13593 	NO_CREDENTIALS and ROOT_CREDENTIALS
   13594 
   13595 	* dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
   13596 	into here. Never process more commands after we've reached an
   13597 	end state; store further data as unused bytes.
   13598 
   13599 	* test/data/auth/*: add more auth tests
   13600 
   13601 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
   13602 	command to match exact string and EXPECT_UNUSED to match unused
   13603 	bytes
   13604 
   13605 	* test/Makefile.am (dist-hook): fix to dist all the test stuff
   13606 
   13607 2003-02-12  Havoc Pennington  <hp (a] pobox.com>
   13608 
   13609 	* dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
   13610 	\r off of popped lines
   13611 
   13612 	* dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
   13613 	scripts
   13614 
   13615 	* dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
   13616 	SEND, append \r\n
   13617 
   13618 2003-02-12  Havoc Pennington  <hp (a] pobox.com>
   13619 
   13620 	* dbus/Makefile.am: remove break-loader from the build, since it
   13621 	moved.
   13622 
   13623 	* configure.in: add --enable-gcov to turn on coverage profiling
   13624 	flags and disable optimization
   13625 
   13626 2003-02-10  Havoc Pennington  <hp (a] pobox.com>
   13627 
   13628         * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync
   13629 	initial cut at test framework for DBusAuth from laptop.
   13630 	Doesn't quite work yet but it compiles and I need to get
   13631 	it off the 266mhz laptop. ;-)
   13632 
   13633 	* dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
   13634 	fix a memleak in error case
   13635 
   13636 2003-02-12  Anders Carlsson  <andersca (a] codefactory.se>
   13637 
   13638 	* bus/Makefile.am:
   13639 	* bus/desktop-file.c:
   13640 	* bus/desktop-file.h:
   13641 	Add a desktop file parser.
   13642 
   13643 2003-02-11  Zack Rusin  <zack (a] kde.org>
   13644 
   13645 	* qt/message.[h|cpp]: sample implementation
   13646 	of the KDE wrapper for DBusMessage
   13647 
   13648 2003-02-09  Zack Rusin  <zack (a] kde.org>
   13649 
   13650 	* test/bus-test.c: make_it_compile
   13651 	* doc/dbus-specification.sgml: minimal semantic fix
   13652 
   13653 2003-02-06  Anders Carlsson  <andersca (a] codefactory.se>
   13654 
   13655 	Release 0.3
   13656 
   13657 	* NEWS: Update
   13658 
   13659 2003-02-06  Anders Carlsson  <andersca (a] codefactory.se>
   13660 
   13661 	* dbus/Makefile.am:
   13662 	* dbus/dbus-break-loader.c:
   13663 	* test/Makefile.am:
   13664 	* test/break-loader.c:
   13665 	Move dbus-break-loader to test/ and rename it to break-loader.
   13666 
   13667 2003-02-02  Havoc Pennington  <hp (a] pobox.com>
   13668 
   13669 	* dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files
   13670 	for code to manage cookies in your home directory
   13671 
   13672 	* dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
   13673 
   13674 	* dbus/dbus-auth.c (get_state): impose a maximum number of tries
   13675 	to authenticate, then disconnect the client.
   13676 
   13677 2003-02-03  Alexander Larsson  <alexl (a] redhat.com>
   13678 
   13679 	* dbus/dbus-message.c (dbus_message_append_fields):
   13680 	Correct docs.
   13681 
   13682 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13683 
   13684 	* doc/dbus-specification.sgml:
   13685 	Update address format section.
   13686 
   13687 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13688 
   13689 	* test/Makefile.am:
   13690 	* test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
   13691 	(message_handler), (new_connection_callback), (loop_quit),
   13692 	(loop_run), (main):
   13693 	Add bus test.
   13694 
   13695 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13696 
   13697 	* bus/driver.c: (bus_driver_handle_service_exists):
   13698 	Simplify the code a bit.
   13699 
   13700 	* dbus/dbus-bus.c: (dbus_bus_service_exists):
   13701 	Fix a silly.
   13702 
   13703 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13704 
   13705 	* bus/Makefile.am:
   13706 	Add libdbus-daemon.la and link to it.
   13707 
   13708 2003-02-01  James Willcox  <jwillcox (a] gnome.org>
   13709 
   13710 	* bus/driver.c: (bus_driver_handle_own_service):
   13711 	Actually include the service reply code in the message.
   13712 
   13713 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13714 
   13715 	* bus/driver.c: (bus_driver_handle_service_exists):
   13716 	Don't unref the incoming message.
   13717 
   13718 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13719 
   13720 	* dbus/dbus.h: Add dbus-address.h and dbus-bus.h
   13721 
   13722 2003-02-02  Anders Carlsson  <andersca (a] codefactory.se>
   13723 
   13724 	* dbus/dbus-server.c: (dbus_server_listen):
   13725 	* dbus/dbus-transport.c: (_dbus_transport_open):
   13726 	ifdef out the calls to the debug transport and server.
   13727 
   13728 2003-02-02  Alexander Larsson  <alexl (a] redhat.com>
   13729 
   13730 	* dbus/dbus-watch.c (dbus_watch_get_flags):
   13731 	Add note in the docs that ERROR or HANGUP won't be returned
   13732 	and are assumed always on.
   13733 
   13734 	* glib/dbus-gmain.c (add_watch):
   13735 	Always add IO_ERR | IO_HUP
   13736 
   13737 	* dbus/dbus-message.h:
   13738 	Add semicolon after dbus_message_iter_get_string_array().
   13739 	Makes qt code build again
   13740 
   13741 2003-02-01  Anders Carlsson  <andersca (a] codefactory.se>
   13742 
   13743 	* bus/driver.c: (create_unique_client_name),
   13744 	(bus_driver_handle_hello):
   13745 	Don't take a name, just use a numeric id to identify
   13746 	each client.
   13747 
   13748 	* dbus/Makefile.am:
   13749 	* dbus/dbus-bus.c: (dbus_bus_register_client),
   13750 	(dbus_bus_acquire_service), (dbus_bus_service_exists):
   13751 	* dbus/dbus-bus.h:
   13752 	Add new convenience functions for communicating with the bus.
   13753 
   13754 	* dbus/dbus-message.h:
   13755 
   13756 	* dbus/dbus-protocol.h:
   13757 	Fix a typo.
   13758 
   13759 2003-02-01  Alexander Larsson  <alexl (a] redhat.com>
   13760 
   13761 	* dbus/dbus-message.c (dbus_message_append_fields):
   13762 	Add some more doc comments.
   13763 
   13764 2003-02-01  Havoc Pennington  <hp (a] pobox.com>
   13765 
   13766 	* dbus/dbus-break-loader.c (randomly_modify_length): change
   13767 	a 4-byte value in the message as if it were a length
   13768 
   13769 	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
   13770 	execute bit on saved files
   13771 
   13772 2003-02-01  Havoc Pennington  <hp (a] pobox.com>
   13773 
   13774 	* dbus/dbus-break-loader.c (main): new program to find messages
   13775 	that break the loader.
   13776 
   13777 	* dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
   13778 	* dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
   13779 
   13780 	* dbus/dbus-string.c (_dbus_string_set_byte): new
   13781 
   13782 2003-01-31  Havoc Pennington  <hp (a] pobox.com>
   13783 
   13784 	* dbus/dbus-message.c: refactor the test code to be more general,
   13785 	in preparation for writing a "randomly permute test cases to
   13786 	try to break the loader" program.
   13787 
   13788 2003-01-31  Havoc Pennington  <hp (a] pobox.com>
   13789 
   13790 	* doc/dbus-specification.sgml: work on the specification
   13791 
   13792 	* dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
   13793 	the protocol version of the message.
   13794 
   13795 	* dbus/dbus-protocol.h: drop special _REPLY names, the spec
   13796 	no longer specifies that.
   13797 	(DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
   13798 	1/2/3/4)
   13799 
   13800 	* dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
   13801 	"break" for DBUS_TYPE_NIL, remove @todo
   13802 
   13803 2003-01-31  Havoc Pennington  <hp (a] pobox.com>
   13804 
   13805 	* dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
   13806 	just set_is_error/get_is_error as this is a commonly-used
   13807 	function, and write docs.
   13808 
   13809 2003-01-31  Anders Carlsson  <andersca (a] codefactory.se>
   13810 
   13811 	* dbus/dbus-address.c: (dbus_address_entry_free):
   13812 	Free key and value lists.
   13813 
   13814 	* dbus/dbus-internals.c: (_dbus_type_to_string):
   13815 	Add the types we didn't have.
   13816 
   13817 	* dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
   13818 	(_dbus_marshal_validate_arg):
   13819 	Add NIL types.
   13820 
   13821 	* dbus/dbus-message.c: (dbus_message_set_sender):
   13822 	Remove todo about being able to set sender to NULL.
   13823 
   13824 	(dbus_message_set_is_error_reply),
   13825 	(dbus_message_get_is_error_reply):
   13826 	* dbus/dbus-message.h:
   13827 	New functions.
   13828 
   13829 	* dbus/dbus-protocol.h:
   13830 	Add error reply flag.
   13831 
   13832 	* test/data/valid-messages/opposite-endian.message:
   13833 	Add NIL type to test.
   13834 
   13835 2003-01-31  Havoc Pennington  <hp (a] pobox.com>
   13836 
   13837 	* doc/dbus-specification.sgml: fully specify the header.  Add
   13838 	flags and major protocol version, and change header/body len to
   13839 	unsigned.
   13840 
   13841 	* dbus/dbus-message-builder.c (append_saved_length): append length
   13842 	as uint32
   13843 
   13844 	* dbus/dbus-message.c (dbus_message_create_header): change header
   13845 	length and body length to unsigned. Add the new fields from the
   13846 	spec
   13847 	(_dbus_message_loader_return_buffer): unsigned header/body len
   13848 
   13849 2003-01-30  Havoc Pennington  <hp (a] pobox.com>
   13850 
   13851 	* dbus/dbus-auth.c: rework to use only REJECTED, no
   13852 	MECHANISMS
   13853 
   13854 	* doc/dbus-sasl-profile.txt: drop MECHANISMS and just
   13855 	use REJECTED, suggested by Mark McLoughlin
   13856 
   13857 2003-01-30  Havoc Pennington  <hp (a] pobox.com>
   13858 
   13859 	* dbus/dbus-server.c (dbus_server_listen): @todo about how we need
   13860 	a better way to report errors here. e.g.  "unix address lacks
   13861 	path" or something. also "no such file" when the path doesn't
   13862 	exist, etc.
   13863 
   13864 	* dbus/dbus-address.c (dbus_address_entries_free): add @todo about
   13865 	leaking list nodes
   13866 	(dbus_parse_address): add @todo about documenting address format,
   13867 	and allowing , and ; to be escaped
   13868 
   13869 2003-01-30  Anders Carlsson  <andersca (a] codefactory.se>
   13870 
   13871 	* dbus/Makefile.am:
   13872 	Add dbus-address.[ch]
   13873 
   13874 	* dbus/dbus-address.c: (dbus_address_entry_free),
   13875 	(dbus_address_entries_free), (create_entry),
   13876 	(dbus_address_entry_get_method), (dbus_address_entry_get_value),
   13877 	(dbus_parse_address), (_dbus_address_test):
   13878 	* dbus/dbus-address.h:
   13879 	New files for dealing with address parsing.
   13880 
   13881 	* dbus/dbus-connection.c:
   13882 	Document timeout functions.
   13883 
   13884 	* dbus/dbus-message.c:
   13885 	Document dbus_message_new_from_message.
   13886 
   13887 	* dbus/dbus-server-debug.c:
   13888 	Document.
   13889 
   13890 	* dbus/dbus-server.c: (dbus_server_listen):
   13891 	Parse address and use correct server implementation.
   13892 
   13893 	* dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
   13894 	* dbus/dbus-string.h:
   13895 	New function with test.
   13896 
   13897 	* dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
   13898 	* dbus/dbus-test.h:
   13899 	Add address tests.
   13900 
   13901 	* dbus/dbus-transport-debug.c:
   13902 	Document.
   13903 
   13904 	* dbus/dbus-transport.c: (_dbus_transport_open):
   13905 	Parse address and use correct transport implementation.
   13906 
   13907 2003-01-30  Havoc Pennington  <hp (a] pobox.com>
   13908 
   13909 	* dbus/dbus-message.c: use message->byte_order instead of
   13910 	DBUS_COMPILER_BYTE_ORDER throughout.
   13911 	(dbus_message_create_header): pad header to align the
   13912 	start of the body of the message to 8-byte boundary
   13913 
   13914 	* dbus/dbus-marshal.h: make all the demarshalers take const
   13915 	DBusString arguments.
   13916 
   13917 	* dbus/dbus-message.c (_dbus_message_loader_return_buffer):
   13918 	validate message args here, so we don't have to do slow validation
   13919 	later, and so we catch bad messages as they are incoming. Also add
   13920 	better checks on header_len and body_len. Also fill in
   13921 	message->byte_order
   13922 
   13923 	* dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
   13924 	implemented properly)
   13925 	(_dbus_string_validate_nul): new function to check all-nul
   13926 
   13927 	* dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
   13928 	get_arg_end_pos and remove all validation
   13929 	(_dbus_marshal_validate_arg): actually do validation here.
   13930 
   13931 2003-01-29  Havoc Pennington  <hp (a] pobox.com>
   13932 
   13933 	* dbus/dbus-message.c (check_message_handling): fix assertion
   13934 	failure on set_client_serial
   13935 
   13936 2003-01-28  Havoc Pennington  <hp (a] pobox.com>
   13937 
   13938 	* dbus/dbus-server-debug.c: Add doc section comments
   13939 
   13940 	* dbus/dbus-transport-debug.c: add doc section comments
   13941 
   13942 2003-01-28  Havoc Pennington  <hp (a] redhat.com>
   13943 
   13944 	* dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
   13945 	the reverse order from how I had it
   13946 	(_dbus_string_base64_encode): reverse encoding order. I was
   13947 	basically byteswapping everything during encoding.
   13948 
   13949 2003-01-28  Anders Carlsson  <andersca (a] codefactory.se>
   13950 
   13951 	* dbus/dbus-connection-internal.h:
   13952 	* dbus/dbus-connection.c: (_dbus_connection_add_timeout),
   13953 	(_dbus_connection_remove_timeout):
   13954 	Add functions for adding and removing timeouts.
   13955 
   13956 	* dbus/dbus-message.c: (dbus_message_new_from_message):
   13957 	Add new function that takes a message and creates an exact
   13958 	copy of it, but with the refcount set to 1.
   13959 	(check_message_handling):
   13960 	Fix build error.
   13961 
   13962 	* dbus/dbus-server-protected.h:
   13963 	* dbus/dbus-server.c: (_dbus_server_init_base),
   13964 	(_dbus_server_finalize_base), (_dbus_server_add_timeout),
   13965 	(dbus_server_set_timeout_functions):
   13966 	(_dbus_server_remove_timeout):
   13967 	New functions so that a server can add and remove timeouts.
   13968 
   13969 	(dbus_server_listen):
   13970 	Add commented out call to dbus_server_debug_new.
   13971 
   13972 	* dbus/dbus-timeout.c: (_dbus_timeout_new):
   13973 	Actually set the handler, doh.
   13974 
   13975 	* dbus/dbus-transport.c: (_dbus_transport_open):
   13976 	Add commented out call to dbus_transport_debug_client_new.
   13977 
   13978 	* dbus/Makefile.am:
   13979 	Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
   13980 
   13981 2003-01-28  Havoc Pennington  <hp (a] pobox.com>
   13982 
   13983 	* dbus/dbus-message.c (check_message_handling): function to check
   13984 	on the loaded message, iterates over it etc.
   13985 
   13986 2003-01-28  Havoc Pennington  <hp (a] pobox.com>
   13987 
   13988 	* test/Makefile.am (dist-hook): fix make distdir
   13989 
   13990 	* dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
   13991 
   13992 2003-01-27  Havoc Pennington  <hp (a] pobox.com>
   13993 
   13994 	* dbus/dbus-mempool.c (time_for_size): replace printf with
   13995 	_dbus_verbose
   13996 
   13997 	* dbus/dbus-message-builder.c (_dbus_message_data_load): allow
   13998 	empty lines; fix the SAVE_LENGTH stuff to be
   13999 	START_LENGTH/END_LENGTH so it actually works; couple other
   14000 	bugfixes
   14001 
   14002 	* test/Makefile.am (dist-hook): add dist-hook for .message files
   14003 
   14004 	* dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
   14005 	can be constant or locked.
   14006 	(_dbus_string_free): allow freeing a const string as
   14007 	documented/intended
   14008 
   14009 	* dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
   14010 
   14011 	* dbus/dbus-test-main.c (main): take an argument which is the
   14012 	directory containing test data
   14013 
   14014 	* dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
   14015 	argument to this and load all the messages in test/data/
   14016 	checking that they can be loaded or not loaded as appropriate.
   14017 
   14018 2003-01-27  Anders Carlsson  <andersca (a] codefactory.se>
   14019 
   14020 	* bus/dispatch.c: (bus_dispatch_message_handler):
   14021 	Dispatch messages sent to services.
   14022 
   14023 	* bus/driver.c: (bus_driver_send_service_deleted),
   14024 	(bus_driver_send_service_created), (bus_driver_send_service_lost),
   14025 	(bus_driver_send_service_acquired):
   14026 	Add helper functions for sending service related messages.
   14027 
   14028 	(bus_driver_send_welcome_message):
   14029 	Send HELLO_REPLY instead of WELCOME.
   14030 
   14031 	(bus_driver_handle_list_services):
   14032 	Send LIST_SERVICES_REPLY instead of SERVICES.
   14033 
   14034 	(bus_driver_handle_own_service),
   14035 	(bus_driver_handle_service_exists):
   14036 	New message handlers.
   14037 
   14038 	(bus_driver_handle_message):
   14039 	Invoke new message handlers.
   14040 
   14041 	(bus_driver_remove_connection):
   14042 	Don't remove any services here since that's done automatically
   14043 	by bus_service_remove_owner now.
   14044 
   14045 	* bus/driver.h:
   14046 	New function signatures.
   14047 
   14048 	* bus/services.c: (bus_service_add_owner):
   14049 	Send ServiceAcquired message if we're the only primary owner.
   14050 
   14051 	(bus_service_remove_owner):
   14052 	Send ServiceAcquired/ServiceLost messages.
   14053 
   14054 	(bus_service_set_prohibit_replacement),
   14055 	(bus_service_get_prohibit_replacement):
   14056 	Functions for setting prohibit replacement.
   14057 
   14058 	(bus_service_has_owner):
   14059 	New function that checks if a connection is in the owner queue of
   14060 	a certain service.
   14061 
   14062 	* bus/services.h:
   14063 	Add new function signatures.
   14064 
   14065 	* dbus/dbus-list.c: (_dbus_list_test):
   14066 	Add tests for _dbus_list_remove_last and traversing the list backwards.
   14067 
   14068 	* dbus/dbus-list.h:
   14069 	Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
   14070 	go any further, so return NULL then.
   14071 
   14072 	* dbus/dbus-protocol.h:
   14073 	Add new messages, service flags and service replies.
   14074 
   14075 2003-01-26  Havoc Pennington  <hp (a] pobox.com>
   14076 
   14077 	* dbus/dbus-message-builder.c: implement, completely untested.
   14078 
   14079 	* test/data/*: add data to be used in testing.
   14080 	".message" files are our simple loadable text format.
   14081 	".message-raw" will be binary dumps of messages.
   14082 
   14083 	* dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
   14084 
   14085 2003-01-26  Havoc Pennington  <hp (a] pobox.com>
   14086 
   14087 	* dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
   14088 
   14089 	* dbus/dbus-errors.c (dbus_result_to_string): add
   14090 	file errors
   14091 
   14092 	* dbus/dbus-message-builder.c: new file, will contain code to load
   14093 	up messages from files. Not implemented yet.
   14094 
   14095 2003-01-26  Havoc Pennington  <hp (a] pobox.com>
   14096 
   14097 	* dbus/dbus-message.c (dbus_message_set_sender): support deleting
   14098 	the sender by setting to NULL
   14099 
   14100 2003-01-26  Havoc Pennington  <hp (a] pobox.com>
   14101 
   14102         The unit tests pass, but otherwise untested.  If it breaks, the
   14103 	tests should have been better. ;-)
   14104 
   14105 	* bus/driver.c (bus_driver_handle_hello): return if we disconnect
   14106 	the connection.
   14107 
   14108 	* dbus/dbus-message.c: redo everything so we maintain
   14109 	message->header as the only copy of the various fields.
   14110 	This avoids the possibility of out-of-memory in some cases,
   14111 	for example dbus_message_lock() can't run out of memory anymore,
   14112 	and avoids extra copying. Figured I may as well go ahead and do
   14113 	this since it was busted for dbus_message_lock to not return
   14114 	failure on OOM, and dbus_message_write_header was totally
   14115 	unchecked for OOM. Also fixed some random other bugs.
   14116 
   14117 	* dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
   14118 	that strings are nul-terminated. Also, end_pos can be equal
   14119 	to string length just not greater than, I think.
   14120 	(_dbus_marshal_set_int32): new function
   14121 	(_dbus_marshal_set_uint32): new function
   14122 	(_dbus_marshal_set_string): new function
   14123 
   14124 	* dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
   14125 	a warning, init timeout_list to NULL
   14126 	(dbus_connection_send_message): don't use uninitialized variable
   14127 	"serial"
   14128 
   14129 	* dbus/dbus-string.c (_dbus_string_replace_len): new function
   14130 
   14131 2003-01-26  Anders Carlsson  <andersca (a] codefactory.se>
   14132 
   14133 	* bus/driver.c: (bus_driver_handle_hello),
   14134 	(bus_driver_send_welcome_message):
   14135 	Plug leaks
   14136 
   14137 2003-01-26  Anders Carlsson  <andersca (a] codefactory.se>
   14138 
   14139 	* dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
   14140 	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
   14141 	(dbus_connection_unref):
   14142 	* dbus/dbus-marshal.c: (_dbus_marshal_test):
   14143 	* dbus/dbus-message.c: (dbus_message_unref),
   14144 	Plug memory leaks.
   14145 
   14146 	(dbus_message_get_fields):
   14147 	Remove debugging printout.
   14148 
   14149 	(_dbus_message_loader_return_buffer):
   14150 	Don't store the header string.
   14151 
   14152 	(_dbus_message_test):
   14153 	Plug leaks.
   14154 
   14155 2003-01-26  Richard Hult  <rhult (a] codefactory.se>
   14156 
   14157 	* glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
   14158 	the file descriptor list, since it can change under us.
   14159 
   14160 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14161 
   14162 	* glib/dbus-gmain.c: (dbus_connection_prepare),
   14163 	(dbus_connection_check), (dbus_connection_dispatch), (add_watch),
   14164 	(remove_watch), (dbus_connection_hookup_with_g_main):
   14165 	Rewrite the glib handling to use its own GSource instead of a
   14166 	GIOChannel so we can catch messages put in the queue while waiting
   14167 	for a reply.
   14168 
   14169 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14170 
   14171 	* bus/Makefile.am:
   14172 	* bus/connection.c: (connection_disconnect_handler),
   14173 	(connection_watch_callback), (bus_connection_setup):
   14174 	* bus/dispatch.c: (send_one_message),
   14175 	(bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
   14176 	(bus_dispatch_add_connection), (bus_dispatch_remove_connection):
   14177 	* bus/dispatch.h:
   14178 	* bus/driver.c: (bus_driver_send_service_deleted),
   14179 	(bus_driver_send_service_created), (bus_driver_handle_hello),
   14180 	(bus_driver_send_welcome_message),
   14181 	(bus_driver_handle_list_services), (bus_driver_remove_connection),
   14182 	(bus_driver_handle_message):
   14183 	* bus/driver.h:
   14184 	Refactor code, put the message dispatching in its own file. Use
   14185 	_DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
   14186 	is disconnected.
   14187 
   14188 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14189 
   14190 	* dbus/dbus-internals.h:
   14191 	Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
   14192 
   14193 	* dbus/dbus-message.c: (dbus_message_get_sender):
   14194 	* dbus/dbus-message.h:
   14195 	Implement dbus_message_get_sender.
   14196 
   14197 	* dbus/dbus-protocol.h:
   14198 	Add message and service defines.
   14199 
   14200 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14201 
   14202 	* dbus/dbus-connection.c: (dbus_connection_send_message):
   14203 	* dbus/dbus-message-internal.h:
   14204 	* dbus/dbus-message.c: (_dbus_message_get_client_serial),
   14205 	(dbus_message_write_header):
   14206 	Remove _dbus_messag_unlock and don't set the client serial on a
   14207 	message if one already exists.
   14208 
   14209 2003-01-24  Havoc Pennington  <hp (a] pobox.com>
   14210 
   14211 	* dbus/dbus-list.c (alloc_link): put a thread lock on the global
   14212 	list_pool
   14213 
   14214 	* bus/driver.c (bus_driver_handle_list_services): fix a leak
   14215 	on OOM
   14216 
   14217 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14218 
   14219 	* dbus/dbus-list.c: (alloc_link), (free_link):
   14220 	Use a memory pool for the links.
   14221 
   14222 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14223 
   14224 	* bus/connection.c: (bus_connection_foreach):
   14225 	* bus/connection.h:
   14226 	Add new bus_connection_foreach function.
   14227 
   14228 	* bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
   14229 	Add function that broadcasts a message to all clients.
   14230 
   14231 	(bus_driver_send_service_created), (bus_driver_handle_hello),
   14232 	(bus_driver_send_welcome_message),
   14233 	(bus_driver_handle_list_services), (bus_driver_message_handler):
   14234 	Implement functions that take care of listing services, and notifying
   14235 	clients when new services are created.
   14236 
   14237 	* bus/services.c: (bus_services_list):
   14238 	* bus/services.h:
   14239 	Add new function that returns an array of strings with the currently
   14240 	registered services.
   14241 
   14242 	* glib/dbus-glib.h:
   14243 	* glib/dbus-gmain.c:
   14244 	Update copyright year.
   14245 
   14246 2003-01-25  Anders Carlsson  <andersca (a] codefactory.se>
   14247 
   14248 	* dbus/dbus-connection.c: (dbus_connection_send_message):
   14249 	Unlock the message in case it was sent earlier.
   14250 
   14251 	(dbus_connection_send_message_with_reply_and_block):
   14252 	Remove the reply message from the list.
   14253 
   14254 	* dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
   14255 	Set array_len and new_pos correctly.
   14256 
   14257 	(_dbus_marshal_test):
   14258 	Remove debug output.
   14259 
   14260 	* dbus/dbus-message-internal.h:
   14261 	* dbus/dbus-message.c: (_dbus_message_get_reply_serial):
   14262 	New function that returns the reply serial.
   14263 
   14264 	(_dbus_message_unlock):
   14265 	New function that unlocks a message and resets its header.
   14266 
   14267 	(dbus_message_append_string_array),
   14268 	(dbus_message_get_fields_valist),
   14269 	(dbus_message_iter_get_field_type),
   14270 	(dbus_message_iter_get_string_array),
   14271 	(dbus_message_get_fields),
   14272 	(dbus_message_append_fields_valist):
   14273 	Handle string arrays.
   14274 
   14275 	(dbus_message_set_sender):
   14276 	Make this function public since the bus daemon needs it.
   14277 
   14278 	(decode_header_data):
   14279 	Set the reply serial to -1 initially.
   14280 
   14281 	* dbus/dbus-message.h:
   14282 	Add dbus_message_set_sender.
   14283 
   14284 2003-01-24  Havoc Pennington  <hp (a] pobox.com>
   14285 
   14286 	* doc/dbus-specification.sgml: add some stuff
   14287 
   14288 2003-01-22  Havoc Pennington  <hp (a] pobox.com>
   14289 
   14290 	* doc/dbus-specification.sgml: Start to document the protocol.
   14291 
   14292 2003-01-22  Havoc Pennington  <hp (a] pobox.com>
   14293 
   14294 	* dbus/dbus-connection.c
   14295 	(dbus_connection_send_message_with_reply_and_block): add some @todo
   14296 
   14297 	* bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
   14298 
   14299 2003-01-21  Havoc Pennington  <hp (a] pobox.com>
   14300 
   14301         (patch untested because can't compile)
   14302 
   14303 	* bus/driver.c (create_unique_client_name): make this function
   14304 	never recycle client names. Also, caller should initialize
   14305 	the DBusString.
   14306 
   14307 	* dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
   14308 
   14309 2003-01-21  Anders Carlsson  <andersca (a] codefactory.se>
   14310 
   14311 	* dbus/dbus-marshal.c: (_dbus_marshal_double),
   14312 	(_dbus_marshal_int32), (_dbus_marshal_uint32),
   14313 	(_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
   14314 	(_dbus_marshal_double_array), (_dbus_marshal_string_array),
   14315 	(_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
   14316 	(_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
   14317 	(_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
   14318 	* dbus/dbus-marshal.h:
   14319 	* dbus/dbus-protocol.h:
   14320 	Add support for marshalling and demarshalling integer, double
   14321 	and string arrays.
   14322 
   14323 2003-01-21  Anders Carlsson  <andersca (a] codefactory.se>
   14324 
   14325 	* bus/Makefile.am:
   14326 	Add driver.[ch]
   14327 
   14328 	* bus/connection.c: (connection_disconnect_handler):
   14329 	Remove the connection from the bus driver's list.
   14330 
   14331 	(connection_watch_callback): Dispatch messages.
   14332 
   14333 	(free_connection_data): Free connection name.
   14334 
   14335 	(bus_connection_setup): Add connection to the bus driver's list.
   14336 	(bus_connection_remove_owned_service):
   14337 	(bus_connection_set_name), (bus_connection_get_name):
   14338 	Add functions for setting and getting the connection's name.
   14339 
   14340 	* bus/connection.h:
   14341 	Add function headers.
   14342 
   14343 	* bus/driver.c: (create_unique_client_name),
   14344 	(bus_driver_handle_hello_message),
   14345 	(bus_driver_send_welcome_message), (bus_driver_message_handler),
   14346 	(bus_driver_add_connection), (bus_driver_remove_connection):
   14347 	* bus/driver.h:
   14348 	* bus/main.c:
   14349 	* bus/services.c: (bus_service_free):
   14350 	* bus/services.h:
   14351 	New file that handles communication and registreation with the bus
   14352 	itself.
   14353 
   14354 2003-01-21  Anders Carlsson  <andersca (a] codefactory.se>
   14355 
   14356 	* dbus/dbus-connection.c: (dbus_connection_send_message):
   14357 	Add a new client_serial parameter.
   14358 
   14359 	(dbus_connection_send_message_with_reply):
   14360 	Remove a @todo since we've implemented the blocking function.
   14361 
   14362 	(dbus_connection_send_message_with_reply_and_block):
   14363 	New function that sends a message and waits for a reply and
   14364 	then returns the reply.
   14365 
   14366 	* dbus/dbus-connection.h:
   14367 	Add new functions.
   14368 
   14369 	* dbus/dbus-errors.c: (dbus_result_to_string):
   14370 	* dbus/dbus-errors.h:
   14371 	Add new DBUS_RESULT.
   14372 
   14373 	* dbus/dbus-message-internal.h:
   14374 	* dbus/dbus-message.c: (_dbus_message_get_reply_serial),
   14375 	(_dbus_message_set_sender), (dbus_message_write_header),
   14376 	(dbus_message_new_reply), (decode_header_data),
   14377 	(_dbus_message_loader_return_buffer), (_dbus_message_test):
   14378 	* dbus/dbus-message.h:
   14379 	Add new functions that set the reply serial and sender.
   14380 	Also marshal and demarshal them correctly and add test.
   14381 
   14382 	* dbus/dbus-protocol.h:
   14383 	Add new DBUS_MESSAGE_TYPE_SENDER.
   14384 
   14385 	* glib/dbus-glib.h:
   14386 	* glib/dbus-gmain.c: (watch_callback), (free_callback_data),
   14387 	(add_watch), (remove_watch), (add_timeout), (remove_timeout),
   14388 	(dbus_connection_hookup_with_g_main):
   14389 	* glib/test-dbus-glib.c: (main):
   14390 	Rewrite to use GIOChannel and remove the GSource crack.
   14391 
   14392 	* test/echo-client.c: (main):
   14393 	* test/watch.c: (check_messages):
   14394 	Update for changed APIs
   14395 
   14396 2003-01-19  Anders Carlsson  <andersca (a] codefactory.se>
   14397 
   14398 	* dbus/Makefile.am: Add dbus-timeout.[c]
   14399 
   14400 	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
   14401 	Create a DBusTimeoutList.
   14402 	(dbus_connection_set_timeout_functions): Add new function to
   14403 	set timeout callbacks
   14404 
   14405 	* dbus/dbus-connection.h: Add public DBusTimeout API.
   14406 
   14407 	* dbus/dbus-message.c: (dbus_message_get_service):
   14408 	* dbus/dbus-message.h:	New function.
   14409 
   14410 	* dbus/dbus-server.c: Fix small doc typo.
   14411 
   14412 	* dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
   14413 
   14414 2003-01-19  Anders Carlsson  <andersca (a] codefactory.se>
   14415 
   14416 	* dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
   14417 	of the string, just as long as specified.
   14418 
   14419 2003-01-19  Havoc Pennington  <hp (a] pobox.com>
   14420 
   14421 	* dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
   14422 	new function
   14423 
   14424 	* dbus/dbus-server.c (dbus_server_set_max_connections)
   14425 	(dbus_server_get_max_connections, dbus_server_get_n_connections):
   14426 	keep track of current number of connections, and add API for
   14427 	setting a max (but haven't implemented enforcing the max yet)
   14428 
   14429 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14430 
   14431 	* dbus/dbus-transport-unix.c (unix_do_iteration): only do the
   14432 	reading/writing if read_watch != NULL or write_watch != NULL.
   14433 
   14434 	* dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
   14435 	the message loader code to actually load message->header and
   14436 	message->body into the newly-created message.
   14437 
   14438 	* dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
   14439 	in OOM case
   14440 
   14441 	* dbus/dbus-connection.c (dbus_connection_set_max_message_size)
   14442 	(dbus_connection_get_max_message_size)
   14443 	(dbus_connection_set_max_live_messages_size)
   14444 	(dbus_connection_get_max_live_messages_size): implement some
   14445 	resource limitation functions
   14446 
   14447 	* dbus/dbus-resources.c: new file implementing some of the
   14448 	resource limits stuff
   14449 
   14450 	* dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
   14451 	missing docs, add @todo to handle OOM etc.
   14452 
   14453 	* dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
   14454 	docs
   14455 
   14456 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14457 
   14458 	* dbus/dbus-connection.c (dbus_connection_unref): disconnect the
   14459 	connection if it hasn't been already.
   14460 
   14461 	* dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
   14462 	replace with DisconnectFunction.
   14463 
   14464 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14465 
   14466         Building --disable-verbose-mode --disable-asserts --disable-tests
   14467 	cuts the library from 112K to 45K or so
   14468 
   14469 	* configure.in: check for varargs macro support,
   14470 	add --enable-verbose-mode, --enable-asserts.
   14471 
   14472 	* dbus/dbus-internals.h (_dbus_assert): support
   14473 	DBUS_DISABLE_ASSERT
   14474 	(_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
   14475 
   14476 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14477 
   14478 	* dbus/dbus-test.c: include config.h so that tests actually run
   14479 
   14480 	* dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
   14481 	so the failure mode when that assumption fails will be plenty
   14482 	obvious.
   14483 
   14484 2003-01-18  Havoc Pennington  <hp (a] pobox.com>
   14485 
   14486 	* configure.in: default --enable-tests to $USE_MAINTAINER_MODE
   14487 
   14488 	* dbus/Makefile.am: fix it up so dubs-test-main.c is included in
   14489 	the distribution
   14490 
   14491 	* test/Makefile.am: don't use special variable "TESTS" for echo-*
   14492 	since we don't want to use those in make check
   14493 
   14494 2003-01-15  Havoc Pennington  <hp (a] redhat.com>
   14495 
   14496         Release 0.2
   14497 
   14498 	* NEWS: update
   14499 
   14500 2003-01-15  Havoc Pennington  <hp (a] redhat.com>
   14501 
   14502 	* test/Makefile.am: fix so that test source code ends up in the
   14503 	distribution on make distcheck
   14504 
   14505 2003-01-15  Havoc Pennington  <hp (a] redhat.com>
   14506 
   14507         Release 0.1.
   14508 
   14509 	* NEWS: update
   14510 
   14511 2003-01-15  Havoc Pennington  <hp (a] redhat.com>
   14512 
   14513 	* dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
   14514 	fix build when --disable-tests
   14515 
   14516 	* Makefile.am (EXTRA_DIST): put HACKING in here
   14517 
   14518 	* HACKING: document procedure for making a tarball release.
   14519 
   14520 2003-01-14  Anders Carlsson  <andersca (a] codefactory.se>
   14521 
   14522 	* bus/connection.c: (connection_error_handler),
   14523 	(bus_connection_setup):
   14524 	* bus/main.c: (main):
   14525 	Make sure that the DBusConnectionData struct is NULLed
   14526 	out to prevent a segfault.
   14527 
   14528 	* dbus/dbus-errors.c: (dbus_result_to_string):
   14529 	* dbus/dbus-errors.h:
   14530 	* dbus/dbus-message.c: (dbus_message_get_fields),
   14531 	(dbus_message_get_fields_valist), (_dbus_message_test):
   14532 	* dbus/dbus-message.h:
   14533 	Make dbus_message_get_fields return a result code so we can
   14534 	track invalid fields as well as oom.
   14535 
   14536 2003-01-11  Havoc Pennington  <hp (a] pobox.com>
   14537 
   14538 	* configure.in: change --enable-test/--enable-ansi action-if-given
   14539 	to enable_foo=$enableval instead of enable_foo=yes
   14540 
   14541 2003-01-08  Havoc Pennington  <hp (a] pobox.com>
   14542 
   14543 	* dbus/dbus-string.c (_dbus_string_align_length): new function
   14544 
   14545 	* dbus/dbus-test-main.c: move main() for test app here
   14546 	* dbus/dbus-test.c
   14547 	(dbus_internal_symbol_do_not_use_run_tests): we have to export a
   14548 	symbol to run tests, because dbus-test isn't in the main
   14549 	library
   14550 
   14551         Code review nitpicks.
   14552 
   14553 	* dbus/dbus-message.c (dbus_message_write_header): add newlines
   14554 	for people with narrow emacs ;-). Assert client_serial was filled
   14555 	in. Assert message->name != NULL.
   14556 	(dbus_message_append_fields): have "first_field_type" arg separate
   14557 	from va list, needed for C++ binding that also uses varargs IIRC
   14558 	and helps with type safety
   14559 	(dbus_message_new): add @todo about using DBusString to store
   14560 	service/name internally
   14561 	(dbus_message_new): don't leak ->service and ->name on OOM later
   14562 	in the function
   14563 	(dbus_message_unref): free the service name
   14564 	(dbus_message_get_fields): same change to varargs
   14565 	i.e. first_field_type
   14566 	(_dbus_message_loader_return_buffer): assert that the message data
   14567 	is aligned (if not it's a bug in our code). Put in verbose griping
   14568 	about why we set corrupted = TRUE.
   14569 	(decode_header_data): add FIXME that char* is evil.  Was going to
   14570 	add FIXME about evil locale-specific string.h strncmp, but just
   14571 	switched to wacky string-as-uint32 optimization. Move check for
   14572 	"no room for field name" above get_const_data_len() to avoid
   14573 	assertion failure in get_const_data_len if we have trailing 2
   14574 	bytes or the like. Check for service and name fields being
   14575 	provided twice. Don't leak service/name on error. Require field
   14576 	names to be aligned to 4 bytes.
   14577 
   14578 	* dbus/dbus-marshal.c: move byte swap stuff to header
   14579 	(_dbus_pack_int32): uscore-prefix
   14580 	(_dbus_unpack_int32): uscore-prefix
   14581 	(_dbus_unpack_uint32): export
   14582 	(_dbus_demarshal_string): add @todo complaining about use of
   14583 	memcpy()
   14584 	(_dbus_marshal_get_field_end_pos): add @todo about bad error
   14585 	handling allowing corrupt data to go unchecked
   14586 
   14587 2003-01-08  Havoc Pennington  <hp (a] redhat.com>
   14588 
   14589 	* dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
   14590 	to the select() as needed for authentication. (should be using
   14591 	_dbus_poll() not select, but for another day)
   14592 
   14593 	* dbus/dbus.h: include dbus/dbus-protocol.h
   14594 
   14595 2003-01-08  Anders Carlsson  <andersca (a] codefactory.se>
   14596 
   14597 	* dbus/Makefile.am (dbusinclude_HEADERS): Install
   14598 	dbus-connection.h
   14599 
   14600 2003-01-08  Anders Carlsson  <andersca (a] codefactory.se>
   14601 
   14602 	* dbus/dbus-internals.c: (_dbus_type_to_string):
   14603 	New function that returns a string describing a type.
   14604 
   14605 	* dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
   14606 	* dbus/dbus-marshal.h:
   14607 	* dbus/dbus-message.c: (dbus_message_get_fields_valist),
   14608 	(dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
   14609 	(dbus_message_iter_get_byte_array):
   14610 	* dbus/dbus-message.h:
   14611 	Add new convenience functions for appending and getting message fields.
   14612 	Also add demarshalling routines for byte arrays.
   14613 
   14614 2003-01-07  Anders Carlsson  <andersca (a] codefactory.se>
   14615 
   14616 	* dbus/dbus-connection-internal.h:
   14617 	* dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
   14618 	(_dbus_connection_get_next_client_serial),
   14619 	(dbus_connection_send_message):
   14620 	* dbus/dbus-internals.h:
   14621 	* dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
   14622 	(dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
   14623 	(_dbus_marshal_uint32), (_dbus_demarshal_double),
   14624 	(_dbus_demarshal_int32), (_dbus_demarshal_uint32),
   14625 	(_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
   14626 	(_dbus_verbose_bytes), (_dbus_marshal_test):
   14627 	* dbus/dbus-marshal.h:
   14628 	* dbus/dbus-message-internal.h:
   14629 	* dbus/dbus-message.c: (_dbus_message_set_client_serial),
   14630 	(dbus_message_write_header), (_dbus_message_lock),
   14631 	(dbus_message_new), (dbus_message_ref), (dbus_message_unref),
   14632 	(dbus_message_get_name), (dbus_message_append_int32),
   14633 	(dbus_message_append_uint32), (dbus_message_append_double),
   14634 	(dbus_message_append_string), (dbus_message_append_byte_array),
   14635 	(dbus_message_get_fields_iter), (dbus_message_iter_ref),
   14636 	(dbus_message_iter_unref), (dbus_message_iter_has_next),
   14637 	(dbus_message_iter_next), (dbus_message_iter_get_field_type),
   14638 	(dbus_message_iter_get_string), (dbus_message_iter_get_int32),
   14639 	(dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
   14640 	(decode_header_data), (_dbus_message_loader_return_buffer),
   14641 	(message_iter_test), (_dbus_message_test):
   14642 	* dbus/dbus-message.h:
   14643 	* dbus/dbus-protocol.h:
   14644 	* dbus/dbus-test.c: (main):
   14645 	* dbus/dbus-test.h:
   14646 	* glib/test-dbus-glib.c: (message_handler), (main):
   14647 	* test/echo-client.c: (main):
   14648 	* test/watch.c: (check_messages):
   14649 	Make messages sendable and receivable for real.
   14650 
   14651 2003-01-07  Anders Carlsson  <andersca (a] codefactory.se>
   14652 
   14653 	* dbus/dbus-marshal.c: (_dbus_marshal_double),
   14654 	(_dbus_marshal_string), (_dbus_marshal_byte_array):
   14655 	* dbus/dbus-message.c: (dbus_message_append_int32),
   14656 	(dbus_message_append_uint32), (dbus_message_append_double),
   14657 	(dbus_message_append_string), (dbus_message_append_byte_array):
   14658 	Handle OOM restoration.
   14659 
   14660 2003-01-07  Anders Carlsson  <andersca (a] codefactory.se>
   14661 
   14662 	* dbus/dbus-marshal.c: (_dbus_marshal_string),
   14663 	(_dbus_demarshal_string), (_dbus_marshal_test):
   14664 	* dbus/dbus-marshal.h:
   14665 	* dbus/dbus-message.c: (dbus_message_get_name),
   14666 	Document these functions.
   14667 
   14668 	(dbus_message_append_int32), (dbus_message_append_uint32),
   14669 	(dbus_message_append_double), (dbus_message_append_string),
   14670 	(dbus_message_append_byte_array):
   14671 	* dbus/dbus-message.h:
   14672 	Add functions for adding message fields of different types.
   14673 
   14674 	* dbus/dbus-protocol.h:
   14675 	Add the different types.
   14676 
   14677 2003-01-05  Havoc Pennington  <hp (a] pobox.com>
   14678 
   14679 	* bus/connection.c: implement routines for handling connections,
   14680 	first thing is keeping a list of owned services on each connection
   14681 	and setting up watches etc.
   14682 
   14683 	* bus/services.c: implement a mapping from service names to lists
   14684 	of connections
   14685 
   14686 	* dbus/dbus-hash.c: add DBUS_HASH_POINTER
   14687 
   14688 	* dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
   14689 	to use static mutexes for global data
   14690 
   14691 	* dbus/dbus-connection.c (dbus_connection_set_data): add new
   14692 	collection of functions to set/get application-specific data
   14693 	on the DBusConnection.
   14694 
   14695 2003-01-04  Havoc Pennington  <hp (a] pobox.com>
   14696 
   14697 	* dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
   14698 	(_dbus_poll): new function
   14699 
   14700 	* dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
   14701 	copied from GLib
   14702 
   14703 	* bus/loop.c: initial code for the daemon main loop
   14704 
   14705 2003-01-04  Havoc Pennington  <hp (a] pobox.com>
   14706 
   14707 	* test/watch.c (error_handler): make it safe if the error handler
   14708 	is called multiple times (if we s/error handler/disconnect
   14709 	handler/ we should just guarantee it's called only once)
   14710 
   14711 	* dbus/dbus-transport.c (_dbus_transport_disconnect): call the
   14712 	error handler on disconnect (it's quite possible we should
   14713 	just change the error handler to a "disconnect handler," I'm
   14714 	not sure we have any other meaningful errors)
   14715 
   14716 	* configure.in: check for getpwnam_r
   14717 
   14718 	* dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
   14719 	dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
   14720 	mechanism as in SASL spec, using socket credentials
   14721 
   14722 	* dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
   14723 	(_dbus_send_credentials_unix_socket): new function
   14724 
   14725 	* dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
   14726 	dbus_accept()
   14727 	(_dbus_write): only check errno if <0 returned
   14728 	(_dbus_write_two): ditto
   14729 
   14730 2003-01-02  Anders Carlsson  <andersca (a] codefactory.se>
   14731 
   14732 	* dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
   14733 	(_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
   14734 	(_dbus_marshal_test):
   14735 	* dbus/dbus-marshal.h:
   14736 	Add _dbus_marshal_byte_array and rename _dbus_marshal_string
   14737 	to _dbus_marshal_utf8_string. Also fix some tests.
   14738 
   14739 2002-12-28  Harri Porten  <porten (a] kde.org>
   14740 
   14741 	* configure.in: added check for C++ compiler and a very cheesy
   14742 	check for the Qt integration
   14743 
   14744 	* Makefile.am (SUBDIRS): compile qt subdir if support is enabled
   14745 
   14746 	* qt/Makefile.am: added
   14747 
   14748 	* qt/.cvsignore: added
   14749 
   14750 	* qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
   14751 	latter, added #ifdef QT_THREAD_SUPPORT guard.
   14752 
   14753 	* dbus/Makefile.am: added missing headers for make dist
   14754 
   14755 2002-12-28  Kristian Rietveld  <kris (a] gtk.org>
   14756 
   14757 	* dbus/Makefile.am: fixup export-symbols-regex.
   14758 
   14759 2002-12-27  Anders Carlsson  <andersca (a] codefactory.se>
   14760 
   14761 	* acinclude.m4: Add this file and put the
   14762 	PKG_CHECK_MODULE macro in it.
   14763 
   14764 2002-12-27  Anders Carlsson  <andersca (a] codefactory.se>
   14765 
   14766 	* dbus/dbus-marshal.c: (_dbus_marshal_string),
   14767 	(_dbus_demarshal_double), (_dbus_demarshal_int32),
   14768 	(_dbus_demarshal_uint32), (_dbus_demarshal_string),
   14769 	(_dbus_marshal_test):
   14770 	Make the demarshalling routines align the pos argument.
   14771 	Add string marshalling tests and fix the obvious bugs
   14772 	discovered.
   14773 
   14774 2002-12-26  Havoc Pennington  <hp (a] pobox.com>
   14775 
   14776 	* dbus/dbus-auth.c: fixes fixes fixes
   14777 
   14778 	* dbus/dbus-transport-unix.c: wire up support for
   14779 	encoding/decoding data on the wire
   14780 
   14781 	* dbus/dbus-auth.c (_dbus_auth_encode_data)
   14782 	(_dbus_auth_decode_data): append to target string
   14783 	instead of nuking it.
   14784 
   14785 2002-12-26  Havoc Pennington  <hp (a] pobox.com>
   14786 
   14787 	* dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
   14788 	WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
   14789 	doh
   14790 
   14791 	* dbus/dbus-marshal.c: Add macros to do int swapping in-place and
   14792 	avoid swap_bytes() overhead (ignoring possible assembly stuff for
   14793 	now). Main point is because I wanted unpack_uint32 to implement
   14794 	_dbus_verbose_bytes
   14795 	(_dbus_verbose_bytes): new function
   14796 
   14797 	* dbus/dbus-string.c (_dbus_string_validate_ascii): new function
   14798 
   14799 	* dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
   14800 	mechanism to handle a corrupt message stream
   14801 	(_dbus_message_loader_new): fix preallocation to only prealloc,
   14802 	not prelengthen
   14803 
   14804 	* dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
   14805 	(_dbus_string_test): enhance tests for copy/move and fix the
   14806 	functions
   14807 
   14808 	* dbus/dbus-transport-unix.c: Hold references in more places to
   14809 	avoid reentrancy problems
   14810 
   14811 	* dbus/dbus-transport.c: ditto
   14812 
   14813 	* dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
   14814 	leak reference count in no-message case
   14815 
   14816 	* test/watch.c (do_mainloop): handle adding/removing watches
   14817 	during iteration over the watches. Also, ref the connection/server
   14818 	stored on a watch, so we don't try to mangle a destroyed one.
   14819 
   14820 	* dbus/dbus-transport-unix.c (do_authentication): perform
   14821 	authentication
   14822 
   14823 	* dbus/dbus-auth.c (get_state): add a state
   14824 	AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
   14825 	(_dbus_auth_get_unused_bytes): append the unused bytes
   14826 	to the passed in string, rather than prepend
   14827 
   14828 	* dbus/dbus-transport.c (_dbus_transport_init_base): create
   14829 	the auth conversation DBusAuth
   14830 
   14831 	* dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
   14832 	(_dbus_transport_new_for_domain_socket): when creating a
   14833 	transport, pass in whether it's a client-side or server-side
   14834 	transport so we know which DBusAuth to create
   14835 
   14836 2002-12-03  Havoc Pennington  <hp (a] pobox.com>
   14837 
   14838 	* dbus/dbus-transport-unix.c (unix_finalize): finalize base
   14839 	_after_ finalizing the derived members
   14840 	(unix_connection_set): unref watch if we fail to add it
   14841 
   14842 	* dbus/dbus-connection.c (dbus_connection_unref): delete the
   14843 	transport first, so that the connection owned by the
   14844 	transport will be valid as the transport finalizes.
   14845 
   14846 	* dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
   14847 	if necessary, and remove watches from the connection.
   14848 
   14849 	* dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
   14850 
   14851 2002-12-26  Anders Carlsson  <andersca (a] codefactory.se>
   14852 
   14853 	* dbus/dbus-marshal.c: (_dbus_marshal_string),
   14854 	(_dbus_demarshal_double), (_dbus_demarshal_int32),
   14855 	(_dbus_demarshal_uint32), (_dbus_demarshal_string),
   14856 	(_dbus_marshal_test):
   14857 	* dbus/dbus-marshal.h:
   14858 	Add string marshal functions and have the demarshal functions
   14859 	return the new position.
   14860 
   14861 2002-12-25  Havoc Pennington  <hp (a] pobox.com>
   14862 
   14863 	* doc/dbus-sasl-profile.txt: docs on the authentication protocol,
   14864 	it is a simple protocol that just maps directly to SASL.
   14865 
   14866 	* dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
   14867 	initial implementation, not actually used yet.
   14868 
   14869 	* dbus/dbus-string.c (_dbus_string_find): new function
   14870 	(_dbus_string_equal): new function
   14871 	(_dbus_string_base64_encode): new function
   14872 	(_dbus_string_base64_decode): new function
   14873 
   14874 2002-12-25  Anders Carlsson  <andersca (a] codefactory.se>
   14875 
   14876 	* dbus/Makefile.am:
   14877 	* dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
   14878 	(_dbus_marshal_int32), (_dbus_marshal_uint32),
   14879 	(_dbus_demarshal_double), (_dbus_demarshal_int32),
   14880 	(_dbus_demarshal_uint32), (_dbus_marshal_test):
   14881 	* dbus/dbus-marshal.h:
   14882 	* dbus/dbus-protocol.h:
   14883 	* dbus/dbus-test.c: (main):
   14884 	* dbus/dbus-test.h:
   14885 	Add un-optimized marshalling/demarshalling routines.
   14886 
   14887 2002-12-25  Harri Porten  <porten (a] kde.org>
   14888 
   14889 	* qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
   14890 
   14891 2002-12-24  Zack Rusin  <zack (a] kde.org>
   14892 
   14893 	* qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
   14894 	* qt/dbus-qt.h: skeleton with two sample implemenatation of the
   14895 	main loop stuff
   14896 
   14897 2002-12-24  Havoc Pennington  <hp (a] pobox.com>
   14898 
   14899 	* glib/dbus-gthread.c: fix include
   14900 
   14901 	* glib/dbus-glib.h: rename DBusMessageHandler for now.
   14902 	I think glib API needs to change, though, as you don't
   14903 	want to use DBusMessageFunction, you want to use the
   14904 	DBusMessageHandler object. Probably
   14905 	dbus_connection_open_with_g_main_loop()
   14906 	and dbus_connection_setup_g_main_loop() or something like that
   14907 	(but think of better names...) that just create a connection
   14908 	that has watch/timeout functions etc. already set up.
   14909 
   14910 	* dbus/dbus-connection.c
   14911 	(dbus_connection_send_message_with_reply): new function just to
   14912 	show how the message handler helps us deal with replies.
   14913 
   14914 	* dbus/dbus-list.c (_dbus_list_remove_last): new function
   14915 
   14916 	* dbus/dbus-string.c (_dbus_string_test): free a string that
   14917 	wasn't
   14918 
   14919 	* dbus/dbus-hash.c: use memory pools for the hash entries
   14920 	(rebuild_table): be more paranoid about overflow, and
   14921 	shrink table when we can
   14922 	(_dbus_hash_test): reduce number of sprintfs and write
   14923 	valid C89. Add tests for case where we grow and then
   14924 	shrink the hash table.
   14925 
   14926 	* dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
   14927 
   14928 	* dbus/dbus-connection.c (dbus_connection_register_handler)
   14929 	(dbus_connection_unregister_handler): new functions
   14930 
   14931 	* dbus/dbus-message.c (dbus_message_get_name): new
   14932 
   14933 	* dbus/dbus-list.c: fix docs typo
   14934 
   14935 	* dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
   14936 	an object representing a handler for messages.
   14937 
   14938 2002-12-16  Anders Carlsson  <andersca (a] codefactory.se>
   14939 
   14940 	* glib/dbus-glib.h:
   14941 	* glib/dbus-gthread.c: (dbus_gthread_init):
   14942 	Don't use the gdbus prefix for public functions.
   14943 
   14944 2002-12-16  Anders Carlsson  <andersca (a] codefactory.se>
   14945 
   14946 	* Makefile.am:
   14947 	* configure.in:
   14948 	Add GLib checks and fixup .pc files
   14949 
   14950 	* glib/Makefile.am:
   14951 	* glib/dbus-glib.h:
   14952 	* glib/dbus-gmain.c: (gdbus_connection_prepare),
   14953 	(gdbus_connection_check), (gdbus_connection_dispatch),
   14954 	(gdbus_add_connection_watch), (gdbus_remove_connection_watch),
   14955 	(dbus_connection_gsource_new):
   14956 	* glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
   14957 	(dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
   14958 	* glib/test-dbus-glib.c: (message_handler), (main):
   14959 	Add GLib support.
   14960 
   14961 2002-12-15  Harri Porten  <porten (a] kde.org>
   14962 
   14963 	* autogen.sh: check for libtoolize before attempting to use it
   14964 
   14965 	* dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
   14966 	struct.
   14967 
   14968 	* .cvsignore: ignore more stamp files
   14969 
   14970 	* dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
   14971 
   14972 	* test/Makefile.am: added -I$(top_srcdir) to be able to compile
   14973 	without make install.
   14974 
   14975 2002-12-15  Havoc Pennington  <hp (a] pobox.com>
   14976 
   14977 	* dbus/dbus-threads.c: add thread stubs that a higher library
   14978 	layer can fill in. e.g. the GLib wrapper might fill them in with
   14979 	GThread stuff. We still need to use this thread API to
   14980 	thread-safe-ize the library.
   14981 
   14982 2002-12-12  Havoc Pennington  <hp (a] pobox.com>
   14983 
   14984 	* dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
   14985 	below new interfaces and include fewer system headers.
   14986 
   14987 	* dbus/dbus-sysdeps.c (_dbus_read): new function
   14988 	(_dbus_write): new function
   14989 	(_dbus_write_two): new function
   14990 	(_dbus_connect_unix_socket): new function
   14991 	(_dbus_listen_unix_socket): new function
   14992 
   14993 	* dbus/dbus-message-internal.h: change interfaces to use
   14994 	DBusString
   14995 
   14996 2002-12-11  Havoc Pennington  <hp (a] pobox.com>
   14997 
   14998 	* dbus/dbus-types.h: add dbus_unichar
   14999 
   15000 	* dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
   15001 
   15002 	* dbus/dbus-connection.c (dbus_connection_send_message): return
   15003 	TRUE on success
   15004 
   15005 	* dbus/dbus-transport.c: include dbus-watch.h
   15006 
   15007 	* dbus/dbus-connection.c: include dbus-message-internal.h
   15008 
   15009 	* HACKING: add file with coding guidelines stuff.
   15010 
   15011 	* dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
   15012 	handling here, for security purposes (as in vsftpd). Not actually
   15013 	using this class yet.
   15014 
   15015 	* dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
   15016 	system/libc usage here, as in vsftpd, for ease of auditing (and
   15017 	should also simplify portability). Haven't actually moved all the
   15018 	system/libc usage into here yet.
   15019 
   15020 2002-11-25  Havoc Pennington  <hp (a] pobox.com>
   15021 
   15022 	* dbus/dbus-internals.c (_dbus_verbose): fix to not
   15023 	always print the first verbose message.
   15024 
   15025 2002-11-24  Havoc Pennington  <hp (a] pobox.com>
   15026 
   15027         * test/echo-client.c, test/echo-server.c: cheesy test
   15028 	clients.
   15029 
   15030 	* configure.in (AC_CHECK_FUNCS): check for writev
   15031 
   15032 	* dbus/dbus-message.c (_dbus_message_get_network_data): new
   15033 	function
   15034 
   15035 	* dbus/dbus-list.c (_dbus_list_foreach): new function
   15036 
   15037 	* dbus/dbus-internals.c (_dbus_verbose): new function
   15038 
   15039 	* dbus/dbus-server.c, dbus/dbus-server.h: public object
   15040 	representing a server that listens for connections.
   15041 
   15042 	* dbus/.cvsignore: create
   15043 
   15044 	* dbus/dbus-errors.h, dbus/dbus-errors.c:
   15045 	public API for reporting errors
   15046 
   15047 	* dbus/dbus-connection.h, dbus/dbus-connection.c:
   15048 	public object representing a connection that
   15049 	sends/receives messages. (Same object used for
   15050 	both client and server.)
   15051 
   15052 	* dbus/dbus-transport.h, dbus/dbus-transport.c:
   15053 	Basic abstraction for different kinds of stream
   15054 	that we might read/write messages from.
   15055 
   15056 2002-11-23  Havoc Pennington  <hp (a] pobox.com>
   15057 
   15058 	* dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
   15059 	_DBUS_INT_MAX
   15060 
   15061 	* dbus/dbus-test.c (main): add list test, and include
   15062 	dbus-test.h as intended
   15063 
   15064 	* dbus/dbus-hash.c (_dbus_hash_table_remove_string)
   15065 	(_dbus_hash_table_remove_int): return value indicates
   15066 	whether the entry existed to remove
   15067 
   15068 	* dbus/dbus-list.c: add linked list utility class,
   15069 	with docs and tests
   15070 
   15071 	* dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
   15072 	array sometimes.
   15073 
   15074 2002-11-23  Havoc Pennington  <hp (a] pobox.com>
   15075 
   15076 	* Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
   15077 	DBUS_END_DECLS to nothing, that should fix this once and for all
   15078 
   15079 	* Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
   15080 
   15081 	* dbus/dbus-message.c, dbus/dbus-hash.c:
   15082 	add some missing @brief
   15083 
   15084 2002-11-23  Havoc Pennington  <hp (a] pobox.com>
   15085 
   15086 	* dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS
   15087 	to avoid confusing Doxygen
   15088 
   15089 	* dbus/dbus-hash.c: @} not }@
   15090 
   15091 	* dbus/dbus-message.c (struct DBusMessage): split out
   15092 	internals docs
   15093 
   15094 2002-11-23  Havoc Pennington  <hp (a] pobox.com>
   15095 
   15096 	* configure.in: pile on more warning flags if using gcc
   15097 
   15098 	* Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
   15099 	to document static functions
   15100 
   15101 	* configure.in: add summary to end of configure so it
   15102 	looks nice and attractive
   15103 
   15104 	* dbus/dbus-hash.c: finish implementation and write unit
   15105 	tests and docs
   15106 
   15107 	* configure.in: add --enable-tests to enable unit tests
   15108 
   15109 	* dbus/dbus-test.c: test program to run unit tests
   15110 	for all files in dbus/*, initially runs a test for
   15111 	dbus-hash.c
   15112 
   15113 	* dbus/dbus-internals.h: file to hold some internal utility stuff
   15114 
   15115 2002-11-22  Havoc Pennington  <hp (a] redhat.com>
   15116 
   15117 	* dbus/dbus-hash.c: copy in Tcl hash table, not yet
   15118 	"ported" away from Tcl
   15119 
   15120 	* dbus/dbus-types.h: header for types such as dbus_bool_t
   15121 
   15122 2002-11-22  Havoc Pennington  <hp (a] redhat.com>
   15123 
   15124 	* dbus/dbus.h: fixups for doc warnings
   15125 
   15126 	* Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up
   15127 	macros
   15128 	(QUIET): make it quiet so we can see warnings
   15129 
   15130 	* dbus/dbus-memory.c: teach D-BUS to allocate and free memory
   15131 
   15132 2002-11-22  Havoc Pennington  <hp (a] redhat.com>
   15133 
   15134 	* Makefile.am: include "Doxyfile" target in all-local
   15135 
   15136 	* configure.in: generate the Doxyfile
   15137 
   15138 	* Doxyfile.in: move Doxyfile here, so we can use
   15139 	configure to generate a Doxyfile with the right
   15140 	version number etc.
   15141 
   15142 2002-11-22  Havoc Pennington  <hp (a] redhat.com>
   15143 
   15144 	* dbus/dbus-message.c: move inline docs into .c file
   15145 
   15146 	* Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
   15147 	so all docs are under doc/
   15148 	(MAN_EXTENSION): generate man pages. Use extension
   15149 	".3dbus" which matches ".3qt" on my system,
   15150 	I guess this is OK, I don't know really.
   15151 	(FILE_PATTERNS): look for .c files not .h, makes sense
   15152 	for plain C I think
   15153 
   15154 2002-11-22  Havoc Pennington  <hp (a] pobox.com>
   15155 
   15156 	* Makefile.am (SUBDIRS): rename subdir "server" to "bus"
   15157 	because any app can be a server, and any app can be a client,
   15158 	the bus is a special kind of server.
   15159 
   15160 Thu Nov 21 23:35:31 2002  Zack Rusin  <zack (a] kde.org>
   15161 
   15162 	* Doxyfile : adding. Still needs Makefile rules to be generated
   15163 	automatically (just run "doxygen" in the toplevel dir for now to
   15164 	generate docs)
   15165 
   15166 	* dbus/dbus-message.h : Adding sample docs (javadoc since
   15167 	resembles gtk-doc a little more)
   15168 
   15169 	* dbus/dbus.h : Adding sample docs
   15170 
   15171 2002-11-21  Havoc Pennington  <hp (a] redhat.com>
   15172 
   15173 	* dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
   15174 	so we can allow ourselves to include files directly,
   15175 	instead of having to use dbus.h
   15176 
   15177 	* dbus/dbus.h: fill in
   15178 
   15179 	* dbus/dbus-message.h: sketch out a sample header file.
   15180 	Include griping if you include it directly instead of
   15181 	via dbus.h
   15182 
   15183 	* dbus/dbus-macros.h: new file with macros for extern "C",
   15184 	TRUE/FALSE, NULL, etc.
   15185 
   15186 	* doc/file-boilerplate.c: put include guards in here
   15187 
   15188 2002-11-21  Havoc Pennington  <hp (a] redhat.com>
   15189 
   15190 	* doc/file-boilerplate.c: include both AFL and GPL boilerplate.
   15191 
   15192 	* COPYING: include the GPL as well, and license code
   15193 	under both AFL and GPL.
   15194 
   15195 2002-11-21  Havoc Pennington  <hp (a] redhat.com>
   15196 
   15197 	* acconfig.h: get rid of this
   15198 
   15199 	* autogen.sh (run_configure): add --no-configure option
   15200 
   15201 	* configure.in: remove AC_ARG_PROGRAM to make
   15202 	autoconf complain less. add AC_PREREQ.
   15203 	add AC_DEFINE third arg.
   15204 
   15205 2002-11-21  Anders Carlsson  <andersca (a] codefactory.se>
   15206 
   15207 	* doc/Makefile.am:
   15208 	Fix references so we can distcheck.
   15209 
   15210 2002-11-21  Havoc Pennington  <hp (a] redhat.com>
   15211 
   15212 	* Initial module creation
   15213 
   15214