1 2003-03-31 Havoc Pennington <hp@redhat.com>
3 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
4 DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
5 having a real home directory available.
7 2003-03-31 Havoc Pennington <hp@redhat.com>
9 * bus/Makefile.am (install-data-hook): create /var/run/dbus
11 * bus/messagebus.in: add init script for Red Hat /etc/init.d
13 * configure.in: add support for specifying a style of init script
16 2003-03-31 Havoc Pennington <hp@redhat.com>
18 Fix some annoying DBusString API and fix all affected code.
20 * dbus/dbus-string.c (_dbus_string_init): get rid of annoying
22 (_dbus_string_get_data): change to return string instead of using
24 (_dbus_string_get_const_data): ditto
25 (_dbus_string_get_data_len): ditto
26 (_dbus_string_get_const_data_len): ditto
28 2003-03-31 Havoc Pennington <hp@redhat.com>
30 * bus/main.c (main): fix up the command line arguments to be nicer
32 2003-03-31 Havoc Pennington <hp@redhat.com>
34 * dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
35 define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
36 final location that lands in the config file
38 * bus/config-loader-expat.c (bus_config_load): fix type of
41 * doc/TODO: remove TODO item for dbus_bus_get()
43 * dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
45 2003-03-31 Havoc Pennington <hp@pobox.com>
47 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
48 (_dbus_transport_new_for_tcp_socket): these didn't need the "server"
49 argument since they are always client side
51 * dbus/dbus-server.c (dbus_server_get_address): new function
53 * bus/main.c (main): take the configuration file as an argument.
55 * test/data/valid-config-files/debug-allow-all.conf: new file to
56 use with dispatch.c tests for example
58 * bus/test-main.c (main): require test data dir
60 * bus/bus.c (bus_context_new): change this to take a
61 configuration file name as argument
63 * doc/config-file.txt (Elements): add <servicedir>
65 * bus/system.conf, bus/session.conf: new files
67 * dbus/dbus-bus.c (dbus_bus_get): look for system bus on
68 well-known socket if none set
70 * configure.in: create system.conf and session.conf
72 2003-03-30 Havoc Pennington <hp@pobox.com>
74 * bus/config-parser.c: hacking
76 * dbus/dbus-memory.c: don't use DBusList for the list of stuff
77 to shut down, since it could cause weirdness with the DBusList
80 * dbus/dbus-list.c (_dbus_list_test): add tests for the
81 link-oriented stack routines
82 (alloc_link): free the mempool if the first alloc from it fails
84 * dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
86 * dbus/dbus-string.c (UNICODE_VALID): sync new version of this
88 (_dbus_string_skip_white): new
90 * doc/config-file.txt (Elements): add <includedir>
92 2003-03-28 Havoc Pennington <hp@pobox.com>
94 * dbus/dbus-string.c (_dbus_string_copy_data_len)
95 (_dbus_string_copy_data): new functions
97 2003-03-28 Anders Carlsson <andersca@codefactory.se>
99 * dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
103 * dbus/dbus-memory.c:
106 2003-03-28 Havoc Pennington <hp@pobox.com>
108 * bus/test.c (bus_test_flush_bus): remove the sleep from here,
109 I think it may have just been superstition. Not sure.
111 * dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
112 failures that were not being handled.
114 * dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
116 * dbus/dbus-memory.c: add ability to set number of mallocs in a
117 row that will fail on out-of-memory.
119 * dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
120 function for testing out-of-memory handling.
122 * bus/config-loader-expat.c (memsuite): don't wrap the dbus
123 allocation functions, they do map exactly to the expat ones.
125 2003-03-27 Havoc Pennington <hp@redhat.com>
127 * bus/config-loader-libxml.c (bus_config_load): add another error
130 2003-03-26 Anders Carlsson <andersca@codefactory.se>
133 Add note about automatic service activation.
135 * doc/dbus-specification.sgml:
136 Rename the specification and clarify a few things.
138 2003-03-26 Anders Carlsson <andersca@codefactory.se>
141 * dbus/dbus-address.c:
143 * dbus/dbus-marshal.c:
144 * dbus/dbus-server-debug-pipe.c:
145 * dbus/dbus-transport-unix.c:
146 Fix documentation warnings.
148 2003-03-26 Havoc Pennington <hp@pobox.com>
150 * bus/test-main.c, dbus/dbus-test.c (main): check memleaks
151 after every test so it's quick and easy to see which leaked, and
152 so we test multiple dbus_shutdown() calls
154 * configure.in: change configure.in XML stuff to also support
157 * config-loader-libxml.c: some hacking
159 * config-loader-expat.c: some hacking
161 * config-parser.c: some hacking, plus tests
163 2003-03-25 Havoc Pennington <hp@redhat.com>
165 * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
167 * configure.in: add --with-xml option to specify XML library,
168 right now only libxml is supported.
170 * bus/config-loader-libxml.c, config-parser.c: sync some minor
171 nonworking code between home and work, still just stubs
173 2003-03-24 Havoc Pennington <hp@redhat.com>
175 * dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
178 * dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
179 NULL argument for "message" if the error is a well-known one,
180 fill in a generic message in this case.
182 * dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
185 * bus/test.c (bus_test_flush_bus): add
187 * bus/policy.c (bus_policy_test): test code stub
189 2003-03-24 Havoc Pennington <hp@pobox.com>
191 * bus/connection.c (bus_connections_setup_connection): set up
192 the "can this user connect" function, but it always returns
193 TRUE until we have a config file parser so we can have a config
194 file that allows connections.
196 2003-03-23 Havoc Pennington <hp@pobox.com>
198 * dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
199 DBUS_BUILD_TESTS, actually alloc/free a block of memory for
200 the mutex, so we can check for proper memory management
203 * dbus/dbus-dataslot.c: remove the mutex from
204 DBusDataSlotAllocator and lock it manually when using it,
205 to simplify fitting it into the global slots framework.
207 * dbus/dbus-threads.c (init_static_locks): rework how we're
208 handling global locks so they are easily shut down.
210 * bus/policy.c (bus_policy_append_rule): fix
212 * bus/test-main.c (main): check for memleaks
214 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
215 test suite check for memleaks
217 * dbus/dbus-memory.c: add support in test mode for tracking
218 number of outstanding blocks
220 2003-03-23 Havoc Pennington <hp@pobox.com>
222 * bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
225 * dbus/dbus-hash.h: add ULONG hash keys
227 * dbus/dbus-sysdeps.c (_dbus_get_groups): new
228 (_dbus_get_group_id): new function
230 2003-03-20 Havoc Pennington <hp@redhat.com>
232 * dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
234 (dbus_connection_get_unix_user): new function
236 2003-03-20 Havoc Pennington <hp@pobox.com>
238 * bus/connection.c (bus_connection_send_oom_error): assert that
240 (connection_execute_transaction): ditto
241 (bus_connection_preallocate_oom_error): fix to set the sender, and
242 set recipient to the destination service, not the bus driver
244 * bus/policy.c: hacking
246 * dbus/dbus-message.c (dbus_message_service_is): new function
247 (dbus_message_sender_is): new
249 2003-03-19 Havoc Pennington <hp@redhat.com>
251 * bus/policy.c: start sketching code for policy restrictions on
252 what connections can do.
254 2003-03-18 Havoc Pennington <hp@redhat.com>
256 * doc/TODO: some notes on high-level todo items. Little nitpick
257 stuff is all in @todo, so no need to add it here.
259 * doc/config-file.txt: some notes on how config file might look
261 2003-03-18 Anders Carlsson <andersca@codefactory.se>
267 2003-03-17 Havoc Pennington <hp@redhat.com>
269 * dbus/dbus-internals.h: add gcc attributes so that
270 our printf-style functions warn on bad arguments to
273 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
276 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
279 2003-03-17 Havoc Pennington <hp@redhat.com>
281 * bus/test-main.c (main): make it print something as it runs
282 so make check doesn't look stuck
284 * doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
285 from CVS, now obsolete
287 2003-03-17 Anders Carlsson <andersca@codefactory.se>
289 * bus/dispatch.c: (bus_dispatch):
290 Refetch the service name since it may have been reallocated
291 when dbus_message_set_sender was called.
293 * dbus/dbus-sysdeps.c: (_dbus_accept):
294 Add address and address length variables and use them to stop
295 valgrind from complaining.
297 2003-03-17 Havoc Pennington <hp@pobox.com>
299 All tests pass, no memleaks, no valgrind complaints.
301 * bus/test.c: refcount handler_slot
303 * bus/connection.c (bus_connections_new): refcount
306 * dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
307 bytes so that auth scripts pass.
309 * bus/dispatch.c: init message_handler_slot so it gets allocated
312 * bus/dispatch.c (message_handler_slot_ref): fix memleak
314 * dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
315 dealloc server_pipe_hash when no longer used for benefit of
318 * dbus/dbus-auth.c (process_command): memleak fix
320 * bus/dispatch.c (check_hello_message): memleak fix
322 2003-03-16 Havoc Pennington <hp@pobox.com>
324 * dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
326 2003-03-17 Anders Carlsson <andersca@codefactory.se>
328 * bus/activation.c (bus_activation_activate_service): Append
329 the pending activation entry to the list of pending activations.
331 2003-03-16 Havoc Pennington <hp@pobox.com>
333 * bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
336 * dbus/dbus-address.c (create_entry): fix OOM handling when
337 failing to alloc entry->method
339 2003-03-16 Havoc Pennington <hp@pobox.com>
341 * dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
344 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
345 add some missing dbus_set_result
347 * bus/dispatch.c (bus_dispatch_add_connection): handle failure to
348 alloc the DBusMessageHandler
350 * dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
351 the transport here, since we call this from the finalizer; it
352 resulted in a double-finalize.
354 * dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
355 where we tried to use transport->connection that was NULL,
356 happened when transport was disconnected early on due to OOM
358 * bus/*.c: adapt to handle OOM for watches/timeouts
360 * dbus/dbus-transport-unix.c: port to handle OOM during
363 * dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
364 reference to unused bytes instead of a copy
366 * dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
369 * dbus/dbus-connection.c (dbus_connection_handle_watch): return
372 * dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
375 2003-03-16 Anders Carlsson <andersca@codefactory.se>
377 * doc/dbus-specification.sgml:
378 Document reply message for ActivateService.
380 2003-03-16 Anders Carlsson <andersca@codefactory.se>
382 * bus/activation.c: (bus_pending_activation_entry_free),
383 (bus_pending_activation_free), (bus_activation_new),
384 (bus_activation_unref), (bus_activation_service_created),
385 (bus_activation_activate_service):
387 * bus/bus.c: (bus_context_new):
388 * bus/desktop-file.c: (new_section):
389 * bus/driver.c: (bus_driver_send_service_deleted),
390 (bus_driver_handle_activate_service):
391 * bus/services.c: (bus_registry_new), (bus_registry_ensure):
393 * dbus/dbus-connection.c:
394 (dbus_connection_send_with_reply_and_block):
395 * dbus/dbus-message.c: (dbus_message_append_args_valist):
396 * dbus/dbus-protocol.h:
397 Make activation work better. Now pending activations will be queued
398 and the daemon won't try to activate services that are already registered.
400 2003-03-16 Havoc Pennington <hp@pobox.com>
402 * dbus/dbus-bus.c (ensure_bus_data): handle failure to set
405 * dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
406 DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
408 2003-03-16 Havoc Pennington <hp@pobox.com>
410 * dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
411 this. always run the test suite before commit...
413 * bus/*: adapt to DBusConnection API changes
415 * glib/dbus-gmain.c: adapt to DBusConnection API changes,
416 requires renaming stuff to avoid dbus_connection_dispatch name
419 * dbus/dbus-transport.c (_dbus_transport_queue_messages): new
422 * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
423 separate from _dbus_message_loader_return_buffer()
425 * dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
426 this, because it's now always broken to use; the number of
427 messages in queue vs. the number still buffered by the message
428 loader is undefined/meaningless. Should use
429 dbus_connection_get_dispatch_state().
430 (dbus_connection_dispatch): rename from
431 dbus_connection_dispatch_message
433 2003-03-16 Havoc Pennington <hp@pobox.com>
435 * dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
438 2003-03-16 Anders Carlsson <andersca@codefactory.se>
440 * dbus/dbus-connection.c:
441 (dbus_connection_send_with_reply_and_block):
442 Decrease connection->n_incoming when removing an entry
444 * dbus/dbus-dict.c: (dbus_dict_entry_free),
445 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
446 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
447 (dbus_dict_set_byte_array), (dbus_dict_set_string_array),
448 (dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
449 (dbus_dict_get_byte_array):
450 Handle NULL arrays and strings. Also add support for byte arrays.
452 * dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
453 (_dbus_marshal_dict), (_dbus_demarshal_byte_array),
454 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
455 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
456 (_dbus_demarshal_dict), (demarshal_and_validate_len),
457 (_dbus_marshal_validate_arg), (_dbus_marshal_test):
458 * dbus/dbus-marshal.h:
459 Add support for marshalling and demarshalling empty arrays and strings.
461 * dbus/dbus-message.c: (dbus_message_append_args_valist),
462 (dbus_message_append_string_array),
463 (dbus_message_iter_get_boolean),
464 (dbus_message_iter_get_boolean_array),
465 (dbus_message_iter_get_int32_array),
466 (dbus_message_iter_get_uint32_array),
467 (dbus_message_iter_get_double_array),
468 (dbus_message_iter_get_byte_array),
469 (dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
470 (check_message_handling):
471 Add support for getting empty arrays and dicts.
473 * dbus/dbus-string.c: (_dbus_string_validate_utf8):
474 Don't do any validation at all for now, that's better than just checking
477 * test/data/valid-messages/emptiness.message:
478 New test message with lots of empty arrays.
480 2003-03-16 Havoc Pennington <hp@pobox.com>
482 * dbus/dbus-connection.c
483 (_dbus_connection_queue_received_message_link): new function that
484 can't fail due to OOM
486 * dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
487 new function pops a message together with a list link
490 * dbus/dbus-transport-unix.c (queue_messages): use new link-based
491 message queuing functions to avoid needing to alloc memory
493 2003-03-16 Havoc Pennington <hp@pobox.com>
495 Oops - test code was only testing failure of around 30 of the
496 mallocs in the test path, but it turns out there are 500+
497 mallocs. I believe this was due to misguided linking setup such
498 that there was one copy of dbus_malloc etc. in the daemon and one
499 in the shared lib, and only daemon mallocs were tested. In any
500 case, the test case now tests all 500+ mallocs, and doesn't pass
501 yet, though there are lots of fixes in this patch.
503 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
504 this so that it doesn't need to allocate memory, since it
505 has no way of indicating failure due to OOM (and would be
508 * dbus/dbus-list.c (_dbus_list_pop_first_link): new function
510 * bus/Makefile.am: rearrange to create two self-contained
511 libraries, to avoid having libraries with overlapping symbols.
512 that was resulting in weirdness, e.g. I'm pretty sure there
513 were two copies of global static variables.
515 * dbus/dbus-internals.c: move the malloc debug stuff to
518 * dbus/dbus-list.c (free_link): free list mempool if it becomes
521 * dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
523 * dbus/dbus-address.c (dbus_parse_address): free list nodes
526 * bus/dispatch.c (bus_dispatch_add_connection): free
527 message_handler_slot when no longer using it, so
528 memory leak checkers are happy for the test suite.
530 * dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
532 * bus/bus.c (new_connection_callback): disconnect in here if
533 bus_connections_setup_connection fails.
535 * bus/connection.c (bus_connections_unref): fix to free the
537 (bus_connections_setup_connection): if this fails, don't
538 disconnect the connection, just be sure there are no side
541 * dbus/dbus-string.c (undo_alignment): unbreak this
543 * dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
545 (_dbus_auth_new): fix the order in which we free strings
548 * bus/connection.c (bus_connection_disconnected): fix to
549 not send ServiceDeleted multiple times in case of memory
552 * dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
553 get the base service name
554 (dbus_bus_register_client): don't return base service name,
555 instead store it on the DBusConnection and have an accessor
557 (dbus_bus_register_client): rename dbus_bus_register()
559 * bus/dispatch.c (check_hello_message): verify that other
560 connections on the bus also got the correct results, not
561 just the one sending hello
563 2003-03-15 Havoc Pennington <hp@pobox.com>
565 Make it pass the Hello handling test including all OOM codepaths.
566 Now to do other messages...
568 * bus/services.c (bus_service_remove_owner): fix crash when
569 removing owner from an empty list of owners
570 (bus_registry_ensure): don't leave service in the list of
571 a connection's owned services if we fail to put the service
574 * bus/connection.c (bus_connection_preallocate_oom_error): set
575 error flag on the OOM error.
577 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
578 handle _dbus_transport_set_connection failure
580 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
581 to create watches up front and simply enable/disable them as
583 (unix_connection_set): this can now fail on OOM
585 * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
586 of enabling/disabling a watch or timeout.
588 * bus/loop.c (bus_loop_iterate): don't touch disabled
591 * glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
593 2003-03-15 Havoc Pennington <hp@pobox.com>
595 * bus/dispatch.c (bus_dispatch_test): OK, now finally actually
596 write useful test code, after all that futzing around ;-)
598 Test does not yet pass because we can't handle OOM in
599 _dbus_transport_messages_pending (basically,
600 dbus_connection_preallocate_send() does not prealloc the write
601 watch). To fix this, I think we need to add new stuff to
602 set_watch_functions, namely a SetEnabled function so we can alloc
603 the watch earlier, then enable it later.
605 * dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
606 dbus-memory.c to the convenience lib
608 * bus/test.c: rename some static functions to keep them clearly
609 distinct from stuff in connection.c. Handle client disconnection.
611 2003-03-14 Havoc Pennington <hp@pobox.com>
613 * bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
614 transport, tests more of the real codepath. Set up clients
615 with bus_setup_debug_client.
617 * bus/test.c (bus_setup_debug_client): function to set up debug
618 "clients" on the main loop
620 * dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
623 * dbus/dbus-server.c (dbus_server_listen): add debug-pipe
626 * dbus/dbus-server-debug.c: support a debug server based on pipes
628 * dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
629 (_dbus_close): new function
631 * configure.in: check for socketpair
633 2003-03-14 Havoc Pennington <hp@redhat.com>
635 * dbus/dbus-memory.c: add a "detect buffer overwrites on free"
638 * dbus/dbus-transport-debug.c: rework this a good bit to be
639 less complicated. hopefully still works.
641 * dbus/dbus-server-debug.c (handle_new_client): remove timeout
644 * glib/dbus-gmain.c (timeout_handler): don't remove timeout
647 * dbus/dbus-message.c (dbus_message_copy): rename from
648 dbus_message_new_from_message, fix it up to copy
649 all the message fields, add test case
651 * bus/dispatch.c (bus_dispatch_test): add some more test code,
652 not quite passing yet
654 2003-03-14 Havoc Pennington <hp@pobox.com>
656 * bus/loop.c (bus_loop_iterate): add this so we can "run loop
657 until no work remains" in test code. (the large diff here
658 is just code movement, no actual changes)
660 * dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
661 1, no point waiting around for test code.
662 (_dbus_server_debug_accept_transport): unref the timeout
663 after adding it (right?)
665 * dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
667 2003-03-13 Havoc Pennington <hp@redhat.com>
669 * dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
672 * dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
675 * dbus/dbus-connection.h: Make AddWatchFunction and
676 AddTimeoutFunction return a bool so they can fail on out-of-memory
678 * bus/bus.c (bus_context_new): set up timeout handlers
680 * bus/connection.c (bus_connections_setup_connection): set up
683 * glib/dbus-gmain.c: adapt to the fact that set_functions stuff
686 * bus/bus.c (bus_context_new): adapt to changes
688 * bus/connection.c: adapt to changes
690 * test/watch.c: adapt to DBusWatch changes
692 * bus/dispatch.c (bus_dispatch_test): started adding this but
695 2003-03-14 Anders Carlsson <andersca@codefactory.se>
697 * bus/dispatch.c (send_service_nonexistent_error): Fix typo.
699 2003-03-13 Havoc Pennington <hp@pobox.com>
701 * bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
702 set up a test framework as for the library
704 2003-03-12 Havoc Pennington <hp@pobox.com>
706 Throughout: purge global variables, introduce BusActivation,
707 BusConnections, BusRegistry, etc. objects instead.
709 * bus/bus.h, bus/bus.c: introduce BusContext as a global
712 * test/Makefile.am (TEST_BINARIES): disable bus-test for now,
713 going to redo this a bit differently I think
715 2003-03-12 Havoc Pennington <hp@redhat.com>
717 Mega-patch that gets the message bus daemon initially handling
718 out-of-memory. Work still needed. Also lots of random
719 moving stuff to DBusError instead of ResultCode.
721 * dbus/dbus-list.c (_dbus_list_length_is_one): new function
723 * dbus/dbus-connection.c
724 (dbus_connection_send_with_reply_and_block): use DBusError
726 * dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
729 * dbus/dbus-connection.c (dbus_connection_send): drop the result
730 code here, as the only failure possible is OOM.
732 * bus/connection.c (bus_connection_disconnect):
733 rename bus_connection_disconnected as it's a notification only
735 * bus/driver.c (bus_driver_handle_acquire_service): don't free
736 "name" on get_args failure, should be done by get_args;
737 don't disconnect client for bad args, just return an error.
738 (bus_driver_handle_service_exists): ditto
740 * bus/services.c (bus_services_list): NULL-terminate returned array
742 * bus/driver.c (bus_driver_send_service_lost)
743 (bus_driver_send_service_acquired): send messages from driver to a
744 specific client to the client's unique name, not to the broadcast
747 * dbus/dbus-message.c (decode_header_data): reject messages that
748 contain no name field
749 (_dbus_message_get_client_serial): rename to
750 dbus_message_get_serial and make public
751 (_dbus_message_set_serial): rename from set_client_serial
752 (_dbus_message_set_reply_serial): make public
753 (_dbus_message_get_reply_serial): make public
755 * bus/connection.c (bus_connection_foreach): allow stopping
756 iteration by returning FALSE from foreach function.
758 * dbus/dbus-connection.c (dbus_connection_send_preallocated)
759 (dbus_connection_free_preallocated_send)
760 (dbus_connection_preallocate_send): new API for sending a message
761 without possibility of malloc failure.
762 (dbus_connection_send_message): rename to just
763 dbus_connection_send (and same for whole function family)
765 * dbus/dbus-errors.c (dbus_error_free): make this reinit the error
767 * dbus/dbus-sysdeps.c (_dbus_exit): new function
769 * bus/activation.c: handle/return errors
771 * dbus/dbus-errors.h: add more DBUS_ERROR #define
773 * dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
774 (_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
775 (_dbus_result_from_errno): move to this file
777 2003-03-10 Anders Carlsson <andersca@codefactory.se>
779 * dbus/dbus-marshal.c:
780 (_dbus_marshal_set_string):
781 Take a length argument so we can marshal the correct string
784 (_dbus_marshal_dict), (_dbus_demarshal_dict),
785 (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
786 (_dbus_marshal_test):
787 * dbus/dbus-marshal.h:
788 Add support for marshalling and demarshalling dicts.
790 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
791 Add support for TYPE DICT.
793 * dbus/dbus-message.c: (set_string_field):
794 Adjust header padding.
796 (dbus_message_append_args_valist), (dbus_message_append_dict),
797 (dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
798 (dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
799 (check_message_handling), (check_have_valid_message):
800 * dbus/dbus-message.h:
801 Add functions for setting and getting dicts.
803 * dbus/dbus-protocol.h:
809 * doc/dbus-specification.sgml:
810 Add information about how dicts are marshalled.
812 * test/data/invalid-messages/dict-with-nil-value.message:
813 * test/data/invalid-messages/too-short-dict.message:
814 * test/data/valid-messages/dict-simple.message:
815 * test/data/valid-messages/dict.message:
816 Add sample messages containing dicts.
818 2003-03-08 Anders Carlsson <andersca@codefactory.se>
820 * dbus/dbus-dict.h: Add DBUS_END_DECLS.
822 2003-03-07 Anders Carlsson <andersca@codefactory.se>
825 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
826 (dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
827 (dbus_dict_set_int32), (dbus_dict_set_uint32),
828 (dbus_dict_set_double), (dbus_dict_set_string),
829 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
830 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
831 (dbus_dict_set_string_array), (_dbus_dict_test):
833 Fix according to comments from Havoc.
835 2003-03-06 Michael Meeks <michael@server.home>
837 * configure.in: if we don't have kde-config, disable have_qt.
839 2003-03-07 Anders Carlsson <andersca@codefactory.se>
844 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
845 (dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
846 (dbus_dict_remove), (dbus_dict_get_value_type),
847 (dbus_dict_get_keys), (dbus_dict_put_boolean),
848 (dbus_dict_put_int32), (dbus_dict_put_uint32),
849 (dbus_dict_put_double), (dbus_dict_put_string),
850 (dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
851 (dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
852 (dbus_dict_put_string_array), (dbus_dict_get_boolean),
853 (dbus_dict_get_int32), (dbus_dict_get_uint32),
854 (dbus_dict_get_double), (dbus_dict_get_string),
855 (dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
856 (dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
857 (dbus_dict_get_string_array), (_dbus_dict_test):
859 Add DBusDict implementation
861 * dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
865 2003-03-04 Havoc Pennington <hp@pobox.com>
867 * test/data/auth/*: adapt to changes
869 * dbus/dbus-auth-script.c (_dbus_auth_script_run): add
870 USERID_BASE64 and change USERNAME_BASE64 to put in username not
873 * dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
874 more stuff from being in a context name, to make the protocol
877 * dbus/dbus-errors.c (dbus_error_has_name): new function
878 (dbus_error_is_set): new function
880 * dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
881 with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
883 * dbus/dbus-connection.c (dbus_connection_flush): also read
884 messages during a flush operation
886 * dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
888 2003-03-05 Anders Carlsson <andersca@codefactory.se>
890 * configure.in: Check for gethostbyname on Solaris.
892 * dbus/dbus-transport.c: (_dbus_transport_open):
893 Remove duplicate "tcp" entry.
895 * doc/dbus-specification.sgml:
898 2003-03-05 Anders Carlsson <andersca@codefactory.se>
900 * dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
901 * dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
902 (_dbus_keyring_test):
903 * dbus/dbus-md5.c: (_dbus_md5_compute):
904 * dbus/dbus-sha.c: (_dbus_sha_compute):
907 2003-03-05 Anders Carlsson <andersca@codefactory.se>
909 * README: Add some things.
911 2003-03-04 Anders Carlsson <andersca@codefactory.se>
913 * dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
914 after case DBUS_TYPE_BOOELAN.
916 2003-03-02 Havoc Pennington <hp@pobox.com>
918 * test/break-loader.c (randomly_set_extreme_ints): add test that
919 sets really huge and small integers
921 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
922 that length of boolean array fits in the string, and that
923 string has room for boolean value in single-bool case.
925 * dbus/dbus-message-builder.c (_dbus_message_data_load): add
926 optional value to "ALIGN" command which is what to fill the
929 * test/data/valid-messages/no-padding.message: add regression
930 test for the message padding problem
932 2003-03-02 Havoc Pennington <hp@pobox.com>
934 * dbus/dbus-message.c (decode_header_data): fix to always init
935 message_padding, from Benjamin Dauvergne
937 2003-03-02 Havoc Pennington <hp@pobox.com>
943 2003-03-01 Joe Shaw <joe@assbarn.com>
945 * configure.in: Check for "struct cmsgcred" and try to access its
946 members for BSD-like unices.
948 * dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
949 _dbus_read_credentials_unix_socket().
950 (_dbus_read_credentials_unix_socket): Use recvmsg() instead of
951 read() for reading the credential byte off the unix socket. Use
952 struct cmsgcred on systems that support it.
954 2003-02-27 Alexander Larsson <alexl@redhat.com>
958 Make gthreads-2.0 dependency optional. Don't build thread test if
961 2003-02-27 Havoc Pennington <hp@pobox.com>
963 * dbus/dbus-connection.c
964 (dbus_connection_send_message_with_reply_and_block): fix doh!
965 doh! doh! bug that resulted in never removing a reply from the
966 queue, no wonder we called get_reply_serial so much ;-)
968 * dbus/dbus-message.c (struct DBusMessage): cache reply serial
969 and client serial instead of demarshaling them every time
971 2003-02-27 Havoc Pennington <hp@pobox.com>
973 * dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
974 more inlined, using dbus-string-private.h, speeds things up
977 * dbus/dbus-string.c (_dbus_string_free): apply align offset
978 when freeing the string
979 (_dbus_string_steal_data): fix for align offset
980 (undo_alignment): new function
982 2003-02-26 Havoc Pennington <hp@redhat.com>
984 All kinds of audit fixes from Owen, plus initial attempt to
985 handle unaligned memory returned from malloc.
987 * dbus/dbus-string.c (_dbus_string_init): clamp max length to
988 leave room for align_offset and nul byte
989 (fixup_alignment): function to track an align_offset and
990 ensure real->str is aligned
991 (DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
992 to allow a nul byte plus align offset
993 (_dbus_string_lock): fix overflow issue
994 (_dbus_string_init_const_len): add assertions on sanity of len,
995 assign allocated to be ALLOCATION_PADDING larger than len
996 (set_length): fixup the overflow handling
997 (_dbus_string_get_data_len): fix overflow in assertion
998 (open_gap): detect overflow in size of gap to be opened
999 (_dbus_string_lengthen): add overflow check
1000 (_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
1001 (_dbus_string_append): add overflow check
1002 (_dbus_string_append_unichar): overflow
1003 (_dbus_string_delete): fix overflow in assertion
1004 (_dbus_string_copy_len): overflow in assertion
1005 (_dbus_string_replace_len): overflows in assertions
1006 (_dbus_string_find): change to implement in terms of
1007 _dbus_string_find_to
1008 (_dbus_string_find_to): assorted fixage
1009 (_dbus_string_equal_c_str): assert c_str != NULL,
1010 fix logic so the function works
1011 (_dbus_string_ends_with_c_str): fix overflow thingy
1012 (_dbus_string_base64_encode): overflow fix
1013 (_dbus_string_validate_ascii): overflow
1014 (_dbus_string_validate_nul): overflow
1016 2003-02-26 Havoc Pennington <hp@redhat.com>
1018 * dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
1020 2003-02-26 Alexander Larsson <alexl@redhat.com>
1023 Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
1025 * dbus/dbus-connection.c:
1026 * dbus/dbus-connection.h:
1027 Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
1028 Add dbus_connection_set_wakeup_main_function and use it when queueing
1029 incoming and outgoing messages.
1032 * dbus/dbus-dataslot.c:
1033 Threadsafe usage of DBusDataSlotAllocator
1035 * dbus/dbus-message.c: (dbus_message_get_args_iter):
1038 * dbus/dbus-server-unix.c:
1041 * glib/dbus-gmain.c:
1042 Implement the new wakeup functions for glib.
1045 * glib/test-thread-client.c:
1046 * glib/test-thread-server.c:
1047 * glib/test-thread.h:
1048 Initial cut at some thread test code. Not really done yet.
1050 2003-02-26 Havoc Pennington <hp@pobox.com>
1052 * dbus/dbus-connection.c
1053 (dbus_connection_send_message_with_reply_and_block): fix crash
1054 where we ref'd the outgoing message instead of the returned reply
1056 * dbus/dbus-transport-unix.c (do_authentication): check read watch
1057 at the end of this function, so if we didn't need to read for
1058 authentication, we reinstall it for receiving messages
1060 * dbus/dbus-message.c (dbus_message_new_reply): allow replies to
1061 a NULL sender for peer-to-peer case
1063 * dbus/dbus-transport-unix.c (check_read_watch): handle
1064 !authenticated case correctly
1066 * glib/dbus-gmain.c: add support for DBusServer
1068 * dbus/dbus-server.c: add data slot support
1070 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
1071 return values and handle errors
1073 * dbus/dbus-dataslot.c: factor out the data slot stuff from
1076 * Doxyfile.in (INPUT): add glib subdir
1078 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
1079 setup_with_g_main instead of hookup_with_g_main; write docs
1081 2003-02-24 Anders Carlsson <andersca@codefactory.se>
1083 * dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
1084 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
1085 * dbus/dbus-message.c: (dbus_message_append_boolean),
1086 (dbus_message_append_boolean_array),
1087 (dbus_message_get_args_valist), (_dbus_message_test):
1088 * dbus/dbus-message.h:
1089 * doc/dbus-specification.sgml:
1090 Various fixes as pointed out by Havoc.
1092 * test/data/invalid-messages/bad-boolean-array.message:
1093 * test/data/invalid-messages/bad-boolean.message:
1094 Add invalid boolean value test cases.
1096 2003-02-24 Anders Carlsson <andersca@codefactory.se>
1098 * dbus/dbus-internals.c: (_dbus_type_to_string):
1099 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
1100 (_dbus_marshal_validate_arg):
1101 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
1102 * dbus/dbus-message.c: (dbus_message_append_args_valist),
1103 (dbus_message_append_boolean), (dbus_message_append_boolean_array),
1104 (dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
1105 (dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
1106 (dbus_message_iter_get_double),
1107 (dbus_message_iter_get_boolean_array), (message_iter_test):
1108 * dbus/dbus-message.h:
1109 * dbus/dbus-protocol.h:
1110 * doc/dbus-specification.sgml:
1111 * test/data/valid-messages/lots-of-arguments.message:
1112 Add support for boolean and boolean array types.
1114 2003-02-23 Havoc Pennington <hp@pobox.com>
1116 * dbus/dbus-keyring.c: finish most of this implementation and
1119 * dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
1120 these barf if the error isn't cleared to NULL
1122 * dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
1123 (_dbus_create_directory): new function
1125 * dbus/dbus-errors.c (dbus_set_error): fix warning
1127 * dbus/dbus-string.c (_dbus_string_hex_encode): new function
1128 (_dbus_string_hex_decode): new function
1129 (test_hex_roundtrip): test code
1131 * dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
1133 * dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
1135 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
1136 the save-to-temp/rename trick to atomically write the new file
1137 (_dbus_string_parse_uint): new function
1139 2003-02-22 Havoc Pennington <hp@pobox.com>
1141 * test/Makefile.am (dist-hook): fix dist for test/data/sha-1
1143 2003-02-22 Havoc Pennington <hp@pobox.com>
1145 * dbus/dbus-message.c (dbus_message_iter_get_string_array):
1146 (dbus_message_iter_get_byte_array): Fix up doxygen warnings
1148 * dbus/dbus-sha.c: add implementation of SHA-1 algorithm
1150 * dbus/test/data/sha-1: add US government test suite for SHA-1
1152 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1154 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
1155 Make string arrays NULL-terminated.
1157 * dbus/dbus-memory.c: (dbus_free_string_array):
1158 * dbus/dbus-memory.h:
1159 New function for freeing NULL-terminated string arrays.
1161 * dbus/dbus-message-builder.c: (append_quoted_string),
1162 (_dbus_message_data_load):
1163 Add support for array types.
1165 * dbus/dbus-message.c: (check_message_handling):
1166 Add more types as test cases.
1168 * dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
1169 (_dbus_string_parse_double):
1170 Add the start offset to the end offset.
1172 * test/data/valid-messages/lots-of-arguments.message:
1173 New test message with lots of arguments.
1175 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1177 * dbus/dbus-message.c: (dbus_message_append_nil),
1178 (dbus_message_append_int32), (dbus_message_append_uint32),
1179 (dbus_message_append_double), (dbus_message_append_string),
1180 (dbus_message_append_int32_array),
1181 (dbus_message_append_uint32_array),
1182 (dbus_message_append_double_array),
1183 (dbus_message_append_byte_array),
1184 (dbus_message_append_string_array):
1185 Fix all out-of-memory handling in these functions.
1187 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1189 * dbus/dbus-message.c: (dbus_message_append_nil):
1192 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1194 * dbus/dbus-message.c: (dbus_message_append_args_valist),
1195 (dbus_message_append_nil), (dbus_message_append_int32_array),
1196 (dbus_message_append_uint32_array),
1197 (dbus_message_append_double_array),
1198 (dbus_message_append_byte_array),
1199 (dbus_message_append_string_array), (dbus_message_get_args_valist),
1200 (dbus_message_iter_get_int32_array),
1201 (dbus_message_iter_get_uint32_array),
1202 (dbus_message_iter_get_double_array),
1203 (dbus_message_iter_get_byte_array),
1204 (dbus_message_iter_get_string_array):
1206 * dbus/dbus-message.h:
1207 Add functions for appending and getting arrays.
1209 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1211 * dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
1212 element size at least 8 bytes, fixes mempool tests on
1215 2003-02-20 Alexander Larsson <alexl@redhat.com>
1217 * dbus/dbus-transport-unix.c (unix_do_iteration):
1218 Unlock the connection mutex during a blocking select call.
1219 Add todo about how we need a way to wake up the select.
1221 * dbus/dbus-connection-internal.h:
1222 * dbus/dbus-connection.c:
1223 Add _dbus_connection_lock and _dbus_connection_unlock.
1225 2003-02-19 Havoc Pennington <hp@pobox.com>
1227 * Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
1228 Doxyfile.in, not Doxyfile
1230 * dbus/dbus-keyring.c: do some hacking on this
1232 * dbus/dbus-sysdeps.c (_dbus_delete_file): new
1234 * dbus/dbus-errors.c (dbus_set_error_const): do not call
1236 (dbus_set_error): remove dbus_error_init, check for message ==
1237 NULL *before* we sprintf into it, and add @todo about including
1238 system headers in this file
1240 * dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
1242 * dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
1244 * dbus/dbus-sysdeps.c (get_user_info): break this function out to
1245 get various bits of user information based on either username
1247 (_dbus_homedir_from_username): new function
1249 2003-02-19 Anders Carlsson <andersca@codefactory.se>
1252 Add check for nonposix getpwnam_r
1254 * dbus/dbus-mempool.c: (_dbus_mem_pool_new):
1255 Align the pool element size to a sizeof (void *) boundary.
1257 * dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
1258 (_dbus_listen_unix_socket), (_dbus_credentials_from_username):
1259 General Solaris fixes.
1261 * test/data/valid-messages/simplest-manual.message:
1262 Explicitly state that we want little-endian packing.
1264 2003-02-19 Mikael Hallendal <micke@codefactory.se>
1266 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
1268 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
1269 Added to create a transport connecting using a tcp/ip socket.
1271 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
1272 to a tcp socket at given host and port.
1273 (_dbus_listen_tcp_socket): added to listen on tcp socket for given
1276 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
1278 * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
1279 Added to create a server listening on a TCP/IP socket.
1281 2003-02-19 Havoc Pennington <hp@pobox.com>
1283 Throughout: mop up all the Doxygen warnings and undocumented
1286 * dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
1287 to search any paths.
1289 * dbus/dbus-threads.c: move global mutex initializers to
1290 dbus-internals.h, multiple prototypes was confusing doxygen
1291 besides being kind of ugly
1293 * Doxyfile (PREDEFINED): have Doxygen define
1294 DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
1295 docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
1296 (do not abuse the feature! it's for stuff like the autogenerated
1297 macros in dbus-md5.c, not just for things you don't feel like
1300 2003-02-18 Havoc Pennington <hp@pobox.com>
1302 * dbus/dbus-string.c (_dbus_string_zero): new function
1304 * dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
1305 wrap it in some dbus-friendly API
1307 * dbus/dbus-types.h: add 16-bit types
1309 2003-02-18 Joe Shaw <joe@assbarn.com>
1311 * dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
1312 credentials from our currently running process.
1313 (get_word): Fix a buglet where we were copying the entire length
1314 instead of relative to our position.
1316 * dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
1317 keys on the stack... it's 640k of data.
1319 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
1320 read the credentials byte off the socket, even if we don't have
1322 (_dbus_poll): Implement poll() using select() for systems which
1325 * glib/test-dbus-glib.c (main): Print out an error if no
1326 parameters are given.
1328 * test/data/auth/fallback.auth-script: Added. Tests that a client
1329 can fallback to a secondary auth mechanism if the first fails.
1331 2003-02-18 Havoc Pennington <hp@pobox.com>
1335 2003-02-17 Havoc Pennington <hp@pobox.com>
1337 * doc/dbus-specification.sgml: lots of cosmetic
1338 cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
1339 env variable to DBUS_BUS_ADDRESS, s/client/application/,
1340 s/server/bus/ (except in authentication section). Add a section
1341 "Message Bus Message Routing"
1343 2003-02-17 Anders Carlsson <andersca@codefactory.se.>
1349 2003-02-17 Anders Carlsson <andersca@codefactory.se>
1351 * doc/dbus-specification.sgml:
1352 Specification updates.
1354 2003-02-17 Anders Carlsson <andersca@codefactory.se>
1356 * bus/activation.c: (bus_activation_init), (child_setup),
1357 (bus_activation_activate_service):
1359 * bus/main.c: (main):
1360 Set DBUS_ADDRESS environment variable.
1362 * dbus/dbus-errors.c: (dbus_set_error):
1363 Don't use va_copy since that's a C99 feature.
1365 * dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
1366 (_dbus_spawn_async):
1367 * dbus/dbus-sysdeps.h:
1368 Add child_setup_func to _dbus_spawn_async.
1370 * doc/dbus-specification.sgml:
1371 Update specification.
1373 * test/spawn-test.c: (setup_func), (main):
1376 2003-02-17 Alexander Larsson <alexl@redhat.com>
1378 * dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
1381 2003-02-17 Anders Carlsson <andersca@codefactory.se>
1385 * doc/dbus-test-plan.sgml:
1386 Add test plan document.
1391 2003-02-17 Anders Carlsson <andersca@codefactory.se>
1393 * dbus/dbus-message.c: (decode_header_data),
1394 (_dbus_message_loader_return_buffer):
1395 Set the header padding amount when loading a message.
1397 2003-02-16 Anders Carlsson <andersca@codefactory.se>
1399 * bus/dispatch.c: (send_one_message):
1400 Only send broadcast messages to registered connections.
1402 * dbus/dbus-message.c: (dbus_message_name_is):
1403 * dbus/dbus-message.h:
1404 New convenience function.
1406 * dbus/dbus-transport-debug.c: (do_reading):
1407 Only dispatch one message per run.
1410 * test/bus-test.c: (new_connection_callback), (die),
1411 (test_hello_client1_handler), (test_hello_client2_handler),
1412 (test_hello_replies), (main):
1414 * test/bus-test-loop.[ch]:
1417 2003-02-16 Havoc Pennington <hp@pobox.com>
1419 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
1420 backward conditional
1422 2003-02-16 Alexander Larsson <alexl@redhat.com>
1424 * dbus/dbus-connection.c:
1425 Implement sent_message_with_reply. (with_reply_and block is still
1427 Made dispatch_message not lose message if OOM.
1429 * dbus/dbus-errors.h:
1430 Add NoReply error (for reply timeouts).
1432 2003-02-16 Alexander Larsson <alexl@redhat.com>
1434 * dbus/dbus-hash.c (_dbus_hash_table_unref):
1435 Actually free keys and values when destroying hashtable.
1437 2003-02-16 Anders Carlsson <andersca@codefactory.se>
1439 * dbus/dbus-auth.c: (client_try_next_mechanism):
1442 * dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
1443 Return TRUE if there's no thread implementation around.
1445 * glib/dbus-gmain.c: (free_source),
1446 (dbus_connection_hookup_with_g_main):
1447 Make sure to remove the GSource when the connection is finalized.
1449 2003-02-16 Anders Carlsson <andersca@codefactory.se>
1451 * bus/dispatch.c: (bus_dispatch_message_handler):
1452 * dbus/dbus-errors.h:
1453 Return an error if someone tries to send a message to a service
1456 2003-02-16 Anders Carlsson <andersca@codefactory.se>
1458 * bus/activation.c: (load_directory), (bus_activation_init),
1459 (bus_activation_activate_service):
1462 (bus_driver_handle_activate_service), (bus_driver_handle_message):
1463 More work on the activation handling.
1465 * dbus/dbus-errors.h:
1466 Add some error messages
1468 * dbus/dbus-message.c: (dbus_message_new_error_reply):
1469 * dbus/dbus-message.h:
1470 New function that creates an error message.
1472 * dbus/dbus-protocol.h:
1473 Add ACTIVATE_SERVER message.
1475 * dbus/dbus-server-unix.c: (unix_handle_watch),
1476 (_dbus_server_new_for_domain_socket):
1477 Call _dbus_fd_set_close_on_exec.
1479 * dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
1480 (_dbus_spawn_async), (_dbus_disable_sigpipe),
1481 (_dbus_fd_set_close_on_exec):
1482 * dbus/dbus-sysdeps.h:
1483 Add _dbus_fd_set_close_on exec function. Also add function that checks
1484 that all open fds are set to close-on-exec and warns otherwise.
1486 * dbus/dbus-transport-unix.c:
1487 (_dbus_transport_new_for_domain_socket):
1488 Call _dbus_fd_set_close_on_exec.
1490 2003-02-16 Havoc Pennington <hp@pobox.com>
1492 * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
1493 allow people to avoid setting SIGPIPE to SIG_IGN
1494 (_dbus_connection_new_for_transport): disable SIGPIPE unless
1495 we've been asked not to
1497 2003-02-15 Anders Carlsson <andersca@codefactory.se>
1499 * dbus/dbus-list.c: (_dbus_list_append_link),
1500 (_dbus_list_prepend_link):
1501 * dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
1505 2003-02-15 Anders Carlsson <andersca@codefactory.se>
1508 * bus/activation.c: (bus_activation_entry_free),
1509 (add_desktop_file_entry), (load_directory), (bus_activation_init):
1511 * bus/main.c: (main):
1512 Add simple activation support, doesn't work yet though.
1514 2003-02-15 Zack Rusin <zack@kde.org>
1516 * qt/dbus-qthread.cpp: small casting fix
1518 2003-02-15 Anders Carlsson <andersca@codefactory.se>
1520 * dbus/dbus-errors.c: (dbus_set_error):
1521 * dbus/dbus-errors.h:
1522 Add a few errors and make dbus_set_error void.
1524 * dbus/dbus-sysdeps.c:
1525 (_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
1526 (write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
1527 * dbus/dbus-sysdeps.h:
1528 Add _dbus_spawn_async.
1530 * test/spawn-test.c: (main):
1531 Test for _dbus_spawn_async.
1533 2003-02-15 Anders Carlsson <andersca@codefactory.se>
1535 * dbus/dbus-internals.h:
1536 Fix build without tests.
1538 * dbus/dbus-list.c: (alloc_link):
1539 Fix a segfault when a malloc fails.
1541 * dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
1542 (dbus_malloc0), (dbus_realloc):
1543 Add support for malloc debugging.
1545 2003-02-15 Alexander Larsson <alexl@redhat.com>
1547 * dbus/dbus-threads.c:
1548 * dbus/dbus-threads.h:
1549 Add condvars. Remove static mutext from API.
1550 Implement static mutexes by initializing them from threads_init.
1552 * glib/dbus-gthread.c:
1553 * qt/dbus-qthread.cpp:
1554 Update with the thread api changes.
1559 Turn StaticMutex into normal mutex + init function.
1560 Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
1561 _dbus_list_append_link, _dbus_list_prepend_link
1564 * dbus/dbus-sysdeps.c:
1565 * dbus/dbus-sysdeps.h:
1566 New type dbus_atomic_t, and new functions _dbus_atomic_inc,
1567 _dbus_atomic_dec. Only slow fallback implementation at the moment.
1569 * dbus/dbus-protocol.h:
1570 Add DBUS_MESSAGE_LOCAL_DISCONNECT define
1572 * dbus/dbus-message.c:
1573 Make ref/unref atomic.
1576 * dbus/dbus-connection-internal.h:
1577 * dbus/dbus-connection.c:
1578 * dbus/dbus-connection.h:
1580 Change _peek to _borrow,_return & _steal_borrowed.
1581 Change disconnect callback to event.
1582 Make dbus_connection_dispatch_messages reentrant.
1584 * dbus/dbus-transport.c:
1585 Don't ref the connection on calls to the transport
1588 * dbus/dbus-message-handler.c:
1591 * glib/dbus-gmain.c:
1592 Don't use peek_message anymore
1595 * test/debug-thread.c:
1596 * test/debug-thread.h:
1597 Simple thread implementation that asserts() on deadlocks in
1598 single-threaded code.
1601 (main) Call debug_threads_init.
1604 Use disconnect message instead of disconnect callback.
1608 Don't call dbus_connection_set_disconnect_function. Instead export
1609 bus_connection_disconnect.
1612 Call bus_connection_disconnect when we get a disconnected message.
1614 2003-02-15 Havoc Pennington <hp@pobox.com>
1616 * dbus/dbus-message.c (dbus_message_new): fool around with the
1619 2003-02-14 Havoc Pennington <hp@pobox.com>
1621 * dbus/dbus-mempool.c: fail if the debug functions so indicate
1623 * dbus/dbus-memory.c: fail if the debug functions indicate we
1626 * dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
1627 (_dbus_decrement_fail_alloc_counter): debug functions to
1628 simulate memory allocation failures
1630 2003-02-14 Havoc Pennington <hp@pobox.com>
1632 * dbus/dbus-errors.h (struct DBusError): add a word of padding
1635 2003-02-13 Anders Carlsson <andersca@codefactory.se>
1637 * bus/driver.c: (bus_driver_handle_hello):
1639 * bus/services.c: (bus_service_lookup):
1640 Reorder message sending so we get a more sane order.
1642 * test/bus-test.c: (message_handler):
1645 2003-02-13 Anders Carlsson <andersca@codefactory.se>
1647 * bus/driver.c: (bus_driver_send_service_deleted),
1648 (bus_driver_send_service_created), (bus_driver_send_service_lost),
1649 (bus_driver_send_service_acquired), (bus_driver_handle_hello),
1650 (bus_driver_send_welcome_message),
1651 (bus_driver_handle_list_services),
1652 (bus_driver_handle_acquire_service),
1653 (bus_driver_handle_service_exists):
1654 * dbus/dbus-bus.c: (dbus_bus_register_client),
1655 (dbus_bus_acquire_service), (dbus_bus_service_exists):
1656 * dbus/dbus-errors.c: (dbus_result_to_string):
1657 * dbus/dbus-errors.h:
1658 * dbus/dbus-message.c: (dbus_message_append_args),
1659 (dbus_message_append_args_valist), (dbus_message_get_args),
1660 (dbus_message_get_args_valist), (dbus_message_get_args_iter),
1661 (dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
1662 (dbus_message_iter_get_byte_array),
1663 (dbus_message_iter_get_string_array), (message_iter_test),
1664 (check_message_handling), (_dbus_message_test):
1665 * dbus/dbus-message.h:
1666 * test/bus-test.c: (main):
1667 Change fields to arguments in messages, so that they won't be
1668 confused with header fields.
1670 * glib/test-dbus-glib.c: (main):
1671 Remove append_fields from hello message.
1673 2003-02-13 Anders Carlsson <andersca@codefactory.se>
1675 * dbus/dbus-errors.c:
1676 * dbus/dbus-message.c:
1677 * dbus/dbus-string.c:
1678 Documentation fixes.
1680 2003-02-13 Anders Carlsson <andersca@codefactory.se>
1682 * glib/dbus-gmain.c: (timeout_handler), (add_timeout),
1684 Implement support for timeouts in dbus-glib.
1686 2003-02-13 Anders Carlsson <andersca@codefactory.se>
1688 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
1689 * dbus/dbus-message.c: (process_test_subdir):
1690 * test/break-loader.c: (find_breaks_based_on):
1691 Plug some memory leaks.
1693 2003-02-13 Richard Hult <rhult@codefactory.se>
1695 * bus/main.c: Fix build.
1697 * dbus/dbus-errors.h:
1698 * dbus/dbus-errors.c: Fix copyright for Anders.
1700 2003-02-13 Anders Carlsson <andersca@codefactory.se>
1705 * bus/connection.c: (bus_connection_foreach):
1708 * bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
1709 (unescape_string), (new_section), (parse_section_start),
1710 (parse_key_value), (report_error), (bus_desktop_file_load),
1711 (bus_desktop_file_get_string):
1712 * bus/desktop-file.h:
1713 Use DBusError for error reporting.
1715 * bus/dispatch.c: (send_one_message),
1716 (bus_dispatch_message_handler):
1717 * bus/driver.c: (bus_driver_send_service_deleted),
1718 (bus_driver_send_service_created), (bus_driver_send_service_lost),
1719 (bus_driver_send_service_acquired), (bus_driver_handle_hello),
1720 (bus_driver_send_welcome_message),
1721 (bus_driver_handle_list_services),
1722 (bus_driver_handle_acquire_service),
1723 (bus_driver_handle_service_exists):
1724 * bus/loop.c: (bus_loop_run):
1726 Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
1728 * bus/utils.c: (bus_wait_for_memory):
1730 New files with general utility functions.
1732 * dbus/dbus-internals.h:
1733 Remove _DBUS_HANDLE_OOM.
1735 2003-02-13 Anders Carlsson <andersca@codefactory.se>
1737 * dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
1738 (dbus_error_free), (dbus_set_error_const), (dbus_set_error):
1739 * dbus/dbus-errors.h:
1740 Add DBusError structure.
1742 2003-02-13 Anders Carlsson <andersca@codefactory.se>
1744 * test/data/valid-messages/standard-acquire-service.message:
1745 * test/data/valid-messages/standard-hello.message:
1746 * test/data/valid-messages/standard-list-services.message:
1747 * test/data/valid-messages/standard-service-exists.message:
1748 Add some standard messages.
1750 2003-02-13 Anders Carlsson <andersca@codefactory.se>
1752 * bus/driver.c: (bus_driver_send_welcome_message),
1753 (bus_driver_handle_list_services),
1754 (bus_driver_handle_acquire_service),
1755 (bus_driver_handle_service_exists), (bus_driver_handle_message):
1756 Update for API changes in libdbus.
1758 * dbus/dbus-message.c: (dbus_message_new_reply):
1759 * dbus/dbus-message.h:
1760 Remove the name argument. The spec states that replies shouldn't
1763 2003-02-13 Anders Carlsson <andersca@codefactory.se>
1765 * bus/desktop-file.c: (parse_section_start), (parse_key_value),
1766 (report_error), (bus_desktop_file_load), (lookup_section),
1767 (lookup_line), (bus_desktop_file_get_raw),
1768 (bus_desktop_file_get_string):
1769 * bus/desktop-file.h:
1770 Some fixes, and new functions for getting a key value from a section.
1772 2003-02-13 Havoc Pennington <hp@pobox.com>
1774 * test/data/auth/fail-after-n-attempts.auth-script: new test
1776 * dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
1779 2003-02-13 Havoc Pennington <hp@pobox.com>
1781 * dbus/dbus-auth.c (handle_server_data_external_mech): args to
1782 dbus_credentials_match were backward
1784 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support
1785 NO_CREDENTIALS and ROOT_CREDENTIALS
1787 * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
1788 into here. Never process more commands after we've reached an
1789 end state; store further data as unused bytes.
1791 * test/data/auth/*: add more auth tests
1793 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
1794 command to match exact string and EXPECT_UNUSED to match unused
1797 * test/Makefile.am (dist-hook): fix to dist all the test stuff
1799 2003-02-12 Havoc Pennington <hp@pobox.com>
1801 * dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
1802 \r off of popped lines
1804 * dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
1807 * dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
1810 2003-02-12 Havoc Pennington <hp@pobox.com>
1812 * dbus/Makefile.am: remove break-loader from the build, since it
1815 * configure.in: add --enable-gcov to turn on coverage profiling
1816 flags and disable optimization
1818 2003-02-10 Havoc Pennington <hp@pobox.com>
1820 * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync
1821 initial cut at test framework for DBusAuth from laptop.
1822 Doesn't quite work yet but it compiles and I need to get
1823 it off the 266mhz laptop. ;-)
1825 * dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
1826 fix a memleak in error case
1828 2003-02-12 Anders Carlsson <andersca@codefactory.se>
1831 * bus/desktop-file.c:
1832 * bus/desktop-file.h:
1833 Add a desktop file parser.
1835 2003-02-11 Zack Rusin <zack@kde.org>
1837 * qt/message.[h|cpp]: sample implementation
1838 of the KDE wrapper for DBusMessage
1840 2003-02-09 Zack Rusin <zack@kde.org>
1842 * test/bus-test.c: make_it_compile
1843 * doc/dbus-specification.sgml: minimal semantic fix
1845 2003-02-06 Anders Carlsson <andersca@codefactory.se>
1851 2003-02-06 Anders Carlsson <andersca@codefactory.se>
1854 * dbus/dbus-break-loader.c:
1856 * test/break-loader.c:
1857 Move dbus-break-loader to test/ and rename it to break-loader.
1859 2003-02-02 Havoc Pennington <hp@pobox.com>
1861 * dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files
1862 for code to manage cookies in your home directory
1864 * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
1866 * dbus/dbus-auth.c (get_state): impose a maximum number of tries
1867 to authenticate, then disconnect the client.
1869 2003-02-03 Alexander Larsson <alexl@redhat.com>
1871 * dbus/dbus-message.c (dbus_message_append_fields):
1874 2003-02-02 Anders Carlsson <andersca@codefactory.se>
1876 * doc/dbus-specification.sgml:
1877 Update address format section.
1879 2003-02-02 Anders Carlsson <andersca@codefactory.se>
1882 * test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
1883 (message_handler), (new_connection_callback), (loop_quit),
1887 2003-02-02 Anders Carlsson <andersca@codefactory.se>
1889 * bus/driver.c: (bus_driver_handle_service_exists):
1890 Simplify the code a bit.
1892 * dbus/dbus-bus.c: (dbus_bus_service_exists):
1895 2003-02-02 Anders Carlsson <andersca@codefactory.se>
1898 Add libdbus-daemon.la and link to it.
1900 2003-02-01 James Willcox <jwillcox@gnome.org>
1902 * bus/driver.c: (bus_driver_handle_own_service):
1903 Actually include the service reply code in the message.
1905 2003-02-02 Anders Carlsson <andersca@codefactory.se>
1907 * bus/driver.c: (bus_driver_handle_service_exists):
1908 Don't unref the incoming message.
1910 2003-02-02 Anders Carlsson <andersca@codefactory.se>
1912 * dbus/dbus.h: Add dbus-address.h and dbus-bus.h
1914 2003-02-02 Anders Carlsson <andersca@codefactory.se>
1916 * dbus/dbus-server.c: (dbus_server_listen):
1917 * dbus/dbus-transport.c: (_dbus_transport_open):
1918 ifdef out the calls to the debug transport and server.
1920 2003-02-02 Alexander Larsson <alexl@redhat.com>
1922 * dbus/dbus-watch.c (dbus_watch_get_flags):
1923 Add note in the docs that ERROR or HANGUP won't be returned
1924 and are assumed always on.
1926 * glib/dbus-gmain.c (add_watch):
1927 Always add IO_ERR | IO_HUP
1929 * dbus/dbus-message.h:
1930 Add semicolon after dbus_message_iter_get_string_array().
1931 Makes qt code build again
1933 2003-02-01 Anders Carlsson <andersca@codefactory.se>
1935 * bus/driver.c: (create_unique_client_name),
1936 (bus_driver_handle_hello):
1937 Don't take a name, just use a numeric id to identify
1941 * dbus/dbus-bus.c: (dbus_bus_register_client),
1942 (dbus_bus_acquire_service), (dbus_bus_service_exists):
1944 Add new convenience functions for communicating with the bus.
1946 * dbus/dbus-message.h:
1948 * dbus/dbus-protocol.h:
1951 2003-02-01 Alexander Larsson <alexl@redhat.com>
1953 * dbus/dbus-message.c (dbus_message_append_fields):
1954 Add some more doc comments.
1956 2003-02-01 Havoc Pennington <hp@pobox.com>
1958 * dbus/dbus-break-loader.c (randomly_modify_length): change
1959 a 4-byte value in the message as if it were a length
1961 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
1962 execute bit on saved files
1964 2003-02-01 Havoc Pennington <hp@pobox.com>
1966 * dbus/dbus-break-loader.c (main): new program to find messages
1967 that break the loader.
1969 * dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
1970 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
1972 * dbus/dbus-string.c (_dbus_string_set_byte): new
1974 2003-01-31 Havoc Pennington <hp@pobox.com>
1976 * dbus/dbus-message.c: refactor the test code to be more general,
1977 in preparation for writing a "randomly permute test cases to
1978 try to break the loader" program.
1980 2003-01-31 Havoc Pennington <hp@pobox.com>
1982 * doc/dbus-specification.sgml: work on the specification
1984 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
1985 the protocol version of the message.
1987 * dbus/dbus-protocol.h: drop special _REPLY names, the spec
1988 no longer specifies that.
1989 (DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
1992 * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
1993 "break" for DBUS_TYPE_NIL, remove @todo
1995 2003-01-31 Havoc Pennington <hp@pobox.com>
1997 * dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
1998 just set_is_error/get_is_error as this is a commonly-used
1999 function, and write docs.
2001 2003-01-31 Anders Carlsson <andersca@codefactory.se>
2003 * dbus/dbus-address.c: (dbus_address_entry_free):
2004 Free key and value lists.
2006 * dbus/dbus-internals.c: (_dbus_type_to_string):
2007 Add the types we didn't have.
2009 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
2010 (_dbus_marshal_validate_arg):
2013 * dbus/dbus-message.c: (dbus_message_set_sender):
2014 Remove todo about being able to set sender to NULL.
2016 (dbus_message_set_is_error_reply),
2017 (dbus_message_get_is_error_reply):
2018 * dbus/dbus-message.h:
2021 * dbus/dbus-protocol.h:
2022 Add error reply flag.
2024 * test/data/valid-messages/opposite-endian.message:
2025 Add NIL type to test.
2027 2003-01-31 Havoc Pennington <hp@pobox.com>
2029 * doc/dbus-specification.sgml: fully specify the header. Add
2030 flags and major protocol version, and change header/body len to
2033 * dbus/dbus-message-builder.c (append_saved_length): append length
2036 * dbus/dbus-message.c (dbus_message_create_header): change header
2037 length and body length to unsigned. Add the new fields from the
2039 (_dbus_message_loader_return_buffer): unsigned header/body len
2041 2003-01-30 Havoc Pennington <hp@pobox.com>
2043 * dbus/dbus-auth.c: rework to use only REJECTED, no
2046 * doc/dbus-sasl-profile.txt: drop MECHANISMS and just
2047 use REJECTED, suggested by Mark McLoughlin
2049 2003-01-30 Havoc Pennington <hp@pobox.com>
2051 * dbus/dbus-server.c (dbus_server_listen): @todo about how we need
2052 a better way to report errors here. e.g. "unix address lacks
2053 path" or something. also "no such file" when the path doesn't
2056 * dbus/dbus-address.c (dbus_address_entries_free): add @todo about
2058 (dbus_parse_address): add @todo about documenting address format,
2059 and allowing , and ; to be escaped
2061 2003-01-30 Anders Carlsson <andersca@codefactory.se>
2064 Add dbus-address.[ch]
2066 * dbus/dbus-address.c: (dbus_address_entry_free),
2067 (dbus_address_entries_free), (create_entry),
2068 (dbus_address_entry_get_method), (dbus_address_entry_get_value),
2069 (dbus_parse_address), (_dbus_address_test):
2070 * dbus/dbus-address.h:
2071 New files for dealing with address parsing.
2073 * dbus/dbus-connection.c:
2074 Document timeout functions.
2076 * dbus/dbus-message.c:
2077 Document dbus_message_new_from_message.
2079 * dbus/dbus-server-debug.c:
2082 * dbus/dbus-server.c: (dbus_server_listen):
2083 Parse address and use correct server implementation.
2085 * dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
2086 * dbus/dbus-string.h:
2087 New function with test.
2089 * dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
2093 * dbus/dbus-transport-debug.c:
2096 * dbus/dbus-transport.c: (_dbus_transport_open):
2097 Parse address and use correct transport implementation.
2099 2003-01-30 Havoc Pennington <hp@pobox.com>
2101 * dbus/dbus-message.c: use message->byte_order instead of
2102 DBUS_COMPILER_BYTE_ORDER throughout.
2103 (dbus_message_create_header): pad header to align the
2104 start of the body of the message to 8-byte boundary
2106 * dbus/dbus-marshal.h: make all the demarshalers take const
2107 DBusString arguments.
2109 * dbus/dbus-message.c (_dbus_message_loader_return_buffer):
2110 validate message args here, so we don't have to do slow validation
2111 later, and so we catch bad messages as they are incoming. Also add
2112 better checks on header_len and body_len. Also fill in
2115 * dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
2116 implemented properly)
2117 (_dbus_string_validate_nul): new function to check all-nul
2119 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
2120 get_arg_end_pos and remove all validation
2121 (_dbus_marshal_validate_arg): actually do validation here.
2123 2003-01-29 Havoc Pennington <hp@pobox.com>
2125 * dbus/dbus-message.c (check_message_handling): fix assertion
2126 failure on set_client_serial
2128 2003-01-28 Havoc Pennington <hp@pobox.com>
2130 * dbus/dbus-server-debug.c: Add doc section comments
2132 * dbus/dbus-transport-debug.c: add doc section comments
2134 2003-01-28 Havoc Pennington <hp@redhat.com>
2136 * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
2137 the reverse order from how I had it
2138 (_dbus_string_base64_encode): reverse encoding order. I was
2139 basically byteswapping everything during encoding.
2141 2003-01-28 Anders Carlsson <andersca@codefactory.se>
2143 * dbus/dbus-connection-internal.h:
2144 * dbus/dbus-connection.c: (_dbus_connection_add_timeout),
2145 (_dbus_connection_remove_timeout):
2146 Add functions for adding and removing timeouts.
2148 * dbus/dbus-message.c: (dbus_message_new_from_message):
2149 Add new function that takes a message and creates an exact
2150 copy of it, but with the refcount set to 1.
2151 (check_message_handling):
2154 * dbus/dbus-server-protected.h:
2155 * dbus/dbus-server.c: (_dbus_server_init_base),
2156 (_dbus_server_finalize_base), (_dbus_server_add_timeout),
2157 (dbus_server_set_timeout_functions):
2158 (_dbus_server_remove_timeout):
2159 New functions so that a server can add and remove timeouts.
2161 (dbus_server_listen):
2162 Add commented out call to dbus_server_debug_new.
2164 * dbus/dbus-timeout.c: (_dbus_timeout_new):
2165 Actually set the handler, doh.
2167 * dbus/dbus-transport.c: (_dbus_transport_open):
2168 Add commented out call to dbus_transport_debug_client_new.
2171 Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
2173 2003-01-28 Havoc Pennington <hp@pobox.com>
2175 * dbus/dbus-message.c (check_message_handling): function to check
2176 on the loaded message, iterates over it etc.
2178 2003-01-28 Havoc Pennington <hp@pobox.com>
2180 * test/Makefile.am (dist-hook): fix make distdir
2182 * dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
2184 2003-01-27 Havoc Pennington <hp@pobox.com>
2186 * dbus/dbus-mempool.c (time_for_size): replace printf with
2189 * dbus/dbus-message-builder.c (_dbus_message_data_load): allow
2190 empty lines; fix the SAVE_LENGTH stuff to be
2191 START_LENGTH/END_LENGTH so it actually works; couple other
2194 * test/Makefile.am (dist-hook): add dist-hook for .message files
2196 * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
2197 can be constant or locked.
2198 (_dbus_string_free): allow freeing a const string as
2201 * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
2203 * dbus/dbus-test-main.c (main): take an argument which is the
2204 directory containing test data
2206 * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
2207 argument to this and load all the messages in test/data/
2208 checking that they can be loaded or not loaded as appropriate.
2210 2003-01-27 Anders Carlsson <andersca@codefactory.se>
2212 * bus/dispatch.c: (bus_dispatch_message_handler):
2213 Dispatch messages sent to services.
2215 * bus/driver.c: (bus_driver_send_service_deleted),
2216 (bus_driver_send_service_created), (bus_driver_send_service_lost),
2217 (bus_driver_send_service_acquired):
2218 Add helper functions for sending service related messages.
2220 (bus_driver_send_welcome_message):
2221 Send HELLO_REPLY instead of WELCOME.
2223 (bus_driver_handle_list_services):
2224 Send LIST_SERVICES_REPLY instead of SERVICES.
2226 (bus_driver_handle_own_service),
2227 (bus_driver_handle_service_exists):
2228 New message handlers.
2230 (bus_driver_handle_message):
2231 Invoke new message handlers.
2233 (bus_driver_remove_connection):
2234 Don't remove any services here since that's done automatically
2235 by bus_service_remove_owner now.
2238 New function signatures.
2240 * bus/services.c: (bus_service_add_owner):
2241 Send ServiceAcquired message if we're the only primary owner.
2243 (bus_service_remove_owner):
2244 Send ServiceAcquired/ServiceLost messages.
2246 (bus_service_set_prohibit_replacement),
2247 (bus_service_get_prohibit_replacement):
2248 Functions for setting prohibit replacement.
2250 (bus_service_has_owner):
2251 New function that checks if a connection is in the owner queue of
2255 Add new function signatures.
2257 * dbus/dbus-list.c: (_dbus_list_test):
2258 Add tests for _dbus_list_remove_last and traversing the list backwards.
2261 Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
2262 go any further, so return NULL then.
2264 * dbus/dbus-protocol.h:
2265 Add new messages, service flags and service replies.
2267 2003-01-26 Havoc Pennington <hp@pobox.com>
2269 * dbus/dbus-message-builder.c: implement, completely untested.
2271 * test/data/*: add data to be used in testing.
2272 ".message" files are our simple loadable text format.
2273 ".message-raw" will be binary dumps of messages.
2275 * dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
2277 2003-01-26 Havoc Pennington <hp@pobox.com>
2279 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
2281 * dbus/dbus-errors.c (dbus_result_to_string): add
2284 * dbus/dbus-message-builder.c: new file, will contain code to load
2285 up messages from files. Not implemented yet.
2287 2003-01-26 Havoc Pennington <hp@pobox.com>
2289 * dbus/dbus-message.c (dbus_message_set_sender): support deleting
2290 the sender by setting to NULL
2292 2003-01-26 Havoc Pennington <hp@pobox.com>
2294 The unit tests pass, but otherwise untested. If it breaks, the
2295 tests should have been better. ;-)
2297 * bus/driver.c (bus_driver_handle_hello): return if we disconnect
2300 * dbus/dbus-message.c: redo everything so we maintain
2301 message->header as the only copy of the various fields.
2302 This avoids the possibility of out-of-memory in some cases,
2303 for example dbus_message_lock() can't run out of memory anymore,
2304 and avoids extra copying. Figured I may as well go ahead and do
2305 this since it was busted for dbus_message_lock to not return
2306 failure on OOM, and dbus_message_write_header was totally
2307 unchecked for OOM. Also fixed some random other bugs.
2309 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
2310 that strings are nul-terminated. Also, end_pos can be equal
2311 to string length just not greater than, I think.
2312 (_dbus_marshal_set_int32): new function
2313 (_dbus_marshal_set_uint32): new function
2314 (_dbus_marshal_set_string): new function
2316 * dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
2317 a warning, init timeout_list to NULL
2318 (dbus_connection_send_message): don't use uninitialized variable
2321 * dbus/dbus-string.c (_dbus_string_replace_len): new function
2323 2003-01-26 Anders Carlsson <andersca@codefactory.se>
2325 * bus/driver.c: (bus_driver_handle_hello),
2326 (bus_driver_send_welcome_message):
2329 2003-01-26 Anders Carlsson <andersca@codefactory.se>
2331 * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
2332 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
2333 (dbus_connection_unref):
2334 * dbus/dbus-marshal.c: (_dbus_marshal_test):
2335 * dbus/dbus-message.c: (dbus_message_unref),
2338 (dbus_message_get_fields):
2339 Remove debugging printout.
2341 (_dbus_message_loader_return_buffer):
2342 Don't store the header string.
2344 (_dbus_message_test):
2347 2003-01-26 Richard Hult <rhult@codefactory.se>
2349 * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
2350 the file descriptor list, since it can change under us.
2352 2003-01-25 Anders Carlsson <andersca@codefactory.se>
2354 * glib/dbus-gmain.c: (dbus_connection_prepare),
2355 (dbus_connection_check), (dbus_connection_dispatch), (add_watch),
2356 (remove_watch), (dbus_connection_hookup_with_g_main):
2357 Rewrite the glib handling to use its own GSource instead of a
2358 GIOChannel so we can catch messages put in the queue while waiting
2361 2003-01-25 Anders Carlsson <andersca@codefactory.se>
2364 * bus/connection.c: (connection_disconnect_handler),
2365 (connection_watch_callback), (bus_connection_setup):
2366 * bus/dispatch.c: (send_one_message),
2367 (bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
2368 (bus_dispatch_add_connection), (bus_dispatch_remove_connection):
2370 * bus/driver.c: (bus_driver_send_service_deleted),
2371 (bus_driver_send_service_created), (bus_driver_handle_hello),
2372 (bus_driver_send_welcome_message),
2373 (bus_driver_handle_list_services), (bus_driver_remove_connection),
2374 (bus_driver_handle_message):
2376 Refactor code, put the message dispatching in its own file. Use
2377 _DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
2380 2003-01-25 Anders Carlsson <andersca@codefactory.se>
2382 * dbus/dbus-internals.h:
2383 Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
2385 * dbus/dbus-message.c: (dbus_message_get_sender):
2386 * dbus/dbus-message.h:
2387 Implement dbus_message_get_sender.
2389 * dbus/dbus-protocol.h:
2390 Add message and service defines.
2392 2003-01-25 Anders Carlsson <andersca@codefactory.se>
2394 * dbus/dbus-connection.c: (dbus_connection_send_message):
2395 * dbus/dbus-message-internal.h:
2396 * dbus/dbus-message.c: (_dbus_message_get_client_serial),
2397 (dbus_message_write_header):
2398 Remove _dbus_messag_unlock and don't set the client serial on a
2399 message if one already exists.
2401 2003-01-24 Havoc Pennington <hp@pobox.com>
2403 * dbus/dbus-list.c (alloc_link): put a thread lock on the global
2406 * bus/driver.c (bus_driver_handle_list_services): fix a leak
2409 2003-01-25 Anders Carlsson <andersca@codefactory.se>
2411 * dbus/dbus-list.c: (alloc_link), (free_link):
2412 Use a memory pool for the links.
2414 2003-01-25 Anders Carlsson <andersca@codefactory.se>
2416 * bus/connection.c: (bus_connection_foreach):
2418 Add new bus_connection_foreach function.
2420 * bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
2421 Add function that broadcasts a message to all clients.
2423 (bus_driver_send_service_created), (bus_driver_handle_hello),
2424 (bus_driver_send_welcome_message),
2425 (bus_driver_handle_list_services), (bus_driver_message_handler):
2426 Implement functions that take care of listing services, and notifying
2427 clients when new services are created.
2429 * bus/services.c: (bus_services_list):
2431 Add new function that returns an array of strings with the currently
2432 registered services.
2435 * glib/dbus-gmain.c:
2436 Update copyright year.
2438 2003-01-25 Anders Carlsson <andersca@codefactory.se>
2440 * dbus/dbus-connection.c: (dbus_connection_send_message):
2441 Unlock the message in case it was sent earlier.
2443 (dbus_connection_send_message_with_reply_and_block):
2444 Remove the reply message from the list.
2446 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
2447 Set array_len and new_pos correctly.
2449 (_dbus_marshal_test):
2450 Remove debug output.
2452 * dbus/dbus-message-internal.h:
2453 * dbus/dbus-message.c: (_dbus_message_get_reply_serial):
2454 New function that returns the reply serial.
2456 (_dbus_message_unlock):
2457 New function that unlocks a message and resets its header.
2459 (dbus_message_append_string_array),
2460 (dbus_message_get_fields_valist),
2461 (dbus_message_iter_get_field_type),
2462 (dbus_message_iter_get_string_array),
2463 (dbus_message_get_fields),
2464 (dbus_message_append_fields_valist):
2465 Handle string arrays.
2467 (dbus_message_set_sender):
2468 Make this function public since the bus daemon needs it.
2470 (decode_header_data):
2471 Set the reply serial to -1 initially.
2473 * dbus/dbus-message.h:
2474 Add dbus_message_set_sender.
2476 2003-01-24 Havoc Pennington <hp@pobox.com>
2478 * doc/dbus-specification.sgml: add some stuff
2480 2003-01-22 Havoc Pennington <hp@pobox.com>
2482 * doc/dbus-specification.sgml: Start to document the protocol.
2484 2003-01-22 Havoc Pennington <hp@pobox.com>
2486 * dbus/dbus-connection.c
2487 (dbus_connection_send_message_with_reply_and_block): add some @todo
2489 * bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
2491 2003-01-21 Havoc Pennington <hp@pobox.com>
2493 (patch untested because can't compile)
2495 * bus/driver.c (create_unique_client_name): make this function
2496 never recycle client names. Also, caller should initialize
2499 * dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
2501 2003-01-21 Anders Carlsson <andersca@codefactory.se>
2503 * dbus/dbus-marshal.c: (_dbus_marshal_double),
2504 (_dbus_marshal_int32), (_dbus_marshal_uint32),
2505 (_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
2506 (_dbus_marshal_double_array), (_dbus_marshal_string_array),
2507 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
2508 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
2509 (_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
2510 * dbus/dbus-marshal.h:
2511 * dbus/dbus-protocol.h:
2512 Add support for marshalling and demarshalling integer, double
2515 2003-01-21 Anders Carlsson <andersca@codefactory.se>
2520 * bus/connection.c: (connection_disconnect_handler):
2521 Remove the connection from the bus driver's list.
2523 (connection_watch_callback): Dispatch messages.
2525 (free_connection_data): Free connection name.
2527 (bus_connection_setup): Add connection to the bus driver's list.
2528 (bus_connection_remove_owned_service):
2529 (bus_connection_set_name), (bus_connection_get_name):
2530 Add functions for setting and getting the connection's name.
2533 Add function headers.
2535 * bus/driver.c: (create_unique_client_name),
2536 (bus_driver_handle_hello_message),
2537 (bus_driver_send_welcome_message), (bus_driver_message_handler),
2538 (bus_driver_add_connection), (bus_driver_remove_connection):
2541 * bus/services.c: (bus_service_free):
2543 New file that handles communication and registreation with the bus
2546 2003-01-21 Anders Carlsson <andersca@codefactory.se>
2548 * dbus/dbus-connection.c: (dbus_connection_send_message):
2549 Add a new client_serial parameter.
2551 (dbus_connection_send_message_with_reply):
2552 Remove a @todo since we've implemented the blocking function.
2554 (dbus_connection_send_message_with_reply_and_block):
2555 New function that sends a message and waits for a reply and
2556 then returns the reply.
2558 * dbus/dbus-connection.h:
2561 * dbus/dbus-errors.c: (dbus_result_to_string):
2562 * dbus/dbus-errors.h:
2563 Add new DBUS_RESULT.
2565 * dbus/dbus-message-internal.h:
2566 * dbus/dbus-message.c: (_dbus_message_get_reply_serial),
2567 (_dbus_message_set_sender), (dbus_message_write_header),
2568 (dbus_message_new_reply), (decode_header_data),
2569 (_dbus_message_loader_return_buffer), (_dbus_message_test):
2570 * dbus/dbus-message.h:
2571 Add new functions that set the reply serial and sender.
2572 Also marshal and demarshal them correctly and add test.
2574 * dbus/dbus-protocol.h:
2575 Add new DBUS_MESSAGE_TYPE_SENDER.
2578 * glib/dbus-gmain.c: (watch_callback), (free_callback_data),
2579 (add_watch), (remove_watch), (add_timeout), (remove_timeout),
2580 (dbus_connection_hookup_with_g_main):
2581 * glib/test-dbus-glib.c: (main):
2582 Rewrite to use GIOChannel and remove the GSource crack.
2584 * test/echo-client.c: (main):
2585 * test/watch.c: (check_messages):
2586 Update for changed APIs
2588 2003-01-19 Anders Carlsson <andersca@codefactory.se>
2590 * dbus/Makefile.am: Add dbus-timeout.[cħ]
2592 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
2593 Create a DBusTimeoutList.
2594 (dbus_connection_set_timeout_functions): Add new function to
2595 set timeout callbacks
2597 * dbus/dbus-connection.h: Add public DBusTimeout API.
2599 * dbus/dbus-message.c: (dbus_message_get_service):
2600 * dbus/dbus-message.h: New function.
2602 * dbus/dbus-server.c: Fix small doc typo.
2604 * dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
2606 2003-01-19 Anders Carlsson <andersca@codefactory.se>
2608 * dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
2609 of the string, just as long as specified.
2611 2003-01-19 Havoc Pennington <hp@pobox.com>
2613 * dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
2616 * dbus/dbus-server.c (dbus_server_set_max_connections)
2617 (dbus_server_get_max_connections, dbus_server_get_n_connections):
2618 keep track of current number of connections, and add API for
2619 setting a max (but haven't implemented enforcing the max yet)
2621 2003-01-18 Havoc Pennington <hp@pobox.com>
2623 * dbus/dbus-transport-unix.c (unix_do_iteration): only do the
2624 reading/writing if read_watch != NULL or write_watch != NULL.
2626 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
2627 the message loader code to actually load message->header and
2628 message->body into the newly-created message.
2630 * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
2633 * dbus/dbus-connection.c (dbus_connection_set_max_message_size)
2634 (dbus_connection_get_max_message_size)
2635 (dbus_connection_set_max_live_messages_size)
2636 (dbus_connection_get_max_live_messages_size): implement some
2637 resource limitation functions
2639 * dbus/dbus-resources.c: new file implementing some of the
2640 resource limits stuff
2642 * dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
2643 missing docs, add @todo to handle OOM etc.
2645 * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
2648 2003-01-18 Havoc Pennington <hp@pobox.com>
2650 * dbus/dbus-connection.c (dbus_connection_unref): disconnect the
2651 connection if it hasn't been already.
2653 * dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
2654 replace with DisconnectFunction.
2656 2003-01-18 Havoc Pennington <hp@pobox.com>
2658 Building --disable-verbose-mode --disable-asserts --disable-tests
2659 cuts the library from 112K to 45K or so
2661 * configure.in: check for varargs macro support,
2662 add --enable-verbose-mode, --enable-asserts.
2664 * dbus/dbus-internals.h (_dbus_assert): support
2666 (_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
2668 2003-01-18 Havoc Pennington <hp@pobox.com>
2670 * dbus/dbus-test.c: include config.h so that tests actually run
2672 * dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
2673 so the failure mode when that assumption fails will be plenty
2676 2003-01-18 Havoc Pennington <hp@pobox.com>
2678 * configure.in: default --enable-tests to $USE_MAINTAINER_MODE
2680 * dbus/Makefile.am: fix it up so dubs-test-main.c is included in
2683 * test/Makefile.am: don't use special variable "TESTS" for echo-*
2684 since we don't want to use those in make check
2686 2003-01-15 Havoc Pennington <hp@redhat.com>
2692 2003-01-15 Havoc Pennington <hp@redhat.com>
2694 * test/Makefile.am: fix so that test source code ends up in the
2695 distribution on make distcheck
2697 2003-01-15 Havoc Pennington <hp@redhat.com>
2703 2003-01-15 Havoc Pennington <hp@redhat.com>
2705 * dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
2706 fix build when --disable-tests
2708 * Makefile.am (EXTRA_DIST): put HACKING in here
2710 * HACKING: document procedure for making a tarball release.
2712 2003-01-14 Anders Carlsson <andersca@codefactory.se>
2714 * bus/connection.c: (connection_error_handler),
2715 (bus_connection_setup):
2716 * bus/main.c: (main):
2717 Make sure that the DBusConnectionData struct is NULLed
2718 out to prevent a segfault.
2720 * dbus/dbus-errors.c: (dbus_result_to_string):
2721 * dbus/dbus-errors.h:
2722 * dbus/dbus-message.c: (dbus_message_get_fields),
2723 (dbus_message_get_fields_valist), (_dbus_message_test):
2724 * dbus/dbus-message.h:
2725 Make dbus_message_get_fields return a result code so we can
2726 track invalid fields as well as oom.
2728 2003-01-11 Havoc Pennington <hp@pobox.com>
2730 * configure.in: change --enable-test/--enable-ansi action-if-given
2731 to enable_foo=$enableval instead of enable_foo=yes
2733 2003-01-08 Havoc Pennington <hp@pobox.com>
2735 * dbus/dbus-string.c (_dbus_string_align_length): new function
2737 * dbus/dbus-test-main.c: move main() for test app here
2739 (dbus_internal_symbol_do_not_use_run_tests): we have to export a
2740 symbol to run tests, because dbus-test isn't in the main
2743 Code review nitpicks.
2745 * dbus/dbus-message.c (dbus_message_write_header): add newlines
2746 for people with narrow emacs ;-). Assert client_serial was filled
2747 in. Assert message->name != NULL.
2748 (dbus_message_append_fields): have "first_field_type" arg separate
2749 from va list, needed for C++ binding that also uses varargs IIRC
2750 and helps with type safety
2751 (dbus_message_new): add @todo about using DBusString to store
2752 service/name internally
2753 (dbus_message_new): don't leak ->service and ->name on OOM later
2755 (dbus_message_unref): free the service name
2756 (dbus_message_get_fields): same change to varargs
2757 i.e. first_field_type
2758 (_dbus_message_loader_return_buffer): assert that the message data
2759 is aligned (if not it's a bug in our code). Put in verbose griping
2760 about why we set corrupted = TRUE.
2761 (decode_header_data): add FIXME that char* is evil. Was going to
2762 add FIXME about evil locale-specific string.h strncmp, but just
2763 switched to wacky string-as-uint32 optimization. Move check for
2764 "no room for field name" above get_const_data_len() to avoid
2765 assertion failure in get_const_data_len if we have trailing 2
2766 bytes or the like. Check for service and name fields being
2767 provided twice. Don't leak service/name on error. Require field
2768 names to be aligned to 4 bytes.
2770 * dbus/dbus-marshal.c: move byte swap stuff to header
2771 (_dbus_pack_int32): uscore-prefix
2772 (_dbus_unpack_int32): uscore-prefix
2773 (_dbus_unpack_uint32): export
2774 (_dbus_demarshal_string): add @todo complaining about use of
2776 (_dbus_marshal_get_field_end_pos): add @todo about bad error
2777 handling allowing corrupt data to go unchecked
2779 2003-01-08 Havoc Pennington <hp@redhat.com>
2781 * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
2782 to the select() as needed for authentication. (should be using
2783 _dbus_poll() not select, but for another day)
2785 * dbus/dbus.h: include dbus/dbus-protocol.h
2787 2003-01-08 Anders Carlsson <andersca@codefactory.se>
2789 * dbus/Makefile.am (dbusinclude_HEADERS): Install
2792 2003-01-08 Anders Carlsson <andersca@codefactory.se>
2794 * dbus/dbus-internals.c: (_dbus_type_to_string):
2795 New function that returns a string describing a type.
2797 * dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
2798 * dbus/dbus-marshal.h:
2799 * dbus/dbus-message.c: (dbus_message_get_fields_valist),
2800 (dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
2801 (dbus_message_iter_get_byte_array):
2802 * dbus/dbus-message.h:
2803 Add new convenience functions for appending and getting message fields.
2804 Also add demarshalling routines for byte arrays.
2806 2003-01-07 Anders Carlsson <andersca@codefactory.se>
2808 * dbus/dbus-connection-internal.h:
2809 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
2810 (_dbus_connection_get_next_client_serial),
2811 (dbus_connection_send_message):
2812 * dbus/dbus-internals.h:
2813 * dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
2814 (dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
2815 (_dbus_marshal_uint32), (_dbus_demarshal_double),
2816 (_dbus_demarshal_int32), (_dbus_demarshal_uint32),
2817 (_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
2818 (_dbus_verbose_bytes), (_dbus_marshal_test):
2819 * dbus/dbus-marshal.h:
2820 * dbus/dbus-message-internal.h:
2821 * dbus/dbus-message.c: (_dbus_message_set_client_serial),
2822 (dbus_message_write_header), (_dbus_message_lock),
2823 (dbus_message_new), (dbus_message_ref), (dbus_message_unref),
2824 (dbus_message_get_name), (dbus_message_append_int32),
2825 (dbus_message_append_uint32), (dbus_message_append_double),
2826 (dbus_message_append_string), (dbus_message_append_byte_array),
2827 (dbus_message_get_fields_iter), (dbus_message_iter_ref),
2828 (dbus_message_iter_unref), (dbus_message_iter_has_next),
2829 (dbus_message_iter_next), (dbus_message_iter_get_field_type),
2830 (dbus_message_iter_get_string), (dbus_message_iter_get_int32),
2831 (dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
2832 (decode_header_data), (_dbus_message_loader_return_buffer),
2833 (message_iter_test), (_dbus_message_test):
2834 * dbus/dbus-message.h:
2835 * dbus/dbus-protocol.h:
2836 * dbus/dbus-test.c: (main):
2838 * glib/test-dbus-glib.c: (message_handler), (main):
2839 * test/echo-client.c: (main):
2840 * test/watch.c: (check_messages):
2841 Make messages sendable and receivable for real.
2843 2003-01-07 Anders Carlsson <andersca@codefactory.se>
2845 * dbus/dbus-marshal.c: (_dbus_marshal_double),
2846 (_dbus_marshal_string), (_dbus_marshal_byte_array):
2847 * dbus/dbus-message.c: (dbus_message_append_int32),
2848 (dbus_message_append_uint32), (dbus_message_append_double),
2849 (dbus_message_append_string), (dbus_message_append_byte_array):
2850 Handle OOM restoration.
2852 2003-01-07 Anders Carlsson <andersca@codefactory.se>
2854 * dbus/dbus-marshal.c: (_dbus_marshal_string),
2855 (_dbus_demarshal_string), (_dbus_marshal_test):
2856 * dbus/dbus-marshal.h:
2857 * dbus/dbus-message.c: (dbus_message_get_name),
2858 Document these functions.
2860 (dbus_message_append_int32), (dbus_message_append_uint32),
2861 (dbus_message_append_double), (dbus_message_append_string),
2862 (dbus_message_append_byte_array):
2863 * dbus/dbus-message.h:
2864 Add functions for adding message fields of different types.
2866 * dbus/dbus-protocol.h:
2867 Add the different types.
2869 2003-01-05 Havoc Pennington <hp@pobox.com>
2871 * bus/connection.c: implement routines for handling connections,
2872 first thing is keeping a list of owned services on each connection
2873 and setting up watches etc.
2875 * bus/services.c: implement a mapping from service names to lists
2878 * dbus/dbus-hash.c: add DBUS_HASH_POINTER
2880 * dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
2881 to use static mutexes for global data
2883 * dbus/dbus-connection.c (dbus_connection_set_data): add new
2884 collection of functions to set/get application-specific data
2885 on the DBusConnection.
2887 2003-01-04 Havoc Pennington <hp@pobox.com>
2889 * dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
2890 (_dbus_poll): new function
2892 * dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
2895 * bus/loop.c: initial code for the daemon main loop
2897 2003-01-04 Havoc Pennington <hp@pobox.com>
2899 * test/watch.c (error_handler): make it safe if the error handler
2900 is called multiple times (if we s/error handler/disconnect
2901 handler/ we should just guarantee it's called only once)
2903 * dbus/dbus-transport.c (_dbus_transport_disconnect): call the
2904 error handler on disconnect (it's quite possible we should
2905 just change the error handler to a "disconnect handler," I'm
2906 not sure we have any other meaningful errors)
2908 * configure.in: check for getpwnam_r
2910 * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
2911 dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
2912 mechanism as in SASL spec, using socket credentials
2914 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
2915 (_dbus_send_credentials_unix_socket): new function
2917 * dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
2919 (_dbus_write): only check errno if <0 returned
2920 (_dbus_write_two): ditto
2922 2003-01-02 Anders Carlsson <andersca@codefactory.se>
2924 * dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
2925 (_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
2926 (_dbus_marshal_test):
2927 * dbus/dbus-marshal.h:
2928 Add _dbus_marshal_byte_array and rename _dbus_marshal_string
2929 to _dbus_marshal_utf8_string. Also fix some tests.
2931 2002-12-28 Harri Porten <porten@kde.org>
2933 * configure.in: added check for C++ compiler and a very cheesy
2934 check for the Qt integration
2936 * Makefile.am (SUBDIRS): compile qt subdir if support is enabled
2938 * qt/Makefile.am: added
2940 * qt/.cvsignore: added
2942 * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
2943 latter, added #ifdef QT_THREAD_SUPPORT guard.
2945 * dbus/Makefile.am: added missing headers for make dist
2947 2002-12-28 Kristian Rietveld <kris@gtk.org>
2949 * dbus/Makefile.am: fixup export-symbols-regex.
2951 2002-12-27 Anders Carlsson <andersca@codefactory.se>
2953 * acinclude.m4: Add this file and put the
2954 PKG_CHECK_MODULE macro in it.
2956 2002-12-27 Anders Carlsson <andersca@codefactory.se>
2958 * dbus/dbus-marshal.c: (_dbus_marshal_string),
2959 (_dbus_demarshal_double), (_dbus_demarshal_int32),
2960 (_dbus_demarshal_uint32), (_dbus_demarshal_string),
2961 (_dbus_marshal_test):
2962 Make the demarshalling routines align the pos argument.
2963 Add string marshalling tests and fix the obvious bugs
2966 2002-12-26 Havoc Pennington <hp@pobox.com>
2968 * dbus/dbus-auth.c: fixes fixes fixes
2970 * dbus/dbus-transport-unix.c: wire up support for
2971 encoding/decoding data on the wire
2973 * dbus/dbus-auth.c (_dbus_auth_encode_data)
2974 (_dbus_auth_decode_data): append to target string
2975 instead of nuking it.
2977 2002-12-26 Havoc Pennington <hp@pobox.com>
2979 * dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
2980 WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
2983 * dbus/dbus-marshal.c: Add macros to do int swapping in-place and
2984 avoid swap_bytes() overhead (ignoring possible assembly stuff for
2985 now). Main point is because I wanted unpack_uint32 to implement
2987 (_dbus_verbose_bytes): new function
2989 * dbus/dbus-string.c (_dbus_string_validate_ascii): new function
2991 * dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
2992 mechanism to handle a corrupt message stream
2993 (_dbus_message_loader_new): fix preallocation to only prealloc,
2996 * dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
2997 (_dbus_string_test): enhance tests for copy/move and fix the
3000 * dbus/dbus-transport-unix.c: Hold references in more places to
3001 avoid reentrancy problems
3003 * dbus/dbus-transport.c: ditto
3005 * dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
3006 leak reference count in no-message case
3008 * test/watch.c (do_mainloop): handle adding/removing watches
3009 during iteration over the watches. Also, ref the connection/server
3010 stored on a watch, so we don't try to mangle a destroyed one.
3012 * dbus/dbus-transport-unix.c (do_authentication): perform
3015 * dbus/dbus-auth.c (get_state): add a state
3016 AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
3017 (_dbus_auth_get_unused_bytes): append the unused bytes
3018 to the passed in string, rather than prepend
3020 * dbus/dbus-transport.c (_dbus_transport_init_base): create
3021 the auth conversation DBusAuth
3023 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
3024 (_dbus_transport_new_for_domain_socket): when creating a
3025 transport, pass in whether it's a client-side or server-side
3026 transport so we know which DBusAuth to create
3028 2002-12-03 Havoc Pennington <hp@pobox.com>
3030 * dbus/dbus-transport-unix.c (unix_finalize): finalize base
3031 _after_ finalizing the derived members
3032 (unix_connection_set): unref watch if we fail to add it
3034 * dbus/dbus-connection.c (dbus_connection_unref): delete the
3035 transport first, so that the connection owned by the
3036 transport will be valid as the transport finalizes.
3038 * dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
3039 if necessary, and remove watches from the connection.
3041 * dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
3043 2002-12-26 Anders Carlsson <andersca@codefactory.se>
3045 * dbus/dbus-marshal.c: (_dbus_marshal_string),
3046 (_dbus_demarshal_double), (_dbus_demarshal_int32),
3047 (_dbus_demarshal_uint32), (_dbus_demarshal_string),
3048 (_dbus_marshal_test):
3049 * dbus/dbus-marshal.h:
3050 Add string marshal functions and have the demarshal functions
3051 return the new position.
3053 2002-12-25 Havoc Pennington <hp@pobox.com>
3055 * doc/dbus-sasl-profile.txt: docs on the authentication protocol,
3056 it is a simple protocol that just maps directly to SASL.
3058 * dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
3059 initial implementation, not actually used yet.
3061 * dbus/dbus-string.c (_dbus_string_find): new function
3062 (_dbus_string_equal): new function
3063 (_dbus_string_base64_encode): new function
3064 (_dbus_string_base64_decode): new function
3066 2002-12-25 Anders Carlsson <andersca@codefactory.se>
3069 * dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
3070 (_dbus_marshal_int32), (_dbus_marshal_uint32),
3071 (_dbus_demarshal_double), (_dbus_demarshal_int32),
3072 (_dbus_demarshal_uint32), (_dbus_marshal_test):
3073 * dbus/dbus-marshal.h:
3074 * dbus/dbus-protocol.h:
3075 * dbus/dbus-test.c: (main):
3077 Add un-optimized marshalling/demarshalling routines.
3079 2002-12-25 Harri Porten <porten@kde.org>
3081 * qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
3083 2002-12-24 Zack Rusin <zack@kde.org>
3085 * qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
3086 * qt/dbus-qt.h: skeleton with two sample implemenatation of the
3089 2002-12-24 Havoc Pennington <hp@pobox.com>
3091 * glib/dbus-gthread.c: fix include
3093 * glib/dbus-glib.h: rename DBusMessageHandler for now.
3094 I think glib API needs to change, though, as you don't
3095 want to use DBusMessageFunction, you want to use the
3096 DBusMessageHandler object. Probably
3097 dbus_connection_open_with_g_main_loop()
3098 and dbus_connection_setup_g_main_loop() or something like that
3099 (but think of better names...) that just create a connection
3100 that has watch/timeout functions etc. already set up.
3102 * dbus/dbus-connection.c
3103 (dbus_connection_send_message_with_reply): new function just to
3104 show how the message handler helps us deal with replies.
3106 * dbus/dbus-list.c (_dbus_list_remove_last): new function
3108 * dbus/dbus-string.c (_dbus_string_test): free a string that
3111 * dbus/dbus-hash.c: use memory pools for the hash entries
3112 (rebuild_table): be more paranoid about overflow, and
3113 shrink table when we can
3114 (_dbus_hash_test): reduce number of sprintfs and write
3115 valid C89. Add tests for case where we grow and then
3116 shrink the hash table.
3118 * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
3120 * dbus/dbus-connection.c (dbus_connection_register_handler)
3121 (dbus_connection_unregister_handler): new functions
3123 * dbus/dbus-message.c (dbus_message_get_name): new
3125 * dbus/dbus-list.c: fix docs typo
3127 * dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
3128 an object representing a handler for messages.
3130 2002-12-16 Anders Carlsson <andersca@codefactory.se>
3133 * glib/dbus-gthread.c: (dbus_gthread_init):
3134 Don't use the gdbus prefix for public functions.
3136 2002-12-16 Anders Carlsson <andersca@codefactory.se>
3140 Add GLib checks and fixup .pc files
3144 * glib/dbus-gmain.c: (gdbus_connection_prepare),
3145 (gdbus_connection_check), (gdbus_connection_dispatch),
3146 (gdbus_add_connection_watch), (gdbus_remove_connection_watch),
3147 (dbus_connection_gsource_new):
3148 * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
3149 (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
3150 * glib/test-dbus-glib.c: (message_handler), (main):
3153 2002-12-15 Harri Porten <porten@kde.org>
3155 * autogen.sh: check for libtoolize before attempting to use it
3157 * dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
3160 * .cvsignore: ignore more stamp files
3162 * dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
3164 * test/Makefile.am: added -I$(top_srcdir) to be able to compile
3165 without make install.
3167 2002-12-15 Havoc Pennington <hp@pobox.com>
3169 * dbus/dbus-threads.c: add thread stubs that a higher library
3170 layer can fill in. e.g. the GLib wrapper might fill them in with
3171 GThread stuff. We still need to use this thread API to
3172 thread-safe-ize the library.
3174 2002-12-12 Havoc Pennington <hp@pobox.com>
3176 * dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
3177 below new interfaces and include fewer system headers.
3179 * dbus/dbus-sysdeps.c (_dbus_read): new function
3180 (_dbus_write): new function
3181 (_dbus_write_two): new function
3182 (_dbus_connect_unix_socket): new function
3183 (_dbus_listen_unix_socket): new function
3185 * dbus/dbus-message-internal.h: change interfaces to use
3188 2002-12-11 Havoc Pennington <hp@pobox.com>
3190 * dbus/dbus-types.h: add dbus_unichar
3192 * dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
3194 * dbus/dbus-connection.c (dbus_connection_send_message): return
3197 * dbus/dbus-transport.c: include dbus-watch.h
3199 * dbus/dbus-connection.c: include dbus-message-internal.h
3201 * HACKING: add file with coding guidelines stuff.
3203 * dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
3204 handling here, for security purposes (as in vsftpd). Not actually
3205 using this class yet.
3207 * dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
3208 system/libc usage here, as in vsftpd, for ease of auditing (and
3209 should also simplify portability). Haven't actually moved all the
3210 system/libc usage into here yet.
3212 2002-11-25 Havoc Pennington <hp@pobox.com>
3214 * dbus/dbus-internals.c (_dbus_verbose): fix to not
3215 always print the first verbose message.
3217 2002-11-24 Havoc Pennington <hp@pobox.com>
3219 * test/echo-client.c, test/echo-server.c: cheesy test
3222 * configure.in (AC_CHECK_FUNCS): check for writev
3224 * dbus/dbus-message.c (_dbus_message_get_network_data): new
3227 * dbus/dbus-list.c (_dbus_list_foreach): new function
3229 * dbus/dbus-internals.c (_dbus_verbose): new function
3231 * dbus/dbus-server.c, dbus/dbus-server.h: public object
3232 representing a server that listens for connections.
3234 * dbus/.cvsignore: create
3236 * dbus/dbus-errors.h, dbus/dbus-errors.c:
3237 public API for reporting errors
3239 * dbus/dbus-connection.h, dbus/dbus-connection.c:
3240 public object representing a connection that
3241 sends/receives messages. (Same object used for
3242 both client and server.)
3244 * dbus/dbus-transport.h, dbus/dbus-transport.c:
3245 Basic abstraction for different kinds of stream
3246 that we might read/write messages from.
3248 2002-11-23 Havoc Pennington <hp@pobox.com>
3250 * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
3253 * dbus/dbus-test.c (main): add list test, and include
3254 dbus-test.h as intended
3256 * dbus/dbus-hash.c (_dbus_hash_table_remove_string)
3257 (_dbus_hash_table_remove_int): return value indicates
3258 whether the entry existed to remove
3260 * dbus/dbus-list.c: add linked list utility class,
3263 * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
3266 2002-11-23 Havoc Pennington <hp@pobox.com>
3268 * Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
3269 DBUS_END_DECLS to nothing, that should fix this once and for all
3271 * Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
3273 * dbus/dbus-message.c, dbus/dbus-hash.c:
3274 add some missing @brief
3276 2002-11-23 Havoc Pennington <hp@pobox.com>
3278 * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS
3279 to avoid confusing Doxygen
3281 * dbus/dbus-hash.c: @} not }@
3283 * dbus/dbus-message.c (struct DBusMessage): split out
3286 2002-11-23 Havoc Pennington <hp@pobox.com>
3288 * configure.in: pile on more warning flags if using gcc
3290 * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
3291 to document static functions
3293 * configure.in: add summary to end of configure so it
3294 looks nice and attractive
3296 * dbus/dbus-hash.c: finish implementation and write unit
3299 * configure.in: add --enable-tests to enable unit tests
3301 * dbus/dbus-test.c: test program to run unit tests
3302 for all files in dbus/*, initially runs a test for
3305 * dbus/dbus-internals.h: file to hold some internal utility stuff
3307 2002-11-22 Havoc Pennington <hp@redhat.com>
3309 * dbus/dbus-hash.c: copy in Tcl hash table, not yet
3310 "ported" away from Tcl
3312 * dbus/dbus-types.h: header for types such as dbus_bool_t
3314 2002-11-22 Havoc Pennington <hp@redhat.com>
3316 * dbus/dbus.h: fixups for doc warnings
3318 * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up
3320 (QUIET): make it quiet so we can see warnings
3322 * dbus/dbus-memory.c: teach D-BUS to allocate and free memory
3324 2002-11-22 Havoc Pennington <hp@redhat.com>
3326 * Makefile.am: include "Doxyfile" target in all-local
3328 * configure.in: generate the Doxyfile
3330 * Doxyfile.in: move Doxyfile here, so we can use
3331 configure to generate a Doxyfile with the right
3334 2002-11-22 Havoc Pennington <hp@redhat.com>
3336 * dbus/dbus-message.c: move inline docs into .c file
3338 * Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
3339 so all docs are under doc/
3340 (MAN_EXTENSION): generate man pages. Use extension
3341 ".3dbus" which matches ".3qt" on my system,
3342 I guess this is OK, I don't know really.
3343 (FILE_PATTERNS): look for .c files not .h, makes sense
3346 2002-11-22 Havoc Pennington <hp@pobox.com>
3348 * Makefile.am (SUBDIRS): rename subdir "server" to "bus"
3349 because any app can be a server, and any app can be a client,
3350 the bus is a special kind of server.
3352 Thu Nov 21 23:35:31 2002 Zack Rusin <zack@kde.org>
3354 * Doxyfile : adding. Still needs Makefile rules to be generated
3355 automatically (just run "doxygen" in the toplevel dir for now to
3358 * dbus/dbus-message.h : Adding sample docs (javadoc since
3359 resembles gtk-doc a little more)
3361 * dbus/dbus.h : Adding sample docs
3363 2002-11-21 Havoc Pennington <hp@redhat.com>
3365 * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
3366 so we can allow ourselves to include files directly,
3367 instead of having to use dbus.h
3369 * dbus/dbus.h: fill in
3371 * dbus/dbus-message.h: sketch out a sample header file.
3372 Include griping if you include it directly instead of
3375 * dbus/dbus-macros.h: new file with macros for extern "C",
3376 TRUE/FALSE, NULL, etc.
3378 * doc/file-boilerplate.c: put include guards in here
3380 2002-11-21 Havoc Pennington <hp@redhat.com>
3382 * doc/file-boilerplate.c: include both AFL and GPL boilerplate.
3384 * COPYING: include the GPL as well, and license code
3385 under both AFL and GPL.
3387 2002-11-21 Havoc Pennington <hp@redhat.com>
3389 * acconfig.h: get rid of this
3391 * autogen.sh (run_configure): add --no-configure option
3393 * configure.in: remove AC_ARG_PROGRAM to make
3394 autoconf complain less. add AC_PREREQ.
3395 add AC_DEFINE third arg.
3397 2002-11-21 Anders Carlsson <andersca@codefactory.se>
3400 Fix references so we can distcheck.
3402 2002-11-21 Havoc Pennington <hp@redhat.com>
3404 * Initial module creation