1 2006-11-09 John (J5) Palmieri <johnp (a] redhat.com> 2 3 * Released 1.0.0 4 5 2006-11-09 John (J5) Palmieri <johnp (a] redhat.com> 6 7 * AUTHORS: added Peter and Tor of windows porting fame 8 9 2006-11-08 Havoc Pennington <hp (a] redhat.com> 10 11 * doc/dbus-specification.xml: add a note about protocol stability 12 13 * doc/TODO: Remove "important for 1.0" section, replace with 14 "important for 1.2" section 15 16 2006-11-08 John (J5) Palmieri <johnp (a] redhat.com> 17 18 * README: remove some of the out of date flags 19 20 * doc/TODO: Remove todo items which are done 21 22 2006-11-08 John (J5) Palmieri <johnp (a] redhat.com> 23 24 * tools/dbus-monitor.c: Handle sigint so we flush stdout 25 (Patch from Olli Salli <olli dot salli at collabora dot co dot uk>) 26 27 2006-11-08 John (J5) Palmieri <johnp (a] redhat.com> 28 29 * tools/dbus-monitor.1: update the manpage for dbus-monitor 30 (Patch from Olli Salli <olli dot salli at collabora dot co dot uk>) 31 32 2006-11-08 John (J5) Palmieri <johnp (a] redhat.com> 33 34 * AUTHORS: Update with all people listed in the ChangeLog 35 36 2006-11-08 John (J5) Palmieri <johnp (a] redhat.com> 37 38 * tools/dbus-monitor.c: add profiling tools to dbus-monitor 39 (Patch from Olli Salli <olli dot salli at collabora dot co dot uk>) 40 41 2006-11-07 Havoc Pennington <hp (a] redhat.com> 42 43 * HACKING: Update release instructions to include stuff about 44 stable releases, branching, etc. May not be totally correct, 45 please fix if needed, but keep instructions up-to-date so we do 46 each stable release consistently in the future. 47 48 2006-11-07 Havoc Pennington <hp (a] redhat.com> 49 50 * doc/dbus-specification.xml, doc/dbus-faq.xml, README: various 51 documentation updates. Bump faq/spec versions (not to 1.0; I don't 52 think the spec will be "finished"/1.0 when we ship the 1.0 library). 53 54 2006-11-06 John (J5) Palmieri <johnp (a] redhat.com> 55 56 * bus/bus.c: Missed patch - pass in the context to the directory watch 57 58 2006-11-02 John (J5) Palmieri <johnp (a] redhat.com> 59 60 * Released D-Bus 1.0 RC 3(0.95) 61 62 2006-11-02 John (J5) Palmieri <johnp (a] redhat.com> 63 64 * bus/activation.c (bus_activation_new): don't fail if we can not read 65 the directory as it may not exist 66 67 2006-11-02 John (J5) Palmieri <johnp (a] redhat.com> 68 69 * bus/config-parser.c (service_dirs_find_dir): use 70 _dbus_list_get_next_link so we don't get stuck in an infinite loop 71 (start_busconfig_child): move processing of standard_session_servicedirs 72 tags here because they have no content 73 (bus_config_parser_content): check we don't have content in 74 standard_session_servicedirs tag 75 76 2006-11-02 John (J5) Palmieri <johnp (a] redhat.com> 77 78 * tools/Makefile.am: Make sure the /var/lib/dbus directory is created 79 Packagers need to own this directory 80 81 2006-11-02 John (J5) Palmieri <johnp (a] redhat.com> 82 83 * tools/run-with-tmp-session-bus.sh: fixed script to replace the 84 <standard_session_servicedirs> tag with a <sevicedir> tag that 85 points to the test service directory 86 87 2006-11-02 John (J5) Palmieri <johnp (a] redhat.com> 88 89 * configure.in: Add a check for DIR *dirp->dd_fd 90 91 * dbus/dbus-sysdeps-util-unix: if HAVE_DDFD is defined use 92 DIR *dirp->dd_fd else use DIR *dirp->__dd_fd. This takes care 93 of both Solaris and Irix 94 95 2006-11-01 Havoc Pennington <hp (a] redhat.com> 96 97 * bus/dbus-daemon.1.in: document standard_session_servicedirs 98 99 2006-11-01 John (J5) Palmieri <johnp (a] redhat.com> 100 101 * configure.in: expose DBUS_DATADIR 102 103 * bus/config-parser.c: add the standard_session_servicedirs element 104 to the parser 105 (bus_config_parser_content): process the standard_session_servicedirs 106 element by getting the standard directories from sysdeps and merging 107 them into the service directory list 108 (test_default_session_servicedirs): make sure we get what we expect 109 110 * bus/session.conf.in: replace the servicedir tag with the 111 standard_session_servicedirs tag 112 113 * dbus/dbus-list.h: remove the typedef of DBusList and place it in 114 dbus-sysdeps.h to avoid circular header dependencies 115 116 * dbus/dbus-sysdeps.h: add the typedef of DBusList 117 118 * dbus/dbus-sysdeps-unix.c (split_paths_and_append): utility function 119 which takes a string of directories delimited by colons, parses them 120 out, appends a suffix and puts them in a list ignoring empty elements 121 (_dbus_get_standard_session_servicedirs): returns the standard 122 directories for a session bus to look for service activation files 123 on Unix which includes the XDG_DATA_HOME, XDG_DATA_DIRS and 124 DBUS_DATADIR directories 125 126 * test/data/valid-config-files/many-rules.conf: add the 127 standard_session_servicedirs tag to the valid config file tests 128 129 2006-10-30 Havoc Pennington <hp (a] redhat.com> 130 131 * tools/dbus-launch.1, doc/TODO: capture intent to change the 132 command line options of dbus-launch a bit post 1.0 133 134 2006-10-27 Havoc Pennington <hp (a] redhat.com> 135 136 * dbus/dbus-connection.c (dbus_connection_open_private): document 137 how to choose shared vs. private connections 138 139 2006-10-27 Havoc Pennington <hp (a] redhat.com> 140 141 * dbus/dbus-test.c: enclose more of the file in the 142 DBUS_BUILD_TESTS check. 143 144 * dbus/dbus-sysdeps-pthread.c (PTHREAD_CHECK): fix for 145 DBUS_DISABLE_ASSERT case. 146 147 * dbus/dbus-connection.c (dbus_connection_get_unix_user): document 148 that it only works on the server side 149 150 * dbus/dbus-bus.c: add a global lock covering the BusData we 151 attach to each connection 152 (internal_bus_get): lock our access to the BusData 153 (dbus_bus_register): lock the entire registration process 154 with _DBUS_LOCK(bus_datas). If we get the lock and 155 registration is already complete, silently return (vs. previous 156 behavior of aborting). 157 (dbus_bus_set_unique_name): lock the BusData 158 (dbus_bus_get_unique_name): lock the BusData 159 160 2006-10-27 John (J5) Palmieri <johnp (a] redhat.com> 161 162 * bus/config-parser.c (service_dirs_find_dir, 163 service_dirs_append_unique_or_free, 164 service_dirs_append_link_unique_or_free): New static methods 165 for only appending unique service directory names into 166 the service directory list 167 (merge_included, bus_config_parser_content): Only add unique 168 service directory names into the list 169 170 2006-10-27 Havoc Pennington <hp (a] redhat.com> 171 172 * dbus/dbus-sysdeps-pthread.c: make the "count" and "holder" 173 variables volatile, suggested by Thiago. Document struct fields. 174 (PTHREAD_CHECK): remove pthread error checking if assertions are 175 disabled, should reduce the no-assertions case to the bare 176 minimum code. 177 178 2006-10-26 Havoc Pennington <hp (a] redhat.com> 179 180 * dbus/dbus-sysdeps-pthread.c (_dbus_pthread_mutex_lock): change 181 to be recursive 182 (_dbus_pthread_mutex_unlock): make it recursive 183 (_dbus_pthread_condvar_wait): save/restore the recursion count 184 (_dbus_pthread_condvar_wait_timeout): save/restore the recursion count 185 186 2006-10-26 Havoc Pennington <hp (a] redhat.com> 187 188 * doc/dbus-specification.xml: clarify the UUID text slightly 189 190 * dbus/dbus-sysdeps-pthread.c: check for and mostly abort on 191 pthread errors. Add DBusMutexPThread and DBusCondVarPThread 192 in preparation for being able to extend them for e.g. recursive 193 mutexes. 194 195 2006-10-26 Havoc Pennington <hp (a] redhat.com> 196 197 * dbus/dbus-threads.[hc]: Documentation improvements. Clarify how 198 condition variables relate to recursive mutexes. 199 200 * dbus/dbus-sysdeps-pthread.c, dbus/dbus-sysdeps-win-thread.c, 201 dbus/dbus-threads.c: Split the platforms-specific thread 202 implementations into their own files. 203 204 * dbus/dbus-sysdeps-pthread.c 205 (_dbus_pthread_condvar_wait_timeout): invert the return value, it 206 was backward. Not that anything uses it. 207 208 2006-10-26 John (J5) Palmieri <johnp (a] redhat.com> 209 210 * dbus-sysdeps-unix.c (_dbus_set_local_creds): Clean up the 211 LOCAL_CREDS vs CMSGCRED stuff a bit. Prefer CMSGCRED. This 212 needs to be cleaned up more. 213 214 * doc/TODO: Add a todo that *BSD hackers should look at cleaning 215 up the CREDS issue. 216 217 2006-10-26 John (J5) Palmieri <johnp (a] redhat.com> 218 219 * configure.in, dbus-1.pc.in: Check to see if thread methods 220 are in glibc or libpthread and add -lpthread to the link stage 221 if it is the latter 222 223 2006-10-26 Thiago Macieira <thiago (a] kde.org> 224 225 * dbus/dbus-connection.c (_dbus_connection_open_internal): Fix 226 bug 8780: the connection lock is only required while recording 227 the shared connection, so protect only that code 228 section. Don't require connection_lookup_shared to return a 229 locked connection. 230 231 2006-10-26 Thiago Macieira <thiago (a] kde.org> 232 233 * tools/dbus-launch-x11.c (get_session_file, init_x_atoms): 234 check if get_machine_uuid() returns NULL before proceeding any 235 further: we can't init the X atoms or create a session file 236 name if there is no machine ID. 237 This solves a crash reported by some users if 238 --exit-with-session was used without --autolaunch=<machine-id> 239 240 2006-10-26 John (J5) Palmieri <johnp (a] redhat.com> 241 242 * tools/dbus-launch.c (main): run the dbus-daemon in the builddir 243 if tests are enabled and the DBUS_USE_TEST_BINARY env variable is set 244 245 * tools/run-with-tmp-session-bus.sh: set DBUS_USE_TEST_BINARY 246 before we run dbus-launch 247 248 * configure.in: define TEST_BUS_BINARY to be the full path to 249 dbus-daemon in the build root 250 251 2006-10-25 Sjoerd Simons <sjoerd (a] luon.net> 252 253 * dbus/Makefile.am: 254 * tools/Makefile.am: 255 * toos/dbus-uuidgen.1: 256 Move the machine-id file to /var/lib/dbus 257 258 2006-10-24 David Zeuthen <davidz (a] redhat.com> 259 260 * dbus/dbus-threads.c (init_uninitialized_locks): Fix typo so it's 261 _dbus_assert (thread_init_generation != _dbus_current_generation) 262 not _dbus_assert (thread_init_generation == _dbus_current_generation) 263 264 2006-10-24 Thiago Macieira <thiago (a] kde.org> 265 266 * dbus/dbus-sysdeps.h: 267 * dbus/dbus-sysdeps-unix.c: Add function 268 _dbus_make_file_world_readable that chmods a file to 0644. 269 270 * dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): 271 Avoid writing to the static "argv" array, thereby avoiding a 272 COW on the child process. 273 274 * dbus/dbus-internals.c (_dbus_create_uuid_file_exclusively): 275 call _dbus_make_file_world_readable on the created file. 276 277 2006-10-23 David Zeuthen <davidz (a] redhat.com> 278 279 * dbus/dbus-memory.c: Use atomic variable to protect 280 n_blocks_outstanding otherwise OOM will be reported using SMP on 281 some arches 282 283 * bus/dispatch.c: Add missing end of line characters 284 285 * bus/desktop-file.c (parse_section_start, parse_key_value) 286 (bus_desktop_file_load): Propertly handle OOM 287 288 * dbus/dbus-threads.c (init_uninitialized_locks): Check that 289 thread_init_generation equals _dbus_current_generation, not 0 290 291 2006-10-22 Havoc Pennington <hp (a] redhat.com> 292 293 * dbus/dbus-connection-internal.h: move prototype of 294 _dbus_bus_notify_shared_connection_disconnected_unlocked() here so 295 it isn't in a public header and doesn't end up in the DBusBus 296 group in Doxygen 297 298 2006-10-21 Havoc Pennington <hp (a] redhat.com> 299 300 * Makefile.am (EXTRA_DIST): dist cleanup-man-pages.sh so it's in 301 the tarball if packagers want to run it 302 303 * cleanup-man-pages.sh: Add a script which munges all the internal 304 API man pages out of the Doxygen output. This reduces the size of 305 the installed man pages from 7 to 2 megs, and avoids 306 namespace-polluting pages. Right now (like Doxygen) this script 307 isn't in the build, it's something packagers can do manually. 308 309 2006-10-21 Havoc Pennington <hp (a] redhat.com> 310 311 * dbus/dbus-connection.h: don't include the watch/timeout 312 functions in connection section 313 314 2006-10-21 Havoc Pennington <hp (a] redhat.com> 315 316 * Documentation! Whee! Doxygen now 100% silent. If you make it 317 angry again, you will be punished. 318 319 2006-10-21 Havoc Pennington <hp (a] redhat.com> 320 321 * More documentation - all public API now documented according to 322 Doxygen 323 324 2006-10-21 Havoc Pennington <hp (a] redhat.com> 325 326 * Document a bunch of undocumented stuff 327 328 2006-10-21 Havoc Pennington <hp (a] redhat.com> 329 330 * Clean up Doxygen group markers for public API so Doxygen finds 331 everything (not comprehensively fixed for private API). 332 Means all remaining Doxygen warnings are just about missing docs 333 and thus pretty simple to resolve. 334 335 2006-10-21 Havoc Pennington <hp (a] redhat.com> 336 337 * dbus/dbus-macros.h: add DBUS_GNUC_DEPRECATED macro 338 339 * dbus/dbus-message.h: mark dbus_message_iter_get_array_len() 340 as DBUS_GNUC_DEPRECATED 341 342 2006-10-21 Havoc Pennington <hp (a] redhat.com> 343 344 * Move all private API into the private Doxygen group sections of 345 the files, so they don't show up in the public API docs 346 347 2006-10-21 Havoc Pennington <hp (a] redhat.com> 348 349 * dbus/dbus-message.h: put #ifndef DBUS_DISABLE_DEPRECATED around 350 dbus_message_iter_get_array_len(). 351 352 * throughout: documentation improvements. 353 354 2006-10-20 Havoc Pennington <hp (a] redhat.com> 355 356 * doc/TODO: remove the int64 thing from 1.0 since it doesn't 357 matter, and the message-loader-breaker thing since nobody is going 358 to do it. Add an item to 1.0 about supporting recursive locks 359 in dbus_threads_init_default() though, since it should be easy. 360 361 * dbus/dbus-connection.c (_dbus_connection_read_write_dispatch): 362 Fix this in the !dispatch case to avoid busy-looping after 363 disconnection 364 365 * More misc docs improvements 366 367 2006-10-19 Havoc Pennington <hp (a] redhat.com> 368 369 * more Doxygen-related fixes (lots of moving things from the 370 public to internal section in dbus-connection.c) 371 372 2006-10-19 Havoc Pennington <hp (a] redhat.com> 373 374 * Fix a pile of Doxygen warnings and missing docs 375 376 2006-10-19 John (J5) Palmieri <johnp (a] redhat.com> 377 378 * bus/dir-watch-default.c, bus/dir-watch-dnotify.c, 379 bus/dir-watch-kqueue.c (bus_watch_directory): Pass in a BusContext 380 instead of a void *. kqueue uses this to get the context's loop 381 while the other modules ignore the parameter. This allows us to 382 avoid platform conditionals 383 384 * bus/bus.c (process_config_postinit): Pass in the context to the 385 watch 386 387 2006-10-19 John (J5) Palmieri <johnp (a] redhat.com> 388 389 * bus/messagebus.in, bus/rc.messagebus.in: run dbus-uuidgen --ensure 390 when starting the system bus 391 392 2006-10-18 John (J5) Palmieri <johnp (a] redhat.com> 393 394 * configure.in: More fixups for cross compile (Patch from 395 Marco Pracucci <development at pracucci dot com>) 396 397 2006-10-17 Havoc Pennington <hp (a] redhat.com> 398 399 * tools/dbus-send.c (main): don't close shared connection, fix 400 from Timo Hoenig 401 402 2006-10-17 Havoc Pennington <hp (a] redhat.com> 403 404 * configure.in (CPPFLAGS): don't do -DDBUS_API_SUBJECT_TO_CHANGE here 405 406 * dbus/dbus.h: drop the DBUS_API_SUBJECT_TO_CHANGE requirement, 407 since realistically it doesn't look like we'll be changing it 408 anymore. 409 410 2006-10-17 Havoc Pennington <hp (a] redhat.com> 411 412 * dbus/dbus-internals.c (_dbus_warn_check_failed): new function to 413 be used for return_if_fail type warnings; prefixes the pid, and 414 fatal by default. 415 416 2006-10-14 John (J5) Palmieri <johnp (a] redhat.com> 417 418 * configure.in: Released 1.0 RC 2(0.94) 419 Add check for -fPIC and enable it if available 420 421 2006-10-14 John (J5) Palmieri <johnp (a] redhat.com> 422 423 * doc/TODO: Remove the check TODO item 424 425 2006-10-13 John (J5) Palmieri <johnp (a] redhat.com> 426 427 * dbus-transport-socket.c (exchange_credentials): 428 Print out more detailed errors if reading or sending 429 credentials fail (Patch from Julio M. Merino Vidal 430 <jmmv at NetBSD dot org>) 431 432 2006-10-13 John (J5) Palmieri <johnp (a] redhat.com> 433 434 * configure.in: when checking for posix getpwnam_r assume true 435 for cross compiles 436 437 2006-10-13 John (J5) Palmieri <johnp (a] redhat.com> 438 439 * configure.in: Check for gethostbyname first before we check for it 440 in libnsl. On gnu systems it is implemeneted 441 442 2006-10-13 Havoc Pennington <hp (a] redhat.com> 443 444 * dbus/dbus-connection.c 445 (dbus_connection_send_with_reply_and_block): fix to handle closed 446 connections, from Tambet Ingo bug #8631 447 448 2006-10-11 John (J5) Palmieri <johnp (a] redhat.com> 449 450 * configure.in: use AC_TRY_COMPILE for dirfd instead of AC_TRY_RUN 451 452 2006-10-11 John (J5) Palmieri <johnp (a] redhat.com> 453 454 * test/name-test/Makefile.am: don't link against both libdbus and 455 libdbus-convenience 456 457 2006-10-11 John (J5) Palmieri <johnp (a] redhat.com> 458 459 * configure.in: check for dirfd even if it is a macro 460 (Patch from Timothy Redaelli <drizzt at gufi dot org>) 461 462 2006-10-08 John (J5) Palmieri <johnp (a] redhat.com> 463 464 * configure.in: define _POSIX_PTHREAD_SEMANTICS on solaris 465 avoid using dirfd on systems that don't have dirfd 466 (Patch by Brian Cameron <brian dot cameron at sun dot com>) 467 468 2006-10-02 John (J5) Palmieir <johnp (a] redhat.com> 469 470 * dbus/dbus-sysdeps.c (_dbus_abort): Remove from 471 #ifndef DBUS_DISABLE_ASSERTS macro to fix distcheck 472 473 * dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): Remove from 474 #if !defined (DBUS_DISABLE_ASSERT) || defined(DBUS_BUILD_TESTS) 475 macro because _dbus_abort calls it 476 477 * tools/Makefile.am: Add dbus-launch.h to the source list so distcheck 478 works 479 480 2006-10-02 John (J5) Palmieir <johnp (a] redhat.com> 481 482 * dbus/dbus-sysdeps-util-unix.c (dirent_buf_size): Add check for 483 MAXNAMELEN for Mac OSX. (Patch from Jonas B <sanoix at gmail dot com>) 484 485 2006-10-02 Thiago Macieira <thiago (a] kde.org> 486 487 * tools/dbus-launch.c (main): make it complain and abort 488 execution in case an unknown option is given. Also, process 489 the '--' argument as the end of arguments. 490 491 2006-10-01 Havoc Pennington <hp (a] redhat.com> 492 493 * tools/dbus-launch.c (print_variables): if no syntax is given, 494 don't print something that's sort-of-half-sh-syntax, just print 495 a plain key-value pairs thing. 496 497 * tools/dbus-launch-x11.c: use machine ID rather than hostname for 498 the local machine representation (but still have the hostname in 499 the display). Remove the hostname from the display if it is 500 localhost. Change session files to be named 501 ~/.dbus/session-bus/machine-display. Change X atoms to be 502 underscore-prefixed so nobody whines about ICCCM compliance. 503 Otherwise name them the same as the env variables. 504 Change session file format to include key-value pairs and an 505 explanatory comment. Keys are the same as the env variables. 506 (set_address_in_x11): X property format can't depend on 507 sizeof(pid_t) on a particular machine, fix to always be 32 bits 508 509 * tools/dbus-launch.c: make --autolaunch take a machine id 510 argument. If --autolaunch is used with a program to run, complain 511 for now (but add a FIXME). Also, don't look for existing bus if 512 there's a program to run (but add a FIXME). 513 514 * dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): pass 515 machine uuid to dbus-launch (avoids linking dbus-launch to libdbus 516 just to get this, and avoids duplicating uuid-reading code). 517 518 * tools/dbus-launch.1: clarify various things 519 520 2006-10-01 Havoc Pennington <hp (a] redhat.com> 521 522 * test/test-service.c (path_message_func): remove broken extra 523 unref that was hidden by the bugs in dbus-connection.c/dbus-bus.c 524 525 * test/test-shell-service.c (path_message_func): same fix 526 527 * dbus/dbus-connection.c 528 (_dbus_connection_get_dispatch_status_unlocked): break up the 529 function a little for clarity and fix the notification of 530 dbus-bus.c to not require dispatch to be complete 531 532 * dbus/dbus-connection.c (dbus_connection_unref): improve the 533 warning when you try to finalize an open connection. 534 535 2006-10-01 Havoc Pennington <hp (a] redhat.com> 536 537 * dbus/dbus-bus.c 538 (internal_bus_get): only weak ref the connection; this means 539 _dbus_bus_notify_shared_connection_disconnected_unlocked can be 540 called safely in any context 541 (_dbus_bus_notify_shared_connection_disconnected_unlocked): don't 542 unref 543 544 * dbus/dbus-connection.c 545 (_dbus_connection_get_dispatch_status_unlocked): move 546 _dbus_bus_notify_shared_connection_disconnected_unlocked here 547 when queuing Disconnected instead of when the Disconnected message 548 arrives, so dbus_bus_get() won't return closed connections. 549 550 2006-10-01 Havoc Pennington <hp (a] redhat.com> 551 552 * dbus/dbus-connection.c (_dbus_connection_close_if_only_one_ref): 553 Add a hack to make DBusNewConnectionFunction work right. 554 555 * dbus/dbus-server-socket.c (handle_new_client_fd_and_unlock): use 556 the hack here. Also, fix the todo about refcount leak. 557 558 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new): 559 and use the hack here 560 561 * dbus/dbus-connection.c: Kill the "shared" flag vs. the 562 "shareable" flag; this was completely broken, since it meant 563 dbus_connection_open() returned a connection of unknown 564 shared-ness. Now, we always hold a ref on anything opened 565 as shareable. 566 567 Move the call to notify dbus-bus.c into 568 connection_forget_shared_unlocked, so libdbus consistently forgets 569 all its knowledge of a connection at once. This exposed numerous 570 places where things were totally broken if we dropped a ref inside 571 get_dispatch_status_unlocked where 572 connection_forget_shared_unlocked was previously, so move 573 connection_forget_shared_unlocked into 574 _dbus_connection_update_dispatch_status_and_unlock. Also move the 575 exit_on_disconnect here. 576 577 (shared_connections_shutdown): this assumed weak refs to the 578 shared connections; since we have strong refs now, the assertion 579 was failing and stuff was left in the hash. Fix it to close 580 still-open shared connections. 581 582 * bus/dispatch.c: fixup to use dbus_connection_open_private on the 583 debug pipe connections 584 585 * dbus/dbus-connection.c (dbus_connection_dispatch): only notify 586 dbus-bus.c if the closed connection is in fact shared 587 (_dbus_connection_close_possibly_shared): rename from 588 _dbus_connection_close_internal 589 (dbus_connection_close, dbus_connection_open, 590 dbus_connection_open_private): Improve docs to explain the deal 591 with when you should close or unref or both 592 593 * dbus/dbus-bus.c 594 (_dbus_bus_notify_shared_connection_disconnected_unlocked): rename 595 from _dbus_bus_check_connection_and_unref_unlocked and modify to 596 loop over all connections 597 598 * test/test-utils.c (test_connection_shutdown): don't try to close 599 shared connections. 600 601 * test/name-test/test-threads-init.c (main): fix warnings in here 602 603 * dbus/dbus-sysdeps.c (_dbus_abort): support DBUS_BLOCK_ON_ABORT 604 env variable to cause blocking waiting for gdb; drop 605 DBUS_PRINT_BACKTRACE and just call _dbus_print_backtrace() 606 unconditionally. 607 608 * configure.in: add -export-dynamic to libtool flags if assertions enabled 609 so _dbus_print_backtrace works. 610 611 * dbus/dbus-sysdeps-unix.c (_dbus_print_backtrace): use fprintf 612 instead of _dbus_verbose to print the backtrace, and diagnose lack 613 of -rdynamic/-export-dynamic 614 615 2006-09-30 Havoc Pennington <hp (a] redhat.com> 616 617 * dbus/dbus-bus.c (dbus_bus_get_private, dbus_bus_get) 618 (internal_bus_get): fix screwy code formatting. whoever committed 619 that was not paying attention! 620 621 2006-09-30 Havoc Pennington <hp (a] redhat.com> 622 623 * configure.in (LT_CURRENT, LT_AGE): increment current and age to 624 reflect addition of interfaces. 625 626 * doc/dbus-specification.xml: describe a new 627 org.freedesktop.DBus.Peer.GetMachineId method 628 629 * dbus/dbus-string.c (_dbus_string_skip_white_reverse): new function 630 (_dbus_string_skip_white, _dbus_string_skip_blank): use new 631 DBUS_IS_ASCII_BLANK, DBUS_IS_ASCII_WHITE macros and fix assertion 632 at end of skip_white 633 (_dbus_string_chop_white): new function 634 635 * bus/connection.c (bus_connections_setup_connection): call 636 dbus_connection_set_route_peer_messages. 637 638 * dbus/dbus-connection.c 639 (_dbus_connection_peer_filter_unlocked_no_update): modify to 640 support a GetMachineId method. 641 642 Also, support a new flag to let the bus pass peer methods through 643 to apps on the bus, which can be set with 644 dbus_connection_set_route_peer_messages. 645 646 Finally, handle and return an error for anything unknown on the 647 Peer interface, which will allow us to extend the Peer interface 648 in the future without fear that we're now intercepting something 649 apps were wanting to see. 650 651 * tools/dbus-uuidgen.c: a thin wrapper around the functions in 652 dbus/dbus-uuidgen.c 653 654 * dbus/dbus-uuidgen.c: implement the bulk of the dbus-uuidgen 655 binary here, since most of the code is already in libdbus 656 657 * dbus/dbus-sysdeps.c (_dbus_read_local_machine_uuid): read the 658 uuid from the system config file 659 660 * dbus/dbus-internals.c (_dbus_generate_uuid, _dbus_uuid_encode) 661 (_dbus_read_uuid_file_without_creating) 662 (_dbus_create_uuid_file_exclusively, _dbus_read_uuid_file): new 663 uuid-related functions, partly factored out from dbus-server.c 664 665 * dbus/dbus-sysdeps.c (_dbus_error_from_errno): convert EEXIST to 666 DBUS_ERROR_FILE_EXISTS instead of EEXIST 667 668 * dbus/dbus-protocol.h (DBUS_ERROR_FILE_EXISTS): add file exists error 669 670 * tools/dbus-cleanup-sockets.1: explain what the point of this 671 thing is a bit more 672 673 * autogen.sh (run_configure): add --config-cache to default 674 configure args 675 676 * dbus/dbus-internals.h (_DBUS_ASSERT_ERROR_IS_SET): disable the 677 error set/clear assertions when DBUS_DISABLE_CHECKS is defined 678 679 * tools/dbus-launch.c (main): if xdisplay hasn't been opened, 680 don't try to save address, fixes crash in make check 681 682 2006-09-30 Thiago Macieira <thiago (a] kde.org> 683 684 * configure.in: add DBUS_BINDIR as a #define to C source code. 685 686 * tools/dbus-launch.c 687 * tools/dbus-launch.h 688 * tools/dbus-launch-x11.c: 689 * tools/dbus-launch.1: Add the --autolaunch option to 690 dbus-launch, which makes it scan for an existing session 691 started with --autolaunch. With that option, it also creates 692 an X11 window and saves the bus address and PID to it. 693 694 * dbus/dbus-sysdeps.h: 695 * dbus/dbus-sysdeps-unix.c (_dbus_get_autolaunch_address): Add 696 a function that runs "dbus-launch --autolaunch" to retrieve 697 the running D-Bus session address (or start one if none was running) 698 699 * dbus/dbus-transport.c: Add the handler for the "autolaunch:" 700 address protocol, which tries to get the running session from 701 dbus-launch. 702 703 * dbus/dbus-bus.c: 704 * dbus/dbus-internals.h: Make "autolaunch:" be the default 705 D-Bus session bus address. 706 707 * dbus/dbus-connection.c: Fix horrible typo in error message. 708 709 2006-09-18 John (J5) Palmieri <johnp (a] redhat.com> 710 711 * tools/Makefile.am: use @EXPANDED_DATADIR@ instead of @DATADIRNAME@ 712 713 2006-09-17 Havoc Pennington <hp (a] redhat.com> 714 715 * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated): 716 fix so that if unix_user_function is set on windows, we still 717 do the default check that the auth identity matches the bus identity 718 719 2006-09-16 Havoc Pennington <hp (a] redhat.com> 720 721 * dbus/dbus-transport.c (_dbus_transport_open): modify to delegate 722 to _dbus_transport_open_platform_specific, 723 _dbus_transport_open_socket, 724 and _dbus_transport_open_debug_pipe 725 726 * dbus/dbus-transport-protected.h: add _dbus_transport_open_platform_specific 727 728 2006-09-16 Havoc Pennington <hp (a] redhat.com> 729 730 Attempt auditing public API to remove all cases where a Unix 731 function returns weird emulated goo to Windows. This probably 732 breaks the bus daemon on Windows, to fix it again we may 733 need to stop processing unix-specific config options on Windows, 734 and may need to add Windows-specific public API or config options. 735 736 * configure.in (LT_CURRENT, LT_AGE): increment current and age, 737 to reflect added interfaces; should not break soname. 738 739 * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated): do 740 not invoke unix user function on Windows. Kind of a hacky fix, but 741 we don't want a "unix uid" leaking out on Windows. 742 743 * dbus/dbus-connection.c (dbus_connection_get_socket): add new API 744 to get the socket fd on Windows or UNIX 745 (dbus_connection_get_unix_fd): make this always fail on Windows 746 747 2006-09-16 Havoc Pennington <hp (a] redhat.com> 748 749 * dbus/dbus-server.c (dbus_server_listen): change how this works 750 to be able to delegate to a set of handlers that can succeed, 751 fail, or choose not to handle. Allows us to have 752 dbus_server_listen_platform_specific. 753 754 * dbus/dbus-server-socket.c (_dbus_server_new_for_tcp_socket): 755 factor out the tcp socket stuff to be used on windows, leaving 756 unix domain socket only in dbus-socket-unix.c 757 758 * dbus/dbus-transport-socket.c 759 (_dbus_transport_new_for_tcp_socket): factor out the tcp socket 760 stuff to be used on windows, leaving unix domain socket only 761 in dbus-transport-unix.c 762 763 * dbus/dbus-connection.c (dbus_connection_get_unix_user): insert 764 temporary hack to be sure this fails on windows 765 (dbus_connection_get_unix_process_id): ditto 766 767 2006-09-16 Havoc Pennington <hp (a] redhat.com> 768 769 * dbus/dbus-sysdeps-unix.c (_dbus_open_tcp_socket) 770 (_dbus_open_unix_socket, _dbus_open_socket): change API for 771 _dbus_open_socket so the domain/type/protocol from system headers 772 are not required. This is kind of pointless though unless we move 773 part of _dbus_connect_tcp_socket into sysdeps.c instead of 774 sysdeps-unix.c, which would mean adding a wrapper around 775 bind/listen/etc. 776 Also, add DBusError to the socket-opening functions so they 777 don't require use of errno. 778 779 2006-09-16 Havoc Pennington <hp (a] redhat.com> 780 781 * dbus/dbus-sysdeps-unix.h: small change to Peter's patch to make 782 dbus-sysdeps-unix-util.c build, add unix-specific sysdeps header. 783 784 * dbus/dbus-sysdeps.h, dbus-sysdeps-unix.c: patch from Peter 785 Kmmel bug #8249 to make the sysdeps.h read/write/open/close 786 functions specifically for sockets only, and move generic 787 read/write/open/close into unix-specific code. 788 789 2006-09-14 Havoc Pennington <hp (a] redhat.com> 790 791 * dbus/dbus-transport-unix.c (unix_do_iteration): fix a valgrind 792 complaint about accessing revents when poll returns 0, from Julian Seward. 793 794 2006-09-14 John (J5) Palmieri <johnp (a] redhat.com> 795 796 * Released 1.0 RC 1 (0.93) 797 798 2006-09-14 John (J5) Palmieri <johnp (a] redhat.com> 799 800 * dbus/dbus-sysdeps-util-unix.c (_dbus_write_pid_file): 801 use _dbus_close instead of close 802 803 2006-09-14 John (J5) Palmieri <johnp (a] redhat.com> 804 805 * dbus/dbus-sysdeps.c: Add support for LOCAL_CREDS socket 806 credentials. Fixes "external" authentication under e.g. NetBSD 807 which does not support any other socket credentials mechanism. 808 (Patch from Julio M. Merino Vidal <jmmv at NetBSD dot org>) 809 810 2006-09-14 John (J5) Palmieri <johnp (a] redhat.com> 811 812 * dbus/dbus-threads.c: Allow recursive mutex's to be passed into 813 dbus_threads_init and be used by the dbus mutex functions to 814 avoid deadlocks. 815 816 * doc/TODO: Remove recursive mutex dbus_connection_dispatch TODO item 817 818 2006-09-13 John (J5) Palmieri <johnp (a] redhat.com> 819 820 * dbus/dbus-sysdeps-util-unix.c (_dbus_directory_get_next_file): 821 use threadsafe readdir_r instead of readdir 822 823 2006-09-13 John (J5) Palmieri <johnp (a] redhat.com> 824 825 * dbus-threads.c (dbus_threads_init_default): New method for 826 initializing the internal thread implementation (Patch from 827 Alexander Larsson <alexl at redhat dot com>) 828 829 2006-09-11 John (J5) Palmieri <johnp (a] redhat.com> 830 831 * remove a bunch of todo items from the 1.0 list 832 833 2006-09-11 John (J5) Palmieri <johnp (a] redhat.com> 834 835 * bus/activation.c, bus/desktop-file.c: Distinguish between OOM and 836 key not found 837 838 2006-09-11 John (J5) Palmieri <johnp (a] redhat.com> 839 840 * dbus/dbus-internal.c: Add dbus_is_verbose so we can have more 841 complex debugging code 842 843 * dbus/dbus-marshal-basic.c (_dbus_marshal_read_fixed_multi): Move 844 between the test suite ifdefs 845 (_dbus_verbose_bytes): return if verbosity is not enabled 846 847 2006-09-11 John (J5) Palmieri <johnp (a] redhat.com> 848 849 * dbus/dbus-marshal-recursive-util.c, dbus/dbus-marshal-recursive.c: 850 remove DBusMark 851 852 2006-09-10 Havoc Pennington <hp (a] redhat.com> 853 854 patch mostly by Peter Kmmel, bug #8211 855 856 * dbus/dbus-sysdeps-unix.c: new file, which splits out 857 unix-specific stuff in dbus-sysdeps.c 858 859 * dbus/dbus-sysdeps.c: don't include any UNIX-only headers, 860 and move unix-specific stuff to dbus-sysdeps-unix.c 861 862 * configure.in: check HAVE_ERRNO_H 863 864 2006-09-08 John (J5) Palmieri <johnp (a] redhat.com> 865 866 * bus/test-main.c (main): Initialize threading during tests 867 868 * dbus/dbus-connection.c (_dbus_connection_new_for_transport): 869 Unlock connection on error 870 (generate_local_error_message): static method for generating 871 an error message when we don't have a message to reply to 872 (_dbus_connection_block_pending_call): Send a disconnect error 873 instead of just a timeout (NULL) when the bus gets disconnected 874 while blocking for a reply. 875 876 2006-09-08 John (J5) Palmieri <johnp (a] redhat.com> 877 878 * dbus/dbus-connection.c (dbus_connection_dispatch): Properly remove 879 filters (Patch from Kimmo Hmlinen 880 <kimmo dot hamalainen at nokia dot com>) 881 882 2006-09-07 John (J5) Palmieri <johnp (a] redhat.com> 883 884 * dbus/dbus-connection-internal.h: Add prototype for 885 _dbus_connection_test_get_locks to remove warning 886 887 2006-09-07 John (J5) Palmieri <johnp (a] redhat.com> 888 889 * dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): Make sure we 890 close child_err_report_pipe[WRITE_END] on exec (Patch from 891 Kimmo Hmlinen <kimmo dot hamalainen at nokia dot com>) 892 893 2006-09-07 John (J5) Palmieri <johnp (a] redhat.com> 894 895 * Clean up close calls to use _dbus_close (Patch from 896 Kimmo Hmlinen <kimmo dot hamalainen at nokia dot com>) 897 898 2006-09-06 John (J5) Palmieri <johnp (a] redhat.com> 899 900 * doc/TODO: 901 - Remove pending call locking todo item 902 - dbus_connection_open now holds hard ref. Remove todo item 903 - do proper locking on _dbus_bus_check_connection_and_unref 904 and handle DBUS_BUS_STARTER. Remove todo item 905 - Warn on closing of a shared connection. Remove todo item 906 907 * bus/bus.c, bus/connection.c, bus/dispatch.c, dbus/dbus-bus.c, 908 dbus/dbus-connection.c: Use the dbus_connection_close_internal 909 so we don't get the warning when closing shared connections 910 911 * test/test-service.c, test/test-shell-service.c: Applications 912 don't close shared connections themselves so we unref instead of 913 close 914 915 * test/test-utils.c (test_connection_shutdown): Close the connection 916 917 * dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): Changed to 918 _dbus_bus_check_connection_and_unref_unlocked since we only call this 919 method on a locked connection. 920 Make sure we call _dbus_connection_unref_unlocked instead of 921 dbus_connection_unref also. 922 Handle DBUS_BUS_STARTER correctly 923 924 * dbus/dbus-connection.c (connection_record_shared_unlocked): 925 Mark as shared and hard ref the connection 926 (connection_forget_shared_unlocked): Remove the hard ref from the 927 connection 928 (_dbus_connection_close_internal_and_unlock): New internal function 929 which takes a locked connection and unlocks it after closing it 930 (_dbus_connection_close_internal): New internal function which acts 931 like the origonal dbus_connection_close method by grabbing a connection 932 lock and calling _dbus_connection_close_internal_and_unlock 933 (dbus_connection_close): Public close method, warns when the app 934 trys to close a shared connection 935 936 2006-09-06 John (J5) Palmieri <johnp (a] redhat.com> 937 938 * bus/driver.c: 939 (bus_driver_generate_introspect_string): New method for populating 940 a DBusString with the introspect data 941 (bus_driver_handle_introspect): Move introspect generation code to 942 bus_driver_generate_introspect_string 943 944 * bus/main.c: 945 (introspect): New function which prints out the intropect data and 946 exits 947 (main): Add a --introspect switch 948 949 2006-09-06 John (J5) Palmieri <johnp (a] redhat.com> 950 951 * doc/TODO: Removed dtd publishing item. 952 It seems the dtd has already been added at 953 http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd 954 955 2006-09-05 John (J5) Palmieri <johnp (a] redhat.com> 956 957 * doc/TODO, various source files: Audited todo's and FIXME's and 958 prepended the ones we should be looking at with 1.0. Those 959 prepended with 1.0? need clerification or might not be needed 960 for 1.0 961 962 2006-09-05 John (J5) Palmieri <johnp (a] redhat.com> 963 964 * dbus/dbus-pending-call.c: Add some checks so we don't crash on 965 NULL in the public API (Patch from Kimmo Hmlinen 966 <kimmo dot hamalainen at nokia dot com>) 967 968 2006-09-05 John (J5) Palmieri <johnp (a] redhat.com> 969 970 * configure.in: Fix for OS-X compile time endian issues (patch from 971 Benjamin Reed <ranger at befunk dot com>) 972 973 2006-09-05 John (J5) Palmieri <johnp (a] redhat.com> 974 975 * configure.in: Check for no-common compiler flag (OS-X fix from 976 Benjamin Reed <ranger at befunk dot com>) 977 978 2006-09-01 John (J5) Palmieri <johnp (a] redhat.com> 979 980 * tools/dbus-launch.c: Add a sigterm handler (patch from Frederic Crozat 981 <fcrozat at mandriva dot com>) 982 983 2006-08-29 Havoc Pennington <hp (a] redhat.com> 984 985 * test/test-service.c (path_message_func): fix lack of return value 986 987 * dbus/dbus-sysdeps.c (_dbus_printf_string_upper_bound): fix 988 formatting, remove #ifdef, and fix docs. #ifdef doesn't make 989 any more sense than on anything else in this file. 990 (_dbus_get_tmpdir): add const to return value, and keep the 991 results of the various getenv around in a static variable. 992 993 2006-08-29 Havoc Pennington <hp (a] redhat.com> 994 995 * dbus/dbus-sysdeps-util.c, dbus/dbus-sysdeps-util-unix.c: change 996 from Ralf Habacker to move UNIX-specific sysdeps into a separate file. 997 998 2006-08-25 John (J5) Palmieri <johnp (a] redhat.com> 999 1000 * test/Makefile.am: change find to use syntax that works with non 1001 gnu versions of find 1002 1003 2006-08-25 John (J5) Palmieri <johnp (a] redhat.com> 1004 1005 * dbus/dbus-transport.c: fix invalid deref when checking if 1006 a vtable method exists (Patch from Christian Ehrlicher 1007 <ch dot ehrlicher at gmx dot de>) 1008 1009 2006-08-25 John (J5) Palmieri <johnp (a] redhat.com> 1010 1011 * configure.in, dbus/Makefile.am, test/name-test/run-test.sh, 1012 test/name-test/Makefile.am: Fixed some issues with getting get dbus 1013 to build with builddir != srcdir (Taken from a patch by Bernard Leak 1014 <bernard at brenda-arkle dot demon dot co dot uk>) 1015 1016 2006-08-25 John (J5) Palmieri <johnp (a] redhat.com> 1017 1018 * configure.in: Fix DBUS_DAEMONDIR to use EXPANDED_BINDIR for the 1019 default case 1020 1021 2006-08-25 John (J5) Palmieri <johnp (a] redhat.com> 1022 1023 * configure.ac, bus/Makefile.am: Generalize kqueue support so that 1024 it works on any system providing this interface, not only FreeBSD. 1025 For example, NetBSD. (Patch by Julio M. Merino Vidal <jmmv at NetBSD dot org>) 1026 1027 2006-08-20 Havoc Pennington <hp (a] redhat.com> 1028 1029 * doc/dbus-faq.xml, doc/dbus-tutorial.xml: some improvements to 1030 the docs 1031 1032 2006-08-18 John (J5) Palmieri <johnp (a] redhat.com> 1033 1034 * Released 0.92 1035 1036 2006-08-18 John (J5) Palmieri <johnp (a] redhat.com> 1037 1038 * dbus/dbus-threads.c (dbus_threads_init): change the documentation 1039 to reflect the init late change 1040 1041 * bus/bus.c (bus_context_new): Check user before we fork so we can 1042 print out an error message a user will be able to see 1043 1044 2006-08-18 John (J5) Palmieri <johnp (a] redhat.com> 1045 1046 Patch provided by Ralf Habacker (ralf dot habacker at freenet dot de) 1047 1048 * dbus/dbus-sysdeps.c, dbus/dbus-threads.c, dbus/dbus-internals.h: 1049 Add two more global locks for use on windows platforms. These are 1050 unused on non-windows platforms but are not ifdefed out to avoid 1051 potential bugs (i.e. the few bytes lost does not warrent the extra 1052 maintanence and complexity that having seperate sets of locks would 1053 cause) 1054 1055 2006-08-18 John (J5) Palmieri <johnp (a] redhat.com> 1056 1057 * bus/services.c (bus_registry_acquire_service): Return an error 1058 when an application tries to register the org.freedesktop.DBus Bus Name 1059 1060 * bus/services.c (bus_registry_release_service): Return an error 1061 when an application tries to release the org.freedesktop.DBus Bus Name 1062 1063 2006-08-17 Alp Toker <alp (a] atoker.com> 1064 1065 * doc/dbus-specification.xml: Fix some minor typos. 1066 1067 2006-08-17 John (J5) Palmieri <johnp (a] redhat.com> 1068 1069 * configure.in: use $with_init_scripts instead of $operating_system 1070 to determine where to store the pid since the init scripts manipulate 1071 the pid file (patch from Marcelo Ricardo Leitner 1072 <marcelo dot leitner at terra dot com dot br>. 1073 1074 2006-08-16 John (J5) Palmieri <johnp (a] redhat.com> 1075 1076 * dbus/dbus-threads.c: Add static DBusList *uninitialized_mutex_list and 1077 static DBusList *uninitialized_condvar_list to support new late 1078 initialization threading model. In this model threads can be initialized 1079 even after the D-Bus API has been used but still needs to be initialized 1080 before the second thread has been started. Mutexes and condvar addresses 1081 are stored in the two static lists and are replaced with actuall locks 1082 when threads are initalized. 1083 (_dbus_mutex_new_at_location): New method for creating a mutex and placing 1084 the location into the static list 1085 (_dbus_mutex_free_at_location): New method for removing a mutex location 1086 from the static list and freeing the mutex 1087 (_dbus_condvar_new_at_location): New method for creating a conditional 1088 variable and placing the location into the static list 1089 (_dbus_condvar_free_at_location): New method for removing a conditional 1090 variable location from the static list and freeing the conditional variable 1091 (init_uninitialized_locks): Atomic method which goes through the static 1092 lists of mutex and condvar location and updates them with actuall locks 1093 (init_global_locks): changed to init_locks 1094 1095 * dbus/dbus-connection.c: 1096 (_dbus_connection_test_get_locks): New method for tests to check connections 1097 (_dbus_connection_new_for_transport): Use the new at_location mutex and 1098 condvar API 1099 (dbus_connection_allocate_data_slot): Pass in the global lock address 1100 to _dbus_data_slot_allocator_alloc 1101 1102 * dbus/dbus-dataslot.c: 1103 (_dbus_data_slot_allocator_alloc): Use the address of the mutex 1104 instead of the mutex itself 1105 1106 * dbus/dbus-message.c: 1107 (dbus_message_allocate_data_slot): Pass in the global lock address 1108 to _dbus_data_slot_allocator_alloc 1109 1110 * dbus/dbus-pending-call.c: 1111 (dbus_pending_call_allocate_data_slot): Pass in the global lock address 1112 to _dbus_data_slot_allocator_alloc 1113 1114 * dbus/dbus-server.c: 1115 (_dbus_server_init_base): Use the new at_location mutex API 1116 (dbus_server_allocate_data_slot): Pass in the global lock address 1117 to _dbus_data_slot_allocator_alloc 1118 1119 * test/name-test/test-threads-init.c: New test case for late thread 1120 initialization 1121 1122 2006-08-14 John (J5) Palmieri <johnp (a] redhat.com> 1123 1124 * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc): 1125 Change _dbus_abort to _dbus_assert_not_reached because _dbus_abort 1126 causes compile problems when asserts are turned off 1127 Keeping _dbus_warn for printing out the message so even if 1128 asserts are turned off the user gets the messages that something is 1129 wrong 1130 1131 2006-08-14 John (J5) Palmieri <johnp (a] redhat.com> 1132 1133 Patches by Kjartan Maraas <kmaraas at gnome dot org> 1134 1135 * bus/services.c (bus_service_list_queued_owners): 1136 Add a pointer cast to fix compiler warning 1137 1138 * dbus/dbus-dataslot.c (_dbus_data_slot_list_get): 1139 return a NULL instead of FALSE since the return type 1140 is not expecting a boolean 1141 1142 * dbus/dbus-marshal-basic.c (_dbus_marshal_test): 1143 Remove unused variable 1144 1145 * dbus/dbus-marshal-recursive-util.c (node_new): 1146 return a NULL instead of FALSE since the return type 1147 is not expecting a boolean 1148 1149 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new): 1150 Send a NULL into _dbus_transport_new_for_fd instead of a FALSE 1151 because we are expecting a pointer not a boolean 1152 1153 * dbus/dbus-sysdeps-util.c (_dbus_get_tmpdir): 1154 add void as the parameter so some compilers 1155 don't complain 1156 1157 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket, 1158 _dbus_transport_new_for_tcp_socket): 1159 Send a NULL into _dbus_transport_new_for_fd instead of a FALSE 1160 because we are expecting a pointer not a boolean 1161 1162 * test/shell-test.c (test_command_line): 1163 cast the second argument to _dbus_list_append to avoid compiler 1164 warnings 1165 1166 * test/test-names.c (main): remove unused variable 1167 1168 * test/test-service.c (check_hello_from_self_reply): 1169 Initialize echo_message and echo_reply to NULL 1170 1171 * test/test-shell-service.c (handle_echo): 1172 Remove unused variable and cast the third parameter passed to 1173 dbus_connection_get_object_path_data to avoid compiler warrnings 1174 1175 * test/name-test/test-names.c (clear_message_queue): 1176 Remove unused function 1177 1178 * test/name-test/test-pending-call-dispatch.c: 1179 Fix format string in printf 1180 1181 1182 2006-08-14 John (J5) Palmieri <johnp (a] redhat.com> 1183 1184 * dbus/dbus-bus.c: 1185 * test/name-test/test-names.c: 1186 Remove test method dbus_bus_connection_get_unique_name because 1187 we already have public method dbus_bus_get_unique_name that 1188 does the exact same thing 1189 1190 2006-08-10 John (J5) Palmieri <johnp (a] redhat.com> 1191 1192 * dbus/dbus-signature.c: 1193 fix typos in Julio's previous patch which cause make check to fail 1194 1195 2006-08-10 John (J5) Palmieri <johnp (a] redhat.com> 1196 1197 * dbus/dbus-address.c (_dbus_address_test): Revert leaking strcmp. 1198 In any case it was wrong since this is a test checking to see if 1199 address parsing is correct. There was no need to get the true 1200 tmp directory. 1201 1202 2006-08-10 John (J5) Palmieri <johnp (a] redhat.com> 1203 1204 * dbus/dbus-macros.h: Revert the addition of stddef.h 1205 as we should not be adding it to library headers 1206 1207 2006-08-10 John (J5) Palmieri <johnp (a] redhat.com> 1208 1209 * dbus/dbus-signature.c: 1210 Fix the unit tests so that they work if assertions are not enabled. 1211 (patch from Julio M. Merino Vidal <jmmv at NetBSD dot org>) 1212 1213 2006-08-10 John (J5) Palmieri <johnp (a] redhat.com> 1214 1215 * tools/run-with-tmp-session-bus.sh: 1216 * test/name-test/run-test.sh: 1217 Remove bashisms (patch from Julio M. Merino Vidal 1218 <jmmv at NetBSD dot org>) 1219 1220 2006-08-10 John (J5) Palmieri <johnp (a] redhat.com> 1221 1222 * configure.in: add a version (>= 2.6.0) check for libxml2 1223 1224 2006-08-10 John (J5) Palmieri <johnp (a] redhat.com> 1225 1226 * configure.in: make sure the compiler supports -Wfloat-equal 1227 1228 * bus/dir-watch-dnotify.c: move functional code after 1229 variable declerations (C99 fix) (patches from Jens Granseuer 1230 <jensgr at gmx dot net> 1231 1232 2006-08-10 John (J5) Palmieri <johnp (a] redhat.com> 1233 1234 * dbus/dbus-macros.h: 1235 add #include <stddef.h> so that Sun compilers don't complain about 1236 the defining NULL 1237 1238 2006-08-10 John (J5) Palmieri <johnp (a] redhat.com> 1239 1240 * dbus/dbus-sysdeps.c: 1241 * dbus/dbus-address.c: 1242 * bus/activation.c: 1243 * test/shell-test.c: 1244 don't hardcode tmp directory (patch from Dave Meikle 1245 <dmk at davemeikle dot co dot uk>) 1246 1247 2006-08-09 John (J5) Palmieri <johnp (a] redhat.com> 1248 1249 * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_alloc): 1250 Change an assert to a detailed warning and abort. 1251 When allocator->lock != mutex it indicates that the user has failed 1252 to initalize threads before using the D-Bus library. This warning 1253 helps the user identify the issue and fix their app. 1254 1255 2006-08-08 John (J5) Palmieri <johnp (a] redhat.com> 1256 1257 These are all patches from Kjartan Maraas <kmaraas at gnome dot org> 1258 with cleanups of bugs found from Coverity reports: 1259 1260 * dbus/dbus-sysdeps-util.c (_dbus_write_pid_file): 1261 close the file on error to avoid a leak 1262 1263 * bus/expirelist.c (bus_expire_list_test): 1264 Check for NULL on dbus_new0 1265 1266 * bus/activation.c (update_directory): 1267 remove dead code 1268 1269 * bus/config-parser.c (merge_service_context_hash, start_selinux_child): 1270 Fix some leaks 1271 1272 * bus/bus.c (process_config_every_time): 1273 Fixed a leak 1274 1275 * bus/desktop-file.c (parse_key_value): 1276 Fixed leak 1277 1278 * bus/selinux.c (bus_selinux_id_table_insert): 1279 Fixed leak 1280 1281 2006-08-08 John (J5) Palmieri <johnp (a] redhat.com> 1282 1283 * dbus/dbus-object-tree.c (_dbus_object_subtree_new): 1284 remove dead code 1285 1286 2006-08-08 John (J5) Palmieri <johnp (a] redhat.com> 1287 1288 * tools/run-with-tmp-session-bus.sh: use #!/bin/sh instead of 1289 #!/bin/bash 1290 1291 2006-08-08 John (J5) Palmieri <johnp (a] redhat.com> 1292 1293 * Doxyfile.in: fix the INPUT line so we can generate docs 1294 when sourcedir != builddir (patch from Cygwin Ports maintainer 1295 <yselkowitz at users dot sourceforge dot net> 1296 1297 2006-08-08 John (J5) Palmieri <johnp (a] redhat.com> 1298 1299 * dbus/dbus-sysdeps.h: 1300 * dbus/dbus-sysdeps.c: 1301 * dbus/dbus-string.c: 1302 s/_dbus_printf_length/_dbus_printf_string_upper_bound to comform with 1303 GLib's function which does the same thing 1304 1305 * configure.in: 1306 * bus/Makefile.am: 1307 * bus/dir-watch-default.c: 1308 * bus/dir-watch-dnotify.c: 1309 * bus/dir-watch-kqueue.c: 1310 Add kqueue directory watching for freebsd and split the directory 1311 watching code into seperate files per method/arch 1312 (patches from Timothy Redaelli <drizzt at gufi dotorg>) 1313 1314 2006-08-08 John (J5) Palmieri <johnp (a] redhat.com> 1315 1316 * configure.in: 1317 * tools/Makefile.am: 1318 * tools/dbus-launch.c: 1319 * bus/Makefile.am: 1320 allow --with-dbus-daemondir switch to be used to make the 1321 daemon install to a seperate bindir like /usr/libexec 1322 (patch from Brian Cameron <brian dot cameron at sun dot com) 1323 1324 2006-08-08 John (J5) Palmieri <johnp (a] redhat.com> 1325 1326 * bus/Makefile.am (install-data-hook): removed the slash after 1327 $(DESTDIR) so we don't get the double slash which does not work 1328 in windows (patch from Andras Porjesz 1329 <andras dot porjesz at siemens dot com>) 1330 1331 2006-08-08 John (J5) Palmieri <johnp (a] redhat.com> 1332 1333 * dbus/dbus-sysdeps.h: 1334 * dbus/dbus-sysdeps.c: 1335 add _dbus_printf_length (patch from Peter Kmmel 1336 <syntheticpp at gmx dot net>) 1337 1338 2006-08-08 John (J5) Palmieri <johnp (a] redhat.com> 1339 1340 * dbus/dbus-internals.c: unistd.h is not used 1341 (_dbus_verbose_real): only enable verbose printing 1342 if DBUS_VERBOSE environment var is set to '1' 1343 (patch from Peter Kmmel <syntheticpp at gmx dot net>) 1344 1345 2006-08-08 John (J5) Palmieri <johnp (a] redhat.com> 1346 1347 * configure.in: add a GCC flag check for -Wdeclaration-after-statement 1348 so we still compile on older gcc (patch from Frederic Peters 1349 <fpeters at 0d dot be> 1350 1351 2006-08-04 Havoc Pennington <hp (a] redhat.com> 1352 1353 * configure.in: add -Wdeclaration-after-statement 1354 1355 * dbus/dbus-connection.c: change all the pending call stuff to 1356 reflect the fact that pending call operations use the connection 1357 lock 1358 1359 * dbus/dbus-pending-call.c: add locking here 1360 1361 * dbus/dbus-errors.c (struct DBusRealError): don't make the name 1362 field const consistent with how message field is done 1363 1364 2006-08-03 John (J5) Palmieri <johnp (a] redhat.com> 1365 1366 * s/D-BUS/D-Bus/g 1367 1368 2006-08-03 John (J5) Palmieri <johnp (a] redhat.com> 1369 1370 * dbus/dbus-object-tree.c: Patch by Benjamin Otte 1371 <in7y118 at public.uni-hamburg dot de> - fix invalid 1372 read/write reported by valgrind 1373 1374 2006-07-24 John (J5) Palmieri <johnp (a] redhat.com> 1375 1376 * Released 0.91 1377 1378 2006-07-22 John (J5) Palmieri <johnp (a] redhat.com> 1379 1380 * dbus/dbus-connection.c: 1381 (_dbus_connection_attach_pending_call_unlocked): 1382 (connection_timeout_and_complete_all_pending_calls_unlocked): 1383 Make sure we set timeout_added on pending calls to FALSE when 1384 we remove the timeout from the connection 1385 1386 2006-07-21 John (J5) Palmieri <johnp (a] redhat.com> 1387 1388 * Removed some extra bindings stuff lingering around (thanks timo) 1389 * dbus-pendingcall.c (_dbus_pending_call_new): 1390 s/dbus_connection_ref/_dbus_connection_ref_unlocked fixes assertion 1391 when we tried to take a lock on an already locked connection 1392 1393 2006-07-17 John (J5) Palmieri <johnp (a] redhat.com> 1394 1395 * Released 0.90 1396 1397 2006-07-17 Havoc Pennington <hp (a] redhat.com> 1398 1399 * dbus/dbus-marshal-basic.c (_dbus_type_to_string): support 64-bit 1400 ints, reported by Owen Taylor 1401 1402 2006-07-17 John (J5) Palmieri <johnp (a] redhat.com> 1403 1404 * doc/TODO: 1405 * dbus/dbus-bus.c: 1406 * dbus-errors.c: 1407 * dbus/dbus-marshal-validate.c: 1408 Removed TODO items which were fixed or are no longer relevent 1409 1410 2006-07-17 John (J5) Palmieri <johnp (a] redhat.com> 1411 1412 * dbus-qt4-1.pc.in, dbus-sharp.pc.in: 1413 Remove stray files from the stripped bindings 1414 1415 2006-07-16 Havoc Pennington <hp (a] redhat.com> 1416 1417 * dbus/dbus-pending-call.c (_dbus_pending_call_set_timeout_error): 1418 Improve the error message on reply timeout 1419 1420 2006-07-14 John (J5) Palmieri <johnp (a] redhat.com> 1421 1422 * Remove all bindings 1423 1424 2006-07-13 John (J5) Palmieri <johnp (a] redhat.com> 1425 1426 * dbus-connection.c (dbus_connection_send_with_reply): return TRUE 1427 and set pending_reply out arg to NULL is connection is disconnected 1428 (connection_timeout_and_complete_all_pending_calls_unlocked): New 1429 static method for cleaning up pending calls on disconnect 1430 (_dbus_connection_get_dispatch_status_unlocked): If we have pending 1431 calls queued timeouts on disconnect 1432 1433 * dbus/dbus-pending-call.c (_dbus_pending_call_set_connection): 1434 Remove 1435 1436 2006-07-13 Carlos Garcia Campos <carlosgc (a] gnome.org> 1437 1438 * bus/activation.[ch] (bus_activation_list_services): new function to 1439 get the list of services that can be activated 1440 1441 * bus/dispatch.c: test coverage for the new bus method 1442 ListActivatableNames 1443 1444 * bus/driver.c: new bus method ListActivatableNames to get the list of 1445 services that can be activated 1446 1447 * doc/dbus-specification.xml: ListActivatableNames method documentation 1448 1449 2006-07-12 John (J5) Palmieri <johnp (a] redhat.com> 1450 * dbus/Makefile.am: add dbus-pending-call-internal.h to the list of 1451 source files 1452 1453 2006-07-12 John (J5) Palmieri <johnp (a] redhat.com> 1454 * dbus/dbus-message-factory.c: 1455 Fix index into an array (patch by Peter Kmmel <syntheticpp at gmx.net>) 1456 1457 2006-07-12 John (J5) Palmieri <johnp (a] redhat.com> 1458 * dbus/dbus-connection-internal.h: 1459 * dbus/dbus-connection.c: 1460 * file dbus/dbus-pending-call.c: 1461 * dbus/dbus-pending-call.h: 1462 Make DBusPendingCall an opaque type even to D-Bus internals 1463 1464 2006-07-07 John (J5) Palmieri <johnp (a] redhat.com> 1465 1466 * dbus/dbus-connection.h: remove connection_disconnect and replace with 1467 connection_close 1468 1469 * dbus/dbus-connection.c: include dbus-bus.h 1470 (_dbus_connection_read_write_dispatch): make static 1471 1472 2006-07-07 John (J5) Palmieri <johnp (a] redhat.com> 1473 1474 * dbus/dbus-connection.c (dbus_connection_close): removed deprecated 1475 function 1476 (dbus_connection_dispatch): On disconnect unref any shared connections 1477 1478 * dbus/dbus-bus.c (_dbus_bus_check_connection_and_unref): new function 1479 for cleaning up shared connections on disconnect 1480 (internal_bus_get): get a hard refrence to shared connections when 1481 they are created 1482 1483 * doc/TODO: Remove items which are no longer relevent or have been fixed 1484 Split 1.0 todo items with a 0.90 freeze todo list 1485 1486 2006-06-14 Ross Burton <ross (a] openedhand.com> 1487 1488 * glib/dbus-gobject.c: 1489 Free a leaking GArray (surely not!) in dbus_g_method_return. 1490 1491 2006-06-14 Ross Burton <ross (a] openedhand.com> 1492 1493 * tools/Makefile.am: 1494 * tools/dbus-monitor.c: 1495 Don't use the GLib bindings in dbus-monitor (patch from Ralf 1496 Habacker). 1497 1498 2006-06-14 Ross Burton <ross (a] openedhand.com> 1499 1500 * tools/dbus-print-message.c: 1501 Also print the object path when outputting signals or method calls. 1502 1503 2006-06-13 Thiago Macieira <thiago.macieira (a] trolltech.com> 1504 1505 * qt/src/Makefile.am: install the qdbus.h header. 1506 This allows people to actually use the installed code. 1507 1508 2006-06-12 Ross Burton <ross (a] openedhand.com> 1509 1510 * glib/dbus-gproxy.c: 1511 Don't leak a GArray when firing signals (thank Rob Taylor for review). 1512 1513 2006-06-12 Thiago Macieira <thiago.macieira (a] trolltech.com> 1514 1515 * Released 0.62 1516 1517 2006-06-12 Thiago Macieira <thiago.macieira (a] trolltech.com> 1518 1519 * dbus/dbus-arch-deps.h.in: Remove spurious semi-colons that 1520 break pedantic builds. Closes bug 6043 (patch approved by 1521 Havoc back in February). 1522 1523 2006-06-12 Thiago Macieira <thiago.macieira (a] trolltech.com> 1524 1525 * qt/src/qdbusintegrator.cpp: Fix bug in parsing async methods 1526 that took a QDBusMessage parameter. 1527 * qt/src/qdbusbus.h: Add a default flag for RequestName. 1528 * qt/tools/dbus.cpp: Don't use automatic call because we might 1529 be calling an async method: request a reply. 1530 1531 2006-06-11 Thiago Macieira <thiago.macieira (a] trolltech.com> 1532 1533 * test/qt/*: Update the testcases, including testing the new 1534 functionality of sending null QByteArray and QString over the 1535 bus. Add new headertest test and restore the old 1536 qdbusxmlparser test. 1537 1538 2006-06-11 Thiago Macieira <thiago.macieira (a] trolltech.com> 1539 1540 * qt/tools/dbuscpp2xml.cpp: Compile on Windows. 1541 * qt/tools/dbusidl2cpp.cpp: Add missing newline. 1542 1543 * qt/examples/Makefile.am: 1544 * qt/examples/chat.h: Use UI-generated files with the ui_*.h 1545 form. 1546 1547 * qt/src/qdbusmarshall.cpp: Allow sending of QString() and 1548 QByteArray() (nulls) over the bus. 1549 * qt/src/qdbusabstractinterface.cpp: Use the correct variable, 1550 the one that has the signature suffix stripped. 1551 * qt/src/qdbusreply.h: Make some methods const. 1552 1553 2006-06-09 Thiago Macieira <thiago.macieira (a] trolltech.com> 1554 1555 Patch from Timo Hoenig <thoenig (a] suse.de>. 1556 1557 * qt/dbus/Makefile.am: New file. Fix "make dist", add all headers 1558 required during build to EXTRA_DIST. 1559 * qt/src/Makefile.am: Fix "make dist", add 'qdbus.h' to EXTRA_DIST. 1560 * qt/Makefile.am: Fix "make dist", add 'dbus' to DIST_SUBDIRS. 1561 * configure.in: Fix "make dist", take care that the Makefile for 1562 qt/dbus is being generated. 1563 1564 2006-06-07 John (J5) Palmieri <johnp (a] redhat.com> 1565 1566 * bus/bus.c: Fix eavesdropping on method calls 1567 1568 2006-06-07 John (J5) Palmieri <johnp (a] redhat.com> 1569 1570 * configure.in: 1571 * dbus/dbus-userdb-util.c: 1572 Add Solaris console owner patch from Artem Kachitchkine 1573 1574 2006-06-07 Thiago Macieira <thiago.macieira (a] trolltech.com> 1575 1576 * qt/Makfile.am: 1577 * qt/src/Makefile.am: Fix the EXTRA_DIST after the 1578 reorganisation. Thanks to Timo Hoenig for pointing this out. 1579 1580 2006-06-06 Robert McQueen <robot101 (a] debian.org> 1581 1582 * glib/dbus-gtype-specialized.c: Fix obvious leak of GArray in every 1583 call to dbus_g_type_get_struct. 1584 1585 2006-06-06 Robert McQueen <robot101 (a] debian.org> 1586 1587 * glib/dbus-gvalue-utils.c: Fix the failing test where static string 1588 pointers were put into a GPtrArray-based specialised collection, and 1589 then freed along with the array. GValues which you add into 1590 collections or maps which have the NOCOPY flag set are assumed to not 1591 belong to the caller, so rather than the existing pointer-stealing 1592 semantics, they are copied instead. Given that the main consumers of 1593 this abstraction are the bindings themselves, I don't think this is 1594 too bad, but others should watch their choice of take vs set_static. 1595 1596 2006-06-06 Robert McQueen <robot101 (a] debian.org> 1597 1598 * glib/dbus-gvalue-utils.c: Spotted a warning about the return value 1599 of g_slist_prepend not being used. Fixed copying of slist-based 1600 specialised collections, then wrote a test case and found that it was 1601 all broken. Went on to fix iterating and appending too. Good thing 1602 nobody uses this code yet. 1603 1604 2006-06-06 Robert McQueen <robot101 (a] debian.org> 1605 1606 * glib/dbus-gvalue-utils.c: Remove duplicated code by having all of 1607 the iterators use gvalue_take_ptrarray_value (the GValues themselves 1608 are discarded without unsetting, so it makes no difference whether 1609 we take or set_static). Remove cases for G_TYPE_POINTER because 1610 there really is nothing useful we can do with them in our 1611 specialised types - we *need* boxed copy/free functions at the very 1612 least. 1613 1614 2006-06-05 Thiago Macieira <thiago.macieira (a] trolltech.com> 1615 1616 * qt/dbus: Add directory. I had forgotten to add this 1617 yesterday after the move... 1618 1619 * qt/examples/Makefile.am: 1620 * qt/examples/dbus.cpp: Moved to qt/tools/dbus.cpp. 1621 1622 * qt/tools/Makefile.am: 1623 * qt/tools/dbus.cpp: Moved from qt/examples/dbus.cpp. 1624 Added feature to get and set properties. 1625 Added validation of service, object path and interface names. 1626 1627 * qt/tools/dbusidl2cpp.cpp: Two new features: 1628 1) Allow specifying both the header and the source file names, 1629 by separating them with a colon. 1630 2) Don't write an interface output if the -p switch wasn't 1631 given, but the -a was. 1632 1633 * qt/src/*: Fix usage of Iterators and ConstIterators. 1634 Fix shadowing of variables by other variables (-Wshadow). 1635 Fix keyword-cleanliness in headers. 1636 Fix ASCII-cast (QLatin1String, QLatin1Char). 1637 Fix validation of member names. 1638 Add extra checking of introspection data during XML parsing. 1639 Various bug fixes. 1640 1641 2006-06-04 Thiago Macieira <thiago.macieira (a] trolltech.com> 1642 1643 * dbus/Makefile.am: 1644 * dbus/qdbus.h: Remove unnecessary file. This is mirrored into 1645 qt/dbus/qdbus.h now. 1646 1647 2006-06-04 Thiago Macieira <thiago.macieira (a] trolltech.com> 1648 1649 * configure.in: Make --disable-qt actually do 1650 something. Patch inspired by Zack Rusin. 1651 1652 2006-06-04 Thiago Macieira <thiago.macieira (a] trolltech.com> 1653 1654 * qt/: Update to Subversion r548032. 1655 This includes a big reorganisation of the files inside the 1656 subdir. 1657 1658 2006-05-30 Sjoerd Simons <sjoerd (a] luon.net> 1659 1660 * dbus/dbus-sysdeps.c: Make tcp socket connection error somewhat more 1661 clear: 1662 "Failed to connect to socket <host>:<port> <error>" instead of 1663 "Failed to connect to socket <host>: <error>:<port>" 1664 1665 * dbus/dbus-transport-unix.c: Fix crash when no host option is given 1666 for a tcp transport. 1667 1668 2006-05-29 Thiago Macieira <thiago.macieira (a] trolltech.com> 1669 1670 * qt/*: Update the QtDBus bindings up to revision 546310 in 1671 Subversion. 1672 This adds the dbuscpp2xml tool, that parses a C++ header and 1673 outputs a D-BUS Introspection XML. 1674 1675 2006-05-21 Havoc Pennington <hp (a] redhat.com> 1676 1677 * glib/dbus-gproxy.c: Put in a pile of assertions that the proxy name 1678 is not NULL when it shouldn't be. Also a couple of possible fixes 1679 for #4637 though I don't understand why the bug happens, to be 1680 honest... also the object constructor has an assert name != NULL 1681 and the name is only currently NULL for peer-to-peer proxies that 1682 I don't think anyone uses? So it should be asserting. 1683 Anyway, for now at least see if we get an earlier assertion failure. 1684 1685 * glib/dbus-gvalue-utils.c: Put in a couple of assertions for 1686 apparently broken code to be sure the tests fail and someone 1687 will fix them... 1688 1689 2006-05-07 Thiago Macieira <thiago.macieira (a] trolltech.com> 1690 1691 * qt/qdbusmarshall.cpp: Fix a problem of demarshalling lists 1692 and arrays when they had a single element: has_next returns 1693 false, even before you read the element. So, instead, check 1694 the array length. 1695 1696 2006-05-06 Thiago Macieira <thiago.macieira (a] trolltech.com> 1697 1698 * qt/qdbusmessage.cpp: 1699 * qt/qdbustypehelper_p.h: 1700 * qt/qdbusintegrator.cpp: gcc 3.4 doesn't like Q_FOREACH when 1701 the list is a const-reference 1702 1703 2006-05-03 John (J5) Palmieri <johnp (a] redhat.com> 1704 1705 * Adding old doc patch that never got applied 1706 1707 * dbus/bus.c (dbus_bus_add_match): Add documentation 1708 1709 * doc/dbus-specification.xml: Add documentation for the match rules 1710 and the AddMatch and RemoveMatch methods 1711 1712 2006-05-02 Thiago Macieira <thiago.macieira (a] trolltech.com> 1713 1714 * qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct 1715 call (r535506) 1716 1717 * qt/dbusidl2cpp.cpp: 1718 * qt/qdbusabstractadaptor.cpp: 1719 * qt/qdbusabstractadaptor.h: Make QDBusAdaptorConnector be a 1720 sibling of the QDBusAbstractAdaptor objects instead of the 1721 parent. (r535848) 1722 1723 * qt/dbusidl2cpp.cpp: 1724 * qt/qdbusabstractinterface.cpp: 1725 * qt/qdbusabstractinterface.h: 1726 * qt/qdbusabstractinterface_p.h: 1727 * qt/qdbusinterface.cpp: Make properties in interfaces 1728 actually work. The code that was generated would not compile, 1729 due to moc calls to functions that did not exist. They now 1730 shall. (r536571) 1731 1732 2006-04-30 Thiago Macieira <thiago.macieira (a] trolltech.com> 1733 1734 * Makefile.am: 1735 * configure.in: 1736 * dbus-qt4-1.pc.in: Add a pkg-config file for libdbus-qt4-1. 1737 Thanks to Brad Hards for providing the patch 1738 1739 2006-04-29 Thiago Macieira <thiago.macieira (a] trolltech.com> 1740 1741 * qt/dbusidl2cpp.cpp: There's no callAsync. Use the correct 1742 call. (r535506) 1743 1744 2006-04-29 Thiago Macieira <thiago.macieira (a] trolltech.com> 1745 1746 * qt/examples/dbus.cpp: Enhance error messages and use 1747 QDBusInterfacePtr. 1748 1749 2006-04-29 Thiago Macieira <thiago.macieira (a] trolltech.com> 1750 1751 * qt/qdbusinterface.h: Rename QDBusRef to QDBusInterfacePtr 1752 and disable the copy operators. (r533772, r534746) 1753 1754 * qt/qdbuserror.h: Remove the automatic cast to bool. (r533929) 1755 1756 * qt/qdbusabstractinterface.cpp: 1757 * qt/qdbusabstractinterface.h: Change the default call mode to 1758 not use the event loop. Add convenience call() methods that 1759 take a CallMode parameter. (r534042) 1760 1761 * qt/qdbusconnection.h: Change the default call mode to not 1762 use the event loop. (r534042) 1763 1764 * qt/qdbusinterface.cpp: 1765 * qt/qdbusinterface.h: Add a method to tell us if the 1766 interface is valid (since we don't return a null pointer 1767 anymore) (r534099) 1768 1769 * qt/qdbusinterface_p.h: Don't crash if metaObject is 0 1770 (r534101) 1771 1772 * qt/qdbusinternalfilters.cpp: Decouple the introspection 1773 function in two so taht we get the chance to introspect 1774 without having a QDBusMessage (r534102) 1775 1776 * qt/qdbusbus.h: 1777 * qt/qdbusconnection.cpp: 1778 * qt/qdbusconnection_p.h: 1779 * qt/qdbusintegrator.cpp: Keep a list of our own names to 1780 avoid a round-trip to the server when attempting to introspect 1781 one of our own objects. Also make sure the filter functions 1782 match the empty interface as well. (r534108) 1783 Don't keep the connection names. Instead, trust the unique 1784 connection name (r534111) 1785 Remove event loop usage (r534112) 1786 1787 2006-04-29 Thiago Macieira <thiago.macieira (a] trolltech.com> 1788 1789 * qt/qdbusintegrator.cpp: Fix assertion failure spotted by 1790 Brad Hards. 1791 1792 2006-04-28 Robert McQueen <robot101 (a] debian.org> 1793 1794 * glib/dbus-gproxy.c: Fix properties so that they can be given in 1795 any order, making it easier for people who inherit from this 1796 object. 1797 1798 2006-04-28 Robert McQueen <robot101 (a] debian.org> 1799 1800 * glib/dbus-gvalue-utils.c: Patch from Jakub Stachowski to fix leaking 1801 of memory from within pointer arrays and lists. Fixes bug #6300. 1802 1803 2006-04-28 Robert McQueen <robot101 (a] debian.org> 1804 1805 * glib/dbus-gvalue.c: Patch from Jakub Stachowski to fix a leak in 1806 generating struct signatures. Fixes bug #6083. 1807 1808 2006-04-28 Robert McQueen <robot101 (a] debian.org> 1809 1810 * qt/Makefile.am: Tweak CLEANFILES from qdbusconnection.moc 1811 to qdbusconnection_p.moc. 1812 1813 2006-04-24 John (J5) Palmieri <johnp (a] redhat.com> 1814 1815 * README, INSTALL: Doc fixes 1816 Patch from Brad Hards <bradh at frogmouth.net> 1817 1818 2006-04-23 Thiago Macieira <thiago.macieira (a] trolltech.com> 1819 1820 * qt/examples/dbus.cpp: Use the new merged-interface mode for 1821 the dynamic meta object. No need to guess which interface to 1822 call. 1823 1824 2006-04-23 Thiago Macieira <thiago.macieira (a] trolltech.com> 1825 1826 * qt/qdbusconnection_p.h: 1827 * qt/qdbusmetaobject.cpp: 1828 * qt/qdbusmetaobject_p.h: 1829 * qt/qdbusintegrator.cpp: Use the new merged-interface mode 1830 for the dynamic meta object. No need to guess which 1831 interface to call. 1832 * qt/qdbusabstractinterface_p.h: 1833 * qt/qdbusconnection.cpp: 1834 * qt/qdbusintegrator.cpp: 1835 * qt/qdbusinterface.cpp: 1836 * qt/qdbusinterface.h: Make findInterface always return a non-null pointer. 1837 Add a QDBusRef that looks and behaves like DCOPRef. 1838 1839 2006-04-23 Thiago Macieira <thiago.macieira (a] trolltech.com> 1840 1841 * dbus/dbus-connection.c: Interfaces are optional in method 1842 calls, so don't give up if the interface parameter is NULL. 1843 Patch reviewed by Havoc Pennington. 1844 1845 2006-04-23 Thiago Macieira <thiago.macieira (a] trolltech.com> 1846 1847 * qt/qdbusreply.h: Add default constructor and operator= 1848 (r532625) 1849 * qt/qdbustypehelper_p.h: Use a clean namespace: no foreach() 1850 in public headers (r532952) 1851 * qt/qdbusabstractinterface.cpp: 1852 * qt/qdbusabstractinterface_p.h: Add the AutoDetect mode and 1853 make it the default (r532951) 1854 1855 2006-04-19 John (J5) Palmieri <johnp (a] redhat.com> 1856 1857 * dbus/dbus-connection.c: Fix asserts 1858 Patch from Tim Moloney <t.moloney at verizon.net> 1859 1860 2006-04-19 John (J5) Palmieri <johnp (a] redhat.com> 1861 1862 * mono/Connection.cs, mono/Message.cs: Check Target type 1863 Patch from Aaron Bockover (abockover at novell.com) 1864 1865 2006-04-13 Thiago Macieira <thiago.macieira (a] trolltech.com> 1866 1867 * INSTALL: fine-tune the requirements for the Qt4 binding. 1868 1869 2006-04-16 Daniel P. Berrange <dan (a] berrange.com> 1870 1871 * tools/dbus-print-message.c: Added support for printing of all 1872 remaining data types. Fixed logic for indentation of compound 1873 data types. 1874 1875 2006-04-15 Daniel P. Berrange <dan (a] berrange.com> 1876 1877 * INSTALL: fill out content of file providing DBus specific 1878 build installations, followed by generic Auto* INSTALL file 1879 content 1880 1881 2006-04-13 Thiago Macieira <thiago.macieira (a] trolltech.com> 1882 1883 * qt/qdbusintegrator.cpp: Work around g++ 3.3 bug. 1884 Patch by Stefan Eilers. (r529537) 1885 1886 2006-04-13 Thiago Macieira <thiago.macieira (a] trolltech.com> 1887 1888 * qt/qdbusinternalfilters.cpp: Don't show the parent's 1889 contents (r528208) 1890 1891 2006-04-10 Thiago Macieira <thiago.macieira (a] trolltech.com> 1892 1893 * qt/Makefile.am: fix the dependency for 1894 qdbusconnection_p.moc. It's included in qdbusintegrator.cpp, 1895 not in qdbusconnection.cpp. 1896 Thanks to Jakub Stachowski <stachowski (a] hypair.net> for 1897 spotting this. 1898 1899 2006-04-10 Thiago Macieira <thiago.macieira (a] trolltech.com> 1900 1901 * qt/examples/listnames.cpp: 1902 * qt/examples/Makefile.am: Three ways to list the names on the 1903 bus. 1904 1905 2006-04-10 Thiago Macieira <thiago.macieira (a] trolltech.com> 1906 1907 * test/qt/tst_hal.cpp: Remove the waiting, since it's not 1908 needed anymore. Requires Qt 4.1.3 to work properly. (r528148) 1909 1910 2006-04-10 Thiago Macieira <thiago.macieira (a] trolltech.com> 1911 1912 Merge from Subversion: 1913 * qt/qt-dbus.qdocconf: Update Trolltech's webpage link to 1914 something that exists (r526315) 1915 * qt/qdbusinternalfilters.cpp: Correctly detect non-scriptable 1916 slots/signals (r526316) 1917 * qt/qdbusinternalfilters.cpp: Fix the setProperty call and 1918 also return an unknown-method error if the parameters don't 1919 match for org.freedesktop.DBus.Properties. (r526842) 1920 * qt/examples/dbus.cpp: Allow passing of QVariants (r526843) 1921 * qt/qdbusintegrator.cpp: Restore the proper order of 1922 delivery: don't make method returns be delivered on priority 1923 (r528150) 1924 1925 2006-03-28 Thiago Macieira <thiago.macieira (a] trolltech.com> 1926 1927 * configure.in qt/Makefile.am: add qt/examples 1928 * qt/examples: Add QtDBus example programs: 1929 - hello: Hello, World 1930 - ping: Simple method-calling program 1931 - pong: Simple object-exporting program (not using adaptors) 1932 - complexping: Interactive method-calling program 1933 (also gets and sets properties). 1934 - complexpong: Sample program exporting methods, signals and 1935 properties, using adaptors. 1936 - dbus: Simple implementation of a generic method-calling 1937 program, similar to 'dbus-send', but with semantics 1938 similar to 'dcop'. 1939 - chat: Simplistic chat program, implemented using signals 1940 and the system bus. Looks like IRC. 1941 1942 2006-03-28 Thiago Macieira <thiago.macieira (a] trolltech.com> 1943 1944 * configure.in: Detect QtGui (necessary for one of the 1945 example programs). Note: this increases the minimum required 1946 version of Qt to 4.1.3. 1947 1948 2006-03-28 Thiago Macieira <thiago.macieira (a] trolltech.com> 1949 1950 * test/qt/*: Sync with KDE Subversion revision 523647. 1951 Update the testcases to the new API. Remove testcases for 1952 classes that are no longer public or have been removed. 1953 1954 2006-03-28 Thiago Macieira <thiago.macieira (a] trolltech.com> 1955 1956 * qt/*: 1957 * dbus/qdbus.h: Sync with KDE Subversion revision 1958 523647. Hopefully, this will be the last of the 1959 source-incompatible changes. Documentation has been improved; 1960 support for QList<basic-types> has been added; QDBusObject is 1961 gone; QDBus(Abstract)Interface is now a QObject with 1962 auto-generated meta-object; QDBusIntrospection is marked 1963 private, since QMetaObject can be used now; lots of bugfixes. 1964 1965 2006-03-16 John (J5) Palmieri <johnp (a] redhat.com> 1966 1967 Patch from Milosz Derezynski <internalerror at gmail.com> 1968 1969 * configure.in: 1970 Output the service directory in the configure summary 1971 1972 * dbus-1.pc.in: 1973 Add session_bus_services_dir 1974 1975 2006-03-10 Ross Burton <ross (a] openedhand.com> 1976 1977 * tools/dbus-print-message.c: 1978 Add support for object paths and signatures. 1979 1980 2006-03-06 Sjoerd Simons <sjoerd (a] luon.net> 1981 1982 * bus/bus.c: (bus_context_reload_config): Flush the user database cache on 1983 config reload. 1984 * bus/dbus-daemon.1.in: Also note that SIGHUP flushes the user/group 1985 information caches 1986 * dbus/dbus-hash.c: (_dbus_hash_table_remove_all): 1987 * dbus/dbus-hash.h: Add function to remove all entries from a hash table 1988 * dbus/dbus-userdb.c: (_dbus_user_database_flush): 1989 * dbus/dbus-userdb.h: Add function to flush all user/group information 1990 caches. 1991 1992 2006-03-06 Thiago Macieira <thiago.macieira (a] trolltech.com> 1993 1994 * qt/dbusidl2cpp.cpp: 1995 * qt/Makefile.am: add the dbusidl2cpp tool, the replacement 1996 for dcopidl2cpp, found in the KDE installations (or the more 1997 modern kalyptus): generate Qt4 C++ code for the input XML 1998 introspection. Currently no IDL parsing. 1999 2000 2006-03-06 Thiago Macieira <thiago.macieira (a] trolltech.com> 2001 2002 * test/qt/*: Update the self-tests. 2003 2004 2006-03-06 Thiago Macieira <thiago.macieira (a] trolltech.com> 2005 2006 * qt/*: 2007 * dbus/qdbus.h: Sync with KDE Subversion revision 516237. This 2008 represents the first feature-complete version of the Qt4 2009 bindings since I took ove maintainership. 2010 2011 2006-03-06 Thiago Macieira <thiago.macieira (a] trolltech.com> 2012 2013 * qt/Doxyfile: Adding a Doxyfile for the Qt4 bindings 2014 dir. This is C++, so we can't use the DBus ones. 2015 2016 2006-03-02 John (J5) Palmieri <johnp (a] redhat.com> 2017 2018 * python/dbus_bindings.pyx: Remove refrence to sys/cdefs.h 2019 (Patch from Artem Kachitchkine <Artem.Kachitchkin at Sun.COM>) 2020 2021 2006-03-02 John (J5) Palmieri <johnp (a] redhat.com> 2022 2023 * dbus/dbus-connection.c: 2024 (_dbus_connection_block_pending_call): 2025 Check to see if our data has already been read off the connection 2026 by another blocking pending call before we block in poll. 2027 (check_for_reply_and_update_dispatch_unlocked): 2028 Code taken from _dbus_connection_block_pending_call - checks for 2029 an already read reply and updates the dispatch if there is one. 2030 2031 * test/name-test/test-pending-call-dispatch.c: 2032 New test for making sure we don't get stuck polling a 2033 dbus connection which has no data on the socket when 2034 blocking out of order on two or more pending calls. 2035 2036 2006-02-28 Thiago Macieira <thiago.macieira (a] trolltech.com> 2037 2038 * qt/Makefile.am: Patch by Sjoerd Simons. More .moc issues: 2039 make/automake don't detect that we're talking about the same 2040 .lo file if I specify the full path to the source files. 2041 2042 2006-02-26 Havoc Pennington <hp (a] redhat.com> 2043 2044 * bus/dbus-daemon.1.in: improve the language in a couple spots I noticed 2045 2046 * dbus/dbus-bus.c (internal_bus_get): in the error message if the 2047 session bus variable is unset, suggest "man dbus-launch" and "man 2048 dbus-daemon" to figure out how to fix the problem 2049 2050 2006-02-25 Havoc Pennington <hp (a] redhat.com> 2051 2052 * glib/dbus-glib-tool.c (usage): fix up the usage message, someone 2053 should make this thing use the new glib options parser 2054 2055 2006-02-25 Thiago Macieira <thiago.macieira (a] trolltech.com> 2056 2057 * qt/Makefile.am: Patch by Sjoerd Simons. Fix the path to the 2058 .lo files taking moc sources. 2059 2060 2006-02-25 Havoc Pennington <hp (a] redhat.com> 2061 2062 * dbus/dbus.h, dbus/Makefile.am: add dbus-signature.h to dbus.h 2063 and install it as a public header 2064 2065 2006-02-24 John (J5) Palmieri <johnp (a] redhat.com> 2066 2067 * Released 0.61 2068 2069 2006-02-24 John (J5) Palmieri <johnp (a] redhat.com> 2070 2071 * proxies.py: Fix the callchain 2072 2073 2006-02-24 John (J5) Palmieri <johnp (a] redhat.com> 2074 2075 * patch from Sjoerd Simons <sjoerd at debian.org>: 2076 2077 * dbus/dbus-sysdeps-util.c (_dbus_group_info_free): Moved to 2078 dbus/dbus-sysdeps.c 2079 2080 * dbus/dbus-userdb.c (_dbus_group_info_free_allocated): Don't 2081 call _dbus_group_info_free_allocated which causes infinite loop, 2082 correctly call _dbus_group_info_free 2083 2084 2006-02-20 Thiago Macieira <thiago.macieira (a] trolltech.com> 2085 2086 * qt/qdbusinterface_p.h: 2087 * qt/qdbusinterface.cpp: Use the standard 2088 org.freedesktop.DBus.Method.NoReply annotation for the "async" 2089 calls instead of creating one for us. 2090 2091 * qt/qdbusconnection_p.h: 2092 * qt/qdbusintegrator.cpp: Remove debugging code. 2093 2094 * qt/qdbusintegrator.cpp: 2095 * qt/qdbusmessage.cpp: 2096 * qt/qdbusmessage_p.h: 2097 * qt/qdbusmessage.h: Change the behaviour of automatic 2098 reply-sending: now a reply is always sent, unless the caller 2099 didn't request one or if the user slot has already sent one. 2100 2101 2006-02-16 Robert McQueen <robot101 (a] debian.org> 2102 2103 * configure.in: Patch from Debian packages by Sjoerd Simons 2104 <sjoerd (a] debian.org> to add --with-qt-moc and --with-qt3-moc 2105 arguments so it's possible to build both bindings in the 2106 same tree. 2107 2108 * qt/Makefile.am: Fix truncated value so that make dist works. 2109 2110 2006-02-16 Robert McQueen <robot101 (a] debian.org> 2111 2112 * acinclude.m4, configure.in: Patch from Brad Hards 2113 <bradh (a] frogmouth.net> to avoid warnings from autoconf 1.9 by 2114 improving quoting, re-ordering a few checks, and a few other 2115 aesthetic tidy-ups. 2116 2117 2006-02-16 Robert McQueen <robot101 (a] debian.org> 2118 2119 * dbus/dbus-message.c (dbus_message_iter_get_fixed_array): 2120 Patch from Rob Taylor <rob.taylor (a] collabora.co.uk> to correct a bogus 2121 assertion that the next element to read from the iter is fixed in 2122 size. This is not the case when you are at the end of the iter, 2123 because the next element type is INVALID. 2124 2125 * dbus/dbus-string.c (_dbus_string_init_const_len): Correct a 2126 a bogus assert which means that you may not initialise a 0-length 2127 string unless you provide a non-NULL pointer. This prevented 2128 you from marshalling messages containing zero-length arrays in 2129 some cases. 2130 2131 * glib/dbus-gvalue.c (demarshal_collection_array): Another patch 2132 from Rob to correct bogus asserts when trying to demarshal an 2133 array and get_fixed_array got you 0 elements. Append nothing to 2134 the GArray in this case. 2135 2136 * test/glib/test-dbus-glib.c: Add a test case for round-tripping 2137 an empty array via the glib bindings. Without all of the above 2138 patches, this new test fails. 2139 2140 2006-02-16 Robert McQueen <robot101 (a] debian.org> 2141 2142 * glib/dbus-gmain.c: Make the previous commit compile. 2143 2144 * python/_dbus.py, python/matchrules.py: Patch from Ole Andre 2145 Ravnaas <ole.andre.ravnaas (a] collabora.co.uk> to allow you to 2146 specify sender_keyword="foo", path_keyword="bar" when adding 2147 a signal listener, so that you can bind to signals generically 2148 but still do something useful in your callback. 2149 2150 * python/dbus_bindings.pyx: Demarshal the byte type as unsigned 2151 chars so that they're not cast to chars and made negative. Thanks 2152 to Jakub Stachowski for reporting this and testing the fix. 2153 2154 2006-02-15 John (J5) Palmieri <johnp (a] redhat.com> 2155 2156 * dbus/dbus-glib.h: 2157 * glib/dbus-gmain.h: 2158 (dbus_g_connection_open): new method for openning 2159 a connection to an arbitrary address in the glib bindings 2160 2161 * ChangeLog: checkin last entry which doesn't seem to be commited 2162 2163 2006-02-13 John (J5) Palmieri <johnp (a] redhat.com> 2164 2165 * tools/dbus-launch.c: Fixed sh syntax output 2166 2167 2006-02-13 Robert McQueen <robot101 (a] debian.org> 2168 2169 * glib/dbus-binding-tool-glib.c, glib/dbus-gmain.c, 2170 glib/dbus-gsignature.c, glib/dbus-gtype-specialized.c, 2171 glib/dbus-gtype-specialized.h, glib/dbus-gvalue-utils.c, 2172 glib/dbus-gvalue-utils.h, glib/dbus-gvalue.c: 2173 Patch from Rob Taylor <rob.taylor (a] collabora.co.uk> to add a big 2174 missing piece of the glib bindings jigsaw puzzle. This modifies 2175 the existing specialised types to have N type parameters (rather 2176 than the current 1 or 2 for arrays and dictionaries respectively). 2177 You can then use this to get a glib type to represent any arbitrary 2178 D-Bus struct type using dbus_g_type_get_struct. The only 2179 implementation of these types is with GValueArrays as before, 2180 but it's now possible to store these in arrays, emit them in 2181 signals, etc. 2182 2183 2006-02-10 John (J5) Palmieri <johnp (a] redhat.com> 2184 2185 * dbus/dbus-signature.c (dbus_signature_iter_recurse): Correctly 2186 deal with nested arrays (Bug #5823) Patch by Thiago Macieira 2187 <thiago.macieira at trolltech.com> 2188 2189 2006-02-10 John (J5) Palmieri <johnp (a] redhat.com> 2190 2191 * mono/doc/Makefile.am: Fix parallel make problem with mono-doc 2192 (Bug #4213) Patch from Doug Goldstein <cardoe at gentoo.org> 2193 2194 2006-02-10 John (J5) Palmieri <johnp (a] redhat.com> 2195 2196 * bus/connection.c (bus_connections_expect_reply): Make 2197 pending reply limit not common to all connections (Bug #5416) 2198 Patch from Kimmo Hmlinen <kimmo.hamalainen at nokia.com> 2199 2200 2006-02-10 John (J5) Palmieri <johnp (a] redhat.com> 2201 2202 * tools/dbus-launch.c: Fixed csh syntax output (Bug #5720) 2203 2204 2006-02-10 John (J5) Palmieri <johnp (a] redhat.com> 2205 2206 * gcj/Makefile.am: point to correct jar command (Bug #4529) 2207 patch from Doug Goldstein <cardoe at gentoo.org> 2208 2209 2006-02-09 Joe Shaw <joeshaw (a] novell.com> 2210 2211 * mono/Arguments.cs: Fix a magic number in the mono bindings 2212 that doesn't work on 64 bit arches. Patch from Peter Johanson. 2213 2214 2006-01-27 Robert McQueen <robot101 (a] debian.org> 2215 2216 * glib/dbus-binding-tool-glib.[ch]: Patch based on Ricardo Kekki's 2217 patch to use an annotation org.freedesktop.DBus.GLib.ClientCSymbol 2218 when generating the client-side methods, instead of overloading 2219 CSymbol which broke everything horribly. My apologies. 2220 2221 2006-01-27 Robert McQueen <robot101 (a] debian.org> 2222 2223 * glib/dbus-gtype-specialized.[ch], glib/dbus-gvalue-utils.c: Patch 2224 by me and Rob Taylor to add a simple_free function to D-Bus map 2225 and collection types, which allows those types which can be freed 2226 with a GDestroyNotify (such as GHashTables and GArrays, but not 2227 GPtrArrays) to be stored as the values in hashtables. 2228 2229 * test/glib/test-dbus-glib.c, test/glib/test-service-glib.{c,xml}: 2230 Patch by Rob Taylor to add nested dicts to the glib tests to check 2231 the above code works, and appears not to leak when called repeatedly. 2232 2233 2006-01-27 Robert McQueen <robot101 (a] debian.org> 2234 2235 * glib/dbus-gvalue.c (demarshal_valuearray): Patch from Rob Taylor 2236 to free a D-Bus allocated string with dbus_free () instead of 2237 g_free (). 2238 2239 2006-01-27 Iain Holmes <iain (a] openedhand.com> 2240 2241 * glib/dbus-gproxy.c (dbus_g_proxy_dispose): Protect the dispose 2242 method from being called multiple times. 2243 2244 2006-01-19 Robert McQueen <robot101 (a] debian.org> 2245 2246 * glib/dbus-binding-tool-glib.c: Patch from Rob Taylor 2247 <rob.taylor (a] collabora.co.uk> to add support for generating bindings 2248 to arrays that are represented as GPtrArrays rather than GArrays (ie 2249 size-variable things, such as strings, objects, structs, etc). 2250 2251 2006-01-05 Robert McQueen <robot101 (a] debian.org> 2252 2253 * dbus/dbus-glib.h, glib/dbus-gproxy.c: Patch from Ricardo Kekki 2254 <ricardo.kekki (a] movial.fi> to make it possible to inherit from 2255 DBusGProxy, by splitting the DBusGProxy struct into a public part and 2256 a private part, and moving the setting of the DBusGProxyManager into a 2257 connection property, allowing proper GObject construction. 2258 2259 2006-01-05 Robert McQueen <robot101 (a] debian.org> 2260 2261 * glib/dbus-binding-tool-glib.c: Patch from Ricardo Kekki 2262 <ricardo.kekki (a] movial.fi> to make dbus-binding-tool heed C symbol name 2263 annotations when generating glib client bindings. 2264 2265 2005-12-19 John (J5) Palmieri <johnp (a] redhat.com> 2266 2267 * dbus/dbus-shared.h: Call it shared constants instead of shared macros 2268 2269 * dbus/dbus-protocol.h: add DOxygen markup to quiet warnings 2270 2271 2005-12-19 John (J5) Palmieri <johnp (a] redhat.com> 2272 2273 * dbus/dbus-shared.h: add DOxygen markup to quiet warnings 2274 2275 2005-12-19 John (J5) Palmieri <johnp (a] redhat.com> 2276 2277 * dbus/dbus-macros.h: correct DOxygen end of section (s/}@/@}) 2278 2279 2005-12-19 Ross Burton <ross (a] openedhand.com> 2280 2281 * doc/dbus-tutorial.xml: 2282 Document the Glib client-side bindings, and list all possible annotations. 2283 2284 2005-12-19 John (J5) Palmieri <johnp (a] redhat.com> 2285 2286 * dbus/bus.c (dbus_bus_release_name): Add documentation 2287 2288 2005-12-06 Robert McQueen <robot101 (a] debian.org> 2289 2290 * python/service.py: s/sucessful/successful/ so we're allocating to 2291 and reading from the same variable. Oops. 2292 2293 2005-11-30 John (J5) Palmieri <johnp (a] redhat.com> 2294 2295 * Released 0.60 2296 2297 2005-11-30 John (J5) Palmieri <johnp (a] redhat.com> 2298 2299 * test/qt/Makefile.am: build from srcdir 2300 2301 * qt/qtconnection.cpp (requestName): Changed PROHIBIT_REPLACE to ALLOW_REPLACE 2302 Note - this code is wrong and needs to be fixed by the Qt binding 2303 developers. The flags should be treated as bitfields and not enums. 2304 2305 * qt/qtconnection.h: Change ProhibitReplace to AllowReplace 2306 2307 2005-11-30 John (J5) Palmieri <johnp (a] redhat.com> 2308 2309 * dbus/dbus-list.c (_dbus_list_insert_after_link, _dbus_list_insert_after, 2310 link_after): remove #ifdef DBUS_BUILD_TESTS since we use these methods 2311 in production code 2312 2313 2005-11-30 John (J5) Palmieri <johnp (a] redhat.com> 2314 2315 * dbus/dbus-connection.c (dbus_connection_read_write): Add new 2316 method for getting messages off the bus in the absence of a 2317 mainloop. This method is much like 2318 dbus_connection_read_write_dispatch except it does not dispatch 2319 the messages to a registered filter function. Instead it 2320 allows a developer to process messages by directly popping 2321 them off the bus. 2322 2323 2005-11-30 John (J5) Palmieri <johnp (a] redhat.com> 2324 2325 * bus/desktop-file.c (parse_key_value): Ignore locales allowing 2326 the parser to continue instead of returning error 2327 (bus_desktop_file_load): Do not free parser data when 2328 parse_section_start or parse_key_value fails because it was 2329 already freed by parser_free (patch from Carlos Garcia Campos 2330 <carlosgc at gnome.org>) 2331 2332 2005-11-30 John (J5) Palmieri <johnp (a] redhat.com> 2333 2334 * dbus/dbus-auth.c, dbus/dbus-connection.c, dbus/dbus-keyring.c, 2335 dbus/dbus-server-debug-pipe.c, glib/dbus-binding-tool-glib.c 2336 glib/dbus-glib-tool.c, glib/dbus-gparser.c, glib/dbus-gproxy.c 2337 test/test-segfault.c, test/test-utils.c, 2338 test/glib/test-dbus-glib.c, tools/dbus-cleanup-sockets.c 2339 tools/dbus-launch.c, tools/dbus-tree-view.c, tools/dbus-viewer.c: 2340 Various cleanup of dead code and compiler warnings (patch from 2341 Kjartan Maraas <kmaraas at gnome.org>) 2342 2343 2005-11-30 John (J5) Palmieri <johnp (a] redhat.com> 2344 2345 * glib/dbus-gmain.c (connection_setup_add_watch): plugged a leak 2346 (patch from Carlos Garnacho Parro <carlosg at gnome.org> 2347 2348 2005-11-27 Robert McQueen <robot101 (a] debian.org> 2349 2350 * python/dbus_bindings.pyx: Repair my previous commit which reverted 2351 part of the preceding one. Oops. Merge patch by Johan Hedberg 2352 <johan.hedberg (a] nokia.com> to fix marshalling of 16-bit integer values 2353 on big-endian platforms. 2354 2355 * test/python/test-client.py: Add some 16-bit integers to the test 2356 values. 2357 2358 2005-11-27 Carlos Garcia Campos <carlosgc (a] gnome.org> 2359 2360 * glib/dbus-gobject.c: Append a GValue instead of a basic type in 2361 method return message for property getters 2362 2363 2005-11-27 Robert McQueen <robot101 (a] debian.org> 2364 2365 * python/dbus_bindings.pyx: Fix a bug where doing a strict append 2366 with type v of an instance of dbus.Variant(foo, type='x') caused 2367 it to be boxed twice before sending over the bus. 2368 2369 * python/dbus_bindings.pyx, python/service.py, 2370 test/python/test-client.py: Update the constants for the new 2371 request_name flags, and update comments/test cases now that queueing 2372 is the default action. 2373 2374 2005-11-22 John (J5) Palmieri <johnp (a] redhat.com> 2375 2376 * configure.in: 2377 - Change version to 0.60 for impending release 2378 - upped the sonames because of ABI and API breakage 2379 2380 2005-11-22 John (J5) Palmieri <johnp (a] redhat.com> 2381 2382 * configure.in: Add test/name-test/Makefile to the generated 2383 Makefile list 2384 2385 * dbus/dbus-shared.h (#define DBUS_NAME_FLAG_ALLOW_REPLACEMENT): 2386 New flag which replaces DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT 2387 (#define DBUS_NAME_FLAG_DO_NOT_QUEUE): New flag for specifying 2388 not to queue an ower if it can't be the primary owner 2389 2390 * bus/bus.h: Add new internal BusOwner struct 2391 2392 * bus/driver.c (bus_driver_handle_hello): Send flags (0 for default) 2393 to bus_registry_ensure and don't set the prohibit_replacement flag 2394 since they are now set per BusOwner and not per name. 2395 (bus_driver_handle_list_queued_owners): bus method (ListQueuedOwners) 2396 that returns the list of connections in a name's connection queue 2397 2398 * bus/services.c (struct BusService): remove prohibit_replacement field 2399 (struct BusOwner): new struct for keeping track of queued connections 2400 and their associated flags for the queue 2401 (struct BusRegistry): add a BusOwner memory pool 2402 (bus_registry_new): initialize the BusOwner memory pool 2403 (bus_registry_unref): free the BusOwner memory pool 2404 (_bus_service_find_owner_link): new internal method for 2405 searching the queue for a specific connection 2406 (bus_owner_set_flags): new method for adding setting the flags on a 2407 bus owner 2408 (bus_owner_new): new method that creates a BusOwner object from the 2409 pool and sets its flags 2410 (bus_owner_ref, bus_owner_unref): ref counting for BusOwner objects 2411 (bus_registry_ensure): Add the flags parameter 2412 (bus_registry_acquire_service): Switch from using raw connections to 2413 using the BusOwner struct 2414 Add new state machine for dealing with the new set of flags 2415 (bus_registry_set_service_context_table, struct OwnershipCancelData, 2416 cancel_ownership, free_ownership_cancel_data, 2417 add_cancel_ownership_to_transaction, struct OwnershipRestoreData, 2418 restore_ownership, free_ownership_restore_data, 2419 add_restore_ownership_to_transaction): Switch to using BusOwner 2420 instead of raw connections 2421 (bus_service_add_owner): Add flags parameter 2422 Switch to using BusOwner instead of raw connections 2423 Add state machine for dealing with the new set of flags 2424 (bus_service_swap_owner): Swaps the first and second owners in the 2425 queue. Used to make sure proper signals are sent when a service looses 2426 or gains primary ownership. We never insert an owner at the top of the 2427 queue. Instead we insert it in the second position and then swap. 2428 (bus_service_remove_owner): Remove the owner from the queue sending 2429 out the NameLost and NameOwnerChanged signals if the we were the 2430 primary owner 2431 (bus_service_get_primary_owners_connection): New method that extracts 2432 the connection from the primary owner 2433 (bus_service_get_primary_owner): Returns the BusOwner instead of the 2434 connection 2435 (bus_service_get_allow_replacement): Changed from the old 2436 bus_service_get_prohibit_replacement method. Checks the flags of the 2437 primary owner and returns if it can be replaced or not 2438 (bus_service_set_prohibit_replacement): removed 2439 (bus_service_has_owner): returns TRUE if and owner with 2440 the specified connection exists in the queue 2441 2442 * dbus/dbus-bus.c (dbus_bus_connection_get_unique_name): New helper 2443 method that only compiles if tests are enabled. Allows us to get the 2444 unique name of a connection so we can check it against the queue when 2445 doing regression tests 2446 2447 * bus/activation.c (bus_activation_send_pending_auto_activate), 2448 bus/dispatch.c (bus_dispatch), 2449 bus/driver.c (bus_driver_handle_get_service_owner, 2450 bus_driver_handle_get_connection_unix_user, 2451 bus_driver_handle_get_connection_unix_process_id, 2452 bus_driver_handle_get_connection_selinux_security_context), 2453 bus/signals.c (connection_is_primary_owner): 2454 use bus_service_get_primary_owners_connection instead of 2455 bus_service_get_primary_owner 2456 2457 * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket, 2458 _dbus_listen_unix_socket): Calculate the length of the socket 2459 path and use that instead of using a fixed length which was 2460 causing socket names to contain many trailing Nul bytes. 2461 2462 * dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c 2463 (dbus_g_method_get_sender): New method for extracting the sender 2464 from a DBusGMethodInvocation 2465 (dbus_g_method_return_get_reply): changed name to 2466 dbus_g_method_get_reply 2467 (dbus_g_method_return_send_reply): changed name to 2468 dbus_g_method_send reply 2469 2470 * doc/dbus-specification.xml: New docs that describe how the new 2471 queueing system works and talks about the changes to the how 2472 we specify socket names 2473 2474 * glib/examples/example-service.c, 2475 glib/examples/example-signal-emitter.c, 2476 glib/examples/statemachine/statemachine-server.c: 2477 Changed the RequestName flags to the new system 2478 2479 * test/name-test/ (test-names.c, run-test.sh, Makefile.am): New 2480 regression test suite for testing various states of the new 2481 queueing system 2482 2483 2005-11-15 Robert McQueen <robot101 (a] debian.org> 2484 2485 * dbus/dbus-glib-lowlevel.h, glib/dbus-gobject.c: Patch from Rob 2486 Taylor to add two methods, dbus_g_method_return_get_reply and 2487 dbus_g_method_return_send_reply, to allow you to get the reply 2488 message from a DBusGMethodInvocation, append arbitrary stuff to it, 2489 and send it. The GLib bindings can't marshal a return value of 2490 something like a(s) if the array is empty - ultimately they should be 2491 made to heed the signature of the out arguments as the Python bindings 2492 now can, but this is a workable interim solution which might have 2493 other applications. 2494 2495 2005-11-15 Robert McQueen <robot101 (a] debian.org> 2496 2497 * bus/driver.c, bus/services.c, bus/services.h: Add a ReleaseName 2498 method to org.freedesktop.DBus to release a bus name or give up 2499 waiting in the queue for it. 2500 2501 * dbus/dbus-bus.c, dbus/dbus-bus.h, dbus/dbus-shared.h: Add a 2502 dbus_bus_release_name method to send the ReleaseName method calls. 2503 Add constants for the return values to dbus/dbus-shared.h. 2504 2505 * doc/dbus-specification.xml: Document the new ReleaseName method 2506 in the specification. 2507 2508 * python/dbus_bindings.pyx: Add a low-level python binding for the 2509 release name method. 2510 2511 * python/exceptions.py, python/service.py: Make freeing BusName 2512 objects release the name. Add a NameExistsException, and fix a 2513 bug with creating UnknownMethodException. 2514 2515 * test/python/test-client.py: Add tests for freeing BusName 2516 objects causing names to be released. 2517 2518 2005-11-14 Robert McQueen <robot101 (a] debian.org> 2519 2520 * python/service.py: Include the traceback in the error reply when we 2521 send an exception over the bus. _BEST_ _PATCH_ _EVER_ 2522 2523 2005-11-14 David Zeuthen <davidz (a] redhat.com> 2524 2525 Patch from Timo Hoenig <thoenig (a] suse.de>. 2526 2527 * bus/bus.c: I've recently investigated why the automatic reload 2528 of configuration files does not work as expected. 2529 2530 Currently, reloading configuration files does only work when 2531 running dbus-daemon with --nodaemon. If we are running as daemon 2532 we're hitting a dnotify bug once we fork the process. 2533 2534 We're initializing the dnotify fds before calling fork(). Once 2535 the child process forked it does still have the fds (and they 2536 still show up in /proc/`pidof dbus-daemon`/fd/) but we're not 2537 getting SIGIO as changes are made to the configuration files. 2538 2539 The attached patch moves the initialization of the dnotify fds to 2540 process_config_postinit(). This is safe for all current code 2541 paths and solves the dnotify disfunction. If we're running 2542 dbus-daemon as daemon the fds for dnotify are now being 2543 initialized after fork() for the child process. 2544 2545 * configure.in: The current configure.in check for dnotify probes 2546 'x$target_os' for being 'xlinux-gnu'. I've changed the check to 2547 match for 'xlinux', too. Additionally I have adapted the configure 2548 option's style to match with the others. 2549 2550 2005-11-14 Robert McQueen <robot101 (a] debian.org> 2551 2552 * python/decorators.py, python/service.py: Add a new argument to the 2553 dbus.service.method decorator called sender_keyword, which if set, 2554 specifies the name of an argument which will be provided the bus 2555 name of the method caller. 2556 2557 * test/python/test-client.py, test/python/test-service.py: Add a 2558 method and test to check the sender_keyword functionality. 2559 2560 2005-11-07 John (J5) Palmieri <johnp (a] redhat.com> 2561 2562 * bus/driver.c (bus_driver_handle_reload_config): Make sure we send an 2563 empty reply so blocking calls don't block forever (Patch from Sjoerd 2564 Simons <sjoerd at luon.net>) 2565 2566 * AUTHORS: Add Robert McQueen for his work on the Python 2567 Bindings and other parts of D-Bus 2568 2569 2005-11-07 Robert McQueen <robot101 (a] debian.org> 2570 2571 * python/decorators.py: Change emit_signal function to use the 2572 signature annotation of the signal when marhsalling the arguments from 2573 the service. Fix a bug where the code checking signature length 2574 against argument length referenced the wrong variable. 2575 2576 * python/introspect_parser.py: Avoid adding the type signature of 2577 signal arguments to any methods which occur after them in the 2578 introspection data (!) by making the parser a little more careful 2579 about its current state. 2580 2581 * python/service.py: Remove debug prints from last commit (again :D). 2582 2583 * test/python/test-client.py, test/python/test-service.py: Add test 2584 signals with signature decorators to test the strict marshalling code 2585 gives errors at the right time. Could do with checking the signals 2586 actually get emitted too, given that the test does nothing with 2587 signals at the moment... 2588 2589 2005-11-07 Robert McQueen <robot101 (a] debian.org> 2590 2591 * python/_dbus.py: Add WeakReferenceDictionary cache of dbus.Bus 2592 instances to stop madness of creating new instances representing 2593 the same bus connection all the time, rendering any tracking of 2594 match rules and bus names quite meaningless. Caught a bug where 2595 the private argument to SessionBus() and friends was being passed 2596 in as use_default_mainloop by mistake. Still some problems with 2597 multiple dbus_binding.Connection instances representing the same 2598 low-level connection (eg when you use both SessionBus() and 2599 StarterBus() in same process), but it's a lot better now than it 2600 was. 2601 2602 * python/dbus_bindings.pyx: Add constants with the return values 2603 for bus_request_name(). 2604 2605 * python/service.py: Store bus name instances in a per-dbus.Bus cache 2606 and retrieve the same instances for the same name, so deletion can be 2607 done with refcounting. Also now throws some kind of error if you 2608 don't actually get the name you requested, unlike previously... 2609 2610 * test/python/test-client.py: Add tests for instance caching of buses 2611 and bus name objects. 2612 2613 2005-11-04 Robert McQueen <robot101 (a] debian.org> 2614 2615 * python/dbus_bindings.pyx, test/python/test-client.py: Fix 2616 marshalling of boolean values. Add some booleans to the values in 2617 the test client. 2618 2619 * python/decorators.py, python/service.py: Add an 'async_callbacks' 2620 argument to the dbus.service.method decorator, which allows you to 2621 name arguments to take two callback functions for replying with 2622 return values or an exception. 2623 2624 * test/python/test-client.py, test/python/test-service.py: Add test 2625 case using asynchronous method reply functions, both return values and 2626 errors, and from within both the function itself and from a mainloop 2627 callback. 2628 2629 * python/decorators.py, python/service.py: Perform checking that the 2630 number of method/signal arguments matches the number of types in the 2631 signature at class loading time, not when you first introspect the 2632 class. 2633 2634 * python/service.py: Remove debug print left by the last commit. 2635 2636 2005-11-03 Robert McQueen <robot101 (a] debian.org> 2637 2638 * python/service.py: Heavy refactoring of method invocation, with 2639 hopefully no effect on functionality. Nuked _dispatch_dbus_method_call 2640 in favour of a new _message_cb that uses seperate functions for 2641 looking up the method to call, marshalling the return values, and 2642 sending exceptions as errors, and is easier to follow as a 2643 consequence. Fixes some corner cases about returning things that 2644 don't match your declared out_signature, allows exceptions to define 2645 _dbus_error_name and have it be sent over the bus as the error name, 2646 and paves the way for cool stuff like heeding the message no reply 2647 flag, asynchronous method implementations, informing the method of the 2648 sender, and including backtraces in the error messages. 2649 2650 * test/python/test-client.py: Catch and print exceptions thrown in the 2651 async callback tests, rather than passing them to the low-level 2652 bindings to be ignored in a noisy and frustrating manner. 2653 2654 2005-11-03 Robert McQueen <robot101 (a] debian.org> 2655 2656 * python/_dbus.py, python/proxies.py, python/service.py: Add __repr__ 2657 functions to dbus.Bus, dbus.service.BusName and dbus.service.Object, 2658 tweak others to be consistent. 2659 2660 * test/python/test-client.py: Tweak output of testInheritance. 2661 2662 2005-10-29 Robert McQueen <robot101 (a] debian.org> 2663 2664 * python/service.py: Major changes to allow multiple inheritance 2665 from classes that define D-Bus interfaces: 2666 2667 1. Create a new Interface class which is the parent class of 2668 Object, and make the ObjectType metaclass into InterfaceType. 2669 2670 2. Patch written with Rob Taylor to replace use of method_vtable 2671 with code that walks the class's __MRO__ (method resolution order) 2672 to behave like Python does when invoking methods and allow 2673 overriding as you'd expect. Code is quite tricky because 2674 we have to find two methods, the one to invoke which has the 2675 right name and isn't decorated with the /wrong/ interface, 2676 and the one to pick up the signatures from which is decorated 2677 with the right interface. 2678 2679 The same caveats apply as to normal multiple inheritance - 2680 this has undefined behaviour if you try and inherit from two 2681 classes that define a method with the same name but are 2682 decorated with different interfaces. You should decorate 2683 your overriding method with the interface you want. 2684 2685 3. Replace grungy introspection XML generation code in the metaclass 2686 with dictionaries that cope correctly with multiple inheritance 2687 and the overriding of methods. This also uses the signature 2688 decorations to provide correct introspection data, including 2689 the debut appearance of the types of your return values. :D 2690 2691 * test/python/test-client.py, test/python/test-service.py: Add a test 2692 case to try invoking an method that overrides one inherited from a 2693 D-Bus interface class. 2694 2695 2005-10-29 Robert McQueen <robot101 (a] debian.org> 2696 2697 * python/dbus_bindings.pyx: Tweak 'raise AssertionError' to assert(). 2698 Add checking for the end of struct character when marshalling a 2699 struct in MessageIter.append_strict. 2700 2701 * python/examples/example-service.py, 2702 python/examples/gconf-proxy-service.py, 2703 python/examples/gconf-proxy-service2.py: Update to use gobject 2704 mainloop directly rather than appearing to depend on gtk. 2705 2706 * python/test/test-client.py, python/test/test-server.py: Remove 2707 obsolete and broken test scripts for old bindings. We have up to date 2708 and working tests in test/python/. 2709 2710 2005-10-29 Robert McQueen <robot101 (a] debian.org> 2711 2712 * python/decorators.py: Add optional arguments to the method and 2713 signal decorators to allow you to specify the signature of arguments 2714 and return values. Preserve the doc strings of signal functions in the 2715 decorated version, for pydoc and friends. 2716 2717 * python/dbus_bindings.pyx, python/proxies.py: Replace the 2718 parse_signature_block function with an iterable dbus.Signature() 2719 type. Fix a bug in MessageIter.append_strict where you could append 2720 anything by claiming it was a string. 2721 2722 * python/service.py: Use the out_signature decoration on methods to 2723 marshal return values, meaning you no longer require dbus.Array() 2724 or dbus.Dictionary() to indicate the type when returning empty 2725 arrays or dictionaries. Fix a bug where exceptions which are defined 2726 in __main__ are not turned into error replies. 2727 2728 * test/python/test-client.py, test/python/test-service.py: Add test 2729 for correct marshalling of return values according to out_signature. 2730 Fix a bug in the async call test where the error_handler is missing a 2731 self argument. 2732 2733 2005-10-29 Robert McQueen <robot101 (a] debian.org> 2734 2735 * glib/Makefile.am, glib/examples/Makefile.am, 2736 glib/examples/statemachine/Makefile.am: Merge patch from Ubuntu by 2737 Daniel Stone to replace explicit calls to libtool with $(LIBTOOL). 2738 2739 * test/python/.cvsignore: Add run-with-tmp-session-bus.conf. 2740 2741 * tools/dbus-monitor.1, tools/dbus-monitor.c: Merge dbus-monitor patch 2742 from Ubuntu by Daniel Silverstone to allow specifying match rules on 2743 the command line. 2744 2745 2005-10-27 Ross Burton <ross (a] openedhand.com> 2746 2747 * dbus/dbus-marshal-header.c: 2748 Remove dead code. 2749 2750 * glib/dbus-gobject.c: 2751 Stop compiler warning. 2752 2753 2005-10-25 Ross Burton <ross (a] openedhand.com> 2754 2755 * dbus/dbus-auth.c: 2756 * dbus/dbus-server-unix.c: 2757 * dbus/dbus-transport-unix.c: 2758 * glib/dbus-gmain.c: 2759 * glib/dbus-gobject.c: 2760 Add some const keywords. 2761 2762 2005-10-25 Ross Burton <ross (a] openedhand.com> 2763 2764 * doc/dbus-specification.xml: 2765 Document the NoReply annotation. 2766 2767 * glib/dbus-binding-tool-glib.h: 2768 * glib/dbus-binding-tool-glib.c: 2769 Respect the NoReply annotation. 2770 2771 2005-10-24 Robert McQueen <robot101 (a] debian.org> 2772 2773 * python/dbus_bindings.pyx (String, MessageIter): make D-Bus strings 2774 derive from unicode instead of str, and encode/decode UTF-8 when 2775 marshalling/unmarshalling bus messages 2776 2777 * python/introspect_parser.py: encode introspection data as UTF-8 2778 before passing the buffer into libxml2 2779 2780 * test/python/test-client.py: add unicode test strings 2781 2782 * test/data/valid-service-files/.cvsignore, test/python/.cvsignore: 2783 ignore generated python test files 2784 2785 2005-10-17 John (J5) Palmieri <johnp (a] redhat.com> 2786 2787 * glib/dbus-gvalue-utils.c (hash_free_from_gtype): handle gdouble 2788 and G_TYPE_VALUE_ARRAY (DBUS_TYPE_STRUCT) 2789 (gvalue_from_hash_value, hash_value_from_gvalue): handle gdouble 2790 2791 * glib/dbus-gvalue.c (dbus_gvalue_to_signature): add missing 2792 DBUS_STRUCT_BEGIN_CHAR and DBUS_STRUCT_END_CHAR charaters 2793 when constructing struct signatures 2794 2795 * python/_dbus.py (Bus): handle private connections using the 2796 private keyword in the constructor. defaults to private=False 2797 (Bus::close): new method to close a connection to the bus 2798 2799 * python/dbus_bindings.pyx (Connection::close): renamed method 2800 was previously called disconnect 2801 (bus_get): now supports getting a private connection 2802 2803 * python/proxies.py (ProxyMethod::__call__): check if ignore_reply 2804 keyword is set to True. if it is, execute the method without waiting 2805 for a reply 2806 (ProxyObject::_introspect_execute_queue): new method for executing 2807 all the pending methods that were waiting for the introspect to 2808 finish. this is called when introspect either succeeds or fails 2809 (ProxyObject::_introspect_error_handler): call queued methods 2810 2811 2005-10-14 John (J5) Palmieri <johnp (a] redhat.com> 2812 2813 * python/dbus_bindings.pyx (MessageIter::append_strict): check for 2814 STRUCT_BEGIN not TYPE_STRUCT in indicate we are marshalling a struct 2815 2816 * python/service.py (Object::_message_cb): handle exceptions correctly 2817 by sending them over the wire to the calling app. This makes sure 2818 the client returns immediately instead of waiting the 15 seconds to 2819 timeout. 2820 2821 * test/python/test-client.py (TestDBusBindings::testBenchmarkIntrospect): 2822 Add a test to benchmark how long it takes to introspect a service and 2823 call a method which returns a large element (pretty fast) 2824 2825 * test/python/test-service.py (TestObject::GetComplexArray): new test 2826 method which pushes a lot of data 2827 2828 2005-10-13 John (J5) Palmieri <johnp (a] redhat.com> 2829 2830 * python/service.py(ObjectType::_reflect_on_signal, _reflect_on_method): 2831 reclaim memory outside of the loop and use del istead of just setting 2832 the key to None 2833 2834 2005-10-13 John (J5) Palmieri <johnp (a] redhat.com> 2835 2836 * python/service.py (ObjectType::_reflect_on_signal): Always close 2837 signal tag even when there are no arguments 2838 2839 2005-10-13 John (J5) Palmieri <johnp (a] redhat.com> 2840 2841 * configure.in: Set mono, mono-docs and Qt3 to default 2842 to no instead of auto when building. These bindings do not 2843 have full time maintainers and will not be supported for the 2844 1.0 release. 2845 2846 2005-10-12 John (J5) Palmieri <johnp (a] redhat.com> 2847 2848 patches from Michael Krivoruchko <misha at sun.com>: 2849 2850 * dbus/dbus-connection.c (_dbus_connection_queue_received_message_link, 2851 _dbus_connection_message_sent, 2852 _dbus_connection_send_preallocated_unlocked_no_update, 2853 _dbus_connection_pop_message_link_unlocked): handle the case when path 2854 is NULL when calling _dbus_verbose 2855 2856 * configure.in: check for functions getpeerucred and getpeereid 2857 2858 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): provides 2859 support of auth EXTERNAL on Solaris 10+ (getpeerucred), FreeBSD 4.6+, 2860 OpenBSD 3.0+ and FreeBSD 5.0+ as well as MacOSX 10.2+ (getpeereid). 2861 Patch was only tested on Solaris 10 x86 so it might be issues 2862 with other platforms (i.e. BSDs and MacOSX) 2863 2864 2865 2005-10-05 John (J5) Palmieri <johnp (a] redhat.com> 2866 2867 * glib/dbus-gvalue.c (marshal_variant): call _dbus_gvalue_marshal 2868 instead of marshal basic so we can handle recursive types in a variant 2869 2870 * test/glib/test-dbus-glib.c: Add test for marshaling recurive types 2871 in variants 2872 2873 * test/glib/test-service-glib.c, test-service-glib.xml 2874 (my_object_echo_variant [EchoVariant], 2875 my_object_process_variant_of_array_of_ints123 2876 [ProcessVariantOfArrayOfInts123]): 2877 Add two test methods 2878 2879 * python/introspect_parser.py: New module for parsing introspect 2880 data. 2881 2882 * python/dbus_bindings.pyx: 2883 (various places): when throwing errors fix to use errormsg instead 2884 of message local variable because Pyrex can get confused with other 2885 message variables (initial patch by Robert McQueen 2886 <robert.mcqueen at collabora.co.uk>) 2887 (MessageIter::parse_signature_block): new method for getting the next 2888 block in a signiture. 2889 (MessageIter::append_strict): new method for appending values strictly 2890 using the passed in signature instead of guessing at the type 2891 (MessageItter:: append_dict, append_struct, append_array): use 2892 signatures to marshal children if the signature is available 2893 2894 * python/exceptions.py (IntrospectionParserException): new exception 2895 2896 * python/proxies.py (ProxyMethod::__call__): Marshal args with 2897 introspected signatures if available, else we fall back to the 2898 old way of doing things. 2899 (ProxyObject::_introspect_reply_handler ): parse introspection data 2900 2901 * python/service.py (ObjectType::_reflect_on_method): Properly 2902 terminate <method> if there are no args in the reflection data 2903 2904 * test/python/test-client.py: add tests for talking with the GLib 2905 test server. This gives us better coverage for introspection since 2906 python to python will always generate arguments as variants. It also 2907 allows us to test the robustness of the GLib bindings and interlanguage 2908 communications. 2909 2910 2911 2005-10-03 John (J5) Palmieri <johnp (a] redhat.com> 2912 2913 * bus/driver.c (bus_driver_handle_introspect): Add signals 2914 to the introspect data. (patch from Daniel P. Berrange 2915 <dan at berrange.com>) 2916 2917 * bus/dispatch.c (check_existent_ping): Add testcase for Ping 2918 2919 * dbus/dbus-connection.c (_dbus_connection_peer_filter, 2920 _dbus_connection_run_builtin_filters): Changed these to 2921 be unlock_no_update functions and call 2922 _dbus_connection_send_unlocked_no_update instead of 2923 dbus_connection_send to avoid locking errors. 2924 2925 * doc/TODO: Removed the make Ping test TODO 2926 2927 2005-09-26 John (J5) Palmieri <johnp (a] redhat.com> 2928 2929 * dbus/Python.pyx: Fixed memory leaks when throwing errors. 2930 We now copy the message from a DBusError and then free 2931 the error object befor throwing the error 2932 2933 * glib/dbus-glib-tool.c: removed extra comma at the end of the 2934 DBusBindingOutputMode enum which was causing a warning. 2935 #include <time.h> so using time_t is explicitly defined 2936 2937 2005-09-26 John (J5) Palmieri <johnp (a] redhat.com> 2938 2939 * Integrate patches from Lennart Poettering <mzsqb at 0pointer.de>: 2940 - dbus/dbus-bus.c 2941 (internal_bus_get): new method that take over the heavy lifting 2942 of dbus_bus_get and adds the ability to get a private connection 2943 to the bus 2944 (dbus_bus_get): wrapper to internal_bus_get that provides the same 2945 interface as in previous versions 2946 (dbus_bus_get_private): new method that is a wrapper to 2947 internal_bus_get to get a private connection to the bus 2948 2949 - dbus/dbus-bus.h 2950 (dbus_bus_get_private): add as a public libdbus interface 2951 2952 - dbus-1.pc.in: output system_bus_default_address and 2953 sysconfdir variables so apps can use them when compiling 2954 2955 2005-09-23 Harald Fernengel <harry (a] kdevelop.org> 2956 * dbus/qt: New Qt bindings 2957 2958 2005-09-12 Waldo Bastian <bastian (a] kde.org> 2959 2960 * dbus/dbus-marshal-validate.c, 2961 doc/dbus-specification.xml, test/Makefile.am, 2962 test/test-names.c: allow hyphens in bus names. 2963 2964 2005-09-11 Mark McLoughlin <mark (a] skynet.ie> 2965 2966 * test/data/auth/fallback.auth-script: we don't 2967 retry the EXTERNAL method when we know its going 2968 to fail anymore. 2969 2970 2005-09-11 Mark McLoughlin <mark (a] skynet.ie> 2971 2972 * dbus/dbus-connection-internal.h: rename 2973 (add|remove|toggle)_(watch|timeout) to unlocked() 2974 2975 * dbus/dbus-connection.c: ditto. 2976 2977 * dbus/dbus-timeout.c, dbus/dbus-transport-unix.c: 2978 Update some callers for the renaming. 2979 2980 2005-09-10 Mark McLoughlin <mark (a] skynet.ie> 2981 2982 * dbus/dbus-auth.c: (record_mechanisms): don't 2983 retry the first auth mechanism because we know 2984 we're just going to get rejected again. 2985 2986 * dbus/dbus-keyring.c: (_dbus_keyring_reload): 2987 Fix thinko ... and what a nasty little bugger to 2988 track down you were ... 2989 2990 * dbus/dbus-connection.c: 2991 (_dbus_connection_add_watch), 2992 (_dbus_connection_remove_watch): add note about 2993 these needing the connection to be locked. 2994 (_dbus_connection_get_dispatch_status_unlocked): 2995 set status to DATA_REMAINS when we queue the 2996 disconnected message. 2997 2998 * bus/dispatch.c: 2999 (bus_dispatch): fix warning. 3000 (check_existent_service_no_auto_start): 3001 Expect ChildSignaled error too. 3002 (check_existent_hello_from_self): fix another 3003 couple of warnings. 3004 3005 2005-09-08 Joe Shaw <joeshaw (a] novell.com> 3006 3007 Patches from James Willcox <snorp (a] snorp.net> 3008 3009 * mono/Makefile.am: Add Int16.cs and UInt16.cs 3010 3011 * mono/DBusType/Array.cs: Handle multidimensional arrays, and 3012 support array "out" parameters. 3013 3014 * mono/DBusType/Int16.cs, mono/DBusType/UInt16.cs: New files, 3015 for 16-bit int support. 3016 3017 2005-09-06 John (J5) Palmieri <johnp (a] redhat.com> 3018 3019 * Released 0.50 3020 3021 * Patch from Steve Grubb: 3022 - bus/activation.c (bus_activation_service_reload_test): clean up 3023 some indentation 3024 - dbus/dbus-keyring.c (_dbus_keyring_reload): fix conditional 3025 - dbus/dbus-message-factory.c (generate_special): fix a couple of 3026 buffer overflows in the test suite. This is non critical because 3027 it can not be exploited and this code is only run when doing a 3028 make check. 3029 3030 * Patch from Yaakov Selkowitz: Build fixes for Cygwin 3031 - configure.in: Don't check and link against kdecore, only qt headers 3032 - dbus/Makefile.am: Add -no-undefined to libdbus_1_la_LDFLAGS 3033 - gcj/org/freedesktop/dbus/Makefile.am: 3034 add libdbus_gcj_1_la_LDFLAGS = -no-undefined 3035 - glib/Makefile.am: Add -no-undefined to libdbus_glib_1_la_LDFLAGS 3036 and $(DBUS_GLIB_LIBS) to dbus_binding_tool_LDADD 3037 - qt/Makefile.am: Add -no-undefined to libdbus_qt_1_la_LDFLAGS 3038 - tools/Makefile.am: Add platform extentions to binaries 3039 (i.e. .exe on windows) 3040 3041 * configure.in: 3042 - Make it so if no suitable version of python is found we only 3043 disable building python instead of exiting the configure script 3044 - Require version 2.4 of glib for glib bindings 3045 - Up version to 0.50 3046 3047 * python/__init__.py: Sync version with libdbus to (0,50,0) 3048 3049 2005-09-05 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 3050 3051 * dbus/dbus-object-tree.c (find_subtree_recurse): 3052 a couple of optimizations (bug #710): 3053 - do a binary search in the tree 3054 - insert a new child at the right place directly, no need for 3055 qsort anymore 3056 - do the "double alloc" thing when allocating children 3057 3058 2005-08-31 John (J5) Palmieri <johnp (a] redhat.com> 3059 3060 * python/Makefile.am: Break on pyrexc errors instead of ignoring them 3061 3062 * python/dbus_bindings.pyx: Memory management foo 3063 (global): remove hacky _user_data_references global list 3064 (GIL_safe_cunregister_function_handler): userdata now stuffed into 3065 tuples. Unref user_data 3066 (GIL_safe_cmessage_function_handler): userdata now stuffed into tuples 3067 (Connection::__del__): Remove and replace with __dealloc__ method 3068 (Connection::add_filter): Stuff user_data into a tuple. Use Py_INCREF 3069 to keep tuple from being deallocated instead of the global var hack 3070 (Connection::register_object_path): Stuff user_data into a tuple. 3071 Use Py_INCREF to keep tuple from being deallocated instead of the 3072 global var hack 3073 (Connection::register_fallback): Stuff user_data into a tuple. 3074 Use Py_INCREF to keep tuple from being deallocated instead of the 3075 global var hack 3076 (GIL_safe_pending_call_notification): Don't unref the message 3077 because it gets unreffed when going out of scope. Py_XDECREF 3078 the user_data 3079 (PendingCall::__del__): Remove and replace with __dealloc__ method 3080 (PendingCall::set_notify): ref the pending call because we will 3081 need it to stick around for when the notify callback gets called 3082 (Message::__del__): Remove and replace with __dealloc__ method 3083 3084 * python/dbus_glib_bindings.pyx (init_gthreads): Changed to 3085 gthreads_init to match up with the dbus call 3086 3087 * python/glib.py (init_threads): Changed to threads_init to match 3088 up with gobject.threads_init(). init_threads is kept for backwards 3089 compat but will most likely be deprecated in the future 3090 3091 * test/python/test-client.py: 3092 - revamp to use Python's unittest functionality 3093 - add async call tests 3094 - setup threads in glib and dbus so we make sure locks are working 3095 3096 2005-08-30 John (J5) Palmieri <johnp (a] redhat.com> 3097 3098 * python/dbus_bindings.pyx 3099 (_pending_call_notification, cunregister_function_handler, 3100 cmessage_function_handler): All callback functions have been rearranged 3101 to workaround a bug in Pyrex when working with the GIL which is Python's 3102 global lock when dealing with threads. They have been split into 3103 a wrapper function (which assumes the name of the old function) and 3104 a _GIL_safe_<function name> function which contains the functionality 3105 of the old function. This ensures that Pyrex does not write code 3106 the lock is released. 3107 3108 3109 2005-08-30 John (J5) Palmieri <johnp (a] redhat.com> 3110 3111 * python/dbus_bindings.pyx (_pending_call_notification): Obtain the 3112 GIL global lock when calling back into Python 3113 3114 2005-08-29 John (J5) Palmieri <johnp (a] redhat.com> 3115 3116 * Release 0.36.2 3117 3118 * Add Havoc's patch that never got applied to HEAD (Bug #2436): 3119 3120 * bus/policy.c (bus_policy_allow_user): change default "user is 3121 allowed" to be "user has same uid as the bus itself"; any 3122 allow/deny rules will override. 3123 3124 * bus/session.conf.in: don't allow all users, since now by default 3125 the user that ran the bus can connect. 3126 3127 2005-08-26 Colin Walters <walters (a] verbum.org> 3128 3129 * tools/dbus-print-message.c (print_message): Flush stdout 3130 after printing a message, so that redirecting to a file, then 3131 hitting Ctrl-C works. 3132 3133 2005-08-25 John (J5) Palmieri <johnp (a] redhat.com> 3134 3135 * python/dbus_bindings.pyx: Tracked down a major memleak and fixed it 3136 (EmptyMessage): new class that subclasses Message. This is a workaround 3137 to a Pyrex bug that fails to call __del__ when the Message object goes out 3138 of scope. For some reason subclassing Message fixes this bug 3139 (Bus::send_with_reply_and_block): use EmptyMessage instead of Message 3140 - s/Message(_create=0)/EmptyMessage everywhere else 3141 3142 * test/python/test-{server|client}.py: add the python/.libs directory 3143 to the lookup path so dbus_bindings and dbus_glib_bindings don't 3144 get picked up from the system 3145 3146 2005-08-25 Colin Walters <walters (a] verbum.org> 3147 3148 * glib/dbus-gproxy.c (dbus_g_proxy_call): Doc update, thanks 3149 to Ryan Lortie for the suggestion. 3150 3151 2005-08-24 John (J5) Palmieri <johnp (a] redhat.com> 3152 3153 * test/python: Add python regression test 3154 3155 * configure.in: Add test/python/Makefile 3156 3157 * test/Makefile.am: Add the python directory to SUBDIRS 3158 3159 2005-08-24 John (J5) Palmieri <johnp (a] redhat.com> 3160 3161 * Release 0.36.1 3162 3163 * python/_dbus.py: 3164 (Interface::connect_to_signal): propigate keywords for match on args 3165 (Bus::add_signal_receiver): Fix typo s/dbus_inteface/dbus_interface 3166 3167 * python/proxies.py (ProxyObject::connect_to_signal): 3168 propigate keywords for match on args 3169 3170 * Makefile.am: point everything to pyexecdir since python borks 3171 on multilib 3172 3173 2005-08-23 John (J5) Palmieri <johnp (a] redhat.com> 3174 3175 * Release 0.36 3176 3177 2005-08-23 Colin Walters <walters (a] verbum.org> 3178 3179 * test/glib/Makefile.am: Don't multiply-define EXTRA_DIST. 3180 3181 2005-08-23 John (J5) Palmieri <johnp (a] redhat.com> 3182 3183 * python/dbus_glib_bindings.pyx: reorder imports and c definitions 3184 to fix some wranings. We now use dbus_bindings.DBusConnection instead 3185 of defining DBusConnection ourselves. 3186 3187 2005-08-18 John (J5) Palmieri <johnp (a] redhat.com> 3188 3189 * python/dbus.pth: New path file to fix up problems when installing 3190 c libraries to lib64 and python files to lib. 3191 3192 * python/Makefile.am: install dbus.pth in the correct spot 3193 3194 2005-08-17 John (J5) Palmieri <johnp (a] redhat.com> 3195 * ChangeLog: clean up my last entry a bit 3196 3197 * doc/introspect.xsl: New stylesheet for converting introspection data 3198 into browser renderable xhtml. Contributed by Lennart Poettering. 3199 3200 * doc/introspect.dtd: Fixups in the introspect format from Lennart 3201 Poettering. 3202 3203 * doc/dbus-tutorial.xml: 3204 - Add Colin Walter to the Authors section for authoring the GLib 3205 section 3206 - Add descriptions of the new signature and type functionality 3207 in the Python complex type mapping section 3208 - Add a sidenote on the new args matching functionality in 3209 the Python bindings 3210 - Fixed up some of the examples to use the gobject.MainLoop 3211 instead of gtk.main 3212 3213 * python/_dbus.py: 3214 (Bus::_create_args_dict): New. Converts a hash of arg matches 3215 to a more useable format 3216 (Bus::add_signal_receiver): add a **keywords parameter for catching 3217 arg match parameters 3218 (Bus::remove_signal_receiver): add a **keywords parameter for catching 3219 arg match parameters 3220 3221 * python/matchrules.py: 3222 (MatchTree::exec_matches): Check for arg matches 3223 (SignalMatchRule::add_args_match): New method 3224 (SignalMatchRule::execute): Added args_list parameter as an optimization 3225 so we don't have to marshal the args more than once 3226 (SignalMatchRule::match_args_from_list): New method that checks to see 3227 if the rule's arg matches match an argument list. Only arguments 3228 set in the rule are checked. 3229 (SignalMatchRule::match_args_from_rule): New method that checks to see 3230 if the rule's arg matches match another rule's. All args have to match 3231 in order for this method to return true. If either rule has more args 3232 then it is not a match. 3233 (SignalMatchRule::is_match): Add args match 3234 (SignalMatchRule::repr): Add args to the final output if they exist 3235 3236 2005-08-17 Ross Burton <ross (a] burtonini.com> 3237 3238 * glib/dbus-gproxy.c: 3239 (dbus_g_proxy_call_no_reply): unref the message once sent. 3240 (dbus_g_proxy_call): protect against NULL proxy. 3241 3242 2005-08-16 John (J5) Palmieri <johnp (a] redhat.com> 3243 3244 * python/__init__.py: Version updated (0, 43, 0) 3245 3246 * python/dbus_bindings.pyx: 3247 - Fixed type objects to have self passed into __init__ 3248 - Added the Variant type 3249 - Add the ability to specify types or signatures for Array, Variant 3250 and Dictionary 3251 (Connection::send_with_reply_handlers): return a PendingCall object 3252 (_pending_call_notification): handle the case when an error is returned 3253 without an error message in the body 3254 (MessageIter::get_boolean): return True or False instead of an integer 3255 (MessageIter::python_value_to_dbus_sig): add direct checking of types 3256 and add checks for objects with embeded signatures or types (Array, 3257 Variant and Dictionary) 3258 (MessageIter::append_byte): handle case when the value is a dbus.Byte 3259 (MessageIter::append_dict): handle embeded types or signatures 3260 (MessageIter::append_array): handle embeded types or signatures 3261 (MessageIter::append_variant): new method 3262 3263 * python/proxies.py: 3264 (DeferedMethod): New. Dummy executable object used when queuing calls 3265 blocking on introspection data 3266 (ProxyMethod::__call__): add the timeout keyword for specifying longer 3267 or shorter timeouts for method calls 3268 (ProxyObject): Add first pass at an introspection state machine 3269 (ProxyObject::__init__): Add introspect keyword for turing off an on 3270 introspection. 3271 (ProxyObject::_Introspect): Internal Introspect call that bypasses 3272 the usual mechanisms for sending messages. This is to avoid a deadlock 3273 where the Intospect call would be queued waiting for the Introspect 3274 call to finish ;-) 3275 (ProxyObject::_introspect_reply_handler): New. This method is called 3276 when introspection returns with no error 3277 (ProxyObject::_introspect_error_handler): New. This method is called 3278 when introspection encounters an error 3279 (ProxyObject::__getattr__): Code to handle different introspection 3280 states. Queue async calls or block blocking calls if we are 3281 introspecting. Pass through as normal if we are not or are done with 3282 introspecting. 3283 3284 * python/service.py: Import signal and method from decorators.py 3285 3286 * python/types.py: Add Variant type 3287 3288 2005-08-16 Colin Walters <walters (a] verbum.org> 3289 3290 * glib/dbus-gobject.c (dbus_set_g_error): Don't lose if the 3291 DBusError message is NULL. 3292 3293 2005-08-09 Havoc Pennington <hp (a] redhat.com> 3294 3295 * dbus/dbus-errors.c: apply patch from Timo Teras to make a 3296 malloc'd copy of the name parameter 3297 3298 2005-08-09 Havoc Pennington <hp (a] redhat.com> 3299 3300 * dbus/dbus-message.c (dbus_message_set_reply_serial): print 3301 warning if the reply serial is set to 0 3302 3303 2005-08-04 Colin Walters <walters (a] verbum.org> 3304 3305 * glib/dbus-gvalue-utils.h (_dbus_g_type_specialized_builtins_init) 3306 (dbus_g_type_is_fixed, dbus_g_type_fixed_get_size) 3307 (dbus_gvalue_set_from_pointer, dbus_g_hash_table_value_foreach) 3308 (dbus_g_hash_table_insert_values, dbus_g_hash_table_insert_steal_values) 3309 (dbus_gtype_is_valid_hash_key, dbus_gtype_is_valid_hash_value) 3310 (dbus_g_hash_func_from_gtype, dbus_g_hash_free_from_gtype) 3311 (dbus_g_hash_equal_from_gtype, dbus_gvalue_stor, dbus_gvalue_take): 3312 * glib/dbus-gvalue.h (dbus_g_value_types_init) 3313 (dbus_gvalue_demarshal, dbus_gvalue_demarshal_variant) 3314 (dbus_gvalue_demarshal_message, dbus_gvalue_marshal): 3315 3316 Prefix name with _ to ensure they're not exported. All callers 3317 updated. 3318 3319 * glib/dbus-gvalue.c (typecode_to_gtype) 3320 (dbus_typecode_maps_to_basic, basic_typecode_to_gtype) 3321 (signature_iter_to_g_type_dict) 3322 (signature_iter_to_g_type_array) 3323 (dbus_gtype_from_signature_iter, dbus_gtype_from_signature) 3324 (dbus_gtypes_from_arg_signature): 3325 Move to dbus-gsignature.c. 3326 3327 * glib/dbus-binding-tool-glib.c (dbus_binding_tool_output_glib_server): Call 3328 dbus_g_type_specialized_builtins_init instead of dbus_g_value_types_init. 3329 (dbus_binding_tool_output_glib_client): Ditto. 3330 3331 * glib/Makefile.am (DBUS_GLIB_INTERNALS): Add dbus-gsignature.c 3332 and dbus-gsignature.h 3333 3334 * test/glib/test-service-glib.c (my_object_rec_arrays): Delete 3335 unused variable. 3336 3337 2005-08-03 Colin Walters <walters (a] verbum.org> 3338 3339 * glib/dbus-gobject.c: Add tests on hardcoded object info; this should 3340 catch any incompatible changes accidentally made. 3341 3342 2005-08-03 Havoc Pennington <hp (a] redhat.com> 3343 3344 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): fix 3345 typo, from Julien Puydt 3346 3347 * bus/connection.c (bus_connection_disconnected): we were always 3348 doing a wait_for_memory due to a buggy loop, found by Timo Hoenig 3349 3350 2005-08-01 Colin Walters <walters (a] verbum.org> 3351 3352 Patch from Joe Markus Clarke: 3353 3354 * glib/dbus-gidl.c (property_info_unref, arg_info_unref): Fix 3355 use-after-free. 3356 3357 2005-08-01 Colin Walters <walters (a] verbum.org> 3358 3359 Patch from Joe Markus Clarke: 3360 3361 * tools/dbus-send.c (main): 3362 3363 Don't use C99 style initializers (bug #3933). 3364 3365 2005-08-01 Colin Walters <walters (a] verbum.org> 3366 3367 Patch from Joe Markus Clarke: 3368 3369 * glib/dbus-gvalue.c (dbus_g_value_types_init): 3370 * glib/dbus-gvalue-utils.c (dbus_g_type_specialized_builtins_init) 3371 * glib/dbus-gobject.c (write_interface): 3372 3373 Don't use C99 style initializers (bug #3933). 3374 3375 2005-07-31 Havoc Pennington <hp (a] redhat.com> 3376 3377 * tools/dbus-viewer.c (load_child_nodes): fix invocation of 3378 dbus_g_proxy_call, fix from Piotr Zielinski bug #3920 3379 3380 2005-07-30 Havoc Pennington <hp (a] redhat.com> 3381 3382 * fix a bunch of Doxygen warnings and mistakes 3383 3384 2005-07-30 Havoc Pennington <hp (a] redhat.com> 3385 3386 * dbus/dbus-sysdeps.c (_dbus_string_parse_uint): remove #ifdef 3387 DBUS_BUILD_TESTS since it's now used in production code 3388 3389 2005-07-29 Havoc Pennington <hp (a] redhat.com> 3390 3391 * test/glib/test-profile.c (write_junk): initialize the junk 3392 buffer so valgrind doesn't have a breakdown 3393 3394 2005-07-29 Havoc Pennington <hp (a] redhat.com> 3395 3396 * bus/signals.c (bus_signals_test): add match_rule_equal() tests 3397 (match_rule_matches): remove unused arg 3398 (test_matching): add tests for match_rule_matches() 3399 3400 * bus/signals.c (bus_match_rule_parse_arg_match): add ability to 3401 do arg0='foo' arg5='bar' in the match rules 3402 (match_rule_matches): don't match if the arg0='foo' doesn't match. 3403 3404 * dbus/dbus-protocol.h (DBUS_MAXIMUM_MATCH_RULE_ARG_NUMBER): add this 3405 3406 2005-07-29 Ross Burton <ross (a] openedhand.com> 3407 3408 * dbus/dbus-connection.c: 3409 Don't create a DBusCondVar which is never used. 3410 3411 2005-07-27 Ross Burton <ross (a] openedhand.com> 3412 3413 * dbus/dbus-message.c: 3414 Reduce the size of the maximum cached message to 10K. 3415 3416 2005-07-25 Ross Burton <ross (a] openedhand.com> 3417 3418 * glib/dbus-gproxy.c: 3419 Remove matches when all proxies are unregistered. 3420 3421 2005-07-24 Colin Walters <walters (a] verbum.org> 3422 3423 * glib/dbus-gvalue.c (signature_iter_to_g_type_array): Don't require 3424 typedata; recursive arrays won't have it. 3425 3426 * test/glib/test-dbus-glib.c: 3427 * test/glib/test-service-glib.c: 3428 * test/glib/test-service-glib.xml: Add recursive arrays tests. 3429 3430 2005-07-20 John (J5) Palmieir <johnp (a] redhat.com> 3431 3432 * python/_dbus.py, _util.py, decorators.py, extract.py, matchrules.py. 3433 proxies.py, service.py: Cleanup of code after running it through the 3434 pyflakes code checker mostly dealing with undefined names. 3435 (Bug #3828, Patch from Anthony Baxter <anthony (a] interlink.com.au>) 3436 3437 2005-07-17 John (J5) Palmieri <johnp (a] redhat.com> 3438 3439 * NEWS: Update to 0.35.2 3440 3441 2005-07-17 John (J5) Palmieri <johnp (a] redhat.com> 3442 3443 * python/_dbus.py: Remove import of the dbus.services 3444 module as it no longer exists (patch from Dimitur Kirov) 3445 3446 * python/service.py (Object::__init__): Fixed typo 3447 s/name/bus_name (patch from Dimitur Kirov) 3448 3449 * python/examples/example-signal-emitter.py: import dbus.glib 3450 to get the main loop and use glib mainloop instead of gtk so 3451 X doesn't have to be running. 3452 3453 * python/examples/example-signal-recipient.py: import dbus.glib 3454 to get the main loop and use glib mainloop instead of gtk so 3455 X doesn't have to be running. Import the decorators module 3456 directly. 3457 3458 * test/glib/Makefile.am: Added DIST_EXTRA files that distcheck 3459 didn't pick up on but are needed to build 3460 3461 * configure.in: upped version to 0.35.2 3462 3463 * bus/driver.c, bus/selinux.c, bus/selinux.h, dbus/dbus-protocol.h: 3464 added Colin Walters' SELinux API rename patch from head 3465 s/unix sercurity context/selinux security context/ 3466 3467 2005-07-16 John (J5) Palmieri <johnp (a] redhat.com> 3468 3469 * python/Makefile.am: dbus_binding.pxd.in should be included 3470 in EXTRA_DIST not dbus_binding.pxd 3471 fix up $(srcdir) hopefully for the last time 3472 3473 * NEWS: Update to 0.35.1 3474 3475 2005-07-16 Colin Walters <walters (a] verbum.org> 3476 3477 * bus/driver.c (bus_driver_handle_get_connection_selinux_security_context): Renamed 3478 from bus_driver_handle_get_connection_unix_security_context. Update for 3479 error usage. 3480 (message_handlers): Update for renames. 3481 3482 * bus/selinux.c (bus_selinux_allows_send): Handle OOM on 3483 _dbus_string_init failure correctly. 3484 (bus_selinux_append_context): Convert SID to context. Append it 3485 as a byte array. 3486 (bus_selinux_shutdown): Handle the case where bus_selinux_full_init 3487 hasn't been called. 3488 3489 * bus/selinux.h: Update prototype. 3490 3491 * dbus/dbus-protocol.h (DBUS_ERROR_SELINUX_SECURITY_CONTEXT_UNKNOWN): Renamed 3492 from DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN. 3493 3494 2005-07-15 Colin Walters <walters (a] verbum.org> 3495 3496 * doc/TODO: Add note about convenience wrappers. 3497 3498 2005-07-15 John (J5) Palmieri <johnp (a] redhat.com> 3499 3500 * NEWS: Update to 0.35 3501 3502 2005-07-15 John (J5) Palmieri <johnp (a] redhat.com> 3503 3504 * glib/Makefile.am: Add make-dbus-glib-error-switch.sh to EXTRA_DIST 3505 so distcheck doesn't fail 3506 3507 * glib/examples/Makefile.am: Add example-service.xml and 3508 example-signal-emitter.xml to EXTRA_DIST so distcheck doesn't fail 3509 3510 * glib/examples/statemachine/Makefile.am: Add statemachine.xml and 3511 statemachine-server.xml to EXTRA_DIST so distcheck doesn't fail 3512 3513 * python/Makefile.am: Preprend $(srcdir)/ to source files so the 3514 compiler looks in the right places during distcheck 3515 3516 2005-07-15 John (J5) Palmieri <johnp (a] redhat.com> 3517 3518 * glib/example/Makefile.am: Fix a typo which cause make distcheck 3519 to fail 3520 3521 2005-07-15 John (J5) Palmieri <johnp (a] redhat.com> 3522 3523 * python/examples/example-service.py, 3524 python/examples/example-signal-emitter.py: Fixed up examples 3525 for API changes 3526 3527 2005-07-15 John (J5) Palmieri <johnp (a] redhat.com> 3528 3529 * python/__init__.py: Upped to version (0,42,0) because of 3530 the API change 3531 3532 2005-07-15 John (J5) Palmieri <johnp (a] redhat.com> 3533 3534 * ChangeLog: fix date in last entry 3535 3536 * configure.in, bus/system.conf.in: add the ability to configure 3537 the system bus user at compiletime with the --with-dbus-user flag 3538 (patch from Kristof Vansant) 3539 3540 2005-07-15 John (J5) Palmieri <johnp (a] redhat.com> 3541 3542 * bus/dispatch.c, test/test-service.c: Add testcase 3543 for sending messages to oneself (TODO item). 3544 3545 * python/service.py (class Object): Swap ordering of bus_name 3546 and object_path parameters to better support inheritance. 3547 3548 * doc/dbus-tutorial.xml: change Python docs to reflect change 3549 in parameter ordering and fix the inheritance section. 3550 3551 * doc/TODO: remove sending message to oneself TODO item 3552 3553 2005-07-15 Ross Burton <ross (a] openedhand.com> 3554 3555 * glib/dbus-gproxy.c: 3556 Fix a leak when calling methods via the proxy. 3557 3558 2005-07-15 Colin Walters <walters (a] verbum.org> 3559 3560 * bus/selinux.c (bus_selinux_append_context): Wrap in 3561 HAVE_SELINUX. 3562 3563 2005-07-14 John (J5) Palmieri <johnp (a] redhat.com> 3564 3565 * python/_dbus.py (Bus::remove_signal_receiver): 3566 don't add a callback to the match if none has been passed in 3567 3568 * python/matchrules.py (SignalMatchTree::remove): if the rule 3569 being matched does not have a callback treat it as a wildcard 3570 fix matching logic 3571 3572 * doc/dbus-tutorial.xml: Add Python tutorial 3573 3574 2005-07-14 Colin Walters <walters (a] verbum.org> 3575 3576 * bus/driver.c 3577 (bus_driver_handle_get_connection_unix_security_context): New function. 3578 (message_handlers): Add. 3579 3580 * bus/selinux.c (bus_selinux_append_context): New function; appends 3581 security context to message. 3582 3583 * bus/selinux.h: Prototype. 3584 3585 * dbus/dbus-protocol.h (DBUS_ERROR_UNIX_SECURITY_CONTEXT_UNKNOWN): New. 3586 3587 2005-07-14 John (J5) Palmieri <johnp (a] redhat.com> 3588 3589 * bus/activation.c: clean up all tabs to be 8 spaces 3590 (bus_activation_activate_service): make sure we clean up 3591 if activation fails 3592 3593 * bus/dispatch.c: clean up all tabs to be 8 spaces 3594 (check_shell_fail_service_auto_start): New function 3595 tests to make sure we get fail properly when trying to auto start a service 3596 with a faulty command line 3597 (check_shell_service_success_auto_start): New function tests to make sure 3598 auto started services get the arguments on the command line 3599 3600 * test/test-shell-service.c: Added service for testing auto-starting with 3601 command line arguments 3602 3603 * test/data/valid-service-files/debug-shell-echo-fail.service.in, 3604 test/data/valid-service-files/debug-shell-echo-success.service.in: 3605 Added service files for testing auto-starting with command line arguments 3606 3607 * */.cvsignore: added a bunch of generated files to various .cvsignore files 3608 3609 2005-07-14 Rodrigo Moya <rodrigo (a] novell.com> 3610 3611 * dbus/dbus-shell.[ch]: copy/pasted code from GLib. 3612 3613 * dbus/Makefile.am: added new files to build. 3614 3615 * bus/activation.c (bus_activation_activate_service): support 3616 activation commands with parameters. 3617 3618 * test/shell-test.c: added test program for the shell parsing 3619 code. 3620 3621 2005-07-13 David Zeuthen <davidz (a] redhat.com> 3622 3623 * tools/dbus-send.c (append_arg, type_from_name): Also support 16 and 3624 64 bit signed and unsigned parameters 3625 3626 2005-07-13 John (J5) Palmieri <johnp (a] redhat.com> 3627 3628 * python/.cvsignore: remove dbus_bindings.pyx, add dbus_bindings.pxd 3629 3630 * python/service.py (class Name): renamed BusName to make it clearer 3631 what the object is for (a name on the bus) 3632 3633 * python/examples/example-service.py, 3634 python/examples/example-signal-emitter.py: change the Name object to 3635 BusName 3636 3637 2005-07-12 Colin Walters <walters (a] verbum.org> 3638 3639 Patch from Jim Gettys <Jim.Gettys (a] hp.com>. 3640 3641 * tools/dbus-launch.c: Include sys/select.h. 3642 3643 2005-07-12 John (J5) Palmieri <johnp (a] redhat.com> 3644 * python/dbus_bindings.pyx.in: removed 3645 3646 * python/dbus_bindings.pyx: Added. 3647 - Fixed some memleaks (patch from 3648 Sean Meiners <sean.meiners (a] linspireinc.com>) 3649 - Broke out the #include "dbus_h_wrapper.h" and put it in its 3650 own pxd file (Pyrex definition) 3651 - Broke out glib dependancies into its own pyx module 3652 3653 * python/dbus_bindings.pdx: Added. 3654 - Defines C class Connection for exporting to other modules 3655 3656 * python/dbus_glib_bindings.pyx: Added. 3657 - New module to handle lowlevel dbus-glib mainloop integration 3658 3659 * python/glib.py: Added. 3660 - Registers the glib mainloop when you import this module 3661 3662 * python/services.py: Removed (renamed to service.py) 3663 3664 * python/service.py: Added. 3665 - (class Server): renamed Name 3666 3667 * python/__init__.py: Bump ro version (0,41,0) 3668 -don't import the decorators or service module 3669 by default. These now reside in the dbus.service namespace 3670 3671 * python/_dbus.py (Bus::__init__): Add code run the main loop 3672 setup function on creation 3673 3674 * python/examples/example-service.py, 3675 python/examples/example-signal-emitter.py: update examples 3676 3677 * python/examples/gconf-proxy-service.py, 3678 python/examples/gconf-proxy-service2.py: TODO fix these up 3679 3680 * doc/TODO: Addition 3681 - Added a Python Bindings 1.0 section 3682 - added "Add match on args or match on details to match rules" 3683 3684 3685 2005-07-12 Colin Walters <walters (a] verbum.org> 3686 3687 * glib/examples/statemachine/Makefile.am (statemachine-server-glue.h) 3688 (statemachine-glue.h): 3689 * glib/examples/Makefile.am (example-service-glue.h) 3690 (example-signal-emitter-glue.h): 3691 * glib/Makefile.am (dbus-glib-error-switch.h): 3692 Add libtool --mode=execute so we use the built library instead 3693 of any installed one. 3694 3695 2005-07-11 Colin Walters <walters (a] verbum.org> 3696 3697 * glib/dbus-gvalue.c (struct _DBusGValue): Delete. 3698 (dbus_g_value_types_init): Remove assertion. 3699 (dbus_g_value_get_g_type, dbus_g_value_open) 3700 (dbus_g_value_iterator_get_values, dbus_g_value_get_signature) 3701 (dbus_g_value_copy, dbus_g_value_free): Delete unimplemented 3702 functions related to DBusGValue. Now we marshal/demarshal 3703 structures as GValueArray. 3704 (dbus_gtype_from_signature_iter): Return G_TYPE_VALUE_ARRAY for 3705 structures. 3706 (signature_iter_to_g_type_array): Don't call 3707 signature_iter_to_g_type_struct. 3708 (signature_iter_to_g_type_struct): Delete. 3709 (dbus_gvalue_to_signature): Delete. 3710 (dbus_gvalue_to_signature): New function with same name as other 3711 one; we can convert structures to signatures. 3712 (demarshal_valuearray): New function. 3713 (get_type_demarshaller): Use it. 3714 (demarshal_recurse): Delete. 3715 (marshal_proxy): New function. 3716 (marshal_map): Warn if we can't determine signature from type. 3717 (marshal_collection_ptrarray): Ditto. 3718 (marshal_collection_array): Ditto. 3719 (get_type_marshaller): Use marshal_valuearray. 3720 (marshal_recurse): Delete. 3721 (_dbus_gvalue_test): Add some tests. 3722 3723 * dbus/dbus-glib.h (struct _DBusGValueIterator): 3724 (dbus_g_value_get_g_type, DBUS_TYPE_G_VALUE) 3725 (dbus_g_value_open, dbus_g_value_iterator_get_value) 3726 (dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse) 3727 (dbus_g_value_free): Remove prototypes. 3728 3729 * glib/dbus-binding-tool-glib.c (dbus_g_type_get_lookup_function): Handle 3730 G_TYPE_VALUE_ARRAY. 3731 3732 * glib/examples/example-service.c: 3733 * glib/examples/example-client.c: Implement GetTuple. 3734 3735 * test/glib/test-dbus-glib.c: 3736 * test/glib/test-service-glib.c: 3737 * test/glib/test-service-glib.xml: Add structure tests. 3738 3739 2005-07-10 Colin Walters <walters (a] verbum.org> 3740 3741 * doc/TODO: Knock off some GLib items with this patch. 3742 3743 * glib/dbus-gvalue-utils.c (_dbus_gtype_can_signal_error) 3744 (_dbus_gvalue_signals_error): New functions. 3745 3746 * glib/dbus-gvalue-utils.h: Prototype them. 3747 3748 * glib/dbus-gobject.c (arg_iterate): Update to handle return vals 3749 and change to not output const/retval flags for input args. All 3750 callers updated. 3751 (invoke_object_method): Refactor to handle return values. Add 3752 some more comments in various places. Remove debug g_print. 3753 3754 * glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_RETURNVAL): New. 3755 3756 * glib/dbus-binding-tool-glib.c (dbus_g_type_get_marshal_name): 3757 Handle G_TYPE_NONE. 3758 (compute_gsignature): New function; refactored from code from 3759 compute_marshaller and compute_marshaller_name. Enhance to 3760 handle return values and async ops more cleanly. Update for 3761 async ops returning NONE instead of BOOLEAN. 3762 (compute_marshaller, compute_marshaller_name): Call compute_gsignature 3763 and output appropriate string. 3764 (generate_glue): Handle return value annotation. Also don't dump 3765 constness flag for input arguments. 3766 3767 * glib/Makefile.am (DBUS_GLIB_INTERNALS): New variable; contains 3768 files shared between installed library and utilities. 3769 (libdbus_glib_1_la_SOURCES): Move some stuf into DBUS_GLIB_INTERNALS. 3770 (libdbus_gtool_la_SOURCES): Suck in DBUS_GLIB_INTERNALS so the 3771 binding tool can access gtype utility functions. 3772 3773 * test/glib/test-service-glib.c: 3774 * test/glib/test-service-glib.xml: 3775 * test/glib/test-dbus-glib.c: Add some tests for return values. 3776 3777 2005-07-09 Colin Walters <walters (a] verbum.org> 3778 3779 * glib/dbus-gparser.c (parse_annotation): Add annotations to 3780 argument if available, not method. 3781 3782 * glib/dbus-gobject.c (arg_iterate): More verbose warnings. 3783 (invoke_object_method): First, remove some redundant 3784 GValues (object_value, error_value) in favor of working on 3785 array directly. Second, rework constness to be less buggy. 3786 Now we iterate directly over the argument metadata instead 3787 of parallel iterating over output signature and metadata. 3788 3789 * glib/dbus-glib-tool.h: Add INVALID_ANNOTATION error. 3790 3791 * glib/dbus-binding-tool-glib.c (generate_glue): Barf on const 3792 annotation on input args. 3793 3794 2005-07-09 Colin Walters <walters (a] verbum.org> 3795 3796 * glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_CONST): 3797 Define. 3798 3799 * glib/dbus-binding-tool-glib.c (generate_glue): Handle Const 3800 annotation. 3801 3802 * glib/dbus-gobject.c (arg_iterate): Update to parse constval too. 3803 (method_dir_signature_from_object_info): Handle arg_iterate change. 3804 (write_interface): Ditto. 3805 (lookup_object_info): Don't barf if format_version is > 0. 3806 (invoke_object_method): Handle arg constness. 3807 3808 * glib/dbus-gidl.c (struct ArgInfo): Add annotations. 3809 (arg_info_new): Create. 3810 (arg_info_unref): Destroy. 3811 (arg_info_get_annotations, arg_info_get_annotation) 3812 (arg_info_add_annotation): New functions. 3813 3814 * glib/dbus-gidl.h: Prototype them. 3815 3816 * glib/dbus-gparser.c (parse_annotation): Allow annotations in 3817 args, disallow them in properties. 3818 (parse_annotation): Handle arg annotations. 3819 3820 * test/glib/test-service-glib.xml: 3821 * test/glib/test-service-glib.c: Update to make some methods 3822 const. 3823 3824 2005-07-08 Colin Walters <walters (a] verbum.org> 3825 3826 * test/glib/test-service-glib.xml: 3827 * test/glib/test-service-glib.c: 3828 * test/glib/test-dbus-glib.c: Test a{sv}. 3829 3830 * glib/examples/statemachine/statemachine.c: 3831 * glib/examples/statemachine/statemachine-server.c: 3832 * glib/examples/statemachine/statemachine-client.c: Fix some bugs, 3833 add progress bar, etc. 3834 3835 * glib/dbus-gvalue.c (register_array, register_dict): Delete; not 3836 needed anymore due to generic array/map marshalling. 3837 (dbus_g_value_types_init): Don't register basic arrays or the 3838 string/string hash. 3839 (dbus_gtype_from_signature_iter): Don't try to recurse into 3840 variants. 3841 (dbus_gtype_to_signature): Check collection/map before type 3842 metadata. 3843 (demarshal_garray_basic): Renamed to demarshal_collection_array. 3844 (demarshal_ghashtable): Renamed to demarshal_map; fix to use new 3845 generic map creation/append functions instead of hash table 3846 specifically. 3847 (get_type_demarshaller): Handle maps. 3848 (demarshal_collection): Dispatch on collection type to either 3849 demarshal_collection_ptrarray or demarshal_collection_array. 3850 (get_type_marshaller): Handle maps. 3851 (marshal_collection): Dispatch collection type to either 3852 marshal_collection_ptrarray or marshal_collection_array. 3853 (_dbus_gvalue_test): New test. 3854 3855 * glib/dbus-gvalue-utils.c (unset_and_free_g_value): New function. 3856 (hash_free_from_gtype): Use it to free GValues. 3857 (hashtable_append): New function. 3858 (ptrarray_append): Fix prototype. 3859 (slist_append): Ditto. 3860 (_dbus_gvalue_utils_test): Extend tests. 3861 3862 * glib/dbus-gtype-specialized.c 3863 (dbus_g_type_specialized_init_append): Renamed from 3864 dbus_g_type_specialized_collection_init_append. Remove const from 3865 value, since we steal it. 3866 (dbus_g_type_specialized_map_append): New function. 3867 3868 * glib/dbus-gtype-specialized.h: Update prototypes. 3869 Add DBusGTypeSpecializedMapAppendFunc. 3870 3871 * glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run 3872 _dbus_gvalue_test. 3873 3874 * glib/dbus-gtest.h: Prototype it. 3875 3876 2005-07-08 Ross Burton <ross (a] openedhand.com> 3877 3878 * dbus/dbus-glib.h: 3879 Add DBysGAsyncData for the async bindings. 3880 3881 * glib/dbus-binding-tool-glib.c: 3882 Re-enable the async bindings. 3883 3884 * test/glib/test-dbus-glib.c: 3885 Add a test for the generated async bindings. 3886 3887 2005-07-08 Colin Walters <walters (a] verbum.org> 3888 3889 * doc/TODO: Update GLib todo bits, also add a post-1.0 TODO for a 3890 connection concept. 3891 3892 2005-07-08 Colin Walters <walters (a] verbum.org> 3893 3894 * tools/Makefile.am: Kill of print-introspect in favor of using 3895 dbus-send --print-reply=literal. 3896 3897 * test/glib/test-service-glib.xml: 3898 * test/glib/test-service-glib.c (my_object_get_objs): New test 3899 for "ao". 3900 3901 * test/glib/test-dbus-glib.c (echo_received_cb): Free echo data. 3902 (main): Test GetObjs. 3903 3904 * glib/examples/statemachine/Makefile.am: 3905 * glib/examples/statemachine/sm-marshal.list: 3906 * glib/examples/statemachine/statemachine-client.c: 3907 * glib/examples/statemachine/statemachine-server.c: 3908 * glib/examples/statemachine/statemachine-server.xml: 3909 * glib/examples/statemachine/statemachine.c: 3910 * glib/examples/statemachine/statemachine.h: 3911 * glib/examples/statemachine/statemachine.xml: 3912 3913 New example. 3914 3915 * glib/examples/example-service.c (main): Move invocation 3916 of dbus_g_object_type_install_info earlier, to emphasize it 3917 should only be done once. 3918 3919 * glib/examples/example-signal-emitter.c (main): Ditto. 3920 3921 * glib/examples/Makefile.am (SUBDIRS): Include statemachine. 3922 3923 * glib/dbus-gvalue.h (dbus_gtype_to_signature) 3924 (dbus_gvalue_marshal): Update prototypes. 3925 3926 * glib/dbus-gvalue.c: Update all marshalling functions to take 3927 const GValue instead of GValue. 3928 (signature_iter_to_g_type_array): Return a GPtrArray for nonfixed 3929 types. 3930 (dbus_gvalue_to_signature): Update for dbus_gtype_to_signature 3931 change. 3932 (dbus_gtype_to_signature): Handle generic collecitons and maps. 3933 Return a newly-allocated string. 3934 (demarshal_proxy, demarshal_object_path, demarshal_object) 3935 (demarshal_strv, demarshal_ghashtable): Set error, don't assert if 3936 we get the wrong types from message. 3937 (get_type_demarshaller): New function, extracted from 3938 dbus_gvalue_demarshal. 3939 (demarshal_collection): New function, demarshals generic 3940 collection. 3941 (dbus_gvalue_demarshal): Just invoke result of 3942 get_type_demarshaller. Throw error if we don't have one. 3943 (marshal_garray_basic): Abort on OOM. 3944 (get_type_marshaller): New function, extracted from 3945 dbus_gvalue_marshal. 3946 (collection_marshal_iterator, marshal_collection): New functions; 3947 implements generic marshalling for an iteratable specialized 3948 collection. 3949 (dbus_gvalue_marshal): Just invoke result of get_type_marshaller. 3950 3951 * glib/dbus-gvalue-utils.c (gvalue_from_ptrarray_value): Handle 3952 G_TYPE_STRING. 3953 (ptrarray_value_from_gvalue): Ditto. 3954 (ptrarray_append, ptrarray_free): New functions. 3955 (slist_constructor, slist_iterator, slist_copy_elt, slist_copy) 3956 (slist_append, slist_end_append, slist_free): New functions. 3957 (dbus_g_type_specialized_builtins_init): Add append fuctions 3958 for GPtrArray and GSList. Register GSList. 3959 (test_specialized_hash, _dbus_gvalue_utils_test): New functions. 3960 3961 * glib/dbus-gtype-specialized.h (DBusGTypeSpecializedAppendContext): 3962 New. 3963 (dbus_g_type_specialized_collection_init_append) 3964 (dbus_g_type_specialized_collection_append) 3965 (dbus_g_type_specialized_collection_end_append): Prototype. 3966 (DBusGTypeSpecializedCollectionVtable): Add append_func and 3967 end_append_func. 3968 3969 * glib/dbus-gtype-specialized.c (dbus_g_type_specialized_collection_init_append) 3970 (dbus_g_type_specialized_collection_append) 3971 (dbus_g_type_specialized_collection_end_append): New functions. 3972 (dbus_g_type_map_value_iterate): Take const GValue. 3973 (dbus_g_type_collection_value_iterate): Ditto. 3974 3975 * glib/dbus-gtest.c (dbus_glib_internal_do_not_use_run_tests): Run 3976 _dbus_gvalue_utils_test. 3977 3978 * glib/dbus-gtest.h: Prototype it. 3979 3980 * glib/dbus-gproxy.c (dbus_g_proxy_manager_filter): Avoid 3981 using uninitialized owner_list. 3982 (dbus_g_proxy_begin_call_internal): Move return_if_fail to 3983 public API. 3984 (dbus_g_proxy_end_call_internal): Update to use error set 3985 from dbus_gvalue_demarshal instead of setting it here. 3986 (dbus_g_proxy_begin_call): Move return_if_fail here. 3987 3988 * glib/dbus-gobject.c (write_interface): Update for 3989 dbus_gtype_to_signature returning new string. 3990 3991 * configure.in: Add glib/examples/statemachine. 3992 3993 2005-07-08 Joe Shaw <joeshaw (a] novell.com> 3994 3995 * configure.in: Add a configure option, --with-console-auth-dir 3996 3997 * dbus/dbus-sysdeps-util.c (_dbus_user_at_console): Use the 3998 new setting. Patch from Kay Sievers. 3999 4000 2005-07-06 Colin Walters <walters (a] verbum.org> 4001 4002 * dbus/dbus-glib.h (DBusGPendingCall, DBusGPendingCallNotify) 4003 (DBUS_TYPE_G_PENDING_CALL, dbus_g_pending_call_get_g_type) 4004 (dbus_g_pending_call_ref, dbus_g_pending_call_unref): Delete. 4005 (dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel): 4006 Delete in favor of dbus_g_proxy_begin_call and 4007 dbus_g_proxy_cancel_call. 4008 (DBusGProxyCall, DBusGProxyCallNotify): New. 4009 (dbus_g_proxy_begin_call): Change prototype to take callback, user 4010 data, and destroy function. This replaces 4011 dbus_g_pending_call_set_notify. 4012 (dbus_g_proxy_cancel_call): Prototype. 4013 (DBusGAsyncData): Delete, shouldn't be needed anymore. 4014 4015 * glib/dbus-gproxy.c (struct _DBusGProxy): Add call_id_counter and 4016 pending_calls map. 4017 (struct _DBusGProxyManager): Add bus_proxy member, which is an 4018 internal proxy for calls to the bus. Remove 4019 pending_nameowner_calls, now the internal proxy keeps track. 4020 (dbus_g_proxy_manager_unref): Unref bus proxy, remove reference to 4021 pending_nameowner_calls. 4022 (got_name_owner_cb): Update prototype, and use 4023 dbus_g_proxy_end_call. 4024 (got_name_owner_cb): Remove reference to pending_nameowner_calls. 4025 (dbus_g_proxy_manager_register): Delete directly libdbus code in 4026 favor of using internal proxy. 4027 (dbus_g_proxy_manager_unregister): Update to use 4028 dbus_g_proxy_cancel_call for any pending GetNameOwner call. 4029 (dbus_g_proxy_init): Initialize pending calls map. 4030 (dbus_g_proxy_constructor): New. 4031 (dbus_g_proxy_class_init): Add get/set property functions, 4032 constructor, and add NAME, PATH, and INTERFACE properties. 4033 (cancel_pending_call): New function. 4034 (dbus_g_proxy_dispose): Iterate over any outstanding calls and 4035 cancel them. 4036 (dbus_g_proxy_set_property, dbus_g_proxy_get_property): New. 4037 (GPendingNotifyClosure): New structure. 4038 (d_pending_call_notify, d_pending_call_free): Moved here from 4039 dbus-glib.c. 4040 (DBUS_G_VALUE_ARRAY_COLLECT_ALL): Moved around to satisfy function 4041 ordering. 4042 (manager_begin_bus_call): New internal function for talking to 4043 internal bus proxy. 4044 (dbus_g_proxy_new): Construct object using GObjet properties. 4045 (dbus_g_proxy_begin_call_internal): Update to take user data, etc. 4046 Create closure of same, and insert call into map of pending calls. 4047 (dbus_g_proxy_end_call_internal): Take call id instead of pending 4048 call. Look up pending call in current set. Remove it when we've 4049 completed. 4050 (dbus_g_pending_call_end, dbus_g_proxy_end_call_internal): Delete. 4051 (dbus_g_proxy_begin_call): Change API to take callback, user data, 4052 and destroy function directly. 4053 (dbus_g_proxy_end_call): Update to take DBusGProxyCall. 4054 (dbus_g_proxy_call): Invoke with NULL callback. 4055 (dbus_g_proxy_cancel_call): New function, replaces 4056 dbus_g_pending_call_cancel. 4057 4058 * glib/dbus-gparser.c (validate_signature): Fix call to 4059 dbus_set_g_error. 4060 4061 * glib/dbus-gobject.c (dbus_g_object_type_dbus_metadata_quark): 4062 New quark for attaching metadata to GType. 4063 (info_hash): Delete. 4064 (lookup_object_info): Look up using quark. 4065 (dbus_g_object_type_install_info): Check that a type is classed, 4066 not that it's an object. Also just install type data using quark 4067 instead of using global hash. 4068 4069 * glib/dbus-glib.c (dbus_g_pending_call_ref) 4070 (dbus_g_pending_call_unref, dbus_pending_call_get_g_type) 4071 (GPendingNotifyClosure): Delete. 4072 (d_pending_call_notify, d_pending_call_free): Move to dbus-gproxy.c. 4073 (dbus_g_pending_call_set_notify, dbus_g_pending_call_cancel): Delete. 4074 4075 * glib/dbus-binding-tool-glib.c (generate_client_glue): Disable async 4076 client method generation until we can fix it... 4077 4078 * tools/dbus-viewer.c (load_child_nodes): Use dbus_g_proxy_call. 4079 (load_from_service_thread_func): Ditto. 4080 4081 * tools/dbus-names-model.c (struct NamesModel): Hold 4082 DBusGProxyCall. 4083 (have_names_notify): Update prototype, use 4084 dbus_g_proxy_cancel_call. 4085 (names_model_reload): Update for new dbus_g_proxy_begin_call API. 4086 4087 * tools/dbus-monitor.c (filter_func): Update for print_message 4088 API change. 4089 4090 * test/glib/test-dbus-glib.c: Add more tests for async 4091 invocations. Update many begin_call/end_call pairs to just use 4092 dbus_g_proxy_call. 4093 4094 * tools/dbus-send.c (main): Add --print-reply=literal mode. This 4095 allows us to dump print-introspect.c. 4096 4097 * tools/dbus-print-message.h (print_message): Add literal argument 4098 to print_message which is intended to allow printing arguments without 4099 metadata like "string=". 4100 4101 * tools/dbus-print-message.c (print_iter): Add literal argument. 4102 (print_message): Allow printing string messages literally. 4103 4104 2005-07-05 Colin Walters <walters (a] verbum.org> 4105 4106 * glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller): 4107 Remove value refcount leak, original patch from Jorn Baayen 4108 <jorn (a] openedhand.com>. Also remove useless extra value in favor 4109 of prepending to value array directly. 4110 4111 2005-07-02 Colin Walters <walters (a] verbum.org> 4112 4113 * glib/dbus-gmain.c (_dbus_gmain_test): Fix test. 4114 4115 2005-07-01 Colin Walters <walters (a] verbum.org> 4116 4117 Patch from Jonathan Matthew <jonathan (a] kaolin.hn.org> 4118 4119 * glib/dbus-gvalue.c (basic_typecode_to_gtype): Fix return type. 4120 (dbus_g_value_types_init): Marshal G_TYPE_CHAR as DBUS_TYPE_BYTE, 4121 G_TYPE_LONG as DBUS_TYPE_INT32, G_TYPE_ULONG as DBUS_TYPE_UINT32, 4122 and G_TYPE_FLOAT as DBUS_TYPE_DOUBLE. 4123 4124 2005-06-30 Colin Walters <walters (a] verbum.org> 4125 4126 * test/glib/test-dbus-glib.c: 4127 * test/glib/test-service-glib.c: 4128 * test/glib/test-service-glib.xml: Update tests for new error 4129 setting bits, also add async tests (patch from Ross Burton). 4130 4131 * test/glib/Makefile.am (test_service_glib_LDADD): Add 4132 DBUS_GLIB_THREADS_LIBS. 4133 4134 * glib/dbus-gproxy.c (get_name_owner) 4135 (dbus_g_pending_call_end_valist): Ditto. 4136 4137 * glib/dbus-gobject.c (error_metadata): New mapping from GError 4138 domain (GQuark) to DBusGErrorInfo. 4139 (gerror_domaincode_to_dbus_error_name): Attempt to look up error 4140 quark in error_metadata. Take message interface as default 4141 error message interface. 4142 (gerror_to_dbus_error_message): Pass message interface. 4143 (dbus_set_g_error): Resurrected. 4144 (dbus_g_error_info_free): New function. 4145 (dbus_g_object_type_install_info): Use g_type_class_ref instead 4146 of _peek to actually create the object class if it hasn't been 4147 created yet. 4148 (dbus_g_error_domain_register): New function. 4149 4150 * glib/dbus-gmain.c (dbus_g_bus_get): Switch to dbus_set_g_error. 4151 4152 * glib/dbus-gparser.c (validate_signature): Ditto. 4153 4154 * dbus/dbus-glib.h (dbus_g_error_set): Delete. 4155 (dbus_g_error_domain_register): Prototype. 4156 4157 * glib/dbus-glib.c (dbus_g_error_set): Delete. 4158 Update tests. 4159 4160 2005-06-29 Colin Walters <walters (a] verbum.org> 4161 4162 * dbus/dbus-glib.h: Delete DBUS_TYPE_G_PROXY_ARRAY. Add 4163 DBUS_TYPE_G_OBJECT_PATH. 4164 4165 * glib/dbus-gvalue.c (dbus_g_value_types_init): Remove marshallers 4166 for G_TYPE_OBJECT and DBUS_TYPE_G_PROXY_ARRAY (the latter should 4167 be handled more generically). Add DBUS_TYPE_G_OBJECT_PATH. 4168 (dbus_g_object_path_get_g_type): New function. 4169 (dbus_gtype_from_signature_iter): Map DBUS_TYPE_OBJECT_PATH 4170 to DBUS_TYPE_G_OBJECT_PATH by default. 4171 (demarshal_proxy): Remove unused name variable. 4172 (demarshal_object_path, marshal_object_path): New functions. 4173 (demarshal_proxy_array, marshal_proxy_array): Delete. 4174 4175 * glib/dbus-binding-tool-glib.c (dbus_g_type_get_c_name): Map 4176 DBUS_TYPE_G_OBJECT_PATH to char *. 4177 (dbus_g_type_get_lookup_function): Map builtin 4178 DBUS_TYPE_G_OBJECT_PATH. 4179 4180 * test/glib/test-dbus-glib.c 4181 * test/glib/test-service-glib.c (my_object_objpath): 4182 Adapt tests to new object path marshalling. 4183 4184 2005-06-29 John (J5) Palmieri <johnp (a] redhat.com> 4185 4186 * configure.in: force check for Python >= 2.4 4187 4188 2005-06-29 Colin Walters <walters (a] verbum.org> 4189 4190 Patch from Ross Burton <ross (a] openedhand.com> 4191 4192 * glib/dbus-gobject.c (invoke_object_method): Unset object 4193 value in all cases, not only in async case. 4194 4195 2005-06-29 Colin Walters <walters (a] verbum.org> 4196 4197 * glib/dbus-gproxy.c (struct _DBusGProxy): Add new member 4198 name_call for keeping track of any outgoing GetNameOwner call. 4199 Also add for_owner and associated. 4200 (struct _DBusGProxyManager): Add owner_names, which is hash table 4201 that maps a base name to a list of names it owns (that we're 4202 interested in). Add pending_nameowner_calls which is a list of 4203 all outstanding GetNameOwner; avoids us having to iterate over 4204 every proxy. Add unassociated_proxies which keeps track of name 4205 proxies with no associated name owner. 4206 (dbus_g_proxy_manager_unref): Destroy owner_names. 4207 (struct DBusGProxyNameOwnerInfo): New struct for keeping track of 4208 name refcounts. 4209 (find_name_in_info, name_owner_foreach) 4210 (dbus_g_proxy_manager_lookup_name_owner, insert_nameinfo) 4211 (dbus_g_proxy_manager_monitor_name_owner) 4212 (dbus_g_proxy_manager_unmonitor_name_owner) 4213 (unassociate_proxies, dbus_g_proxy_manager_replace_name_owner): 4214 New functions; they manipulate the owner_names mapping. 4215 (got_name_owner_cb): New function. 4216 (get_name_owner): New function, extracted from 4217 dbus_g_proxy_new_for_name_owner. 4218 (dbus_g_proxy_manager_register): For now we need to keep track of 4219 all NameOwnerChanged. Also if the proxy is for a name, if we 4220 don't already know the name owner, queue a new GetNameOwner 4221 request and add it to our list of unassociated proxies. Otherwise 4222 inc the refcount. 4223 (dbus_g_proxy_manager_unregister): If this proxy is for a name, 4224 cancel any pending GetNameOwner call, etc. 4225 (dbus_g_proxy_manager_filter): Handle NameOwnerChanged. Also use 4226 the owner_names mapping to look up the current names for the 4227 signal source, and dispatch to any proxies for that name. 4228 (dbus_g_proxy_new): Initialize new members. 4229 (dbus_g_proxy_new_for_name): Delete unused proxy variable. 4230 (dbus_g_proxy_new_for_name_owner): Use get_name_owner. 4231 (dbus_g_pending_call_end_valist): New function, extracted from 4232 dbus_g_proxy_end_call_internal. Useful when we don't have a proxy 4233 but want to use the GLib infrastructure. Also note how many 4234 arguments in reply were over. 4235 (dbus_g_pending_call_end): New function, just call 4236 dbus_g_pending_call_end_valist. 4237 (dbus_g_proxy_end_call_internal): Just call 4238 dbus_g_pending_call_end_valist. 4239 4240 * glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Fix lookup 4241 of builtin marshaller for STRING_STRING_STRING. 4242 4243 * test/glib/test-dbus-glib.c: 4244 * test/glib/test-service-glib.c: 4245 * test/glib/test-service-glib.xml: 4246 Extend tests to cover name proxies, destruction of owner proxies, 4247 etc. 4248 4249 * glib/examples/example-signal-recipient.c 4250 (dbus_g_proxy_new_for_name_owner): Create a name proxy. 4251 4252 * tools/dbus-send.c (main): Print D-BUS error name in addition 4253 to message. 4254 4255 2005-06-28 John (J5) Palmieri <johnp (a] redhat.com> 4256 4257 * python/dbus_bindings.pyx.in (cunregister_function_handler, 4258 cmessage_function_handler): Patch from 4259 Anthony Baxter <anthony (a] interlink.com.au> fixes threading problems 4260 by using the Py_GILState_Ensure/Release to synchronize with the 4261 python runtime. 4262 4263 2005-06-28 Ray Strode <rstrode (a] redhat.com> 4264 4265 * dbus/dbus-spawn.c (_dbus_babysitter_unref): kill 4266 babysitter helper process on last unref, bug #2813. 4267 4268 2005-06-27 Colin Walters <walters (a] verbum.org> 4269 4270 * test/glib/test-dbus-glib.c: 4271 * test/glib/test-service-glib.c: 4272 * test/glib/test-service-glib.xml: 4273 Test hash table signal emitting. 4274 4275 * glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): Convert 4276 types to their fundamental basis types, since this is what 4277 marshallers operate on. Also add an entry for VOID__BOXED. 4278 (dbus_g_object_register_marshaller_array): Convert to fundamental. 4279 4280 2005-06-26 Havoc Pennington <hp (a] redhat.com> 4281 4282 * doc/dbus-tutorial.xml: fix names of interface/service/path, fix 4283 from Don Park 4284 4285 2005-06-26 Colin Walters <walters (a] verbum.org> 4286 4287 * glib/dbus-glib.c (dbus_set_g_error): Delete. 4288 (dbus_g_error_set): New public function from its ashes; used by 4289 both service-side method implementation and GLib bindings 4290 internals. 4291 (dbus_g_error_has_name, dbus_g_error_get_name): New function. 4292 (_dbus_glib_test): Add some tests. 4293 4294 * test/glib/test-dbus-glib.c (main): Test dbus_g_error_has_name. 4295 4296 * test/glib/test-service-glib.c (my_object_throw_error): Use 4297 dbus_g_error_set. 4298 4299 * glib/dbus-gobject.c (gerror_to_dbus_error_message): Handle 4300 errors thrown by dbus_g_error_set. 4301 4302 * glib/dbus-gmain.c (dbus_g_bus_get): Change to dbus_g_error_set. 4303 4304 * glib/dbus-gparser.c (validate_signature): Ditto. 4305 4306 * glib/dbus-gproxy.c (dbus_g_proxy_new_for_name_owner) 4307 (dbus_g_proxy_end_call_internal): Ditto. 4308 4309 * glib/Makefile.am: Generate dbus-glib-error-switch.h, which 4310 converts DBUS_ERROR_x to DBUS_GERROR_x. 4311 (libdbus_glib_1_la_SOURCES, BUILT_SOURCES, CLEANFILES): Add it. 4312 4313 * doc/TODO: Remove error TODO. 4314 4315 * doc/dbus-tutorial.xml: Update with documentation about error 4316 handling. 4317 4318 * dbus/make-dbus-glib-error-enum.sh: Tighten up regexp to make 4319 sure we only change DBUS_ERROR to DBUS_GERROR, not all ERROR to 4320 GERROR. Also add DBUS_GERROR_REMOTE_EXCEPTION. 4321 4322 2005-06-22 Colin Walters <walters (a] verbum.org> 4323 4324 Patch from Ross Burton <ross (a] openedhand.com> 4325 4326 * glib/dbus-gobject.c (dbus_g_method_return): Free out_sig. 4327 4328 2005-06-20 Colin Walters <walters (a] verbum.org> 4329 4330 * configure.in: Add glib/examples. 4331 4332 * glib/Makefile.am: Add examples/ 4333 4334 * glib/examples/.cvsignore 4335 * glib/examples/Makefile.am 4336 * glib/examples/example-client.c 4337 * glib/examples/example-service.c 4338 * glib/examples/example-service.xml 4339 * glib/examples/example-signal-emitter.c 4340 * glib/examples/example-signal-emitter.xml 4341 * glib/examples/example-signal-recipient.c: 4342 New files; GLib binding examples, ported from 4343 python/examples. 4344 4345 2005-06-20 Colin Walters <walters (a] verbum.org> 4346 4347 * dbus/dbus-glib.h: 4348 * glib/dbus-gproxy.c: Rename dbus_g_proxy_invoke to 4349 dbus_g_proxy_call. 4350 4351 * glib/dbus-binding-tool-glib.c: 4352 * doc/dbus-tutorial.xml: 4353 * test/glib/test-dbus-glib.c: Update for rename. 4354 4355 2005-06-20 Colin Walters <walters (a] verbum.org> 4356 4357 Patch suggested by Ross Burton <ross (a] openedhand.com> 4358 4359 * glib/dbus-gobject.c (export_signals): Free signal name. 4360 (g_value_init): Use G_VALUE_NOCOPY_CONTENTS to plug 4361 memory leak. Add a bit of documentation. 4362 (dbus_g_method_return_error): Free context, and note we do 4363 so. 4364 4365 2005-06-18 Murray Cumming <murrayc (a] murrayc.com> 4366 4367 * dbus/dbus-glib.h: 4368 * glib/dbus-gobject.c: 4369 * glib/dbus-gproxy.c: 4370 * glib/dbus-gvalue.c: Predeclare structs as 4371 typedef struct _Something Something instead of 4372 typedef struct Something Something, so we can 4373 redeclare the prototypes. Other GNOME libraries 4374 do this already. 4375 4376 2005-06-17 Colin Walters <walters (a] verbum.org> 4377 4378 * tools/dbus-names-model.c (have_names_notify): Fix call 4379 to dbus_g_proxy_end_call. 4380 4381 2005-06-17 Colin Walters <walters (a] verbum.org> 4382 4383 * glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): Don't 4384 spew warnings if we get malformed remote signals. 4385 4386 * glib/dbus-gobject.c (propsig_iterate): New function. 4387 (lookup_object_info): New function, extracted from 4388 lookup_object_and_method. 4389 (introspect_properties, introspect_signals): Delete; these 4390 are merged into write_interface. 4391 (write_interface): Write out signals and properties here; 4392 dump the org.gtk.object stuff and use the interface given 4393 in the introspection data blob. Also fix up property XML. 4394 (lookup_values): New function. 4395 (introspect_interfaces): Gather a mapping from interface to a 4396 list of its methods, signals, and properties, then write out 4397 each interface. 4398 (lookup_object_and_method): Use lookup_object_info. 4399 (struct DBusGSignalClosure): Add interface. 4400 (dbus_g_signal_closure_new): Add interface. Don't dup signame; 4401 we can just use the constant data. 4402 (dbus_g_signal_closure_finalize): Don't free signal name. 4403 (signal_emitter_marshaller): Use interface from signal closure. 4404 (export_signals): Only export signals mentioned in introspection 4405 blob. 4406 (dbus_g_connection_register_g_object): Warn if we have no 4407 introspection data for an object. 4408 (funcsig_equal): Remove unused variable. 4409 (dbus_g_object_register_marshaller): Take varargs instead of 4410 list. 4411 (dbus_g_object_register_marshaller_array): New function, 4412 extracted from old dbus_g_object_register_marshaller. 4413 4414 * glib/dbus-binding-tool-glib.c (struct DBusBindingToolCData): Add 4415 signals and property data. 4416 (write_quoted_string): New function, extracted from generate_glue. 4417 (generate_glue): Write signals and properties to introspection 4418 blob. 4419 4420 * dbus/dbus-glib.h (struct DBusGObjectInfo): Include 4421 exported_signals and exported_properties. 4422 (dbus_g_object_register_marshaller): Update prototype. 4423 (dbus_g_object_register_marshaller_array): Prototype. 4424 4425 * test/glib/test-dbus-glib.c: Extend testing to cover new signals. 4426 4427 * test/glib/test-service-glib.c: Add new test signals and method 4428 to emit them. 4429 4430 * test/glib/test-service-glib.xml: Add some test signals. 4431 4432 * test/glib/Makefile.am (BUILT_SOURCES): Add my-object-marshal.c 4433 and my-object-marshal.h 4434 (test_service_glib_SOURCES, test_dbus_glib_SOURCES): Add 4435 my-object-marshal.c. 4436 (my-object-marshal.c, my-object-marshal.h): Implement. 4437 4438 * test/glib/.cvsignore: Update. 4439 4440 * doc/TODO: Remove two GLib TODO items fixed by this 4441 patch. 4442 4443 2005-06-16 Colin Walters <walters (a] verbum.org> 4444 4445 * doc/TODO: Update for GLib bindings. 4446 4447 2005-06-16 Colin Walters <walters (a] verbum.org> 4448 4449 * glib/dbus-binding-tool-glib.c: 4450 * glib/dbus-gobject.c: 4451 * glib/dbus-gproxy.c: Add Nokia copyright; Patch 4452 from Ross Burton, for his GLib bindings work. 4453 4454 2005-06-16 Colin Walters <walters (a] verbum.org> 4455 4456 * glib/dbus-gobject.c (funcsig_hash, funcsig_equal): Use n_params 4457 to iterate instead of walking to G_TYPE_INVALID. 4458 4459 Patch based on a patch from Ryan Gammon. 4460 4461 2005-06-16 Colin Walters <walters (a] verbum.org> 4462 4463 * bus/bus.c (bus_context_new): Set parser to NULL 4464 after we unref it (Patch from Chris Boscolo, #2174). 4465 4466 2005-06-16 Colin Walters <walters (a] verbum.org> 4467 4468 * python/dbus_bindings.pyx.in: Import size_t, 4469 __int64_t, __uint64_t, and __signed. 4470 4471 * dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (write_credentials_byte): 4472 Define cmsg struct, output it. 4473 (_dbus_read_credentials_unix_socket): 4474 Use cmsg struct. 4475 4476 Patch from Joe Markus Clarke for FreeBSD support. 4477 4478 2005-06-16 Colin Walters <walters (a] verbum.org> 4479 4480 * tools/dbus-send.c (append_array): Use strtok. 4481 (append_dict): New function. 4482 (type_from_name): New function, extracted from main. 4483 (main): Handle sending dicts. 4484 4485 * tools/dbus-print-message.c (print_iter): Print dict 4486 entries. 4487 4488 2005-06-16 Colin Walters <walters (a] verbum.org> 4489 4490 * glib/dbus-gvalue.c (marshal_basic): Marshal NULL string 4491 values as the empty string (#2948). 4492 4493 2005-06-16 Colin Walters <walters (a] verbum.org> 4494 4495 * dbus/Makefile.am: 4496 * mono/doc/Makefile.am: 4497 * test/glib/Makefile.am: 4498 4499 Fix srcdir != builddir issues (Patch from Chris Wilson, #3477) 4500 4501 2005-06-16 Colin Walters <walters (a] verbum.org> 4502 4503 * dbus/dbus-marshal-header.c (_dbus_header_load): Set 4504 header byte order from expected byte order (Patch from Chris Wilson, #3475). 4505 4506 * dbus/dbus-marshal-byteswap.c (byteswap_body_helper): 4507 Increment pointer after swapping fixed array. Add assertion 4508 for array length. 4509 4510 2005-06-15 Colin Walters <walters (a] verbum.org> 4511 4512 * dbus/dbus-sysdeps.c <HAVE_CMSGCRED> (_dbus_read_credentials_unix_socket): 4513 Fix call to dbus_set_error. (Patch from Michael Banck, #3461) 4514 4515 2005-06-15 John (J5) Palmieri <johnp (a] redhat.com> 4516 4517 * NEWS: Update to 0.34 4518 4519 2005-06-15 David Zeuthen <davidz (a] redhat.com> 4520 4521 * configure.in (LT_CURRENT): Revert back to 1 as the library 4522 hasn't changed and we've certainly not committed to protocol 4523 stability yet. All this does is to break ABI. See commit note 4524 from hp (a] redhat.com 2005-05-05 for details. 4525 4526 2005-06-15 John (J5) Palmieri <johnp (a] redhat.com> 4527 4528 * dbus/dbus-connection.c (_dbus_connection_peer_filter): New method 4529 (_dbus_connection_run_builtin_filters): New method 4530 (dbus_connection_dispatch): Run the builtin filters which in turn 4531 runs the peer filter which handles Ping messages. 4532 4533 * doc/TODO: 4534 - Ping isn't handled: This patch fixes it 4535 4536 - Add a test case for the Ping message: added TODO item 4537 4538 2005-06-15 John (J5) Palmieri <johnp (a] redhat.com> 4539 4540 * dbus/dbus-message.c: 4541 (dbus_message_has_path): New method 4542 (dbus_message_has_interface): New method 4543 (dbus_message_has_member): New method 4544 4545 * dbus/dbus/dbus-sysdeps.c (_dbus_check_dir_is_private_to_user): 4546 New method 4547 4548 * dbus/dbus-keyring.c (_dbus_keyring_reload): Check to see that 4549 the keyring directory is private to the user 4550 4551 * doc/TODO: 4552 - The convenience functions in dbus-bus.h should perhaps have 4553 the signatures that they would have if they were autogenerated 4554 stubs. e.g. the acquire service function. We should also evaluate 4555 which of these functions to include, in light of the fact that 4556 GLib/Qt native stubs will probably also exist.: Punted 4557 4558 - add dbus_message_has_path(), maybe has_member/interface: 4559 fixed in this patch 4560 4561 - in dbus-keyring.c, enforce that the keyring dir is not 4562 world readable/writable: Fixed in this patch 4563 4564 2005-06-15 John (J5) Palmieri <johnp (a] redhat.com> 4565 4566 * dbus/dbus-marshal-validate.h: Added a new validation 4567 error code DBUS_VALIDITY_UNKNOWN_OOM_ERROR = -4 for 4568 out of memory errors when validating signitures 4569 4570 * dbus/dbus-marshal-header.c: use DBUS_VALIDITY_UNKNOWN_OOM_ERROR 4571 in places where we previously used DBUS_VALID and a FALSE return 4572 value to indicate OOM 4573 4574 * dbus/dbus-marshal-validate.c (_dbus_validate_signature_with_reason): 4575 Use a stack to track the number of elements inside containers. The 4576 stack values are then used to validate that dict entries have only two 4577 elements within them. 4578 (validate_body_helper): check the reason for failure when validating 4579 varients 4580 4581 * dbus/dbus-message.c (load_message): use 4582 DBUS_VALIDITY_UNKNOWN_OOM_ERROR in places where we previously used 4583 DBUS_VALID and a FALSE return value to indicate OOM 4584 4585 * doc/TODO: remove "- validate dict entry number of fields" as this 4586 patch fixes it 4587 4588 2005-06-14 David Zeuthen <davidz (a] redhat.com> 4589 4590 * bus/bus.c (process_config_every_time): Drop existing conf-dir 4591 watches (if applicable) and add new watches 4592 4593 * bus/main.c (signal_handler): Handle SIGIO if using D_NOTIFY 4594 (main): Setup SIGIO signal handler if using D_NOTIFY 4595 4596 * bus/config-parser.h: Add prototype bus_config_parser_get_conf_dirs 4597 4598 * bus/config-parser.c (struct BusConfigParser): Add conf_dirs list 4599 (merge_included): Also merge conf_dirs list 4600 (bus_config_parser_unref): Clear conf_dirs list 4601 (include_dir): Add directory to conf_dirs list 4602 (bus_config_parser_get_conf_dirs): New function 4603 4604 * bus/dir-watch.[ch]: New files 4605 4606 * bus/Makefile.am (BUS_SOURCES): Add dir-watch.[ch] 4607 4608 * configure.in: Add checks for D_NOTIFY on Linux 4609 4610 2005-06-14 Colin Walters <walters (a] verbum.org> 4611 4612 * glib/dbus-binding-tool-glib.c: 4613 * glib/dbus-gobject.c: 4614 * glib/dbus-gvalue.c: Fix indentation and brace style. 4615 4616 2005-06-14 Ross Burton <ross (a] openedhand.com>. 4617 4618 * glib/dbus-glib.h: Make DBusGMethodInvocation 4619 a private structure. Rearrange prototypes a bit. 4620 4621 * glib/dbus-gproxy.c (dbus_g_proxy_invoke): Add 4622 documentation for first_arg_type. 4623 4624 * glib/dbus-gobject.c: Move DBusGMethodInvocation 4625 here, add documentation. Move dbus_g_method_return 4626 and dbus_g_method_return_error into public API 4627 section. 4628 4629 2005-06-14 Colin Walters <walters (a] verbum.org> 4630 4631 * glib/dbus-gobject.c (_dbus_gobject_lookup_marshaller): 4632 Add missing return statements, noticed by Ross Burton. 4633 4634 2005-06-13 Ross Burton <ross (a] openedhand.com>. 4635 4636 * glib/dbus-gobject.c: Handle errors on message 4637 demarshalling by sending error message back. 4638 * glib/dbus-gvalue.c: Initialize return variables. 4639 4640 2005-06-13 Colin Walters <walters (a] verbum.org> 4641 4642 * glib/Makefile.am: Fix thinko in last patch. 4643 4644 2005-06-13 Colin Walters <walters (a] verbum.org> 4645 4646 * glib/Makefile.am: Move dbus-gtype-specialized.c 4647 and dbus-gtype-specialized.h into a _HEADERS variable, 4648 install them. 4649 4650 2005-06-12 Colin Walters <walters (a] verbum.org> 4651 4652 Async signals and various bugfixes and testing by 4653 Ross Burton <ross (a] openedhand.com>. 4654 4655 * glib/dbus-gvalue.h: (struct DBusBasicGValue): Delete. 4656 (dbus_gvalue_genmarshal_name_from_type) 4657 (dbus_gvalue_ctype_from_type): Moved to dbus-binding-tool-glib.c. 4658 (dbus_gtype_to_dbus_type): Renamed to dbus_gtype_from_signature. 4659 (dbus_g_value_types_init, dbus_gtype_from_signature) 4660 (dbus_gtype_from_signature_iter, dbus_gtype_to_signature) 4661 (dbus_gtypes_from_arg_signature): New function prototypes. 4662 (dbus_gvalue_demarshal): Take context and error arguments. 4663 (dbus_gvalue_demarshal_variant): New function. 4664 (dbus_gvalue_demarshal_message): New function. 4665 (dbus_gvalue_store): Delete. 4666 4667 * glib/dbus-gvalue.c: 4668 4669 File has been almost entirely rewritten; now we special-case 4670 more types such as DBUS_TYPE_SIGNATURE, handle arrays and 4671 hash tables correctly, etc. Full support for recursive values 4672 is not yet complete. 4673 4674 * glib/dbus-gproxy.c (dbus_g_proxy_class_init): Change last 4675 argument of signal to G_TYPE_POINTER since we now pass a 4676 structure. 4677 (lookup_g_marshaller): Delete in favor of 4678 _dbus_gobject_lookup_marshaller. 4679 (marshal_dbus_message_to_g_marshaller): Use 4680 _dbus_gobject_lookup_marshaller and dbus_gvalue_demarshal_message 4681 to handle remote signal callbacks. 4682 (dbus_g_proxy_new_from_proxy): New function; creates a new 4683 DBusGProxy by copying an existing one. 4684 (dbus_g_proxy_get_interface, dbus_g_proxy_set_interface) 4685 (dbus_g_proxy_get_path): New functions. 4686 (dbus_g_proxy_marshal_args_to_message): New function; 4687 factored out of existing code. 4688 (DBUS_G_VALUE_ARRAY_COLLECT_ALL): Collect all arguments 4689 from a varargs array. 4690 (dbus_g_proxy_begin_call_internal): New function. 4691 (dbus_g_proxy_end_call_internal): New function. 4692 (dbus_g_proxy_begin_call): Take GTypes instead of DBus types 4693 as arguments; simply invoke dbus_g_proxy_begin_call_internal 4694 after collecting args into value array. 4695 (dbus_g_proxy_end_call): Take GTypes instead of DBus types; 4696 invoke dbus_g_proxy_end_call_internal. 4697 (dbus_g_proxy_invoke): Simply invoke begin_call_interanl and 4698 end_call_internal. 4699 (dbus_g_proxy_call_no_reply): Take GTypes instead of DBus 4700 types. 4701 (array_free_all): New function. 4702 (dbus_g_proxy_add_signal): Take GTypes. 4703 4704 * glib/dbus-gobject.h: 4705 (_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete. 4706 (_dbus_gobject_get_path, _dbus_gobject_lookup_marshaller): 4707 Prototype. 4708 4709 * glib/dbus-gobject.c: Add a global marshal_table hash which 4710 stores mappings from type signatures to marshallers. Change lots 4711 of invocations of dbus_gtype_to_dbus_type to 4712 dbus_gtype_to_signature. 4713 (_dbus_glib_marshal_dbus_message_to_gvalue_array): Delete. 4714 (introspect_signals): Fix test for query.return_type. 4715 (set_object_property): Update invocation of dbus_gvalue_demarshal. 4716 (invoke_object_method): Many changes. Handle asynchronous 4717 invocations. Convert arguments with 4718 dbus_gvalue_demarshal_message. Handle errors. Use 4719 DBusSignatureIter instead of strlen on args. Handle all arguments 4720 generically. Special-case variants. 4721 (dbus_g_method_return, dbus_g_method_return_error): New function. 4722 (DBusGSignalClosure): New structure, closes over signal 4723 information. 4724 (dbus_g_signal_closure_new): New function. 4725 (dbus_g_signal_closure_finalize): New function. 4726 (signal_emitter_marshaller): New function; is special marshaller 4727 which emits signals on bus. 4728 (export_signals): New function; introspects object signals and 4729 connects to them. 4730 (dbus_g_object_type_install_info): Take GType instead of 4731 GObjectClass. 4732 (dbus_g_connection_register_g_object): Invoke export_signals. 4733 (dbus_g_connection_lookup_g_object): New function. 4734 (DBusGFuncSignature) New structure; used for mapping type 4735 signatures to marshallers. 4736 (funcsig_hash): New function; hashes DBusGFuncSignature. 4737 (funcsig_equal): New function; compares DBusGFuncSignature. 4738 (_dbus_gobject_lookup_marshaller): New function. 4739 (dbus_g_object_register_marshaller): New function; used to 4740 register a marshaller at runtime for a particular signature. 4741 4742 * glib/dbus-gmain.c (_dbus_gmain_test): Add various tests. 4743 4744 * glib/dbus-binding-tool-glib.h: Add DBUS_GLIB_ANNOTATION_ASYNC 4745 which notes a server method implementation should be 4746 asynchronous. 4747 4748 * glib/dbus-binding-tool-glib.c 4749 (dbus_binding_tool_output_glib_server): Call 4750 dbus_g_value_types_init. 4751 (write_formal_parameters): Use dbus_gtype_from_signature. Handle 4752 variants specially. 4753 (dbus_g_type_get_lookup_function): Turn GType into an invocation 4754 of a lookup function. 4755 (write_args_for_direction): Use dbus_g_type_get_lookup_function. 4756 (write_untyped_out_args): New method; write output arguments. 4757 (write_formal_declarations_for_direction): Function for 4758 writing prototypes. 4759 (write_formal_parameters_for_direction): Function for 4760 writing implementations. 4761 (write_typed_args_for_direction): Function for writing 4762 arguments prefixed with GTypes. 4763 (write_async_method_client): Write out async version 4764 of method. 4765 4766 * glib/dbus-binding-tool-glib.c: Include dbus-gvalue-utils.h. 4767 (dbus_g_type_get_marshal_name): Move mapping from GType 4768 to marshal name into here. 4769 (dbus_g_type_get_c_name): Move into here. 4770 (compute_marshaller): Convert signature to type with 4771 dbus_gtype_from_signature, use dbus_g_type_get_marshal_name. 4772 (compute_marshaller_name): Ditto. 4773 (compute_marshaller): Handle async signal annotations. 4774 (gather_marshallers): Return if we don't have a known 4775 prefix. 4776 (generate_glue): Collect introspection blob here, and 4777 write all of the blob at the end. This allows an object 4778 with multiple interfaces to work. 4779 Mark async methods in introspection blob. 4780 4781 * glib/Makefile.am (libdbus_glib_1_la_SOURCES): Add 4782 dbus-gtype-specialized.c, dbus-gtype-specialized.h, 4783 dbus-gvalue-utils.h, dbus-gvalue-utils.c. 4784 4785 * dbus/dbus-glib.h: Don't include dbus-protocol.h; this 4786 avoids people accidentally using DBUS_TYPE_* which should 4787 not be necessary anymore. 4788 Do include dbus-gtype-specialized.h, which are utilities 4789 for GLib container types. 4790 Add various #defines for types such as 4791 DBUS_TYPE_G_BOOLEAN_ARRAY. 4792 (DBusGValueIterator, DBusGValue): Define, not fully used 4793 yet. 4794 (dbus_g_value_get_g_type): Type for recursive value. 4795 (dbus_g_value_open, dbus_g_value_iterator_get_value) 4796 (dbus_g_value_iterator_get_values, dbus_g_value_iterator_recurse) 4797 (dbus_g_value_free): Prototypes. 4798 (dbus_g_object_register_marshaller, dbus_g_proxy_new_from_proxy): Prototype. 4799 (dbus_g_proxy_set_interface): Prototype. 4800 (dbus_g_proxy_begin_call, dbus_g_proxy_end_call) 4801 (dbus_g_proxy_call_no_reply): Take GLib types instead of DBus 4802 types. 4803 (dbus_g_proxy_get_path, dbus_g_proxy_get_interface): 4804 Accessors. 4805 (DBusGAsyncData, DBusGMethodInvocation): Structures for 4806 doing async invocations. 4807 (dbus_g_method_return, dbus_g_method_return_error): 4808 Prototypes. 4809 * doc/dbus-tutorial.xml: Update GLib section. 4810 4811 * tools/dbus-viewer.c (load_child_nodes): Update 4812 for new invocation type of dbus_g_proxy_end_call. 4813 (load_from_service_thread_func): Ditto. 4814 4815 * tools/print-introspect.c (main): Ditto. 4816 4817 * tools/dbus-names-model.c (have_names_notify) 4818 (names_model_reload, names_model_set_connection) 4819 Use GTypes. 4820 4821 * python/Makefile.am (INCLUDES): Define DBUS_COMPILATION, 4822 needed since Python bindings use GLib bindings. 4823 4824 * test/glib/Makefile.am (INCLUDES): Define DBUS_COMPILATION. 4825 Add --prefix argument. 4826 4827 * tools/Makefile.am: Define DBUS_COMPILATION. Remove 4828 unneeded --ignore-unsupported arg. 4829 4830 * test/glib/test-service-glib.c: 4831 * test/glib/test-service-glib.xml: 4832 * test/glib/test-dbus-glib.c: Add many more tests. 4833 4834 2005-06-06 David Zeuthen <davidz (a] redhat.com> 4835 4836 * doc/TODO: Add item about need to remove deprecated functions. 4837 4838 * dbus/dbus-connection.h: Add prototype for dbus_connection_disconnect 4839 4840 * dbus/dbus-connection.c (dbus_connection_disconnect): New function 4841 to repair the ABI which was broken with the last commit. 4842 4843 2005-06-02 John (J5) Palmieri <johnp (a] redhat.com> 4844 4845 * dbus/dbus-connection.c, dbus/dbus-connection.h 4846 (dbus_connection_disconnect): renamed to dbus_connection_close 4847 for API symmetry with dbus_connection_open 4848 (_dbus_connection_open_internal): 4849 s/dbus_connection_disconnect/dbus_connection_close 4850 4851 * dbus/dbus-bus.c (dbus_bus_get): 4852 s/dbus_connection_disconnect/dbus_connection_close 4853 4854 * bus/connection.c (bus_connections_unref, 4855 bus_connections_setup_connection, bus_connections_expire_incomplete): 4856 s/dbus_connection_disconnect/dbus_connection_close 4857 4858 * bus/dispatch.c (bus_dispatch, kill_client_connection, 4859 kill_client_connection_unchecked, check_hello_connection): 4860 s/dbus_connection_disconnect/dbus_connection_close 4861 4862 * bus/bus.c (new_connection_callback): 4863 s/dbus_connection_disconnect/dbus_connection_close 4864 4865 * tools/dbus-send.c (main): 4866 s/dbus_connection_disconnect/dbus_connection_close 4867 4868 * test/glib/test-profile.c (no_bus_thread_func, with_bus_thread_func): 4869 s/dbus_connection_disconnect/dbus_connection_close 4870 4871 * test/test-service.c (path_message_func, filter_func): 4872 s/dbus_connection_disconnect/dbus_connection_close 4873 4874 * doc/TODO: remove connection_open/connection_disconnect lacks symmetry item that was just fixed 4875 4876 2005-05-25 Colin Walters <walters (a] verbum.org> 4877 4878 * dbus/dbus-protocol.h: Move various bus service #defines such 4879 as DBUS_SERVICE_DBUS and DBUS_NAME_FLAG_PROHIBIT_REPLACEMENT to 4880 dbus/dbus-shared.h. 4881 * dbus/dbus-shared.h: Various defines moved here. 4882 * dbus/dbus-marshal-header.c: Include dbus-shared.h. 4883 4884 2005-05-25 John (J5) Palmieri <johnp (a] redhat.com> 4885 4886 * python/__init__.py: Python bindings deserve a minor version 4887 update. Upped to (0, 40, 2) 4888 4889 2005-05-24 John (J5) Palmieri <johnp (a] redhat.com> 4890 4891 * python/decorators.py: add explicitly_pass_message decorator 4892 for passing in the dbus message as keyword for edge case signal 4893 handling 4894 4895 * python/matchrules.py (SignalMatchRule.__repr__): fix output 4896 to conform with what dbus expects for match rules 4897 (SignalMatchRule.execute): add the dbus message as a keyword 4898 if the signal handler has requested it 4899 4900 * python/examples/example/signal-recipient.py: added some more 4901 examples on how to hook up to signals 4902 4903 2005-05-23 John (J5) Palmieri <johnp (a] redhat.com> 4904 4905 * python/decorators.py: import dbus_bindings 4906 4907 * python/matchrules.py (SignalMatchRule, SignalMatchTree, 4908 SignalMatchNode): new classes that implement wildcard signal 4909 callback matching using a tree lookup. Heavily modified from a 4910 patch sent by Celso Pinto (fd.o bug #3241) 4911 4912 * _dbus.py (add_signal_receiver, remove_signal_receiver, _signal_func): 4913 use new match classes to handle signals. 4914 4915 2005-05-19 John (J5) Palmieri <johnp (a] redhat.com> 4916 4917 * python/dbus_bindings.pyx.in: s/TYPE_PATH/TYPE_OBJECT_PATH 4918 4919 2005-05-18 Havoc Pennington <hp (a] redhat.com> 4920 4921 * configure.in: use GLIB_GNU_GETTEXT to get INTLLIBS and require 4922 gettext. Not really worth requiring yet perhaps, but any 4923 production quality 1.0 would require it so we should go ahead and 4924 get things set up. We do have a couple token calls to 4925 bindtextdomain in the code already. 4926 4927 2005-05-16 John (J5) Palmieri <johnp (a] redhat.com> 4928 4929 * glib/dbus-gmain.c (io_handler_dispatch): fix deadlock 4930 when using recursive g_main_loops 4931 4932 * python/_dbus.py (class Bus): add the ProxyObjectClass 4933 alias for ProxyObject to make it easier for the Twisted 4934 networking framework to integrate dbus. 4935 4936 * python/proxies.py (class ProxyObject): add the ProxyMethodClass 4937 alias for ProxyMethod to make it easier for the Twisted 4938 networking framework to integrate dbus. 4939 4940 2005-05-11 Ross Burton <ross (a] openedhand.com> 4941 4942 * glib/dbus-glib-tool.c: Add --prefix argument. 4943 * glib/dbus-binding-tool-glib.h: Add prefix argument. 4944 * glib/dbus-binding-tool-glib.c (compute_marshaller_name): 4945 Add prefix argument. 4946 (generate_glue): Pass prefix argument down. 4947 (dbus_binding_tool_output_glib_server): Pass prefix to 4948 glib-genmarshal. 4949 4950 2005-05-11 Colin Walters <walters (a] verbum.org> 4951 4952 * tools/dbus-send.c (append_array): New function. 4953 (append_arg): Broken out from main. 4954 (main): Add cheesy hack to send arrays and variants. 4955 (usage): Update. 4956 * tools/dbus-print-message.c (print_iter): Broken out 4957 from main. 4958 4959 2005-05-11 Colin Walters <walters (a] verbum.org> 4960 4961 * dbus/dbus-signature.c (dbus_signature_iter_get_signature): 4962 New function, returns signature string for signature iter. 4963 * dbus/dbus-signature.h: Prototype it. 4964 * dbus/dbus-message.c (dbus_message_iter_get_signature): 4965 New function, returns signature string for message iter. 4966 (dbus_message_iter_get_array_len): New function, returns 4967 length of array. 4968 (dbus_message_iter_get_fixed_array): Fix assertion; this 4969 function should be used when the iter is pointing to the 4970 contents of an array 4971 * dbus/dbus-message.h: Prototypes. 4972 * dbus/dbus-marshal-recursive.c (_dbus_type_reader_get_array_length): 4973 New function; returns length of an array. 4974 * dbus/dbus-marshal-recursive.h: Prototype it. 4975 4976 2005-05-11 Colin Walters <walters (a] verbum.org> 4977 4978 * dbus/dbus-sysdeps-util.c <!HAVE_POSIX_GETPWNAM_R>: Fix 4979 compilation error. 4980 4981 2005-05-08 Havoc Pennington <hp (a] redhat.com> 4982 4983 * dbus/dbus-sysdeps-util.c (_dbus_become_daemon): write the 4984 daemon's pid, not the parent's pid, to the file descriptor. 4985 Reported by Taj Morton. 4986 4987 2005-05-05 Havoc Pennington <hp (a] redhat.com> 4988 4989 * configure.in (LT_*): add notes on how the libtool versioning 4990 works to save thinking. Increment soname to indicate protocol 4991 breakage (though really the library interface hasn't changed I 4992 guess) 4993 4994 * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated): 4995 verify the GUID received from server matches what we were 4996 expecting, if we had an expectation 4997 4998 * dbus/dbus-auth.c (send_ok): send GUID along with the OK command 4999 (_dbus_auth_get_guid_from_server): new function 5000 (send_begin): parse the OK args 5001 5002 * doc/dbus-specification.xml: add GUID to the auth protocol 5003 5004 2005-05-05 John (J5) Palmieri <johnp (a] redhat.com> 5005 5006 * Fix my name in previous changelog ;) 5007 5008 * python/proxies.py (ProxyObject.__getattr__): add further patch 5009 from Anthony Baxter to throw an AttributeError when python 5010 __special__ functions are called instead of marshling them over 5011 the bus (Bug#1685 comment 3). 5012 5013 2005-05-04 John (J5) Palmieri <johnp (a] redhat.com> 5014 5015 * python/Makefile.am: changed to use pyexecdir for the binding 5016 shared libraries (Bug#2494) 5017 5018 * python/exceptions.py: bring exceptions over from the bindings 5019 so they can be used in applications (Bug#2036) 5020 Make all exceptions derive from DBusException 5021 5022 * python/_dbus.py, python/proxies.py: implement __repr__ in a couple 5023 of classes so that print obj doesn't throw an exception (Bug #1685) 5024 5025 2005-05-03 Ross Burton <ross (a] openedhand.com> 5026 5027 * glib/dbus-gobject.c (dbus_g_connection_register_g_object): 5028 Return if we get an error during registration. Set up a 5029 weak reference on object to unregister if object is destroyed. 5030 (unregister_gobject): New function. 5031 5032 2005-05-01 John (J5) Palmieri <johnp (a] redhat.com> 5033 5034 * python/dbus_bindings.pyx.in: 5035 - added new type classes for hinting to the marashaler what type 5036 to send over the wire 5037 - added int16 and uint16 marshalers 5038 - Fixed a bug in the type constants that caused int32 to go out 5039 as uint16 over the wire 5040 * python/dbus.py: split up into different files and renamed _dbus.py 5041 * python/__init__.py, python/_util.py, python/decorators.py, 5042 python/exceptions.py, python/proxies.py, python/services.py, 5043 python/types.py: new files split off from dbus.py 5044 * python/Makefile.am: Add new files, remove dbus.py and 5045 install all python files to <python module dir>/dbus 5046 * python/examples/*: Added #!/usr/bin/env python to the top of 5047 every example. Patch provided by Tatavarty Kalyan 5048 5049 2005-04-25 John (J5) Palmieri <johnp (a] redhat.com> 5050 5051 * NEWS: Update to 0.33 5052 5053 2005-04-25 John (J5) Palmieri <johnp (a] redhat.com> 5054 5055 * python/dbus_bindings.pyx.in (send_with_reply_handlers): New send 5056 method for doing async calls 5057 (_pending_call_notification): New C function for handling pendning call 5058 callbacks 5059 (set_notify): New method for setting pending call notification 5060 5061 * python/dbus.py: new version tuple "version" is set at (0, 40, 0) 5062 Async capabilities added to remote method calls 5063 (Sender): class removed 5064 (RemoteService): class removed 5065 (ObjectTree): class removed for now 5066 (RemoteObject): Renamed to ProxyObject 5067 (RemoteMethod): Renamed to ProxyMethod 5068 (method): Decorator added for decorating python methods as dbus methods 5069 (signal): Decorator added for decorating python methods as signal emitters 5070 (ObjectType): Metaclass added for generating introspection data and the 5071 method callback vtable 5072 (Interface): Wrapper class added to wrap objects in a dbus interface 5073 (Object): Uses ObjectType as its metaclass and exports Introspect 5074 of the org.freedesktop.DBus.Introspectable interface 5075 (ValidationException, UnknownMethodException): new exceptions 5076 5077 * python/examples/*: Modified to fit with the new bindings 5078 5079 2005-04-23 Havoc Pennington <hp (a] redhat.com> 5080 5081 * dbus/dbus-message.c (dbus_message_append_args): fix doc comment, 5082 reported by Tony Houghton 5083 5084 * test/test-service.c (main): test 5085 dbus_connection_get_object_path_data() 5086 5087 * dbus/dbus-object-tree.c (find_handler): be sure we always init 5088 the exact_match 5089 (_dbus_object_tree_get_user_data_unlocked): new function used by 5090 dbus_connection_get_object_path_data() 5091 (do_register): add assertion test for get_user_data_unlocked 5092 (object_tree_test_iteration): more tests 5093 5094 * dbus/dbus-connection.c (dbus_connection_get_object_path_data): 5095 new function from Dan Reed to let you get the user data from 5096 dbus_connection_register_object_path() 5097 5098 2005-04-23 John (J5) Palmieri <johnp (a] redhat.com> 5099 5100 * dbus/dbus-marshal-recursive-util.c: Fixed buffer overflow 5101 in numerous places that did not account for the NULL terminator 5102 (signature_from_seed): changed the manual string copy loop to 5103 just use strcpy instead 5104 make check should now pass 5105 5106 2005-04-19 John (J5) Palmieri <johnp (a] redhat.com> 5107 5108 * dbus/dbus-marshal-header.c (_dbus_header_create): Fix assert 5109 so that it allows messages that are not signals to pass in 5110 NULL as the interface. 5111 5112 2005-04-18 David Zeuthen <davidz (a] redhat.com> 5113 5114 * glib/dbus-gmain.c (io_handler_destroy_source): 5115 (timeout_handler_destroy_source, connection_setup_free): 5116 Also unref the source to avoid memory leaks. 5117 5118 2005-04-13 David Zeuthen <davidz (a] redhat.com> 5119 5120 * bus/config-parser.c (bus_config_parser_new): Bump this to a 5121 more reasonable, yet still totally arbitrary, value :-). 5122 5123 2005-04-13 David Zeuthen <davidz (a] redhat.com> 5124 5125 * doc/TODO: Added an "important for 1.0" item about selinux 5126 allow/deny messages 5127 5128 2005-04-13 David Zeuthen <davidz (a] redhat.com> 5129 5130 * bus/selinux.c: Add c-file-style to top of file 5131 (log_audit_callback): Don't free the data here anymore 5132 (bus_selinux_check): Don't take spid and tpid since appending 5133 that to auxdata may OOM. 5134 (bus_selinux_allows_acquire_service): Handle OOM and signal back 5135 to the caller if we are OOM by taking an error object. 5136 (bus_selinux_allows_send): -do- 5137 5138 * bus/selinux.h: Fix prototypes for bus_selinux_allows_acquire_service 5139 and bus_selinux_allows_send 5140 5141 * bus/bus.c (bus_context_check_security_policy): Pass error and 5142 pass on OOM thrown by bus_selinux_allows_send() 5143 5144 * bus/services.c (bus_registry_acquire_service): Pass error and 5145 pass on OOM thrown by bus_selinux_allows_acquire_service() 5146 5147 2005-04-13 Havoc Pennington <hp (a] redhat.com> 5148 5149 * glib/dbus-gmain.c (message_queue_dispatch): only dispatch one 5150 message at a time to avoid monopolizing the main loop, bug 5151 #2953 from Benjamin Otte 5152 5153 2005-04-09 Havoc Pennington <hp (a] redhat.com> 5154 5155 * dbus/dbus-string.c (copy): change a memcpy to memmove due to 5156 possible overlap, fix from Daniel Reed 5157 (fixup_alignment): fix signedness warnings 5158 (_dbus_string_append_unichar): ditto 5159 5160 2005-04-09 Havoc Pennington <hp (a] redhat.com> 5161 5162 * dbus/dbus-message-util.c (_dbus_message_test): fix signedness warning 5163 5164 * glib/dbus-glib-tool.c (main): fix warning 5165 5166 * glib/dbus-binding-tool-glib.c (generate_glue): fix warning 5167 5168 * dbus/dbus-connection.c (dbus_connection_read_write_dispatch): 5169 add a new function that can be used in simple applications that 5170 don't have a main loop and are willing to block 5171 5172 2005-04-05 David Zeuthen <davidz (a] redhat.com> 5173 5174 Fix https://bugs.freedesktop.org/show_bug.cgi?id=2889 5175 5176 * glib/dbus-gmain.c: 5177 (io_handler_destroy_source): Remove from list of IO handlers 5178 of the ConnectionSetup object 5179 (timeout_handler_destroy_source): -do- for timeout handlers 5180 (io_handler_source_finalized): Don't remove from list since 5181 we now do that in io_handler_destroy_source(). Renamed from 5182 io_handler_source_destroyed 5183 (timeout_handler_source_destroyed): -do- for timeout handlers 5184 (connection_setup_free): It is now safe to iterate over all 5185 IO and timeout handlers as the _destroy_source removes them 5186 from the list synchronously 5187 5188 2005-03-30 Havoc Pennington <hp (a] redhat.com> 5189 5190 * configure.in: change check to gtk 2.4 5191 5192 * tools/dbus-viewer.c (name_combo_changed_callback): remove 5193 gtk_combo_box_get_active_text() usage to decrement GTK requirement 5194 to 2.4 5195 5196 2005-03-29 John (J5) Palmieri <johnp (a] redhat.com> 5197 5198 * News: Update 0.32 5199 5200 * HACKING: Fixed realease instructions. configure.in should be updated to 5201 the next release by the person who made the last release. 5202 5203 2005-03-29 John (J5) Palmieri <johnp (a] redhat.com> 5204 5205 * python/lvalue_cast_post_process.py - removed. Patch has been 5206 submitted to Pyrex maintainers that fixes gcc4.0 errors 5207 5208 * python/Makefile.am: removed refrences to lvalue_cast_post_process.py 5209 5210 2005-03-24 Daniel Reed <n (a] ml.org> 5211 5212 * tools/Makefile.am: Make print-introspect and 5213 dbus-bus-introspect.xml building conditional on HAVE_GLIB. 5214 5215 2005-03-22 John (J5) Palmieri <johnp (a] redhat.com> 5216 5217 * tools/Makefile.am: Patch by Colin Walters that fixes distcheck 5218 5219 * dbus/dbus-userdb.c, dbus/dbus-userdb-util.c: Add patch we have 5220 had in Red Hat packages for a while but for some reason never 5221 got merged upstream 5222 (_dbus_is_a_number): New checks if a string 5223 can be converted to a number and does the conversion if it can 5224 (_dbus_user_database_lookup): Add check to see if the given username 5225 is a udi. This allows udi's to be used instead of usernames in the 5226 config file. 5227 (_dbus_user_database_lookup_group): Add check to see if the given groupname 5228 is a gdi. This allows gdi's to be used instead of groupnames in the 5229 config file. 5230 5231 2005-03-21 John (J5) Palmieri <johnp (a] redhat.com> 5232 5233 * python/lvalue_cast_post_process.py - added post processor to fix Pyrex 5234 code so that it compiles with gcc4.0 5235 5236 * python/Makefile.am: Added lvalue_cast_post_process.py to EXTRA_DIST 5237 run dbus_bindings.c through lvalue_cast_post_process.py and copy the 5238 results back to dbus_binding.c 5239 5240 2005-03-20 Colin Walters <walters (a] verbum.org> 5241 5242 Patch suggested by Inguva Rajasekhar <ringuva (a] novell.com>. 5243 5244 * configure.in: Require GTK+ 2.6. 5245 5246 2005-03-20 Colin Walters <walters (a] verbum.org> 5247 5248 * Makefile.am (SUBDIRS, DIST_SUBDIRS): Build tools before test. 5249 5250 2005-03-17 Tom Parker <palfrey (a] tevp.net> 5251 5252 * dbus/dbus-userdb.c (_dbus_user_database_lookup): Don't 5253 print DBUS_UID_UNSET; instead print passed username. Also 5254 be sure to actually use gid looked up in cache. 5255 5256 * dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): Ditto 5257 for DBUS_GID_UNSET and groupname. 5258 5259 2005-03-17 Colin Walters <walters (a] verbum.org> 5260 5261 * bus/print-introspect.c: Move to tools/. 5262 * bus/run-with-tmp-session-bus.sh: Ditto. 5263 5264 * glib/Makefile.am (dbus-glib-bindings.h): Move 5265 generation to tools/Makefile.am. 5266 5267 * test/glib/run-test.sh: Update to handle move 5268 of run-with-tmp-session-bus.sh. 5269 5270 * test/glib/test-service-glib.c: Update to handle 5271 move of dbus-glib-bindings.h. 5272 5273 * tools/print-introspect.c: Moved here 5274 from bus/, and ported to GLib bindings. 5275 5276 * tools/run-with-tmp-session-bus.sh: Moved here 5277 from bus/. 5278 5279 * tools/Makefile.am: Generate dbus-glib-bindings.h 5280 and dbus-bus-introspect.xml here. 5281 5282 * tools/.cvsignore, glib/.cvsignore, bus/.cvsignore: 5283 Update. 5284 5285 2005-03-17 Colin Walters <walters (a] verbum.org> 5286 5287 * bus/driver.c (write_args_for_direction): Use 5288 _dbus_string_get_const_data to retrieve string; 5289 _dbus_string_get_const_data_len doesn't actually return 5290 a NULL-terminated substring. 5291 5292 * test/glib/test-service-glib.c: Include dbus-glib-bindings.h. 5293 (main): Change to use org_freedesktop_DBus_request_name 5294 instead of using g_proxy_begin_call/end_call. 5295 5296 2005-03-15 Joe Shaw <joeshaw (a] novell.com> 5297 5298 * mono/ProxyBuilder.cs (BuildFinalizer): Fix some invalid IL when 5299 generating the finalizer. Fixes from Ben Maurer. 5300 5301 2005-03-12 Joe Shaw <joeshaw (a] novell.com> 5302 5303 * mono/BusDriver.cs: Update method names: ListServices 5304 becomes ListNames; GetOwner becomes GetNameOwner. 5305 5306 * mono/ProxyBuilder.cs (BuildFinalizer): Need to load arg 0 5307 onto the eval stack when removing the delegate. 5308 5309 2005-03-12 Joe Shaw <joeshaw (a] novell.com> 5310 5311 * mono/dbus-sharp.dll.config.in: Don't hardcode 0 for 5312 LT_CURRENT. Set it to the autoconf variable. 5313 5314 * mono/ProxyBuilder.cs: Add a finalizer to the generated proxy 5315 classes that disconnects the signal handler delegate from the 5316 service object. Fixes a big leak of proxy objects on the 5317 client side of things. Patch from Ben Maurer 5318 <bmaurer (a] ximian.com> 5319 5320 2005-03-12 Colin Walters <walters (a] verbum.org> 5321 5322 * bus/driver.c (write_args_for_direction): New function, 5323 parses a type signature into arguments and outputs to 5324 XML. 5325 (bus_driver_handle_introspect): Use it instead of 5326 hardcoding XML for certain signatures. 5327 5328 * bus/Makefile.am (dbus-bus-introspect.xml): Add 5329 dependency on dbus-daemon. 5330 5331 * glib/dbus-glib-tool.c (main): Parse ignore_unsupported 5332 argument, pass it to dbus_binding_tool_output_glib_client. 5333 5334 * glib/dbus-binding-tool-glib.c 5335 (generate_client_glue): Protect against multiple inclusion. 5336 (dbus_binding_tool_output_glib_client): Add 5337 G_BEGIN_DECLS/G_END_DECLS. 5338 5339 * glib/dbus-binding-tool-glib.c (compute_client_method_name): 5340 Change to just take iface prefix directly. 5341 (write_formal_parameters): Clarify error message. 5342 (check_supported_parameters): New function; checks to see type 5343 signatures of method parameters are supported. 5344 (generate_client_glue): Handle ignore_unsupported flag. 5345 (dbus_binding_tool_output_glib_client): Handle ignore_unsupported 5346 parameter. 5347 5348 * glib/Makefile.am (dbus-glib-bindings.h): Pass 5349 --ignore-unsupported by default until glib bindings 5350 support arrays. 5351 5352 2005-03-11 Colin Walters <walters (a] verbum.org> 5353 5354 * glib/Makefile.am: Generate dbus-glib-bindings.h and 5355 install it. 5356 5357 * bus/print-introspect.c: New file; prints introspection 5358 data for a given name and object path. 5359 5360 * bus/run-with-tmp-session-bus.sh: New file, refactored 5361 from test/glib/run-test.sh. Creates a temporary session 5362 bus and runs another program. 5363 5364 * test/glib/run-test.sh: Refactor to invoke 5365 run-with-tmp-session-bus.sh. 5366 5367 * bus/driver.c (bus_driver_handle_introspect): Fix to print new 5368 introspection format. Also change to use DBUS_TYPE_x_AS_STRING 5369 macros instead of hardcoding. 5370 5371 * glib/.cvsignore, bus/.cvsignore, test/glib/.cvsignore: Update. 5372 5373 2005-03-11 Joe Shaw <joeshaw (a] novell.com> 5374 5375 * dbus/dbus-connection.c (dbus_connection_send_with_reply): Remove 5376 this unref; it doesn't match up evenly in some codepaths. 5377 (_dbus_connection_block_pending_call): Unref at every exitpoint; 5378 this evenly matches with the ref near the top of this function. 5379 5380 2005-03-09 Joe Shaw <joeshaw (a] novell.com> 5381 5382 * dbus/dbus-object-tree.c 5383 (_dbus_object_tree_unregister_and_unlock): If checks are enabled 5384 and we try to unregister a path that's not registered, still go 5385 through the process of unlocking and don't just return. 5386 5387 2005-03-09 Colin Walters <walters (a] verbum.org> 5388 5389 * glib/dbus-gproxy.c (dbus_g_proxy_invoke): New method; calls 5390 to this are generated for client-side wrappers. Invokes a 5391 D-BUS method and returns reply values. 5392 5393 * glib/dbus-binding-tool-glib.c (write_args_sig_for_direction): New 5394 function; writes signature string for argument direction. 5395 (write_args_for_direction): Change to pass input values directly 5396 instead of via address, and fix indentation. 5397 (generate_client_glue): Change to invoke dbus_g_proxy_invoke. Also 5398 make generated wrappers inlineable. 5399 5400 * dbus/dbus-message.c (dbus_message_iter_get_fixed_array): Add 5401 note about using dbus_type_is_fixed. 5402 5403 * dbus/dbus-marshal-basic.c (_dbus_type_is_fixed): Moved to 5404 dbus/dbus-signature.c as dbus_type_is_fixed. 5405 5406 All callers updated. 5407 5408 * dbus/dbus-signature.c (dbus_type_is_fixed): Moved here 5409 from dbus/dbus-marshal-basic.c:_dbus_type_is_fixed. 5410 5411 * dbus/dbus-signature.h: Prototype. 5412 5413 * glib/dbus-binding-tool-glib.c (compute_marshaller_name): Fix 5414 error printf code. 5415 5416 * test/glib/test-dbus-glib.c (main): Be sure to clear error as 5417 appropriate instead of just freeing it. 5418 (main): Free returned strings using g_free. 5419 5420 * test/glib/Makefile.am (test-service-glib-glue.h) 5421 (test-service-glib-bindings.h): Add dependency on dbus-binding-tool. 5422 5423 * glib/dbus-gvalue.c (MAP_BASIC): Refactored from MAP_BASIC_INIT; 5424 simply maps a simple D-BUS type to GType. 5425 (dbus_dbus_type_to_gtype): Function which maps D-BUS type to 5426 GType. 5427 (dbus_gvalue_init): Just invoke dbus_dbus_type_to_gtype and 5428 initialize the value with it. 5429 (dbus_gvalue_binding_type_from_type): Unused, delete. 5430 (dbus_gvalue_demarshal): Switch to hardcoding demarshalling for 5431 various types instead of unmarshalling to value data directly. 5432 Remove can_convert boolean. 5433 (dbus_gvalue_marshal): Remove duplicate initialization; switch to 5434 returning directly instead of using can_convert boolean. 5435 (dbus_gvalue_store): New function; not related to D-BUS per-se. 5436 Stores a GValue in a pointer to a value of its corresponding C 5437 type. 5438 5439 * glib/dbus-gvalue.h: Remove dbus_gvalue_binding_type_from_type, 5440 add dbus_gvalue_store. 5441 5442 2005-03-08 Joe Shaw <joeshaw (a] novell.com> 5443 5444 Fix a bunch of lifecycle and memory management problems 5445 in the mono bindings. 5446 5447 * mono/Arguments.cs (Arguments): Implement IDisposable 5448 5449 * mono/Bus.cs (Bus): Don't allow public instantiation. This is 5450 strictly a static class. 5451 5452 * mono/Connection.cs: Move the DBusObjectPathVTable and associated 5453 delegates into this file. 5454 (Connection): Implement IDisposable. 5455 (Dispose): Disconnect the connection and set the raw connection 5456 pointer to IntPtr.Zero. 5457 (~Connection): Call Dispose(). 5458 (RegisterObjectPath): Added. Manages the registration of object 5459 paths so we can cleanly disconnect them at dispose/finalize time. 5460 (UnregisterObjectPath): Ditto. 5461 (set_RawConnection): Unregister all of the object paths when 5462 changing the underlying DBusConnection. Add them back onto the 5463 new connection, if any. 5464 5465 * mono/Handler.cs: Don't implement IDisposable; it doesn't use any 5466 more unmanaged resources anymore, so it's not necessary. Move all 5467 the DBusObjectPathVTable stuff out of here. 5468 (Handler): Save references to our delegates so that they don't get 5469 finalized. Call Connection.RegisterObjectPath() instead of 5470 dbus_connection_register_object_path() directly. 5471 (Message_Called): Dispose the message after we're finished with 5472 it. 5473 5474 * mono/Message.cs (Message): Implement IDisposable. 5475 (Dispose): Dispose the Arguments, and set the RawMessage to 5476 IntPtr.Zero. 5477 (SendWithReplyAndBlock): We own the ref to the reply that comes 5478 back from dbus_connection_send_with_reply_and_block() so add a 5479 comment about that and unref it after we've constructed a managed 5480 MethodReturn class around it. Fixes a big, big leak. 5481 5482 * mono/ProxyBuilder.cs: Reflect into Message to get the Dispose 5483 method. 5484 (BuildSignalHandler): After we've sent the Signal message, dispose 5485 of it. 5486 (BuildMethod): Dispose of the method call and reply messages after 5487 we've sent the message and extracted the data we want from the 5488 reply. 5489 5490 * mono/Service.cs (UnregisterObject): Don't call handler.Dispose() 5491 anymore. 5492 (Service_FilterCalled): Dispose of the message after we're 5493 finished with it. 5494 5495 2005-03-08 Joe Shaw <joeshaw (a] novell.com> 5496 5497 * dbus/dbus-connection.c (dbus_connection_send_with_reply): 5498 After we attach our pending call to the connection, unref 5499 it. Fixes a leak. 5500 5501 * mono/Connection.cs (set_RawConnection): Disconnect our 5502 filter and match callbacks from the old connection and 5503 reconnect them to the new connection, if any. 5504 5505 * mono/DBusType/Array.cs: "Code" is a static member, so 5506 don't use "this" to refer to it. Fix for stricter checking 5507 in Mono 1.1.4. 5508 5509 * mono/DBusType/ObjectPath.cs (Append): Don't leak the 5510 object path that we pass into unmanaged code. 5511 5512 * mono/DBusType/String.cs (Append): Don't leak the string 5513 that we pass into unmanged code. 5514 5515 2005-03-07 John (J5) Palmieri <johnp (a] redhat.com> 5516 * NEWS: Update for 0.31 5517 5518 * configure.in: Release 0.31 5519 add LT_CURRENT, LT_REVISION, LT_AGE for easy soname bumping 5520 5521 * qt/Makefile.am: fixed build 5522 5523 * dbus/Makefile.am: soname bump for libdbus 5524 5525 * glib/Makefile.am: soname bump for libdbus-glib 5526 5527 2005-03-05 Havoc Pennington <hp (a] redhat.com> 5528 5529 * dbus/dbus-sysdeps.c: 5530 (pseudorandom_generate_random_bytes_buffer): fix to have no return 5531 value 5532 (_dbus_generate_random_bytes_buffer): fix return value 5533 5534 * dbus/dbus-sysdeps-util.c: s/GETPWNAME/GETPWNAM/ so configure 5535 checks actually work, from Tom Parker <fdo (a] tevp.net> 5536 5537 2005-03-01 Colin Walters <walters (a] verbum.org> 5538 5539 * test/glib/test-dbus-glib.c (lose, lose_gerror): Utility 5540 functions copied from dbus-glib-tool.c. 5541 (main): Convert lots of error code to use them. 5542 Also add some testing for introspection bits. 5543 5544 2005-03-01 Colin Walters <walters (a] verbum.org> 5545 5546 * doc/TODO: Remove introspection signature TODO. 5547 5548 2005-02-27 Colin Walters <walters (a] verbum.org> 5549 5550 * glib/dbus-gidl.c (property_info_get_type, arg_info_get_type): 5551 Change return value to const char * instead of int so we can do 5552 full signatures. 5553 (struct PropertyInfo, struct ArgInfo): Store char *. 5554 (property_info_new, arg_info_new): Update parameters, strdup. 5555 (property_info_unref, arg_info_unref): Free. 5556 5557 * glib/dbus-gidl.h: Update prototypes. 5558 5559 * glib/dbus-gparser.c (basic_type_from_string): Delete. 5560 (validate_signature): New function, just validates signature and 5561 sets GError. 5562 (parse_property, parse_arg): Invoke validate_signature. Store 5563 signature instead of just type code. 5564 5565 * glib/dbus-gvalue.c (base_type_from_signature): New utility 5566 function to return a primary type for a signature, dropping 5567 information about types in container types. 5568 (dbus_gvalue_genmarshal_name_from_type) 5569 (dbus_gvalue_binding_type_from_type) 5570 (dbus_gvalue_ctype_from_type): Update to take full signature 5571 instead of type code. 5572 (dbus_gtype_to_dbus_type): Moved here from glib/dbus-gobject.c. 5573 5574 * glib/dbus-gvalue.h: Update prototypes for above. 5575 5576 * glib/dbus-gobject.c (gtype_to_dbus_type): Moved to 5577 glib/dbus-gvalue.c as dbus_gtype_to_dbus_type. 5578 (introspect_properties, introspect_signals, write_interface): 5579 Update to handle signatures, and remove usage of 5580 _dbus_gutils_type_to_string. 5581 (handle_introspect): Print out type codes instead of e.g. "string" 5582 in hardcoded introspection XML; also use x_AS_STRING constants 5583 instead of hardcoding in string. 5584 5585 * glib/dbus-glib-tool.c (pretty_print): Handle signature change 5586 to string. Remove usage of _dbus_gutils_type_to_string. 5587 5588 * glib/dbus-gutils.c (_dbus_gutils_type_to_string): Delete. 5589 5590 * glib/dbus-gutils.h (_dbus_gutils_type_to_string): Update for 5591 deletion. 5592 5593 * glib/dbus-binding-tool-glib.c (compute_marshaller) 5594 (compute_marshaller_name, generate_glue): Handle signature change 5595 to string. 5596 (write_formal_parameters, write_args_for_direction): Ditto, and 5597 remove FIXME. 5598 5599 * tools/dbus-tree-view.c (type_to_string): Delete. 5600 (info_set_func_text): Update to print full signatures. 5601 5602 * test/glib/test-service-glib.xml: Change types to new 5603 introspection format. 5604 5605 2005-02-26 Havoc Pennington <hp (a] redhat.com> 5606 5607 * doc/TODO: remove the "guid" item 5608 5609 * test/glib/test-profile.c (no_bus_thread_func): use open_private 5610 (with_bus_thread_func): use open_private 5611 5612 * dbus/dbus-connection.c (dbus_connection_open_private): new 5613 function that works like the old dbus_connection_open() 5614 (dbus_connection_open): now returns an existing connection if 5615 possible 5616 5617 * dbus/dbus-server-unix.c (handle_new_client_fd_and_unlock): pass 5618 through the GUID to the transport 5619 5620 * dbus/dbus-server.c (_dbus_server_init_base): keep around the 5621 GUID in hex-encoded form. 5622 5623 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new): 5624 pass GUID argument in to the transport 5625 5626 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): add 5627 guid argument 5628 5629 * dbus/dbus-transport.c (_dbus_transport_init_base): add guid argument 5630 5631 * dbus/dbus-auth.c (_dbus_auth_server_new): add guid argument 5632 5633 2005-02-25 Havoc Pennington <hp (a] redhat.com> 5634 5635 * doc/dbus-specification.xml: document the GUID thing 5636 5637 * dbus/dbus-server.c (_dbus_server_init_base): initialize a 5638 globally unique ID for the server, and put a "guid=hexencoded" 5639 field in the address 5640 5641 * dbus/dbus-bus.c: fix missing #include of dbus-threads-internal.h 5642 5643 * dbus/dbus-message.c: ditto 5644 5645 * dbus/dbus-dataslot.c: ditto 5646 5647 * dbus/dbus-list.c: ditto 5648 5649 * dbus/dbus-internals.h: wait, just include 5650 dbus-threads-internal.h here 5651 5652 * dbus/dbus-string.c (_dbus_string_copy_to_buffer): move back for 5653 use in main library 5654 5655 * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes_buffer): new function 5656 5657 2005-02-24 Colin Walters <walters (a] verbum.org> 5658 5659 * test/glib/Makefile.am (EXTRA_DIST): Add test-service-glib.xml 5660 5661 2005-02-24 John (J5) Palmieir <johnp (a] redhat.com> 5662 5663 * glib/Makefile.am: added dbus-gobject.h to sources list 5664 so distcheck doesn't fail 5665 5666 2005-02-24 Havoc Pennington <hp (a] redhat.com> 5667 5668 * dbus/dbus-server.c, dbus/dbus-server-unix.c: change semantics so 5669 you must disconnect before unref, since locking and other things 5670 are screwed up otherwise. Fix assorted other locking stuff. 5671 5672 * dbus/dbus-signature.c (dbus_signature_iter_get_element_type): 5673 fix compilation 5674 5675 * dbus/dbus-threads-internal.h: move the mutex/condvar wrappers 5676 into a private header and don't export from the library 5677 5678 * throughout - call _dbus_thread_stuff vs. dbus_thread_stuff 5679 5680 2005-02-24 Colin Walters <walters (a] verbum.org> 5681 5682 * dbus/dbus-signature.c: New file; implements various functions 5683 related to type signatures. Includes an interator for parsing, 5684 validation functions. 5685 (dbus_type_is_basic): Moved here from 5686 dbus-marshal-basic.c:_dbus_type_is_basic. 5687 (dbus_type_is_container): Moved here from 5688 dbus-marshal-basic.c:_dbus_type_is_container. 5689 5690 All callers of _dbus_type_is_container and _dbus_type_is_basic 5691 updated, and include dbus-signature.h. 5692 5693 * dbus/dbus-signature.h: New file; prototypes for the above. 5694 5695 * dbus/Makefile.am (DBUS_LIB_SOURCES): Add dbus-signature.c, 5696 dbus-signature.h. 5697 5698 * dbus/dbus-marshal-basic.c (map_type_char_to_type): New utility 5699 function factored out of _dbus_first_type_in_signature. 5700 (_dbus_first_type_in_signature_c_str): New function; returns first 5701 type code for a type signature character. 5702 5703 * dbus/dbus-marshal-basic.h: Prototype _dbus_first_type_in_signature_c_str, 5704 handle function moves. 5705 5706 * dbus/dbus-marshal-recursive.h: Export _dbus_type_signature_next. 5707 5708 * dbus/dbus-marshal-recursive.c (_dbus_type_signature_next): New 5709 function; skips to next complete type in type signature. 5710 Implemented using previous skip_one_complete_type. Now 5711 skip_one_complete_type just delegates to 5712 _dbus_type_signature_next. 5713 5714 * dbus/dbus-marshal-basic.c (_dbus_type_is_basic): Moved 5715 to dbus-signature.c 5716 (_dbus_type_is_container): Ditto. 5717 5718 * doc/dbus-specification.xml: Update introspection sample to 5719 use real type signatures. 5720 5721 * dbus/dbus-test.h: Prototype signature test. 5722 5723 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Run 5724 signature tests. 5725 5726 * dbus/dbus-protocol.h (DBUS_ERROR_INVALID_SIGNATURE): New error. 5727 5728 2005-02-23 John (J5) Palmieri <johnp (a] redhat.com> 5729 5730 * python/dbus_bindings.pyx.in (PendingCall::get_reply): 5731 s/dbus_pending_call_get_reply/dbus_pending_call_steal_reply 5732 5733 2005-02-21 Colin Walters <walters (a] verbum.org> 5734 5735 * dbus/dbus-test-main.c (main): Take optional specific test 5736 argument. 5737 5738 * dbus/dbus-test.c (run_test): New function, runs a test function 5739 with no data directory. 5740 (run_data_test): Like above, but takes data directory. 5741 (dbus_internal_do_not_use_run_tests): Take 5742 specific test argument. Replace lots of cut n' paste code 5743 with run_test and run_data_test. 5744 5745 * dbus/dbus-test.h: Update prototype for 5746 dbus_internal_do_not_use_run_tests. 5747 5748 2005-02-20 Havoc Pennington <hp (a] redhat.com> 5749 5750 Fix bugs reported by Daniel P. Berrange 5751 5752 * dbus/dbus-server.c (_dbus_server_unref_unlocked): new function 5753 (protected_change_watch): new function 5754 (_dbus_server_toggle_watch, _dbus_server_remove_watch) 5755 (_dbus_server_add_watch): change to work like the 5756 dbus-connection.c equivalents; like those, probably kind of 5757 busted, but should at least mostly work for now 5758 (dbus_server_disconnect): drop the lock if we were already 5759 disconnected, patch from Daniel P. Berrange 5760 5761 * dbus/dbus-server.c (_dbus_server_toggle_timeout) 5762 (_dbus_server_remove_timeout, _dbus_server_add_timeout): all the 5763 same stuff 5764 5765 * doc/TODO: todo about unscrewing this mess 5766 5767 2005-02-19 Colin Walters <walters (a] verbum.org> 5768 5769 * glib/dbus-binding-tool-glib.c 5770 (dbus_binding_tool_output_glib_server): Fix iochannel refcounting. 5771 5772 * glib/dbus-glib-tool.c: Include dbus-glib-tool.h, as well 5773 as errno.h and sys/stat.h. 5774 (lose): New function, prints error with 5775 newline and exits. 5776 (lose_gerror): Similar, but takes GError for message. 5777 (main): Add --output argument to specify output file to write to, 5778 instead of always printing to stdout. In this mode, determine 5779 timestamps on source files to see whether any are newer than the 5780 target file. If not, exit. Also convert a number of error 5781 messages to use lose (since it's shorter), and switch to using 5782 g_io_channel_shutdown. 5783 5784 2005-02-19 Havoc Pennington <hp (a] redhat.com> 5785 5786 * glib/dbus-gobject.c 5787 (_dbus_glib_marshal_dbus_message_to_gvalue_array): add docs 5788 5789 * glib/dbus-glib.c: fix doxygen warnings 5790 5791 * glib/dbus-gparser.c (parse_annotation): error if an annotation 5792 is found on an <arg> 5793 5794 2005-02-17 Colin Walters <walters (a] verbum.org> 5795 5796 * glib/dbus-gobject.h: Don't export 5797 _dbus_glib_marshal_dbus_message_to_gvalue_array. 5798 5799 * glib/dbus-gobject.c (_dbus_glib_marshal_dbus_message_to_gvalue_array): Do rename. 5800 (invoke_object_method): Handle it. 5801 5802 * glib/dbus-gproxy.c (marshal_dbus_message_to_g_marshaller): 5803 Handle rename. 5804 5805 2005-02-17 Colin Walters <walters (a] verbum.org> 5806 5807 * bus/.cvsignore, doc/.cvsignore 5808 * test/data/valid-service-files/.cvsignore, test/glib/.cvsignore: 5809 Update. 5810 5811 2005-02-17 Colin Walters <walters (a] verbum.org> 5812 5813 * dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_DBUS): 5814 Rename to DBUS_SERVICE_DBUS. 5815 (DBUS_PATH_ORG_FREEDESKTOP_DBUS): Rename to DBUS_PATH_DBUS. 5816 (DBUS_PATH_ORG_FREEDESKTOP_LOCAL): Rename to DBUS_PATH_LOCAL. 5817 Change the value from "org.freedesktop.Local" 5818 to "org.freedesktop.DBus.Local". 5819 (DBUS_INTERFACE_ORG_FREEDESKTOP_DBUS): Rename to DBUS_INTERFACE_DBUS. 5820 (DBUS_INTERFACE_ORG_FREEDESKTOP_INTROSPECTABLE): Rename to 5821 DBUS_INTERFACE_INTROSPECTABLE. 5822 Change the value from "org.freedesktop.Introspectable" 5823 to "org.freedesktop.DBus.Introspectable". 5824 (DBUS_INTERFACE_ORG_FREEDESKTOP_PROPERTIES): Rename to 5825 DBUS_INTERFACE_PROPERTIES. 5826 Change the value from "org.freedesktop.Properties" 5827 to "org.freedesktop.DBus.Properties". 5828 (DBUS_INTERFACE_ORG_FREEDESKTOP_PEER): Rename to 5829 DBUS_INTERFACE_PEER. 5830 Change the value from "org.freedesktop.Peer" 5831 to "org.freedesktop.DBus.Peer". 5832 (DBUS_INTERFACE_ORG_FREEDESKTOP_LOCAL): 5833 DBUS_INTERFACE_LOCAL. 5834 Change the value from "org.freedesktop.Local" 5835 to "org.freedesktop.DBus.Local". 5836 5837 All other users of those constants have been changed. 5838 5839 * bus/driver.c (bus_driver_handle_introspect): Use constants. 5840 5841 * glib/dbus-gobject.c (handle_introspect): Use constants. 5842 5843 * doc/dbus-faq.xml, doc/dbus-specification.xml: Update for rename. 5844 5845 2005-02-17 Colin Walters <walters (a] verbum.org> 5846 5847 * glib/dbus-gparser.c (struct Parser): Add in_annotation boolean. 5848 (parse_node, parse_interface, parse_method, parse_signal) 5849 (parse_property, parse_annotation): Lose if we're currently in an 5850 annotation. 5851 (parse_annotation): New function. 5852 (parser_start_element, parser_end_element): Handle annotation. 5853 (parse_method, parse_interface): Remove support for c_name attribute, 5854 switch to annotations. 5855 5856 * glib/dbus-gidl.h (interface_info_get_binding_names) 5857 (method_info_get_binding_names) 5858 (interface_info_get_binding_name, method_info_get_binding_name) 5859 (interface_info_set_binding_name, method_info_set_binding_name): 5860 Remove. 5861 (interface_info_get_annotations, method_info_get_annotations) 5862 (interface_info_get_annotation, method_info_get_annotation) 5863 (interface_info_add_annotation, method_info_add_annotation): 5864 Prototype. 5865 5866 * glib/dbus-gidl.c (struct InterfaceInfo): Substitute "annotations" 5867 for "bindings". 5868 (struct MethodInfo): Ditto. 5869 Straightfoward conversion of binding methods into annotation methods 5870 as prototyped. 5871 5872 * glib/dbus-glib-tool.c (pretty_print): Print annotations. 5873 5874 * glib/dbus-binding-tool-glib.h (DBUS_GLIB_ANNOTATION_C_SYMBOL): Define. 5875 5876 * glib/dbus-binding-tool-glib.c (gather_marshallers, generate_glue): 5877 Use new annotation API. 5878 5879 * doc/introspect.dtd: Fix a number of DTD syntax errors. Add 5880 annotation element. 5881 5882 * doc/dbus-specification.xml: Discuss introspection annotations, 5883 include list of well-known annotations. 5884 5885 * test/glib/test-service-glib.xml: Make validate against new DTD. 5886 5887 2005-02-17 Colin Walters <walters (a] verbum.org> 5888 5889 This patch is based on initial work from 5890 Paul Kuliniewicz <kuliniew (a] purdue.edu>. 5891 5892 * glib/dbus-gvalue.c (dbus_gvalue_init): New function; move 5893 initialization of GValue from dbus type to here. 5894 (dbus_gvalue_genmarshal_name_from_type): New function; generates a string 5895 for the "glib-genmarshal" program from a DBus type. 5896 (dbus_gvalue_binding_type_from_type): New function; turns a DBus type 5897 into the C name for it we use in the glib bindings. 5898 (dbus_gvalue_ctype_from_type): New function; maps a DBus type into a 5899 glib C type (not GValue). 5900 (dbus_gvalue_demarshal): invoke dbus_gvalue_init. 5901 5902 * glib/dbus-gutils.c (_dbus_gutils_wincaps_to_uscore): Moved here 5903 from dbus-gobject.c. 5904 5905 * glib/dbus-gutils.h: Prototype it. 5906 5907 * glib/dbus-gproxy.c: Include new dbus-gobject.h. 5908 (marshal_dbus_message_to_g_marshaller): Use new shared function 5909 dbus_glib_marshal_dbus_message_to_gvalue_array. 5910 5911 * glib/dbus-gparser.c (parse_interface, parse_method): Handle c_name attribute. 5912 Will be changed once we have annotations. 5913 5914 * glib/dbus-gobject.c: Change info_hash_mutex from GStaticMutex to 5915 GStaticRWLock. Callers updated. 5916 (wincaps_to_uscore): Move to dbus-gutils.c. Callers updated. 5917 (string_table_next): New function for iterating over zero-terminated 5918 string value array. 5919 (string_table_lookup): New function; retrieves specific entry in 5920 array. 5921 (get_method_data): New function; look up method data in object data chunk. 5922 (object_error_domain_prefix_from_object_info) 5923 (object_error_code_from_object_info): New functions, but not implemented yet. 5924 (method_interface_from_object_info): New function; retrieve interface name. 5925 (method_name_from_object_info): New function; retrieve method name. 5926 (method_arg_info_from_object_info): New function; retrieve argument data. 5927 (arg_iterate): New function; iterates over serialized argument data. 5928 (method_dir_signature_from_object_info): New function; returns a 5929 GString holding type signature for arguments for just one 5930 direction (input or output). 5931 (method_input_signature_from_object_info) 5932 (method_output_signature_from_object_info): New functions. 5933 (dbus_glib_marshal_dbus_message_to_gvalue_array): New shared function; 5934 converts dbus message arguments into a GValue array. Used for both 5935 signal handling and method invocation. 5936 (struct DBusGlibWriteIterfaceData): New utility structure. 5937 (write_interface): New function; generate introspection XML for 5938 an interface. 5939 (introspect_interfaces): New function; gathers all interface->methods, 5940 generates introspection XML for them. 5941 (handle_introspect): Invoke introspect_interfaces. 5942 (get_object_property): Be sure to zero-initalize stack-allocated GValue. 5943 (lookup_object_and_method): New function; examines an incoming message 5944 and attempts to match it up (via interface, method name, and argument 5945 signature) with a known object and method. 5946 (gerror_domaincode_to_dbus_error_name): New function; converts a 5947 GError domain and code into a DBus error name. Needs GError data 5948 added to object introspection to work well. 5949 (gerror_to_dbus_error_message): Creates a DBusMessage error return from 5950 GError. 5951 (invoke_object_method): New function to invoke an object method 5952 looked up via lookup_object_and_method. Parses the incoming 5953 message, turns it into a GValue array, then invokes the marshaller 5954 specified in the DBusGMethodInfo. Creates a new message with 5955 either return values or error message as appropriate. 5956 (gobject_message_function): Invoke lookup_object_and_method and 5957 invoke_object_method. 5958 5959 * glib/dbus-glib-tool.c: Include dbus-binding-tool-glib.h. 5960 (enum DBusBindingOutputMode): New enum for binding output modes. 5961 (pretty_print): Print binding names. 5962 (dbus_binding_tool_error_quark): GError bits. 5963 (version): Fix typo. 5964 (main): Create GIOChannel for output. Parse new --mode argument, 5965 possible values are "pretty-print", "glib-server", "glib-client". 5966 Use mode to invoke appropriate function. 5967 5968 * glib/dbus-gobject.h: Prototype dbus_glib_marshal_dbus_message_to_gvalue_array. 5969 5970 * glib/dbus-glib-tool.h: New header, just includes GError bits 5971 for now. 5972 5973 * glib/dbus-gidl.c (struct InterfaceInfo): Add bindings hashtable; 5974 maps binding style to name. 5975 (struct MethodInfo): Ditto. 5976 (get_hash_keys, get_hash_key): Utility function, returns keys for 5977 a GHashTable. 5978 (interface_info_new, method_info_new): Initialize bindings. 5979 (interface_info_unref, method_info_unref): Destroy bindings. 5980 (method_info_get_binding_names, method_info_get_binding_name) 5981 (interface_info_get_binding_names, interface_info_get_binding_name): 5982 Functions for retrieving binding names. 5983 (method_info_set_binding_name, interface_info_set_binding_name): 5984 Functions for setting binding names. 5985 5986 * glib/dbus-binding-tool-glib.h: New file, has prototypes 5987 for glib binding generation. 5988 5989 * glib/dbus-binding-tool-glib.c: New file, implements server-side 5990 and client-side glib glue generation. 5991 5992 * glib/Makefile.am (dbus_binding_tool_SOURCES): Add 5993 dbus-binding-tool-glib.c, dbus-binding-tool-glib.h, 5994 dbus-glib-tool.h. 5995 5996 * dbus/dbus-glib.h (struct DBusGMethodMarshaller): Remove in favor 5997 of using GClosureMarshal directly. 5998 (struct DBusGObjectInfo): Add n_infos member. 5999 6000 * test/glib/test-service-glib.xml: New file; contains introspection data 6001 for MyTestObject used in test-service-glib.c. 6002 6003 * test/glib/test-service-glib.c (enum MyObjectError): New GError enum. 6004 (my_object_do_nothing, my_object_increment, my_object_throw_error) 6005 (my_object_uppercase, my_object_many_args): New test methods. 6006 (main): Use dbus_g_object_class_install_info to include generated object 6007 info. 6008 6009 * test/glib/Makefile.am: Generate server-side glue for test-service-glib.c, 6010 as well as client-side bindings. 6011 6012 * test/glib/test-dbus-glib.c: Include test-service-glib-bindings.h. 6013 (main): Activate TestSuiteGLibService; test invoke a bunch of its methods 6014 using both the dbus_gproxy stuff directly as well as the generated bindings. 6015 6016 2005-02-15 Havoc Pennington <hp (a] redhat.com> 6017 6018 * dbus/dbus-connection.c (dbus_connection_dispatch): always 6019 complete a pending call, don't run filters first. 6020 6021 * glib/dbus-gproxy.c (dbus_g_proxy_end_call): change to use 6022 dbus_pending_call_steal_reply 6023 6024 * dbus/dbus-pending-call.c (dbus_pending_call_block): just call 6025 _dbus_connection_block_pending_call 6026 (dbus_pending_call_get_reply): change to steal_reply and return a 6027 ref 6028 6029 * dbus/dbus-connection.c 6030 (dbus_connection_send_with_reply_and_block): port to work in terms 6031 of DBusPendingCall 6032 (_dbus_connection_block_pending_call): replace block_for_reply 6033 with this 6034 6035 2005-02-14 Havoc Pennington <hp (a] redhat.com> 6036 6037 * dbus/dbus-userdb-util.c (_dbus_user_database_lookup_group): 6038 properly handle looking up group information by name; fix 6039 from j (a] bootlab.org 6040 6041 2005-02-13 Havoc Pennington <hp (a] redhat.com> 6042 6043 * dbus/dbus-connection.c (dbus_connection_return_message) 6044 (dbus_connection_borrow_message): hold dispatch lock while message 6045 is outstanding 6046 (_dbus_connection_block_for_reply): hold dispatch lock while we 6047 block for the reply, so nobody steals our reply 6048 (dbus_connection_pop_message): hold the dispatch lock while we 6049 pluck the message 6050 6051 2005-02-13 Havoc Pennington <hp (a] redhat.com> 6052 6053 * dbus/dbus-connection.c (_dbus_connection_acquire_dispatch) 6054 (_dbus_connection_release_dispatch) 6055 (_dbus_connection_acquire_io_path) 6056 (_dbus_connection_release_io_path): make the mutex and condvar 6057 control access to the "acquired" flag. Drop the connection lock 6058 while waiting on the condvar. Hopefully these are baby steps in 6059 roughly the right direction. 6060 6061 2005-02-13 Havoc Pennington <hp (a] redhat.com> 6062 6063 * dbus/dbus-connection.c: use separate mutexes for the condition 6064 variables; this is some kind of baseline for sanity, but the 6065 condition variables still aren't used correctly afaict 6066 6067 2005-02-13 Havoc Pennington <hp (a] redhat.com> 6068 6069 * dbus/dbus-object-tree.c (handle_default_introspect_and_unlock): 6070 fix a double-unlock 6071 6072 * dbus/dbus-connection.c 6073 (_dbus_connection_detach_pending_call_unlocked): add this 6074 6075 Initial semi-correct pass through to fix thread locking; there are 6076 still some issues with the condition variable paths I'm pretty 6077 sure 6078 6079 * dbus/dbus-server.c: add a mutex on DBusServer and appropriate 6080 lock/unlock calls 6081 6082 * dbus/dbus-connection.c (_dbus_connection_do_iteration_unlocked): 6083 rename to add _unlocked 6084 (struct DBusConnection): move "dispatch_acquired" and 6085 "io_path_acquired" to use only one bit each. 6086 (CONNECTION_LOCK, CONNECTION_UNLOCK): add checks with !DBUS_DISABLE_CHECKS 6087 (dbus_connection_set_watch_functions): hacky fix to reentrancy 6088 (_dbus_connection_add_watch, _dbus_connection_remove_watch) 6089 (_dbus_connection_toggle_watch, _dbus_connection_add_timeout) 6090 (_dbus_connection_remove_timeout) 6091 (_dbus_connection_toggle_timeout): drop lock when calling out to 6092 user functions; done in a hacky/bad way. 6093 (_dbus_connection_send_and_unlock): add a missing unlock 6094 (_dbus_connection_block_for_reply): add a missing unlock 6095 6096 * dbus/dbus-transport.c (_dbus_transport_get_is_authenticated): 6097 drop lock in a hacky probably unsafe way to call out to user 6098 function 6099 6100 2005-02-12 Havoc Pennington <hp (a] redhat.com> 6101 6102 * tools/dbus-tree-view.c (info_set_func_text): display more 6103 details on args 6104 6105 * bus/driver.c (bus_driver_handle_list_services): list the bus 6106 driver 6107 6108 * glib/dbus-gparser.c (parse_arg): generate an arg name if none is supplied 6109 6110 * glib/dbus-gidl.c (signal_info_get_n_args): new function 6111 (method_info_get_n_args): new function 6112 6113 2005-02-12 Havoc Pennington <hp (a] redhat.com> 6114 6115 * bus/driver.c (bus_driver_handle_introspect): add introspection 6116 for bus driver 6117 6118 2005-02-12 Havoc Pennington <hp (a] redhat.com> 6119 6120 * bus/driver.c: put the signature of each bus driver method in the 6121 table of handlers and check it on incoming calls; this isn't 6122 really useful, but going to add introspect support in a minute. 6123 6124 2005-02-11 Joe Shaw <joeshaw (a] novell.com> 6125 6126 * mono/Connection.cs: The unpredictability of finalizers in mono 6127 prevents us from deterministically disconnecting the filters from 6128 the Service class's finalizer, so move tracking of filters and 6129 matches here. Add API for that. 6130 6131 * mono/Service.cs: Remove the code, add code which calls the 6132 methods now on the Connection class. 6133 6134 2005-02-11 John (J5) Palmieri <johnp (a] redhat.com> 6135 6136 * python/dbus.py (class Sender): added to support dbus signals better 6137 (Bus::add_signal_receiver): added expand_args parameter which defaults 6138 to True. When expand args is True the signal handler will pass the 6139 message arguments as parameters to the signal handler. If False 6140 revert to previous behavior where the signal handler must get the 6141 argument list from the message. This is to help port applications 6142 like HAL that have a tendancy to send variable length argument lists. 6143 self._match_rule_to_receivers is now a dict of dicts. 6144 (Bus::remove_signal_receiver): pop handler off the dict intead of 6145 removing it from a list 6146 (Bus::_signal_func): change signal handlers so that interface, 6147 signal_name, service, path and message are packed into a Sender 6148 object and that is passed to the handler. If expand_args is True 6149 extract the args list from the message and append it to the parameter 6150 list 6151 6152 * python/dbus_bindings.pyx.in (class Signature): added to support 6153 signiature types 6154 (MessageIter::__init__): changed iteration limit to match D-BUS 6155 (MessageIter::get*): added INT16, UINT16, SIGNATURE, DICT_ENTRY, 6156 STRUCT and VARIENT type support 6157 (MessageIter::python_value_to_dbus_sig): made recursive to support 6158 recursive types 6159 (MessageIter::append*): added Signature, dict, tuple 6160 support 6161 6162 * python/examples/example-client.py: added examples of getting tuples 6163 and dicts 6164 6165 * python/examples/example-service.py: added examples of sending tuples 6166 and dicts 6167 6168 * python/examples/example-signal-recipient.py: Fixed to handle new 6169 signal callback format 6170 6171 2005-02-10 Havoc Pennington <hp (a] redhat.com> 6172 6173 * test/glib/test-dbus-glib.c (main): fix so this test doesn't fail 6174 (call dbus_g_proxy_add_signal) 6175 6176 * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket): 6177 escape the hostname 6178 (_dbus_server_new_for_domain_socket): escape the path 6179 6180 * dbus/dbus-address.c (dbus_address_escape_value): new 6181 (dbus_address_unescape_value): new 6182 (dbus_parse_address): unescape values 6183 6184 * dbus/dbus-string.c (_dbus_string_append_byte_as_hex): new function 6185 6186 * doc/dbus-specification.xml: explain how to escape values in 6187 addresses 6188 6189 2005-02-10 Havoc Pennington <hp (a] redhat.com> 6190 6191 * dbus/dbus-message-factory.c (generate_special): modify test to 6192 avoid using a non-basic dict key 6193 6194 * dbus/dbus-marshal-validate-util.c: add test for the below 6195 6196 * doc/dbus-specification.xml: require that dict keys are a basic 6197 type 6198 6199 * dbus/dbus-marshal-validate.c 6200 (_dbus_validate_signature_with_reason): require that dict key is a 6201 basic type 6202 6203 2005-02-10 Havoc Pennington <hp (a] redhat.com> 6204 6205 * dbus/dbus-object-tree.c (handle_default_introspect_and_unlock): 6206 change to be _and_unlock instead of _unlocked 6207 6208 * dbus/dbus-connection.c 6209 (_dbus_connection_send_preallocated_unlocked_no_update): rename to 6210 have no_update so we can find this bug quickly in future 6211 6212 2005-02-10 Havoc Pennington <hp (a] redhat.com> 6213 6214 * dbus/dbus-message-util.c (verify_test_message): tests for string 6215 array 6216 6217 * dbus/dbus-message.c (dbus_message_append_args_valist): add 6218 support for arrays of string/signature/path 6219 6220 2005-02-10 Joe Shaw <joeshaw (a] novell.com> 6221 6222 * dbus/dbus-connection.c 6223 (_dbus_connection_queue_received_message_link, 6224 _dbus_connection_message_sent): Add the path to 6225 the verbose output. 6226 (_dbus_connection_send_preallocated_and_unlock): Added. Calls 6227 _dbus_connection_send_preallocated_unlocked(), updated the 6228 dispatch status, and unlocks. Fixes a bug where certain 6229 situations (like a broken pipe) could cause a Disconnect message 6230 to not be sent, tricking the bus into thinking a service was still 6231 there when the process had quit. 6232 (_dbus_connection_send_preallocated): Call 6233 _dbus_connection_send_preallocated_and_unlock(). 6234 (_dbus_connection_send_and_unlock): Added. Calls 6235 _dbus_connection_send_preallocated_and_unlock(). 6236 (dbus_connection_send): Call _dbus_connection_send_and_unlock(). 6237 (dbus_connection_send_with_reply): Update the dispatch status and 6238 unlock. 6239 6240 * mono/Service.cs (~Service): Added. Removes the filter so that 6241 we don't get unmanaged code calling back into a GCed delegate. 6242 (RemoveFilter); Added. 6243 6244 2005-02-09 John (J5) Palmieri <johnp (a] redhat.com> 6245 6246 * dbus/dbus-message.c (dbus_message_iter_open_container): 6247 - Removed check for iterator type being an array because 6248 get_arg_type does not work with writer iterators 6249 - Pass NULL to _dbus_type_writer_recurse if signiture is NULL 6250 6251 2005-02-07 Havoc Pennington <hp (a] redhat.com> 6252 6253 * doc/dbus-specification.xml: some more language cleanups; add 6254 stuff about how to deal with invalid protocol and extension 6255 points; add _ to allowed chars in auth commands; add EXTENSION_ 6256 auth command prefix 6257 6258 2005-02-06 Havoc Pennington <hp (a] redhat.com> 6259 6260 * s/expected/required/ in a couple places for clarity 6261 6262 2005-02-07 Colin Walters <walters (a] verbum.org> 6263 6264 * bus/selinux.c (bus_selinux_allows_send): Handle NULL for 6265 sender or proposed_recipient. 6266 6267 2005-02-06 Havoc Pennington <hp (a] redhat.com> 6268 6269 * dbus/dbus-message-factory.c (generate_special): more tests 6270 6271 * dbus/dbus-marshal-validate.c (validate_body_helper): detect 6272 array length that exceeds the maximum 6273 6274 2005-02-05 Havoc Pennington <hp (a] redhat.com> 6275 6276 * dbus/dbus-message-factory.c (generate_special): more test cases, 6277 increasing coverage 6278 6279 * dbus/dbus-marshal-validate.c (validate_body_helper): return the 6280 reason why a signature was invalid 6281 6282 * dbus/dbus-marshal-header.c (load_and_validate_field): fix to 6283 skip the length of the string before we look at it in validation 6284 6285 * dbus/dbus-string-util.c (_dbus_string_test): add tests for 6286 equal_substring 6287 6288 * dbus/dbus-message.c (_dbus_message_loader_new): default 6289 max_message_length to DBUS_MAXIMUM_MESSAGE_LENGTH 6290 6291 2005-02-05 Havoc Pennington <hp (a] redhat.com> 6292 6293 * dbus/dbus-marshal-validate.c (validate_body_helper): fix crash 6294 if the signature of a variant was empty 6295 (_dbus_validate_signature_with_reason): catch "(a)" (array inside 6296 struct with no element type) 6297 6298 * dbus/dbus-message-factory.c (generate_uint32_changed): add more 6299 mangled messages to break things 6300 6301 2005-02-04 Havoc Pennington <hp (a] redhat.com> 6302 6303 * glib/dbus-gproxy.c (dbus_g_proxy_disconnect_signal): use 6304 g_quark_try_string() so it actually can return 0 6305 (dbus_g_proxy_connect_signal): ditto 6306 6307 2005-02-04 Havoc Pennington <hp (a] redhat.com> 6308 6309 * glib/dbus-gproxy.c (dbus_g_proxy_emit_remote_signal): fix a 6310 bogus warning 6311 (tristring_from_message): assert cleanly on null path/interface 6312 (should not be possible though I decided later) 6313 (dbus_g_proxy_dispose): move proxy manager unregistration here 6314 (DBUS_G_PROXY_DESTROYED): add this macro, and use it in a bunch of 6315 g_return_if_fail() checks 6316 6317 2005-02-04 Havoc Pennington <hp (a] redhat.com> 6318 6319 * doc/Makefile.am (EXTRA_DIST): add DTDs to makefile 6320 6321 * doc/introspect.dtd: add introspect.dtd from David A. Wheeler 6322 (with some minor changes) 6323 6324 * doc/dbus-specification.xml: add deprecated attribute to 6325 introspection format 6326 6327 2005-01-31 Havoc Pennington <hp (a] redhat.com> 6328 6329 * glib/dbus-gproxy.c: rewrite how signals work again, this time I 6330 think it's sort of right 6331 6332 2005-01-30 Havoc Pennington <hp (a] redhat.com> 6333 6334 * tools/dbus-viewer.c: kind of half-ass hook up the option menu. 6335 6336 2005-01-30 Havoc Pennington <hp (a] redhat.com> 6337 6338 * tools/dbus-names-model.c: dynamically watch NameOwnerChanged 6339 6340 * autogen.sh: change to autotools 1.9 6341 6342 * glib/dbus-gproxy.c: completely change how signals work 6343 (dbus_g_proxy_add_signal): new function to specify signature of a 6344 signal 6345 (dbus_g_proxy_emit_received): marshal the dbus message to GValues, 6346 and g_warning if the incoming message has the wrong signature. 6347 6348 2005-01-30 Havoc Pennington <hp (a] redhat.com> 6349 6350 * tools/dbus-names-model.c (have_names_notify): fix this 6351 6352 * dbus/dbus-message.c (_dbus_message_iter_get_args_valist): clean 6353 up the string array handling a bit 6354 6355 2005-01-30 Havoc Pennington <hp (a] redhat.com> 6356 6357 * glib/dbus-glib.c (dbus_g_pending_call_set_notify): new function 6358 (dbus_g_pending_call_cancel): new function 6359 6360 * dbus/dbus-glib.h: move GType decls for connection/message here; 6361 * dbus/dbus-glib.c: move all the g_type and ref/unref stuff in 6362 here, just kind of rationalizing how we handle all that 6363 6364 * tools/dbus-names-model.c: new file for a tree model listing the 6365 services on a bus 6366 6367 * tools/dbus-tree-view.c (model_new): use proper typing on the 6368 model rows 6369 6370 2005-01-30 Havoc Pennington <hp (a] redhat.com> 6371 6372 * glib/dbus-gmain.c: add a custom GSource back that just checks 6373 whether the message queue has anything in it; otherwise, there are 6374 cases where we won't see messages in the queue since there was no 6375 IO visible to the glib main loop 6376 6377 * dbus/dbus-connection-internal.h (_DBUS_DEFAULT_TIMEOUT_VALUE): 6378 increase default message timeout to 25 seconds 6379 6380 2005-01-30 Havoc Pennington <hp (a] redhat.com> 6381 6382 * test/glib/test-profile.c (no_bus_stop_server): remove the 6383 warning about the g_warning that I just fixed 6384 6385 * glib/dbus-gmain.c: rewrite the main loop stuff to avoid the 6386 custom source, seems to be a lot easier to understand and work 6387 better. 6388 6389 2005-01-30 Havoc Pennington <hp (a] redhat.com> 6390 6391 I think this main loop thing is conceptually broken, but here are 6392 some band aids. I'll maybe rewrite it in a minute. 6393 6394 * glib/dbus-gmain.c (add_timeout): timeout stuff doesn't use the 6395 custom GSource, so don't pass it in; confusing 6396 (gsource_server_finalize, gsource_connection_finalize): add 6397 finalize handlers that remove all the watches. 6398 6399 2005-01-30 Havoc Pennington <hp (a] redhat.com> 6400 6401 * glib/dbus-gobject.c (introspect_properties): fix the XML 6402 generated 6403 6404 * dbus/dbus-message.c (dbus_message_unref): add an in_cache flag 6405 which effectively detects the use of freed messages 6406 6407 * glib/dbus-gobject.c (handle_introspect): modify and return the 6408 reply message instead of the incoming message 6409 6410 * dbus/dbus-object-tree.c (handle_default_introspect_unlocked): 6411 gee, maybe it should SEND THE XML instead of just making a string 6412 and freeing it again ;-) 6413 6414 * tools/dbus-print-message.c (print_message): improve printing of 6415 messages 6416 6417 * configure.in: add debug-glib.service to the output 6418 6419 2005-01-30 Havoc Pennington <hp (a] redhat.com> 6420 6421 dbus-viewer introspected and displayed the bus driver 6422 6423 * dbus/dbus-object-tree.c 6424 (object_tree_test_iteration): add tests for a handler registered on "/" 6425 6426 * dbus/dbus-object-tree.c 6427 (_dbus_decompose_path): fix to handle path "/" properly 6428 (run_decompose_tests): add tests for path decomposition 6429 6430 * glib/dbus-gutils.c (_dbus_gutils_split_path): fix to handle "/" 6431 properly 6432 6433 * glib/dbus-gobject.c (handle_introspect): fix quotes 6434 6435 * test/glib/run-test.sh: support launching the bus, then running 6436 dbus-viewer 6437 6438 * test/glib/test-service-glib.c (main): put in a trivial gobject 6439 subclass and register it on the connection 6440 6441 * bus/driver.c (bus_driver_handle_introspect): implement 6442 introspection of the bus driver service 6443 6444 * dbus/dbus-protocol.h: add #defines for the XML namespace, 6445 identifiers, doctype decl 6446 6447 * bus/driver.c (bus_driver_handle_get_service_owner): handle 6448 attempts to get owner of DBUS_SERVICE_ORG_FREEDESKTOP_DBUS by 6449 returning the service unchanged. 6450 (bus_driver_handle_message): remove old check for reply_serial in 6451 method calls, now the message type deals with that 6452 (bus_driver_handle_message): handle NULL interface 6453 6454 * glib/dbus-gproxy.c (dbus_g_proxy_get_bus_name): new function 6455 6456 * glib/dbus-gloader-expat.c (description_load_from_string): allow 6457 -1 for len 6458 6459 * tools/dbus-viewer.c: add support for introspecting a service on 6460 a bus 6461 6462 * glib/dbus-gproxy.c (dbus_g_pending_call_ref): add 6463 (dbus_g_pending_call_unref): add 6464 6465 2005-01-29 Havoc Pennington <hp (a] redhat.com> 6466 6467 * tools/dbus-tree-view.c: add support for displaying properties. 6468 (run dbus-viewer with an introspect xml file as arg, then resize 6469 the window so the tree elements show up, not sure what that is) 6470 6471 * glib/dbus-gobject.c (handle_introspect): return 6472 org.freedesktop.Properties and org.freedesktop.Introspectable 6473 interfaces when we are introspected. 6474 6475 * doc/dbus-specification.xml: allow empty interface name when 6476 Get/Set a property 6477 6478 2005-01-29 Havoc Pennington <hp (a] redhat.com> 6479 6480 * glib/Makefile.am: rename dbus-glib-tool to dbus-binding-tool; 6481 though it uses glib, it could be extended for any binding in 6482 principle 6483 6484 * glib/dbus-gobject.c (gobject_message_function): change to the 6485 new way properties work 6486 6487 * dbus/dbus-protocol.h: add the new interfaces 6488 6489 * doc/dbus-specification.xml: document the introspection format, 6490 Introspectable interface, and add an org.freedesktop.Properties 6491 interface. 6492 6493 * glib/dbus-gparser.c: add support for a <property> element 6494 6495 * glib/dbus-gidl.c: add PropertyInfo 6496 6497 * glib/dbus-gobject.c (handle_introspect): put the outermost 6498 <node> outside the signal and property descriptions. 6499 (introspect_properties): export properties as <property> rather 6500 than as method calls 6501 6502 2005-01-28 Havoc Pennington <hp (a] redhat.com> 6503 6504 * doc/TODO, doc/dbus-specification.xml: spec and TODO tweaks 6505 related to authentication protocol 6506 6507 2005-01-28 John (J5) Palmieri <johnp (a] redhat.com> 6508 6509 * python/dbus_bindings.pyx.in: Updated to handle new D-BUS type system 6510 - BUS_ACTIVATION -> BUS_STARTER 6511 - DBUS_BUS_ACTIVATION -> DBUS_BUS_STARTER 6512 - class MessageIter (__init__): Added recursion checking 6513 so we throw a nice error instead of just disconnecting from the 6514 bus. 6515 (get): Added arg_type parameter for recursion. 6516 Removed the nil type 6517 Added signiture type placeholder (not implemented) 6518 Added struct type placeholder (not implemented) 6519 Added varient type placeholder (not implemented) 6520 Commented out dict type for now 6521 (get_element_type): renamed from get_array_type 6522 (get_*): changed to use the dbus_message_iter_get_basic API 6523 (get_*_array): removed in favor of recursive get_array method 6524 (get_array): new recursive method which calls get to marshal 6525 the elements of the array 6526 (value_to_dbus_sig): New method returns the corrasponding 6527 dbus signiture to a python value 6528 (append): Comment out dict handling for now 6529 Handle lists with the new recursive API 6530 Comment out None handling for now 6531 (append_nil): removed 6532 (append_*): changed to use dbus_message_iter_append_basic API 6533 (append_*_array): removed in favor of recursive append_array 6534 method 6535 (__str__): Make it easier to print out recursive iterators 6536 for debugging 6537 - class Message (__str__): moved type inspection to the 6538 MessageIter class' __str__ method 6539 (get_iter): Added an append parameter wich defaults to False 6540 If True use the new API's to create an append iterator 6541 6542 * python/dbus.py: Update to use new bindings API 6543 - TYPE_ACTIVATION -> TYPE_STARTER 6544 - class Bus (_get_match_rule): GetServiceOwner -> GetNameOwner 6545 - class ActivationBus -> class StarterBus 6546 - class RemoteObject (__call__): get an append iterator 6547 - (_dispatch_dbus_method_call): get an append iterator 6548 - class Object (emit_signal): get an append iterator 6549 6550 * python/examples/: Fixed up the examples to work with the new API 6551 6552 2005-01-28 Joe Shaw <joeshaw (a] novell.com> 6553 6554 * configure.in: Bump version up to 0.30. 6555 6556 * HACKING: Add a release item to bump the version number up after 6557 a release. 6558 6559 2005-01-28 Havoc Pennington <hp (a] redhat.com> 6560 6561 * doc/dbus-specification.xml: update to describe 16-bit types and 6562 dict entries 6563 6564 * dbus/dbus-marshal-basic.c (_dbus_unpack_uint16): fix broken 6565 assertion 6566 6567 * dbus/dbus-protocol.h (DBUS_TYPE_DICT_ENTRY): add DICT_ENTRY as a 6568 type 6569 6570 * dbus/dbus-marshal-recursive.c: implement 6571 6572 2005-01-27 Havoc Pennington <hp (a] redhat.com> 6573 6574 * dbus/dbus-arch-deps.h.in: add 16/32-bit types 6575 6576 * configure.in: find the right type for 16 and 32 bit ints as well 6577 as 64 6578 6579 * dbus/dbus-protocol.h (DBUS_TYPE_INT16, DBUS_TYPE_UINT16): add 6580 the 16-bit types so people don't have to stuff them in 32-bit or 6581 byte arrays. 6582 6583 2005-01-27 Havoc Pennington <hp (a] redhat.com> 6584 6585 * dbus/dbus-message.c: byteswap the message if you init an 6586 iterator to read/write from it 6587 6588 * dbus/dbus-marshal-byteswap.c: new file implementing 6589 _dbus_marshal_byteswap() 6590 6591 * dbus/dbus-marshal-basic.c: add _dbus_swap_array() 6592 6593 2005-01-26 Havoc Pennington <hp (a] redhat.com> 6594 6595 * dbus/dbus-marshal-validate-util.c: break this out (and fix 6596 build, apparently - nobody noticed?) 6597 6598 2005-01-26 Havoc Pennington <hp (a] redhat.com> 6599 6600 * dbus/dbus-marshal-recursive.h: remove todo comment 6601 6602 2005-01-25 Joe Shaw <joeshaw (a] novell.com> 6603 6604 * Land the mono binding changes to conform to the new APIs. 6605 6606 * mono/Makefile.am: Remove Custom.cs, DBusType/Custom.cs, 6607 DBusType/Dict.cs, and DBusType/Nil.cs from the build. 6608 6609 * mono/Arguments.cs (GetCodeAsString): Added. Returns the dbus 6610 type code as a string. 6611 (InitAppending): Rename dbus_message_append_iter_init() to 6612 dbus_message_iter_init_append(). 6613 6614 * mono/BusDriver.cs: Rename ServiceEventHandler to 6615 NameOwnerChangedHandler. Rename GetServiceOwner to GetOwner. 6616 Rename ServiceOwnerChanged to NameOwnerChanged. 6617 6618 * mono/Connection.cs: Rename BaseService to UniqueName, and the 6619 underlying C call. 6620 6621 * mono/Custom.cs: Removed. The CUSTOM type has been removed. 6622 6623 * mono/Service.cs: Rename Exists to HasOwner, internally rename 6624 dbus_bus_acquire_service() to dbus_bus_request_name(). 6625 6626 * mono/DBusType/Array.cs (ctor): Use Type.GetElementType() instead 6627 of Type.UnderlyingSystemType to get the correct element type for 6628 the array. 6629 (ctor): Update code for new APIs: use dbus_message_iter_recurse(), 6630 dbus_message_get_{element|arg}_type() instead of 6631 dbus_message_iter_init_array_iterator(). 6632 (Append): Replace dbus_message_iter_append_array() with 6633 dbus_message_iter_open_container() and 6634 dbus_message_iter_close_container(). 6635 6636 * mono/DBusType/Custom.cs, mono/DBusType/Nil.cs: Removed. These 6637 types have been removed. 6638 6639 * mono/DBusType/*.cs: Replace calls of 6640 dbus_message_iter_get_[type]() to dbus_message_iter_get_basic(), 6641 but specify the type in the DllImport extern declaration. Ditto 6642 for dbus_message_iter_append_[type]() -> 6643 dbus_message_iter_append_basic(). 6644 6645 * mono/example/BusListener.cs: Update for ServiceEventHandler -> 6646 NameOwnerChangedHandler. 6647 6648 2005-01-25 John (J5) Palmieri <johnp (a] redhat.com> 6649 6650 * python/dbus_bindings.pyx.in: Rename of methods and bindings 6651 - get_base_service -> get_unique_name 6652 - bus_get_base_service -> bus_get_unique_name 6653 - dbus_bus_get_base_service -> dbus_bus_get_unique_name 6654 - ACTIVATION_REPLY_ACTIVATED -> DBUS_START_REPLY_SUCCESS 6655 - ACTIVATION_REPLY_ALREADY_ACTIVE -> DBUS_START_REPLY_ALREADY_RUNNING 6656 - bus_activate_service -> bus_start_service_by_name 6657 - dbus_bus_activate_service -> dbus_bus_start_service_by_name 6658 - bus_acquire_service -> bus_request_name 6659 - dbus_bus_acquire_service -> dbus_bus_request_name 6660 - bus_service_exists -> bus_name_has_owner 6661 - dbus_bus_service_exists -> dbus_bus_name_has_owner 6662 6663 * python/dbus.py: Rename of methods 6664 - activate_service -> start_service_by_name 6665 - bus_acquire_service -> bus_request_name 6666 - ACTIVATION_REPLY_ACTIVATED -> START_REPLY_SUCCESS 6667 - ACTIVATION_REPLY_ALREADY_ACTIVE -> START_REPLY_ALREADY_RUNNING 6668 6669 6670 2005-01-24 Joe Shaw <joeshaw (a] novell.com> 6671 6672 * dbus/dbus-connection.c (dbus_connection_dispatch): Print out the 6673 signature for the method that can't be found. 6674 6675 * dbus/dbus-message.c (dbus_message_iter_init): To check to see if 6676 the message has any arguments, we need to call 6677 _dbus_type_reader_get_current_type(), not 6678 _dbus_type_reader_has_next(). 6679 6680 2005-01-24 Havoc Pennington <hp (a] redhat.com> 6681 6682 * dbus/dbus-message-factory.c: more testing of message validation 6683 6684 * dbus/dbus-protocol.h (DBUS_MINIMUM_HEADER_SIZE): move to this 6685 header 6686 6687 2005-01-23 Havoc Pennington <hp (a] redhat.com> 6688 6689 * dbus/dbus-message-factory.c, dbus/dbus-message-util.c: 6690 get this all working, not many tests in the framework yet though 6691 6692 2005-01-22 Havoc Pennington <hp (a] redhat.com> 6693 6694 * doc/dbus-faq.xml, doc/dbus-tutorial: add a FAQ and update 6695 tutorial, based on work from David Wheeler. 6696 6697 2005-01-21 Havoc Pennington <hp (a] redhat.com> 6698 6699 * dbus/dbus-bus.c: add more return_if_fail checks 6700 6701 * dbus/dbus-message.c (load_message): have the "no validation" 6702 mode (have to edit the code to toggle the mode for now though) 6703 6704 * dbus/dbus-marshal-header.c (_dbus_header_load): have a mode that 6705 skips all validation; I want to use this at least for benchmark 6706 baseline, I'm not sure if it should be a publicly-available switch. 6707 6708 2005-01-21 Havoc Pennington <hp (a] redhat.com> 6709 6710 * glib/dbus-gmain.c: don't put the GLib bindings in the same 6711 toplevel doxygen group as the low-level API stuff 6712 6713 * dbus/dbus.h: note that libdbus is the low-level API 6714 6715 2005-01-20 Havoc Pennington <hp (a] redhat.com> 6716 6717 * update-dbus-docs.sh: script to update docs on the web site, only 6718 works for me though. neener. 6719 6720 2005-01-20 Havoc Pennington <hp (a] redhat.com> 6721 6722 * dbus/dbus-sysdeps.c (_dbus_poll): amazingly, trying to compile 6723 code can reveal bugs in it 6724 6725 2005-01-20 Havoc Pennington <hp (a] redhat.com> 6726 6727 * dbus/dbus-sysdeps.c (_dbus_poll): fix several bugs in the 6728 select() version, patches from Tor Lillqvist 6729 6730 2005-01-20 Havoc Pennington <hp (a] redhat.com> 6731 6732 * doc/dbus-tutorial.xml: replace > with > 6733 6734 * bus/services.c (bus_registry_acquire_service): validate the name 6735 and return a better error if it's no good. 6736 6737 * doc/dbus-specification.xml: note NO_AUTO_START change 6738 6739 * dbus/dbus-protocol.h (DBUS_HEADER_FLAG_NO_AUTO_START): change 6740 from AUTO_START, we're toggling the default 6741 6742 * bus/dispatch.c: adapt the tests to change of auto-start default 6743 6744 2005-01-18 Havoc Pennington <hp (a] redhat.com> 6745 6746 * rename dbus-daemon-1 to dbus-daemon throughout 6747 6748 2005-01-18 Havoc Pennington <hp (a] redhat.com> 6749 6750 * Throughout, grand renaming to strip out the use of "service", 6751 just say "name" instead (or "bus name" when ambiguous). Did not 6752 change the internal code of the message bus itself, only the 6753 programmer-facing API and messages. 6754 6755 * doc/dbus-specification.xml: further update the message bus section 6756 6757 * bus/config-parser.c (all_are_equiv): fix bug using freed string 6758 in error case 6759 6760 2005-01-17 Havoc Pennington <hp (a] redhat.com> 6761 6762 * dbus/dbus-types.h: remove 16-bit types since we don't use them 6763 ever 6764 6765 * dbus/dbus-marshal-validate.c (_dbus_validate_path): disallow any 6766 "invalid name character" not only non-ASCII 6767 6768 * doc/dbus-specification.xml: further update spec, message bus 6769 parts are still out-of-date but the marshaling etc. stuff is now 6770 accurate-ish 6771 6772 2005-01-17 Havoc Pennington <hp (a] redhat.com> 6773 6774 * doc/dbus-specification.xml: partially update spec 6775 6776 2005-01-17 Havoc Pennington <hp (a] redhat.com> 6777 6778 * Throughout, align variant bodies according to the contained 6779 type, rather than always to 8. Should save a fair bit of space in 6780 message headers. 6781 6782 * dbus/dbus-marshal-validate.c (_dbus_validate_body_with_reason): 6783 fix handling of case where p == end 6784 6785 * doc/TODO: remove the dbus_bool_t item and variant alignment items 6786 6787 2005-01-17 Havoc Pennington <hp (a] redhat.com> 6788 6789 * dbus/dbus-types.h: hardcode dbus_bool_t to 32 bits 6790 6791 * Throughout: modify DBUS_TYPE_BOOLEAN to be a 32-bit type instead 6792 of an 8-bit type. Now dbus_bool_t is the type to use whenever you 6793 are marshaling/unmarshaling a boolean. 6794 6795 2005-01-16 Havoc Pennington <hp (a] redhat.com> 6796 6797 This is about it on what can be disabled/deleted from libdbus 6798 easily, back below 150K anyhow. Deeper cuts are more work than 6799 just turning the code off as I've done here. 6800 6801 * dbus/dbus-marshal-basic.c (_dbus_pack_int32): we don't need the 6802 signed int convenience funcs 6803 6804 * dbus/dbus-internals.c (_dbus_verbose_real): omit when not in 6805 verbose mode 6806 6807 * dbus/dbus-string-util.c, dbus/dbus-string.c: more breaking 6808 things out of libdbus 6809 6810 * dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-util.c: same 6811 6812 * dbus/dbus-hash.c: purge the TWO_STRINGS crap (well, make it 6813 tests-enabled-only, though it should probably be deleted) 6814 6815 * dbus/dbus-message-util.c: same stuff 6816 6817 * dbus/dbus-auth-util.c: same stuff 6818 6819 2005-01-16 Havoc Pennington <hp (a] redhat.com> 6820 6821 * dbus/dbus-userdb-util.c: split out part of dbus-userdb.c 6822 6823 * dbus/dbus-sysdeps.c (_dbus_uid_from_string): move here to pave 6824 way for stripping down dbus-userdb.c stuff included in libdbus. 6825 Rename _dbus_parse_uid for consistency. 6826 6827 2005-01-16 Havoc Pennington <hp (a] redhat.com> 6828 6829 * dbus/dbus-internals.c (_dbus_real_assert): print the function 6830 name the assertion failed in 6831 6832 * dbus/dbus-internals.h (_dbus_return_if_fail) 6833 (_dbus_return_val_if_fail): assert that the name of the function 6834 containing the check doesn't start with '_', since we only want to 6835 use checks on public functions 6836 6837 * dbus/dbus-connection.c (_dbus_connection_ref_unlocked): change 6838 checks to assertions 6839 6840 * dbus/dbus-marshal-header.c (_dbus_header_set_field_basic): 6841 change checks to asserts for private function 6842 6843 * dbus/dbus-message.c (_dbus_message_set_serial): checks 6844 to asserts for private function 6845 6846 * dbus/dbus-marshal-recursive.c (skip_one_complete_type): remove 6847 broken assertion that was breaking make check 6848 (_dbus_type_reader_array_is_empty): remove this rather than fix 6849 it, was only used in assertions 6850 6851 2005-01-16 Havoc Pennington <hp (a] redhat.com> 6852 6853 * test/unused-code-gc.py: hacky script to find code that's used 6854 only by the bus (not libdbus) or used only by tests or not used at 6855 all. It has some false alarms, but looks like we can clean up a 6856 lot of size from libdbus. 6857 6858 * dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-utils.c, 6859 dbus/Makefile.am: initially move 10K of binary size out of libdbus 6860 6861 2005-01-16 Havoc Pennington <hp (a] redhat.com> 6862 6863 * Add and fix docs according to Doxygen warnings throughout 6864 source. 6865 6866 * dbus/dbus-marshal-recursive.c 6867 (_dbus_type_reader_array_is_empty): change this to just call 6868 array_reader_get_array_len() and make it static 6869 6870 * dbus/dbus-message.c (dbus_message_iter_get_element_type): rename 6871 from get_array_type 6872 (dbus_message_iter_init_append): rename from append_iter_init 6873 6874 * dbus/dbus-marshal-recursive.c 6875 (_dbus_type_reader_get_element_type): rename from 6876 _dbus_type_reader_get_array_type 6877 6878 2005-01-15 Havoc Pennington <hp (a] redhat.com> 6879 6880 * test/glib/test-profile.c (with_bus_server_filter): fix crash 6881 6882 * dbus/dbus-marshal-basic.c (_dbus_unpack_uint32): inline as macro 6883 when DBUS_DISABLE_ASSERT 6884 (_dbus_marshal_set_basic): be sure we align for the string length 6885 6886 * dbus/dbus-marshal-recursive.c (skip_one_complete_type): make 6887 this look faster 6888 6889 * dbus/dbus-string.c (_dbus_string_get_const_data_len): add an 6890 inline macro version 6891 (_dbus_string_set_byte): provide inline macro version 6892 6893 2005-01-15 Havoc Pennington <hp (a] redhat.com> 6894 6895 * Land the new message args API and type system. 6896 6897 This patch is huge, but the public API change is not 6898 really large. The set of D-BUS types has changed somewhat, 6899 and the arg "getters" are more geared toward language bindings; 6900 they don't make a copy, etc. 6901 6902 There are also some known issues. See these emails for details 6903 on this huge patch: 6904 http://lists.freedesktop.org/archives/dbus/2004-December/001836.html 6905 http://lists.freedesktop.org/archives/dbus/2005-January/001922.html 6906 6907 * dbus/dbus-marshal-*: all the new stuff 6908 6909 * dbus/dbus-message.c: basically rewritten 6910 6911 * dbus/dbus-memory.c (check_guards): with "guards" enabled, init 6912 freed blocks to be all non-nul bytes so using freed memory is less 6913 likely to work right 6914 6915 * dbus/dbus-internals.c (_dbus_test_oom_handling): add 6916 DBUS_FAIL_MALLOC=N environment variable, so you can do 6917 DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or 6918 DBUS_FAIL_MALLOC=10 to make it really, really, really slow and 6919 thorough. 6920 6921 * qt/message.cpp: port to the new message args API 6922 (operator<<): use str.utf8() rather than str.unicode() 6923 (pretty sure this is right from the Qt docs?) 6924 6925 * glib/dbus-gvalue.c: port to the new message args API 6926 6927 * bus/dispatch.c, bus/driver.c: port to the new message args API 6928 6929 * dbus/dbus-string.c (_dbus_string_init_const_len): initialize the 6930 "locked" flag to TRUE and align_offset to 0; I guess we never 6931 looked at these anyhow, but seems cleaner. 6932 6933 * dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING): 6934 move allocation padding macro to this header; use it to implement 6935 (_DBUS_STRING_STATIC): ability to declare a static string. 6936 6937 * dbus/dbus-message.c (_dbus_message_has_type_interface_member): 6938 change to return TRUE if the interface is not set. 6939 6940 * dbus/dbus-string.[hc]: move the D-BUS specific validation stuff 6941 to dbus-marshal-validate.[hc] 6942 6943 * dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from 6944 dbus-internals.c 6945 6946 * dbus/Makefile.am: cut over from dbus-marshal.[hc] 6947 to dbus-marshal-*.[hc] 6948 6949 * dbus/dbus-object-tree.c (_dbus_decompose_path): move this 6950 function here from dbus-marshal.c 6951 6952 2005-01-12 Joe Shaw <joeshaw (a] novell.com> 6953 6954 * NEWS: Update for 0.23. 6955 6956 * configure.in: Release 0.23. 6957 6958 2005-01-12 Joe Shaw <joeshaw (a] novell.com> 6959 6960 * mono/Makefile.am, mono/example/Makefile.am: Always build the 6961 dbus DLL with --debug. Clean up after the .mdb files this leaves 6962 behind. 6963 6964 * mono/doc/Makefile.am: Need to uninstall the docs on "make 6965 uninstall" 6966 6967 * mono/Arguments.cs (GetDBusTypeConstructor): If the type 6968 is an enum, get the enum's underlying type. Another mono 6969 1.1.3 fix. 6970 6971 2005-01-11 Joe Shaw <joeshaw (a] novell.com> 6972 6973 Patch from Sjoerd Simons <sjoerd (a] luon.net> 6974 6975 * mono/Makefile.am, mono/example/Makefile.am: Don't redefine 6976 DESTDIR. It breaks stuff. 6977 6978 2005-01-11 Joe Shaw <joeshaw (a] novell.com> 6979 6980 Patch from Tambet Ingo <tambet (a] ximian.com> 6981 6982 * mono/DBusType/Array.cs (Get): Get the underlying element type by 6983 calling type.GetElementType(). The code previously depended on 6984 broken Mono behavior, which was fixed in Mono 1.1.3. 6985 6986 * mono/DBusType/Dict.cs (constructor): Fix the parameters for 6987 Activator.CreateInstance() so that the class's constructor is 6988 called with the right parameters. 6989 6990 2005-01-11 Joe Shaw <joeshaw (a] novell.com> 6991 6992 Patch from Timo Ters <ext-timo.teras (a] nokia.com> 6993 6994 * dbus/dbus-connection.c 6995 (_dbus_connection_queue_received_message_link): Call 6996 _dbus_connection_remove_timeout() instead of the _locked() 6997 variant, since it's always called from 6998 _dbus_connection_handle_watch(), which handles the locking. 6999 Removed the _locked() variant since it's no longer used. 7000 7001 2005-01-03 Havoc Pennington <hp (a] redhat.com> 7002 7003 * dbus/dbus-internals.h: I'm an idiot, _dbus_assert certainly can 7004 return 7005 7006 2004-12-26 Havoc Pennington <hp (a] redhat.com> 7007 7008 * dbus/dbus-internals.h: add _DBUS_GNUC_NORETURN to _dbus_assert 7009 7010 2005-01-03 Havoc Pennington <hp (a] redhat.com> 7011 7012 * dbus/dbus-sysdeps.c (_dbus_sysdeps_test): fix using == on 7013 floating point 7014 7015 * dbus/dbus-string.c (_dbus_string_insert_alignment): new function 7016 7017 2005-01-02 Havoc Pennington <hp (a] redhat.com> 7018 7019 * dbus/dbus-internals.h (_DBUS_ALIGN_OFFSET): new macro 7020 7021 2005-01-01 Havoc Pennington <hp (a] redhat.com> 7022 7023 * configure.in: add -Wfloat-equal 7024 7025 2005-01-01 Havoc Pennington <hp (a] redhat.com> 7026 7027 * dbus/dbus-sysdeps.h: add _DBUS_DOUBLES_BITWISE_EQUAL macro, 7028 for a variety of reasons '==' doesn't do this. 7029 7030 2004-12-31 Havoc Pennington <hp (a] redhat.com> 7031 7032 * dbus/dbus-string.c (_dbus_string_equal_substrings): new function 7033 I keep wishing I had 7034 7035 2004-12-30 John (J5) Palmieri <johnp (a] redhat.com> 7036 7037 * python/dbus.py: s/ACTIVATION_REPLY_ACTIVE/ACTIVATION_REPLY_ACTIVATED 7038 7039 2004-12-30 John (J5) Palmieri <johnp (a] redhat.com> 7040 7041 * python/dbus_bindings.pyx.in: Change DBUS_ACTIVATION_REPLY_ACTIVATED 7042 and DBUS_ACTIVATION_REPLY_ALREADY_ACTIVE to match the values in 7043 dbus-protocol.h. Because they are defines and not enums they are not 7044 autogenerated. 7045 7046 2004-12-26 John (J5) Palmieri <johnp (a] redhat.com> 7047 7048 * python/dbus_bindings.pyx.in (bus_activate_service): Bind 7049 dbus_bus_activate_service 7050 7051 * python/dbus.py (Bus.activate_service): activate a service on the 7052 bus. 7053 7054 2004-12-24 Havoc Pennington <hp (a] redhat.com> 7055 7056 * test/decode-gcov.c: change to use .gcno and .gcda files, but the 7057 file format has also changed and I haven't adapted to that yet 7058 7059 * Makefile.am: load .gcno files from latest gcc 7060 7061 2004-12-23 John (J5) Palmieri <johnp (a] redhat.com> 7062 * Patch from Rob Taylor <robtaylor (a] fastmail.fm> 7063 7064 * python/dbus_bindings.pyx.in (bus_get_unix_user): New 7065 lowlevel binding 7066 7067 * python/dbus.py (get_unix_user): Added binding to 7068 call dbus_bindings.bus_get_unix_user 7069 7070 * python/extract.py: Modified the proto_pat regex to 7071 handle unsigned long 7072 7073 2004-12-21 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 7074 7075 * dbus/make-dbus-glib-error-enum.sh: omit the function keyword for 7076 better POSIX compliance. 7077 7078 2004-12-19 Havoc Pennington <hp (a] redhat.com> 7079 7080 * dbus/dbus-string.c (_dbus_string_insert_4_aligned) 7081 (_dbus_string_insert_8_aligned): new functions 7082 7083 * dbus/dbus-string.c (_dbus_string_alloc_space): new function 7084 7085 2004-12-18 Havoc Pennington <hp (a] redhat.com> 7086 7087 * dbus/dbus-string.c (_dbus_string_validate_ascii): use ISASCII 7088 macro 7089 7090 * dbus/dbus-message.c: fix a comment, and add a still-unused 7091 not-implemented function 7092 7093 * dbus/dbus-marshal.h: fix comment 7094 7095 * dbus/dbus-internals.h (_DBUS_ISASCII): new macro 7096 7097 2004-12-17 Joe Shaw <joeshaw (a] novell.com> 7098 7099 * mono/DBusType/Byte.cs, mono/DBusType/Int32.cs, 7100 mono/DBusType/Int64.cs, mono/DBusType/UInt32.cs, 7101 mono/DBusType/UInt64.cs: Use Enum.GetUnderlyingType() instead of 7102 Type.UnderlyingSystemType to get the actual system type 7103 underneath. This code previously depended on the broken Mono 7104 behavior, which was fixed in 1.1.3. 7105 7106 2004-11-27 Havoc Pennington <hp (a] redhat.com> 7107 7108 * dbus/dbus-string.h (_dbus_string_get_byte): inline when asserts 7109 are disabled 7110 (_dbus_string_get_const_data): inline when asserts are disabled 7111 7112 * dbus/dbus-message.c: record the _dbus_current_generation of 7113 creation so we can complain if dbus_shutdown() is used improperly. 7114 Do this only if checks are enabled. 7115 7116 * dbus/dbus-connection.c: ditto 7117 7118 2004-11-26 Havoc Pennington <hp (a] redhat.com> 7119 7120 * test/glib/test-profile.c: add with_bus mode to profile echoes 7121 that go through the bus. 7122 7123 * test/glib/run-test.sh: add ability to run test-profile 7124 7125 * bus/dbus-daemon-1.1.in: fix to say that SIGHUP causes partial 7126 config file reload. 7127 7128 2004-11-26 Havoc Pennington <hp (a] redhat.com> 7129 7130 * test/glib/test-profile.c: clean up how the fake_malloc_overhead 7131 thing was implemented 7132 7133 2004-11-26 Havoc Pennington <hp (a] redhat.com> 7134 7135 * test/glib/test-profile.c: tweak a bit, add support for some 7136 made-up minimal malloc overhead with plain sockets, since in 7137 real life some sort of buffers are unavoidable thus we could 7138 count them in the theoretical best case 7139 7140 2004-11-26 Havoc Pennington <hp (a] redhat.com> 7141 7142 * dbus/dbus-message.c (dbus_message_cache_or_finalize): fix bug 7143 where I was trying to cache one too many messages 7144 7145 2004-11-26 Havoc Pennington <hp (a] redhat.com> 7146 7147 * dbus/dbus-message.c: reimplement message cache as an array which 7148 makes the cache about twice as fast and saves maybe 1.5% overall 7149 7150 2004-11-26 Havoc Pennington <hp (a] redhat.com> 7151 7152 * dbus/dbus-threads.c (init_global_locks): forgot to put the 7153 message cache lock here 7154 7155 2004-11-26 Havoc Pennington <hp (a] redhat.com> 7156 7157 * dbus/dbus-message.c (struct DBusMessage): put the locked bit and 7158 the "char byte_order" next to each other to save 4 bytes 7159 (dbus_message_new_empty_header): reduce preallocation, since the 7160 message cache should achieve a similar effect 7161 (dbus_message_cache_or_finalize, dbus_message_get_cached): add a 7162 message cache that keeps a few DBusMessage around in a pool, 7163 another 8% speedup or so. 7164 7165 * dbus/dbus-dataslot.c (_dbus_data_slot_list_clear): new function 7166 7167 2004-11-25 Havoc Pennington <hp (a] redhat.com> 7168 7169 * dbus/dbus-transport-unix.c (unix_do_iteration): if we're going 7170 to write, without reading or blocking, try it before the poll() 7171 and skip the poll() if nothing remains to write. This is about a 7172 3% speedup in the echo client/server 7173 7174 2004-11-25 Havoc Pennington <hp (a] redhat.com> 7175 7176 The primary change here is to always write() once before adding 7177 the write watch, which gives us about a 10% performance increase. 7178 7179 * dbus/dbus-transport-unix.c: a number of modifications to cope 7180 with removing messages_pending 7181 (check_write_watch): properly handle 7182 DBUS_AUTH_STATE_WAITING_FOR_MEMORY; adapt to removal of 7183 messages_pending stuff 7184 (check_read_watch): properly handle WAITING_FOR_MEMORY and 7185 AUTHENTICATED cases 7186 (unix_handle_watch): after writing, see if the write watch can be 7187 removed 7188 (unix_do_iteration): assert that write_watch/read_watch are 7189 non-NULL rather than testing that they aren't, since they 7190 aren't allowed to be NULL. check_write_watch() at the end so 7191 we add the watch if we did not finish writing (e.g. got EAGAIN) 7192 7193 * dbus/dbus-transport-protected.h: remove messages_pending call, 7194 since it resulted in too much inefficient watch adding/removing; 7195 instead we now require that the transport user does an iteration 7196 after queueing outgoing messages, and after trying the first 7197 write() we add a write watch if we got EAGAIN or exceeded our 7198 max bytes to write per iteration setting 7199 7200 * dbus/dbus-string.c (_dbus_string_validate_signature): add this 7201 function 7202 7203 * dbus/dbus-server-unix.c (unix_finalize): the socket name was 7204 freed and then accessed, valgrind flagged this bug, fix it 7205 7206 * dbus/dbus-message.c: fix several bugs where HEADER_FIELD_LAST was taken 7207 as the last valid field plus 1, where really it is equal to the 7208 last valid field. Corrects some message corruption issues. 7209 7210 * dbus/dbus-mainloop.c: verbosity changes 7211 7212 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): handle OOM 7213 instead of aborting in one of the test codepaths 7214 7215 * dbus/dbus-internals.c (_dbus_verbose_real): fix a bug that 7216 caused not printing the pid ever again if a verbose was missing 7217 the newline at the end 7218 (_dbus_header_field_to_string): add HEADER_FIELD_SIGNATURE 7219 7220 * dbus/dbus-connection.c: verbosity changes; 7221 (dbus_connection_has_messages_to_send): new function 7222 (_dbus_connection_message_sent): no longer call transport->messages_pending 7223 (_dbus_connection_send_preallocated_unlocked): do one iteration to 7224 try to write() immediately, so we can avoid the write watch. This 7225 is the core purpose of this patchset 7226 (_dbus_connection_get_dispatch_status_unlocked): if disconnected, 7227 dump the outgoing message queue, so nobody will get confused 7228 trying to send them or thinking stuff is pending to be sent 7229 7230 * bus/test.c: verbosity changes 7231 7232 * bus/driver.c: verbosity/assertion changes 7233 7234 * bus/dispatch.c: a bunch of little tweaks to get it working again 7235 because this patchset changes when/where you need to block. 7236 7237 2004-11-23 Havoc Pennington <hp (a] redhat.com> 7238 7239 * test/glib/test-profile.c: modify to accept a plain_sockets 7240 argument in which case it will bench plain sockets instead of 7241 libdbus, for comparison purposes. 7242 7243 2004-11-22 Havoc Pennington <hp (a] redhat.com> 7244 7245 * test/glib/test-profile.c (N_CLIENT_THREADS): run multiple 7246 threads for more time, so sysprof can get a grip on it. 7247 7248 * dbus/dbus-string.c (_dbus_string_validate_utf8): remove 7249 pointless variable 7250 7251 2004-11-13 Havoc Pennington <hp (a] redhat.com> 7252 7253 * test/glib/test-profile.c: fix this thing up a bit 7254 7255 * dbus/dbus-message.c (dbus_message_new_empty_header): increase 7256 preallocation sizes by a fair bit; not sure if this will be an 7257 overall performance win or not, but it does reduce reallocs. 7258 7259 * dbus/dbus-string.c (set_length, reallocate_for_length): ignore 7260 the test hack that forced constant realloc if asserts are 7261 disabled, so we can profile sanely. Sprinkle in some 7262 _DBUS_UNLIKELY() which are probably pointless, but before I 7263 noticed the real performance problem I put them in. 7264 (_dbus_string_validate_utf8): micro-optimize this thing a little 7265 bit, though callgrind says it didn't help; then special-case 7266 ascii, which did help a lot; then be sure we detect nul bytes as 7267 invalid, which is a bugfix. 7268 (align_length_then_lengthen): add some more _DBUS_UNLIKELY 7269 superstition; use memset to nul the padding instead of a manual 7270 loop. 7271 (_dbus_string_get_length): inline this as a 7272 macro; it showed up in the profile because it's used for loop 7273 tests and so forth 7274 7275 2004-11-10 Colin Walters <walters (a] verbum.org> 7276 7277 * dbus/dbus-spawn.c (check_babysit_events): Handle EINTR, 7278 for extra paranoia. 7279 7280 2004-11-09 Colin Walters <walters (a] verbum.org> 7281 7282 * dbus/dbus-string.c (_dbus_string_get_length): New 7283 function, writes DBusString to C buffer. 7284 7285 * dbus/dbus-string.h: Prototype it. 7286 7287 * dbus/dbus-message.c (dbus_message_type_to_string): New 7288 function, converts message type into C string. 7289 7290 * dbus/dbus-message.h: Prototype it. 7291 7292 * bus/selinux.c (bus_selinux_check): Take source pid, 7293 target pid, and audit data. Pass audit data to 7294 avc_has_perm. 7295 (log_audit_callback): New function, appends extra 7296 audit information. 7297 (bus_selinux_allows_acquire_service): Also take 7298 service name, add it to audit data. 7299 (bus_selinux_allows_send): Also take message 7300 type, interface, method member, error name, 7301 and destination, and add them to audit data. 7302 (log_cb): Initialize func_audit. 7303 7304 * bus/selinux.h (bus_selinux_allows_acquire_service) 7305 (bus_selinux_allows_send): Update prototypes 7306 7307 * bus/services.c (bus_registry_acquire_service): Pass 7308 service name to bus_selinux_allows_acquire_service. 7309 7310 * bus/bus.c (bus_context_check_security_policy): Pass 7311 additional audit data. Move assignment of dest 7312 to its own line. 7313 7314 2004-11-07 Colin Walters <walters (a] verbum.org> 7315 7316 * dbus/dbus-transport-unix.c (do_authentication): Always 7317 initialize auth_completed. 7318 7319 2004-11-07 Colin Walters <walters (a] verbum.org> 7320 7321 * bus/bus.c (load_config): Break into three 7322 separate functions: process_config_first_time_only, 7323 process_config_every_time, and process_config_postinit. 7324 (process_config_every_time): Move call of 7325 bus_registry_set_service_context_table into 7326 process_config_postinit. 7327 (process_config_postinit): New function, does 7328 any processing that needs to happen late 7329 in initialization (and also on reload). 7330 (bus_context_new): Instead of calling load_config, 7331 open config parser here and call process_config_first_time_only 7332 and process_config_every_time directly. Later, after 7333 we have forked but before changing UID, 7334 invoke bus_selinux_full_init, and then call 7335 process_config_postinit. 7336 (bus_context_reload_config): As in bus_context_new, 7337 load parse file inside here, and call process_config_every_time 7338 and process_config_postinit. 7339 7340 * bus/services.h, bus/services.c 7341 (bus_registry_set_service_context_table): Rename 7342 from bus_registry_set_sid_table. Take string hash from config 7343 parser, and convert them here into SIDs. 7344 7345 * bus/config-parser.c (struct BusConfigParser): Have 7346 config parser only store a mapping of service->context 7347 string. 7348 (merge_service_context_hash): New function. 7349 (merge_included): Merge context string hashes instead 7350 of using bus_selinux_id_table_union. 7351 (bus_config_parser_new): Don't use bus_selinux_id_table_new; 7352 simply create a new string hash. 7353 (bus_config_parser_unref): Unref it. 7354 (start_selinux_child): Simply insert strings into hash, 7355 don't call bus_selinux_id_table_copy_over. 7356 7357 * bus/selinux.h, bus/selinux.c (bus_selinux_id_table_union) 7358 (bus_selinux_id_table_copy_over): Delete. 7359 7360 2004-11-03 Colin Walters <walters (a] verbum.org> 7361 7362 * bus/selinux.c (bus_selinux_pre_init): Kill some unused 7363 variables. 7364 7365 2004-11-03 Colin Walters <walters (a] verbum.org> 7366 7367 * bus/test-main.c (test_pre_hook): Fix test logic, 7368 thanks Joerg Barfurth <Joerg.Barfurth (a] Sun.COM>. 7369 7370 2004-11-02 Colin Walters <walters (a] redhat.com> 7371 7372 * bus/selinux.c (bus_selinux_init): Split into two functions, 7373 bus_selinux_pre_init and bus_selinux_post_init. 7374 (bus_selinux_pre_init): Just determine whether SELinux is 7375 enabled. 7376 (bus_selinux_post_init): Do everything else. 7377 7378 * bus/main.c (main): Call bus_selinux_pre_init before parsing 7379 config file, and bus_selinux_post_init after. This ensures that 7380 we don't lose the policyreload notification thread that 7381 bus_selinux_init created before forking previously. 7382 7383 * bus/test-main.c (test_pre_hook): Update for split. 7384 7385 2004-10-31 Owen Fraser-Green <owen (a] discobabe.net> 7386 7387 Patch from Johan Fischer <linux (a] fischaz.com> 7388 7389 * mono/doc/Makefile.am (install-data-local): Added directory 7390 install for DESTDIR 7391 7392 2004-10-29 Colin Walters <walters (a] redhat.com> 7393 7394 * dbus/dbus-sysdeps.h (_dbus_become_daemon): Also take 7395 parameter for fd to write pid to. 7396 7397 * dbus/dbus-sysdeps.c (_dbus_become_daemon): Implement it. 7398 7399 * bus/bus.c (bus_context_new): Pass print_pid_fd 7400 to _dbus_become_daemon (bug #1720) 7401 7402 2004-10-29 Colin Walters <walters (a] redhat.com> 7403 7404 Patch from Ed Catmur <ed (a] catmur.co.uk> 7405 7406 * mono/doc/Makefile.am (install-data-local): Handle 7407 DESTDIR. 7408 7409 2004-10-29 Colin Walters <walters (a] redhat.com> 7410 7411 * bus/.cvsignore, qt/.cvsignore: Update. 7412 7413 2004-10-29 Colin Walters <walters (a] redhat.com> 7414 7415 Patch from Kristof Vansant <de_lupus (a] pandora.be> 7416 7417 * configure.in: Detect Slackware. 7418 * bus/Makefile.am (SCRIPT_IN_FILES): Add rc.messagebus.in. 7419 * bus/rc.messagebus.in: New file. 7420 7421 2004-10-29 Colin Walters <walters (a] redhat.com> 7422 7423 * tools/dbus-monitor.c (filter_func): Return 7424 DBUS_HANDLER_RESULT_HANDLED in filter function 7425 for now. See: 7426 http://freedesktop.org/pipermail/dbus/2004-August/001433.html 7427 7428 2004-10-29 Colin Walters <walters (a] redhat.com> 7429 7430 Patch from Matthew Rickard <mjricka (a] epoch.ncsc.mil> 7431 7432 * bus/services.c (bus_registry_acquire_service): 7433 Correctly retrieve service name from DBusString 7434 for printing. 7435 7436 2004-10-29 Colin Walters <walters (a] redhat.com> 7437 7438 * dbus/dbus-glib.h: Update documentation to not 7439 refer to internal APIs. 7440 7441 2004-10-27 Joe Shaw <joeshaw (a] novell.com> 7442 7443 * mono/Arguments.cs (GetDBusTypeConstructor): 7444 type.UnderlyingSystemType will return "System.Byte" if you do it 7445 on "byte[]", which is not what we want. So check the type.IsArray 7446 property and use System.Array instead. 7447 7448 2004-10-25 John (J5) Palmieri <johnp (a] redhat.com> 7449 7450 * dbus/dbus-sysdeps.c (fill_user_info): On errors do not free 7451 the DBusUserInfo structure since this is passed into the function. 7452 This would cause a double free when the function that allocated 7453 the structure would try to free it when an error occured. 7454 7455 * (bus/session.conf.in, bus/Makefile.am, dbus/configure.in): 7456 use /usr/share/dbus-1/services instead of /usr/lib/dbus-1.0/services 7457 for service activation to avoid 32bit/64bit parallel install issues 7458 7459 2004-10-21 Colin Walters <walters (a] verbum.org> 7460 7461 * AUTHORS: Fix my email address, the @gnu.org one 7462 has been bouncing for some time. Also add J5. 7463 7464 2004-10-21 Colin Walters <walters (a] verbum.org> 7465 7466 * dbus/dbus-transport-unix.c (do_authentication): Return 7467 authentication status to callers. 7468 (unix_handle_watch): If we completed authentication this round, 7469 don't do another read. Instead wait until the next iteration, 7470 after we've read any pending data in the auth buffer. 7471 (unix_do_iteration): Ditto. 7472 (unix_handle_watch): Updated for new do_authentication prototype. 7473 7474 2004-10-18 Colin Walters <walters (a] verbum.org> 7475 7476 * bus/selinux.c (bus_selinux_enabled): Handle 7477 --disable-selinux case. 7478 7479 2004-10-18 Colin Walters <walters (a] verbum.org> 7480 7481 * bus/selinux.h: Add bus_selinux_enabled. 7482 7483 * bus/selinux.c (bus_selinux_enabled): Implement it. 7484 7485 * bus/config-parser.c (struct include): Add 7486 if_selinux_enabled member. 7487 (start_busconfig_child): Parse if_selinux_enabled 7488 attribute for include. 7489 (bus_config_parser_content): Handle it. 7490 7491 * bus/session.conf.in, bus/system.conf.in: Add 7492 inclusion of context mapping to default config files; 7493 conditional on SELinux being enabled. 7494 7495 * doc/busconfig.dtd: Add to if_selinux_enabled to default DTD. 7496 7497 * test/data/invalid-config-files/badselinux-1.conf, 7498 test/data/invalid-config-files/badselinux-2.conf: 7499 Test files for bad syntax. 7500 7501 2004-10-17 Colin Walters <walters (a] verbum.org> 7502 7503 * dbus/dbus-memory.c (_dbus_initialize_malloc_debug, check_guards) 7504 (dbus_malloc, dbus_malloc0, dbus_realloc): Fix up printf 7505 format specifier mismatches. 7506 7507 2004-10-07 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 7508 7509 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): fix an incorrect 7510 format string. 7511 7512 * glib/dbus-dbus-gmain.c (dbus_g_bus_get): do not mangle NULL 7513 pointer (bug #1540, Leonardo Boiko). 7514 7515 2004-09-28 Jon Trowbridge <trow (a] ximian.com> 7516 7517 * mono/BusDriver.cs: Changed BusDriver struct to remove 7518 the ServiceCreated and ServiceDeleted events and replace them 7519 with the new ServiceOwnerChanged event. 7520 7521 * mono/example/BusListener.cs: Added a new example program, 7522 which listens for and reports any ServiceOwnerChanged events 7523 on the bus driver. 7524 7525 * mono/example/Makefile.am (DESTDIR): Build changes for the 7526 new BusListener.cs example. 7527 7528 2004-09-27 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 7529 7530 * bus/signals.c (bus_match_rule_parse): validate the components of 7531 match rules (bug #1439). 7532 7533 * dbus/dbus-bus.c (dbus_bus_add_match): add a missing OOM test. 7534 7535 2004-09-24 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 7536 7537 * doc/dbus-specification.xml: document ServiceOwnerChanged 7538 signal. 7539 7540 * bus/driver.c, bus/driver.h, bus/services.c: Use 7541 ServiceOwnerChanged signal instead of ServiceCreated and 7542 ServiceDeleted. 7543 7544 * bus/dispatch.c: update testcase for the new signal. 7545 7546 2004-09-20 Jon Trowbridge <trow (a] ximian.com> 7547 7548 Patch from Nat Friedman <nat (a] novell.com> 7549 7550 * mono/Makefile.am: A number of small build fixes to allow "make 7551 distcheck" to succeed. 7552 7553 * mono/example/Makefile.am: "make distcheck" fixes. 7554 7555 * mono/AssemblyInfo.cs.in: When signing the assembly, look for the 7556 key in @srcdir@. 7557 7558 * test/Makefile.am: "make distcheck" fixes. 7559 7560 2004-09-17 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 7561 7562 * dbus/dbus-sysdeps.c (_dbus_user_at_console): fix memleak in OOM. 7563 7564 * doc/busconfig.dtd: update the DTD for the at_console attribute. 7565 7566 * bus/driver.c (bus_driver_handle_hello): correctly handle Hello 7567 messages after the first one (bug #1389). 7568 7569 * bus/dispatch.c (check_double_hello_message): add a test case for 7570 the double hello message bug. 7571 (check_existent_service_activation): fix check of spawning error. 7572 7573 2004-09-16 David Zeuthen <david (a] fubar.dk> 7574 7575 * python/dbus_bindings.pyx.in: Add support for int64 and uint64 7576 7577 2004-09-12 David Zeuthen <david (a] fubar.dk> 7578 7579 Patch from Kay Sievers <kay.sievers (a] vrfy.org> 7580 7581 * bus/bus.c (bus_context_new): 7582 * bus/bus.h: 7583 * bus/main.c (usage) 7584 (main): 7585 Add commandline option --nofork to override configuration file 7586 setting. 7587 7588 2004-09-09 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 7589 7590 * dbus/dbus-*.h: remove the ; after DBUS_(BEGIN|END)_DECLS. Some C 7591 compilers don't like it (bug #974). 7592 7593 2004-09-04 Harald Fernengel <harry (a] kdevelop.org> 7594 7595 * qt/connection.*: Applied patch by Jrme Lodewyck 7596 <lodewyck (a] clipper.ens.fr> to integrate an existing 7597 connection into the Qt eventloop 7598 7599 2004-08-30 Jon Trowbridge <trow (a] ximian.com> 7600 7601 * mono/BusDriver.cs: Added. This is a class for interacting with 7602 the org.freedesktop.DBus service. 7603 7604 * mono/Message.cs: Added a mechanism to expose the message that is 7605 currently being dispatched via the static Message.Current 7606 property. Added Message.Sender and Message.Destination 7607 properties. 7608 7609 * mono/Handler.cs: Expose the dispatched message via 7610 Message.Current when handling method calls. 7611 7612 * mono/Service.cs: Expose the dispatched message via 7613 Message.Current when handling signal emissions. 7614 7615 * mono/Connection.cs: Bind dbus_bus_get_base_service via the 7616 Connection.BaseService property. 7617 7618 2004-08-28 Havoc Pennington <hp (a] redhat.com> 7619 7620 * dbus/dbus-userdb.c (_dbus_is_console_user): remove unused variable 7621 7622 More fixes from Steve Grubb 7623 7624 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix fd leak 7625 (_dbus_listen_tcp_socket): fix fd leak 7626 7627 * dbus/dbus-spawn.c (read_pid, read_ints): move the "again:" for 7628 EINTR to a bit lower in the code 7629 7630 2004-08-26 Jon Trowbridge <trow (a] ximian.com> 7631 7632 * bus/driver.c (bus_driver_handle_service_exists): Respond with 7633 TRUE if we are inquiring about the existence of the built-in 7634 org.freedesktop.DBus service. 7635 7636 2004-08-25 John Palmieri <johnp (a] redhat.com> 7637 * bus/config-parser.c: 7638 (struct PolicyType): Add POLICY_CONSOLE 7639 (struct Element.d.policy): s/gid_or_uid/gid_uid_or_at_console 7640 (start_busconfig_child): Sets up console element when 7641 <policy at_console=""> is encountered in a policy file 7642 (append_rule_from_element): Convert console elements to console 7643 rules. 7644 7645 * bus/policy.c: 7646 (bus_policy_create_client_policy): Add console rules to the client 7647 policy based on if the client is at the console 7648 (bus_policy_append_console_rule): New function for adding a 7649 console rule to a policy 7650 (bus_policy_merge): Handle console rule merging 7651 7652 * dbus/dbus-sysdeps.h: Added the DBUS_CONSOLE_DIR constant 7653 where we check for console user files 7654 7655 * dbus/dbus-sysdeps.c: 7656 (_dbus_file_exists): New function which checks if the given 7657 file exists 7658 (_dbus_user_at_console): New function which does the system 7659 specific process of checking if the user is at the console 7660 7661 * dbus/dbus-userdb.c: 7662 (_dbus_is_console_user): New function converts a UID to user name 7663 and then calls the system specific _dbus_user_at_console to 7664 see if the user is at the console and therefor a console user 7665 7666 2004-08-25 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 7667 7668 * bus/config-parser.c (set_limit): 7669 * bus/dbus-daemon-1.1.in: 7670 * test/data/valid-config-files/many-rules.conf: set the 7671 max_match_rules_per_connection limt from the config file. 7672 7673 * doc/busconfig.dtd: update the DTD. 7674 7675 * bus/driver.c: remove some unused variables. 7676 7677 2004-08-24 Mikael Hallendal <micke (a] imendio.com> 7678 7679 * dbus/dbus-glib-lowlevel.h: Removed dbus_bus_get_with_g_main since 7680 it's been replaced by dbus_g_bus_get 7681 7682 2004-08-23 Colin Walters <walters (a] redhat.com> 7683 7684 Updated SELinux support from Matthew Rickard <mjricka (a] epoch.ncsc.mil> 7685 7686 * bus/selinux.h: Prototype bus_selinux_get_policy_root. 7687 7688 * bus/selinux.c: Create a thread for policy reload notification. 7689 (bus_selinux_get_policy_root): Implement. 7690 7691 * bus/config-parser.c (start_busconfig_child) 7692 (bus_config_parser_content): Support SELinux-root relative 7693 inclusion. 7694 7695 * configure.in <HAVE_SELINUX>: Add -lpthread. 7696 7697 * bus/test-main.c (test_pre_hook, test_post_hook): New. 7698 (test_post_hook): Move memory checking into here. 7699 (test_pre_hook, test_post_hook): Move SELinux checks in 7700 here, but conditional on a DBUS_TEST_SELINUX environment 7701 variable. Unfortunately we can't run the SELinux checks 7702 as a normal user, since they won't have any permissions 7703 for /selinux. So this will have to be tested manually 7704 for now, until we have virtualization for most of 7705 libselinux. 7706 7707 2004-08-23 Havoc Pennington <hp (a] redhat.com> 7708 7709 * dbus/dbus-sysdeps.c (_dbus_change_identity): add setgroups() to 7710 drop supplementary groups, suggested by Steve Grubb 7711 7712 2004-08-20 Colin Walters <walters (a] redhat.com> 7713 7714 * bus/config-parser.c (start_busconfig_child): Remove some unused 7715 variables. 7716 7717 * bus/selinux.c (bus_selinux_id_table_insert): Avoid compiler 7718 warning. 7719 7720 2004-08-17 Joe Shaw <joeshaw (a] novell.com> 7721 7722 * configure.in: If --enable-mono is passed in, if we can't find 7723 mono error out. 7724 7725 * mono/Makefile.am: Use /gacutil to install assemblies into the 7726 GAC and not /root. 7727 7728 2004-08-12 Havoc Pennington <hp (a] redhat.com> 7729 7730 * NEWS: update for 0.22 7731 7732 * configure.in: release 0.22 7733 7734 2004-08-11 Colin Walters <walters (a] redhat.com> 7735 7736 * tools/dbus-send.c (main, usage): Add --reply-timeout 7737 argument. 7738 7739 2004-08-10 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 7740 7741 * bus/bus.c (process_config_first_time_only): get rid of an unused 7742 DBusError that was causing a memoy leak (bug #989). 7743 7744 * dbus/dbus-keyring.c, dbus/dbus-message.c: 7745 fix compilation on Solaris/Forte C (bug #974) 7746 7747 * bus/main.c (main): plug two minuscule memleaks. 7748 7749 2004-08-10 Havoc Pennington <hp (a] redhat.com> 7750 7751 * doc/dbus-tutorial.xml: add some more info on GLib bindings 7752 7753 2004-08-09 Havoc Pennington <hp (a] redhat.com> 7754 7755 * COPYING: switch to Academic Free License version 2.1 instead of 7756 2.0, to resolve complaints about patent termination clause. 7757 7758 2004-07-31 John (J5) Palmieri <johnp (a] redhat.com> 7759 7760 * README: added documentation for the --enable-python 7761 configure switch. 7762 7763 2004-07-31 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 7764 7765 * bus/config-parser.c (bus_config_parser_new): fix an invalid 7766 _unref in the SELinux support. 7767 7768 * doc/busconfig.dtd: update DTD for SELinux support. 7769 7770 * bus/config-loader-libxml.c: fix error handler and parser 7771 initialisation/cleanup. OOM test now works with libxml2 HEAD. 7772 7773 * configure.in: remove the warning about libxml2. 7774 7775 * dbus/dbus-bus.c: silence doxygen warning. 7776 7777 2004-07-31 Colin Walters <walters (a] redhat.com> 7778 7779 * configure.in: Move #error in SELinux check to its own line. 7780 7781 2004-07-31 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 7782 7783 * dbus/dbus-internals.h (_DBUS_SET_OOM): 7784 * bus/utils.h (BUS_SET_OOM): use dbus_error_set_const instead of 7785 dbus_error_set. 7786 7787 * bus/dispatch.c (check_send_exit_to_service): fix the test case, 7788 broken by the change in the _SET_OOM macros. 7789 7790 2004-07-31 Colin Walters <walters (a] redhat.com> 7791 7792 * bus/selinux.c <HAVE_SELINUX>: Include utils.h to get 7793 BUS_SET_OOM. 7794 7795 2004-07-31 Colin Walters <walters (a] redhat.com> 7796 7797 * configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADER 7798 to correctly detect DBUS__ACQUIRE_SVC. Also add an 7799 AC_MSG_CHECKING. 7800 7801 2004-07-24 Havoc Pennington <hp (a] redhat.com> 7802 7803 SELinux support from Matthew Rickard <mjricka (a] epoch.ncsc.mil> 7804 7805 * bus/selinux.c, bus/selinux.h: new file encapsulating selinux 7806 functionality 7807 7808 * configure.in: add --enable-selinux 7809 7810 * bus/policy.c (bus_policy_merge): add FIXME to a comment 7811 7812 * bus/main.c (main): initialize and shut down selinux 7813 7814 * bus/connection.c: store SELinux ID on each connection, to avoid 7815 repeated getting of the string context and converting it into 7816 an ID 7817 7818 * bus/bus.c (bus_context_get_policy): new accessor, though it 7819 isn't used 7820 (bus_context_check_security_policy): check whether the security 7821 context of sender connection can send to the security context of 7822 recipient connection 7823 7824 * bus/config-parser.c: add parsing for <selinux> and <associate> 7825 7826 * dbus/dbus-transport.c (_dbus_transport_get_unix_fd): to 7827 implement dbus_connection_get_unix_fd() 7828 7829 * dbus/dbus-connection.c (dbus_connection_get_unix_fd): new 7830 function, used by the selinux stuff 7831 7832 2004-07-29 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 7833 7834 * bus/config-loader-libxml.c: complete the implementation of 7835 libxml backend for config file loader. Doesn't work with full OOM 7836 test yet. 7837 7838 * configure.in: change error when selecting libxml into a warning. 7839 7840 * test/data/invalid-config-files: add two non-well-formed XML 7841 files. 7842 7843 * glib/Makefile.am: libdbus_gtool always uses expat, not libxml. 7844 7845 * dbus/dbus-transport-unix.c (unix_handle_watch): do not 7846 disconnect in case of DBUS_WATCH_HANGUP, several do_reading() may 7847 be necessary to read all the buffer. (bug #894) 7848 7849 * bus/activation.c (bus_activation_activate_service): fix a 7850 potential assertion failure (bug #896). Small optimization in the 7851 case of auto-activation messages. 7852 7853 * dbus/dbus-message.c (verify_test_message, _dbus_message_test): 7854 add test case for byte-through-vararg bug (#901). patch by Kimmo 7855 Hmlinen. 7856 7857 2004-07-28 Anders Carlsson <andersca (a] gnome.org> 7858 7859 * python/dbus.py: 7860 * python/dbus_bindings.pyx.in: 7861 Add dbus.init_gthreads (), allow emit_signal to pass 7862 arguments to the signal. 7863 7864 2004-07-24 Havoc Pennington <hp (a] redhat.com> 7865 7866 * AUTHORS: add some people, not really comprehensively, let me 7867 know if I missed you 7868 7869 2004-07-24 Havoc Pennington <hp (a] redhat.com> 7870 7871 * Makefile.am (DIST_SUBDIRS): add DIST_SUBDIRS, problem solved by 7872 Owen 7873 7874 * test/Makefile.am (DIST_SUBDIRS): here also 7875 7876 2004-07-22 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 7877 7878 * dbus/dbus-sysdeps.c (fill_user_info): fix inexistent label name, 7879 breaking build on Solaris, reported by Farhad Saberi on the ML. 7880 7881 * dbus/dbus-message.c (dbus_message_append_args_valist): fix the 7882 va_arg invocation to account for integer promotion in the case of 7883 DBUS_TYPE_BYTE (unsigned char is promoted to int). (bug #901) 7884 7885 * bus/services.c (bus_service_remove_owner): fix bug #902, use 7886 _dbus_list_get_first_link, not _dbus_list_get_first. 7887 7888 * dbus/dbus-bus.c (dbus_bus_service_exists): plug a memory leak. 7889 7890 * dbus/dbus-object-tree.c (free_subtree_recurse): always null 7891 handler functions so that the asserts in _dbus_object_subtree_unref 7892 do not fail. 7893 7894 * dbus/dbus-transport-unix.c (do_reading): 7895 _dbus_transport_queue_messages return value is of type 7896 dbus_bool_t, not DBusDispatchStatus. 7897 7898 2004-07-19 David Zeuthen <david (a] fubar.dk> 7899 7900 * dbus/dbus-protocol.h: Add DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN 7901 7902 * bus/dispatch.c: 7903 (check_get_connection_unix_user): Debug says GetProperty; but the 7904 method is called GetConnectionUnixUser 7905 (check_get_connection_unix_process_id): New function 7906 (bus_dispatch_test): Actually call check_get_connection_unix_user(); 7907 also call check_get_connection_unix_process_id() 7908 7909 * bus/driver.c: 7910 (bus_driver_handle_get_connection_unix_process_id): New function, 7911 handles GetConnectionUnixProcessID on the org.freedesktop.DBus 7912 interface 7913 7914 * dbus/dbus-auth.c: 7915 (handle_server_data_external_mech): Set pid from the credentials 7916 obtained from the socket 7917 7918 * dbus/dbus-connection.c: 7919 (dbus_connection_get_unix_process_id): New function 7920 7921 * dbus/dbus-connection.h: 7922 Add prototype for dbus_connection_get_unix_process_id 7923 7924 * dbus/dbus-transport.c: 7925 (_dbus_transport_get_unix_process_id): New function 7926 7927 * dbus/dbus-transport.h: 7928 Add prototype for _dbus_transport_get_unix_process_id 7929 7930 2004-07-19 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 7931 7932 * dbus/dbus-message.c: Message counter fix, patch by Christian 7933 Hammond <chipx86 (a] gnupdate.org> 7934 7935 2004-07-18 Seth Nickell <seth (a] gnome.org> 7936 7937 * python/dbus.py: 7938 * python/dbus_bindings.pyx.in: 7939 * python/tests/test-client.py: 7940 7941 Add dbus.ByteArray and dbus_bindings.ByteArray 7942 types so that byte streams can be passed back. 7943 7944 Give jdahlin the heaps of credit that are so 7945 rightfully his. 7946 7947 2004-07-12 Seth Nickell <seth (a] gnome.org> 7948 7949 * python/dbus.py: 7950 7951 Add message argument to the default object_method_handler 7952 function. 7953 7954 * python/dbus_bindings.pyx.in: 7955 7956 Automatically return NIL when passed an empty list 7957 (we can't pass back a list since lists are typed 7958 and we don't have any idea what type the the client 7959 intended the list to be... :-( ) 7960 7961 2004-07-10 Seth Nickell <seth (a] gnome.org> 7962 7963 * python/examples/Makefile.am: 7964 7965 Fix distcheck breakage caused by new examples. 7966 7967 2004-07-10 Seth Nickell <seth (a] gnome.org> 7968 7969 * python/dbus.py: 7970 7971 Add "message" argument to service-side dbus.Object 7972 methods. This will break existing services written 7973 using the python bindings, but will allow extraction 7974 of all the message information (e.g. who its from). 7975 7976 Add improved "object oriented" signal handling/emission. 7977 7978 * python/examples/example-service.py: 7979 7980 Nix this example. 7981 7982 * python/examples/example-signal-emitter.py: 7983 * python/examples/example-signal-recipient.py: 7984 7985 Two new examples that show how to emit and receive 7986 signals using the new APIs. 7987 7988 * python/examples/example-signals.py: 7989 * python/examples/gconf-proxy-service.py: 7990 * python/examples/gconf-proxy-service2.py: 7991 7992 Add "message" argument to service methods. 7993 7994 2004-06-28 Kay Sievers <kay.sievers (a] vrfy.org> 7995 7996 * bus/driver.c (bus_driver_handle_get_connection_unix_user) 7997 * dbus/bus.c (dbus_bus_get_unix_user) 7998 * doc/dbus-specification.xml: implement GetConnectionUnixUser 7999 method of org.freedesktop.DBus interface. 8000 8001 * bus/dispatch.c: test case 8002 8003 2004-06-23 John (J5) Palmieri <johnp (a] redhat.com> 8004 8005 * python/Makefile.am: switched include directory from glib/ to dbus/ 8006 since dbus-glib.h moved 8007 8008 2004-06-22 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 8009 8010 * configure.in: prevent building the gcj stuff and libxml loader 8011 since they are broken. 8012 8013 2004-06-20 Havoc Pennington <hp (a] redhat.com> 8014 8015 * dbus/dbus-glib-error-enum.h: autogenerate the GError enum 8016 codes from the dbus error names 8017 8018 * glib/dbus-glib.h: move to subdir dbus/ since it's included 8019 as dbus/dbus-glib.h and that breakage is now visible due to 8020 including dbus/dbus-glib.h in dbus-glib-lowlevel.h 8021 8022 * glib/dbus-glib.h: s/gproxy/g_proxy/ 8023 8024 * dbus/dbus-shared.h: new header to hold stuff shared with 8025 binding APIs 8026 8027 * dbus/dbus-protocol.h (DBUS_ERROR_*): move errors here rather 8028 than dbus-errors.h 8029 8030 * glib/dbus-glib.h (dbus_set_g_error): move to 8031 dbus-glib-lowlevel.h 8032 8033 * glib/dbus-glib.h: remove dbus/dbus.h from here; change a bunch 8034 of stuff to enable this 8035 8036 * dbus/dbus-glib-lowlevel.h: put dbus/dbus.h here 8037 8038 * a bunch of other changes with the same basic "separate glib 8039 bindings from dbus.h" theme 8040 8041 2004-06-10 Owen Fraser-Green <owen (a] discobabe.net> 8042 8043 * dbus-sharp.pc.in: Removed glib-sharp inclusion in Libs. 8044 8045 * python/examples/Makefile.am: Fixed typo in EXTRA_DIST. 8046 8047 2004-06-09 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 8048 8049 * bus/driver.c, dbus/dbus-bus.c: use BOOLEAN instead of UINT32 for 8050 the reply value of the ServiceExists message. 8051 8052 2004-06-07 John (J5) Palmieri <johnp (a] redhat.com> 8053 8054 * python/dbus_bindings.pyx.in: No longer need to parse path 8055 elements and pass them as arrays of strings. The C API now 8056 accepts plain path strings. 8057 (_build_parsed_path): removed 8058 8059 2004-06-07 Havoc Pennington <hp (a] redhat.com> 8060 8061 * doc/TODO: remove auto-activation item since it's done; sort 8062 items by importance/milestone 8063 8064 2004-06-07 Havoc Pennington <hp (a] redhat.com> 8065 8066 * dbus/dbus-message-builder.c (_dbus_message_data_load): append 8067 random signature when using REQUIRED_FIELDS (this hack won't work 8068 in the long term) 8069 8070 * dbus/dbus-message.c: change the signature to be a header field, 8071 instead of message->signature special-case string. Incremental 8072 step forward. Then we can fix up code to send the signature in the 8073 message, then fix up code to validate said signature, then fix up 8074 code to not put the typecodes inline, etc. 8075 (load_one_message): don't make up the signature after the fact 8076 (decode_header_data): require signature field for the known 8077 message types 8078 8079 * dbus/dbus-marshal.c (_dbus_marshal_string_len): new 8080 8081 * dbus/dbus-protocol.h: add DBUS_HEADER_FIELD_SIGNATURE 8082 8083 2004-06-07 Owen Fraser-Green <owen (a] discobabe.net> 8084 8085 * mono/DBusType/ObjectPath.cs: Renamed PathName argument to Path 8086 8087 * mono/Handler.cs: Updated to follow new path argument for 8088 (un-)registering objects. 8089 8090 * mono/example/Makefile.am: 8091 * mono/Makefile.am: 8092 * configure.in: Bumped required version for mono and use new -pkg 8093 syntax for deps 8094 8095 2004-06-05 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 8096 8097 * dbus/dbus-connection.h, dbus/dbus-connection.c: have object path 8098 registration functions take the path argument as char* instead of 8099 char**. 8100 8101 * dbus/dbus-marshal.h, dbus/dbus-marshal.c (_dbus_decompose_path): 8102 split off the path decompostion part of 8103 _dbus_demarshal_object_path. Some misc. fixes to silence compiler 8104 warnings. 8105 8106 * glib/dbus-gobject.c, test/test-service.c: update accordingly. 8107 8108 2004-06-02 Kristian Hgsberg <krh (a] redhat.com> 8109 8110 * dbus/dbus-auth.c: Rewrite auth protocol handling to use a state 8111 machine approach. A state is implemented as a function that 8112 handles incoming events as specified for that state. 8113 8114 * doc/dbus-specification.xml: Update auth protocol state machine 8115 specification to match implementation. Remove some leftover 8116 base64 examples. 8117 8118 2004-06-02 Kristian Hgsberg <krh (a] redhat.com> 8119 8120 * glib/dbus-gproxy.c, glib/dbus-gmain.c, dbus/dbus-string.c, 8121 dbus/dbus-object-tree.c, dbus/dbus-message.c: add comments to 8122 quiet doxygen. 8123 8124 * Doxyfile.in: remove deprecated options. 8125 8126 * dbus/dbus-message-handler.c, dbus/dbus-message-handler.h, 8127 glib/test-thread.h, glib/test-thread-client.c, 8128 glib/test-thread-server.c, glib/test-profile.c, 8129 glib/test-dbus-glib.c: remove these unused files. 8130 8131 2004-06-01 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 8132 8133 * dbus/dbus-object-tree.c 8134 (_dbus_object_tree_dispatch_and_unlock): fix dispatch for 8135 non-fallback handlers (bug #684). 8136 (_dbus_object_subtree_new): initialize invoke_as_fallback field. 8137 (find_subtree_recurse): report wether the returned subtree is an 8138 exact match or a "fallback" match higher up in the tree. 8139 (object_tree_test_iteration): update test case. 8140 8141 2004-06-01 Seth Nickell <seth (a] gnome.org> 8142 8143 * python/dbus_bindings.pyx.in: 8144 * python/tests/test-client.py: 8145 8146 Round off basic type support. Add dicts (yay!), and 8147 remaining array types. 8148 8149 Make MessageIter more general so it works for dicts too. 8150 8151 Mark all loop variables as C integers. 8152 8153 2004-05-31 Havoc Pennington <hp (a] redhat.com> 8154 8155 * glib/dbus-gidl.c (method_info_add_arg): keep args sorted with 8156 "in" before "out" 8157 8158 * glib/dbus-gobject.c (dbus_type_to_string): move to dbus-gutils.c 8159 8160 * glib/dbus-glib-tool.c (main): set up to have a --self-test 8161 option that runs the tests, and start filling in some code 8162 including for starters just dumping the interfaces to stdout 8163 8164 * glib/Makefile.am (INCLUDES): define DBUS_LOCALEDIR 8165 8166 * test/data/valid-introspection-files/lots-of-types.xml: test of 8167 an example introspection file 8168 8169 * glib/dbus-gparser.c (parser_check_doctype): doctype should be 8170 "node" (I think...) 8171 8172 2004-05-31 Seth Nickell <seth (a] gnome.org> 8173 8174 * python/dbus_bindings.pyx.in: 8175 * python/tests/test-client.py: 8176 8177 Test Suite: 1 8178 Python Bindings: 0 8179 8180 Fix string array memory trashing bug... oops... 8181 8182 2004-05-30 Seth Nickell <seth (a] gnome.org> 8183 8184 * python/dbus.py: 8185 8186 Add a nicer-but-less-flexible alternate API for handling 8187 calls to virtual objects in dbus.ObjectTree. 8188 8189 Screw up the argument order to the dbus.Object constructor 8190 for consistency with dbus.ObjectTree (and to make dbus_methods 8191 optional for future extension) 8192 8193 * python/examples/Makefile.am: 8194 * python/examples/gconf-proxy-service.py: 8195 * python/examples/gconf-proxy-service2.py: 8196 8197 Alternate implementation of gconf-proxy-service using the 8198 nicer dbus.ObjectTree API. 8199 8200 * python/examples/example-service.py: 8201 * python/tests/test-server.py 8202 8203 Reverse the argument order to deal with dbus.Object constructor 8204 changes. 8205 8206 2004-05-30 Seth Nickell <seth (a] gnome.org> 8207 8208 * python/examples/example-client.py: 8209 * python/examples/example-service.py: 8210 8211 Take it back. Lists seem to work but they're broken 8212 in the test suite. Make the base examples use 8213 lists (works fine). 8214 8215 2004-05-30 Seth Nickell <seth (a] gnome.org> 8216 8217 * python/dbus_bindings.pyx.in: 8218 * python/tests/test-client.py: 8219 8220 Add some more tests and fix errors that crop up. 8221 Unfortunately, currently it seems like marshalling 8222 and unmarshalling of lists is completely broken :-( 8223 8224 2004-05-30 Seth Nickell <seth (a] gnome.org> 8225 8226 * python/dbus_bindings.pyx.in: 8227 8228 Add support for ObjectPath type. 8229 8230 * python/dbus.py: 8231 8232 Refactor message handling code to a common function. 8233 8234 * python/tests/test-client.py: 8235 * python/tests/test-server.py: 8236 8237 Add tests that check to make sure values of all types 8238 can be echoed from a service w/o mangling. 8239 8240 2004-05-29 Seth Nickell <seth (a] gnome.org> 8241 8242 * python/dbus.py: 8243 8244 Add ObjectTree class which allows implementation 8245 of trees of "virtual" objects. Basically the python 8246 wrapper for "register_fallback". 8247 8248 * python/examples/Makefile.am 8249 * python/examples/gconf-proxy-client.py: 8250 * python/examples/gconf-proxy-service.py: 8251 8252 Implement a simple GConf proxy service that supports 8253 get/set on string and int GConf keys using the ObjectTree. 8254 8255 2004-05-29 Seth Nickell <seth (a] gnome.org> 8256 8257 * python/dbus.py: 8258 * python/examples/example-client.py: 8259 * python/examples/example-service.py: 8260 * python/examples/list-system-services.py: 8261 8262 Add SessionBus, SystemBus and ActivationBus classes 8263 so you don't need to know the special little BUS_TYPE 8264 flag. 8265 8266 2004-05-29 Havoc Pennington <hp (a] redhat.com> 8267 8268 * bus/config-parser.c (process_test_valid_subdir): temporarily 8269 stop testing config parser OOM handling, since expat has issues 8270 http://freedesktop.org/pipermail/dbus/2004-May/001153.html 8271 8272 * bus/dbus-daemon-1.1.in: change requested_reply to 8273 send_requested_reply/receive_requested_reply so we can send the 8274 replies, not just receive them. 8275 8276 * bus/config-parser.c: parse the new 8277 send_requested_reply/receive_requested_reply 8278 8279 * bus/policy.c (bus_client_policy_check_can_send): add 8280 requested_reply argument and use it 8281 8282 * bus/bus.c (bus_context_check_security_policy): pass through 8283 requested_reply status to message send check 8284 8285 * bus/system.conf.in: adapt to requested_reply change 8286 8287 2004-05-28 Havoc Pennington <hp (a] redhat.com> 8288 8289 * test/glib/test-service-glib.c (main): remove unused variable 8290 8291 * glib/dbus-gidl.c (base_info_ref): fix a silly compiler warning 8292 8293 * dbus/dbus-auth.h (enum): remove AUTHENTICATED_WITH_UNUSED_BYTES 8294 from the enum, no longer in use. 8295 8296 * dbus/dbus-sysdeps.h: include config.h so DBUS_VA_COPY actually 8297 works right. 8298 8299 * dbus/dbus-message.c: add various _dbus_return_val_if_fail for 8300 whether error_name passed in is a valid error name. 8301 8302 2004-05-28 John (J5) Palmieri <johnp (a] redhat.com> 8303 8304 * dbus/dbus-message.c (dbus_message_get_args): Added support for 8305 OBJECT_PATH and OBJECT_PATH_ARRAY 8306 8307 2004-05-28 Seth Nickell <seth (a] gnome.org> 8308 8309 * python/examples/Makefile.am: 8310 8311 Forget to add Makefile.am. Do not pass go. 8312 8313 2004-05-28 Michael Meeks <michael (a] ximian.com> 8314 8315 * glib/dbus-gvalue.c (dbus_gvalue_marshal, dbus_gvalue_demarshal): 8316 fix no int64 case. 8317 8318 * dbus/dbus-string.c (_dbus_string_parse_basic_type): impl. 8319 8320 * dbus/dbus-message.c (_dbus_message_iter_get_basic_type), 8321 (_dbus_message_iter_get_basic_type_array): impl. 8322 drastically simplify ~all relevant _get methods to use these. 8323 (_dbus_message_iter_append_basic_array), 8324 (dbus_message_iter_append_basic): impl 8325 drastically simplify ~all relevant _append methods to use these. 8326 8327 * dbus/dbus-message-builder.c (parse_basic_type) 8328 (parse_basic_array, lookup_basic_type): impl. 8329 (_dbus_message_data_load): prune scads of duplicate / 8330 cut & paste coding. 8331 8332 * dbus/dbus-marshal.c (_dbus_demarshal_basic_type_array) 8333 (_dbus_demarshal_basic_type): implement, 8334 (demarshal_and_validate_len/arg): beef up debug. 8335 (_dbus_marshal_basic_type, _dbus_marshal_basic_type_array): impl. 8336 8337 2004-05-27 Seth Nickell <seth (a] gnome.org> 8338 8339 * configure.in: 8340 * python/Makefile.am: 8341 8342 Include the example python apps in the tarball. 8343 8344 * python/examples/list-system-services.py 8345 8346 Add a python new example that fetches the list of services 8347 from the system bus. 8348 8349 2004-05-27 Seth Nickell <seth (a] gnome.org> 8350 8351 * python/dbus.py: 8352 * python/dbus_bindings.pyx.in: 8353 8354 Fix failure to notify that a signal was not handled, 8355 resulted in hung functions. 8356 8357 2004-05-25 Colin Walters <walters (a] redhat.com> 8358 8359 * tools/dbus-monitor.c (main): Monitor all types of messages. 8360 8361 2004-05-23 Owen Fraser-Green <owen (a] discobabe.net> 8362 8363 * mono/Handler.cs, mono/Service.cs: Added UnregisterObject method 8364 which unregisters the object path and disposes the handler. 8365 8366 2004-05-23 Kristian Hgsberg <krh (a] redhat.com> 8367 8368 Patch from Timo Ters <ext-timo.teras (a] nokia.com> (#614): 8369 8370 * dbus/dbus-message.c (dbus_message_iter_get_args_valist): Swap 8371 operands to && so we call dbus_message_iter_next () for the last 8372 argument also. 8373 8374 2004-05-21 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 8375 8376 * dbus/dbus-object-tree.c 8377 (_dbus_object_tree_list_registered_unlock, lookup_subtree): return 8378 children even if the requested path isn't registered. 8379 (object_tree_test_iteration): test object_tree_list_registered. 8380 8381 * configure.in: undefine HAVE_ABSTRACT_SOCKETS instead of defining 8382 it to 0. 8383 8384 2004-05-20 Kristian Hgsberg <krh (a] redhat.com> 8385 8386 * doc/TODO: Remove resolved items. 8387 8388 * bus/expirelist.h (struct BusExpireList): remove unused n_items 8389 field. 8390 8391 * bus/connection.c (bus_connections_expect_reply): Enforce the 8392 per-connection limit on pending replies. 8393 8394 Patch from Jon Trowbridge <trow (a] ximian.com>: 8395 8396 * bus/main.c (setup_reload_pipe): Added. Creates a pipe and sets 8397 up a watch that triggers a config reload when one end of the pipe 8398 becomes readable. 8399 (signal_handler): Instead of doing the config reload in our SIGHUP 8400 handler, just write to the reload pipe and let the associated 8401 watch handle the reload when control returns to the main loop. 8402 8403 * bus/driver.c (bus_driver_handle_reload_config): Added. 8404 Implements a ReloadConfig method for requesting a configuration 8405 file reload via the bus driver. 8406 8407 2004-05-19 Owen Fraser-Green <owen (a] discobabe.net> 8408 8409 * HACKING: Updated release instructions concerning the wiki page. 8410 8411 2004-05-18 Kristian Hgsberg <krh (a] redhat.com> 8412 8413 * dbus/dbus-auth.c (client_try_next_mechanism): Remove logic to 8414 filter against auth->allowed_mechs; we only add allowed mechs in 8415 record_mechanisms(). 8416 8417 * dbus/dbus-auth-script.c (_dbus_auth_script_run): Add an 8418 ALLOWED_MECHS to auth-script format so we can set the list of 8419 allowed mechanisms. 8420 8421 * data/auth/client-out-of-mechanisms.auth-script: New test to 8422 check client disconnects when it is out of mechanisms to try. 8423 8424 * dbus/dbus-auth.c (process_command): Remove check for lines 8425 longer that 1 MB; we only buffer up maximum 16 kB. 8426 8427 * dbus/dbus-transport.c, dbus/dbus-transport-unix.c, 8428 dbus/dbus-auth-script.c, dbus/dbus-auth.c, dbus/dbus-auth.h: 8429 Remove auth state AUTHENTICATED_WITH_UNUSED_BYTES, instead always 8430 assume there might be unused bytes. 8431 8432 * dbus/dbus-auth.c (_dbus_auth_do_work): Remove check for 8433 client-out-of-mechs, it is handled in process_reject(). Move check 8434 for max failures to send_rejected(), as it's a server-only thing. 8435 8436 * dbus/dbus-auth.c: Factor out protocol reply code into functions 8437 send_auth(), send_data(), send_rejected(), send_error(), 8438 send_ok(), send_begin() and send_cancel(). 8439 8440 2004-05-17 Kristian Hgsberg <krh (a] redhat.com> 8441 8442 Remove base64 encoding, replace with hex encoding. Original patch 8443 from trow (a] ximian.com, added error handling. 8444 8445 * dbus/dbus-string.c (_dbus_string_base64_encode) 8446 (_dbus_string_base64_decode): Remove. 8447 (_dbus_string_hex_decode): Add end_return argument so we can 8448 distinguish between OOM and invalid hex encoding. 8449 (_dbus_string_test): Remove base64 tests and add test case for 8450 invalid hex. 8451 8452 * dbus/dbus-keyring.c, dbus/dbus-auth-script.c, dbus/dbus-auth.c: 8453 Replace base64 with hex. 8454 8455 * test/data/auth/invalid-hex-encoding.auth-script: New test case 8456 for invalid hex encoded data in auth protocol. 8457 8458 2004-05-17 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 8459 8460 * dbus/dbus-connection.c (check_for_reply_unlocked): plug a memory 8461 leak. 8462 8463 2004-05-15 Owen Fraser-Green <owen (a] discobabe.net> 8464 8465 * mono/dbus-sharp.dll.config.in: Added for GAC 8466 * mono/dbus-sharp.snk: Added for GAC 8467 * mono/Assembly.cs.in: Added for GAC 8468 * mono/Makefile.am: Changes for GAC installation 8469 * configure.in: Added refs for dbus-sharp.dll.config.in and 8470 Assembly.cs.in. More fixes for mono testing 8471 * mono/example/Makefile.am: Changed var to CSC 8472 * Makefile.am: Changed flag name to DBUS_USE_CSC 8473 8474 2004-05-15 Owen Fraser-Green <owen (a] discobabe.net> 8475 8476 * mono/Makefile.am: Added SUBDIRS for docs. Changed SUBDIRS order 8477 * mono/doc/*: Added documentation framework 8478 * configure.in: Added monodoc check 8479 * README: Added description of mono configure flags 8480 8481 2004-05-11 John (J5) Palmieri <johnp (a] redhat.com>: 8482 8483 * doc/dbus-specification.xml: Added a "Required" column to the 8484 header fields table and changed the "zero or more" verbage in 8485 the above paragraph to read "The header must contain the required 8486 named header fields and zero or more of the optional named header 8487 fields". 8488 * test/data/invalid-messages/*.message: Added the required PATH 8489 named header field to the tests so that they don't fail on 8490 'Missing path field' 8491 8492 2004-05-07 John (J5) Palmieri <johnp (a] redhat.com> 8493 8494 * python/dbus-bindings.pyx.in: Stopped the bindings from trashing 8495 the stack by implicitly defining variable and parameter types and 8496 removing the hack of defining C pointers as python objects and later 8497 casting them. 8498 8499 2004-05-02 Owen Fraser-Green <owen (a] discobabe.net> 8500 8501 * mono/Makefile.am: Removed test-dbus-sharp.exe from all target 8502 8503 2004-05-01 Owen Fraser-Green <owen (a] discobabe.net> 8504 8505 * mono/DBusType/Dict.cs: Handle empty dicts 8506 * mono/DBusType/Array.cs: Handle empty arrays 8507 * mono/Arguments.cs: Handle empty arguments 8508 8509 2004-04-30 Owen Fraser-Green <owen (a] discobabe.net> 8510 8511 * dbus-sharp.pc.in: Modified to include include Libs and Requires 8512 field 8513 8514 2004-04-25 Kristian Hgsberg <krh (a] redhat.com> 8515 8516 * test/data/valid-messages/standard-*.message: Update message 8517 test scripts to new header field names. 8518 8519 2004-04-22 John (J5) Palmieri <johnp (a] redhat.com> 8520 8521 * test/break-loader.c (randomly_do_n_things): tracked down buffer 8522 overflow to times_we_did_each_thing array which would chop off the 8523 first character of the failure_dir string. Increased the size of 8524 the array to 7 to reflect the number of random mutation functions 8525 we have. 8526 8527 2004-04-21 Kristian Hgsberg <krh (a] redhat.com> 8528 8529 * dbus/dbus-server-unix.c (unix_finalize): Don't unref 8530 unix_server->watch here, it is unreffed in disconnect. 8531 (_dbus_server_new_for_tcp_socket): convert NULL host to 8532 "localhost" here so we don't append NULL to address. 8533 8534 * dbus/dbus-server.c (_dbus_server_test): Add test case for 8535 various addresses, including tcp with no explicit host. 8536 8537 2004-04-21 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 8538 8539 * dbus/dbus-message.c (decode_header_data, decode_string_field): 8540 fix incorrect setting of .name_offset in the HeaderField (it was 8541 off by two bytes, positioned right after the name and typecode) 8542 8543 * bus/bus.c (bus_context_new, bus_context_unref): test before 8544 calling dbus_server_free_data_slot and _dbus_user_database_unref 8545 in case of an error. 8546 8547 * tools/Makefile.am: add $(DBUS_GLIB_TOOL_LIBS), xml libs needed 8548 by libdbus-gtool. 8549 8550 2004-04-19 Kristian Hgsberg <krh (a] redhat.com> 8551 8552 * dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use 8553 _dbus_poll() instead of select(). 8554 8555 2004-04-15 Jon Trowbridge <trow (a] ximian.com> 8556 8557 * bus/main.c (signal_handler): Reload the configuration files 8558 on SIGHUP. 8559 (main): Set up our SIGHUP handler. 8560 8561 * bus/bus.c (struct BusContext): Store the config file, user and 8562 fork flag in the BusContext. 8563 (process_config_first_time_only): Added. Contains the code 8564 (previously in bus_context_new) for setting up the BusContext from 8565 the BusConfigParser that should only be run the first time the 8566 config files are read. 8567 (process_config_every_time): Added. Contains the code (previously 8568 in bus_context_new) for setting up the BusContext from the 8569 BusConfigParser that should be run every time the config files are 8570 read. 8571 (load_config): Added. Builds a BusConfigParser from the config 8572 files and passes the resulting structure off to 8573 process_config_first_time_only (assuming this is the first time) 8574 and process_config_every_time. 8575 (bus_context_new): All of the config-related code has been moved 8576 to process_config_first_time_only and process_config_every_time. 8577 Now this function just does the non-config-related initializations 8578 and calls load_config. 8579 (bus_context_reload_config): Added. 8580 8581 2004-04-15 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 8582 8583 * bus/driver.c (bus_driver_handle_get_service_owner): 8584 implement a GetServiceOwner method. 8585 * doc/dbus-specification.xml: document it. 8586 * dbus/dbus-errors.h: add a 'ServiceHasNoOwner' error. 8587 8588 * glib/dbus-gproxy.c (dbus_gproxy_new_for_service_owner): 8589 implement, using the bus GetServiceOwner method. 8590 8591 * test/glib/test-dbus-glib.c: 8592 use dbus_gproxy_new_for_service_owner so that we can receive the 8593 signal. 8594 8595 2004-04-15 John (J5) Palmieri <johnp (a] redhat.com> 8596 8597 * dbus/dbus-internals.c, dbus/dbus-message-builder.c, 8598 dbus/dbus-message.c, dbus/dbus-protocol.h 8599 (DBUS_HEADER_FIELD_SERVICE): renamed DBUS_HEADER_FIELD_DESTINATION 8600 8601 * dbus/dbus-internals.c, dbus/dbus-message-builder.c, 8602 dbus/dbus-message.c, dbus/dbus-protocol.h 8603 (DBUS_HEADER_FIELD_SENDER_SERVICE): renamed DBUS_HEADER_FIELD_SENDER 8604 8605 * dbus/dbus-internals.c (_dbus_header_field_to_string): 8606 DBUS_HEADER_FIELD_DESTINATION resolves to "destination" 8607 DBUS_HEADER_FIELD_SENDER resolves to "sender" 8608 8609 * doc/dbus-specification.xml (Header Fields Table): 8610 s/SERVICE/DESTINATION 8611 s/SENDER_SERVICE/SENDER 8612 8613 8614 2004-04-14 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 8615 8616 * test/glib/test-dbus-glib.c (timed_exit): fail the test after 8617 a few seconds. 8618 8619 2004-04-13 Michael Meeks <michael (a] ximian.com> 8620 8621 * glib/dbus-gobject.c (handle_introspect): split out 8622 (introspect_properties): this. 8623 (handle_introspect): implement this. 8624 8625 * test/glib/Makefile.am: use the absolute path so the bus 8626 daemon's chdir ("/") doesn't kill us dead. 8627 8628 * configure.in: subst ABSOLUTE_TOP_BUILDDIR 8629 8630 2004-04-12 Jon Trowbridge <trow (a] ximian.com> 8631 8632 * bus/config-parser.c (struct BusConfigParser): Added 8633 included_files field. 8634 (seen_include): Added. Checks whether or not a file has already 8635 been included by any parent BusConfigParser. 8636 (bus_config_parser_new): Copy the parent's included_files. 8637 (include_file): Track which files have been included, and fail on 8638 circular inclusions. 8639 (process_test_valid_subdir): Changed printf to report if we are 8640 testing valid or invalid conf files. 8641 (all_are_equiv): Changed printf to be a bit clearer about 8642 what we are actually doing. 8643 (bus_config_parser_test): Test invalid configuration files. 8644 8645 2004-04-09 Jon Trowbridge <trow (a] ximian.com> 8646 8647 * bus/config-parser.c (bus_config_parser_new): Added a 'parent' 8648 argument. If non-null, the newly-constructed BusConfigParser will 8649 be initialized with the parent's BusLimits instead of the default 8650 values. 8651 (include_file): When including a config file, pass in 8652 the current parser as the parent and then copy the BusLimits 8653 from the included BusConfigParser pack to the current parser. 8654 (process_test_valid_subdir): Renamed from process_test_subdir. 8655 (process_test_equiv_subdir): Added. Walks through a directory, 8656 descending into each subdirectory and loading the config files 8657 it finds there. If any subdirectory contains two config files 8658 that don't produce identical BusConfigParser structs, fail. 8659 For now, the BusConfigParser's BusPolicies are not compared. 8660 (bus_config_parser_test): Call both process_test_valid_subdir and 8661 process_test_equiv_subdir. 8662 8663 * bus/config-loader-libxml.c (bus_config_load): Take a parent 8664 argument and pass it along to the call to bus_config_parser_new. 8665 Also made a few small changes to allow this code to compile. 8666 8667 * bus/config-loader-expat.c (bus_config_load): Take a parent 8668 argument and pass it along to the call to bus_config_parser_new. 8669 8670 * bus/bus.c (bus_context_new): Load the config file 8671 with a NULL parent argument. 8672 8673 2004-03-29 Michael Meeks <michael (a] ximian.com> 8674 8675 * glib/dbus-gobject.c (introspect_properties): split 8676 out, fix mangled 'while' flow control. 8677 (introspect_signals): implement. 8678 (handle_introspect): update. 8679 8680 2004-03-29 Michael Meeks <michael (a] ximian.com> 8681 8682 * glib/dbus-gobject.c (set_object_property): split out / 8683 re-work, use the property type, and not the message type(!) 8684 (get_object_property): ditto. 8685 8686 * glib/dbus-gvalue.c (dbus_gvalue_demarshal), 8687 (dbus_gvalue_marshal): make this code re-usable, needed 8688 for signals too, also on both proxy and server side. 8689 Re-write for more efficiency / readability. 8690 8691 2004-03-29 Michael Meeks <michael (a] ximian.com> 8692 8693 * dbus/dbus-message.c 8694 (dbus_message_new_error_printf): impl. 8695 8696 * dbus/dbus-connection.c 8697 (dbus_connection_unregister_object_path): fix warning. 8698 8699 * configure.in: fix no-mono-installed situation. 8700 8701 2004-03-27 Havoc Pennington <hp (a] redhat.com> 8702 8703 Patch from Timo Ters: 8704 8705 * tools/dbus-send.c (main): if --print-reply, assume type is 8706 method call; support boolean type args 8707 8708 * dbus/dbus-connection.c (dbus_connection_send_with_reply): fix a 8709 bunch of memleak and logic bugs 8710 8711 2004-03-23 Owen Fraser-Green <owen (a] discobabe.net> 8712 8713 * mono/Arguments.cs: 8714 * mono/Introspector.cs: 8715 * mono/Handler.cs: 8716 * mono/InterfaceProxy.cs: 8717 * mono/Message.cs 8718 * mono/ProxyBuilder.cs: 8719 * mono/Service.cs: 8720 Added InterfaceProxy class to avoid building proxies for every 8721 object. 8722 8723 * dbus-message.h: 8724 * dbus-message.c (dbus_message_append_args_valist) 8725 (dbus_message_iter_get_object_path) 8726 (dbus_message_iter_get_object_path_array) 8727 (dbus_message_iter_append_object_path) 8728 (dbus_message_iter_append_object_path_array): 8729 Added object_path iter functions to handle OBJECT_PATH arguments 8730 8731 2004-03-23 Owen Fraser-Green <owen (a] discobabe.net> 8732 8733 First checkin of mono bindings. 8734 * configure.in: 8735 * Makefile.am: 8736 Build stuff for the bindings 8737 * dbus-sharp.pc.in: Added for pkgconfig 8738 8739 2004-03-21 Havoc Pennington <hp (a] redhat.com> 8740 8741 * test/test-service.c (main): remove debug spew 8742 8743 2004-03-21 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 8744 8745 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): accept empty 8746 arrays 8747 8748 * dbus/dbus-message.h, bus/dbus-message.c (dbus_message_iter_init) 8749 (dbus_message_iter_init_array_iterator) 8750 (dbus_message_iter_init_dict_iterator): return a dbus_bool_t to 8751 indicate whether the iterator is empty 8752 8753 * dbus/dbus-pending-call.c, dbus/dbus-server.c: silence compiler 8754 warnings 8755 8756 2004-03-19 Havoc Pennington <hp (a] redhat.com> 8757 8758 * NEWS: 0.21 updates 8759 8760 * configure.in: 0.21 8761 8762 * doc/Makefile.am: add all XMLTO usage to DBUS_XML_DOCS_ENABLED 8763 8764 * python/Makefile.am: change to avoid dist of dbus_bindings.c so 8765 you don't need pyrex to make dist 8766 8767 * qt/Makefile.am (libdbus_qt_1_la_SOURCES): add integrator.h to 8768 sources; run moc 8769 8770 2004-03-18 Richard Hult <richard (a] imendio.com> 8771 8772 * dbus/dbus-message.c (dbus_message_get_auto_activation) 8773 (dbus_message_set_auto_activation): Add doxygen docs. 8774 8775 2004-03-16 Richard Hult <richard (a] imendio.com> 8776 8777 * bus/activation.c: (bus_activation_service_created), 8778 (bus_activation_send_pending_auto_activation_messages), 8779 (bus_activation_activate_service): 8780 * bus/activation.h: 8781 * bus/dispatch.c: (bus_dispatch), 8782 (check_nonexistent_service_auto_activation), 8783 (check_service_auto_activated), 8784 (check_segfault_service_auto_activation), 8785 (check_existent_service_auto_activation), (bus_dispatch_test): 8786 * bus/driver.c: (bus_driver_handle_activate_service): 8787 * bus/services.c: (bus_registry_acquire_service): 8788 * dbus/dbus-message.c: (dbus_message_set_auto_activation), 8789 (dbus_message_get_auto_activation): 8790 * dbus/dbus-message.h: 8791 * dbus/dbus-protocol.h: Implement auto-activation. 8792 8793 * doc/dbus-specification.xml: Add auto-activation to the spec. 8794 8795 2004-03-12 Olivier Andrieu <oliv__a (a] users.sourceforge.net> 8796 8797 * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): 8798 fix a bug with CUSTOM types. 8799 8800 * dbus/dbus-message.c (message_iter_test, _dbus_message_test): add 8801 a unit test for this bug (used to fail). 8802 8803 2004-03-12 Mikael Hallendal <micke (a] imendio.com> 8804 8805 * bus/activation.c: 8806 (babysitter_watch_callback): notify all pending activations waiting for 8807 the same exec that the activation failed. 8808 (bus_activation_activate_service): shortcut the activation if we 8809 already waiting for the same executable to start up. 8810 8811 2004-03-12 Mikael Hallendal <micke (a] imendio.com> 8812 8813 * bus/activation.c: 8814 - Added service file reloading. 8815 Each service files directory is kept in an hash table in 8816 BusActivation and each BusActivationEntry knows what .service-file it 8817 was read from. So when you try to activate a service the bus will 8818 check if it's been updated, removed or if new .service-files has 8819 been installed. 8820 - Test code at the bottom for the service file reloading. 8821 * bus/test-main.c: (main): 8822 * bus/test.h: 8823 - added service reloading test. 8824 * dbus/dbus-sysdeps.c: 8825 * dbus/dbus-sysdeps.h: (_dbus_delete_directory): Added. 8826 8827 2004-03-08 Michael Meeks <michael (a] ximian.com> 8828 8829 * dbus/dbus-connection.c (_dbus_connection_block_for_reply): 8830 bail immediately if disconnected, to avoid busy loop. 8831 8832 * dbus/dbus-message.c (dbus_message_iter_get_args_valist): 8833 cleanup cut/paste/inefficiency. 8834 8835 2004-03-01 David Zeuthen <david (a] fubar.dk> 8836 8837 * dbus/dbus-string.c (_dbus_string_append_printf_valist): Fix a 8838 bug where args were used twice. This bug resulted in a segfault 8839 on a Debian/PPC system when starting the messagebus daemon. Include 8840 dbus-sysdeps.h for DBUS_VA_COPY 8841 8842 * dbus/dbus-sysdeps.h: Define DBUS_VA_COPY if neccessary. From GLib 8843 8844 * configure.in: Check for va_copy; define DBUS_VA_COPY to the 8845 appropriate va_copy implementation. From GLib 8846 8847 2004-02-24 Joe Shaw <joe (a] ximian.com> 8848 8849 * bus/services.c (bus_registry_acquire_service): We need to pass 8850 in the service name to dbus_set_error() to prevent a crash. 8851 8852 2003-12-26 Anders Carlsson <andersca (a] gnome.org> 8853 8854 * AUTHORS: Reveal my True identity. 8855 8856 2003-12-17 Mikael Hallendal <micke (a] imendio.com> 8857 8858 * dbus/dbus-message.c: (dbus_message_append_args_valist): 8859 - Added case for DBUS_TYPE_BYTE, patch from Johan Hedberg. 8860 8861 2003-12-13 Mikael Hallendal <micke (a] imendio.com> 8862 8863 * doc/TODO: Added not about better error check of configuration files. 8864 8865 2003-12-02 Richard Hult <richard (a] imendio.com> 8866 8867 * Update AFL version to 2.0 throughout the source files to reflect 8868 the update that was done a while ago. 8869 8870 2003-12-02 Richard Hult <richard (a] imendio.com> 8871 8872 * dbus/dbus-message.c (dbus_message_iter_append_dict): Set 8873 wrote_dict_key to FALSE on the iter that the dict is appended to, 8874 just like when appending other types. Fixes a bug where a dict 8875 couldn't be put inside a dict. 8876 (dbus_message_iter_append_dict_key): Fix typo in warning message. 8877 (message_iter_test, _dbus_message_test): Add test case for dict 8878 inside dict. 8879 8880 2003-12-01 David Zeuthen <david (a] fubar.dk> 8881 8882 * python/dbus.py: Add the actual message when calling the reciever 8883 of a signal such that parameters can be inspected. Add the method 8884 remove_signal_receiver 8885 8886 2003-11-26 Mikael Hallendal <micke (a] imendio.com> 8887 8888 * bus/*.[ch]: 8889 * dbus/*.[ch]: 8890 * glib/*.[ch]: Made ref functions return the pointer 8891 8892 2003-11-25 Zack Rusin <zack (a] kde.org> 8893 8894 * qt/integrator.h, qt/integrator.cpp: Adding handling of DBusServer, 8895 8896 * qt/server.h, qt/server.cpp, qt/Makefile.am: Adding DBusServer 8897 wrappers, 8898 8899 * qt/connection.h, qt/connection.cpp: Adjusting to changes in 8900 the Integrator and to better fit with the server, 8901 8902 2003-11-24 Zack Rusin <zack (a] kde.org> 8903 8904 * qt/connection.h, qt/connection.cpp: removing initDbus method since 8905 the integrator handles it now 8906 8907 * qt/integrator.h, qt/integrator.cpp: reworking handling of timeouts, 8908 since QTimer wasn't really meant to be used the way DBusTimeout is 8909 8910 2003-11-24 Zack Rusin <zack (a] kde.org> 8911 8912 * qt/integrator.h, qt/integrator.cpp, Makefile.am: Adding 8913 Integrator class which integrates D-BUS with the Qt event loop, 8914 8915 * qt/connection.h, qt/connection.cpp: Move all the code which 8916 was dealing with D-BUS integration to the Integrator class, 8917 and start using Integrator, 8918 8919 2003-11-23 Zack Rusin <zack (a] kde.org> 8920 8921 * qt/connection.h, qt/connection.cpp: Adding the DBusConnection 8922 wrapper 8923 8924 * qt/message.h, qt/message.cpp: updating to the current D-BUS api, 8925 switching namespaces to DBusQt, reworking the class, 8926 8927 * Makefile.cvs: switching dependencies so that it matches KDE 8928 schematics, 8929 8930 * qt/Makefile.am: adding connection.{h,cpp} and message.{h,cpp} to 8931 the library 8932 8933 2003-11-19 Havoc Pennington <hp (a] redhat.com> 8934 8935 * NEWS: update 8936 8937 * configure.in: bump version to 0.20 8938 8939 * configure.in (have_qt): add yet another place to look for qt 8940 (someone hand trolltech a .pc file...) 8941 8942 2003-11-01 Havoc Pennington <hp (a] redhat.com> 8943 8944 * doc/dbus-specification.xml: add state machine docs on the auth 8945 protocol; just a first draft, I'm sure it's wrong. 8946 8947 2003-10-28 David Zeuthen <david (a] fubar.dk> 8948 8949 * python/dbus_bindings.pyx.in: add get_dict to handle dictionaries 8950 return types. Fixup TYPE_* to reflect changes in dbus/dbus-protocol.h 8951 8952 2003-10-28 Havoc Pennington <hp (a] redhat.com> 8953 8954 * dbus/dbus-message.c (get_next_field): delete unused function 8955 8956 2003-10-28 Havoc Pennington <hp (a] redhat.com> 8957 8958 * bus/expirelist.c (do_expiration_with_current_time): detect 8959 failure of the expire_func due to OOM 8960 8961 * bus/connection.c (bus_pending_reply_expired): return FALSE on OOM 8962 8963 * bus/dispatch.c (check_send_exit_to_service): fix to handle the 8964 NoReply error that's now created by the bus when the service exits 8965 8966 2003-10-28 Havoc Pennington <hp (a] redhat.com> 8967 8968 * dbus/dbus-message.c (_dbus_message_test): enable and fix the 8969 tests for set_path, set_interface, set_member, etc. 8970 8971 * dbus/dbus-string.c (_dbus_string_insert_bytes): allow 0 bytes 8972 8973 * dbus/dbus-message.c (set_string_field): always just delete and 8974 re-append the field; accept NULL for deletion 8975 (re_align_fields_recurse): reimplement 8976 8977 2003-10-26 Havoc Pennington <hp (a] redhat.com> 8978 8979 * dbus/dbus-connection.c: fix docs to properly describe the 8980 disconnected message 8981 (_dbus_connection_notify_disconnected): remove this function; 8982 we can't synchronously add the disconnected message, we have to 8983 do it after we've queued any remaining real messages 8984 (_dbus_connection_get_dispatch_status_unlocked): queue the 8985 disconnect message only if the transport has finished queueing all 8986 its real messages and is disconnected. 8987 (dbus_connection_disconnect): update the dispatch status here 8988 8989 2003-10-22 Havoc Pennington <hp (a] redhat.com> 8990 8991 * bus/bus.c (bus_context_check_security_policy): fix up assertion 8992 8993 * bus/connection.c (bus_transaction_send_from_driver): set the 8994 destination to the connection's base service 8995 8996 2003-10-20 Havoc Pennington <hp (a] redhat.com> 8997 8998 hmm, make check is currently not passing. 8999 9000 * doc/dbus-specification.xml: add requirement that custom type 9001 names follow the same rules as interface names. 9002 9003 * dbus/dbus-protocol.h: change some of the byte codes, to avoid 9004 duplication and allow 'c' to be 'custom'; dict is now 'm' for 9005 'map' 9006 9007 * doc/dbus-specification.xml: update type codes to match 9008 dbus-protocol.h, using the ASCII byte values. Rename type NAMED to 9009 CUSTOM. Add type OBJECT_PATH to the spec. 9010 9011 2003-10-17 Havoc Pennington <hp (a] redhat.com> 9012 9013 * bus/driver.c (create_unique_client_name): use "." as separator 9014 in base service names instead of '-' 9015 9016 * dbus/dbus-string.c (_dbus_string_get_byte): allow getting nul 9017 byte at the end of the string 9018 9019 * dbus/dbus-internals.h (_DBUS_LIKELY, _DBUS_UNLIKELY): add 9020 optimization macros since string validation seems to be a slow 9021 point. 9022 9023 * doc/dbus-specification.xml: restrict valid 9024 service/interface/member/error names. Add test suite code for the 9025 name validation. 9026 9027 * dbus/dbus-string.c: limit service/interface/member/error names 9028 to [0-9][A-Z][a-z]_ 9029 9030 * dbus/dbus-connection.c (dbus_connection_dispatch): add missing 9031 format arg to verbose spew 9032 9033 * glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): if not out of 9034 memory, return instead of g_error 9035 9036 * test/test-service.c (path_message_func): support emitting a 9037 signal on request 9038 9039 * dbus/dbus-bus.c (init_connections_unlocked): only fill in 9040 activation bus type if DBUS_BUS_ACTIVATION was set; default to 9041 assuming the activation bus was the session bus so that services 9042 started manually will still register. 9043 (init_connections_unlocked): fix so that in OOM situation we get 9044 the same semantics when retrying the function 9045 9046 * test/test-service.c (main): change to use path registration, to 9047 test those codepaths; register with DBUS_BUS_ACTIVATION rather 9048 than DBUS_BUS_SESSION 9049 9050 2003-10-16 Havoc Pennington <hp (a] redhat.com> 9051 9052 * glib/dbus-gtest-main.c: bracket with #ifdef DBUS_BUILD_TESTS 9053 9054 * Makefile.am (GCOV_DIRS): remove "test", we don't care about test 9055 coverage of the tests 9056 (coverage-report.txt): don't move the .da and .bbg files around 9057 9058 2003-10-16 Havoc Pennington <hp (a] redhat.com> 9059 9060 * bus/bus.c (struct BusContext): remove struct field I didn't mean 9061 to put there 9062 9063 2003-10-16 Havoc Pennington <hp (a] redhat.com> 9064 9065 * bus/connection.c (bus_pending_reply_expired): either cancel or 9066 execute, not both 9067 (bus_connections_check_reply): use unlink, not remove_link, as we 9068 don't want to free the link; fixes double free mess 9069 9070 * dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case 9071 where no reply was received 9072 9073 * dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock): 9074 fix a refcount leak 9075 9076 * bus/signals.c (match_rule_matches): add special cases for the 9077 bus driver, so you can match on sender/destination for it. 9078 9079 * dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if 9080 DBUS_PRINT_BACKTRACE is set 9081 9082 * dbus/dbus-internals.c: add pid to assertion failure messages 9083 9084 * dbus/dbus-connection.c: add message type code to the debug spew 9085 9086 * glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want 9087 sender=foo not service=foo 9088 9089 * dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the 9090 session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use 9091 DBUS_ACTIVATION_ADDRESS instead 9092 9093 * bus/activation.c: set DBUS_SESSION_BUS_ADDRESS, 9094 DBUS_SYSTEM_BUS_ADDRESS if appropriate 9095 9096 * bus/bus.c (bus_context_new): handle OOM copying bus type into 9097 context struct 9098 9099 * dbus/dbus-message.c (dbus_message_iter_get_object_path): new function 9100 (dbus_message_iter_get_object_path_array): new function (half 9101 finished, disabled for the moment) 9102 9103 * glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle 9104 DBUS_MESSAGE_TYPE_ERROR 9105 9106 * tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to 9107 avoid redirecting stderr to /dev/null 9108 (babysit): close stdin if not doing the "exit_with_session" thing 9109 9110 * dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover 9111 debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not 9112 stdout/stdin, so things don't get confused 9113 9114 * bus/system.conf.in: fix to allow replies, I modified .conf 9115 instead of .conf.in again. 9116 9117 2003-10-14 David Zeuthen <david (a] fubar.dk> 9118 9119 * python/dbus_bindings.pyx.in (MessageIter.get): fixed typo in 9120 argtype to arg_type when raising unknown arg type exception. 9121 Changed type list to reflect the changes in dbus-protocol.h so 9122 the bindings actually work. 9123 9124 2003-10-14 Havoc Pennington <hp (a] redhat.com> 9125 9126 * test/decode-gcov.c: support gcc 3.3 also, though gcc 3.3 seems 9127 to have a bug keeping it from outputting the .da files sometimes 9128 (string_get_string): don't append garbage nul bytes to the string. 9129 9130 2003-10-15 Seth Nickell <seth (a] gnome.org> 9131 9132 * python/Makefile.am: 9133 9134 Include dbus_h_wrapper.h in the dist tarball. 9135 9136 2003-10-14 Havoc Pennington <hp (a] redhat.com> 9137 9138 * bus/bus.c (bus_context_check_security_policy): revamp this to 9139 work more sanely with new policy-based requested reply setup 9140 9141 * bus/connection.c (bus_transaction_send_from_driver): set bus 9142 driver messages as no reply 9143 9144 * bus/policy.c (bus_client_policy_check_can_receive): handle a 9145 requested_reply attribute on allow/deny rules 9146 9147 * bus/system.conf: add <allow requested_reply="true"/> 9148 9149 * bus/driver.c (bus_driver_handle_message): fix check for replies 9150 sent to the bus driver, which was backward. How did this ever work 9151 at all though? I think I'm missing something. 9152 9153 * dbus/dbus-message.c (decode_header_data): require error and 9154 method return messages to have a reply serial field to be valid 9155 (_dbus_message_loader_queue_messages): break up this function; 9156 validate that reply serial and plain serial are nonzero; 9157 clean up the OOM/error handling. 9158 (get_uint_field): don't return -1 from this 9159 (dbus_message_create_header): fix signed/unsigned bug 9160 9161 * bus/connection.c (bus_connections_expect_reply): save serial of 9162 the incoming message, not reply serial 9163 9164 2003-10-14 Havoc Pennington <hp (a] redhat.com> 9165 9166 * bus/connection.c: implement pending reply tracking using 9167 BusExpireList 9168 9169 * bus/bus.c (bus_context_check_security_policy): verify that a 9170 reply is pending in order to allow a reply to be sent. Deny 9171 messages of unknown type. 9172 9173 * bus/dbus-daemon-1.1.in: update to mention new resource limits 9174 9175 * bus/bus.c (bus_context_get_max_replies_per_connection): new 9176 (bus_context_get_reply_timeout): new 9177 9178 2003-10-13 Seth Nickell <seth (a] gnome.org> 9179 9180 * python/Makefile.am: 9181 9182 Pass "make distcheck": remove a couple files from DIST_FILES 9183 that weren't included in the final version. 9184 9185 2003-10-12 Havoc Pennington <hp (a] pobox.com> 9186 9187 Added test code that 1) starts an actual bus daemon and 2) uses 9188 DBusGProxy; fixed bugs that were revealed by the test. Lots 9189 more testing possible, but this is the basic framework. 9190 9191 * glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove 9192 empty proxy lists from the proxy list hash 9193 9194 * dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a 9195 couple of return_if_fail checks 9196 9197 * dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0 9198 to allocate, so everything is cleared to NULL as it should be. 9199 9200 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass 9201 source as data to dbus_connection_set_timeout_functions() as the 9202 timeout functions expected 9203 9204 * test/glib/run-test.sh: add a little script to start up a message 9205 bus and run tests using it 9206 9207 * tools/dbus-launch.1: updates 9208 9209 * tools/dbus-launch.c (main): add --config-file option 9210 9211 * tools/dbus-launch.c (main): remove confusing else if (runprog) 9212 that could never be reached. 9213 9214 * dbus/dbus-message.c (dbus_message_new_method_return) 9215 (dbus_message_new_error, dbus_message_new_signal): set the 9216 no-reply-expected flag on all these. Redundant, but may 9217 as well be consistent. 9218 9219 2003-10-11 Havoc Pennington <hp (a] pobox.com> 9220 9221 * test/decode-gcov.c (function_solve_graph): make broken block 9222 graph a nonfatal error since it seems to be broken. Need to debug 9223 this. 9224 9225 * dbus/dbus-marshal.c (_dbus_type_is_valid): new function since we 9226 can't just check type > INVALID < LAST anymore 9227 9228 * dbus/dbus-message.c (dbus_message_get_signature): new function 9229 (dbus_message_has_signature): new function 9230 (struct DBusMessage): add signature field (right now it isn't sent 9231 over the wire, just generated on the fly) 9232 (dbus_message_copy): copy the signature, and init strings to 9233 proper length to avoid some reallocs 9234 (dbus_message_iter_init_array_iterator): return void, since it 9235 can't fail 9236 (dbus_message_iter_init_dict_iterator): return void since it can't fail 9237 (_dbus_message_loader_queue_messages): add silly temporary hack to 9238 fill in message->signature on load 9239 9240 * dbus/dbus-protocol.h: change DBUS_TYPE_* values to be ASCII 9241 characters, so they are relatively human-readable. 9242 9243 2003-10-11 Havoc Pennington <hp (a] pobox.com> 9244 9245 * dbus/dbus-message.c (_dbus_message_test): add more test 9246 coverage, but #if 0 for now since they uncover a bug 9247 not fixed yet; I think in re_align_field_recurse() 9248 (re_align_field_recurse): add FIXME about broken assertion 9249 9250 * dbus/dbus-sysdeps.c (_dbus_sysdeps_test): add more test coverage 9251 9252 * bus/connection.c: share a couple code bits with expirelist.c 9253 9254 * bus/expirelist.h, bus/expirelist.c: implement a generic 9255 expire-items-after-N-seconds facility, was going to share between 9256 expiring connections and replies, decided not to use for expiring 9257 connections for now. 9258 9259 * COPYING: include AFL 2.0 (still need to change all the file headers) 9260 9261 2003-10-09 Havoc Pennington <hp (a] redhat.com> 9262 9263 * configure.in: define DBUS_HAVE_GCC33_GCOV if we have 9264 gcc 3.3. Not that we do anything about it yet. 9265 9266 * bus/signals.c (bus_match_rule_parse): impose max length on the 9267 match rule text 9268 9269 * dbus/dbus-protocol.h: add DBUS_MAXIMUM_MATCH_RULE_LENGTH 9270 9271 2003-10-09 Havoc Pennington <hp (a] redhat.com> 9272 9273 Make matching rules theoretically work (add parser). 9274 9275 * bus/bus.c (bus_context_check_security_policy): fix up to handle 9276 the case where destination is explicitly specified as bus driver 9277 and someone else is eavesdropping. 9278 9279 * bus/policy.c (bus_client_policy_check_can_receive): fix up 9280 definition of eavesdropping and assertion 9281 9282 * tools/dbus-send.c (main): use dbus_message_type_from_string 9283 9284 * bus/signals.c (bus_match_rule_parse): implement 9285 9286 * dbus/dbus-message.c (dbus_message_type_from_string): new 9287 9288 * dbus/dbus-errors.h (DBUS_ERROR_MATCH_RULE_INVALID): add 9289 9290 2003-10-02 Havoc Pennington <hp (a] pobox.com> 9291 9292 * glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): rename from 9293 dbus_gproxy_oneway_call 9294 9295 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main) 9296 (dbus_server_setup_with_g_main): fix to allow calling them more 9297 than once on the same args 9298 (dbus_bus_get_with_g_main): new function 9299 9300 2003-10-02 Havoc Pennington <hp (a] redhat.com> 9301 9302 * doc/dbus-tutorial.xml: write some stuff 9303 9304 2003-09-29 Havoc Pennington <hp (a] pobox.com> 9305 9306 * configure.in: split checks for Doxygen from XML docs, check for 9307 xmlto 9308 9309 * doc/Makefile.am: XML-ify all the docs, and add a blank 9310 dbus-tutorial.xml 9311 9312 2003-09-29 Havoc Pennington <hp (a] pobox.com> 9313 9314 * Merge dbus-object-names branch. To see the entire patch 9315 do cvs diff -r DBUS_OBJECT_NAMES_BRANCHPOINT -r dbus-object-names, 9316 it's huuuuge though. 9317 To revert, I tagged DBUS_BEFORE_OBJECT_NAMES_MERGE. 9318 9319 2003-09-28 Havoc Pennington <hp (a] pobox.com> 9320 9321 * HACKING: update to reflect new server 9322 9323 2003-09-26 Seth Nickell <seth (a] gnome.org> 9324 9325 * python/dbus.py: 9326 * python/examples/example-signals.py: 9327 9328 Start implementing some notions of signals. The API 9329 is really terrible, but they sort of work (with the 9330 exception of being able to filter by service, and to 9331 transmit signals *as* a particular service). Need to 9332 figure out how to make messages come from the service 9333 we registered :-( 9334 9335 * python/dbus_bindings.pyx.in: 9336 9337 Removed duplicate message_handler callbacks. 9338 9339 2003-09-25 Havoc Pennington <hp (a] redhat.com> 9340 9341 * bus/session.conf.in: fix my mess 9342 9343 2003-09-25 Havoc Pennington <hp (a] pobox.com> 9344 9345 * bus/session.conf.in: fix security policy, reported by Seth Nickell 9346 9347 2003-09-25 Seth Nickell <seth (a] gnome.org> 9348 9349 * python/examples/example-service.py: 9350 9351 Johan notices complete wrong code in example-service, but 9352 completely wrong in a way that works exactly the same (!). 9353 Johan is confused, how could this possibly work? Example 9354 code fails to serve purpose of making things clear. 9355 Seth fixes. 9356 9357 2003-09-25 Mark McLoughlin <mark (a] skynet.ie> 9358 9359 * doc/dbus-specification.sgml: don't require header fields 9360 to be 4-byte aligned and specify that fields should be 9361 distinguished from padding by the fact that zero is not 9362 a valid field name. 9363 9364 * doc/TODO: remove re-alignment item and add item to doc 9365 the OBJECT_PATH type. 9366 9367 * dbus/dbus-message.c: 9368 (HeaderField): rename the original member to value_offset 9369 and introduce a name_offset member to keep track of where 9370 the field actually begins. 9371 (adjust_field_offsets): remove. 9372 (append_int_field), (append_uint_field), 9373 (append_string_field): don't align the start of the header 9374 field to a 4-byte boundary. 9375 (get_next_field): impl finding the next marhsalled field 9376 after a given field. 9377 (re_align_field_recurse): impl re-aligning a number of 9378 already marshalled fields. 9379 (delete_field): impl deleting a field of any type and 9380 re-aligning any following fields. 9381 (delete_int_or_uint_field), (delete_string_field): remove. 9382 (set_int_field), (set_uint_field): no need to re-check 9383 that we have the correct type for the field. 9384 (set_string_field): ditto and impl re-aligning any 9385 following fields. 9386 (decode_header_data): update to take into account that 9387 the fields aren't 4-byte aligned any more and the new 9388 way to distinguish padding from header fields. Also, 9389 don't exit when there is too much header padding. 9390 (process_test_subdir): print the directory. 9391 (_dbus_message_test): add test to make sure a following 9392 field is re-aligned correctly after field deletion. 9393 9394 * dbus/dbus-string.[ch]: 9395 (_dbus_string_insert_bytes): rename from insert_byte and 9396 allow the insert of multiple bytes. 9397 (_dbus_string_test): test inserting multiple bytes. 9398 9399 * dbus/dbus-marshal.c: (_dbus_marshal_set_string): add 9400 warning note to docs about having to re-align any 9401 marshalled values following the string. 9402 9403 * dbus/dbus-message-builder.c: 9404 (append_string_field), (_dbus_message_data_load): 9405 don't align the header field. 9406 9407 * dbus/dbus-auth.c: (process_test_subdir): print the 9408 directory. 9409 9410 * test/break-loader.c: (randomly_add_one_byte): upd. for 9411 insert_byte change. 9412 9413 * test/data/invalid-messages/bad-header-field-alignment.message: 9414 new test case. 9415 9416 * test/data/valid-messages/unknown-header-field.message: shove 9417 a dict in the unknown field. 9418 9419 2003-09-25 Seth Nickell <seth (a] gnome.org> 9420 9421 * python/dbus.py: 9422 * python/dbus_bindings.pyx.in: 9423 9424 Handle return values. 9425 9426 * python/examples/example-client.py: 9427 * python/examples/example-service.py: 9428 9429 Pass back return values from the service to the client. 9430 9431 2003-09-24 Seth Nickell <seth (a] gnome.org> 9432 9433 * python/dbus.py: 9434 9435 Connect Object methods (when you are sharing an object) up... pass 9436 in a list of methods to be shared. Sharing all the methods just 9437 worked out too weird. You can now create nice Services over the 9438 DBus in Python. :-) 9439 9440 * python/dbus_bindings.pyx.in: 9441 9442 Keep references to user_data tuples passed into C functions so 9443 Python doesn't garbage collect on us. 9444 9445 Implement MethodReturn and Error subclasses of Message for creating 9446 DBusMessage's of those types. 9447 9448 * python/examples/example-client.py: 9449 * python/examples/example-service.py: 9450 9451 Simple example code showing both how create DBus services and objects, 9452 and how to use them. 9453 9454 2003-09-23 Havoc Pennington <hp (a] pobox.com> 9455 9456 * glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement 9457 9458 2003-09-23 Havoc Pennington <hp (a] redhat.com> 9459 9460 * glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement 9461 (dbus_gproxy_disconnect_signal): implement 9462 (dbus_gproxy_manager_remove_signal_match): implement 9463 (dbus_gproxy_manager_add_signal_match): implement 9464 (dbus_gproxy_oneway_call): implement 9465 9466 2003-09-23 Havoc Pennington <hp (a] pobox.com> 9467 9468 * glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject 9469 subclass. This means dropping the transparent thread safety of the 9470 proxy; you now need a separate proxy per-thread, or your own 9471 locking on the proxy. Probably right anyway. 9472 (dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref 9473 9474 2003-09-22 Havoc Pennington <hp (a] redhat.com> 9475 9476 * glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement 9477 9478 2003-09-21 Seth Nickell <seth (a] gnome.org> 9479 9480 First checkin of the Python bindings. 9481 9482 * python/.cvsignore: 9483 * python/Makefile.am: 9484 * python/dbus_bindings.pyx.in: 9485 * python/dbus_h_wrapper.h: 9486 9487 Pieces for Pyrex to operate on, building a dbus_bindings.so 9488 python module for low-level access to the DBus APIs. 9489 9490 * python/dbus.py: 9491 9492 High-level Python module for accessing DBus objects. 9493 9494 * configure.in: 9495 * Makefile.am: 9496 9497 Build stuff for the python bindings. 9498 9499 * acinclude.m4: 9500 9501 Extra macro needed for finding the Python C header files. 9502 9503 2003-09-21 Havoc Pennington <hp (a] pobox.com> 9504 9505 * glib/dbus-gproxy.c (dbus_gproxy_manager_new): start 9506 implementing the proxy manager, didn't get very far. 9507 9508 * dbus/dbus-bus.c (dbus_bus_add_match): new 9509 (dbus_bus_remove_match): new 9510 9511 * glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a 9512 path_name argument; adjust the other not-yet-implemented 9513 gproxy constructors to be what I think they should be. 9514 9515 2003-09-21 Havoc Pennington <hp (a] pobox.com> 9516 9517 * dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE 9518 by default for message bus connections. 9519 9520 * dbus/dbus-connection.c (dbus_connection_dispatch): exit if 9521 exit_on_disconnect flag is set and we process the disconnected 9522 signal. 9523 (dbus_connection_set_exit_on_disconnect): new function 9524 9525 2003-09-21 Havoc Pennington <hp (a] pobox.com> 9526 9527 Get matching rules mostly working in the bus; only actually 9528 parsing the rule text remains. However, the client side of 9529 "signal connections" hasn't been started, this patch is only the 9530 bus side. 9531 9532 * dbus/dispatch.c: fix for the matching rules changes 9533 9534 * bus/driver.c (bus_driver_handle_remove_match) 9535 (bus_driver_handle_add_match): send an ack reply from these 9536 method calls 9537 9538 * glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of 9539 arguments, reported by Seth Nickell 9540 9541 * bus/config-parser.c (append_rule_from_element): support 9542 eavesdrop=true|false attribute on policies so match rules 9543 can be prevented from snooping on the system bus. 9544 9545 * bus/dbus-daemon-1.1.in: consistently use terminology "sender" 9546 and "destination" in attribute names; fix some docs bugs; 9547 add eavesdrop=true|false attribute 9548 9549 * bus/driver.c (bus_driver_handle_add_match) 9550 (bus_driver_handle_remove_match): handle AddMatch, RemoveMatch 9551 messages 9552 9553 * dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get 9554 rid of broadcast service concept, signals are just always broadcast 9555 9556 * bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c: 9557 mostly implement matching rules stuff (currently only exposed as signal 9558 connections) 9559 9560 2003-09-21 Mark McLoughlin <mark (a] skynet.ie> 9561 9562 * doc/dbus-specification.sgml: Change the header field name 9563 to be an enum and update the rest of the spec to reference 9564 the fields using the conventinal name. 9565 9566 * dbus/dbus-protocol.h: update to reflect the spec. 9567 9568 * doc/TODO: add item to remove the 4 byte alignment requirement. 9569 9570 * dbus/dbus-message.c: Remove the code to generalise the 9571 header/body length and serial number header fields as named 9572 header fields so we can reference field names using the 9573 protocol values. 9574 (append_int_field), (append_uint_field), (append_string_field): 9575 Append the field name as a byte rather than four chars. 9576 (delete_int_or_uint_field), (delete_string_field): reflect the 9577 fact that the field name and typecode now occupy 4 bytes instead 9578 of 8. 9579 (decode_string_field), (decode_header_data): update to reflect 9580 protocol changes and move the field specific encoding from 9581 decode_string_field() back into decode_header_data(). 9582 9583 * dbus/dbus-internals.[ch]: (_dbus_header_field_to_string): 9584 Add utility to aid debugging. 9585 9586 * dbus/dbus-message-builder.c: 9587 (append_string_field), (_dbus_message_data_load): Update to 9588 reflect protocol changes; Change the FIELD_NAME directive 9589 to HEADER_FIELD and allow it to take the field's conventional 9590 name rather than the actual value. 9591 9592 * test/data/*/*.message: Update to use HEADER_FIELD instead 9593 of FIELD_NAME; Always align the header on an 8 byte boundary 9594 *before* updating the header length. 9595 9596 2003-09-15 Havoc Pennington <hp (a] pobox.com> 9597 9598 * dbus/dbus-pending-call.c: add the get/set object data 9599 boilerplate as for DBusConnection, etc. Use generic object data 9600 for the notify callback. 9601 9602 * glib/dbus-gparser.c (parse_node): parse child nodes 9603 9604 * tools/dbus-viewer.c: more hacking on the dbus-viewer 9605 9606 * glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to 9607 contain functions shared between the convenience lib and the 9608 installed lib 9609 9610 * glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add 9611 -export-symbols-regex to the GLib library 9612 9613 * dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock): 9614 fix the locking in here, and add a default handler for 9615 Introspect() that just returns sub-nodes. 9616 9617 2003-09-14 Havoc Pennington <hp (a] pobox.com> 9618 9619 * glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo 9620 rather than gfoo consistent 9621 9622 * glib/dbus-gproxy.h: delete for now, move contents to 9623 dbus-glib.h, because the include files don't work right since we 9624 aren't in the dbus/ subdir. 9625 9626 * glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing 9627 (dbus_gproxy_end_call): finish 9628 (dbus_gproxy_begin_call): finish 9629 9630 * glib/dbus-gmain.c (dbus_set_g_error): new 9631 9632 * glib/dbus-gobject.c (handle_introspect): include information 9633 about child nodes in the introspection 9634 9635 * dbus/dbus-connection.c (dbus_connection_list_registered): new 9636 function to help in implementation of introspection 9637 9638 * dbus/dbus-object-tree.c 9639 (_dbus_object_tree_list_registered_and_unlock): new function 9640 9641 2003-09-12 Havoc Pennington <hp (a] pobox.com> 9642 9643 * glib/dbus-gidl.h: add common base class for all the foo_info 9644 types 9645 9646 * tools/dbus-viewer.c: add GTK-based introspection UI thingy 9647 similar to kdcop 9648 9649 * test/Makefile.am: try test srcdir -ef . in addition to test 9650 srcdir = ., one of them should work (yeah lame) 9651 9652 * glib/Makefile.am: build the "idl" parser stuff as a convenience 9653 library 9654 9655 * glib/dbus-gparser.h: make description_load routines return 9656 NodeInfo* not Parser* 9657 9658 * Makefile.am (SUBDIRS): build test dir after all library dirs 9659 9660 * configure.in: add GTK+ detection 9661 9662 2003-09-07 Havoc Pennington <hp (a] pobox.com> 9663 9664 * Make Doxygen contented. 9665 9666 2003-09-07 Havoc Pennington <hp (a] pobox.com> 9667 9668 * doc/dbus-specification.sgml: more updates 9669 9670 2003-09-06 Havoc Pennington <hp (a] pobox.com> 9671 9672 * doc/dbus-specification.sgml: partial updates 9673 9674 * bus/dbus-daemon-1.1.in: fix the config file docs for the 9675 zillionth time; hopefully I edited the right file this time. 9676 9677 * bus/config-parser.c (append_rule_from_element): support 9678 send_type, send_path, receive_type, receive_path 9679 9680 * bus/policy.c: add message type and path to the list of things 9681 that can be "firewalled" 9682 9683 2003-09-06 Havoc Pennington <hp (a] pobox.com> 9684 9685 * dbus/dbus-connection.c (dbus_connection_register_fallback): add this 9686 (dbus_connection_register_object_path): make this not handle 9687 messages to paths below the given path 9688 9689 2003-09-03 Havoc Pennington <hp (a] pobox.com> 9690 9691 * test/glib/Makefile.am: add this with random glib-linked test 9692 programs 9693 9694 * glib/Makefile.am: remove the random test programs from here, 9695 leave only the unit tests 9696 9697 * glib/dbus-gobject.c (_dbus_gobject_test): add test for 9698 uscore/javacaps conversion, and fix 9699 (get_object_property, set_object_property): change to .NET 9700 convention for mapping props to methods, set_FooBar/get_FooBar, 9701 since one language has such a convention we may as well copy it. 9702 Plus real methods in either getFooBar or get_foo_bar style won't 9703 collide with this convention. 9704 9705 2003-09-01 Havoc Pennington <hp (a] pobox.com> 9706 9707 * glib/dbus-gparser.c: implement 9708 9709 * glib/dbus-gobject.c: start implementing skeletons support 9710 9711 * configure.in: when disabling checks/assert, also define 9712 G_DISABLE_ASSERT and G_DISABLE_CHECKS 9713 9714 2003-09-01 Havoc Pennington <hp (a] pobox.com> 9715 9716 * glib/Makefile.am: rearrange a bunch of files and get "make 9717 check" framework set up 9718 9719 2003-08-31 Havoc Pennington <hp (a] pobox.com> 9720 9721 * fix build with --disable-tests 9722 9723 2003-08-30 Havoc Pennington <hp (a] pobox.com> 9724 9725 * dbus/dbus-connection.c: purge DBusMessageHandler 9726 9727 * dbus/dbus-message-handler.c: remove DBusMessageHandler, just 9728 use callbacks everywhere 9729 9730 2003-08-30 Havoc Pennington <hp (a] pobox.com> 9731 9732 * test/data/valid-config-files/system.d/test.conf: change to 9733 root for the user so warnings don't get printed 9734 9735 * dbus/dbus-message.c: add dbus_message_get_path, 9736 dbus_message_set_path 9737 9738 * dbus/dbus-object-tree.c (do_test_dispatch): add test of 9739 dispatching to a path 9740 9741 * dbus/dbus-string.c (_dbus_string_validate_path): add 9742 9743 * dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement 9744 (_dbus_marshal_object_path): implement 9745 9746 * dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field 9747 to contain the path to the target object 9748 (DBUS_HEADER_FIELD_SENDER_SERVICE): rename 9749 DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service 9750 9751 2003-08-30 Havoc Pennington <hp (a] pobox.com> 9752 9753 * dbus/dbus-object-tree.c: write tests and fix the discovered bugs 9754 9755 2003-08-29 Havoc Pennington <hp (a] pobox.com> 9756 9757 * dbus/dbus-object-tree.c: modify to allow overlapping paths to be 9758 registered 9759 (struct DBusObjectSubtree): shrink this 9760 a lot, since we may have a lot of them 9761 (_dbus_object_tree_free_all_unlocked): implement 9762 (_dbus_object_tree_dispatch_and_unlock): implement 9763 9764 2003-08-29 Havoc Pennington <hp (a] pobox.com> 9765 9766 * dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS 9767 9768 2003-08-28 Havoc Pennington <hp (a] pobox.com> 9769 9770 purge DBusObjectID 9771 9772 * dbus/dbus-connection.c: port to no ObjectID, create a 9773 DBusObjectTree, rename ObjectTree to ObjectPath in public API 9774 9775 * dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete 9776 everything except UnregisterFunction and MessageFunction 9777 9778 * dbus/dbus-marshal.c: port away from DBusObjectID, 9779 add DBUS_TYPE_OBJECT_PATH 9780 9781 * dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc], 9782 dbus/dbus-objectid.[hc]: remove these, we are moving to 9783 path-based object IDs 9784 9785 2003-08-25 Havoc Pennington <hp (a] pobox.com> 9786 9787 Just noticed that dbus_message_test is hosed, I wonder when I 9788 broke that. I thought make check was passing earlier... 9789 9790 * dbus/dbus-object-tree.c: add new "object tree" to match DCOP 9791 container tree, will replace most of dbus-object-registry 9792 9793 * dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99 9794 screwup 9795 9796 2003-08-19 Havoc Pennington <hp (a] pobox.com> 9797 9798 * dbus/dbus-message.c (decode_string_field): support FIELD_SENDER 9799 (dbus_message_is_error): fix this function 9800 9801 * bus/dbus-daemon-1.1: clarify logic on when <deny>/<allow> rules 9802 match 9803 9804 * bus/policy.c (bus_client_policy_check_can_receive): fix code to 9805 reflect clarified man page 9806 (bus_client_policy_check_can_send): ditto 9807 9808 * bus/session.conf.in: fixup 9809 9810 * bus/system.conf.in: fixup 9811 9812 2003-08-18 Havoc Pennington <hp (a] redhat.com> 9813 9814 * dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix 9815 9816 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix 9817 dumb bug created earlier (wrong order of args to 9818 decode_header_data()) 9819 9820 * tools/dbus-send.c: port 9821 9822 * tools/dbus-print-message.c (print_message): port 9823 9824 * test/data/*messages: port all messages over 9825 9826 * dbus/dbus-message-builder.c: support including 9827 message type 9828 9829 * bus/driver.c: port over 9830 9831 * bus/dispatch.c: port over to new stuff 9832 9833 * dbus/dbus-connection.c (_dbus_connection_new_for_transport): 9834 rename disconnect signal to "Disconnected" 9835 9836 2003-08-17 Havoc Pennington <hp (a] pobox.com> 9837 9838 This doesn't compile yet, but syncing up so I can hack on it from 9839 work. What are branches for if not broken code? ;-) 9840 9841 * dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add 9842 DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER, 9843 DBUS_HEADER_FIELD_ERROR_NAME 9844 9845 * dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use 9846 for the interface+member pairs 9847 (string_hash): change to use g_str_hash algorithm 9848 (find_direct_function, find_string_function): refactor these to 9849 share most code. 9850 9851 * dbus/dbus-message.c: port all of this over to support 9852 interface/member fields instead of name field 9853 9854 * dbus/dbus-object-registry.c: port over 9855 9856 * dbus/dbus-string.c (_dbus_string_validate_interface): rename 9857 from _dbus_string_validate_name 9858 9859 * bus/dbus-daemon-1.1: change file format for the 9860 <deny>/<allow> stuff to match new message naming scheme 9861 9862 * bus/policy.c: port over 9863 9864 * bus/config-parser.c: parse new format 9865 9866 2003-08-16 Havoc Pennington <hp (a] pobox.com> 9867 9868 * dbus/dbus-object-registry.c (add_and_remove_objects): remove 9869 broken assertion 9870 9871 * glib/dbus-gproxy.c: some hacking 9872 9873 2003-08-15 Havoc Pennington <hp (a] redhat.com> 9874 9875 * dbus/dbus-pending-call.c (dbus_pending_call_block): implement 9876 9877 * dbus/dbus-connection.c 9878 (dbus_connection_send_with_reply_and_block): factor out internals; 9879 change to convert any error replies to DBusError instead of 9880 returning them as a message 9881 9882 2003-08-15 Havoc Pennington <hp (a] pobox.com> 9883 9884 * dbus/dbus-connection.c, 9885 dbus/dbus-pending-call.c: Finish the pending call stuff 9886 9887 2003-08-14 Havoc Pennington <hp (a] redhat.com> 9888 9889 * dbus/dbus-pending-call.c: start on new object that will replace 9890 DBusMessageHandler and ReplyHandlerData for tracking outstanding 9891 replies 9892 9893 * dbus/dbus-gproxy.c: start on proxy object used to communicate 9894 with remote interfaces 9895 9896 * dbus/dbus-gidl.c: do the boring boilerplate in here 9897 9898 2003-08-12 Havoc Pennington <hp (a] pobox.com> 9899 9900 * bus/dispatch.c (bus_dispatch): make this return proper 9901 DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD 9902 9903 * dbus/dbus-errors.c (dbus_set_error): use 9904 _dbus_string_append_printf_valist 9905 9906 * dbus/dbus-string.c (_dbus_string_append_printf_valist) 9907 (_dbus_string_append_printf): new 9908 9909 * dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to 9910 UNKNOWN_METHOD 9911 9912 * dbus/dbus-connection.c (dbus_connection_dispatch): handle 9913 DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a 9914 message is unhandled. 9915 9916 2003-08-11 Havoc Pennington <hp (a] pobox.com> 9917 9918 * bus/test.c (client_disconnect_handler): change to return 9919 HANDLED (would have been REMOVE_MESSAGE) 9920 9921 * dbus/dbus-object.h (enum DBusHandlerResult): rename to 9922 HANDLED/NOT_YET_HANDLED instead of 9923 REMOVE_MESSAGE/ALLOW_MORE_HANDLERS to make it clearer how it 9924 should be used. 9925 9926 2003-08-10 Havoc Pennington <hp (a] pobox.com> 9927 9928 * tools/dbus-send.c (main): add --type argument, for now 9929 supporting only method_call and signal types. 9930 9931 * tools/dbus-print-message.c: print message type 9932 9933 * dbus/dbus-connection.c (_dbus_connection_new_for_transport): 9934 init connection->objects 9935 9936 * doc/dbus-specification.sgml: fix sgml 9937 9938 * bus/*.c: port over to object-instance API changes 9939 9940 * test/test-service.c: ditto 9941 9942 * dbus/dbus-message.c (dbus_message_create_header): allow #NULL 9943 name, we will have to fix up the rest of the code to also handle 9944 this 9945 (dbus_message_new): generic message-creation call 9946 (set_string_field): allow appending name field 9947 9948 2003-08-06 Havoc Pennington <hp (a] pobox.com> 9949 9950 * dbus/dbus-object-registry.c: implement signal connection 9951 and dispatch 9952 9953 * dbus/dbus-connection.c (_dbus_connection_unref_unlocked): new 9954 9955 * dbus/dbus-internals.c (_dbus_memdup): new function 9956 9957 2003-08-02 Havoc Pennington <hp (a] pobox.com> 9958 9959 * dbus/dbus-message.c (dbus_message_get_no_reply) 9960 (dbus_message_set_no_reply): add these and remove 9961 set_is_error/get_is_error 9962 9963 * dbus/dbus-protocol.h, doc/dbus-specification.sgml: 9964 remove the ERROR flag, since there's now an ERROR type 9965 9966 2003-08-01 Havoc Pennington <hp (a] pobox.com> 9967 9968 * dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock): 9969 implement 9970 9971 * dbus/dbus-message.c (dbus_message_get_type): new function 9972 9973 * doc/dbus-specification.sgml: add "type" byte to messages 9974 9975 2003-08-01 Havoc Pennington <hp (a] pobox.com> 9976 9977 * dbus/dbus-protocol.h (DBUS_MESSAGE_TYPE_*): introduce 9978 a message type enum to distinguish kinds of message 9979 (DBUS_HEADER_FLAG_NO_REPLY_EXPECTED): flag for a message 9980 that need not be replied to 9981 9982 2003-08-01 Havoc Pennington <hp (a] pobox.com> 9983 9984 * dbus/dbus-marshal.c: adapt to DBusObjectID changes 9985 (unpack_8_octets): fix no-64-bit-int bug 9986 9987 * dbus/dbus-object-registry.c (validate_id): validate the 9988 connection ID bits, not just the instance ID. 9989 9990 * dbus/dbus-connection.c (_dbus_connection_init_id): initialize 9991 the connection-global 33 bits of the object ID 9992 9993 * dbus/dbus-object-registry.c (info_from_entry): fill in 9994 object ID in the new way 9995 9996 * dbus/dbus-objectid.h: rather than high/low bits, specifically 9997 define server/client/instance bits. 9998 9999 2003-07-30 Havoc Pennington <hp (a] pobox.com> 10000 10001 * dbus/dbus-connection.c (dbus_connection_register_object): fix 10002 build 10003 10004 2003-07-13 Havoc Pennington <hp (a] pobox.com> 10005 10006 * dbus/dbus-object.h (struct DBusObjectVTable): add padding 10007 fields to DBusObjectVTable and DBusObjectInfo 10008 10009 2003-07-12 Havoc Pennington <hp (a] pobox.com> 10010 10011 * dbus/dbus-object-registry.c: implement unit test, 10012 fix bugs discovered in process 10013 10014 * dbus/dbus-connection.c: remove handler_table and 10015 register_handler(), add DBusObjectRegistry usage 10016 10017 * dbus/dbus-objectid.c (dbus_object_id_is_null) 10018 (dbus_object_id_set_null): new functions 10019 10020 2003-07-08 Havoc Pennington <hp (a] pobox.com> 10021 10022 * dbus/dbus-object.c: implement some of this 10023 10024 * dbus/dbus-object-registry.c 10025 (_dbus_object_registry_add_and_unlock): fill in the object_id out 10026 param 10027 (_dbus_object_registry_new): handle OOM 10028 10029 2003-07-08 Havoc Pennington <hp (a] pobox.com> 10030 10031 * dbus/dbus-object.h: sketch out an API for registering objects 10032 with a connection, that allows us to use as little as 24 bytes 10033 per object and lets application code represent an object in 10034 any conceivable way. 10035 10036 * dbus/dbus-object-registry.c: implement the hard bits of the 10037 DBusConnection aspect of object API. Not yet wired up. 10038 10039 2003-07-06 Havoc Pennington <hp (a] pobox.com> 10040 10041 * dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function 10042 (_dbus_marshal_object_id): new 10043 (_dbus_demarshal_object_id): new 10044 (_dbus_marshal_get_arg_end_pos): support object ID type, and 10045 consolidate identical switch cases. Don't conditionalize handling 10046 of DBUS_TYPE_UINT64, need to handle the type always. 10047 (_dbus_marshal_validate_arg): consolidate identical cases, and 10048 handle DBUS_TYPE_OBJECT_ID 10049 10050 * dbus/dbus-objectid.c: new file with DBusObjectID data type. 10051 10052 * dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID 10053 10054 2003-09-28 Havoc Pennington <hp (a] pobox.com> 10055 10056 * real 0.13 release 10057 10058 2003-09-28 Havoc Pennington <hp (a] pobox.com> 10059 10060 * doc/Makefile.am (dbus-specification.html): testing a funky hack 10061 to work with Debian db2html 10062 10063 2003-09-28 Havoc Pennington <hp (a] pobox.com> 10064 10065 * configure.in: 0.13 10066 10067 * doc/Makefile.am (dbus-test-plan.html): accept nonexistence of 10068 stylesheet-images for benefit of Debian 10069 10070 Change back to using filesystem-linked sockets for the system 10071 bus, so only root can create the default system bus address. 10072 10073 * bus/system.conf.in: change to use 10074 DBUS_SYSTEM_BUS_DEFAULT_ADDRESS 10075 10076 * dbus/Makefile.am (INCLUDES): remove DBUS_SYSTEM_BUS_PATH define 10077 from here. 10078 10079 * configure.in: define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS 10080 here, and AC_DEFINE DBUS_SYSTEM_PATH 10081 10082 2003-08-09 Anders Carlsson <andersca (a] codefactory.se> 10083 10084 * doc/TODO: 10085 * doc/busconfig.dtd: 10086 Add busconfig DTD. 10087 10088 2003-08-09 Anders Carlsson <andersca (a] codefactory.se> 10089 10090 * doc/dbus-specification.sgml: 10091 Add activation reply values. 10092 10093 2003-08-05 Havoc Pennington <hp (a] redhat.com> 10094 10095 * configure.in: 0.12 10096 10097 2003-08-05 Anders Carlsson <andersca (a] codefactory.se> 10098 10099 * glib/dbus-gmain.c: (watch_fd_new), (watch_fd_ref), 10100 (watch_fd_unref), (dbus_gsource_check), (dbus_gsource_dispatch), 10101 (add_watch), (remove_watch), (create_source): 10102 Refcount fds, fixes some reentrancy issues. 10103 10104 2003-07-30 Havoc Pennington <hp (a] redhat.com> 10105 10106 * dbus/dbus-bus.c (init_connections_unlocked): fix default system 10107 bus address to be abstract if we have abstract sockets 10108 10109 * NEWS: update 10110 10111 2003-07-28 Havoc Pennington <hp (a] redhat.com> 10112 10113 * bus/messagebus.in: fix to avoid processname/servicename 10114 confusion, from Michael Kearey 10115 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100965 10116 10117 2003-07-23 Havoc Pennington <hp (a] pobox.com> 10118 10119 * dbus/dbus-message.c (dbus_message_iter_get_named): 10120 fix from Andy Hanton to remove broken "+1" 10121 10122 2003-07-16 Havoc Pennington <hp (a] pobox.com> 10123 10124 * tools/dbus-launch.c (babysit): close stdout/stderr in the 10125 babysitter process, as suggested by Thomas Leonard, so 10126 an "eval `dbus-launch --exit-with-session`" will actually 10127 return 10128 10129 2003-07-16 Havoc Pennington <hp (a] pobox.com> 10130 10131 * configure.in: print out EXPANDED_* variables in the summary at 10132 the end; clean up the code that computes EXPANDED_ variables and 10133 get the ones using exec_prefix right. Should make things work 10134 when you build without --prefix 10135 10136 2003-06-29 Havoc Pennington <hp (a] pobox.com> 10137 10138 * mono/Test.cs (class Test): fire up a main loop and run it 10139 10140 * mono/DBus.cs (DBus): don't g_thread_init since it can only be 10141 done once, the app has to do it 10142 10143 2003-06-26 Havoc Pennington <hp (a] pobox.com> 10144 10145 * mono/Connection.cs: set up connection with the glib main loop 10146 10147 2003-07-01 Havoc Pennington <hp (a] redhat.com> 10148 10149 * doc/dbus-specification.sgml: clarify the format of a type code, 10150 change suggested by Jim Blandy 10151 10152 2003-06-29 Miloslav Trmac <mitr (a] volny.cz> 10153 10154 * doc/Makefile.am: 10155 * tools/Makefile.am: Don't assume srcdir == builddir. 10156 10157 * dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking 10158 the allocated block. 10159 (_dbus_memory_test): New function. 10160 * dbus/dbus-test.h: Add _dbus_memory_test (). 10161 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it. 10162 10163 * dbus/dbus-message.c (decode_header_data): Use %.4s instead 10164 of %c%c%c%c. 10165 (dbus_message_new): Remove obsolete @todo. 10166 10167 * dbus/dbus-marshal.c (_dbus_marshal_set_int64) 10168 (_dbus_marshal_set_uint64): Fix comment. 10169 10170 * dbus/dbus-message.c (append_int_field, append_uint_field): Don't 10171 hardcode FIELD_REPLY_SERIAL. 10172 10173 * dbus/dbus-mainloop.c (_dbus_loop_remove_watch) 10174 (_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p 10175 10176 * configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS 10177 and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used 10178 10179 2003-06-24 Havoc Pennington <hp (a] pobox.com> 10180 10181 * mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0) 10182 10183 2003-06-23 Anders Carlsson <andersca (a] codefactory.se> 10184 10185 * configure.in: 10186 * gcj/.cvsignore: 10187 * gcj/Hello.java: 10188 * gcj/Makefile.am: 10189 * gcj/TestMessage.java: (TestMessage), (TestMessage.main): 10190 * gcj/org/.cvsignore: 10191 * gcj/org/Makefile.am: 10192 * gcj/org/freedesktop/.cvsignore: 10193 * gcj/org/freedesktop/Makefile.am: 10194 * gcj/org/freedesktop/dbus/.cvsignore: 10195 * gcj/org/freedesktop/dbus/Makefile.am: 10196 * gcj/org/freedesktop/dbus/Message.java: (Message), 10197 (Message.Message): 10198 * gcj/org/freedesktop/dbus/natMessage.cc: 10199 Fix the build system. 10200 10201 2003-06-22 Havoc Pennington <hp (a] pobox.com> 10202 10203 * mono/Connection.cs: add more bindings 10204 10205 * dbus/dbus-threads.c (dbus_threads_init): allow calling this 10206 more than once. 10207 10208 2003-06-22 Havoc Pennington <hp (a] pobox.com> 10209 10210 * mono/Connection.cs, mono/DBus.cs, mono/Error.cs: 10211 Start wrapping more stuff. 10212 10213 2003-06-22 Havoc Pennington <hp (a] pobox.com> 10214 10215 * mono/Message.cs: implement Message.Wrap() that ensures we only 10216 have a single C# wrapper per DBusMessage, assuming it works which 10217 it probably doesn't. 10218 10219 * dbus/dbus-message.c (dbus_message_allocate_data_slot): new 10220 (dbus_message_free_data_slot): new 10221 (dbus_message_set_data): new 10222 (dbus_message_get_data): new 10223 10224 2003-06-22 Havoc Pennington <hp (a] pobox.com> 10225 10226 * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref) 10227 (_dbus_data_slot_allocator_alloc): rework these to keep a 10228 reference count on each slot and automatically manage a global 10229 slot ID variable passed in by address 10230 10231 * bus/bus.c: convert to new dataslot API 10232 10233 * dbus/dbus-bus.c: convert to new dataslot API 10234 10235 * dbus/dbus-connection.c: convert to new dataslot API 10236 10237 * dbus/dbus-server.c: convert to new dataslot API 10238 10239 * glib/dbus-gmain.c: ditto 10240 10241 * bus/test.c: ditto 10242 10243 * bus/connection.c: ditto 10244 10245 2003-06-22 Anders Carlsson <andersca (a] codefactory.se> 10246 10247 * configure.in: Add AM_PROG_GCJ and move AM_PROG_LIBTOOL 10248 after the gcj checks so that the correct configuration tags 10249 will be added to libtool. 10250 10251 * dbus-glib-1.pc.in: No need to specify any includes since 10252 dbus-1.pc.in has those. 10253 10254 2003-06-22 Havoc Pennington <hp (a] pobox.com> 10255 10256 * mono/*, gcj/*, configure.in, Makefile.am: 10257 Check in makefiles and subdirs for mono and gcj bindings. 10258 Neither binding actually exists, just trying to get through 10259 all the build and other boring bits. 10260 10261 2003-06-21 Philip Blundell <philb (a] gnu.org> 10262 10263 * tools/dbus-monitor.1: Updated. 10264 10265 * tools/dbus-send.1: Likewise. 10266 10267 2003-06-20 Anders Carlsson <andersca (a] codefactory.se> 10268 10269 * dbus/dbus-transport-unix.c (unix_handle_watch): Check 10270 for hangup and error after checking read so we won't discard 10271 pending data if both hangup and read are set. 10272 10273 2003-06-19 Philip Blundell <philb (a] gnu.org> 10274 10275 * tools/dbus-print-message.c (print_message): Handle BOOLEAN. 10276 10277 * tools/dbus-send.c: Accept both --system and --session. 10278 10279 * tools/dbus-monitor.c: Same here. 10280 10281 2003-06-19 Anders Carlsson <andersca (a] codefactory.se> 10282 10283 * glib/dbus-glib.h: Fix so that dbus-glib.h can be used 10284 from C++ (Patch by Miloslav Trmac). 10285 10286 2003-06-15 Joe Shaw <joe (a] assbarn.com> 10287 10288 * configure.in: Check for socklen_t. 10289 10290 * dbus/dbus-sysdeps.c: Define socklen_t if it's not defined. 10291 10292 * test/test-segfault.c: Add #include <sys/time.h> 10293 10294 * tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since 10295 dbus-launch needs it. 10296 10297 2003-06-09 Havoc Pennington <hp (a] redhat.com> 10298 10299 * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use 10300 SUN_LEN, it breaks abstract socket usage 10301 10302 * dbus/dbus-internals.c (_dbus_verbose_real): only print PID at 10303 starts of lines. 10304 10305 2003-06-04 Havoc Pennington <hp (a] pobox.com> 10306 10307 * dbus/dbus-server.c (dbus_server_listen): allow abstract sockets 10308 using unix:abstract=/foo, and when listening in a tmpdir 10309 i.e. unix:tmpdir=/tmp, always use abstract sockets if we can. 10310 10311 * dbus/dbus-transport.c (_dbus_transport_open): support 10312 unix:abstract=/foo 10313 10314 * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket): 10315 support abstract sockets 10316 10317 * dbus/dbus-transport-unix.c 10318 (_dbus_transport_new_for_domain_socket): support abstract sockets 10319 10320 * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract" 10321 toggle as an argument, implement abstract namespace support 10322 (_dbus_listen_unix_socket): ditto 10323 10324 * configure.in: add --enable-abstract-sockets and implement 10325 a configure check for autodetection of the right value. 10326 10327 2003-06-01 Havoc Pennington <hp (a] pobox.com> 10328 10329 * tools/dbus-cleanup-sockets.c: add utility to clean up sockets 10330 in /tmp (though on Linux this will end up being useless, 10331 when we add abstract namespace support) 10332 10333 * configure.in: define DBUS_SESSION_SOCKET_DIR in addition to 10334 subst'ing it 10335 10336 2003-05-28 Colin Walters <walters (a] verbum.org> 10337 10338 * tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/). 10339 10340 2003-05-18 Anders Carlsson <andersca (a] codefactory.se> 10341 10342 * dbus/dbus-message.c (dbus_message_new): Remove @todo. 10343 10344 2003-05-17 Colin Walters <walters (a] gnu.org> 10345 10346 * tools/dbus-send.c: Don't exit with an error code if --help was 10347 passed. Default to using the session bus instead of the system 10348 one. 10349 10350 * tools/dbus-launch.c: Ditto. 10351 10352 * tools/dbus-monitor.c: Ditto. 10353 10354 * tools/dbus-send.1: Update with new arguments. 10355 10356 * tools/dbus-launch.c: Emit code to export variables. New 10357 arguments -s and -c to specify shell syntax, and a bit of code to 10358 autodetect syntax. Also, allow specifying a program to run. 10359 10360 * tools/dbus-launch.1: Update with new arguments. 10361 10362 * tools/dbus-send.1: Ditto. 10363 10364 * tools/dbus-monitor.1: Ditto. 10365 10366 2003-05-17 Havoc Pennington <hp (a] pobox.com> 10367 10368 * bus/config-parser.c (merge_included): merge in policies from 10369 child configuration file. 10370 10371 * bus/policy.c (bus_policy_merge): function to merge two policies 10372 together 10373 10374 2003-05-16 Havoc Pennington <hp (a] redhat.com> 10375 10376 * dbus/dbus-connection.c: disable verbose lock spew 10377 10378 * tools/dbus-send.c: add --print-reply command line option 10379 10380 * tools/dbus-print-message.h (print_message): new util function 10381 shared by dbus-send and dbus-monitor 10382 10383 * tools/dbus-monitor.c (handler_func): exit on disconnect 10384 10385 * dbus/dbus-transport-unix.c (do_reading): if the transport is 10386 disconnected, don't try to use the read_watch 10387 10388 * dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL 10389 so we can find this bug more easily 10390 10391 2003-05-16 Havoc Pennington <hp (a] redhat.com> 10392 10393 * bus/policy.c (free_rule_list_func): avoid a crash when passed 10394 NULL as DBusHashTable is annoyingly likely to do. 10395 10396 2003-05-16 Colin Walters <walters (a] verbum.org> 10397 10398 * tools/dbus-monitor.c: Add --session argument and usage() 10399 function. 10400 10401 * tools/dbus-monitor.1: Update with new --session arg. 10402 10403 * bus/Makefile.am (install-data-hook): Create 10404 $(libdir)/dbus-1.0/services so that the session bus is happy. 10405 10406 2003-05-15 Havoc Pennington <hp (a] redhat.com> 10407 10408 * dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work 10409 on non-x86. ifdef's are evil. 10410 10411 2003-05-15 Havoc Pennington <hp (a] redhat.com> 10412 10413 * configure.in: 0.11 10414 10415 * NEWS: update 10416 10417 * bus/Makefile.am (initddir): apparently we are supposed to put 10418 init scripts in /etc/rc.d/init.d not /etc/init.d 10419 10420 * bus/Makefile.am: remove the "you must --enable-tests to make 10421 check" as it broke distcheck 10422 10423 * bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d 10424 10425 2003-05-13 James Willcox <jwillcox (a] gnome.org> 10426 10427 * configure.in: 10428 * bus/activation.c: (bus_activation_service_created), 10429 (bus_activation_activate_service): 10430 * bus/driver.c: (bus_driver_send_service_deleted), 10431 (bus_driver_send_service_created), (bus_driver_send_service_lost), 10432 (bus_driver_send_service_acquired), 10433 (bus_driver_send_welcome_message), 10434 (bus_driver_handle_list_services): 10435 * bus/session.conf.in: 10436 * dbus/dbus-bus.c: (dbus_bus_acquire_service), 10437 (dbus_bus_service_exists), (dbus_bus_activate_service): 10438 * dbus/dbus-bus.h: 10439 10440 Add some convenience API which lets you activate a service, and did a 10441 bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args() 10442 and dbus_message_get_args() 10443 10444 2003-05-11 Havoc Pennington <hp (a] pobox.com> 10445 10446 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid 10447 calling _dbus_marshal_validate_arg() for every byte in a byte 10448 array, etc. 10449 10450 * dbus/dbus-message-handler.c: use atomic reference counting to 10451 reduce number of locks slightly; the global lock in here sucks 10452 10453 * dbus/dbus-connection.c 10454 (_dbus_connection_update_dispatch_status_and_unlock): variant of 10455 update_dispatch_status that can be called with lock held; then use 10456 in a couple places to reduce locking/unlocking 10457 (dbus_connection_send): hold the lock over the whole function 10458 instead of acquiring it twice. 10459 10460 * dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM 10461 10462 * bus/connection.c (bus_connections_setup_connection): fix access 10463 to already-freed memory. 10464 10465 * dbus/dbus-connection.c: keep a little cache of linked list 10466 nodes, to avoid using the global linked list alloc lock in the 10467 normal send-message case. Instead we just use the connection lock 10468 that we already have to take. 10469 10470 * dbus/dbus-list.c (_dbus_list_find_last): new function 10471 10472 * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): 10473 change to use a struct for the atomic type; fix docs, 10474 they return value before increment, not after increment. 10475 10476 * dbus/dbus-string.c (_dbus_string_append_4_aligned) 10477 (_dbus_string_append_8_aligned): new functions to try to 10478 microoptimize this operation. 10479 (reallocate_for_length): break this out of set_length(), to 10480 improve profile info, and also so we can consider inlining the 10481 set_length() part. 10482 10483 * dbus/dbus-message.c (dbus_message_new_empty_header): init data 10484 strings with some preallocation, cuts down on our calls to realloc 10485 a fair bit. Though if we can get the "move entire string to empty 10486 string" optimization below to kick in here, it would be better. 10487 10488 * dbus/dbus-string.c (_dbus_string_move): just call 10489 _dbus_string_move_len 10490 (_dbus_string_move_len): add a special case for moving 10491 an entire string into an empty string; we can just 10492 swap the string data instead of doing any reallocs. 10493 (_dbus_string_init_preallocated): new function 10494 10495 2003-05-11 Havoc Pennington <hp (a] pobox.com> 10496 10497 Write a "test-profile" that does echo client-server with threads; 10498 profile reveals lock contention, memcpy/realloc of buffers, and 10499 UTF-8 validation as hot spots. 20% of lock contention eliminated 10500 with dbus_atomic_inc/dec implementation on x86. Much remaining 10501 contention is global mempool locks for GList and DBusList. 10502 10503 * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add 10504 x86 implementation 10505 10506 * dbus/dbus-connection.c (struct DBusConnection): use 10507 dbus_atomic_t for the reference count 10508 10509 * dbus/dbus-message.c (struct DBusMessage): declare 10510 dbus_atomic_t values as volatile 10511 10512 * configure.in: code to detect ability to use atomic integer 10513 operations in assembly, from GLib patch 10514 10515 * dbus/dbus-internals.c (_dbus_verbose_real): call getpid every 10516 time, tired of it being wrong in threads and forked processes 10517 10518 * glib/test-profile.c: a little program to bounce messages back 10519 and forth between threads and eat CPU 10520 10521 * dbus/dbus-connection.c: add debug spew macros for debugging 10522 thread locks; include config.h at top; fix deadlock in 10523 dbus_connection_flush() 10524 10525 2003-05-08 Havoc Pennington <hp (a] pobox.com> 10526 10527 * dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov 10528 data from getting written, and there wasn't a good reason to 10529 use _exit really. 10530 10531 * test/decode-gcov.c (mark_inside_dbus_build_tests): don't count 10532 dbus_verbose lines in test coverage 10533 (main): add list of functions sorted by # of untested blocks 10534 to the coverage report 10535 10536 * dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS 10537 10538 * dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage 10539 10540 * dbus/dbus-message-handler.c (_dbus_message_handler_test): 10541 extend test coverage 10542 10543 * test/data/auth/cancel.auth-script: test canceling an 10544 authentication 10545 10546 * dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they 10547 aren't used. in CVS history if we end up needing them. 10548 10549 2003-05-04 Havoc Pennington <hp (a] pobox.com> 10550 10551 * dbus/dbus-message-handler.c (_dbus_message_handler_test): add 10552 unit test 10553 10554 * dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this 10555 function, which assumed length was in # of strings, not bytes 10556 10557 * dbus/dbus-message.c (_dbus_message_test): add tests for some 10558 missing coverage 10559 10560 * dbus/dbus-connection.c 10561 (_dbus_connection_queue_received_message): disable function for 10562 now, we are only using it in test mode 10563 10564 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): 10565 remove a mistaken FIXME 10566 10567 2003-05-04 Havoc Pennington <hp (a] pobox.com> 10568 10569 * dbus/dbus-connection.c (dbus_connection_preallocate_send): 10570 unlock mutex on successful return, patch from Anders Gustafsson 10571 10572 2003-05-04 Havoc Pennington <hp (a] pobox.com> 10573 10574 * dbus-glib-1.pc.in (Requires): fix dependencies, from 10575 Anders Gustafsson 10576 10577 2003-05-04 Havoc Pennington <hp (a] pobox.com> 10578 10579 * tools/dbus-launch.c: implement 10580 10581 * bus/main.c (main), bus/bus.c (bus_context_new): 10582 implement --print-pid and --fork 10583 10584 2003-05-03 Havoc Pennington <hp (a] redhat.com> 10585 10586 * dbus/dbus-address.c (dbus_parse_address): fix bug when a key in 10587 the address had no value, and add to test suite. Fix and 10588 regression test from Miloslav Trmac 10589 10590 2003-05-03 Havoc Pennington <hp (a] pobox.com> 10591 10592 * dbus/dbus-watch.c (dbus_watch_handle): warn and return if a 10593 watch is invalid when handled 10594 10595 * tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add 10596 dbus-launch utility to launch the bus from a shell script. Didn't 10597 actually implement dbus-launch yet, it's just a placeholder still. 10598 10599 2003-05-03 Havoc Pennington <hp (a] pobox.com> 10600 10601 * bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the 10602 daemon; also documents daemon config file, so replaces 10603 doc/config-file.txt. Corrected some stuff from config-file.txt in 10604 the process of moving it. 10605 10606 2003-05-03 Havoc Pennington <hp (a] pobox.com> 10607 10608 * tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1: 10609 add some man pages 10610 10611 2003-05-03 Colin Walters <walters (a] verbum.org> 10612 10613 * dbus/dbus-sysdeps.c (fill_user_info): Test against 10614 DBUS_UID_UNSET to determine whether to do a uid lookup or not. 10615 10616 * Makefile.am: Update to use new .pc versioning scheme. 10617 10618 2003-05-02 Havoc Pennington <hp (a] redhat.com> 10619 10620 * bus/system.conf.in: allow send/receive to/from message bus 10621 service 10622 10623 2003-04-30 Havoc Pennington <hp (a] redhat.com> 10624 10625 * configure.in: print a note when building with unit tests and 10626 without assertions 10627 10628 2003-04-30 Havoc Pennington <hp (a] redhat.com> 10629 10630 * Makefile.am: add a check-local that complains if you didn't 10631 configure with --enable-tests 10632 10633 2003-04-29 Havoc Pennington <hp (a] redhat.com> 10634 10635 * glib/dbus-gmain.c: docs cleanups 10636 10637 * dbus/dbus-types.h: add docs on int64 types 10638 10639 * dbus/dbus-memory.c: fix docs to avoid putting private API in 10640 public API docs section 10641 10642 2003-04-29 Havoc Pennington <hp (a] redhat.com> 10643 10644 * dbus-1.pc.in, dbus-glib-1.pc.in: rename these from 10645 dbus-1.0.pc.in, dbus-glib-1.0.pc.in. As these change with the 10646 parallel install API version, not with the D-BUS package version. 10647 10648 * HACKING: move some of README over here 10649 10650 * README: updates, and document API/ABI policy 10651 10652 * configure.in: reindentation 10653 10654 2003-04-29 Havoc Pennington <hp (a] redhat.com> 10655 10656 * dbus/dbus.h: add "you have to define DBUS_API_SUBJECT_TO_CHANGE 10657 to use this library" to be sure people have the right 10658 expectations. 10659 10660 2003-04-28 Havoc Pennington <hp (a] redhat.com> 10661 10662 * configure.in: add --enable-docs which by default is auto yes if 10663 doxygen and db2html found, no otherwise; but can be forced on/off 10664 10665 * doc/Makefile.am: conditionalize whether to build docs on 10666 --enable-docs 10667 10668 2003-04-28 Havoc Pennington <hp (a] redhat.com> 10669 10670 * configure.in: 0.10 10671 10672 * NEWS: update 10673 10674 * bus/system.conf.in: add <includedir>system.d</includedir> 10675 10676 * dbus/dbus-userdb.c (_dbus_user_database_lookup): fix bug when 10677 username was provided but not uid 10678 10679 * bus/config-parser.c (struct BusConfigParser): keep track of 10680 whether the parser is toplevel or was included; change some 10681 of the error handling if it's included. 10682 10683 2003-04-27 Havoc Pennington <hp (a] pobox.com> 10684 10685 Unbreak my code... 10686 10687 * dbus/dbus-transport.c (_dbus_transport_get_dispatch_status): 10688 report correct status if we finish processing authentication 10689 inside this function. 10690 10691 * bus/activation.c (try_send_activation_failure): use 10692 bus_transaction_send_error_reply 10693 10694 * bus/connection.c (bus_connection_get_groups): return an error 10695 explaining the problem 10696 10697 * bus/bus.c (bus_context_check_security_policy): implement 10698 restriction here that inactive connections can only send the 10699 hello message. Also, allow bus driver to send anything to 10700 any recipient. 10701 10702 * bus/connection.c (bus_connection_complete): create the 10703 BusClientPolicy here instead of on-demand. 10704 (bus_connection_get_policy): don't return an error 10705 10706 * dbus/dbus-message.c (dbus_message_new_error_reply): allow NULL 10707 sender field in message being replied to 10708 10709 * bus/bus.c (bus_context_check_security_policy): fix silly typo 10710 causing it to return FALSE always 10711 10712 * bus/policy.c (bus_client_policy_check_can_send): fix bug where 10713 we checked sender rather than destination 10714 10715 2003-04-25 Havoc Pennington <hp (a] redhat.com> 10716 10717 test suite is slightly hosed at the moment, will fix soon 10718 10719 * bus/connection.c (bus_connections_expire_incomplete): fix to 10720 properly disable the timeout when required 10721 (bus_connection_set_name): check whether we can remove incomplete 10722 connections timeout after we complete each connection. 10723 10724 * dbus/dbus-mainloop.c (check_timeout): fix this up a bit, 10725 probably still broken. 10726 10727 * bus/services.c (bus_registry_acquire_service): implement max 10728 number of services owned, and honor allow/deny rules on which 10729 services a connection can own. 10730 10731 * bus/connection.c (bus_connection_get_policy): report errors here 10732 10733 * bus/activation.c: implement limit on number of pending 10734 activations 10735 10736 2003-04-25 Havoc Pennington <hp (a] redhat.com> 10737 10738 * dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug 10739 where we used >= 0 instead of != DBUS_UID_UNSET. 10740 10741 2003-04-25 Havoc Pennington <hp (a] redhat.com> 10742 10743 * glib/dbus-gmain.c (remove_watch): fix for a crash when watches 10744 were toggled without add/remove, fix from Anders Gustafsson 10745 10746 2003-04-24 Havoc Pennington <hp (a] redhat.com> 10747 10748 * test/data/valid-config-files/basic.conf: add <limit> tags to 10749 this test 10750 10751 * bus/config-parser.h, bus/config-parser.c, bus/bus.c: Implement 10752 <limit> tag in configuration file. 10753 10754 2003-04-24 Havoc Pennington <hp (a] redhat.com> 10755 10756 * bus/dispatch.c: somehow missed some name_is 10757 10758 * dbus/dbus-timeout.c (_dbus_timeout_set_enabled) 10759 (_dbus_timeout_set_interval): new 10760 10761 * bus/connection.c (bus_connections_setup_connection): record time 10762 when each connection is first set up, and expire them after the 10763 auth timeout passes. 10764 10765 2003-04-24 Havoc Pennington <hp (a] redhat.com> 10766 10767 * dbus/dbus-message.c (dbus_message_name_is): rename 10768 (dbus_message_service_is): rename 10769 (dbus_message_sender_is): rename 10770 (dbus_message_get_service): rename 10771 10772 2003-04-24 Havoc Pennington <hp (a] redhat.com> 10773 10774 * configure.in: add --enable-checks 10775 10776 * dbus/dbus-message.c (dbus_message_new): reverse name/service arguments 10777 10778 * dbus/dbus-connection.c (dbus_connection_preallocate_send): fix 10779 to use thread locks. 10780 (_dbus_connection_handler_destroyed_locked): move some private 10781 functions into proper docs group 10782 10783 * dbus/dbus-internals.h: add _dbus_return_if_fail, 10784 _dbus_return_val_if_fail 10785 10786 Throughout: use dbus_return_if_fail 10787 10788 2003-04-23 James Willcox <jwillcox (a] gnome.org> 10789 10790 * glib/dbus-glib.h: 10791 * glib/dbus-gmain.c: (add_timeout), (wakeup_main), (create_source), 10792 (dbus_connection_setup_with_g_main), 10793 (dbus_server_setup_with_g_main): 10794 * glib/test-dbus-glib.c: (main): 10795 * glib/test-thread-client.c: (main): 10796 * glib/test-thread-server.c: (new_connection_callback), (main): 10797 * tools/dbus-monitor.c: (main): 10798 10799 Added a GMainContext argument to dbus_connection_setup_with_g_main() 10800 and dbus_server_setup_with_g_main(). 10801 10802 2003-04-20 Havoc Pennington <hp (a] pobox.com> 10803 10804 * doc/dbus-specification.sgml: document the restrictions on 10805 message and service names 10806 10807 2003-04-22 Havoc Pennington <hp (a] redhat.com> 10808 10809 * dbus/dbus-message.c, dbus/dbus-marshal.c: add 64-bit integer 10810 support, and do some code cleanups to share more code and 10811 speed up array marshal/demarshal. 10812 10813 * dbus-1.0.pc.in (Cflags): put libdir include file in cflags 10814 10815 * configure.in: generate dbus-arch-deps.h 10816 10817 * dbus/dbus-protocol.h (DBUS_TYPE_INT64, DBUS_TYPE_UINT64): add 10818 64-bit typecodes 10819 10820 2003-04-22 Havoc Pennington <hp (a] redhat.com> 10821 10822 * test/data/valid-messages/opposite-endian.message: fix test 10823 to use proper type for rply field 10824 10825 * test/data/invalid-messages: add tests for below validation 10826 10827 * dbus/dbus-message.c (decode_header_data): validate field types, 10828 and validate that named fields are valid names 10829 (decode_name_field): consider messages in the 10830 org.freedesktop.Local. namespace to be invalid. 10831 10832 * dbus/dbus-string.c (_dbus_string_validate_name): new 10833 10834 2003-04-19 Havoc Pennington <hp (a] pobox.com> 10835 10836 * bus/driver.c (bus_driver_handle_hello): check limits and 10837 return an error if they are exceeded. 10838 10839 * bus/connection.c: maintain separate lists of active and inactive 10840 connections, and a count of each. Maintain count of completed 10841 connections per user. Implement code to check connection limits. 10842 10843 * dbus/dbus-list.c (_dbus_list_unlink): export 10844 10845 * bus/bus.c (bus_context_check_security_policy): enforce a maximum 10846 number of bytes in the message queue for a connection 10847 10848 2003-04-18 Havoc Pennington <hp (a] pobox.com> 10849 10850 * dbus/dbus-auth.c (record_mechanisms): memleak fixes 10851 10852 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): fix some 10853 memleaks 10854 10855 * dbus/dbus-keyring.c (add_new_key): fix a memleak, and 10856 on realloc be sure to update the pointer in the keyring 10857 10858 * dbus/dbus-string.c (_dbus_string_zero): compensate for align 10859 offset to avoid writing to unallocated memory 10860 10861 * dbus/dbus-auth.c (process_rejected): return FALSE if we fail to 10862 try the next mechanism, so we properly handle OOM 10863 10864 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): fix double-free 10865 on OOM. 10866 (_dbus_keyring_new): fix OOM bug 10867 (_dbus_keyring_new_homedir): always set error; impose a maximum 10868 number of keys we'll load from the file, mostly to speed up the 10869 test suite and make its OOM checks more useful, but also for 10870 general sanity. 10871 10872 * dbus/dbus-auth.c (process_error_server): reject authentication 10873 if we get an error from the client 10874 (process_cancel): on cancel, send REJECTED, per the spec 10875 (process_error_client): send CANCEL if we get an error from the 10876 server. 10877 10878 2003-04-18 Havoc Pennington <hp (a] pobox.com> 10879 10880 * dbus/dbus-mainloop.c (_dbus_loop_iterate): fix UMR in verbose 10881 debug spew 10882 10883 * dbus/dbus-auth.c (handle_client_data_cookie_sha1_mech): fix OOM 10884 handling problem 10885 10886 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): only whine 10887 about DBUS_TEST_HOMEDIR once 10888 10889 * bus/Makefile.am (TESTS_ENVIRONMENT): put DBUS_TEST_HOMEDIR in 10890 the environment 10891 10892 * bus/dispatch.c (bus_dispatch_sha1_test): actually load sha1 10893 config file so we test the right thing 10894 10895 Throughout: assorted docs improvements 10896 10897 2003-04-18 Havoc Pennington <hp (a] pobox.com> 10898 10899 * glib/dbus-gmain.c: adapt to watch changes 10900 10901 * bus/bus.c, bus/activation.c, etc.: adjust to watch changes 10902 10903 * dbus/dbus-server.h: remove dbus_server_handle_watch 10904 10905 * dbus/dbus-connection.h: remove dbus_connection_handle_watch 10906 10907 * dbus/dbus-watch.c (dbus_watch_handle): change DBusWatch to work 10908 like DBusTimeout, so we don't need dbus_connection_handle_watch 10909 etc. 10910 10911 2003-04-17 Havoc Pennington <hp (a] redhat.com> 10912 10913 * dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd 10914 database usage so it all goes via the DBusUserDatabase cache. 10915 10916 2003-04-17 Havoc Pennington <hp (a] redhat.com> 10917 10918 * dbus/dbus-mainloop.c (_dbus_loop_iterate): fix logic so that if 10919 there was an OOM watch we skipped, we always return TRUE so we 10920 iterate again to have a look at it again. Fixes test suite hang. 10921 Code rearrangement also lets us lose some memset and only iterate 10922 over callbacks once. 10923 10924 * bus/driver.c (bus_driver_handle_message): sense of test for 10925 reply was backward 10926 10927 2003-04-16 Havoc Pennington <hp (a] pobox.com> 10928 10929 * doc/dbus-specification.sgml: make spec say serials are unsigned 10930 10931 * dbus/dbus-message.h: change message serials to unsigned 10932 10933 * dbus/dbus-connection.c: adapt to message serials being unsigned 10934 10935 2003-04-15 Havoc Pennington <hp (a] pobox.com> 10936 10937 * bus/bus.c: create and keep around a shared DBusUserDatabase 10938 object. 10939 10940 * bus/connection.c (bus_connection_get_groups): don't cache 10941 groups for user in the connection object, since user database 10942 object now does that. 10943 10944 2003-04-16 Havoc Pennington <hp (a] redhat.com> 10945 10946 * dbus/dbus-message.c (_dbus_message_add_size_counter): keep a 10947 list of size counters 10948 (_dbus_message_loader_putback_message_link): put back a popped link 10949 10950 * dbus/dbus-connection.c 10951 (dbus_connection_set_max_live_messages_size): rename 10952 max_received_size 10953 (dbus_connection_get_outgoing_size): get size of outgoing 10954 queue 10955 (_dbus_connection_set_connection_counter): remove this cruft 10956 10957 2003-04-14 Havoc Pennington <hp (a] redhat.com> 10958 10959 * dbus/dbus-userdb.c: user database abstraction, mostly to get 10960 caching, but at some point we might want to be able to use a 10961 different database. 10962 10963 * bus/dispatch.c (bus_dispatch_sha1_test): add a test that uses 10964 SHA1 conf file to test the sha1 auth mechanism, since the regular 10965 test always uses EXTERNAL when available. 10966 10967 * configure.in, 10968 test/data/valid-config-files/debug-allow-all-sha1.conf.in: 10969 add conf file that requires use of sha1 auth 10970 10971 2003-04-13 Havoc Pennington <hp (a] pobox.com> 10972 10973 * tools/dbus-send.c, tools/dbus-monitor.c: two utility programs 10974 from Philip Blundell to send messages and monitor them. 10975 10976 2003-04-13 Havoc Pennington <hp (a] pobox.com> 10977 10978 * dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting 10979 callbacks 10980 10981 * test/data/valid-config-files/debug-allow-all.conf.in: allow all 10982 users 10983 10984 * dbus/dbus-transport.c (_dbus_transport_get_dispatch_status): 10985 fix to only recover unused bytes if we're already authenticated 10986 (_dbus_transport_get_is_authenticated): fix to still mark us 10987 authenticated if there are unused bytes. 10988 10989 * bus/dispatch.c: implement security policy checking 10990 10991 * bus/connection.c (bus_transaction_send_from_driver): new 10992 10993 * bus/bus.c (bus_context_check_security_policy): new 10994 10995 * bus/dispatch.c (send_service_nonexistent_error): delete this, 10996 now we just set the DBusError and it gets converted to an error 10997 reply. 10998 10999 * bus/connection.c (allow_user_function): enable code using actual 11000 data from the config file 11001 11002 * bus/policy.c (list_allows_user): handle wildcard rules for 11003 user/group connection perms 11004 11005 2003-04-13 Havoc Pennington <hp (a] pobox.com> 11006 11007 * bus/config-parser.c: Load up the BusPolicy and BusPolicyRules 11008 11009 * dbus/dbus-sysdeps.c (_dbus_get_user_id): new function 11010 11011 * bus/policy.c (bus_policy_append_mandatory_rule) 11012 (bus_policy_append_default_rule, bus_policy_append_user_rule) 11013 (bus_policy_append_group_rule): new functions 11014 11015 2003-04-12 Havoc Pennington <hp (a] pobox.com> 11016 11017 * bus/config-parser.c (bus_config_parser_new): fix a memleak 11018 11019 * dbus/dbus-sysdeps.c: change DBusCredentials to use longs for 11020 the pid/gid/uid, just for paranoia. 11021 11022 * test/break-loader.c (randomly_do_n_things): find a byte 11023 containing a type code, and randomly change it to a different 11024 type code. 11025 11026 2003-04-12 Havoc Pennington <hp (a] pobox.com> 11027 11028 * bus/policy.h: change BusPolicy to be the thing from the config 11029 file, and rename old BusPolicy to BusClientPolicy 11030 11031 * bus/bus.c, bus/connection.c, bus/config-parser.c: change to 11032 match change in how policy works 11033 11034 * dbus/dbus-internals.h: mark assert_not_reached as 11035 __attribute((noreturn))__ 11036 11037 2003-04-11 Havoc Pennington <hp (a] redhat.com> 11038 11039 * doc/dbus-specification.sgml: fix a spot with the wrong name for 11040 the broadcast service. Use boolean return for ServiceExists. 11041 11042 2003-04-11 Havoc Pennington <hp (a] redhat.com> 11043 11044 * configure.in: add another directory to look for qt in. 11045 11046 2003-04-11 Havoc Pennington <hp (a] redhat.com> 11047 11048 * AUTHORS: add Colin Walters 11049 11050 2003-04-11 Havoc Pennington <hp (a] redhat.com> 11051 11052 * NEWS: update 11053 11054 * configure.in: 0.9 11055 11056 2003-04-11 Havoc Pennington <hp (a] redhat.com> 11057 11058 * bus/messagebus.in: remove pid file when stopping the 11059 message bus, since the bus won't have privileges to remove it 11060 itself. 11061 11062 2003-04-11 Havoc Pennington <hp (a] redhat.com> 11063 11064 * bus/bus.c (bus_context_new): move credentials change after 11065 creating pidfile 11066 11067 2003-04-11 Havoc Pennington <hp (a] pobox.com> 11068 11069 * test/decode-gcov.c: add "below average functions" to the 11070 coverage report, and change how some of the code works. 11071 11072 * bus/test-main.c: bracket some stuff in DBUS_BUILD_TESTS so it's 11073 not in the coverage stats. 11074 11075 * test/test-service.c (main): use _dbus_verbose not fprintf in a 11076 couple places so running the test suite doesn't result in megaspam. 11077 11078 2003-04-11 Havoc Pennington <hp (a] pobox.com> 11079 11080 * bus/dispatch.c (check_existent_service_activation): accept a no 11081 memory error in a place we didn't before 11082 11083 * bus/test.c (bus_test_run_everything): remove hacky "do it twice 11084 in case the first one failed," since the test suite is less 11085 broken now. 11086 11087 2003-04-10 Havoc Pennington <hp (a] pobox.com> 11088 11089 * bus/dispatch.c (check_segfault_service_activation): add test 11090 for launching an executable that just crashes. 11091 11092 * test/test-segfault.c (main): try setting coredumpsize to 0 so we 11093 don't leave a million cores. We'll see how portable this is. 11094 11095 2003-04-10 Havoc Pennington <hp (a] pobox.com> 11096 11097 * dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all 11098 the possible parent failures before we fork, so that we don't 11099 fail to create a babysitter after creating the child. 11100 11101 * bus/activation.c (bus_activation_activate_service): kill child 11102 if we don't successfully complete the activation. 11103 11104 2003-04-10 Havoc Pennington <hp (a] redhat.com> 11105 11106 * dbus/dbus-connection.c (dbus_connection_flush): don't spin on 11107 the connection if it's disconnected 11108 11109 * bus/activation.c (bus_activation_service_created): use new 11110 transaction features to roll back removal of pending activation if 11111 we don't successfully create the service after all. Don't remove 11112 pending activation if the function fails. 11113 11114 * dbus/dbus-list.c (_dbus_list_insert_before_link) 11115 (_dbus_list_insert_after_link): new code to facilitate 11116 services.c fixes 11117 11118 * dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated): 11119 new functionality, so we can preallocate the ability to insert 11120 into a hash table. 11121 11122 * bus/connection.c (bus_transaction_add_cancel_hook): new function 11123 allowing us to put custom hooks in a transaction to be used for 11124 cancelling said transaction 11125 11126 * doc/dbus-specification.sgml: add some discussion of secondary 11127 service owners, and disallow zero-length service names 11128 11129 * bus/services.c (bus_registry_acquire_service): new function, 11130 splits out part of bus_driver_handle_acquire_service() and fixes 11131 a bug where we didn't remove the service doing the acquiring 11132 from the secondary queue if we failed to remove the current owner 11133 from the front of the queue. 11134 11135 2003-04-10 Alexander Larsson <alexl (a] redhat.com> 11136 11137 * doc/dbus-specification.sgml: 11138 s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/ 11139 11140 2003-04-10 Alexander Larsson <alexl (a] redhat.com> 11141 11142 * bus/.cvsignore: 11143 * glib/.cvsignore: 11144 * test/.cvsignore: 11145 Added files to cvsignore 11146 11147 * dbus/dbus-message.h: 11148 * dbus/dbus-message.c: (dbus_message_iter_get_named): 11149 Make get_named() take two out argument and return a boolean. 11150 (dbus_message_iter_get_args_valist): 11151 Update usage of get_named(). 11152 (dbus_message_iter_append_byte): 11153 Fix typo 11154 (dbus_message_iter_append_named) 11155 Fix typo 11156 (message_iter_test), (check_message_handling_type), (_dbus_message_test): 11157 More tests. 11158 11159 2003-04-10 Alexander Larsson <alexl (a] redhat.com> 11160 11161 * dbus/dbus-marshal.[ch]: 11162 Add array_type_pos argument to _dbus_marshal_validate_arg. 11163 Let you pass a NULL end_pos to _dbus_marshal_validate_type. 11164 11165 * dbus/dbus-message.[ch]: 11166 Multi-dimensional arrays have full type specification in the 11167 outermost array. Iter code re-arranged to handle this. 11168 Added some more iter tests. 11169 11170 * doc/dbus-specification.sgml: 11171 Add me to authors. 11172 Remove old FIXME. 11173 Update new array encoding description. 11174 Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description. 11175 11176 * test/data/invalid-messages/array-with-mixed-types.message: 11177 * test/data/valid-messages/array-of-array-of-uint32.message: 11178 Change to the new array format. 11179 11180 * test/data/invalid-messages/too-short-dict.message: 11181 Fix bug in test. 11182 11183 * test/data/valid-messages/recursive-types.message: 11184 Fix up and extend test. 11185 11186 2003-04-10 Havoc Pennington <hp (a] pobox.com> 11187 11188 * bus/dispatch.c: lots of fixes 11189 11190 * dbus/dbus-mainloop.c (_dbus_loop_dispatch): export 11191 (_dbus_loop_iterate): remove old "quit if no callbacks" code, 11192 that was crack, broke the test service. 11193 11194 * dbus/dbus-transport.c (_dbus_transport_open): fix error 11195 handling to avoid piling up errors if we get a failure on the 11196 first address. 11197 11198 * dbus/dbus-internals.c (_dbus_real_assert_not_reached): include 11199 pid in assertion failures. 11200 11201 * dbus/dbus-mainloop.c (_dbus_loop_iterate): use static arrays up 11202 to some fixed size of file descriptor array. Don't return TRUE 11203 anytime a timeout exists, that led to lots of busy loop silliness 11204 in the tests. 11205 11206 2003-04-09 Havoc Pennington <hp (a] redhat.com> 11207 11208 * dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought 11209 I'd checked this in earlier but hadn't. 11210 11211 2003-04-09 Havoc Pennington <hp (a] redhat.com> 11212 11213 * bus/dispatch.c (bus_dispatch_test): get a bit further through 11214 the activation test (man this is getting old!) 11215 11216 2003-04-09 Havoc Pennington <hp (a] redhat.com> 11217 11218 * test/test-utils.c: use dispatch status function to fix this up 11219 11220 * bus/connection.c (connection_watch_callback): don't dispatch 11221 from here 11222 (connection_timeout_callback): don't dispatch from here 11223 (bus_connections_setup_connection): set the dispatch status function 11224 (bus_connection_disconnected): unset it 11225 11226 * dbus/dbus-mainloop.c (_dbus_loop_queue_dispatch): new function 11227 used to add a connection to be dispatched 11228 (_dbus_loop_iterate): do the dispatching at the end of each 11229 iteration 11230 11231 * dbus/dbus-connection.c 11232 (dbus_connection_set_dispatch_status_function): new function 11233 allowing us to fix up main loop usage 11234 (_dbus_connection_last_unref): free all the various function 11235 user data 11236 (dbus_connection_dispatch): call the DispatchStatusFunction 11237 whenever this function returns 11238 (dbus_connection_handle_watch): call DispatchStatusFunction 11239 (dbus_connection_send_with_reply_and_block): call DispatchStatusFunction 11240 (reply_handler_timeout): call DispatchStatusFunction 11241 (dbus_connection_flush): call DispatchStatusFunction 11242 11243 2003-04-09 Havoc Pennington <hp (a] redhat.com> 11244 11245 * dbus/dbus-bus.c (dbus_bus_register): fix up error handling and 11246 a memory leak 11247 11248 * bus/dispatch.c (check_service_activated): fix bug in test 11249 11250 * dbus/dbus-mainloop.c (check_timeout): fix this up 11251 11252 * dbus/dbus-internals.c (_dbus_verbose_real): include PID in 11253 verbose output so we can sort out output from different processes, 11254 e.g. in the activation case. 11255 11256 2003-04-08 Colin Walters <walters (a] gnu.org> 11257 11258 * bus/bus.c (struct BusContext) [pidfile]: New member, to store 11259 the pid file. 11260 (bus_context_new): Set it. 11261 (bus_context_unref): Use it to delete the pid file. 11262 11263 2003-04-08 Havoc Pennington <hp (a] redhat.com> 11264 11265 * test/data/invalid-messages/array-with-mixed-types.message: 11266 regression test that fails for the moment 11267 11268 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): reorder 11269 tests for convenience 11270 11271 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): don't allow 11272 array of nil, it broke things. 11273 11274 * test/data/invalid-messages/array-of-nil.message: regression test 11275 11276 * test/data/valid-messages/array-of-array-of-uint32.message: 11277 happened to write this so added it to suite 11278 11279 2003-04-08 Havoc Pennington <hp (a] redhat.com> 11280 11281 * bus/driver.c (bus_driver_handle_acquire_service): init 11282 retval/reply before checking name 11283 11284 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add a 11285 recursion depth argument 11286 11287 * dbus/dbus-message.h (struct DBusMessageIter): put some padding 11288 in the public struct for future extension 11289 11290 * dbus/dbus-message-builder.c (_dbus_message_data_load): fix 11291 typo 11292 11293 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix a verbose 11294 message 11295 11296 * doc/dbus-specification.sgml: fix typo 11297 11298 2003-04-08 Alexander Larsson <alexl (a] redhat.com> 11299 11300 Implemented recursive types, named types and new-style iters 11301 11302 * bus/driver.c: 11303 * glib/test-thread-client.c: (thread_func): 11304 * glib/test-thread-server.c: (handle_test_message): 11305 * test/test-service.c: (handle_echo): 11306 Update to new api 11307 11308 * dbus/Makefile.am: 11309 * dbus/dbus-dict.c: 11310 * dbus/dbus-dict.h: 11311 * dbus/dbus.h 11312 Remove DBusDict 11313 11314 * dbus/dbus-internals.c: (_dbus_type_to_string): 11315 Update for new types. 11316 11317 * dbus/dbus-marshal.[ch]: 11318 Implement recursive types and the new marshalling format. 11319 Remove hardcoded dict marshalling. 11320 Marshal named types. 11321 11322 * dbus/dbus-message-builder.c: 11323 Add BYTE_ARRAY. 11324 Remove references to old types 11325 11326 * dbus/dbus-message.[ch]: 11327 New non-refcounted iter API that supports recursive iters. 11328 Use iters for appending, including support for recursive 11329 iters. 11330 Add byte and named type support. 11331 Update everything to new marshalling formats. 11332 Add tests for new API. 11333 11334 * dbus/dbus-protocol.h: 11335 Remove old array types. 11336 Add types: BYTE, ARRAY, DICT, NAMED 11337 11338 * dbus/dbus-string.c: 11339 * dbus/dbus-sysdeps.c: 11340 Make parse_double locale safe. 11341 11342 * dbus/dbus-test-main.c: 11343 Call setlocale. 11344 11345 * dbus/dbus-test.c: 11346 Kill dict test 11347 11348 * doc/dbus-specification.sgml: 11349 Update spec 11350 11351 * test/data/incomplete-messages/missing-body.message: 11352 * test/data/invalid-messages/bad-boolean.message: 11353 * test/data/invalid-messages/bad-boolean-array.message: 11354 * test/data/invalid-messages/boolean-array-length-too-long.message-raw: 11355 * test/data/invalid-messages/boolean-has-no-value.message-raw: 11356 * test/data/invalid-messages/too-short-dict.message: 11357 * test/data/valid-messages/dict-simple.message: 11358 * test/data/valid-messages/dict.message: 11359 * test/data/valid-messages/emptiness.message: 11360 * test/data/valid-messages/lots-of-arguments.message: 11361 * test/data/valid-messages/no-padding.message: 11362 * test/data/valid-messages/recursive-types.message: 11363 Add missing NAME fields 11364 Fix up dicts & arrays 11365 11366 * test/data/invalid-messages/dict-with-nil-value.message: 11367 Removed, this is not invalid anymore. 11368 11369 * test/data/valid-messages/recursive-types.message: 11370 Add new test for deeply recursive types. 11371 11372 2003-04-07 Havoc Pennington <hp (a] pobox.com> 11373 11374 * bus/driver.c (bus_driver_handle_acquire_service): return an 11375 error if you try to acquire a service that starts with ':' 11376 11377 2003-04-07 Havoc Pennington <hp (a] redhat.com> 11378 11379 * doc/dbus-specification.sgml: require that base service names 11380 start with ':' and that the base service is created/deleted 11381 as first and last things a connection does on the bus 11382 11383 * bus/dispatch.c (check_existent_service_activation): lots more 11384 work on the activation test; it doesn't fully pass yet... 11385 11386 * test/test-service.c (main): fix so we don't memleak the 11387 connection to the message bus 11388 (filter_func): accept a message asking us to exit 11389 11390 2003-04-06 Havoc Pennington <hp (a] pobox.com> 11391 11392 * qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h, 11393 from Colin Walters 11394 11395 * configure.in: fixes to Qt detection from Colin Walters 11396 11397 * doc/Makefile.am: Only remove generated docbook dirs if they 11398 exist, from Colin Walters 11399 11400 * dbus/dbus-bus.c: change how we set well-known connections to 11401 NULL, so that it works if a single connection is stored in 11402 two well-known array slots. 11403 11404 * test/Makefile.am: remove a lot of stuff that isn't immediately 11405 useful, it's in CVS history if we want it. 11406 11407 * test/test-service.c: use dbus-mainloop instead of that 11408 watch.[hc] crack 11409 11410 2003-04-06 Havoc Pennington <hp (a] pobox.com> 11411 11412 * dbus/Makefile.am: split lists of sources into stuff that goes in 11413 the library, util functions that go in the lib and are also used 11414 elsewhere, and util functions that are used in tests/daemon but 11415 don't go in the lib. 11416 11417 * dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc] 11418 here so it can be used in test binaries also 11419 11420 2003-04-06 Havoc Pennington <hp (a] pobox.com> 11421 11422 * dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile 11423 here in the parent process, so we can return an error if it 11424 fails. Also, move some of the code into the child so the parent 11425 is less hosed if we fail midway through. 11426 11427 * bus/bus.c (bus_context_new): move pidfile detection further up 11428 in the function, before we start overwriting sockets and such. 11429 11430 * bus/messagebus.in: adjust this a bit, not sure if it will work. 11431 11432 * configure.in: add --with-system-pid-file and --with-system-socket 11433 11434 2003-04-06 Colin Walters <walters (a] verbum.org> 11435 11436 * configure.in (DBUS_SYSTEM_PID_FILE): New variable. 11437 11438 * bus/system.conf.in: Declare a pidfile. 11439 11440 * bus/bus.c (bus_context_new): Test for an existing pid file, and 11441 create one (if appropriate). 11442 11443 * bus/config-parser.c (enum ElementType) [ELEMENT_PIDFILE]: New. 11444 (struct BusConfigParser) [pidfile]: New. 11445 (element_type_to_name, merge_included, start_busconfig_child) 11446 (bus_config_parser_end_element, bus_config_parser_content): Handle it. 11447 (bus_config_parser_unref): Free it. 11448 (bus_config_parser_get_pidfile): New function. 11449 11450 * bus/config-parser.h (_dbus_write_pid_file): Prototype. 11451 11452 * dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error. 11453 11454 * dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function. 11455 11456 * dbus/dbus-sysdeps.h: Prototype it. 11457 11458 2003-04-06 Havoc Pennington <hp (a] pobox.com> 11459 11460 * bus/bus.c (bus_context_new): print the address in here, rather 11461 than in main(), because we need to do it before forking the daemon 11462 11463 * bus/dispatch.c (send_service_nonexistent_error): set the sender 11464 on the service nonexistent error 11465 11466 * bus/driver.c (bus_driver_handle_acquire_service): set the 11467 sender on the AcquireService reply 11468 11469 * test/data/valid-config-files/debug-allow-all.conf.in: Make test 11470 server also listen on a UNIX socket so services can connect to it. 11471 11472 2003-04-06 Havoc Pennington <hp (a] pobox.com> 11473 11474 * dbus/dbus-threads.c: Redo how the fake debug mutexes are done 11475 so it detects deadlocks and also we actually init threads when 11476 debugging. 11477 11478 2003-04-06 Havoc Pennington <hp (a] pobox.com> 11479 11480 * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket): 11481 save the domain socket name, and unlink it when we disconnect the 11482 server. Means that at least when we exit normally, we won't leave 11483 a bunch of junk in /tmp 11484 11485 * dbus/dbus-transport-unix.c 11486 (_dbus_transport_new_for_domain_socket): code cleanup (nicer 11487 memory management). (I was making a real change here but then 11488 didn't) 11489 11490 2003-04-06 Havoc Pennington <hp (a] pobox.com> 11491 11492 * bus/bus.c (bus_context_new): fix wrong handling of 11493 server_data_slot_unref() in the error case. 11494 11495 * dbus/dbus-internals.h (_dbus_assert): change so it passes 11496 "(condition) != 0" to _dbus_real_assert so that 11497 "_dbus_assert (pointer)" doesn't cause a warning 11498 11499 * bus/main.c (main): accept --print-address option to print out 11500 the message bus address 11501 11502 * dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this 11503 11504 * dbus/dbus-transport.c (_dbus_transport_open): special error for 11505 "tmpdir" option to unix: address on client side 11506 11507 * dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option 11508 to unix: address 11509 11510 * configure.in (TEST_SOCKET_DIR): locate a temporary directory 11511 we can use to create sockets in the test suite. 11512 11513 * bus/main.c (signal_handler): on SIGTERM, exit the daemon 11514 cleanly. To be used for testing. 11515 11516 * dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler() 11517 11518 * dbus/dbus-sysdeps.c (_dbus_set_signal_handler): new 11519 11520 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new): 11521 handle trying to call this when there's no servers active 11522 11523 2003-04-05 Havoc Pennington <hp (a] pobox.com> 11524 11525 * NEWS: update 11526 11527 * configure.in: 0.8 11528 11529 2003-04-05 Havoc Pennington <hp (a] pobox.com> 11530 11531 * bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't 11532 crash on startup. Need to get "try starting the daemon" 11533 in the test suite I guess. ;-) 11534 11535 * dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that 11536 tracked the number of open connections; it's better done in 11537 application-specific code as you want it to span all servers etc. 11538 11539 2003-04-05 Havoc Pennington <hp (a] pobox.com> 11540 11541 * bus/Makefile.am (install-data-hook): add missing DESTDIR, 11542 patch from Colin Walters 11543 11544 2003-04-05 Havoc Pennington <hp (a] pobox.com> 11545 11546 * doc/config-file.txt (Elements): fix docs of <auth> to reflect 11547 reality; in fact multiple mechanisms are allowed. 11548 11549 * dbus/dbus-internals.c (_dbus_real_assert) 11550 (_dbus_real_assert_not_reached): move guts of _dbus_assert() and 11551 _dbus_assert_not_reached() into functions, so that they don't show 11552 up in basic block counts for test coverage, and don't use up as 11553 much disk space. Does mean slower execution speed though, so 11554 assumes --disable-asserts is the normal production case. 11555 11556 2003-04-05 Havoc Pennington <hp (a] pobox.com> 11557 11558 * test/Makefile.am (dist-hook): also dist *.in files 11559 11560 * NEWS: update 11561 11562 * configure.in: 0.7 11563 11564 2003-04-05 Havoc Pennington <hp (a] pobox.com> 11565 11566 * dbus/dbus-string.c: docs warning 11567 11568 * dbus/dbus-spawn.c: missing docs 11569 11570 * dbus/dbus-memory.c (struct ShutdownClosure): missing docs 11571 11572 2003-04-05 Havoc Pennington <hp (a] pobox.com> 11573 11574 * bus/loop.c (bus_loop_iterate): fix the timeout code, using 11575 magic from GLib 11576 11577 * dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid 11578 to -1 once we've reaped the babysitter 11579 (_dbus_babysitter_handle_watch): do as much work as we can, not 11580 just one go of it 11581 11582 * bus/activation.c: add code using DBusBabysitter so that we 11583 handle it when a service fails to start up properly. 11584 (bus_activation_service_created): don't remove the activation 11585 entries as we go, just let them get removed when we free the pending 11586 activation. Unref reply messages after sending them. 11587 11588 2003-04-05 Havoc Pennington <hp (a] pobox.com> 11589 11590 * test/decode-gcov.c (main): print per-directory stats in the report 11591 11592 * Makefile.am (coverage-report.txt): don't include test/* in gcov stats 11593 11594 2003-04-05 Havoc Pennington <hp (a] pobox.com> 11595 11596 * Makefile.am (coverage-report.txt): add target "coverage-report.txt" 11597 11598 * test/decode-gcov.c: hack up a little program to suck data 11599 out of gcov files. Yes this is sort of silly. 11600 11601 * configure.in: define something in config.h and do an 11602 AM_CONDITIONAL when gcov is enabled 11603 11604 2003-04-04 Havoc Pennington <hp (a] redhat.com> 11605 11606 * dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to 11607 return a "babysitter" object that is used to monitor the status of 11608 the spawned process and reap it when required. 11609 11610 * test/test-segfault.c, test/test-exit.c, 11611 test/test-sleep-forever.c: binaries that do various lame things, 11612 used in the test suite. 11613 11614 * dbus/dbus-sysdeps.c: kill _dbus_errno_to_string() 11615 11616 2003-04-03 Havoc Pennington <hp (a] pobox.com> 11617 11618 * dbus/dbus-spawn.c: Move dbus-spawn into a separate file 11619 in preparation for modifying it, dbus-sysdeps is getting 11620 a bit unmanageable. 11621 11622 2003-04-03 Havoc Pennington <hp (a] redhat.com> 11623 11624 * bus/loop.h, bus/loop.c: make the mainloop an object so we can 11625 have multiple ones 11626 11627 * bus/*.[hc]: adapt to mainloop change 11628 11629 2003-04-03 Havoc Pennington <hp (a] redhat.com> 11630 11631 * bus/activation.c (load_directory): fix up memleaks 11632 (bus_activation_entry_free): free the entry 11633 11634 * dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if 11635 we get one from the message bus; fix memleaks. 11636 11637 * dbus/dbus-message.c (dbus_set_error_from_message): new function 11638 11639 2003-04-03 Havoc Pennington <hp (a] pobox.com> 11640 11641 * bus/config-parser.c (bus_config_parser_unref): free 11642 list of mechanisms, bug discovered by test suite enhancements 11643 (putting system.conf and session.conf into suite) 11644 11645 * test/Makefile.am, test/test-service.c: add placeholder for a 11646 test service that we'll activate as part of test suite. Doesn't 11647 do anything yet. 11648 11649 * dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by 11650 setting NULL value, and use system malloc not dbus_malloc() 11651 when we have unavoidable memleakage. 11652 11653 * dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0 11654 didn't work, and support DBUS_BUS_ACTIVATION. 11655 11656 * bus/activation.c (child_setup): pass our well-known bus type to 11657 the child 11658 11659 * bus/config-parser.c: support <type> to specify well-known type 11660 11661 * doc/dbus-specification.sgml: document the env variables to 11662 locate well-known buses and find service activator 11663 11664 2003-04-02 Havoc Pennington <hp (a] redhat.com> 11665 11666 * test/Makefile.am (all-local): add a rule to copy tests to 11667 builddir, so we can have generated tests. Use this to remove the 11668 silly hack for testing system.conf and session.conf. Will use this 11669 shortly to generate .service files pointing to test binaries. 11670 11671 2003-04-02 Havoc Pennington <hp (a] redhat.com> 11672 11673 * dbus/dbus-string.c (set_length): fix a bug - we allocated max of 11674 current alloc and needed new length, not max of the doubled 11675 allocation and needed new length. Also, when building tests, 11676 don't do the double-allocation stuff, just realloc every time. 11677 11678 2003-04-02 Havoc Pennington <hp (a] redhat.com> 11679 11680 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames 11681 in error messages 11682 (_dbus_string_get_dirname): new 11683 (_dbus_sysdeps_test): new 11684 (_dbus_directory_open): include dirnames in error messages 11685 11686 * bus/config-parser.c: interpret <include> and <includedir> and 11687 <servicedir> relative to config file location if the given 11688 filename is not absolute. 11689 11690 * dbus/dbus-string.c (_dbus_string_find_byte_backward): new 11691 11692 2003-04-02 Havoc Pennington <hp (a] redhat.com> 11693 11694 * bus/connection.c (bus_transaction_send_error_reply): set sender 11695 service for the error, and unref the reply on success 11696 11697 * bus/activation.c: convert to use BusTransaction so OOM can be 11698 handled correctly 11699 (bus_activation_service_created): set sender of the message 11700 11701 2003-04-01 Havoc Pennington <hp (a] redhat.com> 11702 11703 * bus/config-parser.c, bus/bus.c: implement <servicedir> and 11704 <includedir> (at least mostly) 11705 11706 * dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID 11707 first, then the user ID 11708 11709 2003-04-01 Havoc Pennington <hp (a] pobox.com> 11710 11711 * dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new 11712 function 11713 11714 * dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new 11715 11716 * dbus/dbus-internals.c (_dbus_dup_string_array): new function 11717 11718 * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the 11719 socket 0777, and unlink any existing socket. 11720 11721 * bus/bus.c (bus_context_new): change our UID/GID and fork if 11722 the configuration file so specifies; set up auth mechanism 11723 restrictions 11724 11725 * bus/config-parser.c (bus_config_parser_content): add support 11726 for <fork> option and fill in code for <auth> 11727 11728 * bus/system.conf.in: add <fork/> to default configuration, 11729 and limit auth mechanisms to EXTERNAL 11730 11731 * doc/config-file.txt (Elements): add <fork> 11732 11733 * dbus/dbus-sysdeps.c (_dbus_become_daemon): new function 11734 (_dbus_change_identity): new function 11735 11736 2003-03-31 Havoc Pennington <hp (a] redhat.com> 11737 11738 * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket) 11739 (_dbus_listen_unix_socket): fix off-by-one error in null 11740 termination spotted by Nalin 11741 11742 2003-03-31 Havoc Pennington <hp (a] redhat.com> 11743 11744 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting 11745 DBUS_TEST_HOMEDIR when tests are enabled, so we can test without 11746 having a real home directory available. 11747 11748 2003-03-31 Havoc Pennington <hp (a] redhat.com> 11749 11750 * bus/Makefile.am (install-data-hook): create /var/run/dbus 11751 11752 * bus/messagebus.in: add init script for Red Hat /etc/init.d 11753 11754 * configure.in: add support for specifying a style of init script 11755 to install 11756 11757 2003-03-31 Havoc Pennington <hp (a] redhat.com> 11758 11759 Fix some annoying DBusString API and fix all affected code. 11760 11761 * dbus/dbus-string.c (_dbus_string_init): get rid of annoying 11762 max_length argument 11763 (_dbus_string_get_data): change to return string instead of using 11764 an out param 11765 (_dbus_string_get_const_data): ditto 11766 (_dbus_string_get_data_len): ditto 11767 (_dbus_string_get_const_data_len): ditto 11768 11769 2003-03-31 Havoc Pennington <hp (a] redhat.com> 11770 11771 * bus/main.c (main): fix up the command line arguments to be nicer 11772 11773 2003-03-31 Havoc Pennington <hp (a] redhat.com> 11774 11775 * dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to 11776 define DBUS_SYSTEM_BUS_PATH as we want to compile in the same 11777 final location that lands in the config file 11778 11779 * bus/config-loader-expat.c (bus_config_load): fix type of 11780 XML_Parser variable 11781 11782 * doc/TODO: remove TODO item for dbus_bus_get() 11783 11784 * dbus/dbus-bus.c (bus_data_free): add missing lock/unlock 11785 11786 2003-03-31 Havoc Pennington <hp (a] pobox.com> 11787 11788 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket) 11789 (_dbus_transport_new_for_tcp_socket): these didn't need the "server" 11790 argument since they are always client side 11791 11792 * dbus/dbus-server.c (dbus_server_get_address): new function 11793 11794 * bus/main.c (main): take the configuration file as an argument. 11795 11796 * test/data/valid-config-files/debug-allow-all.conf: new file to 11797 use with dispatch.c tests for example 11798 11799 * bus/test-main.c (main): require test data dir 11800 11801 * bus/bus.c (bus_context_new): change this to take a 11802 configuration file name as argument 11803 11804 * doc/config-file.txt (Elements): add <servicedir> 11805 11806 * bus/system.conf, bus/session.conf: new files 11807 11808 * dbus/dbus-bus.c (dbus_bus_get): look for system bus on 11809 well-known socket if none set 11810 11811 * configure.in: create system.conf and session.conf 11812 11813 2003-03-30 Havoc Pennington <hp (a] pobox.com> 11814 11815 * bus/config-parser.c: hacking 11816 11817 * dbus/dbus-memory.c: don't use DBusList for the list of stuff 11818 to shut down, since it could cause weirdness with the DBusList 11819 lock 11820 11821 * dbus/dbus-list.c (_dbus_list_test): add tests for the 11822 link-oriented stack routines 11823 (alloc_link): free the mempool if the first alloc from it fails 11824 11825 * dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue 11826 11827 * dbus/dbus-string.c (UNICODE_VALID): sync new version of this 11828 from GLib 11829 (_dbus_string_skip_white): new 11830 11831 * doc/config-file.txt (Elements): add <includedir> 11832 11833 2003-03-28 Havoc Pennington <hp (a] pobox.com> 11834 11835 * dbus/dbus-string.c (_dbus_string_copy_data_len) 11836 (_dbus_string_copy_data): new functions 11837 11838 2003-03-28 Anders Carlsson <andersca (a] codefactory.se> 11839 11840 * dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get): 11841 * dbus/dbus-bus.h: 11842 Add dbus_bus_get. 11843 11844 * dbus/dbus-memory.c: 11845 Fix a doc comment. 11846 11847 2003-03-28 Havoc Pennington <hp (a] pobox.com> 11848 11849 * bus/test.c (bus_test_flush_bus): remove the sleep from here, 11850 I think it may have just been superstition. Not sure. 11851 11852 * dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM 11853 failures that were not being handled. 11854 11855 * dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling 11856 11857 * dbus/dbus-memory.c: add ability to set number of mallocs in a 11858 row that will fail on out-of-memory. 11859 11860 * dbus/dbus-internals.c (_dbus_test_oom_handling): convenience 11861 function for testing out-of-memory handling. 11862 11863 * bus/config-loader-expat.c (memsuite): don't wrap the dbus 11864 allocation functions, they do map exactly to the expat ones. 11865 11866 2003-03-27 Havoc Pennington <hp (a] redhat.com> 11867 11868 * bus/config-loader-libxml.c (bus_config_load): add another error 11869 check 11870 11871 2003-03-26 Anders Carlsson <andersca (a] codefactory.se> 11872 11873 * doc/TODO: 11874 Add note about automatic service activation. 11875 11876 * doc/dbus-specification.sgml: 11877 Rename the specification and clarify a few things. 11878 11879 2003-03-26 Anders Carlsson <andersca (a] codefactory.se> 11880 11881 * Doxyfile.in: 11882 * dbus/dbus-address.c: 11883 * dbus/dbus-dict.c: 11884 * dbus/dbus-marshal.c: 11885 * dbus/dbus-server-debug-pipe.c: 11886 * dbus/dbus-transport-unix.c: 11887 Fix documentation warnings. 11888 11889 2003-03-26 Havoc Pennington <hp (a] pobox.com> 11890 11891 * bus/test-main.c, dbus/dbus-test.c (main): check memleaks 11892 after every test so it's quick and easy to see which leaked, and 11893 so we test multiple dbus_shutdown() calls 11894 11895 * configure.in: change configure.in XML stuff to also support 11896 expat 11897 11898 * config-loader-libxml.c: some hacking 11899 11900 * config-loader-expat.c: some hacking 11901 11902 * config-parser.c: some hacking, plus tests 11903 11904 2003-03-25 Havoc Pennington <hp (a] redhat.com> 11905 11906 * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR 11907 11908 * configure.in: add --with-xml option to specify XML library, 11909 right now only libxml is supported. 11910 11911 * bus/config-loader-libxml.c, config-parser.c: sync some minor 11912 nonworking code between home and work, still just stubs 11913 11914 2003-03-24 Havoc Pennington <hp (a] redhat.com> 11915 11916 * dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this 11917 file 11918 11919 * dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow 11920 NULL argument for "message" if the error is a well-known one, 11921 fill in a generic message in this case. 11922 11923 * dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in 11924 favor of DBusError 11925 11926 * bus/test.c (bus_test_flush_bus): add 11927 11928 * bus/policy.c (bus_policy_test): test code stub 11929 11930 2003-03-24 Havoc Pennington <hp (a] pobox.com> 11931 11932 * bus/connection.c (bus_connections_setup_connection): set up 11933 the "can this user connect" function, but it always returns 11934 TRUE until we have a config file parser so we can have a config 11935 file that allows connections. 11936 11937 2003-03-23 Havoc Pennington <hp (a] pobox.com> 11938 11939 * dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with 11940 DBUS_BUILD_TESTS, actually alloc/free a block of memory for 11941 the mutex, so we can check for proper memory management 11942 and OOM handling. 11943 11944 * dbus/dbus-dataslot.c: remove the mutex from 11945 DBusDataSlotAllocator and lock it manually when using it, 11946 to simplify fitting it into the global slots framework. 11947 11948 * dbus/dbus-threads.c (init_static_locks): rework how we're 11949 handling global locks so they are easily shut down. 11950 11951 * bus/policy.c (bus_policy_append_rule): fix 11952 11953 * bus/test-main.c (main): check for memleaks 11954 11955 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make 11956 test suite check for memleaks 11957 11958 * dbus/dbus-memory.c: add support in test mode for tracking 11959 number of outstanding blocks 11960 11961 2003-03-23 Havoc Pennington <hp (a] pobox.com> 11962 11963 * bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny 11964 policies code 11965 11966 * dbus/dbus-hash.h: add ULONG hash keys 11967 11968 * dbus/dbus-sysdeps.c (_dbus_get_groups): new 11969 (_dbus_get_group_id): new function 11970 11971 2003-03-20 Havoc Pennington <hp (a] redhat.com> 11972 11973 * dbus/dbus-connection.c (dbus_connection_set_unix_user_function): 11974 new function 11975 (dbus_connection_get_unix_user): new function 11976 11977 2003-03-20 Havoc Pennington <hp (a] pobox.com> 11978 11979 * bus/connection.c (bus_connection_send_oom_error): assert that 11980 message has a sender 11981 (connection_execute_transaction): ditto 11982 (bus_connection_preallocate_oom_error): fix to set the sender, and 11983 set recipient to the destination service, not the bus driver 11984 11985 * bus/policy.c: hacking 11986 11987 * dbus/dbus-message.c (dbus_message_service_is): new function 11988 (dbus_message_sender_is): new 11989 11990 2003-03-19 Havoc Pennington <hp (a] redhat.com> 11991 11992 * bus/policy.c: start sketching code for policy restrictions on 11993 what connections can do. 11994 11995 2003-03-18 Havoc Pennington <hp (a] redhat.com> 11996 11997 * doc/TODO: some notes on high-level todo items. Little nitpick 11998 stuff is all in @todo, so no need to add it here. 11999 12000 * doc/config-file.txt: some notes on how config file might look 12001 12002 2003-03-18 Anders Carlsson <andersca (a] codefactory.se> 12003 12004 * configure.in: 0.6 12005 12006 * NEWS: Update. 12007 12008 2003-03-17 Havoc Pennington <hp (a] redhat.com> 12009 12010 * dbus/dbus-internals.h: add gcc attributes so that 12011 our printf-style functions warn on bad arguments to 12012 format 12013 12014 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf 12015 format bug 12016 12017 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix 12018 printf format bug 12019 12020 2003-03-17 Havoc Pennington <hp (a] redhat.com> 12021 12022 * bus/test-main.c (main): make it print something as it runs 12023 so make check doesn't look stuck 12024 12025 * doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove 12026 from CVS, now obsolete 12027 12028 2003-03-17 Anders Carlsson <andersca (a] codefactory.se> 12029 12030 * bus/dispatch.c: (bus_dispatch): 12031 Refetch the service name since it may have been reallocated 12032 when dbus_message_set_sender was called. 12033 12034 * dbus/dbus-sysdeps.c: (_dbus_accept): 12035 Add address and address length variables and use them to stop 12036 valgrind from complaining. 12037 12038 2003-03-17 Havoc Pennington <hp (a] pobox.com> 12039 12040 All tests pass, no memleaks, no valgrind complaints. 12041 12042 * bus/test.c: refcount handler_slot 12043 12044 * bus/connection.c (bus_connections_new): refcount 12045 connection_data_slot 12046 12047 * dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused 12048 bytes so that auth scripts pass. 12049 12050 * bus/dispatch.c: init message_handler_slot so it gets allocated 12051 properly 12052 12053 * bus/dispatch.c (message_handler_slot_ref): fix memleak 12054 12055 * dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new): 12056 dealloc server_pipe_hash when no longer used for benefit of 12057 leak checking 12058 12059 * dbus/dbus-auth.c (process_command): memleak fix 12060 12061 * bus/dispatch.c (check_hello_message): memleak fix 12062 12063 2003-03-16 Havoc Pennington <hp (a] pobox.com> 12064 12065 * dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot 12066 12067 2003-03-17 Anders Carlsson <andersca (a] codefactory.se> 12068 12069 * bus/activation.c (bus_activation_activate_service): Append 12070 the pending activation entry to the list of pending activations. 12071 12072 2003-03-16 Havoc Pennington <hp (a] pobox.com> 12073 12074 * bus/dispatch.c (bus_dispatch_test): remove double-unrefs of 12075 connections 12076 12077 * dbus/dbus-address.c (create_entry): fix OOM handling when 12078 failing to alloc entry->method 12079 12080 2003-03-16 Havoc Pennington <hp (a] pobox.com> 12081 12082 * dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc 12083 the watch 12084 12085 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new): 12086 add some missing dbus_set_result 12087 12088 * bus/dispatch.c (bus_dispatch_add_connection): handle failure to 12089 alloc the DBusMessageHandler 12090 12091 * dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref 12092 the transport here, since we call this from the finalizer; it 12093 resulted in a double-finalize. 12094 12095 * dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug 12096 where we tried to use transport->connection that was NULL, 12097 happened when transport was disconnected early on due to OOM 12098 12099 * bus/*.c: adapt to handle OOM for watches/timeouts 12100 12101 * dbus/dbus-transport-unix.c: port to handle OOM during 12102 watch handling 12103 12104 * dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a 12105 reference to unused bytes instead of a copy 12106 12107 * dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for 12108 out of memory 12109 12110 * dbus/dbus-connection.c (dbus_connection_handle_watch): return 12111 FALSE on OOM 12112 12113 * dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out 12114 of memory 12115 12116 2003-03-16 Anders Carlsson <andersca (a] codefactory.se> 12117 12118 * doc/dbus-specification.sgml: 12119 Document reply message for ActivateService. 12120 12121 2003-03-16 Anders Carlsson <andersca (a] codefactory.se> 12122 12123 * bus/activation.c: (bus_pending_activation_entry_free), 12124 (bus_pending_activation_free), (bus_activation_new), 12125 (bus_activation_unref), (bus_activation_service_created), 12126 (bus_activation_activate_service): 12127 * bus/activation.h: 12128 * bus/bus.c: (bus_context_new): 12129 * bus/desktop-file.c: (new_section): 12130 * bus/driver.c: (bus_driver_send_service_deleted), 12131 (bus_driver_handle_activate_service): 12132 * bus/services.c: (bus_registry_new), (bus_registry_ensure): 12133 * bus/services.h: 12134 * dbus/dbus-connection.c: 12135 (dbus_connection_send_with_reply_and_block): 12136 * dbus/dbus-message.c: (dbus_message_append_args_valist): 12137 * dbus/dbus-protocol.h: 12138 Make activation work better. Now pending activations will be queued 12139 and the daemon won't try to activate services that are already registered. 12140 12141 2003-03-16 Havoc Pennington <hp (a] pobox.com> 12142 12143 * dbus/dbus-bus.c (ensure_bus_data): handle failure to set 12144 connection data 12145 12146 * dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support 12147 DBUS_MALLOC_BACKTRACES to print trace when failing an alloc 12148 12149 2003-03-16 Havoc Pennington <hp (a] pobox.com> 12150 12151 * dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak 12152 this. always run the test suite before commit... 12153 12154 * bus/*: adapt to DBusConnection API changes 12155 12156 * glib/dbus-gmain.c: adapt to DBusConnection API changes, 12157 requires renaming stuff to avoid dbus_connection_dispatch name 12158 conflict. 12159 12160 * dbus/dbus-transport.c (_dbus_transport_queue_messages): new 12161 function 12162 12163 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): 12164 separate from _dbus_message_loader_return_buffer() 12165 12166 * dbus/dbus-connection.c (dbus_connection_get_n_messages): remove 12167 this, because it's now always broken to use; the number of 12168 messages in queue vs. the number still buffered by the message 12169 loader is undefined/meaningless. Should use 12170 dbus_connection_get_dispatch_state(). 12171 (dbus_connection_dispatch): rename from 12172 dbus_connection_dispatch_message 12173 12174 2003-03-16 Havoc Pennington <hp (a] pobox.com> 12175 12176 * dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real 12177 implementation 12178 12179 2003-03-16 Anders Carlsson <andersca (a] codefactory.se> 12180 12181 * dbus/dbus-connection.c: 12182 (dbus_connection_send_with_reply_and_block): 12183 Decrease connection->n_incoming when removing an entry 12184 from the list. 12185 * dbus/dbus-dict.c: (dbus_dict_entry_free), 12186 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array), 12187 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array), 12188 (dbus_dict_set_byte_array), (dbus_dict_set_string_array), 12189 (dbus_dict_get_boolean_array), (dbus_dict_get_double_array), 12190 (dbus_dict_get_byte_array): 12191 Handle NULL arrays and strings. Also add support for byte arrays. 12192 12193 * dbus/dbus-marshal.c: (_dbus_marshal_byte_array), 12194 (_dbus_marshal_dict), (_dbus_demarshal_byte_array), 12195 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array), 12196 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array), 12197 (_dbus_demarshal_dict), (demarshal_and_validate_len), 12198 (_dbus_marshal_validate_arg), (_dbus_marshal_test): 12199 * dbus/dbus-marshal.h: 12200 Add support for marshalling and demarshalling empty arrays and strings. 12201 12202 * dbus/dbus-message.c: (dbus_message_append_args_valist), 12203 (dbus_message_append_string_array), 12204 (dbus_message_iter_get_boolean), 12205 (dbus_message_iter_get_boolean_array), 12206 (dbus_message_iter_get_int32_array), 12207 (dbus_message_iter_get_uint32_array), 12208 (dbus_message_iter_get_double_array), 12209 (dbus_message_iter_get_byte_array), 12210 (dbus_message_iter_get_string_array), (dbus_message_iter_get_dict), 12211 (check_message_handling): 12212 Add support for getting empty arrays and dicts. 12213 12214 * dbus/dbus-string.c: (_dbus_string_validate_utf8): 12215 Don't do any validation at all for now, that's better than just checking 12216 for ASCII. 12217 12218 * test/data/valid-messages/emptiness.message: 12219 New test message with lots of empty arrays. 12220 12221 2003-03-16 Havoc Pennington <hp (a] pobox.com> 12222 12223 * dbus/dbus-connection.c 12224 (_dbus_connection_queue_received_message_link): new function that 12225 can't fail due to OOM 12226 12227 * dbus/dbus-message.c (_dbus_message_loader_pop_message_link): 12228 new function pops a message together with a list link 12229 containing it. 12230 12231 * dbus/dbus-transport-unix.c (queue_messages): use new link-based 12232 message queuing functions to avoid needing to alloc memory 12233 12234 2003-03-16 Havoc Pennington <hp (a] pobox.com> 12235 12236 Oops - test code was only testing failure of around 30 of the 12237 mallocs in the test path, but it turns out there are 500+ 12238 mallocs. I believe this was due to misguided linking setup such 12239 that there was one copy of dbus_malloc etc. in the daemon and one 12240 in the shared lib, and only daemon mallocs were tested. In any 12241 case, the test case now tests all 500+ mallocs, and doesn't pass 12242 yet, though there are lots of fixes in this patch. 12243 12244 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix 12245 this so that it doesn't need to allocate memory, since it 12246 has no way of indicating failure due to OOM (and would be 12247 annoying if it did). 12248 12249 * dbus/dbus-list.c (_dbus_list_pop_first_link): new function 12250 12251 * bus/Makefile.am: rearrange to create two self-contained 12252 libraries, to avoid having libraries with overlapping symbols. 12253 that was resulting in weirdness, e.g. I'm pretty sure there 12254 were two copies of global static variables. 12255 12256 * dbus/dbus-internals.c: move the malloc debug stuff to 12257 dbus-memory.c 12258 12259 * dbus/dbus-list.c (free_link): free list mempool if it becomes 12260 empty. 12261 12262 * dbus/dbus-memory.c (_dbus_disable_mem_pools): new function 12263 12264 * dbus/dbus-address.c (dbus_parse_address): free list nodes 12265 on failure. 12266 12267 * bus/dispatch.c (bus_dispatch_add_connection): free 12268 message_handler_slot when no longer using it, so 12269 memory leak checkers are happy for the test suite. 12270 12271 * dbus/dbus-server-debug-pipe.c (debug_finalize): free server name 12272 12273 * bus/bus.c (new_connection_callback): disconnect in here if 12274 bus_connections_setup_connection fails. 12275 12276 * bus/connection.c (bus_connections_unref): fix to free the 12277 connections 12278 (bus_connections_setup_connection): if this fails, don't 12279 disconnect the connection, just be sure there are no side 12280 effects. 12281 12282 * dbus/dbus-string.c (undo_alignment): unbreak this 12283 12284 * dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were 12285 leaking 12286 (_dbus_auth_new): fix the order in which we free strings 12287 on OOM failure 12288 12289 * bus/connection.c (bus_connection_disconnected): fix to 12290 not send ServiceDeleted multiple times in case of memory 12291 allocation failure 12292 12293 * dbus/dbus-bus.c (dbus_bus_get_base_service): new function to 12294 get the base service name 12295 (dbus_bus_register_client): don't return base service name, 12296 instead store it on the DBusConnection and have an accessor 12297 function for it. 12298 (dbus_bus_register_client): rename dbus_bus_register() 12299 12300 * bus/dispatch.c (check_hello_message): verify that other 12301 connections on the bus also got the correct results, not 12302 just the one sending hello 12303 12304 2003-03-15 Havoc Pennington <hp (a] pobox.com> 12305 12306 Make it pass the Hello handling test including all OOM codepaths. 12307 Now to do other messages... 12308 12309 * bus/services.c (bus_service_remove_owner): fix crash when 12310 removing owner from an empty list of owners 12311 (bus_registry_ensure): don't leave service in the list of 12312 a connection's owned services if we fail to put the service 12313 in the hash table. 12314 12315 * bus/connection.c (bus_connection_preallocate_oom_error): set 12316 error flag on the OOM error. 12317 12318 * dbus/dbus-connection.c (_dbus_connection_new_for_transport): 12319 handle _dbus_transport_set_connection failure 12320 12321 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify 12322 to create watches up front and simply enable/disable them as 12323 needed. 12324 (unix_connection_set): this can now fail on OOM 12325 12326 * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept 12327 of enabling/disabling a watch or timeout. 12328 12329 * bus/loop.c (bus_loop_iterate): don't touch disabled 12330 watches/timeouts 12331 12332 * glib/dbus-gmain.c: adapt to enable/disable watches and timeouts 12333 12334 2003-03-15 Havoc Pennington <hp (a] pobox.com> 12335 12336 * bus/dispatch.c (bus_dispatch_test): OK, now finally actually 12337 write useful test code, after all that futzing around ;-) 12338 12339 Test does not yet pass because we can't handle OOM in 12340 _dbus_transport_messages_pending (basically, 12341 dbus_connection_preallocate_send() does not prealloc the write 12342 watch). To fix this, I think we need to add new stuff to 12343 set_watch_functions, namely a SetEnabled function so we can alloc 12344 the watch earlier, then enable it later. 12345 12346 * dbus/Makefile.am (libdbus_convenience_la_SOURCES): move 12347 dbus-memory.c to the convenience lib 12348 12349 * bus/test.c: rename some static functions to keep them clearly 12350 distinct from stuff in connection.c. Handle client disconnection. 12351 12352 2003-03-14 Havoc Pennington <hp (a] pobox.com> 12353 12354 * bus/dispatch.c (bus_dispatch_test): do test using debug-pipe 12355 transport, tests more of the real codepath. Set up clients 12356 with bus_setup_debug_client. 12357 12358 * bus/test.c (bus_setup_debug_client): function to set up debug 12359 "clients" on the main loop 12360 12361 * dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe 12362 support 12363 12364 * dbus/dbus-server.c (dbus_server_listen): add debug-pipe 12365 server type 12366 12367 * dbus/dbus-server-debug.c: support a debug server based on pipes 12368 12369 * dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function 12370 (_dbus_close): new function 12371 12372 * configure.in: check for socketpair 12373 12374 2003-03-14 Havoc Pennington <hp (a] redhat.com> 12375 12376 * dbus/dbus-memory.c: add a "detect buffer overwrites on free" 12377 cheesy hack 12378 12379 * dbus/dbus-transport-debug.c: rework this a good bit to be 12380 less complicated. hopefully still works. 12381 12382 * dbus/dbus-server-debug.c (handle_new_client): remove timeout 12383 manually 12384 12385 * glib/dbus-gmain.c (timeout_handler): don't remove timeout 12386 after running it 12387 12388 * dbus/dbus-message.c (dbus_message_copy): rename from 12389 dbus_message_new_from_message, fix it up to copy 12390 all the message fields, add test case 12391 12392 * bus/dispatch.c (bus_dispatch_test): add some more test code, 12393 not quite passing yet 12394 12395 2003-03-14 Havoc Pennington <hp (a] pobox.com> 12396 12397 * bus/loop.c (bus_loop_iterate): add this so we can "run loop 12398 until no work remains" in test code. (the large diff here 12399 is just code movement, no actual changes) 12400 12401 * dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to 12402 1, no point waiting around for test code. 12403 (_dbus_server_debug_accept_transport): unref the timeout 12404 after adding it (right?) 12405 12406 * dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto 12407 12408 2003-03-13 Havoc Pennington <hp (a] redhat.com> 12409 12410 * dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle 12411 out of memory 12412 12413 * dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out 12414 of memory 12415 12416 * dbus/dbus-connection.h: Make AddWatchFunction and 12417 AddTimeoutFunction return a bool so they can fail on out-of-memory 12418 12419 * bus/bus.c (bus_context_new): set up timeout handlers 12420 12421 * bus/connection.c (bus_connections_setup_connection): set up 12422 timeout handlers 12423 12424 * glib/dbus-gmain.c: adapt to the fact that set_functions stuff 12425 can fail 12426 12427 * bus/bus.c (bus_context_new): adapt to changes 12428 12429 * bus/connection.c: adapt to changes 12430 12431 * test/watch.c: adapt to DBusWatch changes 12432 12433 * bus/dispatch.c (bus_dispatch_test): started adding this but 12434 didn't finish 12435 12436 2003-03-14 Anders Carlsson <andersca (a] codefactory.se> 12437 12438 * bus/dispatch.c (send_service_nonexistent_error): Fix typo. 12439 12440 2003-03-13 Havoc Pennington <hp (a] pobox.com> 12441 12442 * bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c: 12443 set up a test framework as for the library 12444 12445 2003-03-12 Havoc Pennington <hp (a] pobox.com> 12446 12447 Throughout: purge global variables, introduce BusActivation, 12448 BusConnections, BusRegistry, etc. objects instead. 12449 12450 * bus/bus.h, bus/bus.c: introduce BusContext as a global 12451 message bus object 12452 12453 * test/Makefile.am (TEST_BINARIES): disable bus-test for now, 12454 going to redo this a bit differently I think 12455 12456 2003-03-12 Havoc Pennington <hp (a] redhat.com> 12457 12458 Mega-patch that gets the message bus daemon initially handling 12459 out-of-memory. Work still needed. Also lots of random 12460 moving stuff to DBusError instead of ResultCode. 12461 12462 * dbus/dbus-list.c (_dbus_list_length_is_one): new function 12463 12464 * dbus/dbus-connection.c 12465 (dbus_connection_send_with_reply_and_block): use DBusError 12466 12467 * dbus/dbus-bus.c: adapt to API changes, make it use DBusError not 12468 DBusResultCode 12469 12470 * dbus/dbus-connection.c (dbus_connection_send): drop the result 12471 code here, as the only failure possible is OOM. 12472 12473 * bus/connection.c (bus_connection_disconnect): 12474 rename bus_connection_disconnected as it's a notification only 12475 12476 * bus/driver.c (bus_driver_handle_acquire_service): don't free 12477 "name" on get_args failure, should be done by get_args; 12478 don't disconnect client for bad args, just return an error. 12479 (bus_driver_handle_service_exists): ditto 12480 12481 * bus/services.c (bus_services_list): NULL-terminate returned array 12482 12483 * bus/driver.c (bus_driver_send_service_lost) 12484 (bus_driver_send_service_acquired): send messages from driver to a 12485 specific client to the client's unique name, not to the broadcast 12486 service. 12487 12488 * dbus/dbus-message.c (decode_header_data): reject messages that 12489 contain no name field 12490 (_dbus_message_get_client_serial): rename to 12491 dbus_message_get_serial and make public 12492 (_dbus_message_set_serial): rename from set_client_serial 12493 (_dbus_message_set_reply_serial): make public 12494 (_dbus_message_get_reply_serial): make public 12495 12496 * bus/connection.c (bus_connection_foreach): allow stopping 12497 iteration by returning FALSE from foreach function. 12498 12499 * dbus/dbus-connection.c (dbus_connection_send_preallocated) 12500 (dbus_connection_free_preallocated_send) 12501 (dbus_connection_preallocate_send): new API for sending a message 12502 without possibility of malloc failure. 12503 (dbus_connection_send_message): rename to just 12504 dbus_connection_send (and same for whole function family) 12505 12506 * dbus/dbus-errors.c (dbus_error_free): make this reinit the error 12507 12508 * dbus/dbus-sysdeps.c (_dbus_exit): new function 12509 12510 * bus/activation.c: handle/return errors 12511 12512 * dbus/dbus-errors.h: add more DBUS_ERROR #define 12513 12514 * dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents) 12515 (_dbus_directory_get_next_file): use DBusError instead of DBusResultCode 12516 (_dbus_result_from_errno): move to this file 12517 12518 2003-03-10 Anders Carlsson <andersca (a] codefactory.se> 12519 12520 * dbus/dbus-marshal.c: 12521 (_dbus_marshal_set_string): 12522 Take a length argument so we can marshal the correct string 12523 length. 12524 12525 (_dbus_marshal_dict), (_dbus_demarshal_dict), 12526 (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg), 12527 (_dbus_marshal_test): 12528 * dbus/dbus-marshal.h: 12529 Add support for marshalling and demarshalling dicts. 12530 12531 * dbus/dbus-message-builder.c: (_dbus_message_data_load): 12532 Add support for TYPE DICT. 12533 12534 * dbus/dbus-message.c: (set_string_field): 12535 Adjust header padding. 12536 12537 (dbus_message_append_args_valist), (dbus_message_append_dict), 12538 (dbus_message_get_args_valist), (dbus_message_iter_get_arg_type), 12539 (dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer), 12540 (check_message_handling), (check_have_valid_message): 12541 * dbus/dbus-message.h: 12542 Add functions for setting and getting dicts. 12543 12544 * dbus/dbus-protocol.h: 12545 Add DBUS_TYPE_DICT. 12546 12547 * dbus/dbus.h: 12548 Add dbus-dict.h 12549 12550 * doc/dbus-specification.sgml: 12551 Add information about how dicts are marshalled. 12552 12553 * test/data/invalid-messages/dict-with-nil-value.message: 12554 * test/data/invalid-messages/too-short-dict.message: 12555 * test/data/valid-messages/dict-simple.message: 12556 * test/data/valid-messages/dict.message: 12557 Add sample messages containing dicts. 12558 12559 2003-03-08 Anders Carlsson <andersca (a] codefactory.se> 12560 12561 * dbus/dbus-dict.h: Add DBUS_END_DECLS. 12562 12563 2003-03-07 Anders Carlsson <andersca (a] codefactory.se> 12564 12565 * dbus/Makefile.am: 12566 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new), 12567 (dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean), 12568 (dbus_dict_set_int32), (dbus_dict_set_uint32), 12569 (dbus_dict_set_double), (dbus_dict_set_string), 12570 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array), 12571 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array), 12572 (dbus_dict_set_string_array), (_dbus_dict_test): 12573 * dbus/dbus-dict.h: 12574 Fix according to comments from Havoc. 12575 12576 2003-03-06 Michael Meeks <michael (a] server.home> 12577 12578 * configure.in: if we don't have kde-config, disable have_qt. 12579 12580 2003-03-07 Anders Carlsson <andersca (a] codefactory.se> 12581 12582 * dbus/Makefile.am: 12583 Add dbus-dict.[ch] 12584 12585 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new), 12586 (dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains), 12587 (dbus_dict_remove), (dbus_dict_get_value_type), 12588 (dbus_dict_get_keys), (dbus_dict_put_boolean), 12589 (dbus_dict_put_int32), (dbus_dict_put_uint32), 12590 (dbus_dict_put_double), (dbus_dict_put_string), 12591 (dbus_dict_put_boolean_array), (dbus_dict_put_int32_array), 12592 (dbus_dict_put_uint32_array), (dbus_dict_put_double_array), 12593 (dbus_dict_put_string_array), (dbus_dict_get_boolean), 12594 (dbus_dict_get_int32), (dbus_dict_get_uint32), 12595 (dbus_dict_get_double), (dbus_dict_get_string), 12596 (dbus_dict_get_boolean_array), (dbus_dict_get_int32_array), 12597 (dbus_dict_get_uint32_array), (dbus_dict_get_double_array), 12598 (dbus_dict_get_string_array), (_dbus_dict_test): 12599 * dbus/dbus-dict.h: 12600 Add DBusDict implementation 12601 12602 * dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests): 12603 * dbus/dbus-test.h: 12604 Add _dbus_dict_test 12605 12606 2003-03-04 Havoc Pennington <hp (a] pobox.com> 12607 12608 * test/data/auth/*: adapt to changes 12609 12610 * dbus/dbus-auth-script.c (_dbus_auth_script_run): add 12611 USERID_BASE64 and change USERNAME_BASE64 to put in username not 12612 userid 12613 12614 * dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent 12615 more stuff from being in a context name, to make the protocol 12616 simpler to deal with 12617 12618 * dbus/dbus-errors.c (dbus_error_has_name): new function 12619 (dbus_error_is_set): new function 12620 12621 * dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth 12622 with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1 12623 12624 * dbus/dbus-connection.c (dbus_connection_flush): also read 12625 messages during a flush operation 12626 12627 * dbus/Makefile.am: remove dbus-md5 since it isn't currently used. 12628 12629 2003-03-05 Anders Carlsson <andersca (a] codefactory.se> 12630 12631 * configure.in: Check for gethostbyname on Solaris. 12632 12633 * dbus/dbus-transport.c: (_dbus_transport_open): 12634 Remove duplicate "tcp" entry. 12635 12636 * doc/dbus-specification.sgml: 12637 Clarify some things. 12638 12639 2003-03-05 Anders Carlsson <andersca (a] codefactory.se> 12640 12641 * dbus/dbus-auth.c: (send_rejected), (process_test_subdir): 12642 * dbus/dbus-keyring.c: (_dbus_keyring_new_homedir), 12643 (_dbus_keyring_test): 12644 * dbus/dbus-md5.c: (_dbus_md5_compute): 12645 * dbus/dbus-sha.c: (_dbus_sha_compute): 12646 Plug memory leaks. 12647 12648 2003-03-05 Anders Carlsson <andersca (a] codefactory.se> 12649 12650 * README: Add some things. 12651 12652 2003-03-04 Anders Carlsson <andersca (a] codefactory.se> 12653 12654 * dbus/dbus-message.c (dbus_message_append_args_valist): Add a break; 12655 after case DBUS_TYPE_BOOELAN. 12656 12657 2003-03-02 Havoc Pennington <hp (a] pobox.com> 12658 12659 * test/break-loader.c (randomly_set_extreme_ints): add test that 12660 sets really huge and small integers 12661 12662 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check 12663 that length of boolean array fits in the string, and that 12664 string has room for boolean value in single-bool case. 12665 12666 * dbus/dbus-message-builder.c (_dbus_message_data_load): add 12667 optional value to "ALIGN" command which is what to fill the 12668 alignment with. 12669 12670 * test/data/valid-messages/no-padding.message: add regression 12671 test for the message padding problem 12672 12673 2003-03-02 Havoc Pennington <hp (a] pobox.com> 12674 12675 * dbus/dbus-message.c (decode_header_data): fix to always init 12676 message_padding, from Benjamin Dauvergne 12677 12678 2003-03-02 Havoc Pennington <hp (a] pobox.com> 12679 12680 * configure.in: 0.5 12681 12682 * NEWS: Update. 12683 12684 2003-03-01 Joe Shaw <joe (a] assbarn.com> 12685 12686 * configure.in: Check for "struct cmsgcred" and try to access its 12687 members for BSD-like unices. 12688 12689 * dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into 12690 _dbus_read_credentials_unix_socket(). 12691 (_dbus_read_credentials_unix_socket): Use recvmsg() instead of 12692 read() for reading the credential byte off the unix socket. Use 12693 struct cmsgcred on systems that support it. 12694 12695 2003-02-27 Alexander Larsson <alexl (a] redhat.com> 12696 12697 * glib/Makefile.am: 12698 * configure.in: 12699 Make gthreads-2.0 dependency optional. Don't build thread test if 12700 its not found. 12701 12702 2003-02-27 Havoc Pennington <hp (a] pobox.com> 12703 12704 * dbus/dbus-connection.c 12705 (dbus_connection_send_message_with_reply_and_block): fix doh! 12706 doh! doh! bug that resulted in never removing a reply from the 12707 queue, no wonder we called get_reply_serial so much ;-) 12708 12709 * dbus/dbus-message.c (struct DBusMessage): cache reply serial 12710 and client serial instead of demarshaling them every time 12711 12712 2003-02-27 Havoc Pennington <hp (a] pobox.com> 12713 12714 * dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much 12715 more inlined, using dbus-string-private.h, speeds things up 12716 substantially 12717 12718 * dbus/dbus-string.c (_dbus_string_free): apply align offset 12719 when freeing the string 12720 (_dbus_string_steal_data): fix for align offset 12721 (undo_alignment): new function 12722 12723 2003-02-26 Havoc Pennington <hp (a] redhat.com> 12724 12725 All kinds of audit fixes from Owen, plus initial attempt to 12726 handle unaligned memory returned from malloc. 12727 12728 * dbus/dbus-string.c (_dbus_string_init): clamp max length to 12729 leave room for align_offset and nul byte 12730 (fixup_alignment): function to track an align_offset and 12731 ensure real->str is aligned 12732 (DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated, 12733 to allow a nul byte plus align offset 12734 (_dbus_string_lock): fix overflow issue 12735 (_dbus_string_init_const_len): add assertions on sanity of len, 12736 assign allocated to be ALLOCATION_PADDING larger than len 12737 (set_length): fixup the overflow handling 12738 (_dbus_string_get_data_len): fix overflow in assertion 12739 (open_gap): detect overflow in size of gap to be opened 12740 (_dbus_string_lengthen): add overflow check 12741 (_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE 12742 (_dbus_string_append): add overflow check 12743 (_dbus_string_append_unichar): overflow 12744 (_dbus_string_delete): fix overflow in assertion 12745 (_dbus_string_copy_len): overflow in assertion 12746 (_dbus_string_replace_len): overflows in assertions 12747 (_dbus_string_find): change to implement in terms of 12748 _dbus_string_find_to 12749 (_dbus_string_find_to): assorted fixage 12750 (_dbus_string_equal_c_str): assert c_str != NULL, 12751 fix logic so the function works 12752 (_dbus_string_ends_with_c_str): fix overflow thingy 12753 (_dbus_string_base64_encode): overflow fix 12754 (_dbus_string_validate_ascii): overflow 12755 (_dbus_string_validate_nul): overflow 12756 12757 2003-02-26 Havoc Pennington <hp (a] redhat.com> 12758 12759 * dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS 12760 12761 2003-02-26 Alexander Larsson <alexl (a] redhat.com> 12762 12763 * configure.in: 12764 Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0 12765 12766 * dbus/dbus-connection.c: 12767 * dbus/dbus-connection.h: 12768 Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch. 12769 Add dbus_connection_set_wakeup_main_function and use it when queueing 12770 incoming and outgoing messages. 12771 12772 12773 * dbus/dbus-dataslot.c: 12774 Threadsafe usage of DBusDataSlotAllocator 12775 12776 * dbus/dbus-message.c: (dbus_message_get_args_iter): 12777 dbus_new can fail. 12778 12779 * dbus/dbus-server-unix.c: 12780 Add todo comment 12781 12782 * glib/dbus-gmain.c: 12783 Implement the new wakeup functions for glib. 12784 12785 * glib/Makefile.am: 12786 * glib/test-thread-client.c: 12787 * glib/test-thread-server.c: 12788 * glib/test-thread.h: 12789 Initial cut at some thread test code. Not really done yet. 12790 12791 2003-02-26 Havoc Pennington <hp (a] pobox.com> 12792 12793 * dbus/dbus-connection.c 12794 (dbus_connection_send_message_with_reply_and_block): fix crash 12795 where we ref'd the outgoing message instead of the returned reply 12796 12797 * dbus/dbus-transport-unix.c (do_authentication): check read watch 12798 at the end of this function, so if we didn't need to read for 12799 authentication, we reinstall it for receiving messages 12800 12801 * dbus/dbus-message.c (dbus_message_new_reply): allow replies to 12802 a NULL sender for peer-to-peer case 12803 12804 * dbus/dbus-transport-unix.c (check_read_watch): handle 12805 !authenticated case correctly 12806 12807 * glib/dbus-gmain.c: add support for DBusServer 12808 12809 * dbus/dbus-server.c: add data slot support 12810 12811 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check 12812 return values and handle errors 12813 12814 * dbus/dbus-dataslot.c: factor out the data slot stuff from 12815 DBusConnection 12816 12817 * Doxyfile.in (INPUT): add glib subdir 12818 12819 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename 12820 setup_with_g_main instead of hookup_with_g_main; write docs 12821 12822 2003-02-24 Anders Carlsson <andersca (a] codefactory.se> 12823 12824 * dbus/dbus-marshal.c: (_dbus_marshal_validate_arg): 12825 * dbus/dbus-message-builder.c: (_dbus_message_data_load): 12826 * dbus/dbus-message.c: (dbus_message_append_boolean), 12827 (dbus_message_append_boolean_array), 12828 (dbus_message_get_args_valist), (_dbus_message_test): 12829 * dbus/dbus-message.h: 12830 * doc/dbus-specification.sgml: 12831 Various fixes as pointed out by Havoc. 12832 12833 * test/data/invalid-messages/bad-boolean-array.message: 12834 * test/data/invalid-messages/bad-boolean.message: 12835 Add invalid boolean value test cases. 12836 12837 2003-02-24 Anders Carlsson <andersca (a] codefactory.se> 12838 12839 * dbus/dbus-internals.c: (_dbus_type_to_string): 12840 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos), 12841 (_dbus_marshal_validate_arg): 12842 * dbus/dbus-message-builder.c: (_dbus_message_data_load): 12843 * dbus/dbus-message.c: (dbus_message_append_args_valist), 12844 (dbus_message_append_boolean), (dbus_message_append_boolean_array), 12845 (dbus_message_get_args_valist), (dbus_message_iter_get_boolean), 12846 (dbus_message_iter_get_int32), (dbus_message_iter_get_uint32), 12847 (dbus_message_iter_get_double), 12848 (dbus_message_iter_get_boolean_array), (message_iter_test): 12849 * dbus/dbus-message.h: 12850 * dbus/dbus-protocol.h: 12851 * doc/dbus-specification.sgml: 12852 * test/data/valid-messages/lots-of-arguments.message: 12853 Add support for boolean and boolean array types. 12854 12855 2003-02-23 Havoc Pennington <hp (a] pobox.com> 12856 12857 * dbus/dbus-keyring.c: finish most of this implementation and 12858 simple unit test 12859 12860 * dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make 12861 these barf if the error isn't cleared to NULL 12862 12863 * dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure 12864 (_dbus_create_directory): new function 12865 12866 * dbus/dbus-errors.c (dbus_set_error): fix warning 12867 12868 * dbus/dbus-string.c (_dbus_string_hex_encode): new function 12869 (_dbus_string_hex_decode): new function 12870 (test_hex_roundtrip): test code 12871 12872 * dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode 12873 12874 * dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode 12875 12876 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use 12877 the save-to-temp/rename trick to atomically write the new file 12878 (_dbus_string_parse_uint): new function 12879 12880 2003-02-22 Havoc Pennington <hp (a] pobox.com> 12881 12882 * test/Makefile.am (dist-hook): fix dist for test/data/sha-1 12883 12884 2003-02-22 Havoc Pennington <hp (a] pobox.com> 12885 12886 * dbus/dbus-message.c (dbus_message_iter_get_string_array): 12887 (dbus_message_iter_get_byte_array): Fix up doxygen warnings 12888 12889 * dbus/dbus-sha.c: add implementation of SHA-1 algorithm 12890 12891 * dbus/test/data/sha-1: add US government test suite for SHA-1 12892 12893 2003-02-21 Anders Carlsson <andersca (a] codefactory.se> 12894 12895 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array): 12896 Make string arrays NULL-terminated. 12897 12898 * dbus/dbus-memory.c: (dbus_free_string_array): 12899 * dbus/dbus-memory.h: 12900 New function for freeing NULL-terminated string arrays. 12901 12902 * dbus/dbus-message-builder.c: (append_quoted_string), 12903 (_dbus_message_data_load): 12904 Add support for array types. 12905 12906 * dbus/dbus-message.c: (check_message_handling): 12907 Add more types as test cases. 12908 12909 * dbus/dbus-sysdeps.c: (_dbus_string_parse_int), 12910 (_dbus_string_parse_double): 12911 Add the start offset to the end offset. 12912 12913 * test/data/valid-messages/lots-of-arguments.message: 12914 New test message with lots of arguments. 12915 12916 2003-02-21 Anders Carlsson <andersca (a] codefactory.se> 12917 12918 * dbus/dbus-message.c: (dbus_message_append_nil), 12919 (dbus_message_append_int32), (dbus_message_append_uint32), 12920 (dbus_message_append_double), (dbus_message_append_string), 12921 (dbus_message_append_int32_array), 12922 (dbus_message_append_uint32_array), 12923 (dbus_message_append_double_array), 12924 (dbus_message_append_byte_array), 12925 (dbus_message_append_string_array): 12926 Fix all out-of-memory handling in these functions. 12927 12928 2003-02-21 Anders Carlsson <andersca (a] codefactory.se> 12929 12930 * dbus/dbus-message.c: (dbus_message_append_nil): 12931 Fix a silly. 12932 12933 2003-02-21 Anders Carlsson <andersca (a] codefactory.se> 12934 12935 * dbus/dbus-message.c: (dbus_message_append_args_valist), 12936 (dbus_message_append_nil), (dbus_message_append_int32_array), 12937 (dbus_message_append_uint32_array), 12938 (dbus_message_append_double_array), 12939 (dbus_message_append_byte_array), 12940 (dbus_message_append_string_array), (dbus_message_get_args_valist), 12941 (dbus_message_iter_get_int32_array), 12942 (dbus_message_iter_get_uint32_array), 12943 (dbus_message_iter_get_double_array), 12944 (dbus_message_iter_get_byte_array), 12945 (dbus_message_iter_get_string_array): 12946 12947 * dbus/dbus-message.h: 12948 Add functions for appending and getting arrays. 12949 12950 2003-02-21 Anders Carlsson <andersca (a] codefactory.se> 12951 12952 * dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the 12953 element size at least 8 bytes, fixes mempool tests on 12954 64-bit machines. 12955 12956 2003-02-20 Alexander Larsson <alexl (a] redhat.com> 12957 12958 * dbus/dbus-transport-unix.c (unix_do_iteration): 12959 Unlock the connection mutex during a blocking select call. 12960 Add todo about how we need a way to wake up the select. 12961 12962 * dbus/dbus-connection-internal.h: 12963 * dbus/dbus-connection.c: 12964 Add _dbus_connection_lock and _dbus_connection_unlock. 12965 12966 2003-02-19 Havoc Pennington <hp (a] pobox.com> 12967 12968 * Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in 12969 Doxyfile.in, not Doxyfile 12970 12971 * dbus/dbus-keyring.c: do some hacking on this 12972 12973 * dbus/dbus-sysdeps.c (_dbus_delete_file): new 12974 12975 * dbus/dbus-errors.c (dbus_set_error_const): do not call 12976 dbus_error_init 12977 (dbus_set_error): remove dbus_error_init, check for message == 12978 NULL *before* we sprintf into it, and add @todo about including 12979 system headers in this file 12980 12981 * dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new 12982 12983 * dbus/dbus-errors.h (DBUS_ERROR_FAILED): add 12984 12985 * dbus/dbus-sysdeps.c (get_user_info): break this function out to 12986 get various bits of user information based on either username 12987 or user ID 12988 (_dbus_homedir_from_username): new function 12989 12990 2003-02-19 Anders Carlsson <andersca (a] codefactory.se> 12991 12992 * configure.in: 12993 Add check for nonposix getpwnam_r 12994 12995 * dbus/dbus-mempool.c: (_dbus_mem_pool_new): 12996 Align the pool element size to a sizeof (void *) boundary. 12997 12998 * dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket), 12999 (_dbus_listen_unix_socket), (_dbus_credentials_from_username): 13000 General Solaris fixes. 13001 13002 * test/data/valid-messages/simplest-manual.message: 13003 Explicitly state that we want little-endian packing. 13004 13005 2003-02-19 Mikael Hallendal <micke (a] codefactory.se> 13006 13007 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses. 13008 13009 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket): 13010 Added to create a transport connecting using a tcp/ip socket. 13011 13012 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect 13013 to a tcp socket at given host and port. 13014 (_dbus_listen_tcp_socket): added to listen on tcp socket for given 13015 hostname and port. 13016 13017 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses. 13018 13019 * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket): 13020 Added to create a server listening on a TCP/IP socket. 13021 13022 2003-02-19 Havoc Pennington <hp (a] pobox.com> 13023 13024 Throughout: mop up all the Doxygen warnings and undocumented 13025 stuff. 13026 13027 * dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want 13028 to search any paths. 13029 13030 * dbus/dbus-threads.c: move global mutex initializers to 13031 dbus-internals.h, multiple prototypes was confusing doxygen 13032 besides being kind of ugly 13033 13034 * Doxyfile (PREDEFINED): have Doxygen define 13035 DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from 13036 docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS 13037 (do not abuse the feature! it's for stuff like the autogenerated 13038 macros in dbus-md5.c, not just for things you don't feel like 13039 documenting...) 13040 13041 2003-02-18 Havoc Pennington <hp (a] pobox.com> 13042 13043 * dbus/dbus-string.c (_dbus_string_zero): new function 13044 13045 * dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch, 13046 wrap it in some dbus-friendly API 13047 13048 * dbus/dbus-types.h: add 16-bit types 13049 13050 2003-02-18 Joe Shaw <joe (a] assbarn.com> 13051 13052 * dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get 13053 credentials from our currently running process. 13054 (get_word): Fix a buglet where we were copying the entire length 13055 instead of relative to our position. 13056 13057 * dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the 13058 keys on the stack... it's 640k of data. 13059 13060 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always 13061 read the credentials byte off the socket, even if we don't have 13062 SO_PEERCRED. 13063 (_dbus_poll): Implement poll() using select() for systems which 13064 don't have it. 13065 13066 * glib/test-dbus-glib.c (main): Print out an error if no 13067 parameters are given. 13068 13069 * test/data/auth/fallback.auth-script: Added. Tests that a client 13070 can fallback to a secondary auth mechanism if the first fails. 13071 13072 2003-02-18 Havoc Pennington <hp (a] pobox.com> 13073 13074 * AUTHORS: add Alex 13075 13076 2003-02-17 Havoc Pennington <hp (a] pobox.com> 13077 13078 * doc/dbus-specification.sgml: lots of cosmetic 13079 cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS 13080 env variable to DBUS_BUS_ADDRESS, s/client/application/, 13081 s/server/bus/ (except in authentication section). Add a section 13082 "Message Bus Message Routing" 13083 13084 2003-02-17 Anders Carlsson <andersca (a] codefactory.se.> 13085 13086 Release 0.4 13087 13088 * NEWS: Update 13089 13090 2003-02-17 Anders Carlsson <andersca (a] codefactory.se> 13091 13092 * doc/dbus-specification.sgml: 13093 Specification updates. 13094 13095 2003-02-17 Anders Carlsson <andersca (a] codefactory.se> 13096 13097 * bus/activation.c: (bus_activation_init), (child_setup), 13098 (bus_activation_activate_service): 13099 * bus/activation.h: 13100 * bus/main.c: (main): 13101 Set DBUS_ADDRESS environment variable. 13102 13103 * dbus/dbus-errors.c: (dbus_set_error): 13104 Don't use va_copy since that's a C99 feature. 13105 13106 * dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec), 13107 (_dbus_spawn_async): 13108 * dbus/dbus-sysdeps.h: 13109 Add child_setup_func to _dbus_spawn_async. 13110 13111 * doc/dbus-specification.sgml: 13112 Update specification. 13113 13114 * test/spawn-test.c: (setup_func), (main): 13115 Fix test. 13116 13117 2003-02-17 Alexander Larsson <alexl (a] redhat.com> 13118 13119 * dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked): 13120 Added todo. 13121 13122 2003-02-17 Anders Carlsson <andersca (a] codefactory.se> 13123 13124 * doc/.cvsignore: 13125 * doc/Makefile.am: 13126 * doc/dbus-test-plan.sgml: 13127 Add test plan document. 13128 13129 * test/Makefile.am: 13130 Fix distcheck. 13131 13132 2003-02-17 Anders Carlsson <andersca (a] codefactory.se> 13133 13134 * dbus/dbus-message.c: (decode_header_data), 13135 (_dbus_message_loader_return_buffer): 13136 Set the header padding amount when loading a message. 13137 13138 2003-02-16 Anders Carlsson <andersca (a] codefactory.se> 13139 13140 * bus/dispatch.c: (send_one_message): 13141 Only send broadcast messages to registered connections. 13142 13143 * dbus/dbus-message.c: (dbus_message_name_is): 13144 * dbus/dbus-message.h: 13145 New convenience function. 13146 13147 * dbus/dbus-transport-debug.c: (do_reading): 13148 Only dispatch one message per run. 13149 13150 * test/Makefile.am: 13151 * test/bus-test.c: (new_connection_callback), (die), 13152 (test_hello_client1_handler), (test_hello_client2_handler), 13153 (test_hello_replies), (main): 13154 13155 * test/bus-test-loop.[ch]: 13156 Add these. 13157 13158 2003-02-16 Havoc Pennington <hp (a] pobox.com> 13159 13160 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix 13161 backward conditional 13162 13163 2003-02-16 Alexander Larsson <alexl (a] redhat.com> 13164 13165 * dbus/dbus-connection.c: 13166 Implement sent_message_with_reply. (with_reply_and block is still 13167 busted). 13168 Made dispatch_message not lose message if OOM. 13169 13170 * dbus/dbus-errors.h: 13171 Add NoReply error (for reply timeouts). 13172 13173 2003-02-16 Alexander Larsson <alexl (a] redhat.com> 13174 13175 * dbus/dbus-hash.c (_dbus_hash_table_unref): 13176 Actually free keys and values when destroying hashtable. 13177 13178 2003-02-16 Anders Carlsson <andersca (a] codefactory.se> 13179 13180 * dbus/dbus-auth.c: (client_try_next_mechanism): 13181 Plug a leak. 13182 13183 * dbus/dbus-threads.c: (dbus_condvar_wait_timeout): 13184 Return TRUE if there's no thread implementation around. 13185 13186 * glib/dbus-gmain.c: (free_source), 13187 (dbus_connection_hookup_with_g_main): 13188 Make sure to remove the GSource when the connection is finalized. 13189 13190 2003-02-16 Anders Carlsson <andersca (a] codefactory.se> 13191 13192 * bus/dispatch.c: (bus_dispatch_message_handler): 13193 * dbus/dbus-errors.h: 13194 Return an error if someone tries to send a message to a service 13195 that doesn't exist. 13196 13197 2003-02-16 Anders Carlsson <andersca (a] codefactory.se> 13198 13199 * bus/activation.c: (load_directory), (bus_activation_init), 13200 (bus_activation_activate_service): 13201 * bus/activation.h: 13202 * bus/driver.c: 13203 (bus_driver_handle_activate_service), (bus_driver_handle_message): 13204 More work on the activation handling. 13205 13206 * dbus/dbus-errors.h: 13207 Add some error messages 13208 13209 * dbus/dbus-message.c: (dbus_message_new_error_reply): 13210 * dbus/dbus-message.h: 13211 New function that creates an error message. 13212 13213 * dbus/dbus-protocol.h: 13214 Add ACTIVATE_SERVER message. 13215 13216 * dbus/dbus-server-unix.c: (unix_handle_watch), 13217 (_dbus_server_new_for_domain_socket): 13218 Call _dbus_fd_set_close_on_exec. 13219 13220 * dbus/dbus-sysdeps.c: (make_pipe), (do_exec), 13221 (_dbus_spawn_async), (_dbus_disable_sigpipe), 13222 (_dbus_fd_set_close_on_exec): 13223 * dbus/dbus-sysdeps.h: 13224 Add _dbus_fd_set_close_on exec function. Also add function that checks 13225 that all open fds are set to close-on-exec and warns otherwise. 13226 13227 * dbus/dbus-transport-unix.c: 13228 (_dbus_transport_new_for_domain_socket): 13229 Call _dbus_fd_set_close_on_exec. 13230 13231 2003-02-16 Havoc Pennington <hp (a] pobox.com> 13232 13233 * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe): 13234 allow people to avoid setting SIGPIPE to SIG_IGN 13235 (_dbus_connection_new_for_transport): disable SIGPIPE unless 13236 we've been asked not to 13237 13238 2003-02-15 Anders Carlsson <andersca (a] codefactory.se> 13239 13240 * dbus/dbus-list.c: (_dbus_list_append_link), 13241 (_dbus_list_prepend_link): 13242 * dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0), 13243 (dbus_realloc): 13244 Warning fixes. 13245 13246 2003-02-15 Anders Carlsson <andersca (a] codefactory.se> 13247 13248 * bus/Makefile.am: 13249 * bus/activation.c: (bus_activation_entry_free), 13250 (add_desktop_file_entry), (load_directory), (bus_activation_init): 13251 * bus/activation.h: 13252 * bus/main.c: (main): 13253 Add simple activation support, doesn't work yet though. 13254 13255 2003-02-15 Zack Rusin <zack (a] kde.org> 13256 13257 * qt/dbus-qthread.cpp: small casting fix 13258 13259 2003-02-15 Anders Carlsson <andersca (a] codefactory.se> 13260 13261 * dbus/dbus-errors.c: (dbus_set_error): 13262 * dbus/dbus-errors.h: 13263 Add a few errors and make dbus_set_error void. 13264 13265 * dbus/dbus-sysdeps.c: 13266 (_dbus_errno_to_string), (close_and_invalidate), (make_pipe), 13267 (write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async): 13268 * dbus/dbus-sysdeps.h: 13269 Add _dbus_spawn_async. 13270 13271 * test/spawn-test.c: (main): 13272 Test for _dbus_spawn_async. 13273 13274 2003-02-15 Anders Carlsson <andersca (a] codefactory.se> 13275 13276 * dbus/dbus-internals.h: 13277 Fix build without tests. 13278 13279 * dbus/dbus-list.c: (alloc_link): 13280 Fix a segfault when a malloc fails. 13281 13282 * dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc), 13283 (dbus_malloc0), (dbus_realloc): 13284 Add support for malloc debugging. 13285 13286 2003-02-15 Alexander Larsson <alexl (a] redhat.com> 13287 13288 * dbus/dbus-threads.c: 13289 * dbus/dbus-threads.h: 13290 Add condvars. Remove static mutext from API. 13291 Implement static mutexes by initializing them from threads_init. 13292 13293 * glib/dbus-gthread.c: 13294 * qt/dbus-qthread.cpp: 13295 Update with the thread api changes. 13296 13297 13298 * dbus/dbus-list.c: 13299 * dbus/dbus-list.h: 13300 Turn StaticMutex into normal mutex + init function. 13301 Export new functions _dbus_list_alloc_link, _dbus_list_free_link, 13302 _dbus_list_append_link, _dbus_list_prepend_link 13303 13304 13305 * dbus/dbus-sysdeps.c: 13306 * dbus/dbus-sysdeps.h: 13307 New type dbus_atomic_t, and new functions _dbus_atomic_inc, 13308 _dbus_atomic_dec. Only slow fallback implementation at the moment. 13309 13310 * dbus/dbus-protocol.h: 13311 Add DBUS_MESSAGE_LOCAL_DISCONNECT define 13312 13313 * dbus/dbus-message.c: 13314 Make ref/unref atomic. 13315 Fix some docs. 13316 13317 * dbus/dbus-connection-internal.h: 13318 * dbus/dbus-connection.c: 13319 * dbus/dbus-connection.h: 13320 Make threadsafe. 13321 Change _peek to _borrow,_return & _steal_borrowed. 13322 Change disconnect callback to event. 13323 Make dbus_connection_dispatch_messages reentrant. 13324 13325 * dbus/dbus-transport.c: 13326 Don't ref the connection on calls to the transport 13327 implementation. 13328 13329 * dbus/dbus-message-handler.c: 13330 Make threadsafe. 13331 13332 * glib/dbus-gmain.c: 13333 Don't use peek_message anymore 13334 13335 * test/Makefile.am: 13336 * test/debug-thread.c: 13337 * test/debug-thread.h: 13338 Simple thread implementation that asserts() on deadlocks in 13339 single-threaded code. 13340 13341 * test/bus-test.c: 13342 (main) Call debug_threads_init. 13343 13344 * test/watch.c: 13345 Use disconnect message instead of disconnect callback. 13346 13347 * bus/connection.c: 13348 * bus/connection.h: 13349 Don't call dbus_connection_set_disconnect_function. Instead export 13350 bus_connection_disconnect. 13351 13352 * bus/dispatch.c: 13353 Call bus_connection_disconnect when we get a disconnected message. 13354 13355 2003-02-15 Havoc Pennington <hp (a] pobox.com> 13356 13357 * dbus/dbus-message.c (dbus_message_new): fool around with the 13358 docs 13359 13360 2003-02-14 Havoc Pennington <hp (a] pobox.com> 13361 13362 * dbus/dbus-mempool.c: fail if the debug functions so indicate 13363 13364 * dbus/dbus-memory.c: fail if the debug functions indicate we 13365 should 13366 13367 * dbus/dbus-internals.c (_dbus_set_fail_alloc_counter) 13368 (_dbus_decrement_fail_alloc_counter): debug functions to 13369 simulate memory allocation failures 13370 13371 2003-02-14 Havoc Pennington <hp (a] pobox.com> 13372 13373 * dbus/dbus-errors.h (struct DBusError): add a word of padding 13374 to DBusError 13375 13376 2003-02-13 Anders Carlsson <andersca (a] codefactory.se> 13377 13378 * bus/driver.c: (bus_driver_handle_hello): 13379 * bus/driver.h: 13380 * bus/services.c: (bus_service_lookup): 13381 Reorder message sending so we get a more sane order. 13382 13383 * test/bus-test.c: (message_handler): 13384 Fix tyop. 13385 13386 2003-02-13 Anders Carlsson <andersca (a] codefactory.se> 13387 13388 * bus/driver.c: (bus_driver_send_service_deleted), 13389 (bus_driver_send_service_created), (bus_driver_send_service_lost), 13390 (bus_driver_send_service_acquired), (bus_driver_handle_hello), 13391 (bus_driver_send_welcome_message), 13392 (bus_driver_handle_list_services), 13393 (bus_driver_handle_acquire_service), 13394 (bus_driver_handle_service_exists): 13395 * dbus/dbus-bus.c: (dbus_bus_register_client), 13396 (dbus_bus_acquire_service), (dbus_bus_service_exists): 13397 * dbus/dbus-errors.c: (dbus_result_to_string): 13398 * dbus/dbus-errors.h: 13399 * dbus/dbus-message.c: (dbus_message_append_args), 13400 (dbus_message_append_args_valist), (dbus_message_get_args), 13401 (dbus_message_get_args_valist), (dbus_message_get_args_iter), 13402 (dbus_message_iter_get_arg_type), (dbus_message_iter_get_string), 13403 (dbus_message_iter_get_byte_array), 13404 (dbus_message_iter_get_string_array), (message_iter_test), 13405 (check_message_handling), (_dbus_message_test): 13406 * dbus/dbus-message.h: 13407 * test/bus-test.c: (main): 13408 Change fields to arguments in messages, so that they won't be 13409 confused with header fields. 13410 13411 * glib/test-dbus-glib.c: (main): 13412 Remove append_fields from hello message. 13413 13414 2003-02-13 Anders Carlsson <andersca (a] codefactory.se> 13415 13416 * dbus/dbus-errors.c: 13417 * dbus/dbus-message.c: 13418 * dbus/dbus-string.c: 13419 Documentation fixes. 13420 13421 2003-02-13 Anders Carlsson <andersca (a] codefactory.se> 13422 13423 * glib/dbus-gmain.c: (timeout_handler), (add_timeout), 13424 (remove_timeout): 13425 Implement support for timeouts in dbus-glib. 13426 13427 2003-02-13 Anders Carlsson <andersca (a] codefactory.se> 13428 13429 * dbus/dbus-message-builder.c: (_dbus_message_data_load): 13430 * dbus/dbus-message.c: (process_test_subdir): 13431 * test/break-loader.c: (find_breaks_based_on): 13432 Plug some memory leaks. 13433 13434 2003-02-13 Richard Hult <rhult (a] codefactory.se> 13435 13436 * bus/main.c: Fix build. 13437 13438 * dbus/dbus-errors.h: 13439 * dbus/dbus-errors.c: Fix copyright for Anders. 13440 13441 2003-02-13 Anders Carlsson <andersca (a] codefactory.se> 13442 13443 * bus/Makefile.am: 13444 Add utils.[ch] 13445 13446 * bus/connection.c: (bus_connection_foreach): 13447 Fix a warning. 13448 13449 * bus/desktop-file.c: (grow_lines_in_section), (grow_sections), 13450 (unescape_string), (new_section), (parse_section_start), 13451 (parse_key_value), (report_error), (bus_desktop_file_load), 13452 (bus_desktop_file_get_string): 13453 * bus/desktop-file.h: 13454 Use DBusError for error reporting. 13455 13456 * bus/dispatch.c: (send_one_message), 13457 (bus_dispatch_message_handler): 13458 * bus/driver.c: (bus_driver_send_service_deleted), 13459 (bus_driver_send_service_created), (bus_driver_send_service_lost), 13460 (bus_driver_send_service_acquired), (bus_driver_handle_hello), 13461 (bus_driver_send_welcome_message), 13462 (bus_driver_handle_list_services), 13463 (bus_driver_handle_acquire_service), 13464 (bus_driver_handle_service_exists): 13465 * bus/loop.c: (bus_loop_run): 13466 * bus/main.c: 13467 Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM. 13468 13469 * bus/utils.c: (bus_wait_for_memory): 13470 * bus/utils.h: 13471 New files with general utility functions. 13472 13473 * dbus/dbus-internals.h: 13474 Remove _DBUS_HANDLE_OOM. 13475 13476 2003-02-13 Anders Carlsson <andersca (a] codefactory.se> 13477 13478 * dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init), 13479 (dbus_error_free), (dbus_set_error_const), (dbus_set_error): 13480 * dbus/dbus-errors.h: 13481 Add DBusError structure. 13482 13483 2003-02-13 Anders Carlsson <andersca (a] codefactory.se> 13484 13485 * test/data/valid-messages/standard-acquire-service.message: 13486 * test/data/valid-messages/standard-hello.message: 13487 * test/data/valid-messages/standard-list-services.message: 13488 * test/data/valid-messages/standard-service-exists.message: 13489 Add some standard messages. 13490 13491 2003-02-13 Anders Carlsson <andersca (a] codefactory.se> 13492 13493 * bus/driver.c: (bus_driver_send_welcome_message), 13494 (bus_driver_handle_list_services), 13495 (bus_driver_handle_acquire_service), 13496 (bus_driver_handle_service_exists), (bus_driver_handle_message): 13497 Update for API changes in libdbus. 13498 13499 * dbus/dbus-message.c: (dbus_message_new_reply): 13500 * dbus/dbus-message.h: 13501 Remove the name argument. The spec states that replies shouldn't 13502 have a name. 13503 13504 2003-02-13 Anders Carlsson <andersca (a] codefactory.se> 13505 13506 * bus/desktop-file.c: (parse_section_start), (parse_key_value), 13507 (report_error), (bus_desktop_file_load), (lookup_section), 13508 (lookup_line), (bus_desktop_file_get_raw), 13509 (bus_desktop_file_get_string): 13510 * bus/desktop-file.h: 13511 Some fixes, and new functions for getting a key value from a section. 13512 13513 2003-02-13 Havoc Pennington <hp (a] pobox.com> 13514 13515 * test/data/auth/fail-after-n-attempts.auth-script: new test 13516 13517 * dbus/dbus-auth.c (send_rejected): shutdown_mech() when we 13518 reject the client. 13519 13520 2003-02-13 Havoc Pennington <hp (a] pobox.com> 13521 13522 * dbus/dbus-auth.c (handle_server_data_external_mech): args to 13523 dbus_credentials_match were backward 13524 13525 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support 13526 NO_CREDENTIALS and ROOT_CREDENTIALS 13527 13528 * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine 13529 into here. Never process more commands after we've reached an 13530 end state; store further data as unused bytes. 13531 13532 * test/data/auth/*: add more auth tests 13533 13534 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT 13535 command to match exact string and EXPECT_UNUSED to match unused 13536 bytes 13537 13538 * test/Makefile.am (dist-hook): fix to dist all the test stuff 13539 13540 2003-02-12 Havoc Pennington <hp (a] pobox.com> 13541 13542 * dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip 13543 \r off of popped lines 13544 13545 * dbus/dbus-auth.c (_dbus_auth_test): write code to run auth 13546 scripts 13547 13548 * dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a 13549 SEND, append \r\n 13550 13551 2003-02-12 Havoc Pennington <hp (a] pobox.com> 13552 13553 * dbus/Makefile.am: remove break-loader from the build, since it 13554 moved. 13555 13556 * configure.in: add --enable-gcov to turn on coverage profiling 13557 flags and disable optimization 13558 13559 2003-02-10 Havoc Pennington <hp (a] pobox.com> 13560 13561 * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync 13562 initial cut at test framework for DBusAuth from laptop. 13563 Doesn't quite work yet but it compiles and I need to get 13564 it off the 266mhz laptop. ;-) 13565 13566 * dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport): 13567 fix a memleak in error case 13568 13569 2003-02-12 Anders Carlsson <andersca (a] codefactory.se> 13570 13571 * bus/Makefile.am: 13572 * bus/desktop-file.c: 13573 * bus/desktop-file.h: 13574 Add a desktop file parser. 13575 13576 2003-02-11 Zack Rusin <zack (a] kde.org> 13577 13578 * qt/message.[h|cpp]: sample implementation 13579 of the KDE wrapper for DBusMessage 13580 13581 2003-02-09 Zack Rusin <zack (a] kde.org> 13582 13583 * test/bus-test.c: make_it_compile 13584 * doc/dbus-specification.sgml: minimal semantic fix 13585 13586 2003-02-06 Anders Carlsson <andersca (a] codefactory.se> 13587 13588 Release 0.3 13589 13590 * NEWS: Update 13591 13592 2003-02-06 Anders Carlsson <andersca (a] codefactory.se> 13593 13594 * dbus/Makefile.am: 13595 * dbus/dbus-break-loader.c: 13596 * test/Makefile.am: 13597 * test/break-loader.c: 13598 Move dbus-break-loader to test/ and rename it to break-loader. 13599 13600 2003-02-02 Havoc Pennington <hp (a] pobox.com> 13601 13602 * dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files 13603 for code to manage cookies in your home directory 13604 13605 * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function 13606 13607 * dbus/dbus-auth.c (get_state): impose a maximum number of tries 13608 to authenticate, then disconnect the client. 13609 13610 2003-02-03 Alexander Larsson <alexl (a] redhat.com> 13611 13612 * dbus/dbus-message.c (dbus_message_append_fields): 13613 Correct docs. 13614 13615 2003-02-02 Anders Carlsson <andersca (a] codefactory.se> 13616 13617 * doc/dbus-specification.sgml: 13618 Update address format section. 13619 13620 2003-02-02 Anders Carlsson <andersca (a] codefactory.se> 13621 13622 * test/Makefile.am: 13623 * test/bus-test.c: (get_time), (add_timeout), (remove_timeout), 13624 (message_handler), (new_connection_callback), (loop_quit), 13625 (loop_run), (main): 13626 Add bus test. 13627 13628 2003-02-02 Anders Carlsson <andersca (a] codefactory.se> 13629 13630 * bus/driver.c: (bus_driver_handle_service_exists): 13631 Simplify the code a bit. 13632 13633 * dbus/dbus-bus.c: (dbus_bus_service_exists): 13634 Fix a silly. 13635 13636 2003-02-02 Anders Carlsson <andersca (a] codefactory.se> 13637 13638 * bus/Makefile.am: 13639 Add libdbus-daemon.la and link to it. 13640 13641 2003-02-01 James Willcox <jwillcox (a] gnome.org> 13642 13643 * bus/driver.c: (bus_driver_handle_own_service): 13644 Actually include the service reply code in the message. 13645 13646 2003-02-02 Anders Carlsson <andersca (a] codefactory.se> 13647 13648 * bus/driver.c: (bus_driver_handle_service_exists): 13649 Don't unref the incoming message. 13650 13651 2003-02-02 Anders Carlsson <andersca (a] codefactory.se> 13652 13653 * dbus/dbus.h: Add dbus-address.h and dbus-bus.h 13654 13655 2003-02-02 Anders Carlsson <andersca (a] codefactory.se> 13656 13657 * dbus/dbus-server.c: (dbus_server_listen): 13658 * dbus/dbus-transport.c: (_dbus_transport_open): 13659 ifdef out the calls to the debug transport and server. 13660 13661 2003-02-02 Alexander Larsson <alexl (a] redhat.com> 13662 13663 * dbus/dbus-watch.c (dbus_watch_get_flags): 13664 Add note in the docs that ERROR or HANGUP won't be returned 13665 and are assumed always on. 13666 13667 * glib/dbus-gmain.c (add_watch): 13668 Always add IO_ERR | IO_HUP 13669 13670 * dbus/dbus-message.h: 13671 Add semicolon after dbus_message_iter_get_string_array(). 13672 Makes qt code build again 13673 13674 2003-02-01 Anders Carlsson <andersca (a] codefactory.se> 13675 13676 * bus/driver.c: (create_unique_client_name), 13677 (bus_driver_handle_hello): 13678 Don't take a name, just use a numeric id to identify 13679 each client. 13680 13681 * dbus/Makefile.am: 13682 * dbus/dbus-bus.c: (dbus_bus_register_client), 13683 (dbus_bus_acquire_service), (dbus_bus_service_exists): 13684 * dbus/dbus-bus.h: 13685 Add new convenience functions for communicating with the bus. 13686 13687 * dbus/dbus-message.h: 13688 13689 * dbus/dbus-protocol.h: 13690 Fix a typo. 13691 13692 2003-02-01 Alexander Larsson <alexl (a] redhat.com> 13693 13694 * dbus/dbus-message.c (dbus_message_append_fields): 13695 Add some more doc comments. 13696 13697 2003-02-01 Havoc Pennington <hp (a] pobox.com> 13698 13699 * dbus/dbus-break-loader.c (randomly_modify_length): change 13700 a 4-byte value in the message as if it were a length 13701 13702 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set 13703 execute bit on saved files 13704 13705 2003-02-01 Havoc Pennington <hp (a] pobox.com> 13706 13707 * dbus/dbus-break-loader.c (main): new program to find messages 13708 that break the loader. 13709 13710 * dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function 13711 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function 13712 13713 * dbus/dbus-string.c (_dbus_string_set_byte): new 13714 13715 2003-01-31 Havoc Pennington <hp (a] pobox.com> 13716 13717 * dbus/dbus-message.c: refactor the test code to be more general, 13718 in preparation for writing a "randomly permute test cases to 13719 try to break the loader" program. 13720 13721 2003-01-31 Havoc Pennington <hp (a] pobox.com> 13722 13723 * doc/dbus-specification.sgml: work on the specification 13724 13725 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): check 13726 the protocol version of the message. 13727 13728 * dbus/dbus-protocol.h: drop special _REPLY names, the spec 13729 no longer specifies that. 13730 (DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not 13731 1/2/3/4) 13732 13733 * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing 13734 "break" for DBUS_TYPE_NIL, remove @todo 13735 13736 2003-01-31 Havoc Pennington <hp (a] pobox.com> 13737 13738 * dbus/dbus-message.c (dbus_message_set_is_error_reply): rename 13739 just set_is_error/get_is_error as this is a commonly-used 13740 function, and write docs. 13741 13742 2003-01-31 Anders Carlsson <andersca (a] codefactory.se> 13743 13744 * dbus/dbus-address.c: (dbus_address_entry_free): 13745 Free key and value lists. 13746 13747 * dbus/dbus-internals.c: (_dbus_type_to_string): 13748 Add the types we didn't have. 13749 13750 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos), 13751 (_dbus_marshal_validate_arg): 13752 Add NIL types. 13753 13754 * dbus/dbus-message.c: (dbus_message_set_sender): 13755 Remove todo about being able to set sender to NULL. 13756 13757 (dbus_message_set_is_error_reply), 13758 (dbus_message_get_is_error_reply): 13759 * dbus/dbus-message.h: 13760 New functions. 13761 13762 * dbus/dbus-protocol.h: 13763 Add error reply flag. 13764 13765 * test/data/valid-messages/opposite-endian.message: 13766 Add NIL type to test. 13767 13768 2003-01-31 Havoc Pennington <hp (a] pobox.com> 13769 13770 * doc/dbus-specification.sgml: fully specify the header. Add 13771 flags and major protocol version, and change header/body len to 13772 unsigned. 13773 13774 * dbus/dbus-message-builder.c (append_saved_length): append length 13775 as uint32 13776 13777 * dbus/dbus-message.c (dbus_message_create_header): change header 13778 length and body length to unsigned. Add the new fields from the 13779 spec 13780 (_dbus_message_loader_return_buffer): unsigned header/body len 13781 13782 2003-01-30 Havoc Pennington <hp (a] pobox.com> 13783 13784 * dbus/dbus-auth.c: rework to use only REJECTED, no 13785 MECHANISMS 13786 13787 * doc/dbus-sasl-profile.txt: drop MECHANISMS and just 13788 use REJECTED, suggested by Mark McLoughlin 13789 13790 2003-01-30 Havoc Pennington <hp (a] pobox.com> 13791 13792 * dbus/dbus-server.c (dbus_server_listen): @todo about how we need 13793 a better way to report errors here. e.g. "unix address lacks 13794 path" or something. also "no such file" when the path doesn't 13795 exist, etc. 13796 13797 * dbus/dbus-address.c (dbus_address_entries_free): add @todo about 13798 leaking list nodes 13799 (dbus_parse_address): add @todo about documenting address format, 13800 and allowing , and ; to be escaped 13801 13802 2003-01-30 Anders Carlsson <andersca (a] codefactory.se> 13803 13804 * dbus/Makefile.am: 13805 Add dbus-address.[ch] 13806 13807 * dbus/dbus-address.c: (dbus_address_entry_free), 13808 (dbus_address_entries_free), (create_entry), 13809 (dbus_address_entry_get_method), (dbus_address_entry_get_value), 13810 (dbus_parse_address), (_dbus_address_test): 13811 * dbus/dbus-address.h: 13812 New files for dealing with address parsing. 13813 13814 * dbus/dbus-connection.c: 13815 Document timeout functions. 13816 13817 * dbus/dbus-message.c: 13818 Document dbus_message_new_from_message. 13819 13820 * dbus/dbus-server-debug.c: 13821 Document. 13822 13823 * dbus/dbus-server.c: (dbus_server_listen): 13824 Parse address and use correct server implementation. 13825 13826 * dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test): 13827 * dbus/dbus-string.h: 13828 New function with test. 13829 13830 * dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests): 13831 * dbus/dbus-test.h: 13832 Add address tests. 13833 13834 * dbus/dbus-transport-debug.c: 13835 Document. 13836 13837 * dbus/dbus-transport.c: (_dbus_transport_open): 13838 Parse address and use correct transport implementation. 13839 13840 2003-01-30 Havoc Pennington <hp (a] pobox.com> 13841 13842 * dbus/dbus-message.c: use message->byte_order instead of 13843 DBUS_COMPILER_BYTE_ORDER throughout. 13844 (dbus_message_create_header): pad header to align the 13845 start of the body of the message to 8-byte boundary 13846 13847 * dbus/dbus-marshal.h: make all the demarshalers take const 13848 DBusString arguments. 13849 13850 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): 13851 validate message args here, so we don't have to do slow validation 13852 later, and so we catch bad messages as they are incoming. Also add 13853 better checks on header_len and body_len. Also fill in 13854 message->byte_order 13855 13856 * dbus/dbus-string.c (_dbus_string_validate_utf8): new (not 13857 implemented properly) 13858 (_dbus_string_validate_nul): new function to check all-nul 13859 13860 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename 13861 get_arg_end_pos and remove all validation 13862 (_dbus_marshal_validate_arg): actually do validation here. 13863 13864 2003-01-29 Havoc Pennington <hp (a] pobox.com> 13865 13866 * dbus/dbus-message.c (check_message_handling): fix assertion 13867 failure on set_client_serial 13868 13869 2003-01-28 Havoc Pennington <hp (a] pobox.com> 13870 13871 * dbus/dbus-server-debug.c: Add doc section comments 13872 13873 * dbus/dbus-transport-debug.c: add doc section comments 13874 13875 2003-01-28 Havoc Pennington <hp (a] redhat.com> 13876 13877 * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in 13878 the reverse order from how I had it 13879 (_dbus_string_base64_encode): reverse encoding order. I was 13880 basically byteswapping everything during encoding. 13881 13882 2003-01-28 Anders Carlsson <andersca (a] codefactory.se> 13883 13884 * dbus/dbus-connection-internal.h: 13885 * dbus/dbus-connection.c: (_dbus_connection_add_timeout), 13886 (_dbus_connection_remove_timeout): 13887 Add functions for adding and removing timeouts. 13888 13889 * dbus/dbus-message.c: (dbus_message_new_from_message): 13890 Add new function that takes a message and creates an exact 13891 copy of it, but with the refcount set to 1. 13892 (check_message_handling): 13893 Fix build error. 13894 13895 * dbus/dbus-server-protected.h: 13896 * dbus/dbus-server.c: (_dbus_server_init_base), 13897 (_dbus_server_finalize_base), (_dbus_server_add_timeout), 13898 (dbus_server_set_timeout_functions): 13899 (_dbus_server_remove_timeout): 13900 New functions so that a server can add and remove timeouts. 13901 13902 (dbus_server_listen): 13903 Add commented out call to dbus_server_debug_new. 13904 13905 * dbus/dbus-timeout.c: (_dbus_timeout_new): 13906 Actually set the handler, doh. 13907 13908 * dbus/dbus-transport.c: (_dbus_transport_open): 13909 Add commented out call to dbus_transport_debug_client_new. 13910 13911 * dbus/Makefile.am: 13912 Add dbus-transport-debug.[ch] and dbus-server-debug.[ch] 13913 13914 2003-01-28 Havoc Pennington <hp (a] pobox.com> 13915 13916 * dbus/dbus-message.c (check_message_handling): function to check 13917 on the loaded message, iterates over it etc. 13918 13919 2003-01-28 Havoc Pennington <hp (a] pobox.com> 13920 13921 * test/Makefile.am (dist-hook): fix make distdir 13922 13923 * dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check 13924 13925 2003-01-27 Havoc Pennington <hp (a] pobox.com> 13926 13927 * dbus/dbus-mempool.c (time_for_size): replace printf with 13928 _dbus_verbose 13929 13930 * dbus/dbus-message-builder.c (_dbus_message_data_load): allow 13931 empty lines; fix the SAVE_LENGTH stuff to be 13932 START_LENGTH/END_LENGTH so it actually works; couple other 13933 bugfixes 13934 13935 * test/Makefile.am (dist-hook): add dist-hook for .message files 13936 13937 * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy 13938 can be constant or locked. 13939 (_dbus_string_free): allow freeing a const string as 13940 documented/intended 13941 13942 * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility 13943 13944 * dbus/dbus-test-main.c (main): take an argument which is the 13945 directory containing test data 13946 13947 * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir 13948 argument to this and load all the messages in test/data/ 13949 checking that they can be loaded or not loaded as appropriate. 13950 13951 2003-01-27 Anders Carlsson <andersca (a] codefactory.se> 13952 13953 * bus/dispatch.c: (bus_dispatch_message_handler): 13954 Dispatch messages sent to services. 13955 13956 * bus/driver.c: (bus_driver_send_service_deleted), 13957 (bus_driver_send_service_created), (bus_driver_send_service_lost), 13958 (bus_driver_send_service_acquired): 13959 Add helper functions for sending service related messages. 13960 13961 (bus_driver_send_welcome_message): 13962 Send HELLO_REPLY instead of WELCOME. 13963 13964 (bus_driver_handle_list_services): 13965 Send LIST_SERVICES_REPLY instead of SERVICES. 13966 13967 (bus_driver_handle_own_service), 13968 (bus_driver_handle_service_exists): 13969 New message handlers. 13970 13971 (bus_driver_handle_message): 13972 Invoke new message handlers. 13973 13974 (bus_driver_remove_connection): 13975 Don't remove any services here since that's done automatically 13976 by bus_service_remove_owner now. 13977 13978 * bus/driver.h: 13979 New function signatures. 13980 13981 * bus/services.c: (bus_service_add_owner): 13982 Send ServiceAcquired message if we're the only primary owner. 13983 13984 (bus_service_remove_owner): 13985 Send ServiceAcquired/ServiceLost messages. 13986 13987 (bus_service_set_prohibit_replacement), 13988 (bus_service_get_prohibit_replacement): 13989 Functions for setting prohibit replacement. 13990 13991 (bus_service_has_owner): 13992 New function that checks if a connection is in the owner queue of 13993 a certain service. 13994 13995 * bus/services.h: 13996 Add new function signatures. 13997 13998 * dbus/dbus-list.c: (_dbus_list_test): 13999 Add tests for _dbus_list_remove_last and traversing the list backwards. 14000 14001 * dbus/dbus-list.h: 14002 Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't 14003 go any further, so return NULL then. 14004 14005 * dbus/dbus-protocol.h: 14006 Add new messages, service flags and service replies. 14007 14008 2003-01-26 Havoc Pennington <hp (a] pobox.com> 14009 14010 * dbus/dbus-message-builder.c: implement, completely untested. 14011 14012 * test/data/*: add data to be used in testing. 14013 ".message" files are our simple loadable text format. 14014 ".message-raw" will be binary dumps of messages. 14015 14016 * dbus/dbus-string.c (_dbus_string_starts_with_c_str): new 14017 14018 2003-01-26 Havoc Pennington <hp (a] pobox.com> 14019 14020 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function 14021 14022 * dbus/dbus-errors.c (dbus_result_to_string): add 14023 file errors 14024 14025 * dbus/dbus-message-builder.c: new file, will contain code to load 14026 up messages from files. Not implemented yet. 14027 14028 2003-01-26 Havoc Pennington <hp (a] pobox.com> 14029 14030 * dbus/dbus-message.c (dbus_message_set_sender): support deleting 14031 the sender by setting to NULL 14032 14033 2003-01-26 Havoc Pennington <hp (a] pobox.com> 14034 14035 The unit tests pass, but otherwise untested. If it breaks, the 14036 tests should have been better. ;-) 14037 14038 * bus/driver.c (bus_driver_handle_hello): return if we disconnect 14039 the connection. 14040 14041 * dbus/dbus-message.c: redo everything so we maintain 14042 message->header as the only copy of the various fields. 14043 This avoids the possibility of out-of-memory in some cases, 14044 for example dbus_message_lock() can't run out of memory anymore, 14045 and avoids extra copying. Figured I may as well go ahead and do 14046 this since it was busted for dbus_message_lock to not return 14047 failure on OOM, and dbus_message_write_header was totally 14048 unchecked for OOM. Also fixed some random other bugs. 14049 14050 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify 14051 that strings are nul-terminated. Also, end_pos can be equal 14052 to string length just not greater than, I think. 14053 (_dbus_marshal_set_int32): new function 14054 (_dbus_marshal_set_uint32): new function 14055 (_dbus_marshal_set_string): new function 14056 14057 * dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix 14058 a warning, init timeout_list to NULL 14059 (dbus_connection_send_message): don't use uninitialized variable 14060 "serial" 14061 14062 * dbus/dbus-string.c (_dbus_string_replace_len): new function 14063 14064 2003-01-26 Anders Carlsson <andersca (a] codefactory.se> 14065 14066 * bus/driver.c: (bus_driver_handle_hello), 14067 (bus_driver_send_welcome_message): 14068 Plug leaks 14069 14070 2003-01-26 Anders Carlsson <andersca (a] codefactory.se> 14071 14072 * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref): 14073 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport), 14074 (dbus_connection_unref): 14075 * dbus/dbus-marshal.c: (_dbus_marshal_test): 14076 * dbus/dbus-message.c: (dbus_message_unref), 14077 Plug memory leaks. 14078 14079 (dbus_message_get_fields): 14080 Remove debugging printout. 14081 14082 (_dbus_message_loader_return_buffer): 14083 Don't store the header string. 14084 14085 (_dbus_message_test): 14086 Plug leaks. 14087 14088 2003-01-26 Richard Hult <rhult (a] codefactory.se> 14089 14090 * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of 14091 the file descriptor list, since it can change under us. 14092 14093 2003-01-25 Anders Carlsson <andersca (a] codefactory.se> 14094 14095 * glib/dbus-gmain.c: (dbus_connection_prepare), 14096 (dbus_connection_check), (dbus_connection_dispatch), (add_watch), 14097 (remove_watch), (dbus_connection_hookup_with_g_main): 14098 Rewrite the glib handling to use its own GSource instead of a 14099 GIOChannel so we can catch messages put in the queue while waiting 14100 for a reply. 14101 14102 2003-01-25 Anders Carlsson <andersca (a] codefactory.se> 14103 14104 * bus/Makefile.am: 14105 * bus/connection.c: (connection_disconnect_handler), 14106 (connection_watch_callback), (bus_connection_setup): 14107 * bus/dispatch.c: (send_one_message), 14108 (bus_dispatch_broadcast_message), (bus_dispatch_message_handler), 14109 (bus_dispatch_add_connection), (bus_dispatch_remove_connection): 14110 * bus/dispatch.h: 14111 * bus/driver.c: (bus_driver_send_service_deleted), 14112 (bus_driver_send_service_created), (bus_driver_handle_hello), 14113 (bus_driver_send_welcome_message), 14114 (bus_driver_handle_list_services), (bus_driver_remove_connection), 14115 (bus_driver_handle_message): 14116 * bus/driver.h: 14117 Refactor code, put the message dispatching in its own file. Use 14118 _DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client 14119 is disconnected. 14120 14121 2003-01-25 Anders Carlsson <andersca (a] codefactory.se> 14122 14123 * dbus/dbus-internals.h: 14124 Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently. 14125 14126 * dbus/dbus-message.c: (dbus_message_get_sender): 14127 * dbus/dbus-message.h: 14128 Implement dbus_message_get_sender. 14129 14130 * dbus/dbus-protocol.h: 14131 Add message and service defines. 14132 14133 2003-01-25 Anders Carlsson <andersca (a] codefactory.se> 14134 14135 * dbus/dbus-connection.c: (dbus_connection_send_message): 14136 * dbus/dbus-message-internal.h: 14137 * dbus/dbus-message.c: (_dbus_message_get_client_serial), 14138 (dbus_message_write_header): 14139 Remove _dbus_messag_unlock and don't set the client serial on a 14140 message if one already exists. 14141 14142 2003-01-24 Havoc Pennington <hp (a] pobox.com> 14143 14144 * dbus/dbus-list.c (alloc_link): put a thread lock on the global 14145 list_pool 14146 14147 * bus/driver.c (bus_driver_handle_list_services): fix a leak 14148 on OOM 14149 14150 2003-01-25 Anders Carlsson <andersca (a] codefactory.se> 14151 14152 * dbus/dbus-list.c: (alloc_link), (free_link): 14153 Use a memory pool for the links. 14154 14155 2003-01-25 Anders Carlsson <andersca (a] codefactory.se> 14156 14157 * bus/connection.c: (bus_connection_foreach): 14158 * bus/connection.h: 14159 Add new bus_connection_foreach function. 14160 14161 * bus/driver.c: (send_one_message), (bus_driver_broadcast_message): 14162 Add function that broadcasts a message to all clients. 14163 14164 (bus_driver_send_service_created), (bus_driver_handle_hello), 14165 (bus_driver_send_welcome_message), 14166 (bus_driver_handle_list_services), (bus_driver_message_handler): 14167 Implement functions that take care of listing services, and notifying 14168 clients when new services are created. 14169 14170 * bus/services.c: (bus_services_list): 14171 * bus/services.h: 14172 Add new function that returns an array of strings with the currently 14173 registered services. 14174 14175 * glib/dbus-glib.h: 14176 * glib/dbus-gmain.c: 14177 Update copyright year. 14178 14179 2003-01-25 Anders Carlsson <andersca (a] codefactory.se> 14180 14181 * dbus/dbus-connection.c: (dbus_connection_send_message): 14182 Unlock the message in case it was sent earlier. 14183 14184 (dbus_connection_send_message_with_reply_and_block): 14185 Remove the reply message from the list. 14186 14187 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array): 14188 Set array_len and new_pos correctly. 14189 14190 (_dbus_marshal_test): 14191 Remove debug output. 14192 14193 * dbus/dbus-message-internal.h: 14194 * dbus/dbus-message.c: (_dbus_message_get_reply_serial): 14195 New function that returns the reply serial. 14196 14197 (_dbus_message_unlock): 14198 New function that unlocks a message and resets its header. 14199 14200 (dbus_message_append_string_array), 14201 (dbus_message_get_fields_valist), 14202 (dbus_message_iter_get_field_type), 14203 (dbus_message_iter_get_string_array), 14204 (dbus_message_get_fields), 14205 (dbus_message_append_fields_valist): 14206 Handle string arrays. 14207 14208 (dbus_message_set_sender): 14209 Make this function public since the bus daemon needs it. 14210 14211 (decode_header_data): 14212 Set the reply serial to -1 initially. 14213 14214 * dbus/dbus-message.h: 14215 Add dbus_message_set_sender. 14216 14217 2003-01-24 Havoc Pennington <hp (a] pobox.com> 14218 14219 * doc/dbus-specification.sgml: add some stuff 14220 14221 2003-01-22 Havoc Pennington <hp (a] pobox.com> 14222 14223 * doc/dbus-specification.sgml: Start to document the protocol. 14224 14225 2003-01-22 Havoc Pennington <hp (a] pobox.com> 14226 14227 * dbus/dbus-connection.c 14228 (dbus_connection_send_message_with_reply_and_block): add some @todo 14229 14230 * bus/driver.c (bus_driver_add_connection): add a FIXME about memleak 14231 14232 2003-01-21 Havoc Pennington <hp (a] pobox.com> 14233 14234 (patch untested because can't compile) 14235 14236 * bus/driver.c (create_unique_client_name): make this function 14237 never recycle client names. Also, caller should initialize 14238 the DBusString. 14239 14240 * dbus/dbus-sysdeps.c (_dbus_get_current_time): new function 14241 14242 2003-01-21 Anders Carlsson <andersca (a] codefactory.se> 14243 14244 * dbus/dbus-marshal.c: (_dbus_marshal_double), 14245 (_dbus_marshal_int32), (_dbus_marshal_uint32), 14246 (_dbus_marshal_int32_array), (_dbus_marshal_uint32_array), 14247 (_dbus_marshal_double_array), (_dbus_marshal_string_array), 14248 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array), 14249 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array), 14250 (_dbus_marshal_get_field_end_pos), (_dbus_marshal_test): 14251 * dbus/dbus-marshal.h: 14252 * dbus/dbus-protocol.h: 14253 Add support for marshalling and demarshalling integer, double 14254 and string arrays. 14255 14256 2003-01-21 Anders Carlsson <andersca (a] codefactory.se> 14257 14258 * bus/Makefile.am: 14259 Add driver.[ch] 14260 14261 * bus/connection.c: (connection_disconnect_handler): 14262 Remove the connection from the bus driver's list. 14263 14264 (connection_watch_callback): Dispatch messages. 14265 14266 (free_connection_data): Free connection name. 14267 14268 (bus_connection_setup): Add connection to the bus driver's list. 14269 (bus_connection_remove_owned_service): 14270 (bus_connection_set_name), (bus_connection_get_name): 14271 Add functions for setting and getting the connection's name. 14272 14273 * bus/connection.h: 14274 Add function headers. 14275 14276 * bus/driver.c: (create_unique_client_name), 14277 (bus_driver_handle_hello_message), 14278 (bus_driver_send_welcome_message), (bus_driver_message_handler), 14279 (bus_driver_add_connection), (bus_driver_remove_connection): 14280 * bus/driver.h: 14281 * bus/main.c: 14282 * bus/services.c: (bus_service_free): 14283 * bus/services.h: 14284 New file that handles communication and registreation with the bus 14285 itself. 14286 14287 2003-01-21 Anders Carlsson <andersca (a] codefactory.se> 14288 14289 * dbus/dbus-connection.c: (dbus_connection_send_message): 14290 Add a new client_serial parameter. 14291 14292 (dbus_connection_send_message_with_reply): 14293 Remove a @todo since we've implemented the blocking function. 14294 14295 (dbus_connection_send_message_with_reply_and_block): 14296 New function that sends a message and waits for a reply and 14297 then returns the reply. 14298 14299 * dbus/dbus-connection.h: 14300 Add new functions. 14301 14302 * dbus/dbus-errors.c: (dbus_result_to_string): 14303 * dbus/dbus-errors.h: 14304 Add new DBUS_RESULT. 14305 14306 * dbus/dbus-message-internal.h: 14307 * dbus/dbus-message.c: (_dbus_message_get_reply_serial), 14308 (_dbus_message_set_sender), (dbus_message_write_header), 14309 (dbus_message_new_reply), (decode_header_data), 14310 (_dbus_message_loader_return_buffer), (_dbus_message_test): 14311 * dbus/dbus-message.h: 14312 Add new functions that set the reply serial and sender. 14313 Also marshal and demarshal them correctly and add test. 14314 14315 * dbus/dbus-protocol.h: 14316 Add new DBUS_MESSAGE_TYPE_SENDER. 14317 14318 * glib/dbus-glib.h: 14319 * glib/dbus-gmain.c: (watch_callback), (free_callback_data), 14320 (add_watch), (remove_watch), (add_timeout), (remove_timeout), 14321 (dbus_connection_hookup_with_g_main): 14322 * glib/test-dbus-glib.c: (main): 14323 Rewrite to use GIOChannel and remove the GSource crack. 14324 14325 * test/echo-client.c: (main): 14326 * test/watch.c: (check_messages): 14327 Update for changed APIs 14328 14329 2003-01-19 Anders Carlsson <andersca (a] codefactory.se> 14330 14331 * dbus/Makefile.am: Add dbus-timeout.[c] 14332 14333 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport): 14334 Create a DBusTimeoutList. 14335 (dbus_connection_set_timeout_functions): Add new function to 14336 set timeout callbacks 14337 14338 * dbus/dbus-connection.h: Add public DBusTimeout API. 14339 14340 * dbus/dbus-message.c: (dbus_message_get_service): 14341 * dbus/dbus-message.h: New function. 14342 14343 * dbus/dbus-server.c: Fix small doc typo. 14344 14345 * dbus/dbus-timeout.[ch]: New files for mainloop timeouts. 14346 14347 2003-01-19 Anders Carlsson <andersca (a] codefactory.se> 14348 14349 * dbus/dbus-string.c (_dbus_string_move_len): Don't delete all 14350 of the string, just as long as specified. 14351 14352 2003-01-19 Havoc Pennington <hp (a] pobox.com> 14353 14354 * dbus/dbus-connection.c (dbus_connection_get_is_authenticated): 14355 new function 14356 14357 * dbus/dbus-server.c (dbus_server_set_max_connections) 14358 (dbus_server_get_max_connections, dbus_server_get_n_connections): 14359 keep track of current number of connections, and add API for 14360 setting a max (but haven't implemented enforcing the max yet) 14361 14362 2003-01-18 Havoc Pennington <hp (a] pobox.com> 14363 14364 * dbus/dbus-transport-unix.c (unix_do_iteration): only do the 14365 reading/writing if read_watch != NULL or write_watch != NULL. 14366 14367 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix 14368 the message loader code to actually load message->header and 14369 message->body into the newly-created message. 14370 14371 * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak 14372 in OOM case 14373 14374 * dbus/dbus-connection.c (dbus_connection_set_max_message_size) 14375 (dbus_connection_get_max_message_size) 14376 (dbus_connection_set_max_live_messages_size) 14377 (dbus_connection_get_max_live_messages_size): implement some 14378 resource limitation functions 14379 14380 * dbus/dbus-resources.c: new file implementing some of the 14381 resource limits stuff 14382 14383 * dbus/dbus-message.c (dbus_message_iter_get_byte_array): add 14384 missing docs, add @todo to handle OOM etc. 14385 14386 * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing 14387 docs 14388 14389 2003-01-18 Havoc Pennington <hp (a] pobox.com> 14390 14391 * dbus/dbus-connection.c (dbus_connection_unref): disconnect the 14392 connection if it hasn't been already. 14393 14394 * dbus/dbus-connection.h: kill off the idea of an ErrorFunction, 14395 replace with DisconnectFunction. 14396 14397 2003-01-18 Havoc Pennington <hp (a] pobox.com> 14398 14399 Building --disable-verbose-mode --disable-asserts --disable-tests 14400 cuts the library from 112K to 45K or so 14401 14402 * configure.in: check for varargs macro support, 14403 add --enable-verbose-mode, --enable-asserts. 14404 14405 * dbus/dbus-internals.h (_dbus_assert): support 14406 DBUS_DISABLE_ASSERT 14407 (_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE 14408 14409 2003-01-18 Havoc Pennington <hp (a] pobox.com> 14410 14411 * dbus/dbus-test.c: include config.h so that tests actually run 14412 14413 * dbus/dbus-string.c: add assertions that stuff is 8-byte aligned, 14414 so the failure mode when that assumption fails will be plenty 14415 obvious. 14416 14417 2003-01-18 Havoc Pennington <hp (a] pobox.com> 14418 14419 * configure.in: default --enable-tests to $USE_MAINTAINER_MODE 14420 14421 * dbus/Makefile.am: fix it up so dubs-test-main.c is included in 14422 the distribution 14423 14424 * test/Makefile.am: don't use special variable "TESTS" for echo-* 14425 since we don't want to use those in make check 14426 14427 2003-01-15 Havoc Pennington <hp (a] redhat.com> 14428 14429 Release 0.2 14430 14431 * NEWS: update 14432 14433 2003-01-15 Havoc Pennington <hp (a] redhat.com> 14434 14435 * test/Makefile.am: fix so that test source code ends up in the 14436 distribution on make distcheck 14437 14438 2003-01-15 Havoc Pennington <hp (a] redhat.com> 14439 14440 Release 0.1. 14441 14442 * NEWS: update 14443 14444 2003-01-15 Havoc Pennington <hp (a] redhat.com> 14445 14446 * dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests): 14447 fix build when --disable-tests 14448 14449 * Makefile.am (EXTRA_DIST): put HACKING in here 14450 14451 * HACKING: document procedure for making a tarball release. 14452 14453 2003-01-14 Anders Carlsson <andersca (a] codefactory.se> 14454 14455 * bus/connection.c: (connection_error_handler), 14456 (bus_connection_setup): 14457 * bus/main.c: (main): 14458 Make sure that the DBusConnectionData struct is NULLed 14459 out to prevent a segfault. 14460 14461 * dbus/dbus-errors.c: (dbus_result_to_string): 14462 * dbus/dbus-errors.h: 14463 * dbus/dbus-message.c: (dbus_message_get_fields), 14464 (dbus_message_get_fields_valist), (_dbus_message_test): 14465 * dbus/dbus-message.h: 14466 Make dbus_message_get_fields return a result code so we can 14467 track invalid fields as well as oom. 14468 14469 2003-01-11 Havoc Pennington <hp (a] pobox.com> 14470 14471 * configure.in: change --enable-test/--enable-ansi action-if-given 14472 to enable_foo=$enableval instead of enable_foo=yes 14473 14474 2003-01-08 Havoc Pennington <hp (a] pobox.com> 14475 14476 * dbus/dbus-string.c (_dbus_string_align_length): new function 14477 14478 * dbus/dbus-test-main.c: move main() for test app here 14479 * dbus/dbus-test.c 14480 (dbus_internal_symbol_do_not_use_run_tests): we have to export a 14481 symbol to run tests, because dbus-test isn't in the main 14482 library 14483 14484 Code review nitpicks. 14485 14486 * dbus/dbus-message.c (dbus_message_write_header): add newlines 14487 for people with narrow emacs ;-). Assert client_serial was filled 14488 in. Assert message->name != NULL. 14489 (dbus_message_append_fields): have "first_field_type" arg separate 14490 from va list, needed for C++ binding that also uses varargs IIRC 14491 and helps with type safety 14492 (dbus_message_new): add @todo about using DBusString to store 14493 service/name internally 14494 (dbus_message_new): don't leak ->service and ->name on OOM later 14495 in the function 14496 (dbus_message_unref): free the service name 14497 (dbus_message_get_fields): same change to varargs 14498 i.e. first_field_type 14499 (_dbus_message_loader_return_buffer): assert that the message data 14500 is aligned (if not it's a bug in our code). Put in verbose griping 14501 about why we set corrupted = TRUE. 14502 (decode_header_data): add FIXME that char* is evil. Was going to 14503 add FIXME about evil locale-specific string.h strncmp, but just 14504 switched to wacky string-as-uint32 optimization. Move check for 14505 "no room for field name" above get_const_data_len() to avoid 14506 assertion failure in get_const_data_len if we have trailing 2 14507 bytes or the like. Check for service and name fields being 14508 provided twice. Don't leak service/name on error. Require field 14509 names to be aligned to 4 bytes. 14510 14511 * dbus/dbus-marshal.c: move byte swap stuff to header 14512 (_dbus_pack_int32): uscore-prefix 14513 (_dbus_unpack_int32): uscore-prefix 14514 (_dbus_unpack_uint32): export 14515 (_dbus_demarshal_string): add @todo complaining about use of 14516 memcpy() 14517 (_dbus_marshal_get_field_end_pos): add @todo about bad error 14518 handling allowing corrupt data to go unchecked 14519 14520 2003-01-08 Havoc Pennington <hp (a] redhat.com> 14521 14522 * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write 14523 to the select() as needed for authentication. (should be using 14524 _dbus_poll() not select, but for another day) 14525 14526 * dbus/dbus.h: include dbus/dbus-protocol.h 14527 14528 2003-01-08 Anders Carlsson <andersca (a] codefactory.se> 14529 14530 * dbus/Makefile.am (dbusinclude_HEADERS): Install 14531 dbus-connection.h 14532 14533 2003-01-08 Anders Carlsson <andersca (a] codefactory.se> 14534 14535 * dbus/dbus-internals.c: (_dbus_type_to_string): 14536 New function that returns a string describing a type. 14537 14538 * dbus/dbus-marshal.c: (_dbus_demarshal_byte_array): 14539 * dbus/dbus-marshal.h: 14540 * dbus/dbus-message.c: (dbus_message_get_fields_valist), 14541 (dbus_message_iter_get_field_type), (dbus_message_iter_get_double), 14542 (dbus_message_iter_get_byte_array): 14543 * dbus/dbus-message.h: 14544 Add new convenience functions for appending and getting message fields. 14545 Also add demarshalling routines for byte arrays. 14546 14547 2003-01-07 Anders Carlsson <andersca (a] codefactory.se> 14548 14549 * dbus/dbus-connection-internal.h: 14550 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport), 14551 (_dbus_connection_get_next_client_serial), 14552 (dbus_connection_send_message): 14553 * dbus/dbus-internals.h: 14554 * dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32), 14555 (dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32), 14556 (_dbus_marshal_uint32), (_dbus_demarshal_double), 14557 (_dbus_demarshal_int32), (_dbus_demarshal_uint32), 14558 (_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos), 14559 (_dbus_verbose_bytes), (_dbus_marshal_test): 14560 * dbus/dbus-marshal.h: 14561 * dbus/dbus-message-internal.h: 14562 * dbus/dbus-message.c: (_dbus_message_set_client_serial), 14563 (dbus_message_write_header), (_dbus_message_lock), 14564 (dbus_message_new), (dbus_message_ref), (dbus_message_unref), 14565 (dbus_message_get_name), (dbus_message_append_int32), 14566 (dbus_message_append_uint32), (dbus_message_append_double), 14567 (dbus_message_append_string), (dbus_message_append_byte_array), 14568 (dbus_message_get_fields_iter), (dbus_message_iter_ref), 14569 (dbus_message_iter_unref), (dbus_message_iter_has_next), 14570 (dbus_message_iter_next), (dbus_message_iter_get_field_type), 14571 (dbus_message_iter_get_string), (dbus_message_iter_get_int32), 14572 (dbus_message_iter_get_uint32), (dbus_message_iter_get_double), 14573 (decode_header_data), (_dbus_message_loader_return_buffer), 14574 (message_iter_test), (_dbus_message_test): 14575 * dbus/dbus-message.h: 14576 * dbus/dbus-protocol.h: 14577 * dbus/dbus-test.c: (main): 14578 * dbus/dbus-test.h: 14579 * glib/test-dbus-glib.c: (message_handler), (main): 14580 * test/echo-client.c: (main): 14581 * test/watch.c: (check_messages): 14582 Make messages sendable and receivable for real. 14583 14584 2003-01-07 Anders Carlsson <andersca (a] codefactory.se> 14585 14586 * dbus/dbus-marshal.c: (_dbus_marshal_double), 14587 (_dbus_marshal_string), (_dbus_marshal_byte_array): 14588 * dbus/dbus-message.c: (dbus_message_append_int32), 14589 (dbus_message_append_uint32), (dbus_message_append_double), 14590 (dbus_message_append_string), (dbus_message_append_byte_array): 14591 Handle OOM restoration. 14592 14593 2003-01-07 Anders Carlsson <andersca (a] codefactory.se> 14594 14595 * dbus/dbus-marshal.c: (_dbus_marshal_string), 14596 (_dbus_demarshal_string), (_dbus_marshal_test): 14597 * dbus/dbus-marshal.h: 14598 * dbus/dbus-message.c: (dbus_message_get_name), 14599 Document these functions. 14600 14601 (dbus_message_append_int32), (dbus_message_append_uint32), 14602 (dbus_message_append_double), (dbus_message_append_string), 14603 (dbus_message_append_byte_array): 14604 * dbus/dbus-message.h: 14605 Add functions for adding message fields of different types. 14606 14607 * dbus/dbus-protocol.h: 14608 Add the different types. 14609 14610 2003-01-05 Havoc Pennington <hp (a] pobox.com> 14611 14612 * bus/connection.c: implement routines for handling connections, 14613 first thing is keeping a list of owned services on each connection 14614 and setting up watches etc. 14615 14616 * bus/services.c: implement a mapping from service names to lists 14617 of connections 14618 14619 * dbus/dbus-hash.c: add DBUS_HASH_POINTER 14620 14621 * dbus/dbus-threads.c (dbus_static_mutex_lock): add functions 14622 to use static mutexes for global data 14623 14624 * dbus/dbus-connection.c (dbus_connection_set_data): add new 14625 collection of functions to set/get application-specific data 14626 on the DBusConnection. 14627 14628 2003-01-04 Havoc Pennington <hp (a] pobox.com> 14629 14630 * dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function 14631 (_dbus_poll): new function 14632 14633 * dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro 14634 copied from GLib 14635 14636 * bus/loop.c: initial code for the daemon main loop 14637 14638 2003-01-04 Havoc Pennington <hp (a] pobox.com> 14639 14640 * test/watch.c (error_handler): make it safe if the error handler 14641 is called multiple times (if we s/error handler/disconnect 14642 handler/ we should just guarantee it's called only once) 14643 14644 * dbus/dbus-transport.c (_dbus_transport_disconnect): call the 14645 error handler on disconnect (it's quite possible we should 14646 just change the error handler to a "disconnect handler," I'm 14647 not sure we have any other meaningful errors) 14648 14649 * configure.in: check for getpwnam_r 14650 14651 * dbus/dbus-transport.c, dbus/dbus-transport-unix.c, 14652 dbus/dbus-auth.c: add credentials support, add EXTERNAL auth 14653 mechanism as in SASL spec, using socket credentials 14654 14655 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function 14656 (_dbus_send_credentials_unix_socket): new function 14657 14658 * dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just 14659 dbus_accept() 14660 (_dbus_write): only check errno if <0 returned 14661 (_dbus_write_two): ditto 14662 14663 2003-01-02 Anders Carlsson <andersca (a] codefactory.se> 14664 14665 * dbus/dbus-marshal.c: (_dbus_marshal_utf8_string), 14666 (_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string), 14667 (_dbus_marshal_test): 14668 * dbus/dbus-marshal.h: 14669 Add _dbus_marshal_byte_array and rename _dbus_marshal_string 14670 to _dbus_marshal_utf8_string. Also fix some tests. 14671 14672 2002-12-28 Harri Porten <porten (a] kde.org> 14673 14674 * configure.in: added check for C++ compiler and a very cheesy 14675 check for the Qt integration 14676 14677 * Makefile.am (SUBDIRS): compile qt subdir if support is enabled 14678 14679 * qt/Makefile.am: added 14680 14681 * qt/.cvsignore: added 14682 14683 * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to 14684 latter, added #ifdef QT_THREAD_SUPPORT guard. 14685 14686 * dbus/Makefile.am: added missing headers for make dist 14687 14688 2002-12-28 Kristian Rietveld <kris (a] gtk.org> 14689 14690 * dbus/Makefile.am: fixup export-symbols-regex. 14691 14692 2002-12-27 Anders Carlsson <andersca (a] codefactory.se> 14693 14694 * acinclude.m4: Add this file and put the 14695 PKG_CHECK_MODULE macro in it. 14696 14697 2002-12-27 Anders Carlsson <andersca (a] codefactory.se> 14698 14699 * dbus/dbus-marshal.c: (_dbus_marshal_string), 14700 (_dbus_demarshal_double), (_dbus_demarshal_int32), 14701 (_dbus_demarshal_uint32), (_dbus_demarshal_string), 14702 (_dbus_marshal_test): 14703 Make the demarshalling routines align the pos argument. 14704 Add string marshalling tests and fix the obvious bugs 14705 discovered. 14706 14707 2002-12-26 Havoc Pennington <hp (a] pobox.com> 14708 14709 * dbus/dbus-auth.c: fixes fixes fixes 14710 14711 * dbus/dbus-transport-unix.c: wire up support for 14712 encoding/decoding data on the wire 14713 14714 * dbus/dbus-auth.c (_dbus_auth_encode_data) 14715 (_dbus_auth_decode_data): append to target string 14716 instead of nuking it. 14717 14718 2002-12-26 Havoc Pennington <hp (a] pobox.com> 14719 14720 * dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef 14721 WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN, 14722 doh 14723 14724 * dbus/dbus-marshal.c: Add macros to do int swapping in-place and 14725 avoid swap_bytes() overhead (ignoring possible assembly stuff for 14726 now). Main point is because I wanted unpack_uint32 to implement 14727 _dbus_verbose_bytes 14728 (_dbus_verbose_bytes): new function 14729 14730 * dbus/dbus-string.c (_dbus_string_validate_ascii): new function 14731 14732 * dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add 14733 mechanism to handle a corrupt message stream 14734 (_dbus_message_loader_new): fix preallocation to only prealloc, 14735 not prelengthen 14736 14737 * dbus/dbus-string.c (_dbus_string_skip_blank): fix this function 14738 (_dbus_string_test): enhance tests for copy/move and fix the 14739 functions 14740 14741 * dbus/dbus-transport-unix.c: Hold references in more places to 14742 avoid reentrancy problems 14743 14744 * dbus/dbus-transport.c: ditto 14745 14746 * dbus/dbus-connection.c (dbus_connection_dispatch_message): don't 14747 leak reference count in no-message case 14748 14749 * test/watch.c (do_mainloop): handle adding/removing watches 14750 during iteration over the watches. Also, ref the connection/server 14751 stored on a watch, so we don't try to mangle a destroyed one. 14752 14753 * dbus/dbus-transport-unix.c (do_authentication): perform 14754 authentication 14755 14756 * dbus/dbus-auth.c (get_state): add a state 14757 AUTHENTICATED_WITH_UNUSED_BYTES and return it if required 14758 (_dbus_auth_get_unused_bytes): append the unused bytes 14759 to the passed in string, rather than prepend 14760 14761 * dbus/dbus-transport.c (_dbus_transport_init_base): create 14762 the auth conversation DBusAuth 14763 14764 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd) 14765 (_dbus_transport_new_for_domain_socket): when creating a 14766 transport, pass in whether it's a client-side or server-side 14767 transport so we know which DBusAuth to create 14768 14769 2002-12-03 Havoc Pennington <hp (a] pobox.com> 14770 14771 * dbus/dbus-transport-unix.c (unix_finalize): finalize base 14772 _after_ finalizing the derived members 14773 (unix_connection_set): unref watch if we fail to add it 14774 14775 * dbus/dbus-connection.c (dbus_connection_unref): delete the 14776 transport first, so that the connection owned by the 14777 transport will be valid as the transport finalizes. 14778 14779 * dbus/dbus-transport-unix.c (unix_finalize): free the write_watch 14780 if necessary, and remove watches from the connection. 14781 14782 * dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment 14783 14784 2002-12-26 Anders Carlsson <andersca (a] codefactory.se> 14785 14786 * dbus/dbus-marshal.c: (_dbus_marshal_string), 14787 (_dbus_demarshal_double), (_dbus_demarshal_int32), 14788 (_dbus_demarshal_uint32), (_dbus_demarshal_string), 14789 (_dbus_marshal_test): 14790 * dbus/dbus-marshal.h: 14791 Add string marshal functions and have the demarshal functions 14792 return the new position. 14793 14794 2002-12-25 Havoc Pennington <hp (a] pobox.com> 14795 14796 * doc/dbus-sasl-profile.txt: docs on the authentication protocol, 14797 it is a simple protocol that just maps directly to SASL. 14798 14799 * dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol 14800 initial implementation, not actually used yet. 14801 14802 * dbus/dbus-string.c (_dbus_string_find): new function 14803 (_dbus_string_equal): new function 14804 (_dbus_string_base64_encode): new function 14805 (_dbus_string_base64_decode): new function 14806 14807 2002-12-25 Anders Carlsson <andersca (a] codefactory.se> 14808 14809 * dbus/Makefile.am: 14810 * dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double), 14811 (_dbus_marshal_int32), (_dbus_marshal_uint32), 14812 (_dbus_demarshal_double), (_dbus_demarshal_int32), 14813 (_dbus_demarshal_uint32), (_dbus_marshal_test): 14814 * dbus/dbus-marshal.h: 14815 * dbus/dbus-protocol.h: 14816 * dbus/dbus-test.c: (main): 14817 * dbus/dbus-test.h: 14818 Add un-optimized marshalling/demarshalling routines. 14819 14820 2002-12-25 Harri Porten <porten (a] kde.org> 14821 14822 * qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions 14823 14824 2002-12-24 Zack Rusin <zack (a] kde.org> 14825 14826 * qt/dbus-qthread.cc: adding - integrates QMutex into Dbus 14827 * qt/dbus-qt.h: skeleton with two sample implemenatation of the 14828 main loop stuff 14829 14830 2002-12-24 Havoc Pennington <hp (a] pobox.com> 14831 14832 * glib/dbus-gthread.c: fix include 14833 14834 * glib/dbus-glib.h: rename DBusMessageHandler for now. 14835 I think glib API needs to change, though, as you don't 14836 want to use DBusMessageFunction, you want to use the 14837 DBusMessageHandler object. Probably 14838 dbus_connection_open_with_g_main_loop() 14839 and dbus_connection_setup_g_main_loop() or something like that 14840 (but think of better names...) that just create a connection 14841 that has watch/timeout functions etc. already set up. 14842 14843 * dbus/dbus-connection.c 14844 (dbus_connection_send_message_with_reply): new function just to 14845 show how the message handler helps us deal with replies. 14846 14847 * dbus/dbus-list.c (_dbus_list_remove_last): new function 14848 14849 * dbus/dbus-string.c (_dbus_string_test): free a string that 14850 wasn't 14851 14852 * dbus/dbus-hash.c: use memory pools for the hash entries 14853 (rebuild_table): be more paranoid about overflow, and 14854 shrink table when we can 14855 (_dbus_hash_test): reduce number of sprintfs and write 14856 valid C89. Add tests for case where we grow and then 14857 shrink the hash table. 14858 14859 * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools 14860 14861 * dbus/dbus-connection.c (dbus_connection_register_handler) 14862 (dbus_connection_unregister_handler): new functions 14863 14864 * dbus/dbus-message.c (dbus_message_get_name): new 14865 14866 * dbus/dbus-list.c: fix docs typo 14867 14868 * dbus/dbus-message-handler.h, dbus/dbus-message-handler.c: 14869 an object representing a handler for messages. 14870 14871 2002-12-16 Anders Carlsson <andersca (a] codefactory.se> 14872 14873 * glib/dbus-glib.h: 14874 * glib/dbus-gthread.c: (dbus_gthread_init): 14875 Don't use the gdbus prefix for public functions. 14876 14877 2002-12-16 Anders Carlsson <andersca (a] codefactory.se> 14878 14879 * Makefile.am: 14880 * configure.in: 14881 Add GLib checks and fixup .pc files 14882 14883 * glib/Makefile.am: 14884 * glib/dbus-glib.h: 14885 * glib/dbus-gmain.c: (gdbus_connection_prepare), 14886 (gdbus_connection_check), (gdbus_connection_dispatch), 14887 (gdbus_add_connection_watch), (gdbus_remove_connection_watch), 14888 (dbus_connection_gsource_new): 14889 * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free), 14890 (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init): 14891 * glib/test-dbus-glib.c: (message_handler), (main): 14892 Add GLib support. 14893 14894 2002-12-15 Harri Porten <porten (a] kde.org> 14895 14896 * autogen.sh: check for libtoolize before attempting to use it 14897 14898 * dbus/dbus-transport-unix.c: include <sys/time.h> for timeval 14899 struct. 14900 14901 * .cvsignore: ignore more stamp files 14902 14903 * dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error 14904 14905 * test/Makefile.am: added -I$(top_srcdir) to be able to compile 14906 without make install. 14907 14908 2002-12-15 Havoc Pennington <hp (a] pobox.com> 14909 14910 * dbus/dbus-threads.c: add thread stubs that a higher library 14911 layer can fill in. e.g. the GLib wrapper might fill them in with 14912 GThread stuff. We still need to use this thread API to 14913 thread-safe-ize the library. 14914 14915 2002-12-12 Havoc Pennington <hp (a] pobox.com> 14916 14917 * dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the 14918 below new interfaces and include fewer system headers. 14919 14920 * dbus/dbus-sysdeps.c (_dbus_read): new function 14921 (_dbus_write): new function 14922 (_dbus_write_two): new function 14923 (_dbus_connect_unix_socket): new function 14924 (_dbus_listen_unix_socket): new function 14925 14926 * dbus/dbus-message-internal.h: change interfaces to use 14927 DBusString 14928 14929 2002-12-11 Havoc Pennington <hp (a] pobox.com> 14930 14931 * dbus/dbus-types.h: add dbus_unichar 14932 14933 * dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv 14934 14935 * dbus/dbus-connection.c (dbus_connection_send_message): return 14936 TRUE on success 14937 14938 * dbus/dbus-transport.c: include dbus-watch.h 14939 14940 * dbus/dbus-connection.c: include dbus-message-internal.h 14941 14942 * HACKING: add file with coding guidelines stuff. 14943 14944 * dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string 14945 handling here, for security purposes (as in vsftpd). Not actually 14946 using this class yet. 14947 14948 * dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all 14949 system/libc usage here, as in vsftpd, for ease of auditing (and 14950 should also simplify portability). Haven't actually moved all the 14951 system/libc usage into here yet. 14952 14953 2002-11-25 Havoc Pennington <hp (a] pobox.com> 14954 14955 * dbus/dbus-internals.c (_dbus_verbose): fix to not 14956 always print the first verbose message. 14957 14958 2002-11-24 Havoc Pennington <hp (a] pobox.com> 14959 14960 * test/echo-client.c, test/echo-server.c: cheesy test 14961 clients. 14962 14963 * configure.in (AC_CHECK_FUNCS): check for writev 14964 14965 * dbus/dbus-message.c (_dbus_message_get_network_data): new 14966 function 14967 14968 * dbus/dbus-list.c (_dbus_list_foreach): new function 14969 14970 * dbus/dbus-internals.c (_dbus_verbose): new function 14971 14972 * dbus/dbus-server.c, dbus/dbus-server.h: public object 14973 representing a server that listens for connections. 14974 14975 * dbus/.cvsignore: create 14976 14977 * dbus/dbus-errors.h, dbus/dbus-errors.c: 14978 public API for reporting errors 14979 14980 * dbus/dbus-connection.h, dbus/dbus-connection.c: 14981 public object representing a connection that 14982 sends/receives messages. (Same object used for 14983 both client and server.) 14984 14985 * dbus/dbus-transport.h, dbus/dbus-transport.c: 14986 Basic abstraction for different kinds of stream 14987 that we might read/write messages from. 14988 14989 2002-11-23 Havoc Pennington <hp (a] pobox.com> 14990 14991 * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN 14992 _DBUS_INT_MAX 14993 14994 * dbus/dbus-test.c (main): add list test, and include 14995 dbus-test.h as intended 14996 14997 * dbus/dbus-hash.c (_dbus_hash_table_remove_string) 14998 (_dbus_hash_table_remove_int): return value indicates 14999 whether the entry existed to remove 15000 15001 * dbus/dbus-list.c: add linked list utility class, 15002 with docs and tests 15003 15004 * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket 15005 array sometimes. 15006 15007 2002-11-23 Havoc Pennington <hp (a] pobox.com> 15008 15009 * Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/ 15010 DBUS_END_DECLS to nothing, that should fix this once and for all 15011 15012 * Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES 15013 15014 * dbus/dbus-message.c, dbus/dbus-hash.c: 15015 add some missing @brief 15016 15017 2002-11-23 Havoc Pennington <hp (a] pobox.com> 15018 15019 * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS 15020 to avoid confusing Doxygen 15021 15022 * dbus/dbus-hash.c: @} not }@ 15023 15024 * dbus/dbus-message.c (struct DBusMessage): split out 15025 internals docs 15026 15027 2002-11-23 Havoc Pennington <hp (a] pobox.com> 15028 15029 * configure.in: pile on more warning flags if using gcc 15030 15031 * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have 15032 to document static functions 15033 15034 * configure.in: add summary to end of configure so it 15035 looks nice and attractive 15036 15037 * dbus/dbus-hash.c: finish implementation and write unit 15038 tests and docs 15039 15040 * configure.in: add --enable-tests to enable unit tests 15041 15042 * dbus/dbus-test.c: test program to run unit tests 15043 for all files in dbus/*, initially runs a test for 15044 dbus-hash.c 15045 15046 * dbus/dbus-internals.h: file to hold some internal utility stuff 15047 15048 2002-11-22 Havoc Pennington <hp (a] redhat.com> 15049 15050 * dbus/dbus-hash.c: copy in Tcl hash table, not yet 15051 "ported" away from Tcl 15052 15053 * dbus/dbus-types.h: header for types such as dbus_bool_t 15054 15055 2002-11-22 Havoc Pennington <hp (a] redhat.com> 15056 15057 * dbus/dbus.h: fixups for doc warnings 15058 15059 * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up 15060 macros 15061 (QUIET): make it quiet so we can see warnings 15062 15063 * dbus/dbus-memory.c: teach D-BUS to allocate and free memory 15064 15065 2002-11-22 Havoc Pennington <hp (a] redhat.com> 15066 15067 * Makefile.am: include "Doxyfile" target in all-local 15068 15069 * configure.in: generate the Doxyfile 15070 15071 * Doxyfile.in: move Doxyfile here, so we can use 15072 configure to generate a Doxyfile with the right 15073 version number etc. 15074 15075 2002-11-22 Havoc Pennington <hp (a] redhat.com> 15076 15077 * dbus/dbus-message.c: move inline docs into .c file 15078 15079 * Doxyfile (OUTPUT_DIRECTORY): move output to doc/api 15080 so all docs are under doc/ 15081 (MAN_EXTENSION): generate man pages. Use extension 15082 ".3dbus" which matches ".3qt" on my system, 15083 I guess this is OK, I don't know really. 15084 (FILE_PATTERNS): look for .c files not .h, makes sense 15085 for plain C I think 15086 15087 2002-11-22 Havoc Pennington <hp (a] pobox.com> 15088 15089 * Makefile.am (SUBDIRS): rename subdir "server" to "bus" 15090 because any app can be a server, and any app can be a client, 15091 the bus is a special kind of server. 15092 15093 Thu Nov 21 23:35:31 2002 Zack Rusin <zack (a] kde.org> 15094 15095 * Doxyfile : adding. Still needs Makefile rules to be generated 15096 automatically (just run "doxygen" in the toplevel dir for now to 15097 generate docs) 15098 15099 * dbus/dbus-message.h : Adding sample docs (javadoc since 15100 resembles gtk-doc a little more) 15101 15102 * dbus/dbus.h : Adding sample docs 15103 15104 2002-11-21 Havoc Pennington <hp (a] redhat.com> 15105 15106 * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION 15107 so we can allow ourselves to include files directly, 15108 instead of having to use dbus.h 15109 15110 * dbus/dbus.h: fill in 15111 15112 * dbus/dbus-message.h: sketch out a sample header file. 15113 Include griping if you include it directly instead of 15114 via dbus.h 15115 15116 * dbus/dbus-macros.h: new file with macros for extern "C", 15117 TRUE/FALSE, NULL, etc. 15118 15119 * doc/file-boilerplate.c: put include guards in here 15120 15121 2002-11-21 Havoc Pennington <hp (a] redhat.com> 15122 15123 * doc/file-boilerplate.c: include both AFL and GPL boilerplate. 15124 15125 * COPYING: include the GPL as well, and license code 15126 under both AFL and GPL. 15127 15128 2002-11-21 Havoc Pennington <hp (a] redhat.com> 15129 15130 * acconfig.h: get rid of this 15131 15132 * autogen.sh (run_configure): add --no-configure option 15133 15134 * configure.in: remove AC_ARG_PROGRAM to make 15135 autoconf complain less. add AC_PREREQ. 15136 add AC_DEFINE third arg. 15137 15138 2002-11-21 Anders Carlsson <andersca (a] codefactory.se> 15139 15140 * doc/Makefile.am: 15141 Fix references so we can distcheck. 15142 15143 2002-11-21 Havoc Pennington <hp (a] redhat.com> 15144 15145 * Initial module creation 15146 15147