1 2003-04-11 Havoc Pennington <hp@redhat.com>
7 2003-04-11 Havoc Pennington <hp@redhat.com>
9 * bus/messagebus.in: remove pid file when stopping the
10 message bus, since the bus won't have privileges to remove it
13 2003-04-11 Havoc Pennington <hp@redhat.com>
15 * bus/bus.c (bus_context_new): move credentials change after
18 2003-04-11 Havoc Pennington <hp@pobox.com>
20 * test/decode-gcov.c: add "below average functions" to the
21 coverage report, and change how some of the code works.
23 * bus/test-main.c: bracket some stuff in DBUS_BUILD_TESTS so it's
24 not in the coverage stats.
26 * test/test-service.c (main): use _dbus_verbose not fprintf in a
27 couple places so running the test suite doesn't result in megaspam.
29 2003-04-11 Havoc Pennington <hp@pobox.com>
31 * bus/dispatch.c (check_existent_service_activation): accept a no
32 memory error in a place we didn't before
34 * bus/test.c (bus_test_run_everything): remove hacky "do it twice
35 in case the first one failed," since the test suite is less
38 2003-04-10 Havoc Pennington <hp@pobox.com>
40 * bus/dispatch.c (check_segfault_service_activation): add test
41 for launching an executable that just crashes.
43 * test/test-segfault.c (main): try setting coredumpsize to 0 so we
44 don't leave a million cores. We'll see how portable this is.
46 2003-04-10 Havoc Pennington <hp@pobox.com>
48 * dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all
49 the possible parent failures before we fork, so that we don't
50 fail to create a babysitter after creating the child.
52 * bus/activation.c (bus_activation_activate_service): kill child
53 if we don't successfully complete the activation.
55 2003-04-10 Havoc Pennington <hp@redhat.com>
57 * dbus/dbus-connection.c (dbus_connection_flush): don't spin on
58 the connection if it's disconnected
60 * bus/activation.c (bus_activation_service_created): use new
61 transaction features to roll back removal of pending activation if
62 we don't successfully create the service after all. Don't remove
63 pending activation if the function fails.
65 * dbus/dbus-list.c (_dbus_list_insert_before_link)
66 (_dbus_list_insert_after_link): new code to facilitate
69 * dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated):
70 new functionality, so we can preallocate the ability to insert
73 * bus/connection.c (bus_transaction_add_cancel_hook): new function
74 allowing us to put custom hooks in a transaction to be used for
75 cancelling said transaction
77 * doc/dbus-specification.sgml: add some discussion of secondary
78 service owners, and disallow zero-length service names
80 * bus/services.c (bus_registry_acquire_service): new function,
81 splits out part of bus_driver_handle_acquire_service() and fixes
82 a bug where we didn't remove the service doing the acquiring
83 from the secondary queue if we failed to remove the current owner
84 from the front of the queue.
86 2003-04-10 Alexander Larsson <alexl@redhat.com>
88 * doc/dbus-specification.sgml:
89 s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/
91 2003-04-10 Alexander Larsson <alexl@redhat.com>
96 Added files to cvsignore
98 * dbus/dbus-message.h:
99 * dbus/dbus-message.c: (dbus_message_iter_get_named):
100 Make get_named() take two out argument and return a boolean.
101 (dbus_message_iter_get_args_valist):
102 Update usage of get_named().
103 (dbus_message_iter_append_byte):
105 (dbus_message_iter_append_named)
107 (message_iter_test), (check_message_handling_type), (_dbus_message_test):
110 2003-04-10 Alexander Larsson <alexl@redhat.com>
112 * dbus/dbus-marshal.[ch]:
113 Add array_type_pos argument to _dbus_marshal_validate_arg.
114 Let you pass a NULL end_pos to _dbus_marshal_validate_type.
116 * dbus/dbus-message.[ch]:
117 Multi-dimensional arrays have full type specification in the
118 outermost array. Iter code re-arranged to handle this.
119 Added some more iter tests.
121 * doc/dbus-specification.sgml:
124 Update new array encoding description.
125 Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description.
127 * test/data/invalid-messages/array-with-mixed-types.message:
128 * test/data/valid-messages/array-of-array-of-uint32.message:
129 Change to the new array format.
131 * test/data/invalid-messages/too-short-dict.message:
134 * test/data/valid-messages/recursive-types.message:
135 Fix up and extend test.
137 2003-04-10 Havoc Pennington <hp@pobox.com>
139 * bus/dispatch.c: lots of fixes
141 * dbus/dbus-mainloop.c (_dbus_loop_dispatch): export
142 (_dbus_loop_iterate): remove old "quit if no callbacks" code,
143 that was crack, broke the test service.
145 * dbus/dbus-transport.c (_dbus_transport_open): fix error
146 handling to avoid piling up errors if we get a failure on the
149 * dbus/dbus-internals.c (_dbus_real_assert_not_reached): include
150 pid in assertion failures.
152 * dbus/dbus-mainloop.c (_dbus_loop_iterate): use static arrays up
153 to some fixed size of file descriptor array. Don't return TRUE
154 anytime a timeout exists, that led to lots of busy loop silliness
157 2003-04-09 Havoc Pennington <hp@redhat.com>
159 * dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought
160 I'd checked this in earlier but hadn't.
162 2003-04-09 Havoc Pennington <hp@redhat.com>
164 * bus/dispatch.c (bus_dispatch_test): get a bit further through
165 the activation test (man this is getting old!)
167 2003-04-09 Havoc Pennington <hp@redhat.com>
169 * test/test-utils.c: use dispatch status function to fix this up
171 * bus/connection.c (connection_watch_callback): don't dispatch
173 (connection_timeout_callback): don't dispatch from here
174 (bus_connections_setup_connection): set the dispatch status function
175 (bus_connection_disconnected): unset it
177 * dbus/dbus-mainloop.c (_dbus_loop_queue_dispatch): new function
178 used to add a connection to be dispatched
179 (_dbus_loop_iterate): do the dispatching at the end of each
182 * dbus/dbus-connection.c
183 (dbus_connection_set_dispatch_status_function): new function
184 allowing us to fix up main loop usage
185 (_dbus_connection_last_unref): free all the various function
187 (dbus_connection_dispatch): call the DispatchStatusFunction
188 whenever this function returns
189 (dbus_connection_handle_watch): call DispatchStatusFunction
190 (dbus_connection_send_with_reply_and_block): call DispatchStatusFunction
191 (reply_handler_timeout): call DispatchStatusFunction
192 (dbus_connection_flush): call DispatchStatusFunction
194 2003-04-09 Havoc Pennington <hp@redhat.com>
196 * dbus/dbus-bus.c (dbus_bus_register): fix up error handling and
199 * bus/dispatch.c (check_service_activated): fix bug in test
201 * dbus/dbus-mainloop.c (check_timeout): fix this up
203 * dbus/dbus-internals.c (_dbus_verbose_real): include PID in
204 verbose output so we can sort out output from different processes,
205 e.g. in the activation case.
207 2003-04-08 Colin Walters <walters@gnu.org>
209 * bus/bus.c (struct BusContext) [pidfile]: New member, to store
211 (bus_context_new): Set it.
212 (bus_context_unref): Use it to delete the pid file.
214 2003-04-08 Havoc Pennington <hp@redhat.com>
216 * test/data/invalid-messages/array-with-mixed-types.message:
217 regression test that fails for the moment
219 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): reorder
220 tests for convenience
222 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): don't allow
223 array of nil, it broke things.
225 * test/data/invalid-messages/array-of-nil.message: regression test
227 * test/data/valid-messages/array-of-array-of-uint32.message:
228 happened to write this so added it to suite
230 2003-04-08 Havoc Pennington <hp@redhat.com>
232 * bus/driver.c (bus_driver_handle_acquire_service): init
233 retval/reply before checking name
235 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add a
236 recursion depth argument
238 * dbus/dbus-message.h (struct DBusMessageIter): put some padding
239 in the public struct for future extension
241 * dbus/dbus-message-builder.c (_dbus_message_data_load): fix
244 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix a verbose
247 * doc/dbus-specification.sgml: fix typo
249 2003-04-08 Alexander Larsson <alexl@redhat.com>
251 Implemented recursive types, named types and new-style iters
254 * glib/test-thread-client.c: (thread_func):
255 * glib/test-thread-server.c: (handle_test_message):
256 * test/test-service.c: (handle_echo):
265 * dbus/dbus-internals.c: (_dbus_type_to_string):
266 Update for new types.
268 * dbus/dbus-marshal.[ch]:
269 Implement recursive types and the new marshalling format.
270 Remove hardcoded dict marshalling.
273 * dbus/dbus-message-builder.c:
275 Remove references to old types
277 * dbus/dbus-message.[ch]:
278 New non-refcounted iter API that supports recursive iters.
279 Use iters for appending, including support for recursive
281 Add byte and named type support.
282 Update everything to new marshalling formats.
283 Add tests for new API.
285 * dbus/dbus-protocol.h:
286 Remove old array types.
287 Add types: BYTE, ARRAY, DICT, NAMED
289 * dbus/dbus-string.c:
290 * dbus/dbus-sysdeps.c:
291 Make parse_double locale safe.
293 * dbus/dbus-test-main.c:
299 * doc/dbus-specification.sgml:
302 * test/data/incomplete-messages/missing-body.message:
303 * test/data/invalid-messages/bad-boolean.message:
304 * test/data/invalid-messages/bad-boolean-array.message:
305 * test/data/invalid-messages/boolean-array-length-too-long.message-raw:
306 * test/data/invalid-messages/boolean-has-no-value.message-raw:
307 * test/data/invalid-messages/too-short-dict.message:
308 * test/data/valid-messages/dict-simple.message:
309 * test/data/valid-messages/dict.message:
310 * test/data/valid-messages/emptiness.message:
311 * test/data/valid-messages/lots-of-arguments.message:
312 * test/data/valid-messages/no-padding.message:
313 * test/data/valid-messages/recursive-types.message:
314 Add missing NAME fields
315 Fix up dicts & arrays
317 * test/data/invalid-messages/dict-with-nil-value.message:
318 Removed, this is not invalid anymore.
320 * test/data/valid-messages/recursive-types.message:
321 Add new test for deeply recursive types.
323 2003-04-07 Havoc Pennington <hp@pobox.com>
325 * bus/driver.c (bus_driver_handle_acquire_service): return an
326 error if you try to acquire a service that starts with ':'
328 2003-04-07 Havoc Pennington <hp@redhat.com>
330 * doc/dbus-specification.sgml: require that base service names
331 start with ':' and that the base service is created/deleted
332 as first and last things a connection does on the bus
334 * bus/dispatch.c (check_existent_service_activation): lots more
335 work on the activation test; it doesn't fully pass yet...
337 * test/test-service.c (main): fix so we don't memleak the
338 connection to the message bus
339 (filter_func): accept a message asking us to exit
341 2003-04-06 Havoc Pennington <hp@pobox.com>
343 * qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h,
346 * configure.in: fixes to Qt detection from Colin Walters
348 * doc/Makefile.am: Only remove generated docbook dirs if they
349 exist, from Colin Walters
351 * dbus/dbus-bus.c: change how we set well-known connections to
352 NULL, so that it works if a single connection is stored in
353 two well-known array slots.
355 * test/Makefile.am: remove a lot of stuff that isn't immediately
356 useful, it's in CVS history if we want it.
358 * test/test-service.c: use dbus-mainloop instead of that
361 2003-04-06 Havoc Pennington <hp@pobox.com>
363 * dbus/Makefile.am: split lists of sources into stuff that goes in
364 the library, util functions that go in the lib and are also used
365 elsewhere, and util functions that are used in tests/daemon but
368 * dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc]
369 here so it can be used in test binaries also
371 2003-04-06 Havoc Pennington <hp@pobox.com>
373 * dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile
374 here in the parent process, so we can return an error if it
375 fails. Also, move some of the code into the child so the parent
376 is less hosed if we fail midway through.
378 * bus/bus.c (bus_context_new): move pidfile detection further up
379 in the function, before we start overwriting sockets and such.
381 * bus/messagebus.in: adjust this a bit, not sure if it will work.
383 * configure.in: add --with-system-pid-file and --with-system-socket
385 2003-04-06 Colin Walters <walters@verbum.org>
387 * configure.in (DBUS_SYSTEM_PID_FILE): New variable.
389 * bus/system.conf.in: Declare a pidfile.
391 * bus/bus.c (bus_context_new): Test for an existing pid file, and
392 create one (if appropriate).
394 * bus/config-parser.c (enum ElementType) [ELEMENT_PIDFILE]: New.
395 (struct BusConfigParser) [pidfile]: New.
396 (element_type_to_name, merge_included, start_busconfig_child)
397 (bus_config_parser_end_element, bus_config_parser_content): Handle it.
398 (bus_config_parser_unref): Free it.
399 (bus_config_parser_get_pidfile): New function.
401 * bus/config-parser.h (_dbus_write_pid_file): Prototype.
403 * dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error.
405 * dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function.
407 * dbus/dbus-sysdeps.h: Prototype it.
409 2003-04-06 Havoc Pennington <hp@pobox.com>
411 * bus/bus.c (bus_context_new): print the address in here, rather
412 than in main(), because we need to do it before forking the daemon
414 * bus/dispatch.c (send_service_nonexistent_error): set the sender
415 on the service nonexistent error
417 * bus/driver.c (bus_driver_handle_acquire_service): set the
418 sender on the AcquireService reply
420 * test/data/valid-config-files/debug-allow-all.conf.in: Make test
421 server also listen on a UNIX socket so services can connect to it.
423 2003-04-06 Havoc Pennington <hp@pobox.com>
425 * dbus/dbus-threads.c: Redo how the fake debug mutexes are done
426 so it detects deadlocks and also we actually init threads when
429 2003-04-06 Havoc Pennington <hp@pobox.com>
431 * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
432 save the domain socket name, and unlink it when we disconnect the
433 server. Means that at least when we exit normally, we won't leave
434 a bunch of junk in /tmp
436 * dbus/dbus-transport-unix.c
437 (_dbus_transport_new_for_domain_socket): code cleanup (nicer
438 memory management). (I was making a real change here but then
441 2003-04-06 Havoc Pennington <hp@pobox.com>
443 * bus/bus.c (bus_context_new): fix wrong handling of
444 server_data_slot_unref() in the error case.
446 * dbus/dbus-internals.h (_dbus_assert): change so it passes
447 "(condition) != 0" to _dbus_real_assert so that
448 "_dbus_assert (pointer)" doesn't cause a warning
450 * bus/main.c (main): accept --print-address option to print out
451 the message bus address
453 * dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this
455 * dbus/dbus-transport.c (_dbus_transport_open): special error for
456 "tmpdir" option to unix: address on client side
458 * dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option
461 * configure.in (TEST_SOCKET_DIR): locate a temporary directory
462 we can use to create sockets in the test suite.
464 * bus/main.c (signal_handler): on SIGTERM, exit the daemon
465 cleanly. To be used for testing.
467 * dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler()
469 * dbus/dbus-sysdeps.c (_dbus_set_signal_handler): new
471 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
472 handle trying to call this when there's no servers active
474 2003-04-05 Havoc Pennington <hp@pobox.com>
480 2003-04-05 Havoc Pennington <hp@pobox.com>
482 * bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't
483 crash on startup. Need to get "try starting the daemon"
484 in the test suite I guess. ;-)
486 * dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
487 tracked the number of open connections; it's better done in
488 application-specific code as you want it to span all servers etc.
490 2003-04-05 Havoc Pennington <hp@pobox.com>
492 * bus/Makefile.am (install-data-hook): add missing DESTDIR,
493 patch from Colin Walters
495 2003-04-05 Havoc Pennington <hp@pobox.com>
497 * doc/config-file.txt (Elements): fix docs of <auth> to reflect
498 reality; in fact multiple mechanisms are allowed.
500 * dbus/dbus-internals.c (_dbus_real_assert)
501 (_dbus_real_assert_not_reached): move guts of _dbus_assert() and
502 _dbus_assert_not_reached() into functions, so that they don't show
503 up in basic block counts for test coverage, and don't use up as
504 much disk space. Does mean slower execution speed though, so
505 assumes --disable-asserts is the normal production case.
507 2003-04-05 Havoc Pennington <hp@pobox.com>
509 * test/Makefile.am (dist-hook): also dist *.in files
515 2003-04-05 Havoc Pennington <hp@pobox.com>
517 * dbus/dbus-string.c: docs warning
519 * dbus/dbus-spawn.c: missing docs
521 * dbus/dbus-memory.c (struct ShutdownClosure): missing docs
523 2003-04-05 Havoc Pennington <hp@pobox.com>
525 * bus/loop.c (bus_loop_iterate): fix the timeout code, using
528 * dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid
529 to -1 once we've reaped the babysitter
530 (_dbus_babysitter_handle_watch): do as much work as we can, not
533 * bus/activation.c: add code using DBusBabysitter so that we
534 handle it when a service fails to start up properly.
535 (bus_activation_service_created): don't remove the activation
536 entries as we go, just let them get removed when we free the pending
537 activation. Unref reply messages after sending them.
539 2003-04-05 Havoc Pennington <hp@pobox.com>
541 * test/decode-gcov.c (main): print per-directory stats in the report
543 * Makefile.am (coverage-report.txt): don't include test/* in gcov stats
545 2003-04-05 Havoc Pennington <hp@pobox.com>
547 * Makefile.am (coverage-report.txt): add target "coverage-report.txt"
549 * test/decode-gcov.c: hack up a little program to suck data
550 out of gcov files. Yes this is sort of silly.
552 * configure.in: define something in config.h and do an
553 AM_CONDITIONAL when gcov is enabled
555 2003-04-04 Havoc Pennington <hp@redhat.com>
557 * dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
558 return a "babysitter" object that is used to monitor the status of
559 the spawned process and reap it when required.
561 * test/test-segfault.c, test/test-exit.c,
562 test/test-sleep-forever.c: binaries that do various lame things,
563 used in the test suite.
565 * dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()
567 2003-04-03 Havoc Pennington <hp@pobox.com>
569 * dbus/dbus-spawn.c: Move dbus-spawn into a separate file
570 in preparation for modifying it, dbus-sysdeps is getting
573 2003-04-03 Havoc Pennington <hp@redhat.com>
575 * bus/loop.h, bus/loop.c: make the mainloop an object so we can
578 * bus/*.[hc]: adapt to mainloop change
580 2003-04-03 Havoc Pennington <hp@redhat.com>
582 * bus/activation.c (load_directory): fix up memleaks
583 (bus_activation_entry_free): free the entry
585 * dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
586 we get one from the message bus; fix memleaks.
588 * dbus/dbus-message.c (dbus_set_error_from_message): new function
590 2003-04-03 Havoc Pennington <hp@pobox.com>
592 * bus/config-parser.c (bus_config_parser_unref): free
593 list of mechanisms, bug discovered by test suite enhancements
594 (putting system.conf and session.conf into suite)
596 * test/Makefile.am, test/test-service.c: add placeholder for a
597 test service that we'll activate as part of test suite. Doesn't
600 * dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by
601 setting NULL value, and use system malloc not dbus_malloc()
602 when we have unavoidable memleakage.
604 * dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
605 didn't work, and support DBUS_BUS_ACTIVATION.
607 * bus/activation.c (child_setup): pass our well-known bus type to
610 * bus/config-parser.c: support <type> to specify well-known type
612 * doc/dbus-specification.sgml: document the env variables to
613 locate well-known buses and find service activator
615 2003-04-02 Havoc Pennington <hp@redhat.com>
617 * test/Makefile.am (all-local): add a rule to copy tests to
618 builddir, so we can have generated tests. Use this to remove the
619 silly hack for testing system.conf and session.conf. Will use this
620 shortly to generate .service files pointing to test binaries.
622 2003-04-02 Havoc Pennington <hp@redhat.com>
624 * dbus/dbus-string.c (set_length): fix a bug - we allocated max of
625 current alloc and needed new length, not max of the doubled
626 allocation and needed new length. Also, when building tests,
627 don't do the double-allocation stuff, just realloc every time.
629 2003-04-02 Havoc Pennington <hp@redhat.com>
631 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
633 (_dbus_string_get_dirname): new
634 (_dbus_sysdeps_test): new
635 (_dbus_directory_open): include dirnames in error messages
637 * bus/config-parser.c: interpret <include> and <includedir> and
638 <servicedir> relative to config file location if the given
639 filename is not absolute.
641 * dbus/dbus-string.c (_dbus_string_find_byte_backward): new
643 2003-04-02 Havoc Pennington <hp@redhat.com>
645 * bus/connection.c (bus_transaction_send_error_reply): set sender
646 service for the error, and unref the reply on success
648 * bus/activation.c: convert to use BusTransaction so OOM can be
650 (bus_activation_service_created): set sender of the message
652 2003-04-01 Havoc Pennington <hp@redhat.com>
654 * bus/config-parser.c, bus/bus.c: implement <servicedir> and
655 <includedir> (at least mostly)
657 * dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
658 first, then the user ID
660 2003-04-01 Havoc Pennington <hp@pobox.com>
662 * dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
665 * dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
667 * dbus/dbus-internals.c (_dbus_dup_string_array): new function
669 * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
670 socket 0777, and unlink any existing socket.
672 * bus/bus.c (bus_context_new): change our UID/GID and fork if
673 the configuration file so specifies; set up auth mechanism
676 * bus/config-parser.c (bus_config_parser_content): add support
677 for <fork> option and fill in code for <auth>
679 * bus/system.conf.in: add <fork/> to default configuration,
680 and limit auth mechanisms to EXTERNAL
682 * doc/config-file.txt (Elements): add <fork>
684 * dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
685 (_dbus_change_identity): new function
687 2003-03-31 Havoc Pennington <hp@redhat.com>
689 * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket)
690 (_dbus_listen_unix_socket): fix off-by-one error in null
691 termination spotted by Nalin
693 2003-03-31 Havoc Pennington <hp@redhat.com>
695 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
696 DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
697 having a real home directory available.
699 2003-03-31 Havoc Pennington <hp@redhat.com>
701 * bus/Makefile.am (install-data-hook): create /var/run/dbus
703 * bus/messagebus.in: add init script for Red Hat /etc/init.d
705 * configure.in: add support for specifying a style of init script
708 2003-03-31 Havoc Pennington <hp@redhat.com>
710 Fix some annoying DBusString API and fix all affected code.
712 * dbus/dbus-string.c (_dbus_string_init): get rid of annoying
714 (_dbus_string_get_data): change to return string instead of using
716 (_dbus_string_get_const_data): ditto
717 (_dbus_string_get_data_len): ditto
718 (_dbus_string_get_const_data_len): ditto
720 2003-03-31 Havoc Pennington <hp@redhat.com>
722 * bus/main.c (main): fix up the command line arguments to be nicer
724 2003-03-31 Havoc Pennington <hp@redhat.com>
726 * dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
727 define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
728 final location that lands in the config file
730 * bus/config-loader-expat.c (bus_config_load): fix type of
733 * doc/TODO: remove TODO item for dbus_bus_get()
735 * dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
737 2003-03-31 Havoc Pennington <hp@pobox.com>
739 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
740 (_dbus_transport_new_for_tcp_socket): these didn't need the "server"
741 argument since they are always client side
743 * dbus/dbus-server.c (dbus_server_get_address): new function
745 * bus/main.c (main): take the configuration file as an argument.
747 * test/data/valid-config-files/debug-allow-all.conf: new file to
748 use with dispatch.c tests for example
750 * bus/test-main.c (main): require test data dir
752 * bus/bus.c (bus_context_new): change this to take a
753 configuration file name as argument
755 * doc/config-file.txt (Elements): add <servicedir>
757 * bus/system.conf, bus/session.conf: new files
759 * dbus/dbus-bus.c (dbus_bus_get): look for system bus on
760 well-known socket if none set
762 * configure.in: create system.conf and session.conf
764 2003-03-30 Havoc Pennington <hp@pobox.com>
766 * bus/config-parser.c: hacking
768 * dbus/dbus-memory.c: don't use DBusList for the list of stuff
769 to shut down, since it could cause weirdness with the DBusList
772 * dbus/dbus-list.c (_dbus_list_test): add tests for the
773 link-oriented stack routines
774 (alloc_link): free the mempool if the first alloc from it fails
776 * dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
778 * dbus/dbus-string.c (UNICODE_VALID): sync new version of this
780 (_dbus_string_skip_white): new
782 * doc/config-file.txt (Elements): add <includedir>
784 2003-03-28 Havoc Pennington <hp@pobox.com>
786 * dbus/dbus-string.c (_dbus_string_copy_data_len)
787 (_dbus_string_copy_data): new functions
789 2003-03-28 Anders Carlsson <andersca@codefactory.se>
791 * dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
795 * dbus/dbus-memory.c:
798 2003-03-28 Havoc Pennington <hp@pobox.com>
800 * bus/test.c (bus_test_flush_bus): remove the sleep from here,
801 I think it may have just been superstition. Not sure.
803 * dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
804 failures that were not being handled.
806 * dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
808 * dbus/dbus-memory.c: add ability to set number of mallocs in a
809 row that will fail on out-of-memory.
811 * dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
812 function for testing out-of-memory handling.
814 * bus/config-loader-expat.c (memsuite): don't wrap the dbus
815 allocation functions, they do map exactly to the expat ones.
817 2003-03-27 Havoc Pennington <hp@redhat.com>
819 * bus/config-loader-libxml.c (bus_config_load): add another error
822 2003-03-26 Anders Carlsson <andersca@codefactory.se>
825 Add note about automatic service activation.
827 * doc/dbus-specification.sgml:
828 Rename the specification and clarify a few things.
830 2003-03-26 Anders Carlsson <andersca@codefactory.se>
833 * dbus/dbus-address.c:
835 * dbus/dbus-marshal.c:
836 * dbus/dbus-server-debug-pipe.c:
837 * dbus/dbus-transport-unix.c:
838 Fix documentation warnings.
840 2003-03-26 Havoc Pennington <hp@pobox.com>
842 * bus/test-main.c, dbus/dbus-test.c (main): check memleaks
843 after every test so it's quick and easy to see which leaked, and
844 so we test multiple dbus_shutdown() calls
846 * configure.in: change configure.in XML stuff to also support
849 * config-loader-libxml.c: some hacking
851 * config-loader-expat.c: some hacking
853 * config-parser.c: some hacking, plus tests
855 2003-03-25 Havoc Pennington <hp@redhat.com>
857 * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
859 * configure.in: add --with-xml option to specify XML library,
860 right now only libxml is supported.
862 * bus/config-loader-libxml.c, config-parser.c: sync some minor
863 nonworking code between home and work, still just stubs
865 2003-03-24 Havoc Pennington <hp@redhat.com>
867 * dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
870 * dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
871 NULL argument for "message" if the error is a well-known one,
872 fill in a generic message in this case.
874 * dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
877 * bus/test.c (bus_test_flush_bus): add
879 * bus/policy.c (bus_policy_test): test code stub
881 2003-03-24 Havoc Pennington <hp@pobox.com>
883 * bus/connection.c (bus_connections_setup_connection): set up
884 the "can this user connect" function, but it always returns
885 TRUE until we have a config file parser so we can have a config
886 file that allows connections.
888 2003-03-23 Havoc Pennington <hp@pobox.com>
890 * dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
891 DBUS_BUILD_TESTS, actually alloc/free a block of memory for
892 the mutex, so we can check for proper memory management
895 * dbus/dbus-dataslot.c: remove the mutex from
896 DBusDataSlotAllocator and lock it manually when using it,
897 to simplify fitting it into the global slots framework.
899 * dbus/dbus-threads.c (init_static_locks): rework how we're
900 handling global locks so they are easily shut down.
902 * bus/policy.c (bus_policy_append_rule): fix
904 * bus/test-main.c (main): check for memleaks
906 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
907 test suite check for memleaks
909 * dbus/dbus-memory.c: add support in test mode for tracking
910 number of outstanding blocks
912 2003-03-23 Havoc Pennington <hp@pobox.com>
914 * bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
917 * dbus/dbus-hash.h: add ULONG hash keys
919 * dbus/dbus-sysdeps.c (_dbus_get_groups): new
920 (_dbus_get_group_id): new function
922 2003-03-20 Havoc Pennington <hp@redhat.com>
924 * dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
926 (dbus_connection_get_unix_user): new function
928 2003-03-20 Havoc Pennington <hp@pobox.com>
930 * bus/connection.c (bus_connection_send_oom_error): assert that
932 (connection_execute_transaction): ditto
933 (bus_connection_preallocate_oom_error): fix to set the sender, and
934 set recipient to the destination service, not the bus driver
936 * bus/policy.c: hacking
938 * dbus/dbus-message.c (dbus_message_service_is): new function
939 (dbus_message_sender_is): new
941 2003-03-19 Havoc Pennington <hp@redhat.com>
943 * bus/policy.c: start sketching code for policy restrictions on
944 what connections can do.
946 2003-03-18 Havoc Pennington <hp@redhat.com>
948 * doc/TODO: some notes on high-level todo items. Little nitpick
949 stuff is all in @todo, so no need to add it here.
951 * doc/config-file.txt: some notes on how config file might look
953 2003-03-18 Anders Carlsson <andersca@codefactory.se>
959 2003-03-17 Havoc Pennington <hp@redhat.com>
961 * dbus/dbus-internals.h: add gcc attributes so that
962 our printf-style functions warn on bad arguments to
965 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
968 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
971 2003-03-17 Havoc Pennington <hp@redhat.com>
973 * bus/test-main.c (main): make it print something as it runs
974 so make check doesn't look stuck
976 * doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
977 from CVS, now obsolete
979 2003-03-17 Anders Carlsson <andersca@codefactory.se>
981 * bus/dispatch.c: (bus_dispatch):
982 Refetch the service name since it may have been reallocated
983 when dbus_message_set_sender was called.
985 * dbus/dbus-sysdeps.c: (_dbus_accept):
986 Add address and address length variables and use them to stop
987 valgrind from complaining.
989 2003-03-17 Havoc Pennington <hp@pobox.com>
991 All tests pass, no memleaks, no valgrind complaints.
993 * bus/test.c: refcount handler_slot
995 * bus/connection.c (bus_connections_new): refcount
998 * dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
999 bytes so that auth scripts pass.
1001 * bus/dispatch.c: init message_handler_slot so it gets allocated
1004 * bus/dispatch.c (message_handler_slot_ref): fix memleak
1006 * dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
1007 dealloc server_pipe_hash when no longer used for benefit of
1010 * dbus/dbus-auth.c (process_command): memleak fix
1012 * bus/dispatch.c (check_hello_message): memleak fix
1014 2003-03-16 Havoc Pennington <hp@pobox.com>
1016 * dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
1018 2003-03-17 Anders Carlsson <andersca@codefactory.se>
1020 * bus/activation.c (bus_activation_activate_service): Append
1021 the pending activation entry to the list of pending activations.
1023 2003-03-16 Havoc Pennington <hp@pobox.com>
1025 * bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
1028 * dbus/dbus-address.c (create_entry): fix OOM handling when
1029 failing to alloc entry->method
1031 2003-03-16 Havoc Pennington <hp@pobox.com>
1033 * dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
1036 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
1037 add some missing dbus_set_result
1039 * bus/dispatch.c (bus_dispatch_add_connection): handle failure to
1040 alloc the DBusMessageHandler
1042 * dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
1043 the transport here, since we call this from the finalizer; it
1044 resulted in a double-finalize.
1046 * dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
1047 where we tried to use transport->connection that was NULL,
1048 happened when transport was disconnected early on due to OOM
1050 * bus/*.c: adapt to handle OOM for watches/timeouts
1052 * dbus/dbus-transport-unix.c: port to handle OOM during
1055 * dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
1056 reference to unused bytes instead of a copy
1058 * dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
1061 * dbus/dbus-connection.c (dbus_connection_handle_watch): return
1064 * dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
1067 2003-03-16 Anders Carlsson <andersca@codefactory.se>
1069 * doc/dbus-specification.sgml:
1070 Document reply message for ActivateService.
1072 2003-03-16 Anders Carlsson <andersca@codefactory.se>
1074 * bus/activation.c: (bus_pending_activation_entry_free),
1075 (bus_pending_activation_free), (bus_activation_new),
1076 (bus_activation_unref), (bus_activation_service_created),
1077 (bus_activation_activate_service):
1079 * bus/bus.c: (bus_context_new):
1080 * bus/desktop-file.c: (new_section):
1081 * bus/driver.c: (bus_driver_send_service_deleted),
1082 (bus_driver_handle_activate_service):
1083 * bus/services.c: (bus_registry_new), (bus_registry_ensure):
1085 * dbus/dbus-connection.c:
1086 (dbus_connection_send_with_reply_and_block):
1087 * dbus/dbus-message.c: (dbus_message_append_args_valist):
1088 * dbus/dbus-protocol.h:
1089 Make activation work better. Now pending activations will be queued
1090 and the daemon won't try to activate services that are already registered.
1092 2003-03-16 Havoc Pennington <hp@pobox.com>
1094 * dbus/dbus-bus.c (ensure_bus_data): handle failure to set
1097 * dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
1098 DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
1100 2003-03-16 Havoc Pennington <hp@pobox.com>
1102 * dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
1103 this. always run the test suite before commit...
1105 * bus/*: adapt to DBusConnection API changes
1107 * glib/dbus-gmain.c: adapt to DBusConnection API changes,
1108 requires renaming stuff to avoid dbus_connection_dispatch name
1111 * dbus/dbus-transport.c (_dbus_transport_queue_messages): new
1114 * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
1115 separate from _dbus_message_loader_return_buffer()
1117 * dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
1118 this, because it's now always broken to use; the number of
1119 messages in queue vs. the number still buffered by the message
1120 loader is undefined/meaningless. Should use
1121 dbus_connection_get_dispatch_state().
1122 (dbus_connection_dispatch): rename from
1123 dbus_connection_dispatch_message
1125 2003-03-16 Havoc Pennington <hp@pobox.com>
1127 * dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
1130 2003-03-16 Anders Carlsson <andersca@codefactory.se>
1132 * dbus/dbus-connection.c:
1133 (dbus_connection_send_with_reply_and_block):
1134 Decrease connection->n_incoming when removing an entry
1136 * dbus/dbus-dict.c: (dbus_dict_entry_free),
1137 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
1138 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
1139 (dbus_dict_set_byte_array), (dbus_dict_set_string_array),
1140 (dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
1141 (dbus_dict_get_byte_array):
1142 Handle NULL arrays and strings. Also add support for byte arrays.
1144 * dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
1145 (_dbus_marshal_dict), (_dbus_demarshal_byte_array),
1146 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
1147 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
1148 (_dbus_demarshal_dict), (demarshal_and_validate_len),
1149 (_dbus_marshal_validate_arg), (_dbus_marshal_test):
1150 * dbus/dbus-marshal.h:
1151 Add support for marshalling and demarshalling empty arrays and strings.
1153 * dbus/dbus-message.c: (dbus_message_append_args_valist),
1154 (dbus_message_append_string_array),
1155 (dbus_message_iter_get_boolean),
1156 (dbus_message_iter_get_boolean_array),
1157 (dbus_message_iter_get_int32_array),
1158 (dbus_message_iter_get_uint32_array),
1159 (dbus_message_iter_get_double_array),
1160 (dbus_message_iter_get_byte_array),
1161 (dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
1162 (check_message_handling):
1163 Add support for getting empty arrays and dicts.
1165 * dbus/dbus-string.c: (_dbus_string_validate_utf8):
1166 Don't do any validation at all for now, that's better than just checking
1169 * test/data/valid-messages/emptiness.message:
1170 New test message with lots of empty arrays.
1172 2003-03-16 Havoc Pennington <hp@pobox.com>
1174 * dbus/dbus-connection.c
1175 (_dbus_connection_queue_received_message_link): new function that
1176 can't fail due to OOM
1178 * dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
1179 new function pops a message together with a list link
1182 * dbus/dbus-transport-unix.c (queue_messages): use new link-based
1183 message queuing functions to avoid needing to alloc memory
1185 2003-03-16 Havoc Pennington <hp@pobox.com>
1187 Oops - test code was only testing failure of around 30 of the
1188 mallocs in the test path, but it turns out there are 500+
1189 mallocs. I believe this was due to misguided linking setup such
1190 that there was one copy of dbus_malloc etc. in the daemon and one
1191 in the shared lib, and only daemon mallocs were tested. In any
1192 case, the test case now tests all 500+ mallocs, and doesn't pass
1193 yet, though there are lots of fixes in this patch.
1195 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
1196 this so that it doesn't need to allocate memory, since it
1197 has no way of indicating failure due to OOM (and would be
1198 annoying if it did).
1200 * dbus/dbus-list.c (_dbus_list_pop_first_link): new function
1202 * bus/Makefile.am: rearrange to create two self-contained
1203 libraries, to avoid having libraries with overlapping symbols.
1204 that was resulting in weirdness, e.g. I'm pretty sure there
1205 were two copies of global static variables.
1207 * dbus/dbus-internals.c: move the malloc debug stuff to
1210 * dbus/dbus-list.c (free_link): free list mempool if it becomes
1213 * dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
1215 * dbus/dbus-address.c (dbus_parse_address): free list nodes
1218 * bus/dispatch.c (bus_dispatch_add_connection): free
1219 message_handler_slot when no longer using it, so
1220 memory leak checkers are happy for the test suite.
1222 * dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
1224 * bus/bus.c (new_connection_callback): disconnect in here if
1225 bus_connections_setup_connection fails.
1227 * bus/connection.c (bus_connections_unref): fix to free the
1229 (bus_connections_setup_connection): if this fails, don't
1230 disconnect the connection, just be sure there are no side
1233 * dbus/dbus-string.c (undo_alignment): unbreak this
1235 * dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
1237 (_dbus_auth_new): fix the order in which we free strings
1240 * bus/connection.c (bus_connection_disconnected): fix to
1241 not send ServiceDeleted multiple times in case of memory
1244 * dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
1245 get the base service name
1246 (dbus_bus_register_client): don't return base service name,
1247 instead store it on the DBusConnection and have an accessor
1249 (dbus_bus_register_client): rename dbus_bus_register()
1251 * bus/dispatch.c (check_hello_message): verify that other
1252 connections on the bus also got the correct results, not
1253 just the one sending hello
1255 2003-03-15 Havoc Pennington <hp@pobox.com>
1257 Make it pass the Hello handling test including all OOM codepaths.
1258 Now to do other messages...
1260 * bus/services.c (bus_service_remove_owner): fix crash when
1261 removing owner from an empty list of owners
1262 (bus_registry_ensure): don't leave service in the list of
1263 a connection's owned services if we fail to put the service
1266 * bus/connection.c (bus_connection_preallocate_oom_error): set
1267 error flag on the OOM error.
1269 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
1270 handle _dbus_transport_set_connection failure
1272 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
1273 to create watches up front and simply enable/disable them as
1275 (unix_connection_set): this can now fail on OOM
1277 * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
1278 of enabling/disabling a watch or timeout.
1280 * bus/loop.c (bus_loop_iterate): don't touch disabled
1283 * glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
1285 2003-03-15 Havoc Pennington <hp@pobox.com>
1287 * bus/dispatch.c (bus_dispatch_test): OK, now finally actually
1288 write useful test code, after all that futzing around ;-)
1290 Test does not yet pass because we can't handle OOM in
1291 _dbus_transport_messages_pending (basically,
1292 dbus_connection_preallocate_send() does not prealloc the write
1293 watch). To fix this, I think we need to add new stuff to
1294 set_watch_functions, namely a SetEnabled function so we can alloc
1295 the watch earlier, then enable it later.
1297 * dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
1298 dbus-memory.c to the convenience lib
1300 * bus/test.c: rename some static functions to keep them clearly
1301 distinct from stuff in connection.c. Handle client disconnection.
1303 2003-03-14 Havoc Pennington <hp@pobox.com>
1305 * bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
1306 transport, tests more of the real codepath. Set up clients
1307 with bus_setup_debug_client.
1309 * bus/test.c (bus_setup_debug_client): function to set up debug
1310 "clients" on the main loop
1312 * dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
1315 * dbus/dbus-server.c (dbus_server_listen): add debug-pipe
1318 * dbus/dbus-server-debug.c: support a debug server based on pipes
1320 * dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
1321 (_dbus_close): new function
1323 * configure.in: check for socketpair
1325 2003-03-14 Havoc Pennington <hp@redhat.com>
1327 * dbus/dbus-memory.c: add a "detect buffer overwrites on free"
1330 * dbus/dbus-transport-debug.c: rework this a good bit to be
1331 less complicated. hopefully still works.
1333 * dbus/dbus-server-debug.c (handle_new_client): remove timeout
1336 * glib/dbus-gmain.c (timeout_handler): don't remove timeout
1339 * dbus/dbus-message.c (dbus_message_copy): rename from
1340 dbus_message_new_from_message, fix it up to copy
1341 all the message fields, add test case
1343 * bus/dispatch.c (bus_dispatch_test): add some more test code,
1344 not quite passing yet
1346 2003-03-14 Havoc Pennington <hp@pobox.com>
1348 * bus/loop.c (bus_loop_iterate): add this so we can "run loop
1349 until no work remains" in test code. (the large diff here
1350 is just code movement, no actual changes)
1352 * dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
1353 1, no point waiting around for test code.
1354 (_dbus_server_debug_accept_transport): unref the timeout
1355 after adding it (right?)
1357 * dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
1359 2003-03-13 Havoc Pennington <hp@redhat.com>
1361 * dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
1364 * dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
1367 * dbus/dbus-connection.h: Make AddWatchFunction and
1368 AddTimeoutFunction return a bool so they can fail on out-of-memory
1370 * bus/bus.c (bus_context_new): set up timeout handlers
1372 * bus/connection.c (bus_connections_setup_connection): set up
1375 * glib/dbus-gmain.c: adapt to the fact that set_functions stuff
1378 * bus/bus.c (bus_context_new): adapt to changes
1380 * bus/connection.c: adapt to changes
1382 * test/watch.c: adapt to DBusWatch changes
1384 * bus/dispatch.c (bus_dispatch_test): started adding this but
1387 2003-03-14 Anders Carlsson <andersca@codefactory.se>
1389 * bus/dispatch.c (send_service_nonexistent_error): Fix typo.
1391 2003-03-13 Havoc Pennington <hp@pobox.com>
1393 * bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
1394 set up a test framework as for the library
1396 2003-03-12 Havoc Pennington <hp@pobox.com>
1398 Throughout: purge global variables, introduce BusActivation,
1399 BusConnections, BusRegistry, etc. objects instead.
1401 * bus/bus.h, bus/bus.c: introduce BusContext as a global
1404 * test/Makefile.am (TEST_BINARIES): disable bus-test for now,
1405 going to redo this a bit differently I think
1407 2003-03-12 Havoc Pennington <hp@redhat.com>
1409 Mega-patch that gets the message bus daemon initially handling
1410 out-of-memory. Work still needed. Also lots of random
1411 moving stuff to DBusError instead of ResultCode.
1413 * dbus/dbus-list.c (_dbus_list_length_is_one): new function
1415 * dbus/dbus-connection.c
1416 (dbus_connection_send_with_reply_and_block): use DBusError
1418 * dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
1421 * dbus/dbus-connection.c (dbus_connection_send): drop the result
1422 code here, as the only failure possible is OOM.
1424 * bus/connection.c (bus_connection_disconnect):
1425 rename bus_connection_disconnected as it's a notification only
1427 * bus/driver.c (bus_driver_handle_acquire_service): don't free
1428 "name" on get_args failure, should be done by get_args;
1429 don't disconnect client for bad args, just return an error.
1430 (bus_driver_handle_service_exists): ditto
1432 * bus/services.c (bus_services_list): NULL-terminate returned array
1434 * bus/driver.c (bus_driver_send_service_lost)
1435 (bus_driver_send_service_acquired): send messages from driver to a
1436 specific client to the client's unique name, not to the broadcast
1439 * dbus/dbus-message.c (decode_header_data): reject messages that
1440 contain no name field
1441 (_dbus_message_get_client_serial): rename to
1442 dbus_message_get_serial and make public
1443 (_dbus_message_set_serial): rename from set_client_serial
1444 (_dbus_message_set_reply_serial): make public
1445 (_dbus_message_get_reply_serial): make public
1447 * bus/connection.c (bus_connection_foreach): allow stopping
1448 iteration by returning FALSE from foreach function.
1450 * dbus/dbus-connection.c (dbus_connection_send_preallocated)
1451 (dbus_connection_free_preallocated_send)
1452 (dbus_connection_preallocate_send): new API for sending a message
1453 without possibility of malloc failure.
1454 (dbus_connection_send_message): rename to just
1455 dbus_connection_send (and same for whole function family)
1457 * dbus/dbus-errors.c (dbus_error_free): make this reinit the error
1459 * dbus/dbus-sysdeps.c (_dbus_exit): new function
1461 * bus/activation.c: handle/return errors
1463 * dbus/dbus-errors.h: add more DBUS_ERROR #define
1465 * dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
1466 (_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
1467 (_dbus_result_from_errno): move to this file
1469 2003-03-10 Anders Carlsson <andersca@codefactory.se>
1471 * dbus/dbus-marshal.c:
1472 (_dbus_marshal_set_string):
1473 Take a length argument so we can marshal the correct string
1476 (_dbus_marshal_dict), (_dbus_demarshal_dict),
1477 (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
1478 (_dbus_marshal_test):
1479 * dbus/dbus-marshal.h:
1480 Add support for marshalling and demarshalling dicts.
1482 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
1483 Add support for TYPE DICT.
1485 * dbus/dbus-message.c: (set_string_field):
1486 Adjust header padding.
1488 (dbus_message_append_args_valist), (dbus_message_append_dict),
1489 (dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
1490 (dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
1491 (check_message_handling), (check_have_valid_message):
1492 * dbus/dbus-message.h:
1493 Add functions for setting and getting dicts.
1495 * dbus/dbus-protocol.h:
1501 * doc/dbus-specification.sgml:
1502 Add information about how dicts are marshalled.
1504 * test/data/invalid-messages/dict-with-nil-value.message:
1505 * test/data/invalid-messages/too-short-dict.message:
1506 * test/data/valid-messages/dict-simple.message:
1507 * test/data/valid-messages/dict.message:
1508 Add sample messages containing dicts.
1510 2003-03-08 Anders Carlsson <andersca@codefactory.se>
1512 * dbus/dbus-dict.h: Add DBUS_END_DECLS.
1514 2003-03-07 Anders Carlsson <andersca@codefactory.se>
1517 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
1518 (dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
1519 (dbus_dict_set_int32), (dbus_dict_set_uint32),
1520 (dbus_dict_set_double), (dbus_dict_set_string),
1521 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
1522 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
1523 (dbus_dict_set_string_array), (_dbus_dict_test):
1525 Fix according to comments from Havoc.
1527 2003-03-06 Michael Meeks <michael@server.home>
1529 * configure.in: if we don't have kde-config, disable have_qt.
1531 2003-03-07 Anders Carlsson <andersca@codefactory.se>
1536 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
1537 (dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
1538 (dbus_dict_remove), (dbus_dict_get_value_type),
1539 (dbus_dict_get_keys), (dbus_dict_put_boolean),
1540 (dbus_dict_put_int32), (dbus_dict_put_uint32),
1541 (dbus_dict_put_double), (dbus_dict_put_string),
1542 (dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
1543 (dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
1544 (dbus_dict_put_string_array), (dbus_dict_get_boolean),
1545 (dbus_dict_get_int32), (dbus_dict_get_uint32),
1546 (dbus_dict_get_double), (dbus_dict_get_string),
1547 (dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
1548 (dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
1549 (dbus_dict_get_string_array), (_dbus_dict_test):
1551 Add DBusDict implementation
1553 * dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
1557 2003-03-04 Havoc Pennington <hp@pobox.com>
1559 * test/data/auth/*: adapt to changes
1561 * dbus/dbus-auth-script.c (_dbus_auth_script_run): add
1562 USERID_BASE64 and change USERNAME_BASE64 to put in username not
1565 * dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
1566 more stuff from being in a context name, to make the protocol
1567 simpler to deal with
1569 * dbus/dbus-errors.c (dbus_error_has_name): new function
1570 (dbus_error_is_set): new function
1572 * dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
1573 with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
1575 * dbus/dbus-connection.c (dbus_connection_flush): also read
1576 messages during a flush operation
1578 * dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
1580 2003-03-05 Anders Carlsson <andersca@codefactory.se>
1582 * configure.in: Check for gethostbyname on Solaris.
1584 * dbus/dbus-transport.c: (_dbus_transport_open):
1585 Remove duplicate "tcp" entry.
1587 * doc/dbus-specification.sgml:
1588 Clarify some things.
1590 2003-03-05 Anders Carlsson <andersca@codefactory.se>
1592 * dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
1593 * dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
1594 (_dbus_keyring_test):
1595 * dbus/dbus-md5.c: (_dbus_md5_compute):
1596 * dbus/dbus-sha.c: (_dbus_sha_compute):
1599 2003-03-05 Anders Carlsson <andersca@codefactory.se>
1601 * README: Add some things.
1603 2003-03-04 Anders Carlsson <andersca@codefactory.se>
1605 * dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
1606 after case DBUS_TYPE_BOOELAN.
1608 2003-03-02 Havoc Pennington <hp@pobox.com>
1610 * test/break-loader.c (randomly_set_extreme_ints): add test that
1611 sets really huge and small integers
1613 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
1614 that length of boolean array fits in the string, and that
1615 string has room for boolean value in single-bool case.
1617 * dbus/dbus-message-builder.c (_dbus_message_data_load): add
1618 optional value to "ALIGN" command which is what to fill the
1621 * test/data/valid-messages/no-padding.message: add regression
1622 test for the message padding problem
1624 2003-03-02 Havoc Pennington <hp@pobox.com>
1626 * dbus/dbus-message.c (decode_header_data): fix to always init
1627 message_padding, from Benjamin Dauvergne
1629 2003-03-02 Havoc Pennington <hp@pobox.com>
1635 2003-03-01 Joe Shaw <joe@assbarn.com>
1637 * configure.in: Check for "struct cmsgcred" and try to access its
1638 members for BSD-like unices.
1640 * dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
1641 _dbus_read_credentials_unix_socket().
1642 (_dbus_read_credentials_unix_socket): Use recvmsg() instead of
1643 read() for reading the credential byte off the unix socket. Use
1644 struct cmsgcred on systems that support it.
1646 2003-02-27 Alexander Larsson <alexl@redhat.com>
1650 Make gthreads-2.0 dependency optional. Don't build thread test if
1653 2003-02-27 Havoc Pennington <hp@pobox.com>
1655 * dbus/dbus-connection.c
1656 (dbus_connection_send_message_with_reply_and_block): fix doh!
1657 doh! doh! bug that resulted in never removing a reply from the
1658 queue, no wonder we called get_reply_serial so much ;-)
1660 * dbus/dbus-message.c (struct DBusMessage): cache reply serial
1661 and client serial instead of demarshaling them every time
1663 2003-02-27 Havoc Pennington <hp@pobox.com>
1665 * dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
1666 more inlined, using dbus-string-private.h, speeds things up
1669 * dbus/dbus-string.c (_dbus_string_free): apply align offset
1670 when freeing the string
1671 (_dbus_string_steal_data): fix for align offset
1672 (undo_alignment): new function
1674 2003-02-26 Havoc Pennington <hp@redhat.com>
1676 All kinds of audit fixes from Owen, plus initial attempt to
1677 handle unaligned memory returned from malloc.
1679 * dbus/dbus-string.c (_dbus_string_init): clamp max length to
1680 leave room for align_offset and nul byte
1681 (fixup_alignment): function to track an align_offset and
1682 ensure real->str is aligned
1683 (DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
1684 to allow a nul byte plus align offset
1685 (_dbus_string_lock): fix overflow issue
1686 (_dbus_string_init_const_len): add assertions on sanity of len,
1687 assign allocated to be ALLOCATION_PADDING larger than len
1688 (set_length): fixup the overflow handling
1689 (_dbus_string_get_data_len): fix overflow in assertion
1690 (open_gap): detect overflow in size of gap to be opened
1691 (_dbus_string_lengthen): add overflow check
1692 (_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
1693 (_dbus_string_append): add overflow check
1694 (_dbus_string_append_unichar): overflow
1695 (_dbus_string_delete): fix overflow in assertion
1696 (_dbus_string_copy_len): overflow in assertion
1697 (_dbus_string_replace_len): overflows in assertions
1698 (_dbus_string_find): change to implement in terms of
1699 _dbus_string_find_to
1700 (_dbus_string_find_to): assorted fixage
1701 (_dbus_string_equal_c_str): assert c_str != NULL,
1702 fix logic so the function works
1703 (_dbus_string_ends_with_c_str): fix overflow thingy
1704 (_dbus_string_base64_encode): overflow fix
1705 (_dbus_string_validate_ascii): overflow
1706 (_dbus_string_validate_nul): overflow
1708 2003-02-26 Havoc Pennington <hp@redhat.com>
1710 * dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
1712 2003-02-26 Alexander Larsson <alexl@redhat.com>
1715 Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
1717 * dbus/dbus-connection.c:
1718 * dbus/dbus-connection.h:
1719 Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
1720 Add dbus_connection_set_wakeup_main_function and use it when queueing
1721 incoming and outgoing messages.
1724 * dbus/dbus-dataslot.c:
1725 Threadsafe usage of DBusDataSlotAllocator
1727 * dbus/dbus-message.c: (dbus_message_get_args_iter):
1730 * dbus/dbus-server-unix.c:
1733 * glib/dbus-gmain.c:
1734 Implement the new wakeup functions for glib.
1737 * glib/test-thread-client.c:
1738 * glib/test-thread-server.c:
1739 * glib/test-thread.h:
1740 Initial cut at some thread test code. Not really done yet.
1742 2003-02-26 Havoc Pennington <hp@pobox.com>
1744 * dbus/dbus-connection.c
1745 (dbus_connection_send_message_with_reply_and_block): fix crash
1746 where we ref'd the outgoing message instead of the returned reply
1748 * dbus/dbus-transport-unix.c (do_authentication): check read watch
1749 at the end of this function, so if we didn't need to read for
1750 authentication, we reinstall it for receiving messages
1752 * dbus/dbus-message.c (dbus_message_new_reply): allow replies to
1753 a NULL sender for peer-to-peer case
1755 * dbus/dbus-transport-unix.c (check_read_watch): handle
1756 !authenticated case correctly
1758 * glib/dbus-gmain.c: add support for DBusServer
1760 * dbus/dbus-server.c: add data slot support
1762 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
1763 return values and handle errors
1765 * dbus/dbus-dataslot.c: factor out the data slot stuff from
1768 * Doxyfile.in (INPUT): add glib subdir
1770 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
1771 setup_with_g_main instead of hookup_with_g_main; write docs
1773 2003-02-24 Anders Carlsson <andersca@codefactory.se>
1775 * dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
1776 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
1777 * dbus/dbus-message.c: (dbus_message_append_boolean),
1778 (dbus_message_append_boolean_array),
1779 (dbus_message_get_args_valist), (_dbus_message_test):
1780 * dbus/dbus-message.h:
1781 * doc/dbus-specification.sgml:
1782 Various fixes as pointed out by Havoc.
1784 * test/data/invalid-messages/bad-boolean-array.message:
1785 * test/data/invalid-messages/bad-boolean.message:
1786 Add invalid boolean value test cases.
1788 2003-02-24 Anders Carlsson <andersca@codefactory.se>
1790 * dbus/dbus-internals.c: (_dbus_type_to_string):
1791 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
1792 (_dbus_marshal_validate_arg):
1793 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
1794 * dbus/dbus-message.c: (dbus_message_append_args_valist),
1795 (dbus_message_append_boolean), (dbus_message_append_boolean_array),
1796 (dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
1797 (dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
1798 (dbus_message_iter_get_double),
1799 (dbus_message_iter_get_boolean_array), (message_iter_test):
1800 * dbus/dbus-message.h:
1801 * dbus/dbus-protocol.h:
1802 * doc/dbus-specification.sgml:
1803 * test/data/valid-messages/lots-of-arguments.message:
1804 Add support for boolean and boolean array types.
1806 2003-02-23 Havoc Pennington <hp@pobox.com>
1808 * dbus/dbus-keyring.c: finish most of this implementation and
1811 * dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
1812 these barf if the error isn't cleared to NULL
1814 * dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
1815 (_dbus_create_directory): new function
1817 * dbus/dbus-errors.c (dbus_set_error): fix warning
1819 * dbus/dbus-string.c (_dbus_string_hex_encode): new function
1820 (_dbus_string_hex_decode): new function
1821 (test_hex_roundtrip): test code
1823 * dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
1825 * dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
1827 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
1828 the save-to-temp/rename trick to atomically write the new file
1829 (_dbus_string_parse_uint): new function
1831 2003-02-22 Havoc Pennington <hp@pobox.com>
1833 * test/Makefile.am (dist-hook): fix dist for test/data/sha-1
1835 2003-02-22 Havoc Pennington <hp@pobox.com>
1837 * dbus/dbus-message.c (dbus_message_iter_get_string_array):
1838 (dbus_message_iter_get_byte_array): Fix up doxygen warnings
1840 * dbus/dbus-sha.c: add implementation of SHA-1 algorithm
1842 * dbus/test/data/sha-1: add US government test suite for SHA-1
1844 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1846 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
1847 Make string arrays NULL-terminated.
1849 * dbus/dbus-memory.c: (dbus_free_string_array):
1850 * dbus/dbus-memory.h:
1851 New function for freeing NULL-terminated string arrays.
1853 * dbus/dbus-message-builder.c: (append_quoted_string),
1854 (_dbus_message_data_load):
1855 Add support for array types.
1857 * dbus/dbus-message.c: (check_message_handling):
1858 Add more types as test cases.
1860 * dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
1861 (_dbus_string_parse_double):
1862 Add the start offset to the end offset.
1864 * test/data/valid-messages/lots-of-arguments.message:
1865 New test message with lots of arguments.
1867 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1869 * dbus/dbus-message.c: (dbus_message_append_nil),
1870 (dbus_message_append_int32), (dbus_message_append_uint32),
1871 (dbus_message_append_double), (dbus_message_append_string),
1872 (dbus_message_append_int32_array),
1873 (dbus_message_append_uint32_array),
1874 (dbus_message_append_double_array),
1875 (dbus_message_append_byte_array),
1876 (dbus_message_append_string_array):
1877 Fix all out-of-memory handling in these functions.
1879 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1881 * dbus/dbus-message.c: (dbus_message_append_nil):
1884 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1886 * dbus/dbus-message.c: (dbus_message_append_args_valist),
1887 (dbus_message_append_nil), (dbus_message_append_int32_array),
1888 (dbus_message_append_uint32_array),
1889 (dbus_message_append_double_array),
1890 (dbus_message_append_byte_array),
1891 (dbus_message_append_string_array), (dbus_message_get_args_valist),
1892 (dbus_message_iter_get_int32_array),
1893 (dbus_message_iter_get_uint32_array),
1894 (dbus_message_iter_get_double_array),
1895 (dbus_message_iter_get_byte_array),
1896 (dbus_message_iter_get_string_array):
1898 * dbus/dbus-message.h:
1899 Add functions for appending and getting arrays.
1901 2003-02-21 Anders Carlsson <andersca@codefactory.se>
1903 * dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
1904 element size at least 8 bytes, fixes mempool tests on
1907 2003-02-20 Alexander Larsson <alexl@redhat.com>
1909 * dbus/dbus-transport-unix.c (unix_do_iteration):
1910 Unlock the connection mutex during a blocking select call.
1911 Add todo about how we need a way to wake up the select.
1913 * dbus/dbus-connection-internal.h:
1914 * dbus/dbus-connection.c:
1915 Add _dbus_connection_lock and _dbus_connection_unlock.
1917 2003-02-19 Havoc Pennington <hp@pobox.com>
1919 * Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
1920 Doxyfile.in, not Doxyfile
1922 * dbus/dbus-keyring.c: do some hacking on this
1924 * dbus/dbus-sysdeps.c (_dbus_delete_file): new
1926 * dbus/dbus-errors.c (dbus_set_error_const): do not call
1928 (dbus_set_error): remove dbus_error_init, check for message ==
1929 NULL *before* we sprintf into it, and add @todo about including
1930 system headers in this file
1932 * dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
1934 * dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
1936 * dbus/dbus-sysdeps.c (get_user_info): break this function out to
1937 get various bits of user information based on either username
1939 (_dbus_homedir_from_username): new function
1941 2003-02-19 Anders Carlsson <andersca@codefactory.se>
1944 Add check for nonposix getpwnam_r
1946 * dbus/dbus-mempool.c: (_dbus_mem_pool_new):
1947 Align the pool element size to a sizeof (void *) boundary.
1949 * dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
1950 (_dbus_listen_unix_socket), (_dbus_credentials_from_username):
1951 General Solaris fixes.
1953 * test/data/valid-messages/simplest-manual.message:
1954 Explicitly state that we want little-endian packing.
1956 2003-02-19 Mikael Hallendal <micke@codefactory.se>
1958 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
1960 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
1961 Added to create a transport connecting using a tcp/ip socket.
1963 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
1964 to a tcp socket at given host and port.
1965 (_dbus_listen_tcp_socket): added to listen on tcp socket for given
1968 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
1970 * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
1971 Added to create a server listening on a TCP/IP socket.
1973 2003-02-19 Havoc Pennington <hp@pobox.com>
1975 Throughout: mop up all the Doxygen warnings and undocumented
1978 * dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
1979 to search any paths.
1981 * dbus/dbus-threads.c: move global mutex initializers to
1982 dbus-internals.h, multiple prototypes was confusing doxygen
1983 besides being kind of ugly
1985 * Doxyfile (PREDEFINED): have Doxygen define
1986 DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
1987 docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
1988 (do not abuse the feature! it's for stuff like the autogenerated
1989 macros in dbus-md5.c, not just for things you don't feel like
1992 2003-02-18 Havoc Pennington <hp@pobox.com>
1994 * dbus/dbus-string.c (_dbus_string_zero): new function
1996 * dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
1997 wrap it in some dbus-friendly API
1999 * dbus/dbus-types.h: add 16-bit types
2001 2003-02-18 Joe Shaw <joe@assbarn.com>
2003 * dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
2004 credentials from our currently running process.
2005 (get_word): Fix a buglet where we were copying the entire length
2006 instead of relative to our position.
2008 * dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
2009 keys on the stack... it's 640k of data.
2011 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
2012 read the credentials byte off the socket, even if we don't have
2014 (_dbus_poll): Implement poll() using select() for systems which
2017 * glib/test-dbus-glib.c (main): Print out an error if no
2018 parameters are given.
2020 * test/data/auth/fallback.auth-script: Added. Tests that a client
2021 can fallback to a secondary auth mechanism if the first fails.
2023 2003-02-18 Havoc Pennington <hp@pobox.com>
2027 2003-02-17 Havoc Pennington <hp@pobox.com>
2029 * doc/dbus-specification.sgml: lots of cosmetic
2030 cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
2031 env variable to DBUS_BUS_ADDRESS, s/client/application/,
2032 s/server/bus/ (except in authentication section). Add a section
2033 "Message Bus Message Routing"
2035 2003-02-17 Anders Carlsson <andersca@codefactory.se.>
2041 2003-02-17 Anders Carlsson <andersca@codefactory.se>
2043 * doc/dbus-specification.sgml:
2044 Specification updates.
2046 2003-02-17 Anders Carlsson <andersca@codefactory.se>
2048 * bus/activation.c: (bus_activation_init), (child_setup),
2049 (bus_activation_activate_service):
2051 * bus/main.c: (main):
2052 Set DBUS_ADDRESS environment variable.
2054 * dbus/dbus-errors.c: (dbus_set_error):
2055 Don't use va_copy since that's a C99 feature.
2057 * dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
2058 (_dbus_spawn_async):
2059 * dbus/dbus-sysdeps.h:
2060 Add child_setup_func to _dbus_spawn_async.
2062 * doc/dbus-specification.sgml:
2063 Update specification.
2065 * test/spawn-test.c: (setup_func), (main):
2068 2003-02-17 Alexander Larsson <alexl@redhat.com>
2070 * dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
2073 2003-02-17 Anders Carlsson <andersca@codefactory.se>
2077 * doc/dbus-test-plan.sgml:
2078 Add test plan document.
2083 2003-02-17 Anders Carlsson <andersca@codefactory.se>
2085 * dbus/dbus-message.c: (decode_header_data),
2086 (_dbus_message_loader_return_buffer):
2087 Set the header padding amount when loading a message.
2089 2003-02-16 Anders Carlsson <andersca@codefactory.se>
2091 * bus/dispatch.c: (send_one_message):
2092 Only send broadcast messages to registered connections.
2094 * dbus/dbus-message.c: (dbus_message_name_is):
2095 * dbus/dbus-message.h:
2096 New convenience function.
2098 * dbus/dbus-transport-debug.c: (do_reading):
2099 Only dispatch one message per run.
2102 * test/bus-test.c: (new_connection_callback), (die),
2103 (test_hello_client1_handler), (test_hello_client2_handler),
2104 (test_hello_replies), (main):
2106 * test/bus-test-loop.[ch]:
2109 2003-02-16 Havoc Pennington <hp@pobox.com>
2111 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
2112 backward conditional
2114 2003-02-16 Alexander Larsson <alexl@redhat.com>
2116 * dbus/dbus-connection.c:
2117 Implement sent_message_with_reply. (with_reply_and block is still
2119 Made dispatch_message not lose message if OOM.
2121 * dbus/dbus-errors.h:
2122 Add NoReply error (for reply timeouts).
2124 2003-02-16 Alexander Larsson <alexl@redhat.com>
2126 * dbus/dbus-hash.c (_dbus_hash_table_unref):
2127 Actually free keys and values when destroying hashtable.
2129 2003-02-16 Anders Carlsson <andersca@codefactory.se>
2131 * dbus/dbus-auth.c: (client_try_next_mechanism):
2134 * dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
2135 Return TRUE if there's no thread implementation around.
2137 * glib/dbus-gmain.c: (free_source),
2138 (dbus_connection_hookup_with_g_main):
2139 Make sure to remove the GSource when the connection is finalized.
2141 2003-02-16 Anders Carlsson <andersca@codefactory.se>
2143 * bus/dispatch.c: (bus_dispatch_message_handler):
2144 * dbus/dbus-errors.h:
2145 Return an error if someone tries to send a message to a service
2148 2003-02-16 Anders Carlsson <andersca@codefactory.se>
2150 * bus/activation.c: (load_directory), (bus_activation_init),
2151 (bus_activation_activate_service):
2154 (bus_driver_handle_activate_service), (bus_driver_handle_message):
2155 More work on the activation handling.
2157 * dbus/dbus-errors.h:
2158 Add some error messages
2160 * dbus/dbus-message.c: (dbus_message_new_error_reply):
2161 * dbus/dbus-message.h:
2162 New function that creates an error message.
2164 * dbus/dbus-protocol.h:
2165 Add ACTIVATE_SERVER message.
2167 * dbus/dbus-server-unix.c: (unix_handle_watch),
2168 (_dbus_server_new_for_domain_socket):
2169 Call _dbus_fd_set_close_on_exec.
2171 * dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
2172 (_dbus_spawn_async), (_dbus_disable_sigpipe),
2173 (_dbus_fd_set_close_on_exec):
2174 * dbus/dbus-sysdeps.h:
2175 Add _dbus_fd_set_close_on exec function. Also add function that checks
2176 that all open fds are set to close-on-exec and warns otherwise.
2178 * dbus/dbus-transport-unix.c:
2179 (_dbus_transport_new_for_domain_socket):
2180 Call _dbus_fd_set_close_on_exec.
2182 2003-02-16 Havoc Pennington <hp@pobox.com>
2184 * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
2185 allow people to avoid setting SIGPIPE to SIG_IGN
2186 (_dbus_connection_new_for_transport): disable SIGPIPE unless
2187 we've been asked not to
2189 2003-02-15 Anders Carlsson <andersca@codefactory.se>
2191 * dbus/dbus-list.c: (_dbus_list_append_link),
2192 (_dbus_list_prepend_link):
2193 * dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
2197 2003-02-15 Anders Carlsson <andersca@codefactory.se>
2200 * bus/activation.c: (bus_activation_entry_free),
2201 (add_desktop_file_entry), (load_directory), (bus_activation_init):
2203 * bus/main.c: (main):
2204 Add simple activation support, doesn't work yet though.
2206 2003-02-15 Zack Rusin <zack@kde.org>
2208 * qt/dbus-qthread.cpp: small casting fix
2210 2003-02-15 Anders Carlsson <andersca@codefactory.se>
2212 * dbus/dbus-errors.c: (dbus_set_error):
2213 * dbus/dbus-errors.h:
2214 Add a few errors and make dbus_set_error void.
2216 * dbus/dbus-sysdeps.c:
2217 (_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
2218 (write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
2219 * dbus/dbus-sysdeps.h:
2220 Add _dbus_spawn_async.
2222 * test/spawn-test.c: (main):
2223 Test for _dbus_spawn_async.
2225 2003-02-15 Anders Carlsson <andersca@codefactory.se>
2227 * dbus/dbus-internals.h:
2228 Fix build without tests.
2230 * dbus/dbus-list.c: (alloc_link):
2231 Fix a segfault when a malloc fails.
2233 * dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
2234 (dbus_malloc0), (dbus_realloc):
2235 Add support for malloc debugging.
2237 2003-02-15 Alexander Larsson <alexl@redhat.com>
2239 * dbus/dbus-threads.c:
2240 * dbus/dbus-threads.h:
2241 Add condvars. Remove static mutext from API.
2242 Implement static mutexes by initializing them from threads_init.
2244 * glib/dbus-gthread.c:
2245 * qt/dbus-qthread.cpp:
2246 Update with the thread api changes.
2251 Turn StaticMutex into normal mutex + init function.
2252 Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
2253 _dbus_list_append_link, _dbus_list_prepend_link
2256 * dbus/dbus-sysdeps.c:
2257 * dbus/dbus-sysdeps.h:
2258 New type dbus_atomic_t, and new functions _dbus_atomic_inc,
2259 _dbus_atomic_dec. Only slow fallback implementation at the moment.
2261 * dbus/dbus-protocol.h:
2262 Add DBUS_MESSAGE_LOCAL_DISCONNECT define
2264 * dbus/dbus-message.c:
2265 Make ref/unref atomic.
2268 * dbus/dbus-connection-internal.h:
2269 * dbus/dbus-connection.c:
2270 * dbus/dbus-connection.h:
2272 Change _peek to _borrow,_return & _steal_borrowed.
2273 Change disconnect callback to event.
2274 Make dbus_connection_dispatch_messages reentrant.
2276 * dbus/dbus-transport.c:
2277 Don't ref the connection on calls to the transport
2280 * dbus/dbus-message-handler.c:
2283 * glib/dbus-gmain.c:
2284 Don't use peek_message anymore
2287 * test/debug-thread.c:
2288 * test/debug-thread.h:
2289 Simple thread implementation that asserts() on deadlocks in
2290 single-threaded code.
2293 (main) Call debug_threads_init.
2296 Use disconnect message instead of disconnect callback.
2300 Don't call dbus_connection_set_disconnect_function. Instead export
2301 bus_connection_disconnect.
2304 Call bus_connection_disconnect when we get a disconnected message.
2306 2003-02-15 Havoc Pennington <hp@pobox.com>
2308 * dbus/dbus-message.c (dbus_message_new): fool around with the
2311 2003-02-14 Havoc Pennington <hp@pobox.com>
2313 * dbus/dbus-mempool.c: fail if the debug functions so indicate
2315 * dbus/dbus-memory.c: fail if the debug functions indicate we
2318 * dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
2319 (_dbus_decrement_fail_alloc_counter): debug functions to
2320 simulate memory allocation failures
2322 2003-02-14 Havoc Pennington <hp@pobox.com>
2324 * dbus/dbus-errors.h (struct DBusError): add a word of padding
2327 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2329 * bus/driver.c: (bus_driver_handle_hello):
2331 * bus/services.c: (bus_service_lookup):
2332 Reorder message sending so we get a more sane order.
2334 * test/bus-test.c: (message_handler):
2337 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2339 * bus/driver.c: (bus_driver_send_service_deleted),
2340 (bus_driver_send_service_created), (bus_driver_send_service_lost),
2341 (bus_driver_send_service_acquired), (bus_driver_handle_hello),
2342 (bus_driver_send_welcome_message),
2343 (bus_driver_handle_list_services),
2344 (bus_driver_handle_acquire_service),
2345 (bus_driver_handle_service_exists):
2346 * dbus/dbus-bus.c: (dbus_bus_register_client),
2347 (dbus_bus_acquire_service), (dbus_bus_service_exists):
2348 * dbus/dbus-errors.c: (dbus_result_to_string):
2349 * dbus/dbus-errors.h:
2350 * dbus/dbus-message.c: (dbus_message_append_args),
2351 (dbus_message_append_args_valist), (dbus_message_get_args),
2352 (dbus_message_get_args_valist), (dbus_message_get_args_iter),
2353 (dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
2354 (dbus_message_iter_get_byte_array),
2355 (dbus_message_iter_get_string_array), (message_iter_test),
2356 (check_message_handling), (_dbus_message_test):
2357 * dbus/dbus-message.h:
2358 * test/bus-test.c: (main):
2359 Change fields to arguments in messages, so that they won't be
2360 confused with header fields.
2362 * glib/test-dbus-glib.c: (main):
2363 Remove append_fields from hello message.
2365 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2367 * dbus/dbus-errors.c:
2368 * dbus/dbus-message.c:
2369 * dbus/dbus-string.c:
2370 Documentation fixes.
2372 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2374 * glib/dbus-gmain.c: (timeout_handler), (add_timeout),
2376 Implement support for timeouts in dbus-glib.
2378 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2380 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
2381 * dbus/dbus-message.c: (process_test_subdir):
2382 * test/break-loader.c: (find_breaks_based_on):
2383 Plug some memory leaks.
2385 2003-02-13 Richard Hult <rhult@codefactory.se>
2387 * bus/main.c: Fix build.
2389 * dbus/dbus-errors.h:
2390 * dbus/dbus-errors.c: Fix copyright for Anders.
2392 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2397 * bus/connection.c: (bus_connection_foreach):
2400 * bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
2401 (unescape_string), (new_section), (parse_section_start),
2402 (parse_key_value), (report_error), (bus_desktop_file_load),
2403 (bus_desktop_file_get_string):
2404 * bus/desktop-file.h:
2405 Use DBusError for error reporting.
2407 * bus/dispatch.c: (send_one_message),
2408 (bus_dispatch_message_handler):
2409 * bus/driver.c: (bus_driver_send_service_deleted),
2410 (bus_driver_send_service_created), (bus_driver_send_service_lost),
2411 (bus_driver_send_service_acquired), (bus_driver_handle_hello),
2412 (bus_driver_send_welcome_message),
2413 (bus_driver_handle_list_services),
2414 (bus_driver_handle_acquire_service),
2415 (bus_driver_handle_service_exists):
2416 * bus/loop.c: (bus_loop_run):
2418 Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
2420 * bus/utils.c: (bus_wait_for_memory):
2422 New files with general utility functions.
2424 * dbus/dbus-internals.h:
2425 Remove _DBUS_HANDLE_OOM.
2427 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2429 * dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
2430 (dbus_error_free), (dbus_set_error_const), (dbus_set_error):
2431 * dbus/dbus-errors.h:
2432 Add DBusError structure.
2434 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2436 * test/data/valid-messages/standard-acquire-service.message:
2437 * test/data/valid-messages/standard-hello.message:
2438 * test/data/valid-messages/standard-list-services.message:
2439 * test/data/valid-messages/standard-service-exists.message:
2440 Add some standard messages.
2442 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2444 * bus/driver.c: (bus_driver_send_welcome_message),
2445 (bus_driver_handle_list_services),
2446 (bus_driver_handle_acquire_service),
2447 (bus_driver_handle_service_exists), (bus_driver_handle_message):
2448 Update for API changes in libdbus.
2450 * dbus/dbus-message.c: (dbus_message_new_reply):
2451 * dbus/dbus-message.h:
2452 Remove the name argument. The spec states that replies shouldn't
2455 2003-02-13 Anders Carlsson <andersca@codefactory.se>
2457 * bus/desktop-file.c: (parse_section_start), (parse_key_value),
2458 (report_error), (bus_desktop_file_load), (lookup_section),
2459 (lookup_line), (bus_desktop_file_get_raw),
2460 (bus_desktop_file_get_string):
2461 * bus/desktop-file.h:
2462 Some fixes, and new functions for getting a key value from a section.
2464 2003-02-13 Havoc Pennington <hp@pobox.com>
2466 * test/data/auth/fail-after-n-attempts.auth-script: new test
2468 * dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
2471 2003-02-13 Havoc Pennington <hp@pobox.com>
2473 * dbus/dbus-auth.c (handle_server_data_external_mech): args to
2474 dbus_credentials_match were backward
2476 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support
2477 NO_CREDENTIALS and ROOT_CREDENTIALS
2479 * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
2480 into here. Never process more commands after we've reached an
2481 end state; store further data as unused bytes.
2483 * test/data/auth/*: add more auth tests
2485 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
2486 command to match exact string and EXPECT_UNUSED to match unused
2489 * test/Makefile.am (dist-hook): fix to dist all the test stuff
2491 2003-02-12 Havoc Pennington <hp@pobox.com>
2493 * dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
2494 \r off of popped lines
2496 * dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
2499 * dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
2502 2003-02-12 Havoc Pennington <hp@pobox.com>
2504 * dbus/Makefile.am: remove break-loader from the build, since it
2507 * configure.in: add --enable-gcov to turn on coverage profiling
2508 flags and disable optimization
2510 2003-02-10 Havoc Pennington <hp@pobox.com>
2512 * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync
2513 initial cut at test framework for DBusAuth from laptop.
2514 Doesn't quite work yet but it compiles and I need to get
2515 it off the 266mhz laptop. ;-)
2517 * dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
2518 fix a memleak in error case
2520 2003-02-12 Anders Carlsson <andersca@codefactory.se>
2523 * bus/desktop-file.c:
2524 * bus/desktop-file.h:
2525 Add a desktop file parser.
2527 2003-02-11 Zack Rusin <zack@kde.org>
2529 * qt/message.[h|cpp]: sample implementation
2530 of the KDE wrapper for DBusMessage
2532 2003-02-09 Zack Rusin <zack@kde.org>
2534 * test/bus-test.c: make_it_compile
2535 * doc/dbus-specification.sgml: minimal semantic fix
2537 2003-02-06 Anders Carlsson <andersca@codefactory.se>
2543 2003-02-06 Anders Carlsson <andersca@codefactory.se>
2546 * dbus/dbus-break-loader.c:
2548 * test/break-loader.c:
2549 Move dbus-break-loader to test/ and rename it to break-loader.
2551 2003-02-02 Havoc Pennington <hp@pobox.com>
2553 * dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files
2554 for code to manage cookies in your home directory
2556 * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
2558 * dbus/dbus-auth.c (get_state): impose a maximum number of tries
2559 to authenticate, then disconnect the client.
2561 2003-02-03 Alexander Larsson <alexl@redhat.com>
2563 * dbus/dbus-message.c (dbus_message_append_fields):
2566 2003-02-02 Anders Carlsson <andersca@codefactory.se>
2568 * doc/dbus-specification.sgml:
2569 Update address format section.
2571 2003-02-02 Anders Carlsson <andersca@codefactory.se>
2574 * test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
2575 (message_handler), (new_connection_callback), (loop_quit),
2579 2003-02-02 Anders Carlsson <andersca@codefactory.se>
2581 * bus/driver.c: (bus_driver_handle_service_exists):
2582 Simplify the code a bit.
2584 * dbus/dbus-bus.c: (dbus_bus_service_exists):
2587 2003-02-02 Anders Carlsson <andersca@codefactory.se>
2590 Add libdbus-daemon.la and link to it.
2592 2003-02-01 James Willcox <jwillcox@gnome.org>
2594 * bus/driver.c: (bus_driver_handle_own_service):
2595 Actually include the service reply code in the message.
2597 2003-02-02 Anders Carlsson <andersca@codefactory.se>
2599 * bus/driver.c: (bus_driver_handle_service_exists):
2600 Don't unref the incoming message.
2602 2003-02-02 Anders Carlsson <andersca@codefactory.se>
2604 * dbus/dbus.h: Add dbus-address.h and dbus-bus.h
2606 2003-02-02 Anders Carlsson <andersca@codefactory.se>
2608 * dbus/dbus-server.c: (dbus_server_listen):
2609 * dbus/dbus-transport.c: (_dbus_transport_open):
2610 ifdef out the calls to the debug transport and server.
2612 2003-02-02 Alexander Larsson <alexl@redhat.com>
2614 * dbus/dbus-watch.c (dbus_watch_get_flags):
2615 Add note in the docs that ERROR or HANGUP won't be returned
2616 and are assumed always on.
2618 * glib/dbus-gmain.c (add_watch):
2619 Always add IO_ERR | IO_HUP
2621 * dbus/dbus-message.h:
2622 Add semicolon after dbus_message_iter_get_string_array().
2623 Makes qt code build again
2625 2003-02-01 Anders Carlsson <andersca@codefactory.se>
2627 * bus/driver.c: (create_unique_client_name),
2628 (bus_driver_handle_hello):
2629 Don't take a name, just use a numeric id to identify
2633 * dbus/dbus-bus.c: (dbus_bus_register_client),
2634 (dbus_bus_acquire_service), (dbus_bus_service_exists):
2636 Add new convenience functions for communicating with the bus.
2638 * dbus/dbus-message.h:
2640 * dbus/dbus-protocol.h:
2643 2003-02-01 Alexander Larsson <alexl@redhat.com>
2645 * dbus/dbus-message.c (dbus_message_append_fields):
2646 Add some more doc comments.
2648 2003-02-01 Havoc Pennington <hp@pobox.com>
2650 * dbus/dbus-break-loader.c (randomly_modify_length): change
2651 a 4-byte value in the message as if it were a length
2653 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
2654 execute bit on saved files
2656 2003-02-01 Havoc Pennington <hp@pobox.com>
2658 * dbus/dbus-break-loader.c (main): new program to find messages
2659 that break the loader.
2661 * dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
2662 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
2664 * dbus/dbus-string.c (_dbus_string_set_byte): new
2666 2003-01-31 Havoc Pennington <hp@pobox.com>
2668 * dbus/dbus-message.c: refactor the test code to be more general,
2669 in preparation for writing a "randomly permute test cases to
2670 try to break the loader" program.
2672 2003-01-31 Havoc Pennington <hp@pobox.com>
2674 * doc/dbus-specification.sgml: work on the specification
2676 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
2677 the protocol version of the message.
2679 * dbus/dbus-protocol.h: drop special _REPLY names, the spec
2680 no longer specifies that.
2681 (DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
2684 * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
2685 "break" for DBUS_TYPE_NIL, remove @todo
2687 2003-01-31 Havoc Pennington <hp@pobox.com>
2689 * dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
2690 just set_is_error/get_is_error as this is a commonly-used
2691 function, and write docs.
2693 2003-01-31 Anders Carlsson <andersca@codefactory.se>
2695 * dbus/dbus-address.c: (dbus_address_entry_free):
2696 Free key and value lists.
2698 * dbus/dbus-internals.c: (_dbus_type_to_string):
2699 Add the types we didn't have.
2701 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
2702 (_dbus_marshal_validate_arg):
2705 * dbus/dbus-message.c: (dbus_message_set_sender):
2706 Remove todo about being able to set sender to NULL.
2708 (dbus_message_set_is_error_reply),
2709 (dbus_message_get_is_error_reply):
2710 * dbus/dbus-message.h:
2713 * dbus/dbus-protocol.h:
2714 Add error reply flag.
2716 * test/data/valid-messages/opposite-endian.message:
2717 Add NIL type to test.
2719 2003-01-31 Havoc Pennington <hp@pobox.com>
2721 * doc/dbus-specification.sgml: fully specify the header. Add
2722 flags and major protocol version, and change header/body len to
2725 * dbus/dbus-message-builder.c (append_saved_length): append length
2728 * dbus/dbus-message.c (dbus_message_create_header): change header
2729 length and body length to unsigned. Add the new fields from the
2731 (_dbus_message_loader_return_buffer): unsigned header/body len
2733 2003-01-30 Havoc Pennington <hp@pobox.com>
2735 * dbus/dbus-auth.c: rework to use only REJECTED, no
2738 * doc/dbus-sasl-profile.txt: drop MECHANISMS and just
2739 use REJECTED, suggested by Mark McLoughlin
2741 2003-01-30 Havoc Pennington <hp@pobox.com>
2743 * dbus/dbus-server.c (dbus_server_listen): @todo about how we need
2744 a better way to report errors here. e.g. "unix address lacks
2745 path" or something. also "no such file" when the path doesn't
2748 * dbus/dbus-address.c (dbus_address_entries_free): add @todo about
2750 (dbus_parse_address): add @todo about documenting address format,
2751 and allowing , and ; to be escaped
2753 2003-01-30 Anders Carlsson <andersca@codefactory.se>
2756 Add dbus-address.[ch]
2758 * dbus/dbus-address.c: (dbus_address_entry_free),
2759 (dbus_address_entries_free), (create_entry),
2760 (dbus_address_entry_get_method), (dbus_address_entry_get_value),
2761 (dbus_parse_address), (_dbus_address_test):
2762 * dbus/dbus-address.h:
2763 New files for dealing with address parsing.
2765 * dbus/dbus-connection.c:
2766 Document timeout functions.
2768 * dbus/dbus-message.c:
2769 Document dbus_message_new_from_message.
2771 * dbus/dbus-server-debug.c:
2774 * dbus/dbus-server.c: (dbus_server_listen):
2775 Parse address and use correct server implementation.
2777 * dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
2778 * dbus/dbus-string.h:
2779 New function with test.
2781 * dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
2785 * dbus/dbus-transport-debug.c:
2788 * dbus/dbus-transport.c: (_dbus_transport_open):
2789 Parse address and use correct transport implementation.
2791 2003-01-30 Havoc Pennington <hp@pobox.com>
2793 * dbus/dbus-message.c: use message->byte_order instead of
2794 DBUS_COMPILER_BYTE_ORDER throughout.
2795 (dbus_message_create_header): pad header to align the
2796 start of the body of the message to 8-byte boundary
2798 * dbus/dbus-marshal.h: make all the demarshalers take const
2799 DBusString arguments.
2801 * dbus/dbus-message.c (_dbus_message_loader_return_buffer):
2802 validate message args here, so we don't have to do slow validation
2803 later, and so we catch bad messages as they are incoming. Also add
2804 better checks on header_len and body_len. Also fill in
2807 * dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
2808 implemented properly)
2809 (_dbus_string_validate_nul): new function to check all-nul
2811 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
2812 get_arg_end_pos and remove all validation
2813 (_dbus_marshal_validate_arg): actually do validation here.
2815 2003-01-29 Havoc Pennington <hp@pobox.com>
2817 * dbus/dbus-message.c (check_message_handling): fix assertion
2818 failure on set_client_serial
2820 2003-01-28 Havoc Pennington <hp@pobox.com>
2822 * dbus/dbus-server-debug.c: Add doc section comments
2824 * dbus/dbus-transport-debug.c: add doc section comments
2826 2003-01-28 Havoc Pennington <hp@redhat.com>
2828 * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
2829 the reverse order from how I had it
2830 (_dbus_string_base64_encode): reverse encoding order. I was
2831 basically byteswapping everything during encoding.
2833 2003-01-28 Anders Carlsson <andersca@codefactory.se>
2835 * dbus/dbus-connection-internal.h:
2836 * dbus/dbus-connection.c: (_dbus_connection_add_timeout),
2837 (_dbus_connection_remove_timeout):
2838 Add functions for adding and removing timeouts.
2840 * dbus/dbus-message.c: (dbus_message_new_from_message):
2841 Add new function that takes a message and creates an exact
2842 copy of it, but with the refcount set to 1.
2843 (check_message_handling):
2846 * dbus/dbus-server-protected.h:
2847 * dbus/dbus-server.c: (_dbus_server_init_base),
2848 (_dbus_server_finalize_base), (_dbus_server_add_timeout),
2849 (dbus_server_set_timeout_functions):
2850 (_dbus_server_remove_timeout):
2851 New functions so that a server can add and remove timeouts.
2853 (dbus_server_listen):
2854 Add commented out call to dbus_server_debug_new.
2856 * dbus/dbus-timeout.c: (_dbus_timeout_new):
2857 Actually set the handler, doh.
2859 * dbus/dbus-transport.c: (_dbus_transport_open):
2860 Add commented out call to dbus_transport_debug_client_new.
2863 Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
2865 2003-01-28 Havoc Pennington <hp@pobox.com>
2867 * dbus/dbus-message.c (check_message_handling): function to check
2868 on the loaded message, iterates over it etc.
2870 2003-01-28 Havoc Pennington <hp@pobox.com>
2872 * test/Makefile.am (dist-hook): fix make distdir
2874 * dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
2876 2003-01-27 Havoc Pennington <hp@pobox.com>
2878 * dbus/dbus-mempool.c (time_for_size): replace printf with
2881 * dbus/dbus-message-builder.c (_dbus_message_data_load): allow
2882 empty lines; fix the SAVE_LENGTH stuff to be
2883 START_LENGTH/END_LENGTH so it actually works; couple other
2886 * test/Makefile.am (dist-hook): add dist-hook for .message files
2888 * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
2889 can be constant or locked.
2890 (_dbus_string_free): allow freeing a const string as
2893 * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
2895 * dbus/dbus-test-main.c (main): take an argument which is the
2896 directory containing test data
2898 * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
2899 argument to this and load all the messages in test/data/
2900 checking that they can be loaded or not loaded as appropriate.
2902 2003-01-27 Anders Carlsson <andersca@codefactory.se>
2904 * bus/dispatch.c: (bus_dispatch_message_handler):
2905 Dispatch messages sent to services.
2907 * bus/driver.c: (bus_driver_send_service_deleted),
2908 (bus_driver_send_service_created), (bus_driver_send_service_lost),
2909 (bus_driver_send_service_acquired):
2910 Add helper functions for sending service related messages.
2912 (bus_driver_send_welcome_message):
2913 Send HELLO_REPLY instead of WELCOME.
2915 (bus_driver_handle_list_services):
2916 Send LIST_SERVICES_REPLY instead of SERVICES.
2918 (bus_driver_handle_own_service),
2919 (bus_driver_handle_service_exists):
2920 New message handlers.
2922 (bus_driver_handle_message):
2923 Invoke new message handlers.
2925 (bus_driver_remove_connection):
2926 Don't remove any services here since that's done automatically
2927 by bus_service_remove_owner now.
2930 New function signatures.
2932 * bus/services.c: (bus_service_add_owner):
2933 Send ServiceAcquired message if we're the only primary owner.
2935 (bus_service_remove_owner):
2936 Send ServiceAcquired/ServiceLost messages.
2938 (bus_service_set_prohibit_replacement),
2939 (bus_service_get_prohibit_replacement):
2940 Functions for setting prohibit replacement.
2942 (bus_service_has_owner):
2943 New function that checks if a connection is in the owner queue of
2947 Add new function signatures.
2949 * dbus/dbus-list.c: (_dbus_list_test):
2950 Add tests for _dbus_list_remove_last and traversing the list backwards.
2953 Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
2954 go any further, so return NULL then.
2956 * dbus/dbus-protocol.h:
2957 Add new messages, service flags and service replies.
2959 2003-01-26 Havoc Pennington <hp@pobox.com>
2961 * dbus/dbus-message-builder.c: implement, completely untested.
2963 * test/data/*: add data to be used in testing.
2964 ".message" files are our simple loadable text format.
2965 ".message-raw" will be binary dumps of messages.
2967 * dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
2969 2003-01-26 Havoc Pennington <hp@pobox.com>
2971 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
2973 * dbus/dbus-errors.c (dbus_result_to_string): add
2976 * dbus/dbus-message-builder.c: new file, will contain code to load
2977 up messages from files. Not implemented yet.
2979 2003-01-26 Havoc Pennington <hp@pobox.com>
2981 * dbus/dbus-message.c (dbus_message_set_sender): support deleting
2982 the sender by setting to NULL
2984 2003-01-26 Havoc Pennington <hp@pobox.com>
2986 The unit tests pass, but otherwise untested. If it breaks, the
2987 tests should have been better. ;-)
2989 * bus/driver.c (bus_driver_handle_hello): return if we disconnect
2992 * dbus/dbus-message.c: redo everything so we maintain
2993 message->header as the only copy of the various fields.
2994 This avoids the possibility of out-of-memory in some cases,
2995 for example dbus_message_lock() can't run out of memory anymore,
2996 and avoids extra copying. Figured I may as well go ahead and do
2997 this since it was busted for dbus_message_lock to not return
2998 failure on OOM, and dbus_message_write_header was totally
2999 unchecked for OOM. Also fixed some random other bugs.
3001 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
3002 that strings are nul-terminated. Also, end_pos can be equal
3003 to string length just not greater than, I think.
3004 (_dbus_marshal_set_int32): new function
3005 (_dbus_marshal_set_uint32): new function
3006 (_dbus_marshal_set_string): new function
3008 * dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
3009 a warning, init timeout_list to NULL
3010 (dbus_connection_send_message): don't use uninitialized variable
3013 * dbus/dbus-string.c (_dbus_string_replace_len): new function
3015 2003-01-26 Anders Carlsson <andersca@codefactory.se>
3017 * bus/driver.c: (bus_driver_handle_hello),
3018 (bus_driver_send_welcome_message):
3021 2003-01-26 Anders Carlsson <andersca@codefactory.se>
3023 * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
3024 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
3025 (dbus_connection_unref):
3026 * dbus/dbus-marshal.c: (_dbus_marshal_test):
3027 * dbus/dbus-message.c: (dbus_message_unref),
3030 (dbus_message_get_fields):
3031 Remove debugging printout.
3033 (_dbus_message_loader_return_buffer):
3034 Don't store the header string.
3036 (_dbus_message_test):
3039 2003-01-26 Richard Hult <rhult@codefactory.se>
3041 * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
3042 the file descriptor list, since it can change under us.
3044 2003-01-25 Anders Carlsson <andersca@codefactory.se>
3046 * glib/dbus-gmain.c: (dbus_connection_prepare),
3047 (dbus_connection_check), (dbus_connection_dispatch), (add_watch),
3048 (remove_watch), (dbus_connection_hookup_with_g_main):
3049 Rewrite the glib handling to use its own GSource instead of a
3050 GIOChannel so we can catch messages put in the queue while waiting
3053 2003-01-25 Anders Carlsson <andersca@codefactory.se>
3056 * bus/connection.c: (connection_disconnect_handler),
3057 (connection_watch_callback), (bus_connection_setup):
3058 * bus/dispatch.c: (send_one_message),
3059 (bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
3060 (bus_dispatch_add_connection), (bus_dispatch_remove_connection):
3062 * bus/driver.c: (bus_driver_send_service_deleted),
3063 (bus_driver_send_service_created), (bus_driver_handle_hello),
3064 (bus_driver_send_welcome_message),
3065 (bus_driver_handle_list_services), (bus_driver_remove_connection),
3066 (bus_driver_handle_message):
3068 Refactor code, put the message dispatching in its own file. Use
3069 _DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
3072 2003-01-25 Anders Carlsson <andersca@codefactory.se>
3074 * dbus/dbus-internals.h:
3075 Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
3077 * dbus/dbus-message.c: (dbus_message_get_sender):
3078 * dbus/dbus-message.h:
3079 Implement dbus_message_get_sender.
3081 * dbus/dbus-protocol.h:
3082 Add message and service defines.
3084 2003-01-25 Anders Carlsson <andersca@codefactory.se>
3086 * dbus/dbus-connection.c: (dbus_connection_send_message):
3087 * dbus/dbus-message-internal.h:
3088 * dbus/dbus-message.c: (_dbus_message_get_client_serial),
3089 (dbus_message_write_header):
3090 Remove _dbus_messag_unlock and don't set the client serial on a
3091 message if one already exists.
3093 2003-01-24 Havoc Pennington <hp@pobox.com>
3095 * dbus/dbus-list.c (alloc_link): put a thread lock on the global
3098 * bus/driver.c (bus_driver_handle_list_services): fix a leak
3101 2003-01-25 Anders Carlsson <andersca@codefactory.se>
3103 * dbus/dbus-list.c: (alloc_link), (free_link):
3104 Use a memory pool for the links.
3106 2003-01-25 Anders Carlsson <andersca@codefactory.se>
3108 * bus/connection.c: (bus_connection_foreach):
3110 Add new bus_connection_foreach function.
3112 * bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
3113 Add function that broadcasts a message to all clients.
3115 (bus_driver_send_service_created), (bus_driver_handle_hello),
3116 (bus_driver_send_welcome_message),
3117 (bus_driver_handle_list_services), (bus_driver_message_handler):
3118 Implement functions that take care of listing services, and notifying
3119 clients when new services are created.
3121 * bus/services.c: (bus_services_list):
3123 Add new function that returns an array of strings with the currently
3124 registered services.
3127 * glib/dbus-gmain.c:
3128 Update copyright year.
3130 2003-01-25 Anders Carlsson <andersca@codefactory.se>
3132 * dbus/dbus-connection.c: (dbus_connection_send_message):
3133 Unlock the message in case it was sent earlier.
3135 (dbus_connection_send_message_with_reply_and_block):
3136 Remove the reply message from the list.
3138 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
3139 Set array_len and new_pos correctly.
3141 (_dbus_marshal_test):
3142 Remove debug output.
3144 * dbus/dbus-message-internal.h:
3145 * dbus/dbus-message.c: (_dbus_message_get_reply_serial):
3146 New function that returns the reply serial.
3148 (_dbus_message_unlock):
3149 New function that unlocks a message and resets its header.
3151 (dbus_message_append_string_array),
3152 (dbus_message_get_fields_valist),
3153 (dbus_message_iter_get_field_type),
3154 (dbus_message_iter_get_string_array),
3155 (dbus_message_get_fields),
3156 (dbus_message_append_fields_valist):
3157 Handle string arrays.
3159 (dbus_message_set_sender):
3160 Make this function public since the bus daemon needs it.
3162 (decode_header_data):
3163 Set the reply serial to -1 initially.
3165 * dbus/dbus-message.h:
3166 Add dbus_message_set_sender.
3168 2003-01-24 Havoc Pennington <hp@pobox.com>
3170 * doc/dbus-specification.sgml: add some stuff
3172 2003-01-22 Havoc Pennington <hp@pobox.com>
3174 * doc/dbus-specification.sgml: Start to document the protocol.
3176 2003-01-22 Havoc Pennington <hp@pobox.com>
3178 * dbus/dbus-connection.c
3179 (dbus_connection_send_message_with_reply_and_block): add some @todo
3181 * bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
3183 2003-01-21 Havoc Pennington <hp@pobox.com>
3185 (patch untested because can't compile)
3187 * bus/driver.c (create_unique_client_name): make this function
3188 never recycle client names. Also, caller should initialize
3191 * dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
3193 2003-01-21 Anders Carlsson <andersca@codefactory.se>
3195 * dbus/dbus-marshal.c: (_dbus_marshal_double),
3196 (_dbus_marshal_int32), (_dbus_marshal_uint32),
3197 (_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
3198 (_dbus_marshal_double_array), (_dbus_marshal_string_array),
3199 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
3200 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
3201 (_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
3202 * dbus/dbus-marshal.h:
3203 * dbus/dbus-protocol.h:
3204 Add support for marshalling and demarshalling integer, double
3207 2003-01-21 Anders Carlsson <andersca@codefactory.se>
3212 * bus/connection.c: (connection_disconnect_handler):
3213 Remove the connection from the bus driver's list.
3215 (connection_watch_callback): Dispatch messages.
3217 (free_connection_data): Free connection name.
3219 (bus_connection_setup): Add connection to the bus driver's list.
3220 (bus_connection_remove_owned_service):
3221 (bus_connection_set_name), (bus_connection_get_name):
3222 Add functions for setting and getting the connection's name.
3225 Add function headers.
3227 * bus/driver.c: (create_unique_client_name),
3228 (bus_driver_handle_hello_message),
3229 (bus_driver_send_welcome_message), (bus_driver_message_handler),
3230 (bus_driver_add_connection), (bus_driver_remove_connection):
3233 * bus/services.c: (bus_service_free):
3235 New file that handles communication and registreation with the bus
3238 2003-01-21 Anders Carlsson <andersca@codefactory.se>
3240 * dbus/dbus-connection.c: (dbus_connection_send_message):
3241 Add a new client_serial parameter.
3243 (dbus_connection_send_message_with_reply):
3244 Remove a @todo since we've implemented the blocking function.
3246 (dbus_connection_send_message_with_reply_and_block):
3247 New function that sends a message and waits for a reply and
3248 then returns the reply.
3250 * dbus/dbus-connection.h:
3253 * dbus/dbus-errors.c: (dbus_result_to_string):
3254 * dbus/dbus-errors.h:
3255 Add new DBUS_RESULT.
3257 * dbus/dbus-message-internal.h:
3258 * dbus/dbus-message.c: (_dbus_message_get_reply_serial),
3259 (_dbus_message_set_sender), (dbus_message_write_header),
3260 (dbus_message_new_reply), (decode_header_data),
3261 (_dbus_message_loader_return_buffer), (_dbus_message_test):
3262 * dbus/dbus-message.h:
3263 Add new functions that set the reply serial and sender.
3264 Also marshal and demarshal them correctly and add test.
3266 * dbus/dbus-protocol.h:
3267 Add new DBUS_MESSAGE_TYPE_SENDER.
3270 * glib/dbus-gmain.c: (watch_callback), (free_callback_data),
3271 (add_watch), (remove_watch), (add_timeout), (remove_timeout),
3272 (dbus_connection_hookup_with_g_main):
3273 * glib/test-dbus-glib.c: (main):
3274 Rewrite to use GIOChannel and remove the GSource crack.
3276 * test/echo-client.c: (main):
3277 * test/watch.c: (check_messages):
3278 Update for changed APIs
3280 2003-01-19 Anders Carlsson <andersca@codefactory.se>
3282 * dbus/Makefile.am: Add dbus-timeout.[cħ]
3284 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
3285 Create a DBusTimeoutList.
3286 (dbus_connection_set_timeout_functions): Add new function to
3287 set timeout callbacks
3289 * dbus/dbus-connection.h: Add public DBusTimeout API.
3291 * dbus/dbus-message.c: (dbus_message_get_service):
3292 * dbus/dbus-message.h: New function.
3294 * dbus/dbus-server.c: Fix small doc typo.
3296 * dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
3298 2003-01-19 Anders Carlsson <andersca@codefactory.se>
3300 * dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
3301 of the string, just as long as specified.
3303 2003-01-19 Havoc Pennington <hp@pobox.com>
3305 * dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
3308 * dbus/dbus-server.c (dbus_server_set_max_connections)
3309 (dbus_server_get_max_connections, dbus_server_get_n_connections):
3310 keep track of current number of connections, and add API for
3311 setting a max (but haven't implemented enforcing the max yet)
3313 2003-01-18 Havoc Pennington <hp@pobox.com>
3315 * dbus/dbus-transport-unix.c (unix_do_iteration): only do the
3316 reading/writing if read_watch != NULL or write_watch != NULL.
3318 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
3319 the message loader code to actually load message->header and
3320 message->body into the newly-created message.
3322 * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
3325 * dbus/dbus-connection.c (dbus_connection_set_max_message_size)
3326 (dbus_connection_get_max_message_size)
3327 (dbus_connection_set_max_live_messages_size)
3328 (dbus_connection_get_max_live_messages_size): implement some
3329 resource limitation functions
3331 * dbus/dbus-resources.c: new file implementing some of the
3332 resource limits stuff
3334 * dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
3335 missing docs, add @todo to handle OOM etc.
3337 * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
3340 2003-01-18 Havoc Pennington <hp@pobox.com>
3342 * dbus/dbus-connection.c (dbus_connection_unref): disconnect the
3343 connection if it hasn't been already.
3345 * dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
3346 replace with DisconnectFunction.
3348 2003-01-18 Havoc Pennington <hp@pobox.com>
3350 Building --disable-verbose-mode --disable-asserts --disable-tests
3351 cuts the library from 112K to 45K or so
3353 * configure.in: check for varargs macro support,
3354 add --enable-verbose-mode, --enable-asserts.
3356 * dbus/dbus-internals.h (_dbus_assert): support
3358 (_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
3360 2003-01-18 Havoc Pennington <hp@pobox.com>
3362 * dbus/dbus-test.c: include config.h so that tests actually run
3364 * dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
3365 so the failure mode when that assumption fails will be plenty
3368 2003-01-18 Havoc Pennington <hp@pobox.com>
3370 * configure.in: default --enable-tests to $USE_MAINTAINER_MODE
3372 * dbus/Makefile.am: fix it up so dubs-test-main.c is included in
3375 * test/Makefile.am: don't use special variable "TESTS" for echo-*
3376 since we don't want to use those in make check
3378 2003-01-15 Havoc Pennington <hp@redhat.com>
3384 2003-01-15 Havoc Pennington <hp@redhat.com>
3386 * test/Makefile.am: fix so that test source code ends up in the
3387 distribution on make distcheck
3389 2003-01-15 Havoc Pennington <hp@redhat.com>
3395 2003-01-15 Havoc Pennington <hp@redhat.com>
3397 * dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
3398 fix build when --disable-tests
3400 * Makefile.am (EXTRA_DIST): put HACKING in here
3402 * HACKING: document procedure for making a tarball release.
3404 2003-01-14 Anders Carlsson <andersca@codefactory.se>
3406 * bus/connection.c: (connection_error_handler),
3407 (bus_connection_setup):
3408 * bus/main.c: (main):
3409 Make sure that the DBusConnectionData struct is NULLed
3410 out to prevent a segfault.
3412 * dbus/dbus-errors.c: (dbus_result_to_string):
3413 * dbus/dbus-errors.h:
3414 * dbus/dbus-message.c: (dbus_message_get_fields),
3415 (dbus_message_get_fields_valist), (_dbus_message_test):
3416 * dbus/dbus-message.h:
3417 Make dbus_message_get_fields return a result code so we can
3418 track invalid fields as well as oom.
3420 2003-01-11 Havoc Pennington <hp@pobox.com>
3422 * configure.in: change --enable-test/--enable-ansi action-if-given
3423 to enable_foo=$enableval instead of enable_foo=yes
3425 2003-01-08 Havoc Pennington <hp@pobox.com>
3427 * dbus/dbus-string.c (_dbus_string_align_length): new function
3429 * dbus/dbus-test-main.c: move main() for test app here
3431 (dbus_internal_symbol_do_not_use_run_tests): we have to export a
3432 symbol to run tests, because dbus-test isn't in the main
3435 Code review nitpicks.
3437 * dbus/dbus-message.c (dbus_message_write_header): add newlines
3438 for people with narrow emacs ;-). Assert client_serial was filled
3439 in. Assert message->name != NULL.
3440 (dbus_message_append_fields): have "first_field_type" arg separate
3441 from va list, needed for C++ binding that also uses varargs IIRC
3442 and helps with type safety
3443 (dbus_message_new): add @todo about using DBusString to store
3444 service/name internally
3445 (dbus_message_new): don't leak ->service and ->name on OOM later
3447 (dbus_message_unref): free the service name
3448 (dbus_message_get_fields): same change to varargs
3449 i.e. first_field_type
3450 (_dbus_message_loader_return_buffer): assert that the message data
3451 is aligned (if not it's a bug in our code). Put in verbose griping
3452 about why we set corrupted = TRUE.
3453 (decode_header_data): add FIXME that char* is evil. Was going to
3454 add FIXME about evil locale-specific string.h strncmp, but just
3455 switched to wacky string-as-uint32 optimization. Move check for
3456 "no room for field name" above get_const_data_len() to avoid
3457 assertion failure in get_const_data_len if we have trailing 2
3458 bytes or the like. Check for service and name fields being
3459 provided twice. Don't leak service/name on error. Require field
3460 names to be aligned to 4 bytes.
3462 * dbus/dbus-marshal.c: move byte swap stuff to header
3463 (_dbus_pack_int32): uscore-prefix
3464 (_dbus_unpack_int32): uscore-prefix
3465 (_dbus_unpack_uint32): export
3466 (_dbus_demarshal_string): add @todo complaining about use of
3468 (_dbus_marshal_get_field_end_pos): add @todo about bad error
3469 handling allowing corrupt data to go unchecked
3471 2003-01-08 Havoc Pennington <hp@redhat.com>
3473 * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
3474 to the select() as needed for authentication. (should be using
3475 _dbus_poll() not select, but for another day)
3477 * dbus/dbus.h: include dbus/dbus-protocol.h
3479 2003-01-08 Anders Carlsson <andersca@codefactory.se>
3481 * dbus/Makefile.am (dbusinclude_HEADERS): Install
3484 2003-01-08 Anders Carlsson <andersca@codefactory.se>
3486 * dbus/dbus-internals.c: (_dbus_type_to_string):
3487 New function that returns a string describing a type.
3489 * dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
3490 * dbus/dbus-marshal.h:
3491 * dbus/dbus-message.c: (dbus_message_get_fields_valist),
3492 (dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
3493 (dbus_message_iter_get_byte_array):
3494 * dbus/dbus-message.h:
3495 Add new convenience functions for appending and getting message fields.
3496 Also add demarshalling routines for byte arrays.
3498 2003-01-07 Anders Carlsson <andersca@codefactory.se>
3500 * dbus/dbus-connection-internal.h:
3501 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
3502 (_dbus_connection_get_next_client_serial),
3503 (dbus_connection_send_message):
3504 * dbus/dbus-internals.h:
3505 * dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
3506 (dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
3507 (_dbus_marshal_uint32), (_dbus_demarshal_double),
3508 (_dbus_demarshal_int32), (_dbus_demarshal_uint32),
3509 (_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
3510 (_dbus_verbose_bytes), (_dbus_marshal_test):
3511 * dbus/dbus-marshal.h:
3512 * dbus/dbus-message-internal.h:
3513 * dbus/dbus-message.c: (_dbus_message_set_client_serial),
3514 (dbus_message_write_header), (_dbus_message_lock),
3515 (dbus_message_new), (dbus_message_ref), (dbus_message_unref),
3516 (dbus_message_get_name), (dbus_message_append_int32),
3517 (dbus_message_append_uint32), (dbus_message_append_double),
3518 (dbus_message_append_string), (dbus_message_append_byte_array),
3519 (dbus_message_get_fields_iter), (dbus_message_iter_ref),
3520 (dbus_message_iter_unref), (dbus_message_iter_has_next),
3521 (dbus_message_iter_next), (dbus_message_iter_get_field_type),
3522 (dbus_message_iter_get_string), (dbus_message_iter_get_int32),
3523 (dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
3524 (decode_header_data), (_dbus_message_loader_return_buffer),
3525 (message_iter_test), (_dbus_message_test):
3526 * dbus/dbus-message.h:
3527 * dbus/dbus-protocol.h:
3528 * dbus/dbus-test.c: (main):
3530 * glib/test-dbus-glib.c: (message_handler), (main):
3531 * test/echo-client.c: (main):
3532 * test/watch.c: (check_messages):
3533 Make messages sendable and receivable for real.
3535 2003-01-07 Anders Carlsson <andersca@codefactory.se>
3537 * dbus/dbus-marshal.c: (_dbus_marshal_double),
3538 (_dbus_marshal_string), (_dbus_marshal_byte_array):
3539 * dbus/dbus-message.c: (dbus_message_append_int32),
3540 (dbus_message_append_uint32), (dbus_message_append_double),
3541 (dbus_message_append_string), (dbus_message_append_byte_array):
3542 Handle OOM restoration.
3544 2003-01-07 Anders Carlsson <andersca@codefactory.se>
3546 * dbus/dbus-marshal.c: (_dbus_marshal_string),
3547 (_dbus_demarshal_string), (_dbus_marshal_test):
3548 * dbus/dbus-marshal.h:
3549 * dbus/dbus-message.c: (dbus_message_get_name),
3550 Document these functions.
3552 (dbus_message_append_int32), (dbus_message_append_uint32),
3553 (dbus_message_append_double), (dbus_message_append_string),
3554 (dbus_message_append_byte_array):
3555 * dbus/dbus-message.h:
3556 Add functions for adding message fields of different types.
3558 * dbus/dbus-protocol.h:
3559 Add the different types.
3561 2003-01-05 Havoc Pennington <hp@pobox.com>
3563 * bus/connection.c: implement routines for handling connections,
3564 first thing is keeping a list of owned services on each connection
3565 and setting up watches etc.
3567 * bus/services.c: implement a mapping from service names to lists
3570 * dbus/dbus-hash.c: add DBUS_HASH_POINTER
3572 * dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
3573 to use static mutexes for global data
3575 * dbus/dbus-connection.c (dbus_connection_set_data): add new
3576 collection of functions to set/get application-specific data
3577 on the DBusConnection.
3579 2003-01-04 Havoc Pennington <hp@pobox.com>
3581 * dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
3582 (_dbus_poll): new function
3584 * dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
3587 * bus/loop.c: initial code for the daemon main loop
3589 2003-01-04 Havoc Pennington <hp@pobox.com>
3591 * test/watch.c (error_handler): make it safe if the error handler
3592 is called multiple times (if we s/error handler/disconnect
3593 handler/ we should just guarantee it's called only once)
3595 * dbus/dbus-transport.c (_dbus_transport_disconnect): call the
3596 error handler on disconnect (it's quite possible we should
3597 just change the error handler to a "disconnect handler," I'm
3598 not sure we have any other meaningful errors)
3600 * configure.in: check for getpwnam_r
3602 * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
3603 dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
3604 mechanism as in SASL spec, using socket credentials
3606 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
3607 (_dbus_send_credentials_unix_socket): new function
3609 * dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
3611 (_dbus_write): only check errno if <0 returned
3612 (_dbus_write_two): ditto
3614 2003-01-02 Anders Carlsson <andersca@codefactory.se>
3616 * dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
3617 (_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
3618 (_dbus_marshal_test):
3619 * dbus/dbus-marshal.h:
3620 Add _dbus_marshal_byte_array and rename _dbus_marshal_string
3621 to _dbus_marshal_utf8_string. Also fix some tests.
3623 2002-12-28 Harri Porten <porten@kde.org>
3625 * configure.in: added check for C++ compiler and a very cheesy
3626 check for the Qt integration
3628 * Makefile.am (SUBDIRS): compile qt subdir if support is enabled
3630 * qt/Makefile.am: added
3632 * qt/.cvsignore: added
3634 * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
3635 latter, added #ifdef QT_THREAD_SUPPORT guard.
3637 * dbus/Makefile.am: added missing headers for make dist
3639 2002-12-28 Kristian Rietveld <kris@gtk.org>
3641 * dbus/Makefile.am: fixup export-symbols-regex.
3643 2002-12-27 Anders Carlsson <andersca@codefactory.se>
3645 * acinclude.m4: Add this file and put the
3646 PKG_CHECK_MODULE macro in it.
3648 2002-12-27 Anders Carlsson <andersca@codefactory.se>
3650 * dbus/dbus-marshal.c: (_dbus_marshal_string),
3651 (_dbus_demarshal_double), (_dbus_demarshal_int32),
3652 (_dbus_demarshal_uint32), (_dbus_demarshal_string),
3653 (_dbus_marshal_test):
3654 Make the demarshalling routines align the pos argument.
3655 Add string marshalling tests and fix the obvious bugs
3658 2002-12-26 Havoc Pennington <hp@pobox.com>
3660 * dbus/dbus-auth.c: fixes fixes fixes
3662 * dbus/dbus-transport-unix.c: wire up support for
3663 encoding/decoding data on the wire
3665 * dbus/dbus-auth.c (_dbus_auth_encode_data)
3666 (_dbus_auth_decode_data): append to target string
3667 instead of nuking it.
3669 2002-12-26 Havoc Pennington <hp@pobox.com>
3671 * dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
3672 WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
3675 * dbus/dbus-marshal.c: Add macros to do int swapping in-place and
3676 avoid swap_bytes() overhead (ignoring possible assembly stuff for
3677 now). Main point is because I wanted unpack_uint32 to implement
3679 (_dbus_verbose_bytes): new function
3681 * dbus/dbus-string.c (_dbus_string_validate_ascii): new function
3683 * dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
3684 mechanism to handle a corrupt message stream
3685 (_dbus_message_loader_new): fix preallocation to only prealloc,
3688 * dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
3689 (_dbus_string_test): enhance tests for copy/move and fix the
3692 * dbus/dbus-transport-unix.c: Hold references in more places to
3693 avoid reentrancy problems
3695 * dbus/dbus-transport.c: ditto
3697 * dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
3698 leak reference count in no-message case
3700 * test/watch.c (do_mainloop): handle adding/removing watches
3701 during iteration over the watches. Also, ref the connection/server
3702 stored on a watch, so we don't try to mangle a destroyed one.
3704 * dbus/dbus-transport-unix.c (do_authentication): perform
3707 * dbus/dbus-auth.c (get_state): add a state
3708 AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
3709 (_dbus_auth_get_unused_bytes): append the unused bytes
3710 to the passed in string, rather than prepend
3712 * dbus/dbus-transport.c (_dbus_transport_init_base): create
3713 the auth conversation DBusAuth
3715 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
3716 (_dbus_transport_new_for_domain_socket): when creating a
3717 transport, pass in whether it's a client-side or server-side
3718 transport so we know which DBusAuth to create
3720 2002-12-03 Havoc Pennington <hp@pobox.com>
3722 * dbus/dbus-transport-unix.c (unix_finalize): finalize base
3723 _after_ finalizing the derived members
3724 (unix_connection_set): unref watch if we fail to add it
3726 * dbus/dbus-connection.c (dbus_connection_unref): delete the
3727 transport first, so that the connection owned by the
3728 transport will be valid as the transport finalizes.
3730 * dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
3731 if necessary, and remove watches from the connection.
3733 * dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
3735 2002-12-26 Anders Carlsson <andersca@codefactory.se>
3737 * dbus/dbus-marshal.c: (_dbus_marshal_string),
3738 (_dbus_demarshal_double), (_dbus_demarshal_int32),
3739 (_dbus_demarshal_uint32), (_dbus_demarshal_string),
3740 (_dbus_marshal_test):
3741 * dbus/dbus-marshal.h:
3742 Add string marshal functions and have the demarshal functions
3743 return the new position.
3745 2002-12-25 Havoc Pennington <hp@pobox.com>
3747 * doc/dbus-sasl-profile.txt: docs on the authentication protocol,
3748 it is a simple protocol that just maps directly to SASL.
3750 * dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
3751 initial implementation, not actually used yet.
3753 * dbus/dbus-string.c (_dbus_string_find): new function
3754 (_dbus_string_equal): new function
3755 (_dbus_string_base64_encode): new function
3756 (_dbus_string_base64_decode): new function
3758 2002-12-25 Anders Carlsson <andersca@codefactory.se>
3761 * dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
3762 (_dbus_marshal_int32), (_dbus_marshal_uint32),
3763 (_dbus_demarshal_double), (_dbus_demarshal_int32),
3764 (_dbus_demarshal_uint32), (_dbus_marshal_test):
3765 * dbus/dbus-marshal.h:
3766 * dbus/dbus-protocol.h:
3767 * dbus/dbus-test.c: (main):
3769 Add un-optimized marshalling/demarshalling routines.
3771 2002-12-25 Harri Porten <porten@kde.org>
3773 * qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
3775 2002-12-24 Zack Rusin <zack@kde.org>
3777 * qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
3778 * qt/dbus-qt.h: skeleton with two sample implemenatation of the
3781 2002-12-24 Havoc Pennington <hp@pobox.com>
3783 * glib/dbus-gthread.c: fix include
3785 * glib/dbus-glib.h: rename DBusMessageHandler for now.
3786 I think glib API needs to change, though, as you don't
3787 want to use DBusMessageFunction, you want to use the
3788 DBusMessageHandler object. Probably
3789 dbus_connection_open_with_g_main_loop()
3790 and dbus_connection_setup_g_main_loop() or something like that
3791 (but think of better names...) that just create a connection
3792 that has watch/timeout functions etc. already set up.
3794 * dbus/dbus-connection.c
3795 (dbus_connection_send_message_with_reply): new function just to
3796 show how the message handler helps us deal with replies.
3798 * dbus/dbus-list.c (_dbus_list_remove_last): new function
3800 * dbus/dbus-string.c (_dbus_string_test): free a string that
3803 * dbus/dbus-hash.c: use memory pools for the hash entries
3804 (rebuild_table): be more paranoid about overflow, and
3805 shrink table when we can
3806 (_dbus_hash_test): reduce number of sprintfs and write
3807 valid C89. Add tests for case where we grow and then
3808 shrink the hash table.
3810 * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
3812 * dbus/dbus-connection.c (dbus_connection_register_handler)
3813 (dbus_connection_unregister_handler): new functions
3815 * dbus/dbus-message.c (dbus_message_get_name): new
3817 * dbus/dbus-list.c: fix docs typo
3819 * dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
3820 an object representing a handler for messages.
3822 2002-12-16 Anders Carlsson <andersca@codefactory.se>
3825 * glib/dbus-gthread.c: (dbus_gthread_init):
3826 Don't use the gdbus prefix for public functions.
3828 2002-12-16 Anders Carlsson <andersca@codefactory.se>
3832 Add GLib checks and fixup .pc files
3836 * glib/dbus-gmain.c: (gdbus_connection_prepare),
3837 (gdbus_connection_check), (gdbus_connection_dispatch),
3838 (gdbus_add_connection_watch), (gdbus_remove_connection_watch),
3839 (dbus_connection_gsource_new):
3840 * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
3841 (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
3842 * glib/test-dbus-glib.c: (message_handler), (main):
3845 2002-12-15 Harri Porten <porten@kde.org>
3847 * autogen.sh: check for libtoolize before attempting to use it
3849 * dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
3852 * .cvsignore: ignore more stamp files
3854 * dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
3856 * test/Makefile.am: added -I$(top_srcdir) to be able to compile
3857 without make install.
3859 2002-12-15 Havoc Pennington <hp@pobox.com>
3861 * dbus/dbus-threads.c: add thread stubs that a higher library
3862 layer can fill in. e.g. the GLib wrapper might fill them in with
3863 GThread stuff. We still need to use this thread API to
3864 thread-safe-ize the library.
3866 2002-12-12 Havoc Pennington <hp@pobox.com>
3868 * dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
3869 below new interfaces and include fewer system headers.
3871 * dbus/dbus-sysdeps.c (_dbus_read): new function
3872 (_dbus_write): new function
3873 (_dbus_write_two): new function
3874 (_dbus_connect_unix_socket): new function
3875 (_dbus_listen_unix_socket): new function
3877 * dbus/dbus-message-internal.h: change interfaces to use
3880 2002-12-11 Havoc Pennington <hp@pobox.com>
3882 * dbus/dbus-types.h: add dbus_unichar
3884 * dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
3886 * dbus/dbus-connection.c (dbus_connection_send_message): return
3889 * dbus/dbus-transport.c: include dbus-watch.h
3891 * dbus/dbus-connection.c: include dbus-message-internal.h
3893 * HACKING: add file with coding guidelines stuff.
3895 * dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
3896 handling here, for security purposes (as in vsftpd). Not actually
3897 using this class yet.
3899 * dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
3900 system/libc usage here, as in vsftpd, for ease of auditing (and
3901 should also simplify portability). Haven't actually moved all the
3902 system/libc usage into here yet.
3904 2002-11-25 Havoc Pennington <hp@pobox.com>
3906 * dbus/dbus-internals.c (_dbus_verbose): fix to not
3907 always print the first verbose message.
3909 2002-11-24 Havoc Pennington <hp@pobox.com>
3911 * test/echo-client.c, test/echo-server.c: cheesy test
3914 * configure.in (AC_CHECK_FUNCS): check for writev
3916 * dbus/dbus-message.c (_dbus_message_get_network_data): new
3919 * dbus/dbus-list.c (_dbus_list_foreach): new function
3921 * dbus/dbus-internals.c (_dbus_verbose): new function
3923 * dbus/dbus-server.c, dbus/dbus-server.h: public object
3924 representing a server that listens for connections.
3926 * dbus/.cvsignore: create
3928 * dbus/dbus-errors.h, dbus/dbus-errors.c:
3929 public API for reporting errors
3931 * dbus/dbus-connection.h, dbus/dbus-connection.c:
3932 public object representing a connection that
3933 sends/receives messages. (Same object used for
3934 both client and server.)
3936 * dbus/dbus-transport.h, dbus/dbus-transport.c:
3937 Basic abstraction for different kinds of stream
3938 that we might read/write messages from.
3940 2002-11-23 Havoc Pennington <hp@pobox.com>
3942 * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
3945 * dbus/dbus-test.c (main): add list test, and include
3946 dbus-test.h as intended
3948 * dbus/dbus-hash.c (_dbus_hash_table_remove_string)
3949 (_dbus_hash_table_remove_int): return value indicates
3950 whether the entry existed to remove
3952 * dbus/dbus-list.c: add linked list utility class,
3955 * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
3958 2002-11-23 Havoc Pennington <hp@pobox.com>
3960 * Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
3961 DBUS_END_DECLS to nothing, that should fix this once and for all
3963 * Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
3965 * dbus/dbus-message.c, dbus/dbus-hash.c:
3966 add some missing @brief
3968 2002-11-23 Havoc Pennington <hp@pobox.com>
3970 * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS
3971 to avoid confusing Doxygen
3973 * dbus/dbus-hash.c: @} not }@
3975 * dbus/dbus-message.c (struct DBusMessage): split out
3978 2002-11-23 Havoc Pennington <hp@pobox.com>
3980 * configure.in: pile on more warning flags if using gcc
3982 * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
3983 to document static functions
3985 * configure.in: add summary to end of configure so it
3986 looks nice and attractive
3988 * dbus/dbus-hash.c: finish implementation and write unit
3991 * configure.in: add --enable-tests to enable unit tests
3993 * dbus/dbus-test.c: test program to run unit tests
3994 for all files in dbus/*, initially runs a test for
3997 * dbus/dbus-internals.h: file to hold some internal utility stuff
3999 2002-11-22 Havoc Pennington <hp@redhat.com>
4001 * dbus/dbus-hash.c: copy in Tcl hash table, not yet
4002 "ported" away from Tcl
4004 * dbus/dbus-types.h: header for types such as dbus_bool_t
4006 2002-11-22 Havoc Pennington <hp@redhat.com>
4008 * dbus/dbus.h: fixups for doc warnings
4010 * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up
4012 (QUIET): make it quiet so we can see warnings
4014 * dbus/dbus-memory.c: teach D-BUS to allocate and free memory
4016 2002-11-22 Havoc Pennington <hp@redhat.com>
4018 * Makefile.am: include "Doxyfile" target in all-local
4020 * configure.in: generate the Doxyfile
4022 * Doxyfile.in: move Doxyfile here, so we can use
4023 configure to generate a Doxyfile with the right
4026 2002-11-22 Havoc Pennington <hp@redhat.com>
4028 * dbus/dbus-message.c: move inline docs into .c file
4030 * Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
4031 so all docs are under doc/
4032 (MAN_EXTENSION): generate man pages. Use extension
4033 ".3dbus" which matches ".3qt" on my system,
4034 I guess this is OK, I don't know really.
4035 (FILE_PATTERNS): look for .c files not .h, makes sense
4038 2002-11-22 Havoc Pennington <hp@pobox.com>
4040 * Makefile.am (SUBDIRS): rename subdir "server" to "bus"
4041 because any app can be a server, and any app can be a client,
4042 the bus is a special kind of server.
4044 Thu Nov 21 23:35:31 2002 Zack Rusin <zack@kde.org>
4046 * Doxyfile : adding. Still needs Makefile rules to be generated
4047 automatically (just run "doxygen" in the toplevel dir for now to
4050 * dbus/dbus-message.h : Adding sample docs (javadoc since
4051 resembles gtk-doc a little more)
4053 * dbus/dbus.h : Adding sample docs
4055 2002-11-21 Havoc Pennington <hp@redhat.com>
4057 * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
4058 so we can allow ourselves to include files directly,
4059 instead of having to use dbus.h
4061 * dbus/dbus.h: fill in
4063 * dbus/dbus-message.h: sketch out a sample header file.
4064 Include griping if you include it directly instead of
4067 * dbus/dbus-macros.h: new file with macros for extern "C",
4068 TRUE/FALSE, NULL, etc.
4070 * doc/file-boilerplate.c: put include guards in here
4072 2002-11-21 Havoc Pennington <hp@redhat.com>
4074 * doc/file-boilerplate.c: include both AFL and GPL boilerplate.
4076 * COPYING: include the GPL as well, and license code
4077 under both AFL and GPL.
4079 2002-11-21 Havoc Pennington <hp@redhat.com>
4081 * acconfig.h: get rid of this
4083 * autogen.sh (run_configure): add --no-configure option
4085 * configure.in: remove AC_ARG_PROGRAM to make
4086 autoconf complain less. add AC_PREREQ.
4087 add AC_DEFINE third arg.
4089 2002-11-21 Anders Carlsson <andersca@codefactory.se>
4092 Fix references so we can distcheck.
4094 2002-11-21 Havoc Pennington <hp@redhat.com>
4096 * Initial module creation