1 2003-04-11 Havoc Pennington <hp@redhat.com>
3 * configure.in: add another directory to look for qt in.
5 2003-04-11 Havoc Pennington <hp@redhat.com>
7 * AUTHORS: add Colin Walters
9 2003-04-11 Havoc Pennington <hp@redhat.com>
15 2003-04-11 Havoc Pennington <hp@redhat.com>
17 * bus/messagebus.in: remove pid file when stopping the
18 message bus, since the bus won't have privileges to remove it
21 2003-04-11 Havoc Pennington <hp@redhat.com>
23 * bus/bus.c (bus_context_new): move credentials change after
26 2003-04-11 Havoc Pennington <hp@pobox.com>
28 * test/decode-gcov.c: add "below average functions" to the
29 coverage report, and change how some of the code works.
31 * bus/test-main.c: bracket some stuff in DBUS_BUILD_TESTS so it's
32 not in the coverage stats.
34 * test/test-service.c (main): use _dbus_verbose not fprintf in a
35 couple places so running the test suite doesn't result in megaspam.
37 2003-04-11 Havoc Pennington <hp@pobox.com>
39 * bus/dispatch.c (check_existent_service_activation): accept a no
40 memory error in a place we didn't before
42 * bus/test.c (bus_test_run_everything): remove hacky "do it twice
43 in case the first one failed," since the test suite is less
46 2003-04-10 Havoc Pennington <hp@pobox.com>
48 * bus/dispatch.c (check_segfault_service_activation): add test
49 for launching an executable that just crashes.
51 * test/test-segfault.c (main): try setting coredumpsize to 0 so we
52 don't leave a million cores. We'll see how portable this is.
54 2003-04-10 Havoc Pennington <hp@pobox.com>
56 * dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all
57 the possible parent failures before we fork, so that we don't
58 fail to create a babysitter after creating the child.
60 * bus/activation.c (bus_activation_activate_service): kill child
61 if we don't successfully complete the activation.
63 2003-04-10 Havoc Pennington <hp@redhat.com>
65 * dbus/dbus-connection.c (dbus_connection_flush): don't spin on
66 the connection if it's disconnected
68 * bus/activation.c (bus_activation_service_created): use new
69 transaction features to roll back removal of pending activation if
70 we don't successfully create the service after all. Don't remove
71 pending activation if the function fails.
73 * dbus/dbus-list.c (_dbus_list_insert_before_link)
74 (_dbus_list_insert_after_link): new code to facilitate
77 * dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated):
78 new functionality, so we can preallocate the ability to insert
81 * bus/connection.c (bus_transaction_add_cancel_hook): new function
82 allowing us to put custom hooks in a transaction to be used for
83 cancelling said transaction
85 * doc/dbus-specification.sgml: add some discussion of secondary
86 service owners, and disallow zero-length service names
88 * bus/services.c (bus_registry_acquire_service): new function,
89 splits out part of bus_driver_handle_acquire_service() and fixes
90 a bug where we didn't remove the service doing the acquiring
91 from the secondary queue if we failed to remove the current owner
92 from the front of the queue.
94 2003-04-10 Alexander Larsson <alexl@redhat.com>
96 * doc/dbus-specification.sgml:
97 s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/
99 2003-04-10 Alexander Larsson <alexl@redhat.com>
104 Added files to cvsignore
106 * dbus/dbus-message.h:
107 * dbus/dbus-message.c: (dbus_message_iter_get_named):
108 Make get_named() take two out argument and return a boolean.
109 (dbus_message_iter_get_args_valist):
110 Update usage of get_named().
111 (dbus_message_iter_append_byte):
113 (dbus_message_iter_append_named)
115 (message_iter_test), (check_message_handling_type), (_dbus_message_test):
118 2003-04-10 Alexander Larsson <alexl@redhat.com>
120 * dbus/dbus-marshal.[ch]:
121 Add array_type_pos argument to _dbus_marshal_validate_arg.
122 Let you pass a NULL end_pos to _dbus_marshal_validate_type.
124 * dbus/dbus-message.[ch]:
125 Multi-dimensional arrays have full type specification in the
126 outermost array. Iter code re-arranged to handle this.
127 Added some more iter tests.
129 * doc/dbus-specification.sgml:
132 Update new array encoding description.
133 Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description.
135 * test/data/invalid-messages/array-with-mixed-types.message:
136 * test/data/valid-messages/array-of-array-of-uint32.message:
137 Change to the new array format.
139 * test/data/invalid-messages/too-short-dict.message:
142 * test/data/valid-messages/recursive-types.message:
143 Fix up and extend test.
145 2003-04-10 Havoc Pennington <hp@pobox.com>
147 * bus/dispatch.c: lots of fixes
149 * dbus/dbus-mainloop.c (_dbus_loop_dispatch): export
150 (_dbus_loop_iterate): remove old "quit if no callbacks" code,
151 that was crack, broke the test service.
153 * dbus/dbus-transport.c (_dbus_transport_open): fix error
154 handling to avoid piling up errors if we get a failure on the
157 * dbus/dbus-internals.c (_dbus_real_assert_not_reached): include
158 pid in assertion failures.
160 * dbus/dbus-mainloop.c (_dbus_loop_iterate): use static arrays up
161 to some fixed size of file descriptor array. Don't return TRUE
162 anytime a timeout exists, that led to lots of busy loop silliness
165 2003-04-09 Havoc Pennington <hp@redhat.com>
167 * dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought
168 I'd checked this in earlier but hadn't.
170 2003-04-09 Havoc Pennington <hp@redhat.com>
172 * bus/dispatch.c (bus_dispatch_test): get a bit further through
173 the activation test (man this is getting old!)
175 2003-04-09 Havoc Pennington <hp@redhat.com>
177 * test/test-utils.c: use dispatch status function to fix this up
179 * bus/connection.c (connection_watch_callback): don't dispatch
181 (connection_timeout_callback): don't dispatch from here
182 (bus_connections_setup_connection): set the dispatch status function
183 (bus_connection_disconnected): unset it
185 * dbus/dbus-mainloop.c (_dbus_loop_queue_dispatch): new function
186 used to add a connection to be dispatched
187 (_dbus_loop_iterate): do the dispatching at the end of each
190 * dbus/dbus-connection.c
191 (dbus_connection_set_dispatch_status_function): new function
192 allowing us to fix up main loop usage
193 (_dbus_connection_last_unref): free all the various function
195 (dbus_connection_dispatch): call the DispatchStatusFunction
196 whenever this function returns
197 (dbus_connection_handle_watch): call DispatchStatusFunction
198 (dbus_connection_send_with_reply_and_block): call DispatchStatusFunction
199 (reply_handler_timeout): call DispatchStatusFunction
200 (dbus_connection_flush): call DispatchStatusFunction
202 2003-04-09 Havoc Pennington <hp@redhat.com>
204 * dbus/dbus-bus.c (dbus_bus_register): fix up error handling and
207 * bus/dispatch.c (check_service_activated): fix bug in test
209 * dbus/dbus-mainloop.c (check_timeout): fix this up
211 * dbus/dbus-internals.c (_dbus_verbose_real): include PID in
212 verbose output so we can sort out output from different processes,
213 e.g. in the activation case.
215 2003-04-08 Colin Walters <walters@gnu.org>
217 * bus/bus.c (struct BusContext) [pidfile]: New member, to store
219 (bus_context_new): Set it.
220 (bus_context_unref): Use it to delete the pid file.
222 2003-04-08 Havoc Pennington <hp@redhat.com>
224 * test/data/invalid-messages/array-with-mixed-types.message:
225 regression test that fails for the moment
227 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): reorder
228 tests for convenience
230 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): don't allow
231 array of nil, it broke things.
233 * test/data/invalid-messages/array-of-nil.message: regression test
235 * test/data/valid-messages/array-of-array-of-uint32.message:
236 happened to write this so added it to suite
238 2003-04-08 Havoc Pennington <hp@redhat.com>
240 * bus/driver.c (bus_driver_handle_acquire_service): init
241 retval/reply before checking name
243 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add a
244 recursion depth argument
246 * dbus/dbus-message.h (struct DBusMessageIter): put some padding
247 in the public struct for future extension
249 * dbus/dbus-message-builder.c (_dbus_message_data_load): fix
252 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix a verbose
255 * doc/dbus-specification.sgml: fix typo
257 2003-04-08 Alexander Larsson <alexl@redhat.com>
259 Implemented recursive types, named types and new-style iters
262 * glib/test-thread-client.c: (thread_func):
263 * glib/test-thread-server.c: (handle_test_message):
264 * test/test-service.c: (handle_echo):
273 * dbus/dbus-internals.c: (_dbus_type_to_string):
274 Update for new types.
276 * dbus/dbus-marshal.[ch]:
277 Implement recursive types and the new marshalling format.
278 Remove hardcoded dict marshalling.
281 * dbus/dbus-message-builder.c:
283 Remove references to old types
285 * dbus/dbus-message.[ch]:
286 New non-refcounted iter API that supports recursive iters.
287 Use iters for appending, including support for recursive
289 Add byte and named type support.
290 Update everything to new marshalling formats.
291 Add tests for new API.
293 * dbus/dbus-protocol.h:
294 Remove old array types.
295 Add types: BYTE, ARRAY, DICT, NAMED
297 * dbus/dbus-string.c:
298 * dbus/dbus-sysdeps.c:
299 Make parse_double locale safe.
301 * dbus/dbus-test-main.c:
307 * doc/dbus-specification.sgml:
310 * test/data/incomplete-messages/missing-body.message:
311 * test/data/invalid-messages/bad-boolean.message:
312 * test/data/invalid-messages/bad-boolean-array.message:
313 * test/data/invalid-messages/boolean-array-length-too-long.message-raw:
314 * test/data/invalid-messages/boolean-has-no-value.message-raw:
315 * test/data/invalid-messages/too-short-dict.message:
316 * test/data/valid-messages/dict-simple.message:
317 * test/data/valid-messages/dict.message:
318 * test/data/valid-messages/emptiness.message:
319 * test/data/valid-messages/lots-of-arguments.message:
320 * test/data/valid-messages/no-padding.message:
321 * test/data/valid-messages/recursive-types.message:
322 Add missing NAME fields
323 Fix up dicts & arrays
325 * test/data/invalid-messages/dict-with-nil-value.message:
326 Removed, this is not invalid anymore.
328 * test/data/valid-messages/recursive-types.message:
329 Add new test for deeply recursive types.
331 2003-04-07 Havoc Pennington <hp@pobox.com>
333 * bus/driver.c (bus_driver_handle_acquire_service): return an
334 error if you try to acquire a service that starts with ':'
336 2003-04-07 Havoc Pennington <hp@redhat.com>
338 * doc/dbus-specification.sgml: require that base service names
339 start with ':' and that the base service is created/deleted
340 as first and last things a connection does on the bus
342 * bus/dispatch.c (check_existent_service_activation): lots more
343 work on the activation test; it doesn't fully pass yet...
345 * test/test-service.c (main): fix so we don't memleak the
346 connection to the message bus
347 (filter_func): accept a message asking us to exit
349 2003-04-06 Havoc Pennington <hp@pobox.com>
351 * qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h,
354 * configure.in: fixes to Qt detection from Colin Walters
356 * doc/Makefile.am: Only remove generated docbook dirs if they
357 exist, from Colin Walters
359 * dbus/dbus-bus.c: change how we set well-known connections to
360 NULL, so that it works if a single connection is stored in
361 two well-known array slots.
363 * test/Makefile.am: remove a lot of stuff that isn't immediately
364 useful, it's in CVS history if we want it.
366 * test/test-service.c: use dbus-mainloop instead of that
369 2003-04-06 Havoc Pennington <hp@pobox.com>
371 * dbus/Makefile.am: split lists of sources into stuff that goes in
372 the library, util functions that go in the lib and are also used
373 elsewhere, and util functions that are used in tests/daemon but
376 * dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc]
377 here so it can be used in test binaries also
379 2003-04-06 Havoc Pennington <hp@pobox.com>
381 * dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile
382 here in the parent process, so we can return an error if it
383 fails. Also, move some of the code into the child so the parent
384 is less hosed if we fail midway through.
386 * bus/bus.c (bus_context_new): move pidfile detection further up
387 in the function, before we start overwriting sockets and such.
389 * bus/messagebus.in: adjust this a bit, not sure if it will work.
391 * configure.in: add --with-system-pid-file and --with-system-socket
393 2003-04-06 Colin Walters <walters@verbum.org>
395 * configure.in (DBUS_SYSTEM_PID_FILE): New variable.
397 * bus/system.conf.in: Declare a pidfile.
399 * bus/bus.c (bus_context_new): Test for an existing pid file, and
400 create one (if appropriate).
402 * bus/config-parser.c (enum ElementType) [ELEMENT_PIDFILE]: New.
403 (struct BusConfigParser) [pidfile]: New.
404 (element_type_to_name, merge_included, start_busconfig_child)
405 (bus_config_parser_end_element, bus_config_parser_content): Handle it.
406 (bus_config_parser_unref): Free it.
407 (bus_config_parser_get_pidfile): New function.
409 * bus/config-parser.h (_dbus_write_pid_file): Prototype.
411 * dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error.
413 * dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function.
415 * dbus/dbus-sysdeps.h: Prototype it.
417 2003-04-06 Havoc Pennington <hp@pobox.com>
419 * bus/bus.c (bus_context_new): print the address in here, rather
420 than in main(), because we need to do it before forking the daemon
422 * bus/dispatch.c (send_service_nonexistent_error): set the sender
423 on the service nonexistent error
425 * bus/driver.c (bus_driver_handle_acquire_service): set the
426 sender on the AcquireService reply
428 * test/data/valid-config-files/debug-allow-all.conf.in: Make test
429 server also listen on a UNIX socket so services can connect to it.
431 2003-04-06 Havoc Pennington <hp@pobox.com>
433 * dbus/dbus-threads.c: Redo how the fake debug mutexes are done
434 so it detects deadlocks and also we actually init threads when
437 2003-04-06 Havoc Pennington <hp@pobox.com>
439 * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
440 save the domain socket name, and unlink it when we disconnect the
441 server. Means that at least when we exit normally, we won't leave
442 a bunch of junk in /tmp
444 * dbus/dbus-transport-unix.c
445 (_dbus_transport_new_for_domain_socket): code cleanup (nicer
446 memory management). (I was making a real change here but then
449 2003-04-06 Havoc Pennington <hp@pobox.com>
451 * bus/bus.c (bus_context_new): fix wrong handling of
452 server_data_slot_unref() in the error case.
454 * dbus/dbus-internals.h (_dbus_assert): change so it passes
455 "(condition) != 0" to _dbus_real_assert so that
456 "_dbus_assert (pointer)" doesn't cause a warning
458 * bus/main.c (main): accept --print-address option to print out
459 the message bus address
461 * dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this
463 * dbus/dbus-transport.c (_dbus_transport_open): special error for
464 "tmpdir" option to unix: address on client side
466 * dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option
469 * configure.in (TEST_SOCKET_DIR): locate a temporary directory
470 we can use to create sockets in the test suite.
472 * bus/main.c (signal_handler): on SIGTERM, exit the daemon
473 cleanly. To be used for testing.
475 * dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler()
477 * dbus/dbus-sysdeps.c (_dbus_set_signal_handler): new
479 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
480 handle trying to call this when there's no servers active
482 2003-04-05 Havoc Pennington <hp@pobox.com>
488 2003-04-05 Havoc Pennington <hp@pobox.com>
490 * bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't
491 crash on startup. Need to get "try starting the daemon"
492 in the test suite I guess. ;-)
494 * dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
495 tracked the number of open connections; it's better done in
496 application-specific code as you want it to span all servers etc.
498 2003-04-05 Havoc Pennington <hp@pobox.com>
500 * bus/Makefile.am (install-data-hook): add missing DESTDIR,
501 patch from Colin Walters
503 2003-04-05 Havoc Pennington <hp@pobox.com>
505 * doc/config-file.txt (Elements): fix docs of <auth> to reflect
506 reality; in fact multiple mechanisms are allowed.
508 * dbus/dbus-internals.c (_dbus_real_assert)
509 (_dbus_real_assert_not_reached): move guts of _dbus_assert() and
510 _dbus_assert_not_reached() into functions, so that they don't show
511 up in basic block counts for test coverage, and don't use up as
512 much disk space. Does mean slower execution speed though, so
513 assumes --disable-asserts is the normal production case.
515 2003-04-05 Havoc Pennington <hp@pobox.com>
517 * test/Makefile.am (dist-hook): also dist *.in files
523 2003-04-05 Havoc Pennington <hp@pobox.com>
525 * dbus/dbus-string.c: docs warning
527 * dbus/dbus-spawn.c: missing docs
529 * dbus/dbus-memory.c (struct ShutdownClosure): missing docs
531 2003-04-05 Havoc Pennington <hp@pobox.com>
533 * bus/loop.c (bus_loop_iterate): fix the timeout code, using
536 * dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid
537 to -1 once we've reaped the babysitter
538 (_dbus_babysitter_handle_watch): do as much work as we can, not
541 * bus/activation.c: add code using DBusBabysitter so that we
542 handle it when a service fails to start up properly.
543 (bus_activation_service_created): don't remove the activation
544 entries as we go, just let them get removed when we free the pending
545 activation. Unref reply messages after sending them.
547 2003-04-05 Havoc Pennington <hp@pobox.com>
549 * test/decode-gcov.c (main): print per-directory stats in the report
551 * Makefile.am (coverage-report.txt): don't include test/* in gcov stats
553 2003-04-05 Havoc Pennington <hp@pobox.com>
555 * Makefile.am (coverage-report.txt): add target "coverage-report.txt"
557 * test/decode-gcov.c: hack up a little program to suck data
558 out of gcov files. Yes this is sort of silly.
560 * configure.in: define something in config.h and do an
561 AM_CONDITIONAL when gcov is enabled
563 2003-04-04 Havoc Pennington <hp@redhat.com>
565 * dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
566 return a "babysitter" object that is used to monitor the status of
567 the spawned process and reap it when required.
569 * test/test-segfault.c, test/test-exit.c,
570 test/test-sleep-forever.c: binaries that do various lame things,
571 used in the test suite.
573 * dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()
575 2003-04-03 Havoc Pennington <hp@pobox.com>
577 * dbus/dbus-spawn.c: Move dbus-spawn into a separate file
578 in preparation for modifying it, dbus-sysdeps is getting
581 2003-04-03 Havoc Pennington <hp@redhat.com>
583 * bus/loop.h, bus/loop.c: make the mainloop an object so we can
586 * bus/*.[hc]: adapt to mainloop change
588 2003-04-03 Havoc Pennington <hp@redhat.com>
590 * bus/activation.c (load_directory): fix up memleaks
591 (bus_activation_entry_free): free the entry
593 * dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
594 we get one from the message bus; fix memleaks.
596 * dbus/dbus-message.c (dbus_set_error_from_message): new function
598 2003-04-03 Havoc Pennington <hp@pobox.com>
600 * bus/config-parser.c (bus_config_parser_unref): free
601 list of mechanisms, bug discovered by test suite enhancements
602 (putting system.conf and session.conf into suite)
604 * test/Makefile.am, test/test-service.c: add placeholder for a
605 test service that we'll activate as part of test suite. Doesn't
608 * dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by
609 setting NULL value, and use system malloc not dbus_malloc()
610 when we have unavoidable memleakage.
612 * dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
613 didn't work, and support DBUS_BUS_ACTIVATION.
615 * bus/activation.c (child_setup): pass our well-known bus type to
618 * bus/config-parser.c: support <type> to specify well-known type
620 * doc/dbus-specification.sgml: document the env variables to
621 locate well-known buses and find service activator
623 2003-04-02 Havoc Pennington <hp@redhat.com>
625 * test/Makefile.am (all-local): add a rule to copy tests to
626 builddir, so we can have generated tests. Use this to remove the
627 silly hack for testing system.conf and session.conf. Will use this
628 shortly to generate .service files pointing to test binaries.
630 2003-04-02 Havoc Pennington <hp@redhat.com>
632 * dbus/dbus-string.c (set_length): fix a bug - we allocated max of
633 current alloc and needed new length, not max of the doubled
634 allocation and needed new length. Also, when building tests,
635 don't do the double-allocation stuff, just realloc every time.
637 2003-04-02 Havoc Pennington <hp@redhat.com>
639 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
641 (_dbus_string_get_dirname): new
642 (_dbus_sysdeps_test): new
643 (_dbus_directory_open): include dirnames in error messages
645 * bus/config-parser.c: interpret <include> and <includedir> and
646 <servicedir> relative to config file location if the given
647 filename is not absolute.
649 * dbus/dbus-string.c (_dbus_string_find_byte_backward): new
651 2003-04-02 Havoc Pennington <hp@redhat.com>
653 * bus/connection.c (bus_transaction_send_error_reply): set sender
654 service for the error, and unref the reply on success
656 * bus/activation.c: convert to use BusTransaction so OOM can be
658 (bus_activation_service_created): set sender of the message
660 2003-04-01 Havoc Pennington <hp@redhat.com>
662 * bus/config-parser.c, bus/bus.c: implement <servicedir> and
663 <includedir> (at least mostly)
665 * dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
666 first, then the user ID
668 2003-04-01 Havoc Pennington <hp@pobox.com>
670 * dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
673 * dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
675 * dbus/dbus-internals.c (_dbus_dup_string_array): new function
677 * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
678 socket 0777, and unlink any existing socket.
680 * bus/bus.c (bus_context_new): change our UID/GID and fork if
681 the configuration file so specifies; set up auth mechanism
684 * bus/config-parser.c (bus_config_parser_content): add support
685 for <fork> option and fill in code for <auth>
687 * bus/system.conf.in: add <fork/> to default configuration,
688 and limit auth mechanisms to EXTERNAL
690 * doc/config-file.txt (Elements): add <fork>
692 * dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
693 (_dbus_change_identity): new function
695 2003-03-31 Havoc Pennington <hp@redhat.com>
697 * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket)
698 (_dbus_listen_unix_socket): fix off-by-one error in null
699 termination spotted by Nalin
701 2003-03-31 Havoc Pennington <hp@redhat.com>
703 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
704 DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
705 having a real home directory available.
707 2003-03-31 Havoc Pennington <hp@redhat.com>
709 * bus/Makefile.am (install-data-hook): create /var/run/dbus
711 * bus/messagebus.in: add init script for Red Hat /etc/init.d
713 * configure.in: add support for specifying a style of init script
716 2003-03-31 Havoc Pennington <hp@redhat.com>
718 Fix some annoying DBusString API and fix all affected code.
720 * dbus/dbus-string.c (_dbus_string_init): get rid of annoying
722 (_dbus_string_get_data): change to return string instead of using
724 (_dbus_string_get_const_data): ditto
725 (_dbus_string_get_data_len): ditto
726 (_dbus_string_get_const_data_len): ditto
728 2003-03-31 Havoc Pennington <hp@redhat.com>
730 * bus/main.c (main): fix up the command line arguments to be nicer
732 2003-03-31 Havoc Pennington <hp@redhat.com>
734 * dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
735 define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
736 final location that lands in the config file
738 * bus/config-loader-expat.c (bus_config_load): fix type of
741 * doc/TODO: remove TODO item for dbus_bus_get()
743 * dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
745 2003-03-31 Havoc Pennington <hp@pobox.com>
747 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
748 (_dbus_transport_new_for_tcp_socket): these didn't need the "server"
749 argument since they are always client side
751 * dbus/dbus-server.c (dbus_server_get_address): new function
753 * bus/main.c (main): take the configuration file as an argument.
755 * test/data/valid-config-files/debug-allow-all.conf: new file to
756 use with dispatch.c tests for example
758 * bus/test-main.c (main): require test data dir
760 * bus/bus.c (bus_context_new): change this to take a
761 configuration file name as argument
763 * doc/config-file.txt (Elements): add <servicedir>
765 * bus/system.conf, bus/session.conf: new files
767 * dbus/dbus-bus.c (dbus_bus_get): look for system bus on
768 well-known socket if none set
770 * configure.in: create system.conf and session.conf
772 2003-03-30 Havoc Pennington <hp@pobox.com>
774 * bus/config-parser.c: hacking
776 * dbus/dbus-memory.c: don't use DBusList for the list of stuff
777 to shut down, since it could cause weirdness with the DBusList
780 * dbus/dbus-list.c (_dbus_list_test): add tests for the
781 link-oriented stack routines
782 (alloc_link): free the mempool if the first alloc from it fails
784 * dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
786 * dbus/dbus-string.c (UNICODE_VALID): sync new version of this
788 (_dbus_string_skip_white): new
790 * doc/config-file.txt (Elements): add <includedir>
792 2003-03-28 Havoc Pennington <hp@pobox.com>
794 * dbus/dbus-string.c (_dbus_string_copy_data_len)
795 (_dbus_string_copy_data): new functions
797 2003-03-28 Anders Carlsson <andersca@codefactory.se>
799 * dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
803 * dbus/dbus-memory.c:
806 2003-03-28 Havoc Pennington <hp@pobox.com>
808 * bus/test.c (bus_test_flush_bus): remove the sleep from here,
809 I think it may have just been superstition. Not sure.
811 * dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
812 failures that were not being handled.
814 * dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
816 * dbus/dbus-memory.c: add ability to set number of mallocs in a
817 row that will fail on out-of-memory.
819 * dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
820 function for testing out-of-memory handling.
822 * bus/config-loader-expat.c (memsuite): don't wrap the dbus
823 allocation functions, they do map exactly to the expat ones.
825 2003-03-27 Havoc Pennington <hp@redhat.com>
827 * bus/config-loader-libxml.c (bus_config_load): add another error
830 2003-03-26 Anders Carlsson <andersca@codefactory.se>
833 Add note about automatic service activation.
835 * doc/dbus-specification.sgml:
836 Rename the specification and clarify a few things.
838 2003-03-26 Anders Carlsson <andersca@codefactory.se>
841 * dbus/dbus-address.c:
843 * dbus/dbus-marshal.c:
844 * dbus/dbus-server-debug-pipe.c:
845 * dbus/dbus-transport-unix.c:
846 Fix documentation warnings.
848 2003-03-26 Havoc Pennington <hp@pobox.com>
850 * bus/test-main.c, dbus/dbus-test.c (main): check memleaks
851 after every test so it's quick and easy to see which leaked, and
852 so we test multiple dbus_shutdown() calls
854 * configure.in: change configure.in XML stuff to also support
857 * config-loader-libxml.c: some hacking
859 * config-loader-expat.c: some hacking
861 * config-parser.c: some hacking, plus tests
863 2003-03-25 Havoc Pennington <hp@redhat.com>
865 * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
867 * configure.in: add --with-xml option to specify XML library,
868 right now only libxml is supported.
870 * bus/config-loader-libxml.c, config-parser.c: sync some minor
871 nonworking code between home and work, still just stubs
873 2003-03-24 Havoc Pennington <hp@redhat.com>
875 * dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
878 * dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
879 NULL argument for "message" if the error is a well-known one,
880 fill in a generic message in this case.
882 * dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
885 * bus/test.c (bus_test_flush_bus): add
887 * bus/policy.c (bus_policy_test): test code stub
889 2003-03-24 Havoc Pennington <hp@pobox.com>
891 * bus/connection.c (bus_connections_setup_connection): set up
892 the "can this user connect" function, but it always returns
893 TRUE until we have a config file parser so we can have a config
894 file that allows connections.
896 2003-03-23 Havoc Pennington <hp@pobox.com>
898 * dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
899 DBUS_BUILD_TESTS, actually alloc/free a block of memory for
900 the mutex, so we can check for proper memory management
903 * dbus/dbus-dataslot.c: remove the mutex from
904 DBusDataSlotAllocator and lock it manually when using it,
905 to simplify fitting it into the global slots framework.
907 * dbus/dbus-threads.c (init_static_locks): rework how we're
908 handling global locks so they are easily shut down.
910 * bus/policy.c (bus_policy_append_rule): fix
912 * bus/test-main.c (main): check for memleaks
914 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
915 test suite check for memleaks
917 * dbus/dbus-memory.c: add support in test mode for tracking
918 number of outstanding blocks
920 2003-03-23 Havoc Pennington <hp@pobox.com>
922 * bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
925 * dbus/dbus-hash.h: add ULONG hash keys
927 * dbus/dbus-sysdeps.c (_dbus_get_groups): new
928 (_dbus_get_group_id): new function
930 2003-03-20 Havoc Pennington <hp@redhat.com>
932 * dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
934 (dbus_connection_get_unix_user): new function
936 2003-03-20 Havoc Pennington <hp@pobox.com>
938 * bus/connection.c (bus_connection_send_oom_error): assert that
940 (connection_execute_transaction): ditto
941 (bus_connection_preallocate_oom_error): fix to set the sender, and
942 set recipient to the destination service, not the bus driver
944 * bus/policy.c: hacking
946 * dbus/dbus-message.c (dbus_message_service_is): new function
947 (dbus_message_sender_is): new
949 2003-03-19 Havoc Pennington <hp@redhat.com>
951 * bus/policy.c: start sketching code for policy restrictions on
952 what connections can do.
954 2003-03-18 Havoc Pennington <hp@redhat.com>
956 * doc/TODO: some notes on high-level todo items. Little nitpick
957 stuff is all in @todo, so no need to add it here.
959 * doc/config-file.txt: some notes on how config file might look
961 2003-03-18 Anders Carlsson <andersca@codefactory.se>
967 2003-03-17 Havoc Pennington <hp@redhat.com>
969 * dbus/dbus-internals.h: add gcc attributes so that
970 our printf-style functions warn on bad arguments to
973 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
976 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
979 2003-03-17 Havoc Pennington <hp@redhat.com>
981 * bus/test-main.c (main): make it print something as it runs
982 so make check doesn't look stuck
984 * doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
985 from CVS, now obsolete
987 2003-03-17 Anders Carlsson <andersca@codefactory.se>
989 * bus/dispatch.c: (bus_dispatch):
990 Refetch the service name since it may have been reallocated
991 when dbus_message_set_sender was called.
993 * dbus/dbus-sysdeps.c: (_dbus_accept):
994 Add address and address length variables and use them to stop
995 valgrind from complaining.
997 2003-03-17 Havoc Pennington <hp@pobox.com>
999 All tests pass, no memleaks, no valgrind complaints.
1001 * bus/test.c: refcount handler_slot
1003 * bus/connection.c (bus_connections_new): refcount
1004 connection_data_slot
1006 * dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
1007 bytes so that auth scripts pass.
1009 * bus/dispatch.c: init message_handler_slot so it gets allocated
1012 * bus/dispatch.c (message_handler_slot_ref): fix memleak
1014 * dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
1015 dealloc server_pipe_hash when no longer used for benefit of
1018 * dbus/dbus-auth.c (process_command): memleak fix
1020 * bus/dispatch.c (check_hello_message): memleak fix
1022 2003-03-16 Havoc Pennington <hp@pobox.com>
1024 * dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
1026 2003-03-17 Anders Carlsson <andersca@codefactory.se>
1028 * bus/activation.c (bus_activation_activate_service): Append
1029 the pending activation entry to the list of pending activations.
1031 2003-03-16 Havoc Pennington <hp@pobox.com>
1033 * bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
1036 * dbus/dbus-address.c (create_entry): fix OOM handling when
1037 failing to alloc entry->method
1039 2003-03-16 Havoc Pennington <hp@pobox.com>
1041 * dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
1044 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
1045 add some missing dbus_set_result
1047 * bus/dispatch.c (bus_dispatch_add_connection): handle failure to
1048 alloc the DBusMessageHandler
1050 * dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
1051 the transport here, since we call this from the finalizer; it
1052 resulted in a double-finalize.
1054 * dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
1055 where we tried to use transport->connection that was NULL,
1056 happened when transport was disconnected early on due to OOM
1058 * bus/*.c: adapt to handle OOM for watches/timeouts
1060 * dbus/dbus-transport-unix.c: port to handle OOM during
1063 * dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
1064 reference to unused bytes instead of a copy
1066 * dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
1069 * dbus/dbus-connection.c (dbus_connection_handle_watch): return
1072 * dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
1075 2003-03-16 Anders Carlsson <andersca@codefactory.se>
1077 * doc/dbus-specification.sgml:
1078 Document reply message for ActivateService.
1080 2003-03-16 Anders Carlsson <andersca@codefactory.se>
1082 * bus/activation.c: (bus_pending_activation_entry_free),
1083 (bus_pending_activation_free), (bus_activation_new),
1084 (bus_activation_unref), (bus_activation_service_created),
1085 (bus_activation_activate_service):
1087 * bus/bus.c: (bus_context_new):
1088 * bus/desktop-file.c: (new_section):
1089 * bus/driver.c: (bus_driver_send_service_deleted),
1090 (bus_driver_handle_activate_service):
1091 * bus/services.c: (bus_registry_new), (bus_registry_ensure):
1093 * dbus/dbus-connection.c:
1094 (dbus_connection_send_with_reply_and_block):
1095 * dbus/dbus-message.c: (dbus_message_append_args_valist):
1096 * dbus/dbus-protocol.h:
1097 Make activation work better. Now pending activations will be queued
1098 and the daemon won't try to activate services that are already registered.
1100 2003-03-16 Havoc Pennington <hp@pobox.com>
1102 * dbus/dbus-bus.c (ensure_bus_data): handle failure to set
1105 * dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
1106 DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
1108 2003-03-16 Havoc Pennington <hp@pobox.com>
1110 * dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
1111 this. always run the test suite before commit...
1113 * bus/*: adapt to DBusConnection API changes
1115 * glib/dbus-gmain.c: adapt to DBusConnection API changes,
1116 requires renaming stuff to avoid dbus_connection_dispatch name
1119 * dbus/dbus-transport.c (_dbus_transport_queue_messages): new
1122 * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
1123 separate from _dbus_message_loader_return_buffer()
1125 * dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
1126 this, because it's now always broken to use; the number of
1127 messages in queue vs. the number still buffered by the message
1128 loader is undefined/meaningless. Should use
1129 dbus_connection_get_dispatch_state().
1130 (dbus_connection_dispatch): rename from
1131 dbus_connection_dispatch_message
1133 2003-03-16 Havoc Pennington <hp@pobox.com>
1135 * dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
1138 2003-03-16 Anders Carlsson <andersca@codefactory.se>
1140 * dbus/dbus-connection.c:
1141 (dbus_connection_send_with_reply_and_block):
1142 Decrease connection->n_incoming when removing an entry
1144 * dbus/dbus-dict.c: (dbus_dict_entry_free),
1145 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
1146 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
1147 (dbus_dict_set_byte_array), (dbus_dict_set_string_array),
1148 (dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
1149 (dbus_dict_get_byte_array):
1150 Handle NULL arrays and strings. Also add support for byte arrays.
1152 * dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
1153 (_dbus_marshal_dict), (_dbus_demarshal_byte_array),
1154 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
1155 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
1156 (_dbus_demarshal_dict), (demarshal_and_validate_len),
1157 (_dbus_marshal_validate_arg), (_dbus_marshal_test):
1158 * dbus/dbus-marshal.h:
1159 Add support for marshalling and demarshalling empty arrays and strings.
1161 * dbus/dbus-message.c: (dbus_message_append_args_valist),
1162 (dbus_message_append_string_array),
1163 (dbus_message_iter_get_boolean),
1164 (dbus_message_iter_get_boolean_array),
1165 (dbus_message_iter_get_int32_array),
1166 (dbus_message_iter_get_uint32_array),
1167 (dbus_message_iter_get_double_array),
1168 (dbus_message_iter_get_byte_array),
1169 (dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
1170 (check_message_handling):
1171 Add support for getting empty arrays and dicts.
1173 * dbus/dbus-string.c: (_dbus_string_validate_utf8):
1174 Don't do any validation at all for now, that's better than just checking
1177 * test/data/valid-messages/emptiness.message:
1178 New test message with lots of empty arrays.
1180 2003-03-16 Havoc Pennington <hp@pobox.com>
1182 * dbus/dbus-connection.c
1183 (_dbus_connection_queue_received_message_link): new function that
1184 can't fail due to OOM
1186 * dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
1187 new function pops a message together with a list link
1190 * dbus/dbus-transport-unix.c (queue_messages): use new link-based
1191 message queuing functions to avoid needing to alloc memory
1193 2003-03-16 Havoc Pennington <hp@pobox.com>
1195 Oops - test code was only testing failure of around 30 of the
1196 mallocs in the test path, but it turns out there are 500+
1197 mallocs. I believe this was due to misguided linking setup such
1198 that there was one copy of dbus_malloc etc. in the daemon and one
1199 in the shared lib, and only daemon mallocs were tested. In any
1200 case, the test case now tests all 500+ mallocs, and doesn't pass
1201 yet, though there are lots of fixes in this patch.
1203 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
1204 this so that it doesn't need to allocate memory, since it
1205 has no way of indicating failure due to OOM (and would be
1206 annoying if it did).
1208 * dbus/dbus-list.c (_dbus_list_pop_first_link): new function
1210 * bus/Makefile.am: rearrange to create two self-contained
1211 libraries, to avoid having libraries with overlapping symbols.
1212 that was resulting in weirdness, e.g. I'm pretty sure there
1213 were two copies of global static variables.
1215 * dbus/dbus-internals.c: move the malloc debug stuff to
1218 * dbus/dbus-list.c (free_link): free list mempool if it becomes
1221 * dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
1223 * dbus/dbus-address.c (dbus_parse_address): free list nodes
1226 * bus/dispatch.c (bus_dispatch_add_connection): free
1227 message_handler_slot when no longer using it, so
1228 memory leak checkers are happy for the test suite.
1230 * dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
1232 * bus/bus.c (new_connection_callback): disconnect in here if
1233 bus_connections_setup_connection fails.
1235 * bus/connection.c (bus_connections_unref): fix to free the
1237 (bus_connections_setup_connection): if this fails, don't
1238 disconnect the connection, just be sure there are no side
1241 * dbus/dbus-string.c (undo_alignment): unbreak this
1243 * dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
1245 (_dbus_auth_new): fix the order in which we free strings
1248 * bus/connection.c (bus_connection_disconnected): fix to
1249 not send ServiceDeleted multiple times in case of memory
1252 * dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
1253 get the base service name
1254 (dbus_bus_register_client): don't return base service name,
1255 instead store it on the DBusConnection and have an accessor
1257 (dbus_bus_register_client): rename dbus_bus_register()
1259 * bus/dispatch.c (check_hello_message): verify that other
1260 connections on the bus also got the correct results, not
1261 just the one sending hello
1263 2003-03-15 Havoc Pennington <hp@pobox.com>
1265 Make it pass the Hello handling test including all OOM codepaths.
1266 Now to do other messages...
1268 * bus/services.c (bus_service_remove_owner): fix crash when
1269 removing owner from an empty list of owners
1270 (bus_registry_ensure): don't leave service in the list of
1271 a connection's owned services if we fail to put the service
1274 * bus/connection.c (bus_connection_preallocate_oom_error): set
1275 error flag on the OOM error.
1277 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
1278 handle _dbus_transport_set_connection failure
1280 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
1281 to create watches up front and simply enable/disable them as
1283 (unix_connection_set): this can now fail on OOM
1285 * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
1286 of enabling/disabling a watch or timeout.
1288 * bus/loop.c (bus_loop_iterate): don't touch disabled
1291 * glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
1293 2003-03-15 Havoc Pennington <hp@pobox.com>
1295 * bus/dispatch.c (bus_dispatch_test): OK, now finally actually
1296 write useful test code, after all that futzing around ;-)
1298 Test does not yet pass because we can't handle OOM in
1299 _dbus_transport_messages_pending (basically,
1300 dbus_connection_preallocate_send() does not prealloc the write
1301 watch). To fix this, I think we need to add new stuff to
1302 set_watch_functions, namely a SetEnabled function so we can alloc
1303 the watch earlier, then enable it later.
1305 * dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
1306 dbus-memory.c to the convenience lib
1308 * bus/test.c: rename some static functions to keep them clearly
1309 distinct from stuff in connection.c. Handle client disconnection.
1311 2003-03-14 Havoc Pennington <hp@pobox.com>
1313 * bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
1314 transport, tests more of the real codepath. Set up clients
1315 with bus_setup_debug_client.
1317 * bus/test.c (bus_setup_debug_client): function to set up debug
1318 "clients" on the main loop
1320 * dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
1323 * dbus/dbus-server.c (dbus_server_listen): add debug-pipe
1326 * dbus/dbus-server-debug.c: support a debug server based on pipes
1328 * dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
1329 (_dbus_close): new function
1331 * configure.in: check for socketpair
1333 2003-03-14 Havoc Pennington <hp@redhat.com>
1335 * dbus/dbus-memory.c: add a "detect buffer overwrites on free"
1338 * dbus/dbus-transport-debug.c: rework this a good bit to be
1339 less complicated. hopefully still works.
1341 * dbus/dbus-server-debug.c (handle_new_client): remove timeout
1344 * glib/dbus-gmain.c (timeout_handler): don't remove timeout
1347 * dbus/dbus-message.c (dbus_message_copy): rename from
1348 dbus_message_new_from_message, fix it up to copy
1349 all the message fields, add test case
1351 * bus/dispatch.c (bus_dispatch_test): add some more test code,
1352 not quite passing yet
1354 2003-03-14 Havoc Pennington <hp@pobox.com>
1356 * bus/loop.c (bus_loop_iterate): add this so we can "run loop
1357 until no work remains" in test code. (the large diff here
1358 is just code movement, no actual changes)
1360 * dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
1361 1, no point waiting around for test code.
1362 (_dbus_server_debug_accept_transport): unref the timeout
1363 after adding it (right?)
1365 * dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
1367 2003-03-13 Havoc Pennington <hp@redhat.com>
1369 * dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
1372 * dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
1375 * dbus/dbus-connection.h: Make AddWatchFunction and
1376 AddTimeoutFunction return a bool so they can fail on out-of-memory
1378 * bus/bus.c (bus_context_new): set up timeout handlers
1380 * bus/connection.c (bus_connections_setup_connection): set up
1383 * glib/dbus-gmain.c: adapt to the fact that set_functions stuff
1386 * bus/bus.c (bus_context_new): adapt to changes
1388 * bus/connection.c: adapt to changes
1390 * test/watch.c: adapt to DBusWatch changes
1392 * bus/dispatch.c (bus_dispatch_test): started adding this but
1395 2003-03-14 Anders Carlsson <andersca@codefactory.se>
1397 * bus/dispatch.c (send_service_nonexistent_error): Fix typo.
1399 2003-03-13 Havoc Pennington <hp@pobox.com>
1401 * bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
1402 set up a test framework as for the library
1404 2003-03-12 Havoc Pennington <hp@pobox.com>
1406 Throughout: purge global variables, introduce BusActivation,
1407 BusConnections, BusRegistry, etc. objects instead.
1409 * bus/bus.h, bus/bus.c: introduce BusContext as a global
1412 * test/Makefile.am (TEST_BINARIES): disable bus-test for now,
1413 going to redo this a bit differently I think
1415 2003-03-12 Havoc Pennington <hp@redhat.com>
1417 Mega-patch that gets the message bus daemon initially handling
1418 out-of-memory. Work still needed. Also lots of random
1419 moving stuff to DBusError instead of ResultCode.
1421 * dbus/dbus-list.c (_dbus_list_length_is_one): new function
1423 * dbus/dbus-connection.c
1424 (dbus_connection_send_with_reply_and_block): use DBusError
1426 * dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
1429 * dbus/dbus-connection.c (dbus_connection_send): drop the result
1430 code here, as the only failure possible is OOM.
1432 * bus/connection.c (bus_connection_disconnect):
1433 rename bus_connection_disconnected as it's a notification only
1435 * bus/driver.c (bus_driver_handle_acquire_service): don't free
1436 "name" on get_args failure, should be done by get_args;
1437 don't disconnect client for bad args, just return an error.
1438 (bus_driver_handle_service_exists): ditto
1440 * bus/services.c (bus_services_list): NULL-terminate returned array
1442 * bus/driver.c (bus_driver_send_service_lost)
1443 (bus_driver_send_service_acquired): send messages from driver to a
1444 specific client to the client's unique name, not to the broadcast
1447 * dbus/dbus-message.c (decode_header_data): reject messages that
1448 contain no name field
1449 (_dbus_message_get_client_serial): rename to
1450 dbus_message_get_serial and make public
1451 (_dbus_message_set_serial): rename from set_client_serial
1452 (_dbus_message_set_reply_serial): make public
1453 (_dbus_message_get_reply_serial): make public
1455 * bus/connection.c (bus_connection_foreach): allow stopping
1456 iteration by returning FALSE from foreach function.
1458 * dbus/dbus-connection.c (dbus_connection_send_preallocated)
1459 (dbus_connection_free_preallocated_send)
1460 (dbus_connection_preallocate_send): new API for sending a message
1461 without possibility of malloc failure.
1462 (dbus_connection_send_message): rename to just
1463 dbus_connection_send (and same for whole function family)
1465 * dbus/dbus-errors.c (dbus_error_free): make this reinit the error
1467 * dbus/dbus-sysdeps.c (_dbus_exit): new function
1469 * bus/activation.c: handle/return errors
1471 * dbus/dbus-errors.h: add more DBUS_ERROR #define
1473 * dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
1474 (_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
1475 (_dbus_result_from_errno): move to this file
1477 2003-03-10 Anders Carlsson <andersca@codefactory.se>
1479 * dbus/dbus-marshal.c:
1480 (_dbus_marshal_set_string):
1481 Take a length argument so we can marshal the correct string
1484 (_dbus_marshal_dict), (_dbus_demarshal_dict),
1485 (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
1486 (_dbus_marshal_test):
1487 * dbus/dbus-marshal.h:
1488 Add support for marshalling and demarshalling dicts.
1490 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
1491 Add support for TYPE DICT.
1493 * dbus/dbus-message.c: (set_string_field):
1494 Adjust header padding.
1496 (dbus_message_append_args_valist), (dbus_message_append_dict),
1497 (dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
1498 (dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
1499 (check_message_handling), (check_have_valid_message):
1500 * dbus/dbus-message.h:
1501 Add functions for setting and getting dicts.
1503 * dbus/dbus-protocol.h:
1509 * doc/dbus-specification.sgml:
1510 Add information about how dicts are marshalled.
1512 * test/data/invalid-messages/dict-with-nil-value.message:
1513 * test/data/invalid-messages/too-short-dict.message:
1514 * test/data/valid-messages/dict-simple.message:
1515 * test/data/valid-messages/dict.message:
1516 Add sample messages containing dicts.
1518 2003-03-08 Anders Carlsson <andersca@codefactory.se>
1520 * dbus/dbus-dict.h: Add DBUS_END_DECLS.
1522 2003-03-07 Anders Carlsson <andersca@codefactory.se>
1525 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
1526 (dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
1527 (dbus_dict_set_int32), (dbus_dict_set_uint32),
1528 (dbus_dict_set_double), (dbus_dict_set_string),
1529 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
1530 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
1531 (dbus_dict_set_string_array), (_dbus_dict_test):
1533 Fix according to comments from Havoc.
1535 2003-03-06 Michael Meeks <michael@server.home>
1537 * configure.in: if we don't have kde-config, disable have_qt.
1539 2003-03-07 Anders Carlsson <andersca@codefactory.se>
1544 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
1545 (dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
1546 (dbus_dict_remove), (dbus_dict_get_value_type),
1547 (dbus_dict_get_keys), (dbus_dict_put_boolean),
1548 (dbus_dict_put_int32), (dbus_dict_put_uint32),
1549 (dbus_dict_put_double), (dbus_dict_put_string),
1550 (dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
1551 (dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
1552 (dbus_dict_put_string_array), (dbus_dict_get_boolean),
1553 (dbus_dict_get_int32), (dbus_dict_get_uint32),
1554 (dbus_dict_get_double), (dbus_dict_get_string),
1555 (dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
1556 (dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
1557 (dbus_dict_get_string_array), (_dbus_dict_test):
1559 Add DBusDict implementation
1561 * dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
1565 2003-03-04 Havoc Pennington <hp@pobox.com>
1567 * test/data/auth/*: adapt to changes
1569 * dbus/dbus-auth-script.c (_dbus_auth_script_run): add
1570 USERID_BASE64 and change USERNAME_BASE64 to put in username not
1573 * dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
1574 more stuff from being in a context name, to make the protocol
1575 simpler to deal with
1577 * dbus/dbus-errors.c (dbus_error_has_name): new function
1578 (dbus_error_is_set): new function
1580 * dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
1581 with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
1583 * dbus/dbus-connection.c (dbus_connection_flush): also read
1584 messages during a flush operation
1586 * dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
1588 2003-03-05 Anders Carlsson <andersca@codefactory.se>
1590 * configure.in: Check for gethostbyname on Solaris.
1592 * dbus/dbus-transport.c: (_dbus_transport_open):
1593 Remove duplicate "tcp" entry.
1595 * doc/dbus-specification.sgml:
1596 Clarify some things.
1598 2003-03-05 Anders Carlsson <andersca@codefactory.se>
1600 * dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
1601 * dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
1602 (_dbus_keyring_test):
1603 * dbus/dbus-md5.c: (_dbus_md5_compute):
1604 * dbus/dbus-sha.c: (_dbus_sha_compute):
1607 2003-03-05 Anders Carlsson <andersca@codefactory.se>
1609 * README: Add some things.
1611 2003-03-04 Anders Carlsson <andersca@codefactory.se>
1613 * dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
1614 after case DBUS_TYPE_BOOELAN.
1616 2003-03-02 Havoc Pennington <hp@pobox.com>
1618 * test/break-loader.c (randomly_set_extreme_ints): add test that
1619 sets really huge and small integers
1621 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
1622 that length of boolean array fits in the string, and that
1623 string has room for boolean value in single-bool case.
1625 * dbus/dbus-message-builder.c (_dbus_message_data_load): add
1626 optional value to "ALIGN" command which is what to fill the
1629 * test/data/valid-messages/no-padding.message: add regression
1630 test for the message padding problem
1632 2003-03-02 Havoc Pennington <hp@pobox.com>
1634 * dbus/dbus-message.c (decode_header_data): fix to always init
1635 message_padding, from Benjamin Dauvergne
1637 2003-03-02 Havoc Pennington <hp@pobox.com>
1643 2003-03-01 Joe Shaw <joe@assbarn.com>
1645 * configure.in: Check for "struct cmsgcred" and try to access its
1646 members for BSD-like unices.
1648 * dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
1649 _dbus_read_credentials_unix_socket().
1650 (_dbus_read_credentials_unix_socket): Use recvmsg() instead of
1651 read() for reading the credential byte off the unix socket. Use
1652 struct cmsgcred on systems that support it.
1654 2003-02-27 Alexander Larsson <alexl@redhat.com>
1658 Make gthreads-2.0 dependency optional. Don't build thread test if
1661 2003-02-27 Havoc Pennington <hp@pobox.com>
1663 * dbus/dbus-connection.c
1664 (dbus_connection_send_message_with_reply_and_block): fix doh!
1665 doh! doh! bug that resulted in never removing a reply from the
1666 queue, no wonder we called get_reply_serial so much ;-)
1668 * dbus/dbus-message.c (struct DBusMessage): cache reply serial
1669 and client serial instead of demarshaling them every time
1671 2003-02-27 Havoc Pennington <hp@pobox.com>
1673 * dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
1674 more inlined, using dbus-string-private.h, speeds things up
1677 * dbus/dbus-string.c (_dbus_string_free): apply align offset
1678 when freeing the string
1679 (_dbus_string_steal_data): fix for align offset
1680 (undo_alignment): new function
1682 2003-02-26 Havoc Pennington <hp@redhat.com>
1684 All kinds of audit fixes from Owen, plus initial attempt to
1685 handle unaligned memory returned from malloc.
1687 * dbus/dbus-string.c (_dbus_string_init): clamp max length to
1688 leave room for align_offset and nul byte
1689 (fixup_alignment): function to track an align_offset and
1690 ensure real->str is aligned
1691 (DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
1692 to allow a nul byte plus align offset
1693 (_dbus_string_lock): fix overflow issue
1694 (_dbus_string_init_const_len): add assertions on sanity of len,
1695 assign allocated to be ALLOCATION_PADDING larger than len
1696 (set_length): fixup the overflow handling
1697 (_dbus_string_get_data_len): fix overflow in assertion
1698 (open_gap): detect overflow in size of gap to be opened
1699 (_dbus_string_lengthen): add overflow check
1700 (_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
1701 (_dbus_string_append): add overflow check
1702 (_dbus_string_append_unichar): overflow
1703 (_dbus_string_delete): fix overflow in assertion
1704 (_dbus_string_copy_len): overflow in assertion
1705 (_dbus_string_replace_len): overflows in assertions
1706 (_dbus_string_find): change to implement in terms of
1707 _dbus_string_find_to
1708 (_dbus_string_find_to): assorted fixage
1709 (_dbus_string_equal_c_str): assert c_str != NULL,
1710 fix logic so the function works
1711 (_dbus_string_ends_with_c_str): fix overflow thingy
1712 (_dbus_string_base64_encode): overflow fix
1713 (_dbus_string_validate_ascii): overflow
1714 (_dbus_string_validate_nul): overflow
1716 2003-02-26 Havoc Pennington <hp@redhat.com>
1718 * dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
1720 2003-02-26 Alexander Larsson <alexl@redhat.com>
1723 Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
1725 * dbus/dbus-connection.c:
1726 * dbus/dbus-connection.h:
1727 Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
1728 Add dbus_connection_set_wakeup_main_function and use it when queueing
1729 incoming and outgoing messages.
1732 * dbus/dbus-dataslot.c:
1733 Threadsafe usage of DBusDataSlotAllocator
1735 * dbus/dbus-message.c: (dbus_message_get_args_iter):
1738 * dbus/dbus-server-unix.c:
1741 * glib/dbus-gmain.c:
1742 Implement the new wakeup functions for glib.
1745 * glib/test-thread-client.c:
1746 * glib/test-thread-server.c:
1747 * glib/test-thread.h:
1748 Initial cut at some thread test code. Not really done yet.
1750 2003-02-26 Havoc Pennington <hp@pobox.com>
1752 * dbus/dbus-connection.c
1753 (dbus_connection_send_message_with_reply_and_block): fix crash
1754 where we ref'd the outgoing message instead of the returned reply
1756 * dbus/dbus-transport-unix.c (do_authentication): check read watch
1757 at the end of this function, so if we didn't need to read for
1758 authentication, we reinstall it for receiving messages
1760 * dbus/dbus-message.c (dbus_message_new_reply): allow replies to
1761 a NULL sender for peer-to-peer case
1763 * dbus/dbus-transport-unix.c (check_read_watch): handle
1764 !authenticated case correctly
1766 * glib/dbus-gmain.c: add support for DBusServer
1768 * dbus/dbus-server.c: add data slot support
1770 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
1771 return values and handle errors
1773 * dbus/dbus-dataslot.c: factor out the data slot stuff from
1776 * Doxyfile.in (INPUT): add glib subdir
1778 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
1779 setup_with_g_main instead of hookup_with_g_main; write docs
1781 2003-02-24 Anders Carlsson <andersca@codefactory.se>
1783 * dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
1784 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
1785 * dbus/dbus-message.c: (dbus_message_append_boolean),
1786 (dbus_message_append_boolean_array),
1787 (dbus_message_get_args_valist), (_dbus_message_test):
1788 * dbus/dbus-message.h:
1789 * doc/dbus-specification.sgml:
1790 Various fixes as pointed out by Havoc.
1792 * test/data/invalid-messages/bad-boolean-array.message:
1793 * test/data/invalid-messages/bad-boolean.message:
1794 Add invalid boolean value test cases.
1796 2003-02-24 Anders Carlsson <andersca@codefactory.se>
1798 * dbus/dbus-internals.c: (_dbus_type_to_string):
1799 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
1800 (_dbus_marshal_validate_arg):
1801 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
1802 * dbus/dbus-message.c: (dbus_message_append_args_valist),
1803 (dbus_message_append_boolean), (dbus_message_append_boolean_array),
1804 (dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
1805 (dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
1806 (dbus_message_iter_get_double),
1807 (dbus_message_iter_get_boolean_array), (message_iter_test):
1808 * dbus/dbus-message.h:
1809 * dbus/dbus-protocol.h:
1810 * doc/dbus-specification.sgml:
1811 * test/data/valid-messages/lots-of-arguments.message:
1812 Add support for boolean and boolean array types.
1814 2003-02-23 Havoc Pennington <hp@pobox.com>
1816 * dbus/dbus-keyring.c: finish most of this implementation and
1819 * dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
1820 these barf if the error isn't cleared to NULL
1822 * dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
1823 (_dbus_create_directory): new function
1825 * dbus/dbus-errors.c (dbus_set_error): fix warning
1827 * dbus/dbus-string.c (_dbus_string_hex_encode): new function
1828 (_dbus_string_hex_decode): new function
1829 (test_hex_roundtrip): test code
1831 * dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
1833 * dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
1835 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
1836 the save-to-temp/rename trick to atomically write the new file
1837 (_dbus_string_parse_uint): new function
1839 2003-02-22 Havoc Pennington <hp@pobox.com>
1841 * test/Makefile.am (dist-hook): fix dist for test/data/sha-1
1843 2003-02-22 Havoc Pennington <hp@pobox.com>
1845 * dbus/dbus-message.c (dbus_message_iter_get_string_array):
1846 (dbus_message_iter_get_byte_array): Fix up doxygen warnings
1848 * dbus/dbus-sha.c: add implementation of SHA-1 algorithm
1850 * dbus/test/data/sha-1: add US government test suite for SHA-1
1852 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1854 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
1855 Make string arrays NULL-terminated.
1857 * dbus/dbus-memory.c: (dbus_free_string_array):
1858 * dbus/dbus-memory.h:
1859 New function for freeing NULL-terminated string arrays.
1861 * dbus/dbus-message-builder.c: (append_quoted_string),
1862 (_dbus_message_data_load):
1863 Add support for array types.
1865 * dbus/dbus-message.c: (check_message_handling):
1866 Add more types as test cases.
1868 * dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
1869 (_dbus_string_parse_double):
1870 Add the start offset to the end offset.
1872 * test/data/valid-messages/lots-of-arguments.message:
1873 New test message with lots of arguments.
1875 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1877 * dbus/dbus-message.c: (dbus_message_append_nil),
1878 (dbus_message_append_int32), (dbus_message_append_uint32),
1879 (dbus_message_append_double), (dbus_message_append_string),
1880 (dbus_message_append_int32_array),
1881 (dbus_message_append_uint32_array),
1882 (dbus_message_append_double_array),
1883 (dbus_message_append_byte_array),
1884 (dbus_message_append_string_array):
1885 Fix all out-of-memory handling in these functions.
1887 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1889 * dbus/dbus-message.c: (dbus_message_append_nil):
1892 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1894 * dbus/dbus-message.c: (dbus_message_append_args_valist),
1895 (dbus_message_append_nil), (dbus_message_append_int32_array),
1896 (dbus_message_append_uint32_array),
1897 (dbus_message_append_double_array),
1898 (dbus_message_append_byte_array),
1899 (dbus_message_append_string_array), (dbus_message_get_args_valist),
1900 (dbus_message_iter_get_int32_array),
1901 (dbus_message_iter_get_uint32_array),
1902 (dbus_message_iter_get_double_array),
1903 (dbus_message_iter_get_byte_array),
1904 (dbus_message_iter_get_string_array):
1906 * dbus/dbus-message.h:
1907 Add functions for appending and getting arrays.
1909 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1911 * dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
1912 element size at least 8 bytes, fixes mempool tests on
1915 2003-02-20 Alexander Larsson <alexl@redhat.com>
1917 * dbus/dbus-transport-unix.c (unix_do_iteration):
1918 Unlock the connection mutex during a blocking select call.
1919 Add todo about how we need a way to wake up the select.
1921 * dbus/dbus-connection-internal.h:
1922 * dbus/dbus-connection.c:
1923 Add _dbus_connection_lock and _dbus_connection_unlock.
1925 2003-02-19 Havoc Pennington <hp@pobox.com>
1927 * Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
1928 Doxyfile.in, not Doxyfile
1930 * dbus/dbus-keyring.c: do some hacking on this
1932 * dbus/dbus-sysdeps.c (_dbus_delete_file): new
1934 * dbus/dbus-errors.c (dbus_set_error_const): do not call
1936 (dbus_set_error): remove dbus_error_init, check for message ==
1937 NULL *before* we sprintf into it, and add @todo about including
1938 system headers in this file
1940 * dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
1942 * dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
1944 * dbus/dbus-sysdeps.c (get_user_info): break this function out to
1945 get various bits of user information based on either username
1947 (_dbus_homedir_from_username): new function
1949 2003-02-19 Anders Carlsson <andersca@codefactory.se>
1952 Add check for nonposix getpwnam_r
1954 * dbus/dbus-mempool.c: (_dbus_mem_pool_new):
1955 Align the pool element size to a sizeof (void *) boundary.
1957 * dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
1958 (_dbus_listen_unix_socket), (_dbus_credentials_from_username):
1959 General Solaris fixes.
1961 * test/data/valid-messages/simplest-manual.message:
1962 Explicitly state that we want little-endian packing.
1964 2003-02-19 Mikael Hallendal <micke@codefactory.se>
1966 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
1968 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
1969 Added to create a transport connecting using a tcp/ip socket.
1971 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
1972 to a tcp socket at given host and port.
1973 (_dbus_listen_tcp_socket): added to listen on tcp socket for given
1976 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
1978 * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
1979 Added to create a server listening on a TCP/IP socket.
1981 2003-02-19 Havoc Pennington <hp@pobox.com>
1983 Throughout: mop up all the Doxygen warnings and undocumented
1986 * dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
1987 to search any paths.
1989 * dbus/dbus-threads.c: move global mutex initializers to
1990 dbus-internals.h, multiple prototypes was confusing doxygen
1991 besides being kind of ugly
1993 * Doxyfile (PREDEFINED): have Doxygen define
1994 DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
1995 docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
1996 (do not abuse the feature! it's for stuff like the autogenerated
1997 macros in dbus-md5.c, not just for things you don't feel like
2000 2003-02-18 Havoc Pennington <hp@pobox.com>
2002 * dbus/dbus-string.c (_dbus_string_zero): new function
2004 * dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
2005 wrap it in some dbus-friendly API
2007 * dbus/dbus-types.h: add 16-bit types
2009 2003-02-18 Joe Shaw <joe@assbarn.com>
2011 * dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
2012 credentials from our currently running process.
2013 (get_word): Fix a buglet where we were copying the entire length
2014 instead of relative to our position.
2016 * dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
2017 keys on the stack... it's 640k of data.
2019 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
2020 read the credentials byte off the socket, even if we don't have
2022 (_dbus_poll): Implement poll() using select() for systems which
2025 * glib/test-dbus-glib.c (main): Print out an error if no
2026 parameters are given.
2028 * test/data/auth/fallback.auth-script: Added. Tests that a client
2029 can fallback to a secondary auth mechanism if the first fails.
2031 2003-02-18 Havoc Pennington <hp@pobox.com>
2035 2003-02-17 Havoc Pennington <hp@pobox.com>
2037 * doc/dbus-specification.sgml: lots of cosmetic
2038 cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
2039 env variable to DBUS_BUS_ADDRESS, s/client/application/,
2040 s/server/bus/ (except in authentication section). Add a section
2041 "Message Bus Message Routing"
2043 2003-02-17 Anders Carlsson <andersca@codefactory.se.>
2049 2003-02-17 Anders Carlsson <andersca@codefactory.se>
2051 * doc/dbus-specification.sgml:
2052 Specification updates.
2054 2003-02-17 Anders Carlsson <andersca@codefactory.se>
2056 * bus/activation.c: (bus_activation_init), (child_setup),
2057 (bus_activation_activate_service):
2059 * bus/main.c: (main):
2060 Set DBUS_ADDRESS environment variable.
2062 * dbus/dbus-errors.c: (dbus_set_error):
2063 Don't use va_copy since that's a C99 feature.
2065 * dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
2066 (_dbus_spawn_async):
2067 * dbus/dbus-sysdeps.h:
2068 Add child_setup_func to _dbus_spawn_async.
2070 * doc/dbus-specification.sgml:
2071 Update specification.
2073 * test/spawn-test.c: (setup_func), (main):
2076 2003-02-17 Alexander Larsson <alexl@redhat.com>
2078 * dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
2081 2003-02-17 Anders Carlsson <andersca@codefactory.se>
2085 * doc/dbus-test-plan.sgml:
2086 Add test plan document.
2091 2003-02-17 Anders Carlsson <andersca@codefactory.se>
2093 * dbus/dbus-message.c: (decode_header_data),
2094 (_dbus_message_loader_return_buffer):
2095 Set the header padding amount when loading a message.
2097 2003-02-16 Anders Carlsson <andersca@codefactory.se>
2099 * bus/dispatch.c: (send_one_message):
2100 Only send broadcast messages to registered connections.
2102 * dbus/dbus-message.c: (dbus_message_name_is):
2103 * dbus/dbus-message.h:
2104 New convenience function.
2106 * dbus/dbus-transport-debug.c: (do_reading):
2107 Only dispatch one message per run.
2110 * test/bus-test.c: (new_connection_callback), (die),
2111 (test_hello_client1_handler), (test_hello_client2_handler),
2112 (test_hello_replies), (main):
2114 * test/bus-test-loop.[ch]:
2117 2003-02-16 Havoc Pennington <hp@pobox.com>
2119 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
2120 backward conditional
2122 2003-02-16 Alexander Larsson <alexl@redhat.com>
2124 * dbus/dbus-connection.c:
2125 Implement sent_message_with_reply. (with_reply_and block is still
2127 Made dispatch_message not lose message if OOM.
2129 * dbus/dbus-errors.h:
2130 Add NoReply error (for reply timeouts).
2132 2003-02-16 Alexander Larsson <alexl@redhat.com>
2134 * dbus/dbus-hash.c (_dbus_hash_table_unref):
2135 Actually free keys and values when destroying hashtable.
2137 2003-02-16 Anders Carlsson <andersca@codefactory.se>
2139 * dbus/dbus-auth.c: (client_try_next_mechanism):
2142 * dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
2143 Return TRUE if there's no thread implementation around.
2145 * glib/dbus-gmain.c: (free_source),
2146 (dbus_connection_hookup_with_g_main):
2147 Make sure to remove the GSource when the connection is finalized.
2149 2003-02-16 Anders Carlsson <andersca@codefactory.se>
2151 * bus/dispatch.c: (bus_dispatch_message_handler):
2152 * dbus/dbus-errors.h:
2153 Return an error if someone tries to send a message to a service
2156 2003-02-16 Anders Carlsson <andersca@codefactory.se>
2158 * bus/activation.c: (load_directory), (bus_activation_init),
2159 (bus_activation_activate_service):
2162 (bus_driver_handle_activate_service), (bus_driver_handle_message):
2163 More work on the activation handling.
2165 * dbus/dbus-errors.h:
2166 Add some error messages
2168 * dbus/dbus-message.c: (dbus_message_new_error_reply):
2169 * dbus/dbus-message.h:
2170 New function that creates an error message.
2172 * dbus/dbus-protocol.h:
2173 Add ACTIVATE_SERVER message.
2175 * dbus/dbus-server-unix.c: (unix_handle_watch),
2176 (_dbus_server_new_for_domain_socket):
2177 Call _dbus_fd_set_close_on_exec.
2179 * dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
2180 (_dbus_spawn_async), (_dbus_disable_sigpipe),
2181 (_dbus_fd_set_close_on_exec):
2182 * dbus/dbus-sysdeps.h:
2183 Add _dbus_fd_set_close_on exec function. Also add function that checks
2184 that all open fds are set to close-on-exec and warns otherwise.
2186 * dbus/dbus-transport-unix.c:
2187 (_dbus_transport_new_for_domain_socket):
2188 Call _dbus_fd_set_close_on_exec.
2190 2003-02-16 Havoc Pennington <hp@pobox.com>
2192 * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
2193 allow people to avoid setting SIGPIPE to SIG_IGN
2194 (_dbus_connection_new_for_transport): disable SIGPIPE unless
2195 we've been asked not to
2197 2003-02-15 Anders Carlsson <andersca@codefactory.se>
2199 * dbus/dbus-list.c: (_dbus_list_append_link),
2200 (_dbus_list_prepend_link):
2201 * dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
2205 2003-02-15 Anders Carlsson <andersca@codefactory.se>
2208 * bus/activation.c: (bus_activation_entry_free),
2209 (add_desktop_file_entry), (load_directory), (bus_activation_init):
2211 * bus/main.c: (main):
2212 Add simple activation support, doesn't work yet though.
2214 2003-02-15 Zack Rusin <zack@kde.org>
2216 * qt/dbus-qthread.cpp: small casting fix
2218 2003-02-15 Anders Carlsson <andersca@codefactory.se>
2220 * dbus/dbus-errors.c: (dbus_set_error):
2221 * dbus/dbus-errors.h:
2222 Add a few errors and make dbus_set_error void.
2224 * dbus/dbus-sysdeps.c:
2225 (_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
2226 (write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
2227 * dbus/dbus-sysdeps.h:
2228 Add _dbus_spawn_async.
2230 * test/spawn-test.c: (main):
2231 Test for _dbus_spawn_async.
2233 2003-02-15 Anders Carlsson <andersca@codefactory.se>
2235 * dbus/dbus-internals.h:
2236 Fix build without tests.
2238 * dbus/dbus-list.c: (alloc_link):
2239 Fix a segfault when a malloc fails.
2241 * dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
2242 (dbus_malloc0), (dbus_realloc):
2243 Add support for malloc debugging.
2245 2003-02-15 Alexander Larsson <alexl@redhat.com>
2247 * dbus/dbus-threads.c:
2248 * dbus/dbus-threads.h:
2249 Add condvars. Remove static mutext from API.
2250 Implement static mutexes by initializing them from threads_init.
2252 * glib/dbus-gthread.c:
2253 * qt/dbus-qthread.cpp:
2254 Update with the thread api changes.
2259 Turn StaticMutex into normal mutex + init function.
2260 Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
2261 _dbus_list_append_link, _dbus_list_prepend_link
2264 * dbus/dbus-sysdeps.c:
2265 * dbus/dbus-sysdeps.h:
2266 New type dbus_atomic_t, and new functions _dbus_atomic_inc,
2267 _dbus_atomic_dec. Only slow fallback implementation at the moment.
2269 * dbus/dbus-protocol.h:
2270 Add DBUS_MESSAGE_LOCAL_DISCONNECT define
2272 * dbus/dbus-message.c:
2273 Make ref/unref atomic.
2276 * dbus/dbus-connection-internal.h:
2277 * dbus/dbus-connection.c:
2278 * dbus/dbus-connection.h:
2280 Change _peek to _borrow,_return & _steal_borrowed.
2281 Change disconnect callback to event.
2282 Make dbus_connection_dispatch_messages reentrant.
2284 * dbus/dbus-transport.c:
2285 Don't ref the connection on calls to the transport
2288 * dbus/dbus-message-handler.c:
2291 * glib/dbus-gmain.c:
2292 Don't use peek_message anymore
2295 * test/debug-thread.c:
2296 * test/debug-thread.h:
2297 Simple thread implementation that asserts() on deadlocks in
2298 single-threaded code.
2301 (main) Call debug_threads_init.
2304 Use disconnect message instead of disconnect callback.
2308 Don't call dbus_connection_set_disconnect_function. Instead export
2309 bus_connection_disconnect.
2312 Call bus_connection_disconnect when we get a disconnected message.
2314 2003-02-15 Havoc Pennington <hp@pobox.com>
2316 * dbus/dbus-message.c (dbus_message_new): fool around with the
2319 2003-02-14 Havoc Pennington <hp@pobox.com>
2321 * dbus/dbus-mempool.c: fail if the debug functions so indicate
2323 * dbus/dbus-memory.c: fail if the debug functions indicate we
2326 * dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
2327 (_dbus_decrement_fail_alloc_counter): debug functions to
2328 simulate memory allocation failures
2330 2003-02-14 Havoc Pennington <hp@pobox.com>
2332 * dbus/dbus-errors.h (struct DBusError): add a word of padding
2335 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2337 * bus/driver.c: (bus_driver_handle_hello):
2339 * bus/services.c: (bus_service_lookup):
2340 Reorder message sending so we get a more sane order.
2342 * test/bus-test.c: (message_handler):
2345 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2347 * bus/driver.c: (bus_driver_send_service_deleted),
2348 (bus_driver_send_service_created), (bus_driver_send_service_lost),
2349 (bus_driver_send_service_acquired), (bus_driver_handle_hello),
2350 (bus_driver_send_welcome_message),
2351 (bus_driver_handle_list_services),
2352 (bus_driver_handle_acquire_service),
2353 (bus_driver_handle_service_exists):
2354 * dbus/dbus-bus.c: (dbus_bus_register_client),
2355 (dbus_bus_acquire_service), (dbus_bus_service_exists):
2356 * dbus/dbus-errors.c: (dbus_result_to_string):
2357 * dbus/dbus-errors.h:
2358 * dbus/dbus-message.c: (dbus_message_append_args),
2359 (dbus_message_append_args_valist), (dbus_message_get_args),
2360 (dbus_message_get_args_valist), (dbus_message_get_args_iter),
2361 (dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
2362 (dbus_message_iter_get_byte_array),
2363 (dbus_message_iter_get_string_array), (message_iter_test),
2364 (check_message_handling), (_dbus_message_test):
2365 * dbus/dbus-message.h:
2366 * test/bus-test.c: (main):
2367 Change fields to arguments in messages, so that they won't be
2368 confused with header fields.
2370 * glib/test-dbus-glib.c: (main):
2371 Remove append_fields from hello message.
2373 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2375 * dbus/dbus-errors.c:
2376 * dbus/dbus-message.c:
2377 * dbus/dbus-string.c:
2378 Documentation fixes.
2380 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2382 * glib/dbus-gmain.c: (timeout_handler), (add_timeout),
2384 Implement support for timeouts in dbus-glib.
2386 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2388 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
2389 * dbus/dbus-message.c: (process_test_subdir):
2390 * test/break-loader.c: (find_breaks_based_on):
2391 Plug some memory leaks.
2393 2003-02-13 Richard Hult <rhult@codefactory.se>
2395 * bus/main.c: Fix build.
2397 * dbus/dbus-errors.h:
2398 * dbus/dbus-errors.c: Fix copyright for Anders.
2400 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2405 * bus/connection.c: (bus_connection_foreach):
2408 * bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
2409 (unescape_string), (new_section), (parse_section_start),
2410 (parse_key_value), (report_error), (bus_desktop_file_load),
2411 (bus_desktop_file_get_string):
2412 * bus/desktop-file.h:
2413 Use DBusError for error reporting.
2415 * bus/dispatch.c: (send_one_message),
2416 (bus_dispatch_message_handler):
2417 * bus/driver.c: (bus_driver_send_service_deleted),
2418 (bus_driver_send_service_created), (bus_driver_send_service_lost),
2419 (bus_driver_send_service_acquired), (bus_driver_handle_hello),
2420 (bus_driver_send_welcome_message),
2421 (bus_driver_handle_list_services),
2422 (bus_driver_handle_acquire_service),
2423 (bus_driver_handle_service_exists):
2424 * bus/loop.c: (bus_loop_run):
2426 Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
2428 * bus/utils.c: (bus_wait_for_memory):
2430 New files with general utility functions.
2432 * dbus/dbus-internals.h:
2433 Remove _DBUS_HANDLE_OOM.
2435 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2437 * dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
2438 (dbus_error_free), (dbus_set_error_const), (dbus_set_error):
2439 * dbus/dbus-errors.h:
2440 Add DBusError structure.
2442 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2444 * test/data/valid-messages/standard-acquire-service.message:
2445 * test/data/valid-messages/standard-hello.message:
2446 * test/data/valid-messages/standard-list-services.message:
2447 * test/data/valid-messages/standard-service-exists.message:
2448 Add some standard messages.
2450 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2452 * bus/driver.c: (bus_driver_send_welcome_message),
2453 (bus_driver_handle_list_services),
2454 (bus_driver_handle_acquire_service),
2455 (bus_driver_handle_service_exists), (bus_driver_handle_message):
2456 Update for API changes in libdbus.
2458 * dbus/dbus-message.c: (dbus_message_new_reply):
2459 * dbus/dbus-message.h:
2460 Remove the name argument. The spec states that replies shouldn't
2463 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2465 * bus/desktop-file.c: (parse_section_start), (parse_key_value),
2466 (report_error), (bus_desktop_file_load), (lookup_section),
2467 (lookup_line), (bus_desktop_file_get_raw),
2468 (bus_desktop_file_get_string):
2469 * bus/desktop-file.h:
2470 Some fixes, and new functions for getting a key value from a section.
2472 2003-02-13 Havoc Pennington <hp@pobox.com>
2474 * test/data/auth/fail-after-n-attempts.auth-script: new test
2476 * dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
2479 2003-02-13 Havoc Pennington <hp@pobox.com>
2481 * dbus/dbus-auth.c (handle_server_data_external_mech): args to
2482 dbus_credentials_match were backward
2484 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support
2485 NO_CREDENTIALS and ROOT_CREDENTIALS
2487 * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
2488 into here. Never process more commands after we've reached an
2489 end state; store further data as unused bytes.
2491 * test/data/auth/*: add more auth tests
2493 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
2494 command to match exact string and EXPECT_UNUSED to match unused
2497 * test/Makefile.am (dist-hook): fix to dist all the test stuff
2499 2003-02-12 Havoc Pennington <hp@pobox.com>
2501 * dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
2502 \r off of popped lines
2504 * dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
2507 * dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
2510 2003-02-12 Havoc Pennington <hp@pobox.com>
2512 * dbus/Makefile.am: remove break-loader from the build, since it
2515 * configure.in: add --enable-gcov to turn on coverage profiling
2516 flags and disable optimization
2518 2003-02-10 Havoc Pennington <hp@pobox.com>
2520 * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync
2521 initial cut at test framework for DBusAuth from laptop.
2522 Doesn't quite work yet but it compiles and I need to get
2523 it off the 266mhz laptop. ;-)
2525 * dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
2526 fix a memleak in error case
2528 2003-02-12 Anders Carlsson <andersca@codefactory.se>
2531 * bus/desktop-file.c:
2532 * bus/desktop-file.h:
2533 Add a desktop file parser.
2535 2003-02-11 Zack Rusin <zack@kde.org>
2537 * qt/message.[h|cpp]: sample implementation
2538 of the KDE wrapper for DBusMessage
2540 2003-02-09 Zack Rusin <zack@kde.org>
2542 * test/bus-test.c: make_it_compile
2543 * doc/dbus-specification.sgml: minimal semantic fix
2545 2003-02-06 Anders Carlsson <andersca@codefactory.se>
2551 2003-02-06 Anders Carlsson <andersca@codefactory.se>
2554 * dbus/dbus-break-loader.c:
2556 * test/break-loader.c:
2557 Move dbus-break-loader to test/ and rename it to break-loader.
2559 2003-02-02 Havoc Pennington <hp@pobox.com>
2561 * dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files
2562 for code to manage cookies in your home directory
2564 * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
2566 * dbus/dbus-auth.c (get_state): impose a maximum number of tries
2567 to authenticate, then disconnect the client.
2569 2003-02-03 Alexander Larsson <alexl@redhat.com>
2571 * dbus/dbus-message.c (dbus_message_append_fields):
2574 2003-02-02 Anders Carlsson <andersca@codefactory.se>
2576 * doc/dbus-specification.sgml:
2577 Update address format section.
2579 2003-02-02 Anders Carlsson <andersca@codefactory.se>
2582 * test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
2583 (message_handler), (new_connection_callback), (loop_quit),
2587 2003-02-02 Anders Carlsson <andersca@codefactory.se>
2589 * bus/driver.c: (bus_driver_handle_service_exists):
2590 Simplify the code a bit.
2592 * dbus/dbus-bus.c: (dbus_bus_service_exists):
2595 2003-02-02 Anders Carlsson <andersca@codefactory.se>
2598 Add libdbus-daemon.la and link to it.
2600 2003-02-01 James Willcox <jwillcox@gnome.org>
2602 * bus/driver.c: (bus_driver_handle_own_service):
2603 Actually include the service reply code in the message.
2605 2003-02-02 Anders Carlsson <andersca@codefactory.se>
2607 * bus/driver.c: (bus_driver_handle_service_exists):
2608 Don't unref the incoming message.
2610 2003-02-02 Anders Carlsson <andersca@codefactory.se>
2612 * dbus/dbus.h: Add dbus-address.h and dbus-bus.h
2614 2003-02-02 Anders Carlsson <andersca@codefactory.se>
2616 * dbus/dbus-server.c: (dbus_server_listen):
2617 * dbus/dbus-transport.c: (_dbus_transport_open):
2618 ifdef out the calls to the debug transport and server.
2620 2003-02-02 Alexander Larsson <alexl@redhat.com>
2622 * dbus/dbus-watch.c (dbus_watch_get_flags):
2623 Add note in the docs that ERROR or HANGUP won't be returned
2624 and are assumed always on.
2626 * glib/dbus-gmain.c (add_watch):
2627 Always add IO_ERR | IO_HUP
2629 * dbus/dbus-message.h:
2630 Add semicolon after dbus_message_iter_get_string_array().
2631 Makes qt code build again
2633 2003-02-01 Anders Carlsson <andersca@codefactory.se>
2635 * bus/driver.c: (create_unique_client_name),
2636 (bus_driver_handle_hello):
2637 Don't take a name, just use a numeric id to identify
2641 * dbus/dbus-bus.c: (dbus_bus_register_client),
2642 (dbus_bus_acquire_service), (dbus_bus_service_exists):
2644 Add new convenience functions for communicating with the bus.
2646 * dbus/dbus-message.h:
2648 * dbus/dbus-protocol.h:
2651 2003-02-01 Alexander Larsson <alexl@redhat.com>
2653 * dbus/dbus-message.c (dbus_message_append_fields):
2654 Add some more doc comments.
2656 2003-02-01 Havoc Pennington <hp@pobox.com>
2658 * dbus/dbus-break-loader.c (randomly_modify_length): change
2659 a 4-byte value in the message as if it were a length
2661 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
2662 execute bit on saved files
2664 2003-02-01 Havoc Pennington <hp@pobox.com>
2666 * dbus/dbus-break-loader.c (main): new program to find messages
2667 that break the loader.
2669 * dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
2670 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
2672 * dbus/dbus-string.c (_dbus_string_set_byte): new
2674 2003-01-31 Havoc Pennington <hp@pobox.com>
2676 * dbus/dbus-message.c: refactor the test code to be more general,
2677 in preparation for writing a "randomly permute test cases to
2678 try to break the loader" program.
2680 2003-01-31 Havoc Pennington <hp@pobox.com>
2682 * doc/dbus-specification.sgml: work on the specification
2684 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
2685 the protocol version of the message.
2687 * dbus/dbus-protocol.h: drop special _REPLY names, the spec
2688 no longer specifies that.
2689 (DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
2692 * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
2693 "break" for DBUS_TYPE_NIL, remove @todo
2695 2003-01-31 Havoc Pennington <hp@pobox.com>
2697 * dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
2698 just set_is_error/get_is_error as this is a commonly-used
2699 function, and write docs.
2701 2003-01-31 Anders Carlsson <andersca@codefactory.se>
2703 * dbus/dbus-address.c: (dbus_address_entry_free):
2704 Free key and value lists.
2706 * dbus/dbus-internals.c: (_dbus_type_to_string):
2707 Add the types we didn't have.
2709 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
2710 (_dbus_marshal_validate_arg):
2713 * dbus/dbus-message.c: (dbus_message_set_sender):
2714 Remove todo about being able to set sender to NULL.
2716 (dbus_message_set_is_error_reply),
2717 (dbus_message_get_is_error_reply):
2718 * dbus/dbus-message.h:
2721 * dbus/dbus-protocol.h:
2722 Add error reply flag.
2724 * test/data/valid-messages/opposite-endian.message:
2725 Add NIL type to test.
2727 2003-01-31 Havoc Pennington <hp@pobox.com>
2729 * doc/dbus-specification.sgml: fully specify the header. Add
2730 flags and major protocol version, and change header/body len to
2733 * dbus/dbus-message-builder.c (append_saved_length): append length
2736 * dbus/dbus-message.c (dbus_message_create_header): change header
2737 length and body length to unsigned. Add the new fields from the
2739 (_dbus_message_loader_return_buffer): unsigned header/body len
2741 2003-01-30 Havoc Pennington <hp@pobox.com>
2743 * dbus/dbus-auth.c: rework to use only REJECTED, no
2746 * doc/dbus-sasl-profile.txt: drop MECHANISMS and just
2747 use REJECTED, suggested by Mark McLoughlin
2749 2003-01-30 Havoc Pennington <hp@pobox.com>
2751 * dbus/dbus-server.c (dbus_server_listen): @todo about how we need
2752 a better way to report errors here. e.g. "unix address lacks
2753 path" or something. also "no such file" when the path doesn't
2756 * dbus/dbus-address.c (dbus_address_entries_free): add @todo about
2758 (dbus_parse_address): add @todo about documenting address format,
2759 and allowing , and ; to be escaped
2761 2003-01-30 Anders Carlsson <andersca@codefactory.se>
2764 Add dbus-address.[ch]
2766 * dbus/dbus-address.c: (dbus_address_entry_free),
2767 (dbus_address_entries_free), (create_entry),
2768 (dbus_address_entry_get_method), (dbus_address_entry_get_value),
2769 (dbus_parse_address), (_dbus_address_test):
2770 * dbus/dbus-address.h:
2771 New files for dealing with address parsing.
2773 * dbus/dbus-connection.c:
2774 Document timeout functions.
2776 * dbus/dbus-message.c:
2777 Document dbus_message_new_from_message.
2779 * dbus/dbus-server-debug.c:
2782 * dbus/dbus-server.c: (dbus_server_listen):
2783 Parse address and use correct server implementation.
2785 * dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
2786 * dbus/dbus-string.h:
2787 New function with test.
2789 * dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
2793 * dbus/dbus-transport-debug.c:
2796 * dbus/dbus-transport.c: (_dbus_transport_open):
2797 Parse address and use correct transport implementation.
2799 2003-01-30 Havoc Pennington <hp@pobox.com>
2801 * dbus/dbus-message.c: use message->byte_order instead of
2802 DBUS_COMPILER_BYTE_ORDER throughout.
2803 (dbus_message_create_header): pad header to align the
2804 start of the body of the message to 8-byte boundary
2806 * dbus/dbus-marshal.h: make all the demarshalers take const
2807 DBusString arguments.
2809 * dbus/dbus-message.c (_dbus_message_loader_return_buffer):
2810 validate message args here, so we don't have to do slow validation
2811 later, and so we catch bad messages as they are incoming. Also add
2812 better checks on header_len and body_len. Also fill in
2815 * dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
2816 implemented properly)
2817 (_dbus_string_validate_nul): new function to check all-nul
2819 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
2820 get_arg_end_pos and remove all validation
2821 (_dbus_marshal_validate_arg): actually do validation here.
2823 2003-01-29 Havoc Pennington <hp@pobox.com>
2825 * dbus/dbus-message.c (check_message_handling): fix assertion
2826 failure on set_client_serial
2828 2003-01-28 Havoc Pennington <hp@pobox.com>
2830 * dbus/dbus-server-debug.c: Add doc section comments
2832 * dbus/dbus-transport-debug.c: add doc section comments
2834 2003-01-28 Havoc Pennington <hp@redhat.com>
2836 * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
2837 the reverse order from how I had it
2838 (_dbus_string_base64_encode): reverse encoding order. I was
2839 basically byteswapping everything during encoding.
2841 2003-01-28 Anders Carlsson <andersca@codefactory.se>
2843 * dbus/dbus-connection-internal.h:
2844 * dbus/dbus-connection.c: (_dbus_connection_add_timeout),
2845 (_dbus_connection_remove_timeout):
2846 Add functions for adding and removing timeouts.
2848 * dbus/dbus-message.c: (dbus_message_new_from_message):
2849 Add new function that takes a message and creates an exact
2850 copy of it, but with the refcount set to 1.
2851 (check_message_handling):
2854 * dbus/dbus-server-protected.h:
2855 * dbus/dbus-server.c: (_dbus_server_init_base),
2856 (_dbus_server_finalize_base), (_dbus_server_add_timeout),
2857 (dbus_server_set_timeout_functions):
2858 (_dbus_server_remove_timeout):
2859 New functions so that a server can add and remove timeouts.
2861 (dbus_server_listen):
2862 Add commented out call to dbus_server_debug_new.
2864 * dbus/dbus-timeout.c: (_dbus_timeout_new):
2865 Actually set the handler, doh.
2867 * dbus/dbus-transport.c: (_dbus_transport_open):
2868 Add commented out call to dbus_transport_debug_client_new.
2871 Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
2873 2003-01-28 Havoc Pennington <hp@pobox.com>
2875 * dbus/dbus-message.c (check_message_handling): function to check
2876 on the loaded message, iterates over it etc.
2878 2003-01-28 Havoc Pennington <hp@pobox.com>
2880 * test/Makefile.am (dist-hook): fix make distdir
2882 * dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
2884 2003-01-27 Havoc Pennington <hp@pobox.com>
2886 * dbus/dbus-mempool.c (time_for_size): replace printf with
2889 * dbus/dbus-message-builder.c (_dbus_message_data_load): allow
2890 empty lines; fix the SAVE_LENGTH stuff to be
2891 START_LENGTH/END_LENGTH so it actually works; couple other
2894 * test/Makefile.am (dist-hook): add dist-hook for .message files
2896 * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
2897 can be constant or locked.
2898 (_dbus_string_free): allow freeing a const string as
2901 * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
2903 * dbus/dbus-test-main.c (main): take an argument which is the
2904 directory containing test data
2906 * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
2907 argument to this and load all the messages in test/data/
2908 checking that they can be loaded or not loaded as appropriate.
2910 2003-01-27 Anders Carlsson <andersca@codefactory.se>
2912 * bus/dispatch.c: (bus_dispatch_message_handler):
2913 Dispatch messages sent to services.
2915 * bus/driver.c: (bus_driver_send_service_deleted),
2916 (bus_driver_send_service_created), (bus_driver_send_service_lost),
2917 (bus_driver_send_service_acquired):
2918 Add helper functions for sending service related messages.
2920 (bus_driver_send_welcome_message):
2921 Send HELLO_REPLY instead of WELCOME.
2923 (bus_driver_handle_list_services):
2924 Send LIST_SERVICES_REPLY instead of SERVICES.
2926 (bus_driver_handle_own_service),
2927 (bus_driver_handle_service_exists):
2928 New message handlers.
2930 (bus_driver_handle_message):
2931 Invoke new message handlers.
2933 (bus_driver_remove_connection):
2934 Don't remove any services here since that's done automatically
2935 by bus_service_remove_owner now.
2938 New function signatures.
2940 * bus/services.c: (bus_service_add_owner):
2941 Send ServiceAcquired message if we're the only primary owner.
2943 (bus_service_remove_owner):
2944 Send ServiceAcquired/ServiceLost messages.
2946 (bus_service_set_prohibit_replacement),
2947 (bus_service_get_prohibit_replacement):
2948 Functions for setting prohibit replacement.
2950 (bus_service_has_owner):
2951 New function that checks if a connection is in the owner queue of
2955 Add new function signatures.
2957 * dbus/dbus-list.c: (_dbus_list_test):
2958 Add tests for _dbus_list_remove_last and traversing the list backwards.
2961 Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
2962 go any further, so return NULL then.
2964 * dbus/dbus-protocol.h:
2965 Add new messages, service flags and service replies.
2967 2003-01-26 Havoc Pennington <hp@pobox.com>
2969 * dbus/dbus-message-builder.c: implement, completely untested.
2971 * test/data/*: add data to be used in testing.
2972 ".message" files are our simple loadable text format.
2973 ".message-raw" will be binary dumps of messages.
2975 * dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
2977 2003-01-26 Havoc Pennington <hp@pobox.com>
2979 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
2981 * dbus/dbus-errors.c (dbus_result_to_string): add
2984 * dbus/dbus-message-builder.c: new file, will contain code to load
2985 up messages from files. Not implemented yet.
2987 2003-01-26 Havoc Pennington <hp@pobox.com>
2989 * dbus/dbus-message.c (dbus_message_set_sender): support deleting
2990 the sender by setting to NULL
2992 2003-01-26 Havoc Pennington <hp@pobox.com>
2994 The unit tests pass, but otherwise untested. If it breaks, the
2995 tests should have been better. ;-)
2997 * bus/driver.c (bus_driver_handle_hello): return if we disconnect
3000 * dbus/dbus-message.c: redo everything so we maintain
3001 message->header as the only copy of the various fields.
3002 This avoids the possibility of out-of-memory in some cases,
3003 for example dbus_message_lock() can't run out of memory anymore,
3004 and avoids extra copying. Figured I may as well go ahead and do
3005 this since it was busted for dbus_message_lock to not return
3006 failure on OOM, and dbus_message_write_header was totally
3007 unchecked for OOM. Also fixed some random other bugs.
3009 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
3010 that strings are nul-terminated. Also, end_pos can be equal
3011 to string length just not greater than, I think.
3012 (_dbus_marshal_set_int32): new function
3013 (_dbus_marshal_set_uint32): new function
3014 (_dbus_marshal_set_string): new function
3016 * dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
3017 a warning, init timeout_list to NULL
3018 (dbus_connection_send_message): don't use uninitialized variable
3021 * dbus/dbus-string.c (_dbus_string_replace_len): new function
3023 2003-01-26 Anders Carlsson <andersca@codefactory.se>
3025 * bus/driver.c: (bus_driver_handle_hello),
3026 (bus_driver_send_welcome_message):
3029 2003-01-26 Anders Carlsson <andersca@codefactory.se>
3031 * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
3032 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
3033 (dbus_connection_unref):
3034 * dbus/dbus-marshal.c: (_dbus_marshal_test):
3035 * dbus/dbus-message.c: (dbus_message_unref),
3038 (dbus_message_get_fields):
3039 Remove debugging printout.
3041 (_dbus_message_loader_return_buffer):
3042 Don't store the header string.
3044 (_dbus_message_test):
3047 2003-01-26 Richard Hult <rhult@codefactory.se>
3049 * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
3050 the file descriptor list, since it can change under us.
3052 2003-01-25 Anders Carlsson <andersca@codefactory.se>
3054 * glib/dbus-gmain.c: (dbus_connection_prepare),
3055 (dbus_connection_check), (dbus_connection_dispatch), (add_watch),
3056 (remove_watch), (dbus_connection_hookup_with_g_main):
3057 Rewrite the glib handling to use its own GSource instead of a
3058 GIOChannel so we can catch messages put in the queue while waiting
3061 2003-01-25 Anders Carlsson <andersca@codefactory.se>
3064 * bus/connection.c: (connection_disconnect_handler),
3065 (connection_watch_callback), (bus_connection_setup):
3066 * bus/dispatch.c: (send_one_message),
3067 (bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
3068 (bus_dispatch_add_connection), (bus_dispatch_remove_connection):
3070 * bus/driver.c: (bus_driver_send_service_deleted),
3071 (bus_driver_send_service_created), (bus_driver_handle_hello),
3072 (bus_driver_send_welcome_message),
3073 (bus_driver_handle_list_services), (bus_driver_remove_connection),
3074 (bus_driver_handle_message):
3076 Refactor code, put the message dispatching in its own file. Use
3077 _DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
3080 2003-01-25 Anders Carlsson <andersca@codefactory.se>
3082 * dbus/dbus-internals.h:
3083 Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
3085 * dbus/dbus-message.c: (dbus_message_get_sender):
3086 * dbus/dbus-message.h:
3087 Implement dbus_message_get_sender.
3089 * dbus/dbus-protocol.h:
3090 Add message and service defines.
3092 2003-01-25 Anders Carlsson <andersca@codefactory.se>
3094 * dbus/dbus-connection.c: (dbus_connection_send_message):
3095 * dbus/dbus-message-internal.h:
3096 * dbus/dbus-message.c: (_dbus_message_get_client_serial),
3097 (dbus_message_write_header):
3098 Remove _dbus_messag_unlock and don't set the client serial on a
3099 message if one already exists.
3101 2003-01-24 Havoc Pennington <hp@pobox.com>
3103 * dbus/dbus-list.c (alloc_link): put a thread lock on the global
3106 * bus/driver.c (bus_driver_handle_list_services): fix a leak
3109 2003-01-25 Anders Carlsson <andersca@codefactory.se>
3111 * dbus/dbus-list.c: (alloc_link), (free_link):
3112 Use a memory pool for the links.
3114 2003-01-25 Anders Carlsson <andersca@codefactory.se>
3116 * bus/connection.c: (bus_connection_foreach):
3118 Add new bus_connection_foreach function.
3120 * bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
3121 Add function that broadcasts a message to all clients.
3123 (bus_driver_send_service_created), (bus_driver_handle_hello),
3124 (bus_driver_send_welcome_message),
3125 (bus_driver_handle_list_services), (bus_driver_message_handler):
3126 Implement functions that take care of listing services, and notifying
3127 clients when new services are created.
3129 * bus/services.c: (bus_services_list):
3131 Add new function that returns an array of strings with the currently
3132 registered services.
3135 * glib/dbus-gmain.c:
3136 Update copyright year.
3138 2003-01-25 Anders Carlsson <andersca@codefactory.se>
3140 * dbus/dbus-connection.c: (dbus_connection_send_message):
3141 Unlock the message in case it was sent earlier.
3143 (dbus_connection_send_message_with_reply_and_block):
3144 Remove the reply message from the list.
3146 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
3147 Set array_len and new_pos correctly.
3149 (_dbus_marshal_test):
3150 Remove debug output.
3152 * dbus/dbus-message-internal.h:
3153 * dbus/dbus-message.c: (_dbus_message_get_reply_serial):
3154 New function that returns the reply serial.
3156 (_dbus_message_unlock):
3157 New function that unlocks a message and resets its header.
3159 (dbus_message_append_string_array),
3160 (dbus_message_get_fields_valist),
3161 (dbus_message_iter_get_field_type),
3162 (dbus_message_iter_get_string_array),
3163 (dbus_message_get_fields),
3164 (dbus_message_append_fields_valist):
3165 Handle string arrays.
3167 (dbus_message_set_sender):
3168 Make this function public since the bus daemon needs it.
3170 (decode_header_data):
3171 Set the reply serial to -1 initially.
3173 * dbus/dbus-message.h:
3174 Add dbus_message_set_sender.
3176 2003-01-24 Havoc Pennington <hp@pobox.com>
3178 * doc/dbus-specification.sgml: add some stuff
3180 2003-01-22 Havoc Pennington <hp@pobox.com>
3182 * doc/dbus-specification.sgml: Start to document the protocol.
3184 2003-01-22 Havoc Pennington <hp@pobox.com>
3186 * dbus/dbus-connection.c
3187 (dbus_connection_send_message_with_reply_and_block): add some @todo
3189 * bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
3191 2003-01-21 Havoc Pennington <hp@pobox.com>
3193 (patch untested because can't compile)
3195 * bus/driver.c (create_unique_client_name): make this function
3196 never recycle client names. Also, caller should initialize
3199 * dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
3201 2003-01-21 Anders Carlsson <andersca@codefactory.se>
3203 * dbus/dbus-marshal.c: (_dbus_marshal_double),
3204 (_dbus_marshal_int32), (_dbus_marshal_uint32),
3205 (_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
3206 (_dbus_marshal_double_array), (_dbus_marshal_string_array),
3207 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
3208 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
3209 (_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
3210 * dbus/dbus-marshal.h:
3211 * dbus/dbus-protocol.h:
3212 Add support for marshalling and demarshalling integer, double
3215 2003-01-21 Anders Carlsson <andersca@codefactory.se>
3220 * bus/connection.c: (connection_disconnect_handler):
3221 Remove the connection from the bus driver's list.
3223 (connection_watch_callback): Dispatch messages.
3225 (free_connection_data): Free connection name.
3227 (bus_connection_setup): Add connection to the bus driver's list.
3228 (bus_connection_remove_owned_service):
3229 (bus_connection_set_name), (bus_connection_get_name):
3230 Add functions for setting and getting the connection's name.
3233 Add function headers.
3235 * bus/driver.c: (create_unique_client_name),
3236 (bus_driver_handle_hello_message),
3237 (bus_driver_send_welcome_message), (bus_driver_message_handler),
3238 (bus_driver_add_connection), (bus_driver_remove_connection):
3241 * bus/services.c: (bus_service_free):
3243 New file that handles communication and registreation with the bus
3246 2003-01-21 Anders Carlsson <andersca@codefactory.se>
3248 * dbus/dbus-connection.c: (dbus_connection_send_message):
3249 Add a new client_serial parameter.
3251 (dbus_connection_send_message_with_reply):
3252 Remove a @todo since we've implemented the blocking function.
3254 (dbus_connection_send_message_with_reply_and_block):
3255 New function that sends a message and waits for a reply and
3256 then returns the reply.
3258 * dbus/dbus-connection.h:
3261 * dbus/dbus-errors.c: (dbus_result_to_string):
3262 * dbus/dbus-errors.h:
3263 Add new DBUS_RESULT.
3265 * dbus/dbus-message-internal.h:
3266 * dbus/dbus-message.c: (_dbus_message_get_reply_serial),
3267 (_dbus_message_set_sender), (dbus_message_write_header),
3268 (dbus_message_new_reply), (decode_header_data),
3269 (_dbus_message_loader_return_buffer), (_dbus_message_test):
3270 * dbus/dbus-message.h:
3271 Add new functions that set the reply serial and sender.
3272 Also marshal and demarshal them correctly and add test.
3274 * dbus/dbus-protocol.h:
3275 Add new DBUS_MESSAGE_TYPE_SENDER.
3278 * glib/dbus-gmain.c: (watch_callback), (free_callback_data),
3279 (add_watch), (remove_watch), (add_timeout), (remove_timeout),
3280 (dbus_connection_hookup_with_g_main):
3281 * glib/test-dbus-glib.c: (main):
3282 Rewrite to use GIOChannel and remove the GSource crack.
3284 * test/echo-client.c: (main):
3285 * test/watch.c: (check_messages):
3286 Update for changed APIs
3288 2003-01-19 Anders Carlsson <andersca@codefactory.se>
3290 * dbus/Makefile.am: Add dbus-timeout.[cħ]
3292 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
3293 Create a DBusTimeoutList.
3294 (dbus_connection_set_timeout_functions): Add new function to
3295 set timeout callbacks
3297 * dbus/dbus-connection.h: Add public DBusTimeout API.
3299 * dbus/dbus-message.c: (dbus_message_get_service):
3300 * dbus/dbus-message.h: New function.
3302 * dbus/dbus-server.c: Fix small doc typo.
3304 * dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
3306 2003-01-19 Anders Carlsson <andersca@codefactory.se>
3308 * dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
3309 of the string, just as long as specified.
3311 2003-01-19 Havoc Pennington <hp@pobox.com>
3313 * dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
3316 * dbus/dbus-server.c (dbus_server_set_max_connections)
3317 (dbus_server_get_max_connections, dbus_server_get_n_connections):
3318 keep track of current number of connections, and add API for
3319 setting a max (but haven't implemented enforcing the max yet)
3321 2003-01-18 Havoc Pennington <hp@pobox.com>
3323 * dbus/dbus-transport-unix.c (unix_do_iteration): only do the
3324 reading/writing if read_watch != NULL or write_watch != NULL.
3326 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
3327 the message loader code to actually load message->header and
3328 message->body into the newly-created message.
3330 * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
3333 * dbus/dbus-connection.c (dbus_connection_set_max_message_size)
3334 (dbus_connection_get_max_message_size)
3335 (dbus_connection_set_max_live_messages_size)
3336 (dbus_connection_get_max_live_messages_size): implement some
3337 resource limitation functions
3339 * dbus/dbus-resources.c: new file implementing some of the
3340 resource limits stuff
3342 * dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
3343 missing docs, add @todo to handle OOM etc.
3345 * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
3348 2003-01-18 Havoc Pennington <hp@pobox.com>
3350 * dbus/dbus-connection.c (dbus_connection_unref): disconnect the
3351 connection if it hasn't been already.
3353 * dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
3354 replace with DisconnectFunction.
3356 2003-01-18 Havoc Pennington <hp@pobox.com>
3358 Building --disable-verbose-mode --disable-asserts --disable-tests
3359 cuts the library from 112K to 45K or so
3361 * configure.in: check for varargs macro support,
3362 add --enable-verbose-mode, --enable-asserts.
3364 * dbus/dbus-internals.h (_dbus_assert): support
3366 (_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
3368 2003-01-18 Havoc Pennington <hp@pobox.com>
3370 * dbus/dbus-test.c: include config.h so that tests actually run
3372 * dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
3373 so the failure mode when that assumption fails will be plenty
3376 2003-01-18 Havoc Pennington <hp@pobox.com>
3378 * configure.in: default --enable-tests to $USE_MAINTAINER_MODE
3380 * dbus/Makefile.am: fix it up so dubs-test-main.c is included in
3383 * test/Makefile.am: don't use special variable "TESTS" for echo-*
3384 since we don't want to use those in make check
3386 2003-01-15 Havoc Pennington <hp@redhat.com>
3392 2003-01-15 Havoc Pennington <hp@redhat.com>
3394 * test/Makefile.am: fix so that test source code ends up in the
3395 distribution on make distcheck
3397 2003-01-15 Havoc Pennington <hp@redhat.com>
3403 2003-01-15 Havoc Pennington <hp@redhat.com>
3405 * dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
3406 fix build when --disable-tests
3408 * Makefile.am (EXTRA_DIST): put HACKING in here
3410 * HACKING: document procedure for making a tarball release.
3412 2003-01-14 Anders Carlsson <andersca@codefactory.se>
3414 * bus/connection.c: (connection_error_handler),
3415 (bus_connection_setup):
3416 * bus/main.c: (main):
3417 Make sure that the DBusConnectionData struct is NULLed
3418 out to prevent a segfault.
3420 * dbus/dbus-errors.c: (dbus_result_to_string):
3421 * dbus/dbus-errors.h:
3422 * dbus/dbus-message.c: (dbus_message_get_fields),
3423 (dbus_message_get_fields_valist), (_dbus_message_test):
3424 * dbus/dbus-message.h:
3425 Make dbus_message_get_fields return a result code so we can
3426 track invalid fields as well as oom.
3428 2003-01-11 Havoc Pennington <hp@pobox.com>
3430 * configure.in: change --enable-test/--enable-ansi action-if-given
3431 to enable_foo=$enableval instead of enable_foo=yes
3433 2003-01-08 Havoc Pennington <hp@pobox.com>
3435 * dbus/dbus-string.c (_dbus_string_align_length): new function
3437 * dbus/dbus-test-main.c: move main() for test app here
3439 (dbus_internal_symbol_do_not_use_run_tests): we have to export a
3440 symbol to run tests, because dbus-test isn't in the main
3443 Code review nitpicks.
3445 * dbus/dbus-message.c (dbus_message_write_header): add newlines
3446 for people with narrow emacs ;-). Assert client_serial was filled
3447 in. Assert message->name != NULL.
3448 (dbus_message_append_fields): have "first_field_type" arg separate
3449 from va list, needed for C++ binding that also uses varargs IIRC
3450 and helps with type safety
3451 (dbus_message_new): add @todo about using DBusString to store
3452 service/name internally
3453 (dbus_message_new): don't leak ->service and ->name on OOM later
3455 (dbus_message_unref): free the service name
3456 (dbus_message_get_fields): same change to varargs
3457 i.e. first_field_type
3458 (_dbus_message_loader_return_buffer): assert that the message data
3459 is aligned (if not it's a bug in our code). Put in verbose griping
3460 about why we set corrupted = TRUE.
3461 (decode_header_data): add FIXME that char* is evil. Was going to
3462 add FIXME about evil locale-specific string.h strncmp, but just
3463 switched to wacky string-as-uint32 optimization. Move check for
3464 "no room for field name" above get_const_data_len() to avoid
3465 assertion failure in get_const_data_len if we have trailing 2
3466 bytes or the like. Check for service and name fields being
3467 provided twice. Don't leak service/name on error. Require field
3468 names to be aligned to 4 bytes.
3470 * dbus/dbus-marshal.c: move byte swap stuff to header
3471 (_dbus_pack_int32): uscore-prefix
3472 (_dbus_unpack_int32): uscore-prefix
3473 (_dbus_unpack_uint32): export
3474 (_dbus_demarshal_string): add @todo complaining about use of
3476 (_dbus_marshal_get_field_end_pos): add @todo about bad error
3477 handling allowing corrupt data to go unchecked
3479 2003-01-08 Havoc Pennington <hp@redhat.com>
3481 * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
3482 to the select() as needed for authentication. (should be using
3483 _dbus_poll() not select, but for another day)
3485 * dbus/dbus.h: include dbus/dbus-protocol.h
3487 2003-01-08 Anders Carlsson <andersca@codefactory.se>
3489 * dbus/Makefile.am (dbusinclude_HEADERS): Install
3492 2003-01-08 Anders Carlsson <andersca@codefactory.se>
3494 * dbus/dbus-internals.c: (_dbus_type_to_string):
3495 New function that returns a string describing a type.
3497 * dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
3498 * dbus/dbus-marshal.h:
3499 * dbus/dbus-message.c: (dbus_message_get_fields_valist),
3500 (dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
3501 (dbus_message_iter_get_byte_array):
3502 * dbus/dbus-message.h:
3503 Add new convenience functions for appending and getting message fields.
3504 Also add demarshalling routines for byte arrays.
3506 2003-01-07 Anders Carlsson <andersca@codefactory.se>
3508 * dbus/dbus-connection-internal.h:
3509 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
3510 (_dbus_connection_get_next_client_serial),
3511 (dbus_connection_send_message):
3512 * dbus/dbus-internals.h:
3513 * dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
3514 (dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
3515 (_dbus_marshal_uint32), (_dbus_demarshal_double),
3516 (_dbus_demarshal_int32), (_dbus_demarshal_uint32),
3517 (_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
3518 (_dbus_verbose_bytes), (_dbus_marshal_test):
3519 * dbus/dbus-marshal.h:
3520 * dbus/dbus-message-internal.h:
3521 * dbus/dbus-message.c: (_dbus_message_set_client_serial),
3522 (dbus_message_write_header), (_dbus_message_lock),
3523 (dbus_message_new), (dbus_message_ref), (dbus_message_unref),
3524 (dbus_message_get_name), (dbus_message_append_int32),
3525 (dbus_message_append_uint32), (dbus_message_append_double),
3526 (dbus_message_append_string), (dbus_message_append_byte_array),
3527 (dbus_message_get_fields_iter), (dbus_message_iter_ref),
3528 (dbus_message_iter_unref), (dbus_message_iter_has_next),
3529 (dbus_message_iter_next), (dbus_message_iter_get_field_type),
3530 (dbus_message_iter_get_string), (dbus_message_iter_get_int32),
3531 (dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
3532 (decode_header_data), (_dbus_message_loader_return_buffer),
3533 (message_iter_test), (_dbus_message_test):
3534 * dbus/dbus-message.h:
3535 * dbus/dbus-protocol.h:
3536 * dbus/dbus-test.c: (main):
3538 * glib/test-dbus-glib.c: (message_handler), (main):
3539 * test/echo-client.c: (main):
3540 * test/watch.c: (check_messages):
3541 Make messages sendable and receivable for real.
3543 2003-01-07 Anders Carlsson <andersca@codefactory.se>
3545 * dbus/dbus-marshal.c: (_dbus_marshal_double),
3546 (_dbus_marshal_string), (_dbus_marshal_byte_array):
3547 * dbus/dbus-message.c: (dbus_message_append_int32),
3548 (dbus_message_append_uint32), (dbus_message_append_double),
3549 (dbus_message_append_string), (dbus_message_append_byte_array):
3550 Handle OOM restoration.
3552 2003-01-07 Anders Carlsson <andersca@codefactory.se>
3554 * dbus/dbus-marshal.c: (_dbus_marshal_string),
3555 (_dbus_demarshal_string), (_dbus_marshal_test):
3556 * dbus/dbus-marshal.h:
3557 * dbus/dbus-message.c: (dbus_message_get_name),
3558 Document these functions.
3560 (dbus_message_append_int32), (dbus_message_append_uint32),
3561 (dbus_message_append_double), (dbus_message_append_string),
3562 (dbus_message_append_byte_array):
3563 * dbus/dbus-message.h:
3564 Add functions for adding message fields of different types.
3566 * dbus/dbus-protocol.h:
3567 Add the different types.
3569 2003-01-05 Havoc Pennington <hp@pobox.com>
3571 * bus/connection.c: implement routines for handling connections,
3572 first thing is keeping a list of owned services on each connection
3573 and setting up watches etc.
3575 * bus/services.c: implement a mapping from service names to lists
3578 * dbus/dbus-hash.c: add DBUS_HASH_POINTER
3580 * dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
3581 to use static mutexes for global data
3583 * dbus/dbus-connection.c (dbus_connection_set_data): add new
3584 collection of functions to set/get application-specific data
3585 on the DBusConnection.
3587 2003-01-04 Havoc Pennington <hp@pobox.com>
3589 * dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
3590 (_dbus_poll): new function
3592 * dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
3595 * bus/loop.c: initial code for the daemon main loop
3597 2003-01-04 Havoc Pennington <hp@pobox.com>
3599 * test/watch.c (error_handler): make it safe if the error handler
3600 is called multiple times (if we s/error handler/disconnect
3601 handler/ we should just guarantee it's called only once)
3603 * dbus/dbus-transport.c (_dbus_transport_disconnect): call the
3604 error handler on disconnect (it's quite possible we should
3605 just change the error handler to a "disconnect handler," I'm
3606 not sure we have any other meaningful errors)
3608 * configure.in: check for getpwnam_r
3610 * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
3611 dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
3612 mechanism as in SASL spec, using socket credentials
3614 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
3615 (_dbus_send_credentials_unix_socket): new function
3617 * dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
3619 (_dbus_write): only check errno if <0 returned
3620 (_dbus_write_two): ditto
3622 2003-01-02 Anders Carlsson <andersca@codefactory.se>
3624 * dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
3625 (_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
3626 (_dbus_marshal_test):
3627 * dbus/dbus-marshal.h:
3628 Add _dbus_marshal_byte_array and rename _dbus_marshal_string
3629 to _dbus_marshal_utf8_string. Also fix some tests.
3631 2002-12-28 Harri Porten <porten@kde.org>
3633 * configure.in: added check for C++ compiler and a very cheesy
3634 check for the Qt integration
3636 * Makefile.am (SUBDIRS): compile qt subdir if support is enabled
3638 * qt/Makefile.am: added
3640 * qt/.cvsignore: added
3642 * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
3643 latter, added #ifdef QT_THREAD_SUPPORT guard.
3645 * dbus/Makefile.am: added missing headers for make dist
3647 2002-12-28 Kristian Rietveld <kris@gtk.org>
3649 * dbus/Makefile.am: fixup export-symbols-regex.
3651 2002-12-27 Anders Carlsson <andersca@codefactory.se>
3653 * acinclude.m4: Add this file and put the
3654 PKG_CHECK_MODULE macro in it.
3656 2002-12-27 Anders Carlsson <andersca@codefactory.se>
3658 * dbus/dbus-marshal.c: (_dbus_marshal_string),
3659 (_dbus_demarshal_double), (_dbus_demarshal_int32),
3660 (_dbus_demarshal_uint32), (_dbus_demarshal_string),
3661 (_dbus_marshal_test):
3662 Make the demarshalling routines align the pos argument.
3663 Add string marshalling tests and fix the obvious bugs
3666 2002-12-26 Havoc Pennington <hp@pobox.com>
3668 * dbus/dbus-auth.c: fixes fixes fixes
3670 * dbus/dbus-transport-unix.c: wire up support for
3671 encoding/decoding data on the wire
3673 * dbus/dbus-auth.c (_dbus_auth_encode_data)
3674 (_dbus_auth_decode_data): append to target string
3675 instead of nuking it.
3677 2002-12-26 Havoc Pennington <hp@pobox.com>
3679 * dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
3680 WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
3683 * dbus/dbus-marshal.c: Add macros to do int swapping in-place and
3684 avoid swap_bytes() overhead (ignoring possible assembly stuff for
3685 now). Main point is because I wanted unpack_uint32 to implement
3687 (_dbus_verbose_bytes): new function
3689 * dbus/dbus-string.c (_dbus_string_validate_ascii): new function
3691 * dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
3692 mechanism to handle a corrupt message stream
3693 (_dbus_message_loader_new): fix preallocation to only prealloc,
3696 * dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
3697 (_dbus_string_test): enhance tests for copy/move and fix the
3700 * dbus/dbus-transport-unix.c: Hold references in more places to
3701 avoid reentrancy problems
3703 * dbus/dbus-transport.c: ditto
3705 * dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
3706 leak reference count in no-message case
3708 * test/watch.c (do_mainloop): handle adding/removing watches
3709 during iteration over the watches. Also, ref the connection/server
3710 stored on a watch, so we don't try to mangle a destroyed one.
3712 * dbus/dbus-transport-unix.c (do_authentication): perform
3715 * dbus/dbus-auth.c (get_state): add a state
3716 AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
3717 (_dbus_auth_get_unused_bytes): append the unused bytes
3718 to the passed in string, rather than prepend
3720 * dbus/dbus-transport.c (_dbus_transport_init_base): create
3721 the auth conversation DBusAuth
3723 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
3724 (_dbus_transport_new_for_domain_socket): when creating a
3725 transport, pass in whether it's a client-side or server-side
3726 transport so we know which DBusAuth to create
3728 2002-12-03 Havoc Pennington <hp@pobox.com>
3730 * dbus/dbus-transport-unix.c (unix_finalize): finalize base
3731 _after_ finalizing the derived members
3732 (unix_connection_set): unref watch if we fail to add it
3734 * dbus/dbus-connection.c (dbus_connection_unref): delete the
3735 transport first, so that the connection owned by the
3736 transport will be valid as the transport finalizes.
3738 * dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
3739 if necessary, and remove watches from the connection.
3741 * dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
3743 2002-12-26 Anders Carlsson <andersca@codefactory.se>
3745 * dbus/dbus-marshal.c: (_dbus_marshal_string),
3746 (_dbus_demarshal_double), (_dbus_demarshal_int32),
3747 (_dbus_demarshal_uint32), (_dbus_demarshal_string),
3748 (_dbus_marshal_test):
3749 * dbus/dbus-marshal.h:
3750 Add string marshal functions and have the demarshal functions
3751 return the new position.
3753 2002-12-25 Havoc Pennington <hp@pobox.com>
3755 * doc/dbus-sasl-profile.txt: docs on the authentication protocol,
3756 it is a simple protocol that just maps directly to SASL.
3758 * dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
3759 initial implementation, not actually used yet.
3761 * dbus/dbus-string.c (_dbus_string_find): new function
3762 (_dbus_string_equal): new function
3763 (_dbus_string_base64_encode): new function
3764 (_dbus_string_base64_decode): new function
3766 2002-12-25 Anders Carlsson <andersca@codefactory.se>
3769 * dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
3770 (_dbus_marshal_int32), (_dbus_marshal_uint32),
3771 (_dbus_demarshal_double), (_dbus_demarshal_int32),
3772 (_dbus_demarshal_uint32), (_dbus_marshal_test):
3773 * dbus/dbus-marshal.h:
3774 * dbus/dbus-protocol.h:
3775 * dbus/dbus-test.c: (main):
3777 Add un-optimized marshalling/demarshalling routines.
3779 2002-12-25 Harri Porten <porten@kde.org>
3781 * qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
3783 2002-12-24 Zack Rusin <zack@kde.org>
3785 * qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
3786 * qt/dbus-qt.h: skeleton with two sample implemenatation of the
3789 2002-12-24 Havoc Pennington <hp@pobox.com>
3791 * glib/dbus-gthread.c: fix include
3793 * glib/dbus-glib.h: rename DBusMessageHandler for now.
3794 I think glib API needs to change, though, as you don't
3795 want to use DBusMessageFunction, you want to use the
3796 DBusMessageHandler object. Probably
3797 dbus_connection_open_with_g_main_loop()
3798 and dbus_connection_setup_g_main_loop() or something like that
3799 (but think of better names...) that just create a connection
3800 that has watch/timeout functions etc. already set up.
3802 * dbus/dbus-connection.c
3803 (dbus_connection_send_message_with_reply): new function just to
3804 show how the message handler helps us deal with replies.
3806 * dbus/dbus-list.c (_dbus_list_remove_last): new function
3808 * dbus/dbus-string.c (_dbus_string_test): free a string that
3811 * dbus/dbus-hash.c: use memory pools for the hash entries
3812 (rebuild_table): be more paranoid about overflow, and
3813 shrink table when we can
3814 (_dbus_hash_test): reduce number of sprintfs and write
3815 valid C89. Add tests for case where we grow and then
3816 shrink the hash table.
3818 * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
3820 * dbus/dbus-connection.c (dbus_connection_register_handler)
3821 (dbus_connection_unregister_handler): new functions
3823 * dbus/dbus-message.c (dbus_message_get_name): new
3825 * dbus/dbus-list.c: fix docs typo
3827 * dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
3828 an object representing a handler for messages.
3830 2002-12-16 Anders Carlsson <andersca@codefactory.se>
3833 * glib/dbus-gthread.c: (dbus_gthread_init):
3834 Don't use the gdbus prefix for public functions.
3836 2002-12-16 Anders Carlsson <andersca@codefactory.se>
3840 Add GLib checks and fixup .pc files
3844 * glib/dbus-gmain.c: (gdbus_connection_prepare),
3845 (gdbus_connection_check), (gdbus_connection_dispatch),
3846 (gdbus_add_connection_watch), (gdbus_remove_connection_watch),
3847 (dbus_connection_gsource_new):
3848 * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
3849 (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
3850 * glib/test-dbus-glib.c: (message_handler), (main):
3853 2002-12-15 Harri Porten <porten@kde.org>
3855 * autogen.sh: check for libtoolize before attempting to use it
3857 * dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
3860 * .cvsignore: ignore more stamp files
3862 * dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
3864 * test/Makefile.am: added -I$(top_srcdir) to be able to compile
3865 without make install.
3867 2002-12-15 Havoc Pennington <hp@pobox.com>
3869 * dbus/dbus-threads.c: add thread stubs that a higher library
3870 layer can fill in. e.g. the GLib wrapper might fill them in with
3871 GThread stuff. We still need to use this thread API to
3872 thread-safe-ize the library.
3874 2002-12-12 Havoc Pennington <hp@pobox.com>
3876 * dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
3877 below new interfaces and include fewer system headers.
3879 * dbus/dbus-sysdeps.c (_dbus_read): new function
3880 (_dbus_write): new function
3881 (_dbus_write_two): new function
3882 (_dbus_connect_unix_socket): new function
3883 (_dbus_listen_unix_socket): new function
3885 * dbus/dbus-message-internal.h: change interfaces to use
3888 2002-12-11 Havoc Pennington <hp@pobox.com>
3890 * dbus/dbus-types.h: add dbus_unichar
3892 * dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
3894 * dbus/dbus-connection.c (dbus_connection_send_message): return
3897 * dbus/dbus-transport.c: include dbus-watch.h
3899 * dbus/dbus-connection.c: include dbus-message-internal.h
3901 * HACKING: add file with coding guidelines stuff.
3903 * dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
3904 handling here, for security purposes (as in vsftpd). Not actually
3905 using this class yet.
3907 * dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
3908 system/libc usage here, as in vsftpd, for ease of auditing (and
3909 should also simplify portability). Haven't actually moved all the
3910 system/libc usage into here yet.
3912 2002-11-25 Havoc Pennington <hp@pobox.com>
3914 * dbus/dbus-internals.c (_dbus_verbose): fix to not
3915 always print the first verbose message.
3917 2002-11-24 Havoc Pennington <hp@pobox.com>
3919 * test/echo-client.c, test/echo-server.c: cheesy test
3922 * configure.in (AC_CHECK_FUNCS): check for writev
3924 * dbus/dbus-message.c (_dbus_message_get_network_data): new
3927 * dbus/dbus-list.c (_dbus_list_foreach): new function
3929 * dbus/dbus-internals.c (_dbus_verbose): new function
3931 * dbus/dbus-server.c, dbus/dbus-server.h: public object
3932 representing a server that listens for connections.
3934 * dbus/.cvsignore: create
3936 * dbus/dbus-errors.h, dbus/dbus-errors.c:
3937 public API for reporting errors
3939 * dbus/dbus-connection.h, dbus/dbus-connection.c:
3940 public object representing a connection that
3941 sends/receives messages. (Same object used for
3942 both client and server.)
3944 * dbus/dbus-transport.h, dbus/dbus-transport.c:
3945 Basic abstraction for different kinds of stream
3946 that we might read/write messages from.
3948 2002-11-23 Havoc Pennington <hp@pobox.com>
3950 * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
3953 * dbus/dbus-test.c (main): add list test, and include
3954 dbus-test.h as intended
3956 * dbus/dbus-hash.c (_dbus_hash_table_remove_string)
3957 (_dbus_hash_table_remove_int): return value indicates
3958 whether the entry existed to remove
3960 * dbus/dbus-list.c: add linked list utility class,
3963 * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
3966 2002-11-23 Havoc Pennington <hp@pobox.com>
3968 * Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
3969 DBUS_END_DECLS to nothing, that should fix this once and for all
3971 * Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
3973 * dbus/dbus-message.c, dbus/dbus-hash.c:
3974 add some missing @brief
3976 2002-11-23 Havoc Pennington <hp@pobox.com>
3978 * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS
3979 to avoid confusing Doxygen
3981 * dbus/dbus-hash.c: @} not }@
3983 * dbus/dbus-message.c (struct DBusMessage): split out
3986 2002-11-23 Havoc Pennington <hp@pobox.com>
3988 * configure.in: pile on more warning flags if using gcc
3990 * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
3991 to document static functions
3993 * configure.in: add summary to end of configure so it
3994 looks nice and attractive
3996 * dbus/dbus-hash.c: finish implementation and write unit
3999 * configure.in: add --enable-tests to enable unit tests
4001 * dbus/dbus-test.c: test program to run unit tests
4002 for all files in dbus/*, initially runs a test for
4005 * dbus/dbus-internals.h: file to hold some internal utility stuff
4007 2002-11-22 Havoc Pennington <hp@redhat.com>
4009 * dbus/dbus-hash.c: copy in Tcl hash table, not yet
4010 "ported" away from Tcl
4012 * dbus/dbus-types.h: header for types such as dbus_bool_t
4014 2002-11-22 Havoc Pennington <hp@redhat.com>
4016 * dbus/dbus.h: fixups for doc warnings
4018 * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up
4020 (QUIET): make it quiet so we can see warnings
4022 * dbus/dbus-memory.c: teach D-BUS to allocate and free memory
4024 2002-11-22 Havoc Pennington <hp@redhat.com>
4026 * Makefile.am: include "Doxyfile" target in all-local
4028 * configure.in: generate the Doxyfile
4030 * Doxyfile.in: move Doxyfile here, so we can use
4031 configure to generate a Doxyfile with the right
4034 2002-11-22 Havoc Pennington <hp@redhat.com>
4036 * dbus/dbus-message.c: move inline docs into .c file
4038 * Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
4039 so all docs are under doc/
4040 (MAN_EXTENSION): generate man pages. Use extension
4041 ".3dbus" which matches ".3qt" on my system,
4042 I guess this is OK, I don't know really.
4043 (FILE_PATTERNS): look for .c files not .h, makes sense
4046 2002-11-22 Havoc Pennington <hp@pobox.com>
4048 * Makefile.am (SUBDIRS): rename subdir "server" to "bus"
4049 because any app can be a server, and any app can be a client,
4050 the bus is a special kind of server.
4052 Thu Nov 21 23:35:31 2002 Zack Rusin <zack@kde.org>
4054 * Doxyfile : adding. Still needs Makefile rules to be generated
4055 automatically (just run "doxygen" in the toplevel dir for now to
4058 * dbus/dbus-message.h : Adding sample docs (javadoc since
4059 resembles gtk-doc a little more)
4061 * dbus/dbus.h : Adding sample docs
4063 2002-11-21 Havoc Pennington <hp@redhat.com>
4065 * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
4066 so we can allow ourselves to include files directly,
4067 instead of having to use dbus.h
4069 * dbus/dbus.h: fill in
4071 * dbus/dbus-message.h: sketch out a sample header file.
4072 Include griping if you include it directly instead of
4075 * dbus/dbus-macros.h: new file with macros for extern "C",
4076 TRUE/FALSE, NULL, etc.
4078 * doc/file-boilerplate.c: put include guards in here
4080 2002-11-21 Havoc Pennington <hp@redhat.com>
4082 * doc/file-boilerplate.c: include both AFL and GPL boilerplate.
4084 * COPYING: include the GPL as well, and license code
4085 under both AFL and GPL.
4087 2002-11-21 Havoc Pennington <hp@redhat.com>
4089 * acconfig.h: get rid of this
4091 * autogen.sh (run_configure): add --no-configure option
4093 * configure.in: remove AC_ARG_PROGRAM to make
4094 autoconf complain less. add AC_PREREQ.
4095 add AC_DEFINE third arg.
4097 2002-11-21 Anders Carlsson <andersca@codefactory.se>
4100 Fix references so we can distcheck.
4102 2002-11-21 Havoc Pennington <hp@redhat.com>
4104 * Initial module creation