1 2003-09-03 Havoc Pennington <hp@pobox.com>
3 * test/glib/Makefile.am: add this with random glib-linked test
6 * glib/Makefile.am: remove the random test programs from here,
7 leave only the unit tests
9 * glib/dbus-gobject.c (_dbus_gobject_test): add test for
10 uscore/javacaps conversion, and fix
11 (get_object_property, set_object_property): change to .NET
12 convention for mapping props to methods, set_FooBar/get_FooBar,
13 since one language has such a convention we may as well copy it.
14 Plus real methods in either getFooBar or get_foo_bar style won't
15 collide with this convention.
17 2003-09-01 Havoc Pennington <hp@pobox.com>
19 * glib/dbus-gparser.c: implement
21 * glib/dbus-gobject.c: start implementing skeletons support
23 * configure.in: when disabling checks/assert, also define
24 G_DISABLE_ASSERT and G_DISABLE_CHECKS
26 2003-09-01 Havoc Pennington <hp@pobox.com>
28 * glib/Makefile.am: rearrange a bunch of files and get "make
29 check" framework set up
31 2003-08-31 Havoc Pennington <hp@pobox.com>
33 * fix build with --disable-tests
35 2003-08-30 Havoc Pennington <hp@pobox.com>
37 * dbus/dbus-connection.c: purge DBusMessageHandler
39 * dbus/dbus-message-handler.c: remove DBusMessageHandler, just
40 use callbacks everywhere
42 2003-08-30 Havoc Pennington <hp@pobox.com>
44 * test/data/valid-config-files/system.d/test.conf: change to
45 root for the user so warnings don't get printed
47 * dbus/dbus-message.c: add dbus_message_get_path,
50 * dbus/dbus-object-tree.c (do_test_dispatch): add test of
53 * dbus/dbus-string.c (_dbus_string_validate_path): add
55 * dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement
56 (_dbus_marshal_object_path): implement
58 * dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field
59 to contain the path to the target object
60 (DBUS_HEADER_FIELD_SENDER_SERVICE): rename
61 DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service
63 2003-08-30 Havoc Pennington <hp@pobox.com>
65 * dbus/dbus-object-tree.c: write tests and fix the discovered bugs
67 2003-08-29 Havoc Pennington <hp@pobox.com>
69 * dbus/dbus-object-tree.c: modify to allow overlapping paths to be
71 (struct DBusObjectSubtree): shrink this
72 a lot, since we may have a lot of them
73 (_dbus_object_tree_free_all_unlocked): implement
74 (_dbus_object_tree_dispatch_and_unlock): implement
76 2003-08-29 Havoc Pennington <hp@pobox.com>
78 * dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS
80 2003-08-28 Havoc Pennington <hp@pobox.com>
84 * dbus/dbus-connection.c: port to no ObjectID, create a
85 DBusObjectTree, rename ObjectTree to ObjectPath in public API
87 * dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete
88 everything except UnregisterFunction and MessageFunction
90 * dbus/dbus-marshal.c: port away from DBusObjectID,
91 add DBUS_TYPE_OBJECT_PATH
93 * dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc],
94 dbus/dbus-objectid.[hc]: remove these, we are moving to
97 2003-08-25 Havoc Pennington <hp@pobox.com>
99 Just noticed that dbus_message_test is hosed, I wonder when I
100 broke that. I thought make check was passing earlier...
102 * dbus/dbus-object-tree.c: add new "object tree" to match DCOP
103 container tree, will replace most of dbus-object-registry
105 * dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99
108 2003-08-19 Havoc Pennington <hp@pobox.com>
110 * dbus/dbus-message.c (decode_string_field): support FIELD_SENDER
111 (dbus_message_is_error): fix this function
113 * bus/dbus-daemon-1.1: clarify logic on when <deny>/<allow> rules
116 * bus/policy.c (bus_client_policy_check_can_receive): fix code to
117 reflect clarified man page
118 (bus_client_policy_check_can_send): ditto
120 * bus/session.conf.in: fixup
122 * bus/system.conf.in: fixup
124 2003-08-18 Havoc Pennington <hp@redhat.com>
126 * dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix
128 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
129 dumb bug created earlier (wrong order of args to
130 decode_header_data())
132 * tools/dbus-send.c: port
134 * tools/dbus-print-message.c (print_message): port
136 * test/data/*messages: port all messages over
138 * dbus/dbus-message-builder.c: support including
141 * bus/driver.c: port over
143 * bus/dispatch.c: port over to new stuff
145 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
146 rename disconnect signal to "Disconnected"
148 2003-08-17 Havoc Pennington <hp@pobox.com>
150 This doesn't compile yet, but syncing up so I can hack on it from
151 work. What are branches for if not broken code? ;-)
153 * dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add
154 DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER,
155 DBUS_HEADER_FIELD_ERROR_NAME
157 * dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use
158 for the interface+member pairs
159 (string_hash): change to use g_str_hash algorithm
160 (find_direct_function, find_string_function): refactor these to
163 * dbus/dbus-message.c: port all of this over to support
164 interface/member fields instead of name field
166 * dbus/dbus-object-registry.c: port over
168 * dbus/dbus-string.c (_dbus_string_validate_interface): rename
169 from _dbus_string_validate_name
171 * bus/dbus-daemon-1.1: change file format for the
172 <deny>/<allow> stuff to match new message naming scheme
174 * bus/policy.c: port over
176 * bus/config-parser.c: parse new format
178 2003-08-16 Havoc Pennington <hp@pobox.com>
180 * dbus/dbus-object-registry.c (add_and_remove_objects): remove
183 * glib/dbus-gproxy.c: some hacking
185 2003-08-15 Havoc Pennington <hp@redhat.com>
187 * dbus/dbus-pending-call.c (dbus_pending_call_block): implement
189 * dbus/dbus-connection.c
190 (dbus_connection_send_with_reply_and_block): factor out internals;
191 change to convert any error replies to DBusError instead of
192 returning them as a message
194 2003-08-15 Havoc Pennington <hp@pobox.com>
196 * dbus/dbus-connection.c,
197 dbus/dbus-pending-call.c: Finish the pending call stuff
199 2003-08-14 Havoc Pennington <hp@redhat.com>
201 * dbus/dbus-pending-call.c: start on new object that will replace
202 DBusMessageHandler and ReplyHandlerData for tracking outstanding
205 * dbus/dbus-gproxy.c: start on proxy object used to communicate
206 with remote interfaces
208 * dbus/dbus-gidl.c: do the boring boilerplate in here
210 2003-08-12 Havoc Pennington <hp@pobox.com>
212 * bus/dispatch.c (bus_dispatch): make this return proper
213 DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD
215 * dbus/dbus-errors.c (dbus_set_error): use
216 _dbus_string_append_printf_valist
218 * dbus/dbus-string.c (_dbus_string_append_printf_valist)
219 (_dbus_string_append_printf): new
221 * dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to
224 * dbus/dbus-connection.c (dbus_connection_dispatch): handle
225 DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a
226 message is unhandled.
228 2003-08-11 Havoc Pennington <hp@pobox.com>
230 * bus/test.c (client_disconnect_handler): change to return
231 HANDLED (would have been REMOVE_MESSAGE)
233 * dbus/dbus-object.h (enum DBusHandlerResult): rename to
234 HANDLED/NOT_YET_HANDLED instead of
235 REMOVE_MESSAGE/ALLOW_MORE_HANDLERS to make it clearer how it
238 2003-08-10 Havoc Pennington <hp@pobox.com>
240 * tools/dbus-send.c (main): add --type argument, for now
241 supporting only method_call and signal types.
243 * tools/dbus-print-message.c: print message type
245 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
246 init connection->objects
248 * doc/dbus-specification.sgml: fix sgml
250 * bus/*.c: port over to object-instance API changes
252 * test/test-service.c: ditto
254 * dbus/dbus-message.c (dbus_message_create_header): allow #NULL
255 name, we will have to fix up the rest of the code to also handle
257 (dbus_message_new): generic message-creation call
258 (set_string_field): allow appending name field
260 2003-08-06 Havoc Pennington <hp@pobox.com>
262 * dbus/dbus-object-registry.c: implement signal connection
265 * dbus/dbus-connection.c (_dbus_connection_unref_unlocked): new
267 * dbus/dbus-internals.c (_dbus_memdup): new function
269 2003-08-02 Havoc Pennington <hp@pobox.com>
271 * dbus/dbus-message.c (dbus_message_get_no_reply)
272 (dbus_message_set_no_reply): add these and remove
273 set_is_error/get_is_error
275 * dbus/dbus-protocol.h, doc/dbus-specification.sgml:
276 remove the ERROR flag, since there's now an ERROR type
278 2003-08-01 Havoc Pennington <hp@pobox.com>
280 * dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock):
283 * dbus/dbus-message.c (dbus_message_get_type): new function
285 * doc/dbus-specification.sgml: add "type" byte to messages
287 2003-08-01 Havoc Pennington <hp@pobox.com>
289 * dbus/dbus-protocol.h (DBUS_MESSAGE_TYPE_*): introduce
290 a message type enum to distinguish kinds of message
291 (DBUS_HEADER_FLAG_NO_REPLY_EXPECTED): flag for a message
292 that need not be replied to
294 2003-08-01 Havoc Pennington <hp@pobox.com>
296 * dbus/dbus-marshal.c: adapt to DBusObjectID changes
297 (unpack_8_octets): fix no-64-bit-int bug
299 * dbus/dbus-object-registry.c (validate_id): validate the
300 connection ID bits, not just the instance ID.
302 * dbus/dbus-connection.c (_dbus_connection_init_id): initialize
303 the connection-global 33 bits of the object ID
305 * dbus/dbus-object-registry.c (info_from_entry): fill in
306 object ID in the new way
308 * dbus/dbus-objectid.h: rather than high/low bits, specifically
309 define server/client/instance bits.
311 2003-07-30 Havoc Pennington <hp@pobox.com>
313 * dbus/dbus-connection.c (dbus_connection_register_object): fix
316 2003-07-13 Havoc Pennington <hp@pobox.com>
318 * dbus/dbus-object.h (struct DBusObjectVTable): add padding
319 fields to DBusObjectVTable and DBusObjectInfo
321 2003-07-12 Havoc Pennington <hp@pobox.com>
323 * dbus/dbus-object-registry.c: implement unit test,
324 fix bugs discovered in process
326 * dbus/dbus-connection.c: remove handler_table and
327 register_handler(), add DBusObjectRegistry usage
329 * dbus/dbus-objectid.c (dbus_object_id_is_null)
330 (dbus_object_id_set_null): new functions
332 2003-07-08 Havoc Pennington <hp@pobox.com>
334 * dbus/dbus-object.c: implement some of this
336 * dbus/dbus-object-registry.c
337 (_dbus_object_registry_add_and_unlock): fill in the object_id out
339 (_dbus_object_registry_new): handle OOM
341 2003-07-08 Havoc Pennington <hp@pobox.com>
343 * dbus/dbus-object.h: sketch out an API for registering objects
344 with a connection, that allows us to use as little as 24 bytes
345 per object and lets application code represent an object in
348 * dbus/dbus-object-registry.c: implement the hard bits of the
349 DBusConnection aspect of object API. Not yet wired up.
351 2003-07-06 Havoc Pennington <hp@pobox.com>
353 * dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function
354 (_dbus_marshal_object_id): new
355 (_dbus_demarshal_object_id): new
356 (_dbus_marshal_get_arg_end_pos): support object ID type, and
357 consolidate identical switch cases. Don't conditionalize handling
358 of DBUS_TYPE_UINT64, need to handle the type always.
359 (_dbus_marshal_validate_arg): consolidate identical cases, and
360 handle DBUS_TYPE_OBJECT_ID
362 * dbus/dbus-objectid.c: new file with DBusObjectID data type.
364 * dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID
366 2003-06-29 Havoc Pennington <hp@pobox.com>
368 * mono/Test.cs (class Test): fire up a main loop and run it
370 * mono/DBus.cs (DBus): don't g_thread_init since it can only be
371 done once, the app has to do it
373 2003-06-26 Havoc Pennington <hp@pobox.com>
375 * mono/Connection.cs: set up connection with the glib main loop
377 2003-07-01 Havoc Pennington <hp@redhat.com>
379 * doc/dbus-specification.sgml: clarify the format of a type code,
380 change suggested by Jim Blandy
382 2003-06-29 Miloslav Trmac <mitr@volny.cz>
385 * tools/Makefile.am: Don't assume srcdir == builddir.
387 * dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
389 (_dbus_memory_test): New function.
390 * dbus/dbus-test.h: Add _dbus_memory_test ().
391 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
393 * dbus/dbus-message.c (decode_header_data): Use %.4s instead
395 (dbus_message_new): Remove obsolete @todo.
397 * dbus/dbus-marshal.c (_dbus_marshal_set_int64)
398 (_dbus_marshal_set_uint64): Fix comment.
400 * dbus/dbus-message.c (append_int_field, append_uint_field): Don't
401 hardcode FIELD_REPLY_SERIAL.
403 * dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
404 (_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p
406 * configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
407 and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
409 2003-06-24 Havoc Pennington <hp@pobox.com>
411 * mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0)
413 2003-06-23 Anders Carlsson <andersca@codefactory.se>
419 * gcj/TestMessage.java: (TestMessage), (TestMessage.main):
420 * gcj/org/.cvsignore:
421 * gcj/org/Makefile.am:
422 * gcj/org/freedesktop/.cvsignore:
423 * gcj/org/freedesktop/Makefile.am:
424 * gcj/org/freedesktop/dbus/.cvsignore:
425 * gcj/org/freedesktop/dbus/Makefile.am:
426 * gcj/org/freedesktop/dbus/Message.java: (Message),
428 * gcj/org/freedesktop/dbus/natMessage.cc:
429 Fix the build system.
431 2003-06-22 Havoc Pennington <hp@pobox.com>
433 * mono/Connection.cs: add more bindings
435 * dbus/dbus-threads.c (dbus_threads_init): allow calling this
438 2003-06-22 Havoc Pennington <hp@pobox.com>
440 * mono/Connection.cs, mono/DBus.cs, mono/Error.cs:
441 Start wrapping more stuff.
443 2003-06-22 Havoc Pennington <hp@pobox.com>
445 * mono/Message.cs: implement Message.Wrap() that ensures we only
446 have a single C# wrapper per DBusMessage, assuming it works which
449 * dbus/dbus-message.c (dbus_message_allocate_data_slot): new
450 (dbus_message_free_data_slot): new
451 (dbus_message_set_data): new
452 (dbus_message_get_data): new
454 2003-06-22 Havoc Pennington <hp@pobox.com>
456 * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref)
457 (_dbus_data_slot_allocator_alloc): rework these to keep a
458 reference count on each slot and automatically manage a global
459 slot ID variable passed in by address
461 * bus/bus.c: convert to new dataslot API
463 * dbus/dbus-bus.c: convert to new dataslot API
465 * dbus/dbus-connection.c: convert to new dataslot API
467 * dbus/dbus-server.c: convert to new dataslot API
469 * glib/dbus-gmain.c: ditto
473 * bus/connection.c: ditto
475 2003-06-22 Anders Carlsson <andersca@codefactory.se>
477 * configure.in: Add AM_PROG_GCJ and move AM_PROG_LIBTOOL
478 after the gcj checks so that the correct configuration tags
479 will be added to libtool.
481 * dbus-glib-1.pc.in: No need to specify any includes since
482 dbus-1.pc.in has those.
484 2003-06-22 Havoc Pennington <hp@pobox.com>
486 * mono/*, gcj/*, configure.in, Makefile.am:
487 Check in makefiles and subdirs for mono and gcj bindings.
488 Neither binding actually exists, just trying to get through
489 all the build and other boring bits.
491 2003-06-21 Philip Blundell <philb@gnu.org>
493 * tools/dbus-monitor.1: Updated.
495 * tools/dbus-send.1: Likewise.
497 2003-06-20 Anders Carlsson <andersca@codefactory.se>
499 * dbus/dbus-transport-unix.c (unix_handle_watch): Check
500 for hangup and error after checking read so we won't discard
501 pending data if both hangup and read are set.
503 2003-06-19 Philip Blundell <philb@gnu.org>
505 * tools/dbus-print-message.c (print_message): Handle BOOLEAN.
507 * tools/dbus-send.c: Accept both --system and --session.
509 * tools/dbus-monitor.c: Same here.
511 2003-06-19 Anders Carlsson <andersca@codefactory.se>
513 * glib/dbus-glib.h: Fix so that dbus-glib.h can be used
514 from C++ (Patch by Miloslav Trmac).
516 2003-06-15 Joe Shaw <joe@assbarn.com>
518 * configure.in: Check for socklen_t.
520 * dbus/dbus-sysdeps.c: Define socklen_t if it's not defined.
522 * test/test-segfault.c: Add #include <sys/time.h>
524 * tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since
525 dbus-launch needs it.
527 2003-06-09 Havoc Pennington <hp@redhat.com>
529 * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use
530 SUN_LEN, it breaks abstract socket usage
532 * dbus/dbus-internals.c (_dbus_verbose_real): only print PID at
535 2003-06-04 Havoc Pennington <hp@pobox.com>
537 * dbus/dbus-server.c (dbus_server_listen): allow abstract sockets
538 using unix:abstract=/foo, and when listening in a tmpdir
539 i.e. unix:tmpdir=/tmp, always use abstract sockets if we can.
541 * dbus/dbus-transport.c (_dbus_transport_open): support
544 * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
545 support abstract sockets
547 * dbus/dbus-transport-unix.c
548 (_dbus_transport_new_for_domain_socket): support abstract sockets
550 * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract"
551 toggle as an argument, implement abstract namespace support
552 (_dbus_listen_unix_socket): ditto
554 * configure.in: add --enable-abstract-sockets and implement
555 a configure check for autodetection of the right value.
557 2003-06-01 Havoc Pennington <hp@pobox.com>
559 * tools/dbus-cleanup-sockets.c: add utility to clean up sockets
560 in /tmp (though on Linux this will end up being useless,
561 when we add abstract namespace support)
563 * configure.in: define DBUS_SESSION_SOCKET_DIR in addition to
566 2003-05-28 Colin Walters <walters@verbum.org>
568 * tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/).
570 2003-05-18 Anders Carlsson <andersca@codefactory.se>
572 * dbus/dbus-message.c (dbus_message_new): Remove @todo.
574 2003-05-17 Colin Walters <walters@gnu.org>
576 * tools/dbus-send.c: Don't exit with an error code if --help was
577 passed. Default to using the session bus instead of the system
580 * tools/dbus-launch.c: Ditto.
582 * tools/dbus-monitor.c: Ditto.
584 * tools/dbus-send.1: Update with new arguments.
586 * tools/dbus-launch.c: Emit code to export variables. New
587 arguments -s and -c to specify shell syntax, and a bit of code to
588 autodetect syntax. Also, allow specifying a program to run.
590 * tools/dbus-launch.1: Update with new arguments.
592 * tools/dbus-send.1: Ditto.
594 * tools/dbus-monitor.1: Ditto.
596 2003-05-17 Havoc Pennington <hp@pobox.com>
598 * bus/config-parser.c (merge_included): merge in policies from
599 child configuration file.
601 * bus/policy.c (bus_policy_merge): function to merge two policies
604 2003-05-16 Havoc Pennington <hp@redhat.com>
606 * dbus/dbus-connection.c: disable verbose lock spew
608 * tools/dbus-send.c: add --print-reply command line option
610 * tools/dbus-print-message.h (print_message): new util function
611 shared by dbus-send and dbus-monitor
613 * tools/dbus-monitor.c (handler_func): exit on disconnect
615 * dbus/dbus-transport-unix.c (do_reading): if the transport is
616 disconnected, don't try to use the read_watch
618 * dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL
619 so we can find this bug more easily
621 2003-05-16 Havoc Pennington <hp@redhat.com>
623 * bus/policy.c (free_rule_list_func): avoid a crash when passed
624 NULL as DBusHashTable is annoyingly likely to do.
626 2003-05-16 Colin Walters <walters@verbum.org>
628 * tools/dbus-monitor.c: Add --session argument and usage()
631 * tools/dbus-monitor.1: Update with new --session arg.
633 * bus/Makefile.am (install-data-hook): Create
634 $(libdir)/dbus-1.0/services so that the session bus is happy.
636 2003-05-15 Havoc Pennington <hp@redhat.com>
638 * dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
639 on non-x86. ifdef's are evil.
641 2003-05-15 Havoc Pennington <hp@redhat.com>
647 * bus/Makefile.am (initddir): apparently we are supposed to put
648 init scripts in /etc/rc.d/init.d not /etc/init.d
650 * bus/Makefile.am: remove the "you must --enable-tests to make
651 check" as it broke distcheck
653 * bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d
655 2003-05-13 James Willcox <jwillcox@gnome.org>
658 * bus/activation.c: (bus_activation_service_created),
659 (bus_activation_activate_service):
660 * bus/driver.c: (bus_driver_send_service_deleted),
661 (bus_driver_send_service_created), (bus_driver_send_service_lost),
662 (bus_driver_send_service_acquired),
663 (bus_driver_send_welcome_message),
664 (bus_driver_handle_list_services):
665 * bus/session.conf.in:
666 * dbus/dbus-bus.c: (dbus_bus_acquire_service),
667 (dbus_bus_service_exists), (dbus_bus_activate_service):
670 Add some convenience API which lets you activate a service, and did a
671 bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args()
672 and dbus_message_get_args()
674 2003-05-11 Havoc Pennington <hp@pobox.com>
676 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid
677 calling _dbus_marshal_validate_arg() for every byte in a byte
680 * dbus/dbus-message-handler.c: use atomic reference counting to
681 reduce number of locks slightly; the global lock in here sucks
683 * dbus/dbus-connection.c
684 (_dbus_connection_update_dispatch_status_and_unlock): variant of
685 update_dispatch_status that can be called with lock held; then use
686 in a couple places to reduce locking/unlocking
687 (dbus_connection_send): hold the lock over the whole function
688 instead of acquiring it twice.
690 * dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM
692 * bus/connection.c (bus_connections_setup_connection): fix access
693 to already-freed memory.
695 * dbus/dbus-connection.c: keep a little cache of linked list
696 nodes, to avoid using the global linked list alloc lock in the
697 normal send-message case. Instead we just use the connection lock
698 that we already have to take.
700 * dbus/dbus-list.c (_dbus_list_find_last): new function
702 * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec):
703 change to use a struct for the atomic type; fix docs,
704 they return value before increment, not after increment.
706 * dbus/dbus-string.c (_dbus_string_append_4_aligned)
707 (_dbus_string_append_8_aligned): new functions to try to
708 microoptimize this operation.
709 (reallocate_for_length): break this out of set_length(), to
710 improve profile info, and also so we can consider inlining the
713 * dbus/dbus-message.c (dbus_message_new_empty_header): init data
714 strings with some preallocation, cuts down on our calls to realloc
715 a fair bit. Though if we can get the "move entire string to empty
716 string" optimization below to kick in here, it would be better.
718 * dbus/dbus-string.c (_dbus_string_move): just call
719 _dbus_string_move_len
720 (_dbus_string_move_len): add a special case for moving
721 an entire string into an empty string; we can just
722 swap the string data instead of doing any reallocs.
723 (_dbus_string_init_preallocated): new function
725 2003-05-11 Havoc Pennington <hp@pobox.com>
727 Write a "test-profile" that does echo client-server with threads;
728 profile reveals lock contention, memcpy/realloc of buffers, and
729 UTF-8 validation as hot spots. 20% of lock contention eliminated
730 with dbus_atomic_inc/dec implementation on x86. Much remaining
731 contention is global mempool locks for GList and DBusList.
733 * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
736 * dbus/dbus-connection.c (struct DBusConnection): use
737 dbus_atomic_t for the reference count
739 * dbus/dbus-message.c (struct DBusMessage): declare
740 dbus_atomic_t values as volatile
742 * configure.in: code to detect ability to use atomic integer
743 operations in assembly, from GLib patch
745 * dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
746 time, tired of it being wrong in threads and forked processes
748 * glib/test-profile.c: a little program to bounce messages back
749 and forth between threads and eat CPU
751 * dbus/dbus-connection.c: add debug spew macros for debugging
752 thread locks; include config.h at top; fix deadlock in
753 dbus_connection_flush()
755 2003-05-08 Havoc Pennington <hp@pobox.com>
757 * dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov
758 data from getting written, and there wasn't a good reason to
761 * test/decode-gcov.c (mark_inside_dbus_build_tests): don't count
762 dbus_verbose lines in test coverage
763 (main): add list of functions sorted by # of untested blocks
764 to the coverage report
766 * dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS
768 * dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage
770 * dbus/dbus-message-handler.c (_dbus_message_handler_test):
773 * test/data/auth/cancel.auth-script: test canceling an
776 * dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they
777 aren't used. in CVS history if we end up needing them.
779 2003-05-04 Havoc Pennington <hp@pobox.com>
781 * dbus/dbus-message-handler.c (_dbus_message_handler_test): add
784 * dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this
785 function, which assumed length was in # of strings, not bytes
787 * dbus/dbus-message.c (_dbus_message_test): add tests for some
790 * dbus/dbus-connection.c
791 (_dbus_connection_queue_received_message): disable function for
792 now, we are only using it in test mode
794 * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
795 remove a mistaken FIXME
797 2003-05-04 Havoc Pennington <hp@pobox.com>
799 * dbus/dbus-connection.c (dbus_connection_preallocate_send):
800 unlock mutex on successful return, patch from Anders Gustafsson
802 2003-05-04 Havoc Pennington <hp@pobox.com>
804 * dbus-glib-1.pc.in (Requires): fix dependencies, from
807 2003-05-04 Havoc Pennington <hp@pobox.com>
809 * tools/dbus-launch.c: implement
811 * bus/main.c (main), bus/bus.c (bus_context_new):
812 implement --print-pid and --fork
814 2003-05-03 Havoc Pennington <hp@redhat.com>
816 * dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
817 the address had no value, and add to test suite. Fix and
818 regression test from Miloslav Trmac
820 2003-05-03 Havoc Pennington <hp@pobox.com>
822 * dbus/dbus-watch.c (dbus_watch_handle): warn and return if a
823 watch is invalid when handled
825 * tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add
826 dbus-launch utility to launch the bus from a shell script. Didn't
827 actually implement dbus-launch yet, it's just a placeholder still.
829 2003-05-03 Havoc Pennington <hp@pobox.com>
831 * bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
832 daemon; also documents daemon config file, so replaces
833 doc/config-file.txt. Corrected some stuff from config-file.txt in
834 the process of moving it.
836 2003-05-03 Havoc Pennington <hp@pobox.com>
838 * tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1:
841 2003-05-03 Colin Walters <walters@verbum.org>
843 * dbus/dbus-sysdeps.c (fill_user_info): Test against
844 DBUS_UID_UNSET to determine whether to do a uid lookup or not.
846 * Makefile.am: Update to use new .pc versioning scheme.
848 2003-05-02 Havoc Pennington <hp@redhat.com>
850 * bus/system.conf.in: allow send/receive to/from message bus
853 2003-04-30 Havoc Pennington <hp@redhat.com>
855 * configure.in: print a note when building with unit tests and
858 2003-04-30 Havoc Pennington <hp@redhat.com>
860 * Makefile.am: add a check-local that complains if you didn't
861 configure with --enable-tests
863 2003-04-29 Havoc Pennington <hp@redhat.com>
865 * glib/dbus-gmain.c: docs cleanups
867 * dbus/dbus-types.h: add docs on int64 types
869 * dbus/dbus-memory.c: fix docs to avoid putting private API in
870 public API docs section
872 2003-04-29 Havoc Pennington <hp@redhat.com>
874 * dbus-1.pc.in, dbus-glib-1.pc.in: rename these from
875 dbus-1.0.pc.in, dbus-glib-1.0.pc.in. As these change with the
876 parallel install API version, not with the D-BUS package version.
878 * HACKING: move some of README over here
880 * README: updates, and document API/ABI policy
882 * configure.in: reindentation
884 2003-04-29 Havoc Pennington <hp@redhat.com>
886 * dbus/dbus.h: add "you have to define DBUS_API_SUBJECT_TO_CHANGE
887 to use this library" to be sure people have the right
890 2003-04-28 Havoc Pennington <hp@redhat.com>
892 * configure.in: add --enable-docs which by default is auto yes if
893 doxygen and db2html found, no otherwise; but can be forced on/off
895 * doc/Makefile.am: conditionalize whether to build docs on
898 2003-04-28 Havoc Pennington <hp@redhat.com>
904 * bus/system.conf.in: add <includedir>system.d</includedir>
906 * dbus/dbus-userdb.c (_dbus_user_database_lookup): fix bug when
907 username was provided but not uid
909 * bus/config-parser.c (struct BusConfigParser): keep track of
910 whether the parser is toplevel or was included; change some
911 of the error handling if it's included.
913 2003-04-27 Havoc Pennington <hp@pobox.com>
917 * dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
918 report correct status if we finish processing authentication
919 inside this function.
921 * bus/activation.c (try_send_activation_failure): use
922 bus_transaction_send_error_reply
924 * bus/connection.c (bus_connection_get_groups): return an error
925 explaining the problem
927 * bus/bus.c (bus_context_check_security_policy): implement
928 restriction here that inactive connections can only send the
929 hello message. Also, allow bus driver to send anything to
932 * bus/connection.c (bus_connection_complete): create the
933 BusClientPolicy here instead of on-demand.
934 (bus_connection_get_policy): don't return an error
936 * dbus/dbus-message.c (dbus_message_new_error_reply): allow NULL
937 sender field in message being replied to
939 * bus/bus.c (bus_context_check_security_policy): fix silly typo
940 causing it to return FALSE always
942 * bus/policy.c (bus_client_policy_check_can_send): fix bug where
943 we checked sender rather than destination
945 2003-04-25 Havoc Pennington <hp@redhat.com>
947 test suite is slightly hosed at the moment, will fix soon
949 * bus/connection.c (bus_connections_expire_incomplete): fix to
950 properly disable the timeout when required
951 (bus_connection_set_name): check whether we can remove incomplete
952 connections timeout after we complete each connection.
954 * dbus/dbus-mainloop.c (check_timeout): fix this up a bit,
955 probably still broken.
957 * bus/services.c (bus_registry_acquire_service): implement max
958 number of services owned, and honor allow/deny rules on which
959 services a connection can own.
961 * bus/connection.c (bus_connection_get_policy): report errors here
963 * bus/activation.c: implement limit on number of pending
966 2003-04-25 Havoc Pennington <hp@redhat.com>
968 * dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug
969 where we used >= 0 instead of != DBUS_UID_UNSET.
971 2003-04-25 Havoc Pennington <hp@redhat.com>
973 * glib/dbus-gmain.c (remove_watch): fix for a crash when watches
974 were toggled without add/remove, fix from Anders Gustafsson
976 2003-04-24 Havoc Pennington <hp@redhat.com>
978 * test/data/valid-config-files/basic.conf: add <limit> tags to
981 * bus/config-parser.h, bus/config-parser.c, bus/bus.c: Implement
982 <limit> tag in configuration file.
984 2003-04-24 Havoc Pennington <hp@redhat.com>
986 * bus/dispatch.c: somehow missed some name_is
988 * dbus/dbus-timeout.c (_dbus_timeout_set_enabled)
989 (_dbus_timeout_set_interval): new
991 * bus/connection.c (bus_connections_setup_connection): record time
992 when each connection is first set up, and expire them after the
995 2003-04-24 Havoc Pennington <hp@redhat.com>
997 * dbus/dbus-message.c (dbus_message_name_is): rename
998 (dbus_message_service_is): rename
999 (dbus_message_sender_is): rename
1000 (dbus_message_get_service): rename
1002 2003-04-24 Havoc Pennington <hp@redhat.com>
1004 * configure.in: add --enable-checks
1006 * dbus/dbus-message.c (dbus_message_new): reverse name/service arguments
1008 * dbus/dbus-connection.c (dbus_connection_preallocate_send): fix
1009 to use thread locks.
1010 (_dbus_connection_handler_destroyed_locked): move some private
1011 functions into proper docs group
1013 * dbus/dbus-internals.h: add _dbus_return_if_fail,
1014 _dbus_return_val_if_fail
1016 Throughout: use dbus_return_if_fail
1018 2003-04-23 James Willcox <jwillcox@gnome.org>
1021 * glib/dbus-gmain.c: (add_timeout), (wakeup_main), (create_source),
1022 (dbus_connection_setup_with_g_main),
1023 (dbus_server_setup_with_g_main):
1024 * glib/test-dbus-glib.c: (main):
1025 * glib/test-thread-client.c: (main):
1026 * glib/test-thread-server.c: (new_connection_callback), (main):
1027 * tools/dbus-monitor.c: (main):
1029 Added a GMainContext argument to dbus_connection_setup_with_g_main()
1030 and dbus_server_setup_with_g_main().
1032 2003-04-20 Havoc Pennington <hp@pobox.com>
1034 * doc/dbus-specification.sgml: document the restrictions on
1035 message and service names
1037 2003-04-22 Havoc Pennington <hp@redhat.com>
1039 * dbus/dbus-message.c, dbus/dbus-marshal.c: add 64-bit integer
1040 support, and do some code cleanups to share more code and
1041 speed up array marshal/demarshal.
1043 * dbus-1.0.pc.in (Cflags): put libdir include file in cflags
1045 * configure.in: generate dbus-arch-deps.h
1047 * dbus/dbus-protocol.h (DBUS_TYPE_INT64, DBUS_TYPE_UINT64): add
1050 2003-04-22 Havoc Pennington <hp@redhat.com>
1052 * test/data/valid-messages/opposite-endian.message: fix test
1053 to use proper type for rply field
1055 * test/data/invalid-messages: add tests for below validation
1057 * dbus/dbus-message.c (decode_header_data): validate field types,
1058 and validate that named fields are valid names
1059 (decode_name_field): consider messages in the
1060 org.freedesktop.Local. namespace to be invalid.
1062 * dbus/dbus-string.c (_dbus_string_validate_name): new
1064 2003-04-19 Havoc Pennington <hp@pobox.com>
1066 * bus/driver.c (bus_driver_handle_hello): check limits and
1067 return an error if they are exceeded.
1069 * bus/connection.c: maintain separate lists of active and inactive
1070 connections, and a count of each. Maintain count of completed
1071 connections per user. Implement code to check connection limits.
1073 * dbus/dbus-list.c (_dbus_list_unlink): export
1075 * bus/bus.c (bus_context_check_security_policy): enforce a maximum
1076 number of bytes in the message queue for a connection
1078 2003-04-18 Havoc Pennington <hp@pobox.com>
1080 * dbus/dbus-auth.c (record_mechanisms): memleak fixes
1082 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): fix some
1085 * dbus/dbus-keyring.c (add_new_key): fix a memleak, and
1086 on realloc be sure to update the pointer in the keyring
1088 * dbus/dbus-string.c (_dbus_string_zero): compensate for align
1089 offset to avoid writing to unallocated memory
1091 * dbus/dbus-auth.c (process_rejected): return FALSE if we fail to
1092 try the next mechanism, so we properly handle OOM
1094 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): fix double-free
1096 (_dbus_keyring_new): fix OOM bug
1097 (_dbus_keyring_new_homedir): always set error; impose a maximum
1098 number of keys we'll load from the file, mostly to speed up the
1099 test suite and make its OOM checks more useful, but also for
1102 * dbus/dbus-auth.c (process_error_server): reject authentication
1103 if we get an error from the client
1104 (process_cancel): on cancel, send REJECTED, per the spec
1105 (process_error_client): send CANCEL if we get an error from the
1108 2003-04-18 Havoc Pennington <hp@pobox.com>
1110 * dbus/dbus-mainloop.c (_dbus_loop_iterate): fix UMR in verbose
1113 * dbus/dbus-auth.c (handle_client_data_cookie_sha1_mech): fix OOM
1116 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): only whine
1117 about DBUS_TEST_HOMEDIR once
1119 * bus/Makefile.am (TESTS_ENVIRONMENT): put DBUS_TEST_HOMEDIR in
1122 * bus/dispatch.c (bus_dispatch_sha1_test): actually load sha1
1123 config file so we test the right thing
1125 Throughout: assorted docs improvements
1127 2003-04-18 Havoc Pennington <hp@pobox.com>
1129 * glib/dbus-gmain.c: adapt to watch changes
1131 * bus/bus.c, bus/activation.c, etc.: adjust to watch changes
1133 * dbus/dbus-server.h: remove dbus_server_handle_watch
1135 * dbus/dbus-connection.h: remove dbus_connection_handle_watch
1137 * dbus/dbus-watch.c (dbus_watch_handle): change DBusWatch to work
1138 like DBusTimeout, so we don't need dbus_connection_handle_watch
1141 2003-04-17 Havoc Pennington <hp@redhat.com>
1143 * dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd
1144 database usage so it all goes via the DBusUserDatabase cache.
1146 2003-04-17 Havoc Pennington <hp@redhat.com>
1148 * dbus/dbus-mainloop.c (_dbus_loop_iterate): fix logic so that if
1149 there was an OOM watch we skipped, we always return TRUE so we
1150 iterate again to have a look at it again. Fixes test suite hang.
1151 Code rearrangement also lets us lose some memset and only iterate
1152 over callbacks once.
1154 * bus/driver.c (bus_driver_handle_message): sense of test for
1157 2003-04-16 Havoc Pennington <hp@pobox.com>
1159 * doc/dbus-specification.sgml: make spec say serials are unsigned
1161 * dbus/dbus-message.h: change message serials to unsigned
1163 * dbus/dbus-connection.c: adapt to message serials being unsigned
1165 2003-04-15 Havoc Pennington <hp@pobox.com>
1167 * bus/bus.c: create and keep around a shared DBusUserDatabase
1170 * bus/connection.c (bus_connection_get_groups): don't cache
1171 groups for user in the connection object, since user database
1172 object now does that.
1174 2003-04-16 Havoc Pennington <hp@redhat.com>
1176 * dbus/dbus-message.c (_dbus_message_add_size_counter): keep a
1177 list of size counters
1178 (_dbus_message_loader_putback_message_link): put back a popped link
1180 * dbus/dbus-connection.c
1181 (dbus_connection_set_max_live_messages_size): rename
1183 (dbus_connection_get_outgoing_size): get size of outgoing
1185 (_dbus_connection_set_connection_counter): remove this cruft
1187 2003-04-14 Havoc Pennington <hp@redhat.com>
1189 * dbus/dbus-userdb.c: user database abstraction, mostly to get
1190 caching, but at some point we might want to be able to use a
1193 * bus/dispatch.c (bus_dispatch_sha1_test): add a test that uses
1194 SHA1 conf file to test the sha1 auth mechanism, since the regular
1195 test always uses EXTERNAL when available.
1198 test/data/valid-config-files/debug-allow-all-sha1.conf.in:
1199 add conf file that requires use of sha1 auth
1201 2003-04-13 Havoc Pennington <hp@pobox.com>
1203 * tools/dbus-send.c, tools/dbus-monitor.c: two utility programs
1204 from Philip Blundell to send messages and monitor them.
1206 2003-04-13 Havoc Pennington <hp@pobox.com>
1208 * dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting
1211 * test/data/valid-config-files/debug-allow-all.conf.in: allow all
1214 * dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
1215 fix to only recover unused bytes if we're already authenticated
1216 (_dbus_transport_get_is_authenticated): fix to still mark us
1217 authenticated if there are unused bytes.
1219 * bus/dispatch.c: implement security policy checking
1221 * bus/connection.c (bus_transaction_send_from_driver): new
1223 * bus/bus.c (bus_context_check_security_policy): new
1225 * bus/dispatch.c (send_service_nonexistent_error): delete this,
1226 now we just set the DBusError and it gets converted to an error
1229 * bus/connection.c (allow_user_function): enable code using actual
1230 data from the config file
1232 * bus/policy.c (list_allows_user): handle wildcard rules for
1233 user/group connection perms
1235 2003-04-13 Havoc Pennington <hp@pobox.com>
1237 * bus/config-parser.c: Load up the BusPolicy and BusPolicyRules
1239 * dbus/dbus-sysdeps.c (_dbus_get_user_id): new function
1241 * bus/policy.c (bus_policy_append_mandatory_rule)
1242 (bus_policy_append_default_rule, bus_policy_append_user_rule)
1243 (bus_policy_append_group_rule): new functions
1245 2003-04-12 Havoc Pennington <hp@pobox.com>
1247 * bus/config-parser.c (bus_config_parser_new): fix a memleak
1249 * dbus/dbus-sysdeps.c: change DBusCredentials to use longs for
1250 the pid/gid/uid, just for paranoia.
1252 * test/break-loader.c (randomly_do_n_things): find a byte
1253 containing a type code, and randomly change it to a different
1256 2003-04-12 Havoc Pennington <hp@pobox.com>
1258 * bus/policy.h: change BusPolicy to be the thing from the config
1259 file, and rename old BusPolicy to BusClientPolicy
1261 * bus/bus.c, bus/connection.c, bus/config-parser.c: change to
1262 match change in how policy works
1264 * dbus/dbus-internals.h: mark assert_not_reached as
1265 __attribute((noreturn))__
1267 2003-04-11 Havoc Pennington <hp@redhat.com>
1269 * doc/dbus-specification.sgml: fix a spot with the wrong name for
1270 the broadcast service. Use boolean return for ServiceExists.
1272 2003-04-11 Havoc Pennington <hp@redhat.com>
1274 * configure.in: add another directory to look for qt in.
1276 2003-04-11 Havoc Pennington <hp@redhat.com>
1278 * AUTHORS: add Colin Walters
1280 2003-04-11 Havoc Pennington <hp@redhat.com>
1286 2003-04-11 Havoc Pennington <hp@redhat.com>
1288 * bus/messagebus.in: remove pid file when stopping the
1289 message bus, since the bus won't have privileges to remove it
1292 2003-04-11 Havoc Pennington <hp@redhat.com>
1294 * bus/bus.c (bus_context_new): move credentials change after
1297 2003-04-11 Havoc Pennington <hp@pobox.com>
1299 * test/decode-gcov.c: add "below average functions" to the
1300 coverage report, and change how some of the code works.
1302 * bus/test-main.c: bracket some stuff in DBUS_BUILD_TESTS so it's
1303 not in the coverage stats.
1305 * test/test-service.c (main): use _dbus_verbose not fprintf in a
1306 couple places so running the test suite doesn't result in megaspam.
1308 2003-04-11 Havoc Pennington <hp@pobox.com>
1310 * bus/dispatch.c (check_existent_service_activation): accept a no
1311 memory error in a place we didn't before
1313 * bus/test.c (bus_test_run_everything): remove hacky "do it twice
1314 in case the first one failed," since the test suite is less
1317 2003-04-10 Havoc Pennington <hp@pobox.com>
1319 * bus/dispatch.c (check_segfault_service_activation): add test
1320 for launching an executable that just crashes.
1322 * test/test-segfault.c (main): try setting coredumpsize to 0 so we
1323 don't leave a million cores. We'll see how portable this is.
1325 2003-04-10 Havoc Pennington <hp@pobox.com>
1327 * dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all
1328 the possible parent failures before we fork, so that we don't
1329 fail to create a babysitter after creating the child.
1331 * bus/activation.c (bus_activation_activate_service): kill child
1332 if we don't successfully complete the activation.
1334 2003-04-10 Havoc Pennington <hp@redhat.com>
1336 * dbus/dbus-connection.c (dbus_connection_flush): don't spin on
1337 the connection if it's disconnected
1339 * bus/activation.c (bus_activation_service_created): use new
1340 transaction features to roll back removal of pending activation if
1341 we don't successfully create the service after all. Don't remove
1342 pending activation if the function fails.
1344 * dbus/dbus-list.c (_dbus_list_insert_before_link)
1345 (_dbus_list_insert_after_link): new code to facilitate
1348 * dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated):
1349 new functionality, so we can preallocate the ability to insert
1352 * bus/connection.c (bus_transaction_add_cancel_hook): new function
1353 allowing us to put custom hooks in a transaction to be used for
1354 cancelling said transaction
1356 * doc/dbus-specification.sgml: add some discussion of secondary
1357 service owners, and disallow zero-length service names
1359 * bus/services.c (bus_registry_acquire_service): new function,
1360 splits out part of bus_driver_handle_acquire_service() and fixes
1361 a bug where we didn't remove the service doing the acquiring
1362 from the secondary queue if we failed to remove the current owner
1363 from the front of the queue.
1365 2003-04-10 Alexander Larsson <alexl@redhat.com>
1367 * doc/dbus-specification.sgml:
1368 s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/
1370 2003-04-10 Alexander Larsson <alexl@redhat.com>
1375 Added files to cvsignore
1377 * dbus/dbus-message.h:
1378 * dbus/dbus-message.c: (dbus_message_iter_get_named):
1379 Make get_named() take two out argument and return a boolean.
1380 (dbus_message_iter_get_args_valist):
1381 Update usage of get_named().
1382 (dbus_message_iter_append_byte):
1384 (dbus_message_iter_append_named)
1386 (message_iter_test), (check_message_handling_type), (_dbus_message_test):
1389 2003-04-10 Alexander Larsson <alexl@redhat.com>
1391 * dbus/dbus-marshal.[ch]:
1392 Add array_type_pos argument to _dbus_marshal_validate_arg.
1393 Let you pass a NULL end_pos to _dbus_marshal_validate_type.
1395 * dbus/dbus-message.[ch]:
1396 Multi-dimensional arrays have full type specification in the
1397 outermost array. Iter code re-arranged to handle this.
1398 Added some more iter tests.
1400 * doc/dbus-specification.sgml:
1403 Update new array encoding description.
1404 Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description.
1406 * test/data/invalid-messages/array-with-mixed-types.message:
1407 * test/data/valid-messages/array-of-array-of-uint32.message:
1408 Change to the new array format.
1410 * test/data/invalid-messages/too-short-dict.message:
1413 * test/data/valid-messages/recursive-types.message:
1414 Fix up and extend test.
1416 2003-04-10 Havoc Pennington <hp@pobox.com>
1418 * bus/dispatch.c: lots of fixes
1420 * dbus/dbus-mainloop.c (_dbus_loop_dispatch): export
1421 (_dbus_loop_iterate): remove old "quit if no callbacks" code,
1422 that was crack, broke the test service.
1424 * dbus/dbus-transport.c (_dbus_transport_open): fix error
1425 handling to avoid piling up errors if we get a failure on the
1428 * dbus/dbus-internals.c (_dbus_real_assert_not_reached): include
1429 pid in assertion failures.
1431 * dbus/dbus-mainloop.c (_dbus_loop_iterate): use static arrays up
1432 to some fixed size of file descriptor array. Don't return TRUE
1433 anytime a timeout exists, that led to lots of busy loop silliness
1436 2003-04-09 Havoc Pennington <hp@redhat.com>
1438 * dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought
1439 I'd checked this in earlier but hadn't.
1441 2003-04-09 Havoc Pennington <hp@redhat.com>
1443 * bus/dispatch.c (bus_dispatch_test): get a bit further through
1444 the activation test (man this is getting old!)
1446 2003-04-09 Havoc Pennington <hp@redhat.com>
1448 * test/test-utils.c: use dispatch status function to fix this up
1450 * bus/connection.c (connection_watch_callback): don't dispatch
1452 (connection_timeout_callback): don't dispatch from here
1453 (bus_connections_setup_connection): set the dispatch status function
1454 (bus_connection_disconnected): unset it
1456 * dbus/dbus-mainloop.c (_dbus_loop_queue_dispatch): new function
1457 used to add a connection to be dispatched
1458 (_dbus_loop_iterate): do the dispatching at the end of each
1461 * dbus/dbus-connection.c
1462 (dbus_connection_set_dispatch_status_function): new function
1463 allowing us to fix up main loop usage
1464 (_dbus_connection_last_unref): free all the various function
1466 (dbus_connection_dispatch): call the DispatchStatusFunction
1467 whenever this function returns
1468 (dbus_connection_handle_watch): call DispatchStatusFunction
1469 (dbus_connection_send_with_reply_and_block): call DispatchStatusFunction
1470 (reply_handler_timeout): call DispatchStatusFunction
1471 (dbus_connection_flush): call DispatchStatusFunction
1473 2003-04-09 Havoc Pennington <hp@redhat.com>
1475 * dbus/dbus-bus.c (dbus_bus_register): fix up error handling and
1478 * bus/dispatch.c (check_service_activated): fix bug in test
1480 * dbus/dbus-mainloop.c (check_timeout): fix this up
1482 * dbus/dbus-internals.c (_dbus_verbose_real): include PID in
1483 verbose output so we can sort out output from different processes,
1484 e.g. in the activation case.
1486 2003-04-08 Colin Walters <walters@gnu.org>
1488 * bus/bus.c (struct BusContext) [pidfile]: New member, to store
1490 (bus_context_new): Set it.
1491 (bus_context_unref): Use it to delete the pid file.
1493 2003-04-08 Havoc Pennington <hp@redhat.com>
1495 * test/data/invalid-messages/array-with-mixed-types.message:
1496 regression test that fails for the moment
1498 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): reorder
1499 tests for convenience
1501 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): don't allow
1502 array of nil, it broke things.
1504 * test/data/invalid-messages/array-of-nil.message: regression test
1506 * test/data/valid-messages/array-of-array-of-uint32.message:
1507 happened to write this so added it to suite
1509 2003-04-08 Havoc Pennington <hp@redhat.com>
1511 * bus/driver.c (bus_driver_handle_acquire_service): init
1512 retval/reply before checking name
1514 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add a
1515 recursion depth argument
1517 * dbus/dbus-message.h (struct DBusMessageIter): put some padding
1518 in the public struct for future extension
1520 * dbus/dbus-message-builder.c (_dbus_message_data_load): fix
1523 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix a verbose
1526 * doc/dbus-specification.sgml: fix typo
1528 2003-04-08 Alexander Larsson <alexl@redhat.com>
1530 Implemented recursive types, named types and new-style iters
1533 * glib/test-thread-client.c: (thread_func):
1534 * glib/test-thread-server.c: (handle_test_message):
1535 * test/test-service.c: (handle_echo):
1544 * dbus/dbus-internals.c: (_dbus_type_to_string):
1545 Update for new types.
1547 * dbus/dbus-marshal.[ch]:
1548 Implement recursive types and the new marshalling format.
1549 Remove hardcoded dict marshalling.
1550 Marshal named types.
1552 * dbus/dbus-message-builder.c:
1554 Remove references to old types
1556 * dbus/dbus-message.[ch]:
1557 New non-refcounted iter API that supports recursive iters.
1558 Use iters for appending, including support for recursive
1560 Add byte and named type support.
1561 Update everything to new marshalling formats.
1562 Add tests for new API.
1564 * dbus/dbus-protocol.h:
1565 Remove old array types.
1566 Add types: BYTE, ARRAY, DICT, NAMED
1568 * dbus/dbus-string.c:
1569 * dbus/dbus-sysdeps.c:
1570 Make parse_double locale safe.
1572 * dbus/dbus-test-main.c:
1578 * doc/dbus-specification.sgml:
1581 * test/data/incomplete-messages/missing-body.message:
1582 * test/data/invalid-messages/bad-boolean.message:
1583 * test/data/invalid-messages/bad-boolean-array.message:
1584 * test/data/invalid-messages/boolean-array-length-too-long.message-raw:
1585 * test/data/invalid-messages/boolean-has-no-value.message-raw:
1586 * test/data/invalid-messages/too-short-dict.message:
1587 * test/data/valid-messages/dict-simple.message:
1588 * test/data/valid-messages/dict.message:
1589 * test/data/valid-messages/emptiness.message:
1590 * test/data/valid-messages/lots-of-arguments.message:
1591 * test/data/valid-messages/no-padding.message:
1592 * test/data/valid-messages/recursive-types.message:
1593 Add missing NAME fields
1594 Fix up dicts & arrays
1596 * test/data/invalid-messages/dict-with-nil-value.message:
1597 Removed, this is not invalid anymore.
1599 * test/data/valid-messages/recursive-types.message:
1600 Add new test for deeply recursive types.
1602 2003-04-07 Havoc Pennington <hp@pobox.com>
1604 * bus/driver.c (bus_driver_handle_acquire_service): return an
1605 error if you try to acquire a service that starts with ':'
1607 2003-04-07 Havoc Pennington <hp@redhat.com>
1609 * doc/dbus-specification.sgml: require that base service names
1610 start with ':' and that the base service is created/deleted
1611 as first and last things a connection does on the bus
1613 * bus/dispatch.c (check_existent_service_activation): lots more
1614 work on the activation test; it doesn't fully pass yet...
1616 * test/test-service.c (main): fix so we don't memleak the
1617 connection to the message bus
1618 (filter_func): accept a message asking us to exit
1620 2003-04-06 Havoc Pennington <hp@pobox.com>
1622 * qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h,
1625 * configure.in: fixes to Qt detection from Colin Walters
1627 * doc/Makefile.am: Only remove generated docbook dirs if they
1628 exist, from Colin Walters
1630 * dbus/dbus-bus.c: change how we set well-known connections to
1631 NULL, so that it works if a single connection is stored in
1632 two well-known array slots.
1634 * test/Makefile.am: remove a lot of stuff that isn't immediately
1635 useful, it's in CVS history if we want it.
1637 * test/test-service.c: use dbus-mainloop instead of that
1640 2003-04-06 Havoc Pennington <hp@pobox.com>
1642 * dbus/Makefile.am: split lists of sources into stuff that goes in
1643 the library, util functions that go in the lib and are also used
1644 elsewhere, and util functions that are used in tests/daemon but
1645 don't go in the lib.
1647 * dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc]
1648 here so it can be used in test binaries also
1650 2003-04-06 Havoc Pennington <hp@pobox.com>
1652 * dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile
1653 here in the parent process, so we can return an error if it
1654 fails. Also, move some of the code into the child so the parent
1655 is less hosed if we fail midway through.
1657 * bus/bus.c (bus_context_new): move pidfile detection further up
1658 in the function, before we start overwriting sockets and such.
1660 * bus/messagebus.in: adjust this a bit, not sure if it will work.
1662 * configure.in: add --with-system-pid-file and --with-system-socket
1664 2003-04-06 Colin Walters <walters@verbum.org>
1666 * configure.in (DBUS_SYSTEM_PID_FILE): New variable.
1668 * bus/system.conf.in: Declare a pidfile.
1670 * bus/bus.c (bus_context_new): Test for an existing pid file, and
1671 create one (if appropriate).
1673 * bus/config-parser.c (enum ElementType) [ELEMENT_PIDFILE]: New.
1674 (struct BusConfigParser) [pidfile]: New.
1675 (element_type_to_name, merge_included, start_busconfig_child)
1676 (bus_config_parser_end_element, bus_config_parser_content): Handle it.
1677 (bus_config_parser_unref): Free it.
1678 (bus_config_parser_get_pidfile): New function.
1680 * bus/config-parser.h (_dbus_write_pid_file): Prototype.
1682 * dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error.
1684 * dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function.
1686 * dbus/dbus-sysdeps.h: Prototype it.
1688 2003-04-06 Havoc Pennington <hp@pobox.com>
1690 * bus/bus.c (bus_context_new): print the address in here, rather
1691 than in main(), because we need to do it before forking the daemon
1693 * bus/dispatch.c (send_service_nonexistent_error): set the sender
1694 on the service nonexistent error
1696 * bus/driver.c (bus_driver_handle_acquire_service): set the
1697 sender on the AcquireService reply
1699 * test/data/valid-config-files/debug-allow-all.conf.in: Make test
1700 server also listen on a UNIX socket so services can connect to it.
1702 2003-04-06 Havoc Pennington <hp@pobox.com>
1704 * dbus/dbus-threads.c: Redo how the fake debug mutexes are done
1705 so it detects deadlocks and also we actually init threads when
1708 2003-04-06 Havoc Pennington <hp@pobox.com>
1710 * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
1711 save the domain socket name, and unlink it when we disconnect the
1712 server. Means that at least when we exit normally, we won't leave
1713 a bunch of junk in /tmp
1715 * dbus/dbus-transport-unix.c
1716 (_dbus_transport_new_for_domain_socket): code cleanup (nicer
1717 memory management). (I was making a real change here but then
1720 2003-04-06 Havoc Pennington <hp@pobox.com>
1722 * bus/bus.c (bus_context_new): fix wrong handling of
1723 server_data_slot_unref() in the error case.
1725 * dbus/dbus-internals.h (_dbus_assert): change so it passes
1726 "(condition) != 0" to _dbus_real_assert so that
1727 "_dbus_assert (pointer)" doesn't cause a warning
1729 * bus/main.c (main): accept --print-address option to print out
1730 the message bus address
1732 * dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this
1734 * dbus/dbus-transport.c (_dbus_transport_open): special error for
1735 "tmpdir" option to unix: address on client side
1737 * dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option
1740 * configure.in (TEST_SOCKET_DIR): locate a temporary directory
1741 we can use to create sockets in the test suite.
1743 * bus/main.c (signal_handler): on SIGTERM, exit the daemon
1744 cleanly. To be used for testing.
1746 * dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler()
1748 * dbus/dbus-sysdeps.c (_dbus_set_signal_handler): new
1750 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
1751 handle trying to call this when there's no servers active
1753 2003-04-05 Havoc Pennington <hp@pobox.com>
1759 2003-04-05 Havoc Pennington <hp@pobox.com>
1761 * bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't
1762 crash on startup. Need to get "try starting the daemon"
1763 in the test suite I guess. ;-)
1765 * dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
1766 tracked the number of open connections; it's better done in
1767 application-specific code as you want it to span all servers etc.
1769 2003-04-05 Havoc Pennington <hp@pobox.com>
1771 * bus/Makefile.am (install-data-hook): add missing DESTDIR,
1772 patch from Colin Walters
1774 2003-04-05 Havoc Pennington <hp@pobox.com>
1776 * doc/config-file.txt (Elements): fix docs of <auth> to reflect
1777 reality; in fact multiple mechanisms are allowed.
1779 * dbus/dbus-internals.c (_dbus_real_assert)
1780 (_dbus_real_assert_not_reached): move guts of _dbus_assert() and
1781 _dbus_assert_not_reached() into functions, so that they don't show
1782 up in basic block counts for test coverage, and don't use up as
1783 much disk space. Does mean slower execution speed though, so
1784 assumes --disable-asserts is the normal production case.
1786 2003-04-05 Havoc Pennington <hp@pobox.com>
1788 * test/Makefile.am (dist-hook): also dist *.in files
1794 2003-04-05 Havoc Pennington <hp@pobox.com>
1796 * dbus/dbus-string.c: docs warning
1798 * dbus/dbus-spawn.c: missing docs
1800 * dbus/dbus-memory.c (struct ShutdownClosure): missing docs
1802 2003-04-05 Havoc Pennington <hp@pobox.com>
1804 * bus/loop.c (bus_loop_iterate): fix the timeout code, using
1807 * dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid
1808 to -1 once we've reaped the babysitter
1809 (_dbus_babysitter_handle_watch): do as much work as we can, not
1812 * bus/activation.c: add code using DBusBabysitter so that we
1813 handle it when a service fails to start up properly.
1814 (bus_activation_service_created): don't remove the activation
1815 entries as we go, just let them get removed when we free the pending
1816 activation. Unref reply messages after sending them.
1818 2003-04-05 Havoc Pennington <hp@pobox.com>
1820 * test/decode-gcov.c (main): print per-directory stats in the report
1822 * Makefile.am (coverage-report.txt): don't include test/* in gcov stats
1824 2003-04-05 Havoc Pennington <hp@pobox.com>
1826 * Makefile.am (coverage-report.txt): add target "coverage-report.txt"
1828 * test/decode-gcov.c: hack up a little program to suck data
1829 out of gcov files. Yes this is sort of silly.
1831 * configure.in: define something in config.h and do an
1832 AM_CONDITIONAL when gcov is enabled
1834 2003-04-04 Havoc Pennington <hp@redhat.com>
1836 * dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
1837 return a "babysitter" object that is used to monitor the status of
1838 the spawned process and reap it when required.
1840 * test/test-segfault.c, test/test-exit.c,
1841 test/test-sleep-forever.c: binaries that do various lame things,
1842 used in the test suite.
1844 * dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()
1846 2003-04-03 Havoc Pennington <hp@pobox.com>
1848 * dbus/dbus-spawn.c: Move dbus-spawn into a separate file
1849 in preparation for modifying it, dbus-sysdeps is getting
1852 2003-04-03 Havoc Pennington <hp@redhat.com>
1854 * bus/loop.h, bus/loop.c: make the mainloop an object so we can
1857 * bus/*.[hc]: adapt to mainloop change
1859 2003-04-03 Havoc Pennington <hp@redhat.com>
1861 * bus/activation.c (load_directory): fix up memleaks
1862 (bus_activation_entry_free): free the entry
1864 * dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
1865 we get one from the message bus; fix memleaks.
1867 * dbus/dbus-message.c (dbus_set_error_from_message): new function
1869 2003-04-03 Havoc Pennington <hp@pobox.com>
1871 * bus/config-parser.c (bus_config_parser_unref): free
1872 list of mechanisms, bug discovered by test suite enhancements
1873 (putting system.conf and session.conf into suite)
1875 * test/Makefile.am, test/test-service.c: add placeholder for a
1876 test service that we'll activate as part of test suite. Doesn't
1879 * dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by
1880 setting NULL value, and use system malloc not dbus_malloc()
1881 when we have unavoidable memleakage.
1883 * dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
1884 didn't work, and support DBUS_BUS_ACTIVATION.
1886 * bus/activation.c (child_setup): pass our well-known bus type to
1889 * bus/config-parser.c: support <type> to specify well-known type
1891 * doc/dbus-specification.sgml: document the env variables to
1892 locate well-known buses and find service activator
1894 2003-04-02 Havoc Pennington <hp@redhat.com>
1896 * test/Makefile.am (all-local): add a rule to copy tests to
1897 builddir, so we can have generated tests. Use this to remove the
1898 silly hack for testing system.conf and session.conf. Will use this
1899 shortly to generate .service files pointing to test binaries.
1901 2003-04-02 Havoc Pennington <hp@redhat.com>
1903 * dbus/dbus-string.c (set_length): fix a bug - we allocated max of
1904 current alloc and needed new length, not max of the doubled
1905 allocation and needed new length. Also, when building tests,
1906 don't do the double-allocation stuff, just realloc every time.
1908 2003-04-02 Havoc Pennington <hp@redhat.com>
1910 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
1912 (_dbus_string_get_dirname): new
1913 (_dbus_sysdeps_test): new
1914 (_dbus_directory_open): include dirnames in error messages
1916 * bus/config-parser.c: interpret <include> and <includedir> and
1917 <servicedir> relative to config file location if the given
1918 filename is not absolute.
1920 * dbus/dbus-string.c (_dbus_string_find_byte_backward): new
1922 2003-04-02 Havoc Pennington <hp@redhat.com>
1924 * bus/connection.c (bus_transaction_send_error_reply): set sender
1925 service for the error, and unref the reply on success
1927 * bus/activation.c: convert to use BusTransaction so OOM can be
1929 (bus_activation_service_created): set sender of the message
1931 2003-04-01 Havoc Pennington <hp@redhat.com>
1933 * bus/config-parser.c, bus/bus.c: implement <servicedir> and
1934 <includedir> (at least mostly)
1936 * dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
1937 first, then the user ID
1939 2003-04-01 Havoc Pennington <hp@pobox.com>
1941 * dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
1944 * dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
1946 * dbus/dbus-internals.c (_dbus_dup_string_array): new function
1948 * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
1949 socket 0777, and unlink any existing socket.
1951 * bus/bus.c (bus_context_new): change our UID/GID and fork if
1952 the configuration file so specifies; set up auth mechanism
1955 * bus/config-parser.c (bus_config_parser_content): add support
1956 for <fork> option and fill in code for <auth>
1958 * bus/system.conf.in: add <fork/> to default configuration,
1959 and limit auth mechanisms to EXTERNAL
1961 * doc/config-file.txt (Elements): add <fork>
1963 * dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
1964 (_dbus_change_identity): new function
1966 2003-03-31 Havoc Pennington <hp@redhat.com>
1968 * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket)
1969 (_dbus_listen_unix_socket): fix off-by-one error in null
1970 termination spotted by Nalin
1972 2003-03-31 Havoc Pennington <hp@redhat.com>
1974 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
1975 DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
1976 having a real home directory available.
1978 2003-03-31 Havoc Pennington <hp@redhat.com>
1980 * bus/Makefile.am (install-data-hook): create /var/run/dbus
1982 * bus/messagebus.in: add init script for Red Hat /etc/init.d
1984 * configure.in: add support for specifying a style of init script
1987 2003-03-31 Havoc Pennington <hp@redhat.com>
1989 Fix some annoying DBusString API and fix all affected code.
1991 * dbus/dbus-string.c (_dbus_string_init): get rid of annoying
1993 (_dbus_string_get_data): change to return string instead of using
1995 (_dbus_string_get_const_data): ditto
1996 (_dbus_string_get_data_len): ditto
1997 (_dbus_string_get_const_data_len): ditto
1999 2003-03-31 Havoc Pennington <hp@redhat.com>
2001 * bus/main.c (main): fix up the command line arguments to be nicer
2003 2003-03-31 Havoc Pennington <hp@redhat.com>
2005 * dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
2006 define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
2007 final location that lands in the config file
2009 * bus/config-loader-expat.c (bus_config_load): fix type of
2012 * doc/TODO: remove TODO item for dbus_bus_get()
2014 * dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
2016 2003-03-31 Havoc Pennington <hp@pobox.com>
2018 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
2019 (_dbus_transport_new_for_tcp_socket): these didn't need the "server"
2020 argument since they are always client side
2022 * dbus/dbus-server.c (dbus_server_get_address): new function
2024 * bus/main.c (main): take the configuration file as an argument.
2026 * test/data/valid-config-files/debug-allow-all.conf: new file to
2027 use with dispatch.c tests for example
2029 * bus/test-main.c (main): require test data dir
2031 * bus/bus.c (bus_context_new): change this to take a
2032 configuration file name as argument
2034 * doc/config-file.txt (Elements): add <servicedir>
2036 * bus/system.conf, bus/session.conf: new files
2038 * dbus/dbus-bus.c (dbus_bus_get): look for system bus on
2039 well-known socket if none set
2041 * configure.in: create system.conf and session.conf
2043 2003-03-30 Havoc Pennington <hp@pobox.com>
2045 * bus/config-parser.c: hacking
2047 * dbus/dbus-memory.c: don't use DBusList for the list of stuff
2048 to shut down, since it could cause weirdness with the DBusList
2051 * dbus/dbus-list.c (_dbus_list_test): add tests for the
2052 link-oriented stack routines
2053 (alloc_link): free the mempool if the first alloc from it fails
2055 * dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
2057 * dbus/dbus-string.c (UNICODE_VALID): sync new version of this
2059 (_dbus_string_skip_white): new
2061 * doc/config-file.txt (Elements): add <includedir>
2063 2003-03-28 Havoc Pennington <hp@pobox.com>
2065 * dbus/dbus-string.c (_dbus_string_copy_data_len)
2066 (_dbus_string_copy_data): new functions
2068 2003-03-28 Anders Carlsson <andersca@codefactory.se>
2070 * dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
2074 * dbus/dbus-memory.c:
2077 2003-03-28 Havoc Pennington <hp@pobox.com>
2079 * bus/test.c (bus_test_flush_bus): remove the sleep from here,
2080 I think it may have just been superstition. Not sure.
2082 * dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
2083 failures that were not being handled.
2085 * dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
2087 * dbus/dbus-memory.c: add ability to set number of mallocs in a
2088 row that will fail on out-of-memory.
2090 * dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
2091 function for testing out-of-memory handling.
2093 * bus/config-loader-expat.c (memsuite): don't wrap the dbus
2094 allocation functions, they do map exactly to the expat ones.
2096 2003-03-27 Havoc Pennington <hp@redhat.com>
2098 * bus/config-loader-libxml.c (bus_config_load): add another error
2101 2003-03-26 Anders Carlsson <andersca@codefactory.se>
2104 Add note about automatic service activation.
2106 * doc/dbus-specification.sgml:
2107 Rename the specification and clarify a few things.
2109 2003-03-26 Anders Carlsson <andersca@codefactory.se>
2112 * dbus/dbus-address.c:
2114 * dbus/dbus-marshal.c:
2115 * dbus/dbus-server-debug-pipe.c:
2116 * dbus/dbus-transport-unix.c:
2117 Fix documentation warnings.
2119 2003-03-26 Havoc Pennington <hp@pobox.com>
2121 * bus/test-main.c, dbus/dbus-test.c (main): check memleaks
2122 after every test so it's quick and easy to see which leaked, and
2123 so we test multiple dbus_shutdown() calls
2125 * configure.in: change configure.in XML stuff to also support
2128 * config-loader-libxml.c: some hacking
2130 * config-loader-expat.c: some hacking
2132 * config-parser.c: some hacking, plus tests
2134 2003-03-25 Havoc Pennington <hp@redhat.com>
2136 * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
2138 * configure.in: add --with-xml option to specify XML library,
2139 right now only libxml is supported.
2141 * bus/config-loader-libxml.c, config-parser.c: sync some minor
2142 nonworking code between home and work, still just stubs
2144 2003-03-24 Havoc Pennington <hp@redhat.com>
2146 * dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
2149 * dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
2150 NULL argument for "message" if the error is a well-known one,
2151 fill in a generic message in this case.
2153 * dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
2156 * bus/test.c (bus_test_flush_bus): add
2158 * bus/policy.c (bus_policy_test): test code stub
2160 2003-03-24 Havoc Pennington <hp@pobox.com>
2162 * bus/connection.c (bus_connections_setup_connection): set up
2163 the "can this user connect" function, but it always returns
2164 TRUE until we have a config file parser so we can have a config
2165 file that allows connections.
2167 2003-03-23 Havoc Pennington <hp@pobox.com>
2169 * dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
2170 DBUS_BUILD_TESTS, actually alloc/free a block of memory for
2171 the mutex, so we can check for proper memory management
2174 * dbus/dbus-dataslot.c: remove the mutex from
2175 DBusDataSlotAllocator and lock it manually when using it,
2176 to simplify fitting it into the global slots framework.
2178 * dbus/dbus-threads.c (init_static_locks): rework how we're
2179 handling global locks so they are easily shut down.
2181 * bus/policy.c (bus_policy_append_rule): fix
2183 * bus/test-main.c (main): check for memleaks
2185 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
2186 test suite check for memleaks
2188 * dbus/dbus-memory.c: add support in test mode for tracking
2189 number of outstanding blocks
2191 2003-03-23 Havoc Pennington <hp@pobox.com>
2193 * bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
2196 * dbus/dbus-hash.h: add ULONG hash keys
2198 * dbus/dbus-sysdeps.c (_dbus_get_groups): new
2199 (_dbus_get_group_id): new function
2201 2003-03-20 Havoc Pennington <hp@redhat.com>
2203 * dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
2205 (dbus_connection_get_unix_user): new function
2207 2003-03-20 Havoc Pennington <hp@pobox.com>
2209 * bus/connection.c (bus_connection_send_oom_error): assert that
2210 message has a sender
2211 (connection_execute_transaction): ditto
2212 (bus_connection_preallocate_oom_error): fix to set the sender, and
2213 set recipient to the destination service, not the bus driver
2215 * bus/policy.c: hacking
2217 * dbus/dbus-message.c (dbus_message_service_is): new function
2218 (dbus_message_sender_is): new
2220 2003-03-19 Havoc Pennington <hp@redhat.com>
2222 * bus/policy.c: start sketching code for policy restrictions on
2223 what connections can do.
2225 2003-03-18 Havoc Pennington <hp@redhat.com>
2227 * doc/TODO: some notes on high-level todo items. Little nitpick
2228 stuff is all in @todo, so no need to add it here.
2230 * doc/config-file.txt: some notes on how config file might look
2232 2003-03-18 Anders Carlsson <andersca@codefactory.se>
2238 2003-03-17 Havoc Pennington <hp@redhat.com>
2240 * dbus/dbus-internals.h: add gcc attributes so that
2241 our printf-style functions warn on bad arguments to
2244 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
2247 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
2250 2003-03-17 Havoc Pennington <hp@redhat.com>
2252 * bus/test-main.c (main): make it print something as it runs
2253 so make check doesn't look stuck
2255 * doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
2256 from CVS, now obsolete
2258 2003-03-17 Anders Carlsson <andersca@codefactory.se>
2260 * bus/dispatch.c: (bus_dispatch):
2261 Refetch the service name since it may have been reallocated
2262 when dbus_message_set_sender was called.
2264 * dbus/dbus-sysdeps.c: (_dbus_accept):
2265 Add address and address length variables and use them to stop
2266 valgrind from complaining.
2268 2003-03-17 Havoc Pennington <hp@pobox.com>
2270 All tests pass, no memleaks, no valgrind complaints.
2272 * bus/test.c: refcount handler_slot
2274 * bus/connection.c (bus_connections_new): refcount
2275 connection_data_slot
2277 * dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
2278 bytes so that auth scripts pass.
2280 * bus/dispatch.c: init message_handler_slot so it gets allocated
2283 * bus/dispatch.c (message_handler_slot_ref): fix memleak
2285 * dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
2286 dealloc server_pipe_hash when no longer used for benefit of
2289 * dbus/dbus-auth.c (process_command): memleak fix
2291 * bus/dispatch.c (check_hello_message): memleak fix
2293 2003-03-16 Havoc Pennington <hp@pobox.com>
2295 * dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
2297 2003-03-17 Anders Carlsson <andersca@codefactory.se>
2299 * bus/activation.c (bus_activation_activate_service): Append
2300 the pending activation entry to the list of pending activations.
2302 2003-03-16 Havoc Pennington <hp@pobox.com>
2304 * bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
2307 * dbus/dbus-address.c (create_entry): fix OOM handling when
2308 failing to alloc entry->method
2310 2003-03-16 Havoc Pennington <hp@pobox.com>
2312 * dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
2315 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
2316 add some missing dbus_set_result
2318 * bus/dispatch.c (bus_dispatch_add_connection): handle failure to
2319 alloc the DBusMessageHandler
2321 * dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
2322 the transport here, since we call this from the finalizer; it
2323 resulted in a double-finalize.
2325 * dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
2326 where we tried to use transport->connection that was NULL,
2327 happened when transport was disconnected early on due to OOM
2329 * bus/*.c: adapt to handle OOM for watches/timeouts
2331 * dbus/dbus-transport-unix.c: port to handle OOM during
2334 * dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
2335 reference to unused bytes instead of a copy
2337 * dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
2340 * dbus/dbus-connection.c (dbus_connection_handle_watch): return
2343 * dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
2346 2003-03-16 Anders Carlsson <andersca@codefactory.se>
2348 * doc/dbus-specification.sgml:
2349 Document reply message for ActivateService.
2351 2003-03-16 Anders Carlsson <andersca@codefactory.se>
2353 * bus/activation.c: (bus_pending_activation_entry_free),
2354 (bus_pending_activation_free), (bus_activation_new),
2355 (bus_activation_unref), (bus_activation_service_created),
2356 (bus_activation_activate_service):
2358 * bus/bus.c: (bus_context_new):
2359 * bus/desktop-file.c: (new_section):
2360 * bus/driver.c: (bus_driver_send_service_deleted),
2361 (bus_driver_handle_activate_service):
2362 * bus/services.c: (bus_registry_new), (bus_registry_ensure):
2364 * dbus/dbus-connection.c:
2365 (dbus_connection_send_with_reply_and_block):
2366 * dbus/dbus-message.c: (dbus_message_append_args_valist):
2367 * dbus/dbus-protocol.h:
2368 Make activation work better. Now pending activations will be queued
2369 and the daemon won't try to activate services that are already registered.
2371 2003-03-16 Havoc Pennington <hp@pobox.com>
2373 * dbus/dbus-bus.c (ensure_bus_data): handle failure to set
2376 * dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
2377 DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
2379 2003-03-16 Havoc Pennington <hp@pobox.com>
2381 * dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
2382 this. always run the test suite before commit...
2384 * bus/*: adapt to DBusConnection API changes
2386 * glib/dbus-gmain.c: adapt to DBusConnection API changes,
2387 requires renaming stuff to avoid dbus_connection_dispatch name
2390 * dbus/dbus-transport.c (_dbus_transport_queue_messages): new
2393 * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
2394 separate from _dbus_message_loader_return_buffer()
2396 * dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
2397 this, because it's now always broken to use; the number of
2398 messages in queue vs. the number still buffered by the message
2399 loader is undefined/meaningless. Should use
2400 dbus_connection_get_dispatch_state().
2401 (dbus_connection_dispatch): rename from
2402 dbus_connection_dispatch_message
2404 2003-03-16 Havoc Pennington <hp@pobox.com>
2406 * dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
2409 2003-03-16 Anders Carlsson <andersca@codefactory.se>
2411 * dbus/dbus-connection.c:
2412 (dbus_connection_send_with_reply_and_block):
2413 Decrease connection->n_incoming when removing an entry
2415 * dbus/dbus-dict.c: (dbus_dict_entry_free),
2416 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
2417 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
2418 (dbus_dict_set_byte_array), (dbus_dict_set_string_array),
2419 (dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
2420 (dbus_dict_get_byte_array):
2421 Handle NULL arrays and strings. Also add support for byte arrays.
2423 * dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
2424 (_dbus_marshal_dict), (_dbus_demarshal_byte_array),
2425 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
2426 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
2427 (_dbus_demarshal_dict), (demarshal_and_validate_len),
2428 (_dbus_marshal_validate_arg), (_dbus_marshal_test):
2429 * dbus/dbus-marshal.h:
2430 Add support for marshalling and demarshalling empty arrays and strings.
2432 * dbus/dbus-message.c: (dbus_message_append_args_valist),
2433 (dbus_message_append_string_array),
2434 (dbus_message_iter_get_boolean),
2435 (dbus_message_iter_get_boolean_array),
2436 (dbus_message_iter_get_int32_array),
2437 (dbus_message_iter_get_uint32_array),
2438 (dbus_message_iter_get_double_array),
2439 (dbus_message_iter_get_byte_array),
2440 (dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
2441 (check_message_handling):
2442 Add support for getting empty arrays and dicts.
2444 * dbus/dbus-string.c: (_dbus_string_validate_utf8):
2445 Don't do any validation at all for now, that's better than just checking
2448 * test/data/valid-messages/emptiness.message:
2449 New test message with lots of empty arrays.
2451 2003-03-16 Havoc Pennington <hp@pobox.com>
2453 * dbus/dbus-connection.c
2454 (_dbus_connection_queue_received_message_link): new function that
2455 can't fail due to OOM
2457 * dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
2458 new function pops a message together with a list link
2461 * dbus/dbus-transport-unix.c (queue_messages): use new link-based
2462 message queuing functions to avoid needing to alloc memory
2464 2003-03-16 Havoc Pennington <hp@pobox.com>
2466 Oops - test code was only testing failure of around 30 of the
2467 mallocs in the test path, but it turns out there are 500+
2468 mallocs. I believe this was due to misguided linking setup such
2469 that there was one copy of dbus_malloc etc. in the daemon and one
2470 in the shared lib, and only daemon mallocs were tested. In any
2471 case, the test case now tests all 500+ mallocs, and doesn't pass
2472 yet, though there are lots of fixes in this patch.
2474 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
2475 this so that it doesn't need to allocate memory, since it
2476 has no way of indicating failure due to OOM (and would be
2477 annoying if it did).
2479 * dbus/dbus-list.c (_dbus_list_pop_first_link): new function
2481 * bus/Makefile.am: rearrange to create two self-contained
2482 libraries, to avoid having libraries with overlapping symbols.
2483 that was resulting in weirdness, e.g. I'm pretty sure there
2484 were two copies of global static variables.
2486 * dbus/dbus-internals.c: move the malloc debug stuff to
2489 * dbus/dbus-list.c (free_link): free list mempool if it becomes
2492 * dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
2494 * dbus/dbus-address.c (dbus_parse_address): free list nodes
2497 * bus/dispatch.c (bus_dispatch_add_connection): free
2498 message_handler_slot when no longer using it, so
2499 memory leak checkers are happy for the test suite.
2501 * dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
2503 * bus/bus.c (new_connection_callback): disconnect in here if
2504 bus_connections_setup_connection fails.
2506 * bus/connection.c (bus_connections_unref): fix to free the
2508 (bus_connections_setup_connection): if this fails, don't
2509 disconnect the connection, just be sure there are no side
2512 * dbus/dbus-string.c (undo_alignment): unbreak this
2514 * dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
2516 (_dbus_auth_new): fix the order in which we free strings
2519 * bus/connection.c (bus_connection_disconnected): fix to
2520 not send ServiceDeleted multiple times in case of memory
2523 * dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
2524 get the base service name
2525 (dbus_bus_register_client): don't return base service name,
2526 instead store it on the DBusConnection and have an accessor
2528 (dbus_bus_register_client): rename dbus_bus_register()
2530 * bus/dispatch.c (check_hello_message): verify that other
2531 connections on the bus also got the correct results, not
2532 just the one sending hello
2534 2003-03-15 Havoc Pennington <hp@pobox.com>
2536 Make it pass the Hello handling test including all OOM codepaths.
2537 Now to do other messages...
2539 * bus/services.c (bus_service_remove_owner): fix crash when
2540 removing owner from an empty list of owners
2541 (bus_registry_ensure): don't leave service in the list of
2542 a connection's owned services if we fail to put the service
2545 * bus/connection.c (bus_connection_preallocate_oom_error): set
2546 error flag on the OOM error.
2548 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
2549 handle _dbus_transport_set_connection failure
2551 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
2552 to create watches up front and simply enable/disable them as
2554 (unix_connection_set): this can now fail on OOM
2556 * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
2557 of enabling/disabling a watch or timeout.
2559 * bus/loop.c (bus_loop_iterate): don't touch disabled
2562 * glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
2564 2003-03-15 Havoc Pennington <hp@pobox.com>
2566 * bus/dispatch.c (bus_dispatch_test): OK, now finally actually
2567 write useful test code, after all that futzing around ;-)
2569 Test does not yet pass because we can't handle OOM in
2570 _dbus_transport_messages_pending (basically,
2571 dbus_connection_preallocate_send() does not prealloc the write
2572 watch). To fix this, I think we need to add new stuff to
2573 set_watch_functions, namely a SetEnabled function so we can alloc
2574 the watch earlier, then enable it later.
2576 * dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
2577 dbus-memory.c to the convenience lib
2579 * bus/test.c: rename some static functions to keep them clearly
2580 distinct from stuff in connection.c. Handle client disconnection.
2582 2003-03-14 Havoc Pennington <hp@pobox.com>
2584 * bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
2585 transport, tests more of the real codepath. Set up clients
2586 with bus_setup_debug_client.
2588 * bus/test.c (bus_setup_debug_client): function to set up debug
2589 "clients" on the main loop
2591 * dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
2594 * dbus/dbus-server.c (dbus_server_listen): add debug-pipe
2597 * dbus/dbus-server-debug.c: support a debug server based on pipes
2599 * dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
2600 (_dbus_close): new function
2602 * configure.in: check for socketpair
2604 2003-03-14 Havoc Pennington <hp@redhat.com>
2606 * dbus/dbus-memory.c: add a "detect buffer overwrites on free"
2609 * dbus/dbus-transport-debug.c: rework this a good bit to be
2610 less complicated. hopefully still works.
2612 * dbus/dbus-server-debug.c (handle_new_client): remove timeout
2615 * glib/dbus-gmain.c (timeout_handler): don't remove timeout
2618 * dbus/dbus-message.c (dbus_message_copy): rename from
2619 dbus_message_new_from_message, fix it up to copy
2620 all the message fields, add test case
2622 * bus/dispatch.c (bus_dispatch_test): add some more test code,
2623 not quite passing yet
2625 2003-03-14 Havoc Pennington <hp@pobox.com>
2627 * bus/loop.c (bus_loop_iterate): add this so we can "run loop
2628 until no work remains" in test code. (the large diff here
2629 is just code movement, no actual changes)
2631 * dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
2632 1, no point waiting around for test code.
2633 (_dbus_server_debug_accept_transport): unref the timeout
2634 after adding it (right?)
2636 * dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
2638 2003-03-13 Havoc Pennington <hp@redhat.com>
2640 * dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
2643 * dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
2646 * dbus/dbus-connection.h: Make AddWatchFunction and
2647 AddTimeoutFunction return a bool so they can fail on out-of-memory
2649 * bus/bus.c (bus_context_new): set up timeout handlers
2651 * bus/connection.c (bus_connections_setup_connection): set up
2654 * glib/dbus-gmain.c: adapt to the fact that set_functions stuff
2657 * bus/bus.c (bus_context_new): adapt to changes
2659 * bus/connection.c: adapt to changes
2661 * test/watch.c: adapt to DBusWatch changes
2663 * bus/dispatch.c (bus_dispatch_test): started adding this but
2666 2003-03-14 Anders Carlsson <andersca@codefactory.se>
2668 * bus/dispatch.c (send_service_nonexistent_error): Fix typo.
2670 2003-03-13 Havoc Pennington <hp@pobox.com>
2672 * bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
2673 set up a test framework as for the library
2675 2003-03-12 Havoc Pennington <hp@pobox.com>
2677 Throughout: purge global variables, introduce BusActivation,
2678 BusConnections, BusRegistry, etc. objects instead.
2680 * bus/bus.h, bus/bus.c: introduce BusContext as a global
2683 * test/Makefile.am (TEST_BINARIES): disable bus-test for now,
2684 going to redo this a bit differently I think
2686 2003-03-12 Havoc Pennington <hp@redhat.com>
2688 Mega-patch that gets the message bus daemon initially handling
2689 out-of-memory. Work still needed. Also lots of random
2690 moving stuff to DBusError instead of ResultCode.
2692 * dbus/dbus-list.c (_dbus_list_length_is_one): new function
2694 * dbus/dbus-connection.c
2695 (dbus_connection_send_with_reply_and_block): use DBusError
2697 * dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
2700 * dbus/dbus-connection.c (dbus_connection_send): drop the result
2701 code here, as the only failure possible is OOM.
2703 * bus/connection.c (bus_connection_disconnect):
2704 rename bus_connection_disconnected as it's a notification only
2706 * bus/driver.c (bus_driver_handle_acquire_service): don't free
2707 "name" on get_args failure, should be done by get_args;
2708 don't disconnect client for bad args, just return an error.
2709 (bus_driver_handle_service_exists): ditto
2711 * bus/services.c (bus_services_list): NULL-terminate returned array
2713 * bus/driver.c (bus_driver_send_service_lost)
2714 (bus_driver_send_service_acquired): send messages from driver to a
2715 specific client to the client's unique name, not to the broadcast
2718 * dbus/dbus-message.c (decode_header_data): reject messages that
2719 contain no name field
2720 (_dbus_message_get_client_serial): rename to
2721 dbus_message_get_serial and make public
2722 (_dbus_message_set_serial): rename from set_client_serial
2723 (_dbus_message_set_reply_serial): make public
2724 (_dbus_message_get_reply_serial): make public
2726 * bus/connection.c (bus_connection_foreach): allow stopping
2727 iteration by returning FALSE from foreach function.
2729 * dbus/dbus-connection.c (dbus_connection_send_preallocated)
2730 (dbus_connection_free_preallocated_send)
2731 (dbus_connection_preallocate_send): new API for sending a message
2732 without possibility of malloc failure.
2733 (dbus_connection_send_message): rename to just
2734 dbus_connection_send (and same for whole function family)
2736 * dbus/dbus-errors.c (dbus_error_free): make this reinit the error
2738 * dbus/dbus-sysdeps.c (_dbus_exit): new function
2740 * bus/activation.c: handle/return errors
2742 * dbus/dbus-errors.h: add more DBUS_ERROR #define
2744 * dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
2745 (_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
2746 (_dbus_result_from_errno): move to this file
2748 2003-03-10 Anders Carlsson <andersca@codefactory.se>
2750 * dbus/dbus-marshal.c:
2751 (_dbus_marshal_set_string):
2752 Take a length argument so we can marshal the correct string
2755 (_dbus_marshal_dict), (_dbus_demarshal_dict),
2756 (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
2757 (_dbus_marshal_test):
2758 * dbus/dbus-marshal.h:
2759 Add support for marshalling and demarshalling dicts.
2761 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
2762 Add support for TYPE DICT.
2764 * dbus/dbus-message.c: (set_string_field):
2765 Adjust header padding.
2767 (dbus_message_append_args_valist), (dbus_message_append_dict),
2768 (dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
2769 (dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
2770 (check_message_handling), (check_have_valid_message):
2771 * dbus/dbus-message.h:
2772 Add functions for setting and getting dicts.
2774 * dbus/dbus-protocol.h:
2780 * doc/dbus-specification.sgml:
2781 Add information about how dicts are marshalled.
2783 * test/data/invalid-messages/dict-with-nil-value.message:
2784 * test/data/invalid-messages/too-short-dict.message:
2785 * test/data/valid-messages/dict-simple.message:
2786 * test/data/valid-messages/dict.message:
2787 Add sample messages containing dicts.
2789 2003-03-08 Anders Carlsson <andersca@codefactory.se>
2791 * dbus/dbus-dict.h: Add DBUS_END_DECLS.
2793 2003-03-07 Anders Carlsson <andersca@codefactory.se>
2796 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
2797 (dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
2798 (dbus_dict_set_int32), (dbus_dict_set_uint32),
2799 (dbus_dict_set_double), (dbus_dict_set_string),
2800 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
2801 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
2802 (dbus_dict_set_string_array), (_dbus_dict_test):
2804 Fix according to comments from Havoc.
2806 2003-03-06 Michael Meeks <michael@server.home>
2808 * configure.in: if we don't have kde-config, disable have_qt.
2810 2003-03-07 Anders Carlsson <andersca@codefactory.se>
2815 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
2816 (dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
2817 (dbus_dict_remove), (dbus_dict_get_value_type),
2818 (dbus_dict_get_keys), (dbus_dict_put_boolean),
2819 (dbus_dict_put_int32), (dbus_dict_put_uint32),
2820 (dbus_dict_put_double), (dbus_dict_put_string),
2821 (dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
2822 (dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
2823 (dbus_dict_put_string_array), (dbus_dict_get_boolean),
2824 (dbus_dict_get_int32), (dbus_dict_get_uint32),
2825 (dbus_dict_get_double), (dbus_dict_get_string),
2826 (dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
2827 (dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
2828 (dbus_dict_get_string_array), (_dbus_dict_test):
2830 Add DBusDict implementation
2832 * dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
2836 2003-03-04 Havoc Pennington <hp@pobox.com>
2838 * test/data/auth/*: adapt to changes
2840 * dbus/dbus-auth-script.c (_dbus_auth_script_run): add
2841 USERID_BASE64 and change USERNAME_BASE64 to put in username not
2844 * dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
2845 more stuff from being in a context name, to make the protocol
2846 simpler to deal with
2848 * dbus/dbus-errors.c (dbus_error_has_name): new function
2849 (dbus_error_is_set): new function
2851 * dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
2852 with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
2854 * dbus/dbus-connection.c (dbus_connection_flush): also read
2855 messages during a flush operation
2857 * dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
2859 2003-03-05 Anders Carlsson <andersca@codefactory.se>
2861 * configure.in: Check for gethostbyname on Solaris.
2863 * dbus/dbus-transport.c: (_dbus_transport_open):
2864 Remove duplicate "tcp" entry.
2866 * doc/dbus-specification.sgml:
2867 Clarify some things.
2869 2003-03-05 Anders Carlsson <andersca@codefactory.se>
2871 * dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
2872 * dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
2873 (_dbus_keyring_test):
2874 * dbus/dbus-md5.c: (_dbus_md5_compute):
2875 * dbus/dbus-sha.c: (_dbus_sha_compute):
2878 2003-03-05 Anders Carlsson <andersca@codefactory.se>
2880 * README: Add some things.
2882 2003-03-04 Anders Carlsson <andersca@codefactory.se>
2884 * dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
2885 after case DBUS_TYPE_BOOELAN.
2887 2003-03-02 Havoc Pennington <hp@pobox.com>
2889 * test/break-loader.c (randomly_set_extreme_ints): add test that
2890 sets really huge and small integers
2892 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
2893 that length of boolean array fits in the string, and that
2894 string has room for boolean value in single-bool case.
2896 * dbus/dbus-message-builder.c (_dbus_message_data_load): add
2897 optional value to "ALIGN" command which is what to fill the
2900 * test/data/valid-messages/no-padding.message: add regression
2901 test for the message padding problem
2903 2003-03-02 Havoc Pennington <hp@pobox.com>
2905 * dbus/dbus-message.c (decode_header_data): fix to always init
2906 message_padding, from Benjamin Dauvergne
2908 2003-03-02 Havoc Pennington <hp@pobox.com>
2914 2003-03-01 Joe Shaw <joe@assbarn.com>
2916 * configure.in: Check for "struct cmsgcred" and try to access its
2917 members for BSD-like unices.
2919 * dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
2920 _dbus_read_credentials_unix_socket().
2921 (_dbus_read_credentials_unix_socket): Use recvmsg() instead of
2922 read() for reading the credential byte off the unix socket. Use
2923 struct cmsgcred on systems that support it.
2925 2003-02-27 Alexander Larsson <alexl@redhat.com>
2929 Make gthreads-2.0 dependency optional. Don't build thread test if
2932 2003-02-27 Havoc Pennington <hp@pobox.com>
2934 * dbus/dbus-connection.c
2935 (dbus_connection_send_message_with_reply_and_block): fix doh!
2936 doh! doh! bug that resulted in never removing a reply from the
2937 queue, no wonder we called get_reply_serial so much ;-)
2939 * dbus/dbus-message.c (struct DBusMessage): cache reply serial
2940 and client serial instead of demarshaling them every time
2942 2003-02-27 Havoc Pennington <hp@pobox.com>
2944 * dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
2945 more inlined, using dbus-string-private.h, speeds things up
2948 * dbus/dbus-string.c (_dbus_string_free): apply align offset
2949 when freeing the string
2950 (_dbus_string_steal_data): fix for align offset
2951 (undo_alignment): new function
2953 2003-02-26 Havoc Pennington <hp@redhat.com>
2955 All kinds of audit fixes from Owen, plus initial attempt to
2956 handle unaligned memory returned from malloc.
2958 * dbus/dbus-string.c (_dbus_string_init): clamp max length to
2959 leave room for align_offset and nul byte
2960 (fixup_alignment): function to track an align_offset and
2961 ensure real->str is aligned
2962 (DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
2963 to allow a nul byte plus align offset
2964 (_dbus_string_lock): fix overflow issue
2965 (_dbus_string_init_const_len): add assertions on sanity of len,
2966 assign allocated to be ALLOCATION_PADDING larger than len
2967 (set_length): fixup the overflow handling
2968 (_dbus_string_get_data_len): fix overflow in assertion
2969 (open_gap): detect overflow in size of gap to be opened
2970 (_dbus_string_lengthen): add overflow check
2971 (_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
2972 (_dbus_string_append): add overflow check
2973 (_dbus_string_append_unichar): overflow
2974 (_dbus_string_delete): fix overflow in assertion
2975 (_dbus_string_copy_len): overflow in assertion
2976 (_dbus_string_replace_len): overflows in assertions
2977 (_dbus_string_find): change to implement in terms of
2978 _dbus_string_find_to
2979 (_dbus_string_find_to): assorted fixage
2980 (_dbus_string_equal_c_str): assert c_str != NULL,
2981 fix logic so the function works
2982 (_dbus_string_ends_with_c_str): fix overflow thingy
2983 (_dbus_string_base64_encode): overflow fix
2984 (_dbus_string_validate_ascii): overflow
2985 (_dbus_string_validate_nul): overflow
2987 2003-02-26 Havoc Pennington <hp@redhat.com>
2989 * dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
2991 2003-02-26 Alexander Larsson <alexl@redhat.com>
2994 Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
2996 * dbus/dbus-connection.c:
2997 * dbus/dbus-connection.h:
2998 Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
2999 Add dbus_connection_set_wakeup_main_function and use it when queueing
3000 incoming and outgoing messages.
3003 * dbus/dbus-dataslot.c:
3004 Threadsafe usage of DBusDataSlotAllocator
3006 * dbus/dbus-message.c: (dbus_message_get_args_iter):
3009 * dbus/dbus-server-unix.c:
3012 * glib/dbus-gmain.c:
3013 Implement the new wakeup functions for glib.
3016 * glib/test-thread-client.c:
3017 * glib/test-thread-server.c:
3018 * glib/test-thread.h:
3019 Initial cut at some thread test code. Not really done yet.
3021 2003-02-26 Havoc Pennington <hp@pobox.com>
3023 * dbus/dbus-connection.c
3024 (dbus_connection_send_message_with_reply_and_block): fix crash
3025 where we ref'd the outgoing message instead of the returned reply
3027 * dbus/dbus-transport-unix.c (do_authentication): check read watch
3028 at the end of this function, so if we didn't need to read for
3029 authentication, we reinstall it for receiving messages
3031 * dbus/dbus-message.c (dbus_message_new_reply): allow replies to
3032 a NULL sender for peer-to-peer case
3034 * dbus/dbus-transport-unix.c (check_read_watch): handle
3035 !authenticated case correctly
3037 * glib/dbus-gmain.c: add support for DBusServer
3039 * dbus/dbus-server.c: add data slot support
3041 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
3042 return values and handle errors
3044 * dbus/dbus-dataslot.c: factor out the data slot stuff from
3047 * Doxyfile.in (INPUT): add glib subdir
3049 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
3050 setup_with_g_main instead of hookup_with_g_main; write docs
3052 2003-02-24 Anders Carlsson <andersca@codefactory.se>
3054 * dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
3055 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
3056 * dbus/dbus-message.c: (dbus_message_append_boolean),
3057 (dbus_message_append_boolean_array),
3058 (dbus_message_get_args_valist), (_dbus_message_test):
3059 * dbus/dbus-message.h:
3060 * doc/dbus-specification.sgml:
3061 Various fixes as pointed out by Havoc.
3063 * test/data/invalid-messages/bad-boolean-array.message:
3064 * test/data/invalid-messages/bad-boolean.message:
3065 Add invalid boolean value test cases.
3067 2003-02-24 Anders Carlsson <andersca@codefactory.se>
3069 * dbus/dbus-internals.c: (_dbus_type_to_string):
3070 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
3071 (_dbus_marshal_validate_arg):
3072 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
3073 * dbus/dbus-message.c: (dbus_message_append_args_valist),
3074 (dbus_message_append_boolean), (dbus_message_append_boolean_array),
3075 (dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
3076 (dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
3077 (dbus_message_iter_get_double),
3078 (dbus_message_iter_get_boolean_array), (message_iter_test):
3079 * dbus/dbus-message.h:
3080 * dbus/dbus-protocol.h:
3081 * doc/dbus-specification.sgml:
3082 * test/data/valid-messages/lots-of-arguments.message:
3083 Add support for boolean and boolean array types.
3085 2003-02-23 Havoc Pennington <hp@pobox.com>
3087 * dbus/dbus-keyring.c: finish most of this implementation and
3090 * dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
3091 these barf if the error isn't cleared to NULL
3093 * dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
3094 (_dbus_create_directory): new function
3096 * dbus/dbus-errors.c (dbus_set_error): fix warning
3098 * dbus/dbus-string.c (_dbus_string_hex_encode): new function
3099 (_dbus_string_hex_decode): new function
3100 (test_hex_roundtrip): test code
3102 * dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
3104 * dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
3106 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
3107 the save-to-temp/rename trick to atomically write the new file
3108 (_dbus_string_parse_uint): new function
3110 2003-02-22 Havoc Pennington <hp@pobox.com>
3112 * test/Makefile.am (dist-hook): fix dist for test/data/sha-1
3114 2003-02-22 Havoc Pennington <hp@pobox.com>
3116 * dbus/dbus-message.c (dbus_message_iter_get_string_array):
3117 (dbus_message_iter_get_byte_array): Fix up doxygen warnings
3119 * dbus/dbus-sha.c: add implementation of SHA-1 algorithm
3121 * dbus/test/data/sha-1: add US government test suite for SHA-1
3123 2003-02-21 Anders Carlsson <andersca@codefactory.se>
3125 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
3126 Make string arrays NULL-terminated.
3128 * dbus/dbus-memory.c: (dbus_free_string_array):
3129 * dbus/dbus-memory.h:
3130 New function for freeing NULL-terminated string arrays.
3132 * dbus/dbus-message-builder.c: (append_quoted_string),
3133 (_dbus_message_data_load):
3134 Add support for array types.
3136 * dbus/dbus-message.c: (check_message_handling):
3137 Add more types as test cases.
3139 * dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
3140 (_dbus_string_parse_double):
3141 Add the start offset to the end offset.
3143 * test/data/valid-messages/lots-of-arguments.message:
3144 New test message with lots of arguments.
3146 2003-02-21 Anders Carlsson <andersca@codefactory.se>
3148 * dbus/dbus-message.c: (dbus_message_append_nil),
3149 (dbus_message_append_int32), (dbus_message_append_uint32),
3150 (dbus_message_append_double), (dbus_message_append_string),
3151 (dbus_message_append_int32_array),
3152 (dbus_message_append_uint32_array),
3153 (dbus_message_append_double_array),
3154 (dbus_message_append_byte_array),
3155 (dbus_message_append_string_array):
3156 Fix all out-of-memory handling in these functions.
3158 2003-02-21 Anders Carlsson <andersca@codefactory.se>
3160 * dbus/dbus-message.c: (dbus_message_append_nil):
3163 2003-02-21 Anders Carlsson <andersca@codefactory.se>
3165 * dbus/dbus-message.c: (dbus_message_append_args_valist),
3166 (dbus_message_append_nil), (dbus_message_append_int32_array),
3167 (dbus_message_append_uint32_array),
3168 (dbus_message_append_double_array),
3169 (dbus_message_append_byte_array),
3170 (dbus_message_append_string_array), (dbus_message_get_args_valist),
3171 (dbus_message_iter_get_int32_array),
3172 (dbus_message_iter_get_uint32_array),
3173 (dbus_message_iter_get_double_array),
3174 (dbus_message_iter_get_byte_array),
3175 (dbus_message_iter_get_string_array):
3177 * dbus/dbus-message.h:
3178 Add functions for appending and getting arrays.
3180 2003-02-21 Anders Carlsson <andersca@codefactory.se>
3182 * dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
3183 element size at least 8 bytes, fixes mempool tests on
3186 2003-02-20 Alexander Larsson <alexl@redhat.com>
3188 * dbus/dbus-transport-unix.c (unix_do_iteration):
3189 Unlock the connection mutex during a blocking select call.
3190 Add todo about how we need a way to wake up the select.
3192 * dbus/dbus-connection-internal.h:
3193 * dbus/dbus-connection.c:
3194 Add _dbus_connection_lock and _dbus_connection_unlock.
3196 2003-02-19 Havoc Pennington <hp@pobox.com>
3198 * Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
3199 Doxyfile.in, not Doxyfile
3201 * dbus/dbus-keyring.c: do some hacking on this
3203 * dbus/dbus-sysdeps.c (_dbus_delete_file): new
3205 * dbus/dbus-errors.c (dbus_set_error_const): do not call
3207 (dbus_set_error): remove dbus_error_init, check for message ==
3208 NULL *before* we sprintf into it, and add @todo about including
3209 system headers in this file
3211 * dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
3213 * dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
3215 * dbus/dbus-sysdeps.c (get_user_info): break this function out to
3216 get various bits of user information based on either username
3218 (_dbus_homedir_from_username): new function
3220 2003-02-19 Anders Carlsson <andersca@codefactory.se>
3223 Add check for nonposix getpwnam_r
3225 * dbus/dbus-mempool.c: (_dbus_mem_pool_new):
3226 Align the pool element size to a sizeof (void *) boundary.
3228 * dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
3229 (_dbus_listen_unix_socket), (_dbus_credentials_from_username):
3230 General Solaris fixes.
3232 * test/data/valid-messages/simplest-manual.message:
3233 Explicitly state that we want little-endian packing.
3235 2003-02-19 Mikael Hallendal <micke@codefactory.se>
3237 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
3239 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
3240 Added to create a transport connecting using a tcp/ip socket.
3242 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
3243 to a tcp socket at given host and port.
3244 (_dbus_listen_tcp_socket): added to listen on tcp socket for given
3247 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
3249 * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
3250 Added to create a server listening on a TCP/IP socket.
3252 2003-02-19 Havoc Pennington <hp@pobox.com>
3254 Throughout: mop up all the Doxygen warnings and undocumented
3257 * dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
3258 to search any paths.
3260 * dbus/dbus-threads.c: move global mutex initializers to
3261 dbus-internals.h, multiple prototypes was confusing doxygen
3262 besides being kind of ugly
3264 * Doxyfile (PREDEFINED): have Doxygen define
3265 DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
3266 docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
3267 (do not abuse the feature! it's for stuff like the autogenerated
3268 macros in dbus-md5.c, not just for things you don't feel like
3271 2003-02-18 Havoc Pennington <hp@pobox.com>
3273 * dbus/dbus-string.c (_dbus_string_zero): new function
3275 * dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
3276 wrap it in some dbus-friendly API
3278 * dbus/dbus-types.h: add 16-bit types
3280 2003-02-18 Joe Shaw <joe@assbarn.com>
3282 * dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
3283 credentials from our currently running process.
3284 (get_word): Fix a buglet where we were copying the entire length
3285 instead of relative to our position.
3287 * dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
3288 keys on the stack... it's 640k of data.
3290 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
3291 read the credentials byte off the socket, even if we don't have
3293 (_dbus_poll): Implement poll() using select() for systems which
3296 * glib/test-dbus-glib.c (main): Print out an error if no
3297 parameters are given.
3299 * test/data/auth/fallback.auth-script: Added. Tests that a client
3300 can fallback to a secondary auth mechanism if the first fails.
3302 2003-02-18 Havoc Pennington <hp@pobox.com>
3306 2003-02-17 Havoc Pennington <hp@pobox.com>
3308 * doc/dbus-specification.sgml: lots of cosmetic
3309 cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
3310 env variable to DBUS_BUS_ADDRESS, s/client/application/,
3311 s/server/bus/ (except in authentication section). Add a section
3312 "Message Bus Message Routing"
3314 2003-02-17 Anders Carlsson <andersca@codefactory.se.>
3320 2003-02-17 Anders Carlsson <andersca@codefactory.se>
3322 * doc/dbus-specification.sgml:
3323 Specification updates.
3325 2003-02-17 Anders Carlsson <andersca@codefactory.se>
3327 * bus/activation.c: (bus_activation_init), (child_setup),
3328 (bus_activation_activate_service):
3330 * bus/main.c: (main):
3331 Set DBUS_ADDRESS environment variable.
3333 * dbus/dbus-errors.c: (dbus_set_error):
3334 Don't use va_copy since that's a C99 feature.
3336 * dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
3337 (_dbus_spawn_async):
3338 * dbus/dbus-sysdeps.h:
3339 Add child_setup_func to _dbus_spawn_async.
3341 * doc/dbus-specification.sgml:
3342 Update specification.
3344 * test/spawn-test.c: (setup_func), (main):
3347 2003-02-17 Alexander Larsson <alexl@redhat.com>
3349 * dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
3352 2003-02-17 Anders Carlsson <andersca@codefactory.se>
3356 * doc/dbus-test-plan.sgml:
3357 Add test plan document.
3362 2003-02-17 Anders Carlsson <andersca@codefactory.se>
3364 * dbus/dbus-message.c: (decode_header_data),
3365 (_dbus_message_loader_return_buffer):
3366 Set the header padding amount when loading a message.
3368 2003-02-16 Anders Carlsson <andersca@codefactory.se>
3370 * bus/dispatch.c: (send_one_message):
3371 Only send broadcast messages to registered connections.
3373 * dbus/dbus-message.c: (dbus_message_name_is):
3374 * dbus/dbus-message.h:
3375 New convenience function.
3377 * dbus/dbus-transport-debug.c: (do_reading):
3378 Only dispatch one message per run.
3381 * test/bus-test.c: (new_connection_callback), (die),
3382 (test_hello_client1_handler), (test_hello_client2_handler),
3383 (test_hello_replies), (main):
3385 * test/bus-test-loop.[ch]:
3388 2003-02-16 Havoc Pennington <hp@pobox.com>
3390 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
3391 backward conditional
3393 2003-02-16 Alexander Larsson <alexl@redhat.com>
3395 * dbus/dbus-connection.c:
3396 Implement sent_message_with_reply. (with_reply_and block is still
3398 Made dispatch_message not lose message if OOM.
3400 * dbus/dbus-errors.h:
3401 Add NoReply error (for reply timeouts).
3403 2003-02-16 Alexander Larsson <alexl@redhat.com>
3405 * dbus/dbus-hash.c (_dbus_hash_table_unref):
3406 Actually free keys and values when destroying hashtable.
3408 2003-02-16 Anders Carlsson <andersca@codefactory.se>
3410 * dbus/dbus-auth.c: (client_try_next_mechanism):
3413 * dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
3414 Return TRUE if there's no thread implementation around.
3416 * glib/dbus-gmain.c: (free_source),
3417 (dbus_connection_hookup_with_g_main):
3418 Make sure to remove the GSource when the connection is finalized.
3420 2003-02-16 Anders Carlsson <andersca@codefactory.se>
3422 * bus/dispatch.c: (bus_dispatch_message_handler):
3423 * dbus/dbus-errors.h:
3424 Return an error if someone tries to send a message to a service
3427 2003-02-16 Anders Carlsson <andersca@codefactory.se>
3429 * bus/activation.c: (load_directory), (bus_activation_init),
3430 (bus_activation_activate_service):
3433 (bus_driver_handle_activate_service), (bus_driver_handle_message):
3434 More work on the activation handling.
3436 * dbus/dbus-errors.h:
3437 Add some error messages
3439 * dbus/dbus-message.c: (dbus_message_new_error_reply):
3440 * dbus/dbus-message.h:
3441 New function that creates an error message.
3443 * dbus/dbus-protocol.h:
3444 Add ACTIVATE_SERVER message.
3446 * dbus/dbus-server-unix.c: (unix_handle_watch),
3447 (_dbus_server_new_for_domain_socket):
3448 Call _dbus_fd_set_close_on_exec.
3450 * dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
3451 (_dbus_spawn_async), (_dbus_disable_sigpipe),
3452 (_dbus_fd_set_close_on_exec):
3453 * dbus/dbus-sysdeps.h:
3454 Add _dbus_fd_set_close_on exec function. Also add function that checks
3455 that all open fds are set to close-on-exec and warns otherwise.
3457 * dbus/dbus-transport-unix.c:
3458 (_dbus_transport_new_for_domain_socket):
3459 Call _dbus_fd_set_close_on_exec.
3461 2003-02-16 Havoc Pennington <hp@pobox.com>
3463 * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
3464 allow people to avoid setting SIGPIPE to SIG_IGN
3465 (_dbus_connection_new_for_transport): disable SIGPIPE unless
3466 we've been asked not to
3468 2003-02-15 Anders Carlsson <andersca@codefactory.se>
3470 * dbus/dbus-list.c: (_dbus_list_append_link),
3471 (_dbus_list_prepend_link):
3472 * dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
3476 2003-02-15 Anders Carlsson <andersca@codefactory.se>
3479 * bus/activation.c: (bus_activation_entry_free),
3480 (add_desktop_file_entry), (load_directory), (bus_activation_init):
3482 * bus/main.c: (main):
3483 Add simple activation support, doesn't work yet though.
3485 2003-02-15 Zack Rusin <zack@kde.org>
3487 * qt/dbus-qthread.cpp: small casting fix
3489 2003-02-15 Anders Carlsson <andersca@codefactory.se>
3491 * dbus/dbus-errors.c: (dbus_set_error):
3492 * dbus/dbus-errors.h:
3493 Add a few errors and make dbus_set_error void.
3495 * dbus/dbus-sysdeps.c:
3496 (_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
3497 (write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
3498 * dbus/dbus-sysdeps.h:
3499 Add _dbus_spawn_async.
3501 * test/spawn-test.c: (main):
3502 Test for _dbus_spawn_async.
3504 2003-02-15 Anders Carlsson <andersca@codefactory.se>
3506 * dbus/dbus-internals.h:
3507 Fix build without tests.
3509 * dbus/dbus-list.c: (alloc_link):
3510 Fix a segfault when a malloc fails.
3512 * dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
3513 (dbus_malloc0), (dbus_realloc):
3514 Add support for malloc debugging.
3516 2003-02-15 Alexander Larsson <alexl@redhat.com>
3518 * dbus/dbus-threads.c:
3519 * dbus/dbus-threads.h:
3520 Add condvars. Remove static mutext from API.
3521 Implement static mutexes by initializing them from threads_init.
3523 * glib/dbus-gthread.c:
3524 * qt/dbus-qthread.cpp:
3525 Update with the thread api changes.
3530 Turn StaticMutex into normal mutex + init function.
3531 Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
3532 _dbus_list_append_link, _dbus_list_prepend_link
3535 * dbus/dbus-sysdeps.c:
3536 * dbus/dbus-sysdeps.h:
3537 New type dbus_atomic_t, and new functions _dbus_atomic_inc,
3538 _dbus_atomic_dec. Only slow fallback implementation at the moment.
3540 * dbus/dbus-protocol.h:
3541 Add DBUS_MESSAGE_LOCAL_DISCONNECT define
3543 * dbus/dbus-message.c:
3544 Make ref/unref atomic.
3547 * dbus/dbus-connection-internal.h:
3548 * dbus/dbus-connection.c:
3549 * dbus/dbus-connection.h:
3551 Change _peek to _borrow,_return & _steal_borrowed.
3552 Change disconnect callback to event.
3553 Make dbus_connection_dispatch_messages reentrant.
3555 * dbus/dbus-transport.c:
3556 Don't ref the connection on calls to the transport
3559 * dbus/dbus-message-handler.c:
3562 * glib/dbus-gmain.c:
3563 Don't use peek_message anymore
3566 * test/debug-thread.c:
3567 * test/debug-thread.h:
3568 Simple thread implementation that asserts() on deadlocks in
3569 single-threaded code.
3572 (main) Call debug_threads_init.
3575 Use disconnect message instead of disconnect callback.
3579 Don't call dbus_connection_set_disconnect_function. Instead export
3580 bus_connection_disconnect.
3583 Call bus_connection_disconnect when we get a disconnected message.
3585 2003-02-15 Havoc Pennington <hp@pobox.com>
3587 * dbus/dbus-message.c (dbus_message_new): fool around with the
3590 2003-02-14 Havoc Pennington <hp@pobox.com>
3592 * dbus/dbus-mempool.c: fail if the debug functions so indicate
3594 * dbus/dbus-memory.c: fail if the debug functions indicate we
3597 * dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
3598 (_dbus_decrement_fail_alloc_counter): debug functions to
3599 simulate memory allocation failures
3601 2003-02-14 Havoc Pennington <hp@pobox.com>
3603 * dbus/dbus-errors.h (struct DBusError): add a word of padding
3606 2003-02-13 Anders Carlsson <andersca@codefactory.se>
3608 * bus/driver.c: (bus_driver_handle_hello):
3610 * bus/services.c: (bus_service_lookup):
3611 Reorder message sending so we get a more sane order.
3613 * test/bus-test.c: (message_handler):
3616 2003-02-13 Anders Carlsson <andersca@codefactory.se>
3618 * bus/driver.c: (bus_driver_send_service_deleted),
3619 (bus_driver_send_service_created), (bus_driver_send_service_lost),
3620 (bus_driver_send_service_acquired), (bus_driver_handle_hello),
3621 (bus_driver_send_welcome_message),
3622 (bus_driver_handle_list_services),
3623 (bus_driver_handle_acquire_service),
3624 (bus_driver_handle_service_exists):
3625 * dbus/dbus-bus.c: (dbus_bus_register_client),
3626 (dbus_bus_acquire_service), (dbus_bus_service_exists):
3627 * dbus/dbus-errors.c: (dbus_result_to_string):
3628 * dbus/dbus-errors.h:
3629 * dbus/dbus-message.c: (dbus_message_append_args),
3630 (dbus_message_append_args_valist), (dbus_message_get_args),
3631 (dbus_message_get_args_valist), (dbus_message_get_args_iter),
3632 (dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
3633 (dbus_message_iter_get_byte_array),
3634 (dbus_message_iter_get_string_array), (message_iter_test),
3635 (check_message_handling), (_dbus_message_test):
3636 * dbus/dbus-message.h:
3637 * test/bus-test.c: (main):
3638 Change fields to arguments in messages, so that they won't be
3639 confused with header fields.
3641 * glib/test-dbus-glib.c: (main):
3642 Remove append_fields from hello message.
3644 2003-02-13 Anders Carlsson <andersca@codefactory.se>
3646 * dbus/dbus-errors.c:
3647 * dbus/dbus-message.c:
3648 * dbus/dbus-string.c:
3649 Documentation fixes.
3651 2003-02-13 Anders Carlsson <andersca@codefactory.se>
3653 * glib/dbus-gmain.c: (timeout_handler), (add_timeout),
3655 Implement support for timeouts in dbus-glib.
3657 2003-02-13 Anders Carlsson <andersca@codefactory.se>
3659 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
3660 * dbus/dbus-message.c: (process_test_subdir):
3661 * test/break-loader.c: (find_breaks_based_on):
3662 Plug some memory leaks.
3664 2003-02-13 Richard Hult <rhult@codefactory.se>
3666 * bus/main.c: Fix build.
3668 * dbus/dbus-errors.h:
3669 * dbus/dbus-errors.c: Fix copyright for Anders.
3671 2003-02-13 Anders Carlsson <andersca@codefactory.se>
3676 * bus/connection.c: (bus_connection_foreach):
3679 * bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
3680 (unescape_string), (new_section), (parse_section_start),
3681 (parse_key_value), (report_error), (bus_desktop_file_load),
3682 (bus_desktop_file_get_string):
3683 * bus/desktop-file.h:
3684 Use DBusError for error reporting.
3686 * bus/dispatch.c: (send_one_message),
3687 (bus_dispatch_message_handler):
3688 * bus/driver.c: (bus_driver_send_service_deleted),
3689 (bus_driver_send_service_created), (bus_driver_send_service_lost),
3690 (bus_driver_send_service_acquired), (bus_driver_handle_hello),
3691 (bus_driver_send_welcome_message),
3692 (bus_driver_handle_list_services),
3693 (bus_driver_handle_acquire_service),
3694 (bus_driver_handle_service_exists):
3695 * bus/loop.c: (bus_loop_run):
3697 Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
3699 * bus/utils.c: (bus_wait_for_memory):
3701 New files with general utility functions.
3703 * dbus/dbus-internals.h:
3704 Remove _DBUS_HANDLE_OOM.
3706 2003-02-13 Anders Carlsson <andersca@codefactory.se>
3708 * dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
3709 (dbus_error_free), (dbus_set_error_const), (dbus_set_error):
3710 * dbus/dbus-errors.h:
3711 Add DBusError structure.
3713 2003-02-13 Anders Carlsson <andersca@codefactory.se>
3715 * test/data/valid-messages/standard-acquire-service.message:
3716 * test/data/valid-messages/standard-hello.message:
3717 * test/data/valid-messages/standard-list-services.message:
3718 * test/data/valid-messages/standard-service-exists.message:
3719 Add some standard messages.
3721 2003-02-13 Anders Carlsson <andersca@codefactory.se>
3723 * bus/driver.c: (bus_driver_send_welcome_message),
3724 (bus_driver_handle_list_services),
3725 (bus_driver_handle_acquire_service),
3726 (bus_driver_handle_service_exists), (bus_driver_handle_message):
3727 Update for API changes in libdbus.
3729 * dbus/dbus-message.c: (dbus_message_new_reply):
3730 * dbus/dbus-message.h:
3731 Remove the name argument. The spec states that replies shouldn't
3734 2003-02-13 Anders Carlsson <andersca@codefactory.se>
3736 * bus/desktop-file.c: (parse_section_start), (parse_key_value),
3737 (report_error), (bus_desktop_file_load), (lookup_section),
3738 (lookup_line), (bus_desktop_file_get_raw),
3739 (bus_desktop_file_get_string):
3740 * bus/desktop-file.h:
3741 Some fixes, and new functions for getting a key value from a section.
3743 2003-02-13 Havoc Pennington <hp@pobox.com>
3745 * test/data/auth/fail-after-n-attempts.auth-script: new test
3747 * dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
3750 2003-02-13 Havoc Pennington <hp@pobox.com>
3752 * dbus/dbus-auth.c (handle_server_data_external_mech): args to
3753 dbus_credentials_match were backward
3755 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support
3756 NO_CREDENTIALS and ROOT_CREDENTIALS
3758 * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
3759 into here. Never process more commands after we've reached an
3760 end state; store further data as unused bytes.
3762 * test/data/auth/*: add more auth tests
3764 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
3765 command to match exact string and EXPECT_UNUSED to match unused
3768 * test/Makefile.am (dist-hook): fix to dist all the test stuff
3770 2003-02-12 Havoc Pennington <hp@pobox.com>
3772 * dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
3773 \r off of popped lines
3775 * dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
3778 * dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
3781 2003-02-12 Havoc Pennington <hp@pobox.com>
3783 * dbus/Makefile.am: remove break-loader from the build, since it
3786 * configure.in: add --enable-gcov to turn on coverage profiling
3787 flags and disable optimization
3789 2003-02-10 Havoc Pennington <hp@pobox.com>
3791 * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync
3792 initial cut at test framework for DBusAuth from laptop.
3793 Doesn't quite work yet but it compiles and I need to get
3794 it off the 266mhz laptop. ;-)
3796 * dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
3797 fix a memleak in error case
3799 2003-02-12 Anders Carlsson <andersca@codefactory.se>
3802 * bus/desktop-file.c:
3803 * bus/desktop-file.h:
3804 Add a desktop file parser.
3806 2003-02-11 Zack Rusin <zack@kde.org>
3808 * qt/message.[h|cpp]: sample implementation
3809 of the KDE wrapper for DBusMessage
3811 2003-02-09 Zack Rusin <zack@kde.org>
3813 * test/bus-test.c: make_it_compile
3814 * doc/dbus-specification.sgml: minimal semantic fix
3816 2003-02-06 Anders Carlsson <andersca@codefactory.se>
3822 2003-02-06 Anders Carlsson <andersca@codefactory.se>
3825 * dbus/dbus-break-loader.c:
3827 * test/break-loader.c:
3828 Move dbus-break-loader to test/ and rename it to break-loader.
3830 2003-02-02 Havoc Pennington <hp@pobox.com>
3832 * dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files
3833 for code to manage cookies in your home directory
3835 * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
3837 * dbus/dbus-auth.c (get_state): impose a maximum number of tries
3838 to authenticate, then disconnect the client.
3840 2003-02-03 Alexander Larsson <alexl@redhat.com>
3842 * dbus/dbus-message.c (dbus_message_append_fields):
3845 2003-02-02 Anders Carlsson <andersca@codefactory.se>
3847 * doc/dbus-specification.sgml:
3848 Update address format section.
3850 2003-02-02 Anders Carlsson <andersca@codefactory.se>
3853 * test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
3854 (message_handler), (new_connection_callback), (loop_quit),
3858 2003-02-02 Anders Carlsson <andersca@codefactory.se>
3860 * bus/driver.c: (bus_driver_handle_service_exists):
3861 Simplify the code a bit.
3863 * dbus/dbus-bus.c: (dbus_bus_service_exists):
3866 2003-02-02 Anders Carlsson <andersca@codefactory.se>
3869 Add libdbus-daemon.la and link to it.
3871 2003-02-01 James Willcox <jwillcox@gnome.org>
3873 * bus/driver.c: (bus_driver_handle_own_service):
3874 Actually include the service reply code in the message.
3876 2003-02-02 Anders Carlsson <andersca@codefactory.se>
3878 * bus/driver.c: (bus_driver_handle_service_exists):
3879 Don't unref the incoming message.
3881 2003-02-02 Anders Carlsson <andersca@codefactory.se>
3883 * dbus/dbus.h: Add dbus-address.h and dbus-bus.h
3885 2003-02-02 Anders Carlsson <andersca@codefactory.se>
3887 * dbus/dbus-server.c: (dbus_server_listen):
3888 * dbus/dbus-transport.c: (_dbus_transport_open):
3889 ifdef out the calls to the debug transport and server.
3891 2003-02-02 Alexander Larsson <alexl@redhat.com>
3893 * dbus/dbus-watch.c (dbus_watch_get_flags):
3894 Add note in the docs that ERROR or HANGUP won't be returned
3895 and are assumed always on.
3897 * glib/dbus-gmain.c (add_watch):
3898 Always add IO_ERR | IO_HUP
3900 * dbus/dbus-message.h:
3901 Add semicolon after dbus_message_iter_get_string_array().
3902 Makes qt code build again
3904 2003-02-01 Anders Carlsson <andersca@codefactory.se>
3906 * bus/driver.c: (create_unique_client_name),
3907 (bus_driver_handle_hello):
3908 Don't take a name, just use a numeric id to identify
3912 * dbus/dbus-bus.c: (dbus_bus_register_client),
3913 (dbus_bus_acquire_service), (dbus_bus_service_exists):
3915 Add new convenience functions for communicating with the bus.
3917 * dbus/dbus-message.h:
3919 * dbus/dbus-protocol.h:
3922 2003-02-01 Alexander Larsson <alexl@redhat.com>
3924 * dbus/dbus-message.c (dbus_message_append_fields):
3925 Add some more doc comments.
3927 2003-02-01 Havoc Pennington <hp@pobox.com>
3929 * dbus/dbus-break-loader.c (randomly_modify_length): change
3930 a 4-byte value in the message as if it were a length
3932 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
3933 execute bit on saved files
3935 2003-02-01 Havoc Pennington <hp@pobox.com>
3937 * dbus/dbus-break-loader.c (main): new program to find messages
3938 that break the loader.
3940 * dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
3941 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
3943 * dbus/dbus-string.c (_dbus_string_set_byte): new
3945 2003-01-31 Havoc Pennington <hp@pobox.com>
3947 * dbus/dbus-message.c: refactor the test code to be more general,
3948 in preparation for writing a "randomly permute test cases to
3949 try to break the loader" program.
3951 2003-01-31 Havoc Pennington <hp@pobox.com>
3953 * doc/dbus-specification.sgml: work on the specification
3955 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
3956 the protocol version of the message.
3958 * dbus/dbus-protocol.h: drop special _REPLY names, the spec
3959 no longer specifies that.
3960 (DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
3963 * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
3964 "break" for DBUS_TYPE_NIL, remove @todo
3966 2003-01-31 Havoc Pennington <hp@pobox.com>
3968 * dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
3969 just set_is_error/get_is_error as this is a commonly-used
3970 function, and write docs.
3972 2003-01-31 Anders Carlsson <andersca@codefactory.se>
3974 * dbus/dbus-address.c: (dbus_address_entry_free):
3975 Free key and value lists.
3977 * dbus/dbus-internals.c: (_dbus_type_to_string):
3978 Add the types we didn't have.
3980 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
3981 (_dbus_marshal_validate_arg):
3984 * dbus/dbus-message.c: (dbus_message_set_sender):
3985 Remove todo about being able to set sender to NULL.
3987 (dbus_message_set_is_error_reply),
3988 (dbus_message_get_is_error_reply):
3989 * dbus/dbus-message.h:
3992 * dbus/dbus-protocol.h:
3993 Add error reply flag.
3995 * test/data/valid-messages/opposite-endian.message:
3996 Add NIL type to test.
3998 2003-01-31 Havoc Pennington <hp@pobox.com>
4000 * doc/dbus-specification.sgml: fully specify the header. Add
4001 flags and major protocol version, and change header/body len to
4004 * dbus/dbus-message-builder.c (append_saved_length): append length
4007 * dbus/dbus-message.c (dbus_message_create_header): change header
4008 length and body length to unsigned. Add the new fields from the
4010 (_dbus_message_loader_return_buffer): unsigned header/body len
4012 2003-01-30 Havoc Pennington <hp@pobox.com>
4014 * dbus/dbus-auth.c: rework to use only REJECTED, no
4017 * doc/dbus-sasl-profile.txt: drop MECHANISMS and just
4018 use REJECTED, suggested by Mark McLoughlin
4020 2003-01-30 Havoc Pennington <hp@pobox.com>
4022 * dbus/dbus-server.c (dbus_server_listen): @todo about how we need
4023 a better way to report errors here. e.g. "unix address lacks
4024 path" or something. also "no such file" when the path doesn't
4027 * dbus/dbus-address.c (dbus_address_entries_free): add @todo about
4029 (dbus_parse_address): add @todo about documenting address format,
4030 and allowing , and ; to be escaped
4032 2003-01-30 Anders Carlsson <andersca@codefactory.se>
4035 Add dbus-address.[ch]
4037 * dbus/dbus-address.c: (dbus_address_entry_free),
4038 (dbus_address_entries_free), (create_entry),
4039 (dbus_address_entry_get_method), (dbus_address_entry_get_value),
4040 (dbus_parse_address), (_dbus_address_test):
4041 * dbus/dbus-address.h:
4042 New files for dealing with address parsing.
4044 * dbus/dbus-connection.c:
4045 Document timeout functions.
4047 * dbus/dbus-message.c:
4048 Document dbus_message_new_from_message.
4050 * dbus/dbus-server-debug.c:
4053 * dbus/dbus-server.c: (dbus_server_listen):
4054 Parse address and use correct server implementation.
4056 * dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
4057 * dbus/dbus-string.h:
4058 New function with test.
4060 * dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
4064 * dbus/dbus-transport-debug.c:
4067 * dbus/dbus-transport.c: (_dbus_transport_open):
4068 Parse address and use correct transport implementation.
4070 2003-01-30 Havoc Pennington <hp@pobox.com>
4072 * dbus/dbus-message.c: use message->byte_order instead of
4073 DBUS_COMPILER_BYTE_ORDER throughout.
4074 (dbus_message_create_header): pad header to align the
4075 start of the body of the message to 8-byte boundary
4077 * dbus/dbus-marshal.h: make all the demarshalers take const
4078 DBusString arguments.
4080 * dbus/dbus-message.c (_dbus_message_loader_return_buffer):
4081 validate message args here, so we don't have to do slow validation
4082 later, and so we catch bad messages as they are incoming. Also add
4083 better checks on header_len and body_len. Also fill in
4086 * dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
4087 implemented properly)
4088 (_dbus_string_validate_nul): new function to check all-nul
4090 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
4091 get_arg_end_pos and remove all validation
4092 (_dbus_marshal_validate_arg): actually do validation here.
4094 2003-01-29 Havoc Pennington <hp@pobox.com>
4096 * dbus/dbus-message.c (check_message_handling): fix assertion
4097 failure on set_client_serial
4099 2003-01-28 Havoc Pennington <hp@pobox.com>
4101 * dbus/dbus-server-debug.c: Add doc section comments
4103 * dbus/dbus-transport-debug.c: add doc section comments
4105 2003-01-28 Havoc Pennington <hp@redhat.com>
4107 * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
4108 the reverse order from how I had it
4109 (_dbus_string_base64_encode): reverse encoding order. I was
4110 basically byteswapping everything during encoding.
4112 2003-01-28 Anders Carlsson <andersca@codefactory.se>
4114 * dbus/dbus-connection-internal.h:
4115 * dbus/dbus-connection.c: (_dbus_connection_add_timeout),
4116 (_dbus_connection_remove_timeout):
4117 Add functions for adding and removing timeouts.
4119 * dbus/dbus-message.c: (dbus_message_new_from_message):
4120 Add new function that takes a message and creates an exact
4121 copy of it, but with the refcount set to 1.
4122 (check_message_handling):
4125 * dbus/dbus-server-protected.h:
4126 * dbus/dbus-server.c: (_dbus_server_init_base),
4127 (_dbus_server_finalize_base), (_dbus_server_add_timeout),
4128 (dbus_server_set_timeout_functions):
4129 (_dbus_server_remove_timeout):
4130 New functions so that a server can add and remove timeouts.
4132 (dbus_server_listen):
4133 Add commented out call to dbus_server_debug_new.
4135 * dbus/dbus-timeout.c: (_dbus_timeout_new):
4136 Actually set the handler, doh.
4138 * dbus/dbus-transport.c: (_dbus_transport_open):
4139 Add commented out call to dbus_transport_debug_client_new.
4142 Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
4144 2003-01-28 Havoc Pennington <hp@pobox.com>
4146 * dbus/dbus-message.c (check_message_handling): function to check
4147 on the loaded message, iterates over it etc.
4149 2003-01-28 Havoc Pennington <hp@pobox.com>
4151 * test/Makefile.am (dist-hook): fix make distdir
4153 * dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
4155 2003-01-27 Havoc Pennington <hp@pobox.com>
4157 * dbus/dbus-mempool.c (time_for_size): replace printf with
4160 * dbus/dbus-message-builder.c (_dbus_message_data_load): allow
4161 empty lines; fix the SAVE_LENGTH stuff to be
4162 START_LENGTH/END_LENGTH so it actually works; couple other
4165 * test/Makefile.am (dist-hook): add dist-hook for .message files
4167 * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
4168 can be constant or locked.
4169 (_dbus_string_free): allow freeing a const string as
4172 * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
4174 * dbus/dbus-test-main.c (main): take an argument which is the
4175 directory containing test data
4177 * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
4178 argument to this and load all the messages in test/data/
4179 checking that they can be loaded or not loaded as appropriate.
4181 2003-01-27 Anders Carlsson <andersca@codefactory.se>
4183 * bus/dispatch.c: (bus_dispatch_message_handler):
4184 Dispatch messages sent to services.
4186 * bus/driver.c: (bus_driver_send_service_deleted),
4187 (bus_driver_send_service_created), (bus_driver_send_service_lost),
4188 (bus_driver_send_service_acquired):
4189 Add helper functions for sending service related messages.
4191 (bus_driver_send_welcome_message):
4192 Send HELLO_REPLY instead of WELCOME.
4194 (bus_driver_handle_list_services):
4195 Send LIST_SERVICES_REPLY instead of SERVICES.
4197 (bus_driver_handle_own_service),
4198 (bus_driver_handle_service_exists):
4199 New message handlers.
4201 (bus_driver_handle_message):
4202 Invoke new message handlers.
4204 (bus_driver_remove_connection):
4205 Don't remove any services here since that's done automatically
4206 by bus_service_remove_owner now.
4209 New function signatures.
4211 * bus/services.c: (bus_service_add_owner):
4212 Send ServiceAcquired message if we're the only primary owner.
4214 (bus_service_remove_owner):
4215 Send ServiceAcquired/ServiceLost messages.
4217 (bus_service_set_prohibit_replacement),
4218 (bus_service_get_prohibit_replacement):
4219 Functions for setting prohibit replacement.
4221 (bus_service_has_owner):
4222 New function that checks if a connection is in the owner queue of
4226 Add new function signatures.
4228 * dbus/dbus-list.c: (_dbus_list_test):
4229 Add tests for _dbus_list_remove_last and traversing the list backwards.
4232 Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
4233 go any further, so return NULL then.
4235 * dbus/dbus-protocol.h:
4236 Add new messages, service flags and service replies.
4238 2003-01-26 Havoc Pennington <hp@pobox.com>
4240 * dbus/dbus-message-builder.c: implement, completely untested.
4242 * test/data/*: add data to be used in testing.
4243 ".message" files are our simple loadable text format.
4244 ".message-raw" will be binary dumps of messages.
4246 * dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
4248 2003-01-26 Havoc Pennington <hp@pobox.com>
4250 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
4252 * dbus/dbus-errors.c (dbus_result_to_string): add
4255 * dbus/dbus-message-builder.c: new file, will contain code to load
4256 up messages from files. Not implemented yet.
4258 2003-01-26 Havoc Pennington <hp@pobox.com>
4260 * dbus/dbus-message.c (dbus_message_set_sender): support deleting
4261 the sender by setting to NULL
4263 2003-01-26 Havoc Pennington <hp@pobox.com>
4265 The unit tests pass, but otherwise untested. If it breaks, the
4266 tests should have been better. ;-)
4268 * bus/driver.c (bus_driver_handle_hello): return if we disconnect
4271 * dbus/dbus-message.c: redo everything so we maintain
4272 message->header as the only copy of the various fields.
4273 This avoids the possibility of out-of-memory in some cases,
4274 for example dbus_message_lock() can't run out of memory anymore,
4275 and avoids extra copying. Figured I may as well go ahead and do
4276 this since it was busted for dbus_message_lock to not return
4277 failure on OOM, and dbus_message_write_header was totally
4278 unchecked for OOM. Also fixed some random other bugs.
4280 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
4281 that strings are nul-terminated. Also, end_pos can be equal
4282 to string length just not greater than, I think.
4283 (_dbus_marshal_set_int32): new function
4284 (_dbus_marshal_set_uint32): new function
4285 (_dbus_marshal_set_string): new function
4287 * dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
4288 a warning, init timeout_list to NULL
4289 (dbus_connection_send_message): don't use uninitialized variable
4292 * dbus/dbus-string.c (_dbus_string_replace_len): new function
4294 2003-01-26 Anders Carlsson <andersca@codefactory.se>
4296 * bus/driver.c: (bus_driver_handle_hello),
4297 (bus_driver_send_welcome_message):
4300 2003-01-26 Anders Carlsson <andersca@codefactory.se>
4302 * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
4303 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
4304 (dbus_connection_unref):
4305 * dbus/dbus-marshal.c: (_dbus_marshal_test):
4306 * dbus/dbus-message.c: (dbus_message_unref),
4309 (dbus_message_get_fields):
4310 Remove debugging printout.
4312 (_dbus_message_loader_return_buffer):
4313 Don't store the header string.
4315 (_dbus_message_test):
4318 2003-01-26 Richard Hult <rhult@codefactory.se>
4320 * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
4321 the file descriptor list, since it can change under us.
4323 2003-01-25 Anders Carlsson <andersca@codefactory.se>
4325 * glib/dbus-gmain.c: (dbus_connection_prepare),
4326 (dbus_connection_check), (dbus_connection_dispatch), (add_watch),
4327 (remove_watch), (dbus_connection_hookup_with_g_main):
4328 Rewrite the glib handling to use its own GSource instead of a
4329 GIOChannel so we can catch messages put in the queue while waiting
4332 2003-01-25 Anders Carlsson <andersca@codefactory.se>
4335 * bus/connection.c: (connection_disconnect_handler),
4336 (connection_watch_callback), (bus_connection_setup):
4337 * bus/dispatch.c: (send_one_message),
4338 (bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
4339 (bus_dispatch_add_connection), (bus_dispatch_remove_connection):
4341 * bus/driver.c: (bus_driver_send_service_deleted),
4342 (bus_driver_send_service_created), (bus_driver_handle_hello),
4343 (bus_driver_send_welcome_message),
4344 (bus_driver_handle_list_services), (bus_driver_remove_connection),
4345 (bus_driver_handle_message):
4347 Refactor code, put the message dispatching in its own file. Use
4348 _DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
4351 2003-01-25 Anders Carlsson <andersca@codefactory.se>
4353 * dbus/dbus-internals.h:
4354 Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
4356 * dbus/dbus-message.c: (dbus_message_get_sender):
4357 * dbus/dbus-message.h:
4358 Implement dbus_message_get_sender.
4360 * dbus/dbus-protocol.h:
4361 Add message and service defines.
4363 2003-01-25 Anders Carlsson <andersca@codefactory.se>
4365 * dbus/dbus-connection.c: (dbus_connection_send_message):
4366 * dbus/dbus-message-internal.h:
4367 * dbus/dbus-message.c: (_dbus_message_get_client_serial),
4368 (dbus_message_write_header):
4369 Remove _dbus_messag_unlock and don't set the client serial on a
4370 message if one already exists.
4372 2003-01-24 Havoc Pennington <hp@pobox.com>
4374 * dbus/dbus-list.c (alloc_link): put a thread lock on the global
4377 * bus/driver.c (bus_driver_handle_list_services): fix a leak
4380 2003-01-25 Anders Carlsson <andersca@codefactory.se>
4382 * dbus/dbus-list.c: (alloc_link), (free_link):
4383 Use a memory pool for the links.
4385 2003-01-25 Anders Carlsson <andersca@codefactory.se>
4387 * bus/connection.c: (bus_connection_foreach):
4389 Add new bus_connection_foreach function.
4391 * bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
4392 Add function that broadcasts a message to all clients.
4394 (bus_driver_send_service_created), (bus_driver_handle_hello),
4395 (bus_driver_send_welcome_message),
4396 (bus_driver_handle_list_services), (bus_driver_message_handler):
4397 Implement functions that take care of listing services, and notifying
4398 clients when new services are created.
4400 * bus/services.c: (bus_services_list):
4402 Add new function that returns an array of strings with the currently
4403 registered services.
4406 * glib/dbus-gmain.c:
4407 Update copyright year.
4409 2003-01-25 Anders Carlsson <andersca@codefactory.se>
4411 * dbus/dbus-connection.c: (dbus_connection_send_message):
4412 Unlock the message in case it was sent earlier.
4414 (dbus_connection_send_message_with_reply_and_block):
4415 Remove the reply message from the list.
4417 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
4418 Set array_len and new_pos correctly.
4420 (_dbus_marshal_test):
4421 Remove debug output.
4423 * dbus/dbus-message-internal.h:
4424 * dbus/dbus-message.c: (_dbus_message_get_reply_serial):
4425 New function that returns the reply serial.
4427 (_dbus_message_unlock):
4428 New function that unlocks a message and resets its header.
4430 (dbus_message_append_string_array),
4431 (dbus_message_get_fields_valist),
4432 (dbus_message_iter_get_field_type),
4433 (dbus_message_iter_get_string_array),
4434 (dbus_message_get_fields),
4435 (dbus_message_append_fields_valist):
4436 Handle string arrays.
4438 (dbus_message_set_sender):
4439 Make this function public since the bus daemon needs it.
4441 (decode_header_data):
4442 Set the reply serial to -1 initially.
4444 * dbus/dbus-message.h:
4445 Add dbus_message_set_sender.
4447 2003-01-24 Havoc Pennington <hp@pobox.com>
4449 * doc/dbus-specification.sgml: add some stuff
4451 2003-01-22 Havoc Pennington <hp@pobox.com>
4453 * doc/dbus-specification.sgml: Start to document the protocol.
4455 2003-01-22 Havoc Pennington <hp@pobox.com>
4457 * dbus/dbus-connection.c
4458 (dbus_connection_send_message_with_reply_and_block): add some @todo
4460 * bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
4462 2003-01-21 Havoc Pennington <hp@pobox.com>
4464 (patch untested because can't compile)
4466 * bus/driver.c (create_unique_client_name): make this function
4467 never recycle client names. Also, caller should initialize
4470 * dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
4472 2003-01-21 Anders Carlsson <andersca@codefactory.se>
4474 * dbus/dbus-marshal.c: (_dbus_marshal_double),
4475 (_dbus_marshal_int32), (_dbus_marshal_uint32),
4476 (_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
4477 (_dbus_marshal_double_array), (_dbus_marshal_string_array),
4478 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
4479 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
4480 (_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
4481 * dbus/dbus-marshal.h:
4482 * dbus/dbus-protocol.h:
4483 Add support for marshalling and demarshalling integer, double
4486 2003-01-21 Anders Carlsson <andersca@codefactory.se>
4491 * bus/connection.c: (connection_disconnect_handler):
4492 Remove the connection from the bus driver's list.
4494 (connection_watch_callback): Dispatch messages.
4496 (free_connection_data): Free connection name.
4498 (bus_connection_setup): Add connection to the bus driver's list.
4499 (bus_connection_remove_owned_service):
4500 (bus_connection_set_name), (bus_connection_get_name):
4501 Add functions for setting and getting the connection's name.
4504 Add function headers.
4506 * bus/driver.c: (create_unique_client_name),
4507 (bus_driver_handle_hello_message),
4508 (bus_driver_send_welcome_message), (bus_driver_message_handler),
4509 (bus_driver_add_connection), (bus_driver_remove_connection):
4512 * bus/services.c: (bus_service_free):
4514 New file that handles communication and registreation with the bus
4517 2003-01-21 Anders Carlsson <andersca@codefactory.se>
4519 * dbus/dbus-connection.c: (dbus_connection_send_message):
4520 Add a new client_serial parameter.
4522 (dbus_connection_send_message_with_reply):
4523 Remove a @todo since we've implemented the blocking function.
4525 (dbus_connection_send_message_with_reply_and_block):
4526 New function that sends a message and waits for a reply and
4527 then returns the reply.
4529 * dbus/dbus-connection.h:
4532 * dbus/dbus-errors.c: (dbus_result_to_string):
4533 * dbus/dbus-errors.h:
4534 Add new DBUS_RESULT.
4536 * dbus/dbus-message-internal.h:
4537 * dbus/dbus-message.c: (_dbus_message_get_reply_serial),
4538 (_dbus_message_set_sender), (dbus_message_write_header),
4539 (dbus_message_new_reply), (decode_header_data),
4540 (_dbus_message_loader_return_buffer), (_dbus_message_test):
4541 * dbus/dbus-message.h:
4542 Add new functions that set the reply serial and sender.
4543 Also marshal and demarshal them correctly and add test.
4545 * dbus/dbus-protocol.h:
4546 Add new DBUS_MESSAGE_TYPE_SENDER.
4549 * glib/dbus-gmain.c: (watch_callback), (free_callback_data),
4550 (add_watch), (remove_watch), (add_timeout), (remove_timeout),
4551 (dbus_connection_hookup_with_g_main):
4552 * glib/test-dbus-glib.c: (main):
4553 Rewrite to use GIOChannel and remove the GSource crack.
4555 * test/echo-client.c: (main):
4556 * test/watch.c: (check_messages):
4557 Update for changed APIs
4559 2003-01-19 Anders Carlsson <andersca@codefactory.se>
4561 * dbus/Makefile.am: Add dbus-timeout.[cħ]
4563 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
4564 Create a DBusTimeoutList.
4565 (dbus_connection_set_timeout_functions): Add new function to
4566 set timeout callbacks
4568 * dbus/dbus-connection.h: Add public DBusTimeout API.
4570 * dbus/dbus-message.c: (dbus_message_get_service):
4571 * dbus/dbus-message.h: New function.
4573 * dbus/dbus-server.c: Fix small doc typo.
4575 * dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
4577 2003-01-19 Anders Carlsson <andersca@codefactory.se>
4579 * dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
4580 of the string, just as long as specified.
4582 2003-01-19 Havoc Pennington <hp@pobox.com>
4584 * dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
4587 * dbus/dbus-server.c (dbus_server_set_max_connections)
4588 (dbus_server_get_max_connections, dbus_server_get_n_connections):
4589 keep track of current number of connections, and add API for
4590 setting a max (but haven't implemented enforcing the max yet)
4592 2003-01-18 Havoc Pennington <hp@pobox.com>
4594 * dbus/dbus-transport-unix.c (unix_do_iteration): only do the
4595 reading/writing if read_watch != NULL or write_watch != NULL.
4597 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
4598 the message loader code to actually load message->header and
4599 message->body into the newly-created message.
4601 * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
4604 * dbus/dbus-connection.c (dbus_connection_set_max_message_size)
4605 (dbus_connection_get_max_message_size)
4606 (dbus_connection_set_max_live_messages_size)
4607 (dbus_connection_get_max_live_messages_size): implement some
4608 resource limitation functions
4610 * dbus/dbus-resources.c: new file implementing some of the
4611 resource limits stuff
4613 * dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
4614 missing docs, add @todo to handle OOM etc.
4616 * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
4619 2003-01-18 Havoc Pennington <hp@pobox.com>
4621 * dbus/dbus-connection.c (dbus_connection_unref): disconnect the
4622 connection if it hasn't been already.
4624 * dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
4625 replace with DisconnectFunction.
4627 2003-01-18 Havoc Pennington <hp@pobox.com>
4629 Building --disable-verbose-mode --disable-asserts --disable-tests
4630 cuts the library from 112K to 45K or so
4632 * configure.in: check for varargs macro support,
4633 add --enable-verbose-mode, --enable-asserts.
4635 * dbus/dbus-internals.h (_dbus_assert): support
4637 (_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
4639 2003-01-18 Havoc Pennington <hp@pobox.com>
4641 * dbus/dbus-test.c: include config.h so that tests actually run
4643 * dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
4644 so the failure mode when that assumption fails will be plenty
4647 2003-01-18 Havoc Pennington <hp@pobox.com>
4649 * configure.in: default --enable-tests to $USE_MAINTAINER_MODE
4651 * dbus/Makefile.am: fix it up so dubs-test-main.c is included in
4654 * test/Makefile.am: don't use special variable "TESTS" for echo-*
4655 since we don't want to use those in make check
4657 2003-01-15 Havoc Pennington <hp@redhat.com>
4663 2003-01-15 Havoc Pennington <hp@redhat.com>
4665 * test/Makefile.am: fix so that test source code ends up in the
4666 distribution on make distcheck
4668 2003-01-15 Havoc Pennington <hp@redhat.com>
4674 2003-01-15 Havoc Pennington <hp@redhat.com>
4676 * dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
4677 fix build when --disable-tests
4679 * Makefile.am (EXTRA_DIST): put HACKING in here
4681 * HACKING: document procedure for making a tarball release.
4683 2003-01-14 Anders Carlsson <andersca@codefactory.se>
4685 * bus/connection.c: (connection_error_handler),
4686 (bus_connection_setup):
4687 * bus/main.c: (main):
4688 Make sure that the DBusConnectionData struct is NULLed
4689 out to prevent a segfault.
4691 * dbus/dbus-errors.c: (dbus_result_to_string):
4692 * dbus/dbus-errors.h:
4693 * dbus/dbus-message.c: (dbus_message_get_fields),
4694 (dbus_message_get_fields_valist), (_dbus_message_test):
4695 * dbus/dbus-message.h:
4696 Make dbus_message_get_fields return a result code so we can
4697 track invalid fields as well as oom.
4699 2003-01-11 Havoc Pennington <hp@pobox.com>
4701 * configure.in: change --enable-test/--enable-ansi action-if-given
4702 to enable_foo=$enableval instead of enable_foo=yes
4704 2003-01-08 Havoc Pennington <hp@pobox.com>
4706 * dbus/dbus-string.c (_dbus_string_align_length): new function
4708 * dbus/dbus-test-main.c: move main() for test app here
4710 (dbus_internal_symbol_do_not_use_run_tests): we have to export a
4711 symbol to run tests, because dbus-test isn't in the main
4714 Code review nitpicks.
4716 * dbus/dbus-message.c (dbus_message_write_header): add newlines
4717 for people with narrow emacs ;-). Assert client_serial was filled
4718 in. Assert message->name != NULL.
4719 (dbus_message_append_fields): have "first_field_type" arg separate
4720 from va list, needed for C++ binding that also uses varargs IIRC
4721 and helps with type safety
4722 (dbus_message_new): add @todo about using DBusString to store
4723 service/name internally
4724 (dbus_message_new): don't leak ->service and ->name on OOM later
4726 (dbus_message_unref): free the service name
4727 (dbus_message_get_fields): same change to varargs
4728 i.e. first_field_type
4729 (_dbus_message_loader_return_buffer): assert that the message data
4730 is aligned (if not it's a bug in our code). Put in verbose griping
4731 about why we set corrupted = TRUE.
4732 (decode_header_data): add FIXME that char* is evil. Was going to
4733 add FIXME about evil locale-specific string.h strncmp, but just
4734 switched to wacky string-as-uint32 optimization. Move check for
4735 "no room for field name" above get_const_data_len() to avoid
4736 assertion failure in get_const_data_len if we have trailing 2
4737 bytes or the like. Check for service and name fields being
4738 provided twice. Don't leak service/name on error. Require field
4739 names to be aligned to 4 bytes.
4741 * dbus/dbus-marshal.c: move byte swap stuff to header
4742 (_dbus_pack_int32): uscore-prefix
4743 (_dbus_unpack_int32): uscore-prefix
4744 (_dbus_unpack_uint32): export
4745 (_dbus_demarshal_string): add @todo complaining about use of
4747 (_dbus_marshal_get_field_end_pos): add @todo about bad error
4748 handling allowing corrupt data to go unchecked
4750 2003-01-08 Havoc Pennington <hp@redhat.com>
4752 * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
4753 to the select() as needed for authentication. (should be using
4754 _dbus_poll() not select, but for another day)
4756 * dbus/dbus.h: include dbus/dbus-protocol.h
4758 2003-01-08 Anders Carlsson <andersca@codefactory.se>
4760 * dbus/Makefile.am (dbusinclude_HEADERS): Install
4763 2003-01-08 Anders Carlsson <andersca@codefactory.se>
4765 * dbus/dbus-internals.c: (_dbus_type_to_string):
4766 New function that returns a string describing a type.
4768 * dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
4769 * dbus/dbus-marshal.h:
4770 * dbus/dbus-message.c: (dbus_message_get_fields_valist),
4771 (dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
4772 (dbus_message_iter_get_byte_array):
4773 * dbus/dbus-message.h:
4774 Add new convenience functions for appending and getting message fields.
4775 Also add demarshalling routines for byte arrays.
4777 2003-01-07 Anders Carlsson <andersca@codefactory.se>
4779 * dbus/dbus-connection-internal.h:
4780 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
4781 (_dbus_connection_get_next_client_serial),
4782 (dbus_connection_send_message):
4783 * dbus/dbus-internals.h:
4784 * dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
4785 (dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
4786 (_dbus_marshal_uint32), (_dbus_demarshal_double),
4787 (_dbus_demarshal_int32), (_dbus_demarshal_uint32),
4788 (_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
4789 (_dbus_verbose_bytes), (_dbus_marshal_test):
4790 * dbus/dbus-marshal.h:
4791 * dbus/dbus-message-internal.h:
4792 * dbus/dbus-message.c: (_dbus_message_set_client_serial),
4793 (dbus_message_write_header), (_dbus_message_lock),
4794 (dbus_message_new), (dbus_message_ref), (dbus_message_unref),
4795 (dbus_message_get_name), (dbus_message_append_int32),
4796 (dbus_message_append_uint32), (dbus_message_append_double),
4797 (dbus_message_append_string), (dbus_message_append_byte_array),
4798 (dbus_message_get_fields_iter), (dbus_message_iter_ref),
4799 (dbus_message_iter_unref), (dbus_message_iter_has_next),
4800 (dbus_message_iter_next), (dbus_message_iter_get_field_type),
4801 (dbus_message_iter_get_string), (dbus_message_iter_get_int32),
4802 (dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
4803 (decode_header_data), (_dbus_message_loader_return_buffer),
4804 (message_iter_test), (_dbus_message_test):
4805 * dbus/dbus-message.h:
4806 * dbus/dbus-protocol.h:
4807 * dbus/dbus-test.c: (main):
4809 * glib/test-dbus-glib.c: (message_handler), (main):
4810 * test/echo-client.c: (main):
4811 * test/watch.c: (check_messages):
4812 Make messages sendable and receivable for real.
4814 2003-01-07 Anders Carlsson <andersca@codefactory.se>
4816 * dbus/dbus-marshal.c: (_dbus_marshal_double),
4817 (_dbus_marshal_string), (_dbus_marshal_byte_array):
4818 * dbus/dbus-message.c: (dbus_message_append_int32),
4819 (dbus_message_append_uint32), (dbus_message_append_double),
4820 (dbus_message_append_string), (dbus_message_append_byte_array):
4821 Handle OOM restoration.
4823 2003-01-07 Anders Carlsson <andersca@codefactory.se>
4825 * dbus/dbus-marshal.c: (_dbus_marshal_string),
4826 (_dbus_demarshal_string), (_dbus_marshal_test):
4827 * dbus/dbus-marshal.h:
4828 * dbus/dbus-message.c: (dbus_message_get_name),
4829 Document these functions.
4831 (dbus_message_append_int32), (dbus_message_append_uint32),
4832 (dbus_message_append_double), (dbus_message_append_string),
4833 (dbus_message_append_byte_array):
4834 * dbus/dbus-message.h:
4835 Add functions for adding message fields of different types.
4837 * dbus/dbus-protocol.h:
4838 Add the different types.
4840 2003-01-05 Havoc Pennington <hp@pobox.com>
4842 * bus/connection.c: implement routines for handling connections,
4843 first thing is keeping a list of owned services on each connection
4844 and setting up watches etc.
4846 * bus/services.c: implement a mapping from service names to lists
4849 * dbus/dbus-hash.c: add DBUS_HASH_POINTER
4851 * dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
4852 to use static mutexes for global data
4854 * dbus/dbus-connection.c (dbus_connection_set_data): add new
4855 collection of functions to set/get application-specific data
4856 on the DBusConnection.
4858 2003-01-04 Havoc Pennington <hp@pobox.com>
4860 * dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
4861 (_dbus_poll): new function
4863 * dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
4866 * bus/loop.c: initial code for the daemon main loop
4868 2003-01-04 Havoc Pennington <hp@pobox.com>
4870 * test/watch.c (error_handler): make it safe if the error handler
4871 is called multiple times (if we s/error handler/disconnect
4872 handler/ we should just guarantee it's called only once)
4874 * dbus/dbus-transport.c (_dbus_transport_disconnect): call the
4875 error handler on disconnect (it's quite possible we should
4876 just change the error handler to a "disconnect handler," I'm
4877 not sure we have any other meaningful errors)
4879 * configure.in: check for getpwnam_r
4881 * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
4882 dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
4883 mechanism as in SASL spec, using socket credentials
4885 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
4886 (_dbus_send_credentials_unix_socket): new function
4888 * dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
4890 (_dbus_write): only check errno if <0 returned
4891 (_dbus_write_two): ditto
4893 2003-01-02 Anders Carlsson <andersca@codefactory.se>
4895 * dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
4896 (_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
4897 (_dbus_marshal_test):
4898 * dbus/dbus-marshal.h:
4899 Add _dbus_marshal_byte_array and rename _dbus_marshal_string
4900 to _dbus_marshal_utf8_string. Also fix some tests.
4902 2002-12-28 Harri Porten <porten@kde.org>
4904 * configure.in: added check for C++ compiler and a very cheesy
4905 check for the Qt integration
4907 * Makefile.am (SUBDIRS): compile qt subdir if support is enabled
4909 * qt/Makefile.am: added
4911 * qt/.cvsignore: added
4913 * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
4914 latter, added #ifdef QT_THREAD_SUPPORT guard.
4916 * dbus/Makefile.am: added missing headers for make dist
4918 2002-12-28 Kristian Rietveld <kris@gtk.org>
4920 * dbus/Makefile.am: fixup export-symbols-regex.
4922 2002-12-27 Anders Carlsson <andersca@codefactory.se>
4924 * acinclude.m4: Add this file and put the
4925 PKG_CHECK_MODULE macro in it.
4927 2002-12-27 Anders Carlsson <andersca@codefactory.se>
4929 * dbus/dbus-marshal.c: (_dbus_marshal_string),
4930 (_dbus_demarshal_double), (_dbus_demarshal_int32),
4931 (_dbus_demarshal_uint32), (_dbus_demarshal_string),
4932 (_dbus_marshal_test):
4933 Make the demarshalling routines align the pos argument.
4934 Add string marshalling tests and fix the obvious bugs
4937 2002-12-26 Havoc Pennington <hp@pobox.com>
4939 * dbus/dbus-auth.c: fixes fixes fixes
4941 * dbus/dbus-transport-unix.c: wire up support for
4942 encoding/decoding data on the wire
4944 * dbus/dbus-auth.c (_dbus_auth_encode_data)
4945 (_dbus_auth_decode_data): append to target string
4946 instead of nuking it.
4948 2002-12-26 Havoc Pennington <hp@pobox.com>
4950 * dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
4951 WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
4954 * dbus/dbus-marshal.c: Add macros to do int swapping in-place and
4955 avoid swap_bytes() overhead (ignoring possible assembly stuff for
4956 now). Main point is because I wanted unpack_uint32 to implement
4958 (_dbus_verbose_bytes): new function
4960 * dbus/dbus-string.c (_dbus_string_validate_ascii): new function
4962 * dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
4963 mechanism to handle a corrupt message stream
4964 (_dbus_message_loader_new): fix preallocation to only prealloc,
4967 * dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
4968 (_dbus_string_test): enhance tests for copy/move and fix the
4971 * dbus/dbus-transport-unix.c: Hold references in more places to
4972 avoid reentrancy problems
4974 * dbus/dbus-transport.c: ditto
4976 * dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
4977 leak reference count in no-message case
4979 * test/watch.c (do_mainloop): handle adding/removing watches
4980 during iteration over the watches. Also, ref the connection/server
4981 stored on a watch, so we don't try to mangle a destroyed one.
4983 * dbus/dbus-transport-unix.c (do_authentication): perform
4986 * dbus/dbus-auth.c (get_state): add a state
4987 AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
4988 (_dbus_auth_get_unused_bytes): append the unused bytes
4989 to the passed in string, rather than prepend
4991 * dbus/dbus-transport.c (_dbus_transport_init_base): create
4992 the auth conversation DBusAuth
4994 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
4995 (_dbus_transport_new_for_domain_socket): when creating a
4996 transport, pass in whether it's a client-side or server-side
4997 transport so we know which DBusAuth to create
4999 2002-12-03 Havoc Pennington <hp@pobox.com>
5001 * dbus/dbus-transport-unix.c (unix_finalize): finalize base
5002 _after_ finalizing the derived members
5003 (unix_connection_set): unref watch if we fail to add it
5005 * dbus/dbus-connection.c (dbus_connection_unref): delete the
5006 transport first, so that the connection owned by the
5007 transport will be valid as the transport finalizes.
5009 * dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
5010 if necessary, and remove watches from the connection.
5012 * dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
5014 2002-12-26 Anders Carlsson <andersca@codefactory.se>
5016 * dbus/dbus-marshal.c: (_dbus_marshal_string),
5017 (_dbus_demarshal_double), (_dbus_demarshal_int32),
5018 (_dbus_demarshal_uint32), (_dbus_demarshal_string),
5019 (_dbus_marshal_test):
5020 * dbus/dbus-marshal.h:
5021 Add string marshal functions and have the demarshal functions
5022 return the new position.
5024 2002-12-25 Havoc Pennington <hp@pobox.com>
5026 * doc/dbus-sasl-profile.txt: docs on the authentication protocol,
5027 it is a simple protocol that just maps directly to SASL.
5029 * dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
5030 initial implementation, not actually used yet.
5032 * dbus/dbus-string.c (_dbus_string_find): new function
5033 (_dbus_string_equal): new function
5034 (_dbus_string_base64_encode): new function
5035 (_dbus_string_base64_decode): new function
5037 2002-12-25 Anders Carlsson <andersca@codefactory.se>
5040 * dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
5041 (_dbus_marshal_int32), (_dbus_marshal_uint32),
5042 (_dbus_demarshal_double), (_dbus_demarshal_int32),
5043 (_dbus_demarshal_uint32), (_dbus_marshal_test):
5044 * dbus/dbus-marshal.h:
5045 * dbus/dbus-protocol.h:
5046 * dbus/dbus-test.c: (main):
5048 Add un-optimized marshalling/demarshalling routines.
5050 2002-12-25 Harri Porten <porten@kde.org>
5052 * qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
5054 2002-12-24 Zack Rusin <zack@kde.org>
5056 * qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
5057 * qt/dbus-qt.h: skeleton with two sample implemenatation of the
5060 2002-12-24 Havoc Pennington <hp@pobox.com>
5062 * glib/dbus-gthread.c: fix include
5064 * glib/dbus-glib.h: rename DBusMessageHandler for now.
5065 I think glib API needs to change, though, as you don't
5066 want to use DBusMessageFunction, you want to use the
5067 DBusMessageHandler object. Probably
5068 dbus_connection_open_with_g_main_loop()
5069 and dbus_connection_setup_g_main_loop() or something like that
5070 (but think of better names...) that just create a connection
5071 that has watch/timeout functions etc. already set up.
5073 * dbus/dbus-connection.c
5074 (dbus_connection_send_message_with_reply): new function just to
5075 show how the message handler helps us deal with replies.
5077 * dbus/dbus-list.c (_dbus_list_remove_last): new function
5079 * dbus/dbus-string.c (_dbus_string_test): free a string that
5082 * dbus/dbus-hash.c: use memory pools for the hash entries
5083 (rebuild_table): be more paranoid about overflow, and
5084 shrink table when we can
5085 (_dbus_hash_test): reduce number of sprintfs and write
5086 valid C89. Add tests for case where we grow and then
5087 shrink the hash table.
5089 * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
5091 * dbus/dbus-connection.c (dbus_connection_register_handler)
5092 (dbus_connection_unregister_handler): new functions
5094 * dbus/dbus-message.c (dbus_message_get_name): new
5096 * dbus/dbus-list.c: fix docs typo
5098 * dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
5099 an object representing a handler for messages.
5101 2002-12-16 Anders Carlsson <andersca@codefactory.se>
5104 * glib/dbus-gthread.c: (dbus_gthread_init):
5105 Don't use the gdbus prefix for public functions.
5107 2002-12-16 Anders Carlsson <andersca@codefactory.se>
5111 Add GLib checks and fixup .pc files
5115 * glib/dbus-gmain.c: (gdbus_connection_prepare),
5116 (gdbus_connection_check), (gdbus_connection_dispatch),
5117 (gdbus_add_connection_watch), (gdbus_remove_connection_watch),
5118 (dbus_connection_gsource_new):
5119 * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
5120 (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
5121 * glib/test-dbus-glib.c: (message_handler), (main):
5124 2002-12-15 Harri Porten <porten@kde.org>
5126 * autogen.sh: check for libtoolize before attempting to use it
5128 * dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
5131 * .cvsignore: ignore more stamp files
5133 * dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
5135 * test/Makefile.am: added -I$(top_srcdir) to be able to compile
5136 without make install.
5138 2002-12-15 Havoc Pennington <hp@pobox.com>
5140 * dbus/dbus-threads.c: add thread stubs that a higher library
5141 layer can fill in. e.g. the GLib wrapper might fill them in with
5142 GThread stuff. We still need to use this thread API to
5143 thread-safe-ize the library.
5145 2002-12-12 Havoc Pennington <hp@pobox.com>
5147 * dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
5148 below new interfaces and include fewer system headers.
5150 * dbus/dbus-sysdeps.c (_dbus_read): new function
5151 (_dbus_write): new function
5152 (_dbus_write_two): new function
5153 (_dbus_connect_unix_socket): new function
5154 (_dbus_listen_unix_socket): new function
5156 * dbus/dbus-message-internal.h: change interfaces to use
5159 2002-12-11 Havoc Pennington <hp@pobox.com>
5161 * dbus/dbus-types.h: add dbus_unichar
5163 * dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
5165 * dbus/dbus-connection.c (dbus_connection_send_message): return
5168 * dbus/dbus-transport.c: include dbus-watch.h
5170 * dbus/dbus-connection.c: include dbus-message-internal.h
5172 * HACKING: add file with coding guidelines stuff.
5174 * dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
5175 handling here, for security purposes (as in vsftpd). Not actually
5176 using this class yet.
5178 * dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
5179 system/libc usage here, as in vsftpd, for ease of auditing (and
5180 should also simplify portability). Haven't actually moved all the
5181 system/libc usage into here yet.
5183 2002-11-25 Havoc Pennington <hp@pobox.com>
5185 * dbus/dbus-internals.c (_dbus_verbose): fix to not
5186 always print the first verbose message.
5188 2002-11-24 Havoc Pennington <hp@pobox.com>
5190 * test/echo-client.c, test/echo-server.c: cheesy test
5193 * configure.in (AC_CHECK_FUNCS): check for writev
5195 * dbus/dbus-message.c (_dbus_message_get_network_data): new
5198 * dbus/dbus-list.c (_dbus_list_foreach): new function
5200 * dbus/dbus-internals.c (_dbus_verbose): new function
5202 * dbus/dbus-server.c, dbus/dbus-server.h: public object
5203 representing a server that listens for connections.
5205 * dbus/.cvsignore: create
5207 * dbus/dbus-errors.h, dbus/dbus-errors.c:
5208 public API for reporting errors
5210 * dbus/dbus-connection.h, dbus/dbus-connection.c:
5211 public object representing a connection that
5212 sends/receives messages. (Same object used for
5213 both client and server.)
5215 * dbus/dbus-transport.h, dbus/dbus-transport.c:
5216 Basic abstraction for different kinds of stream
5217 that we might read/write messages from.
5219 2002-11-23 Havoc Pennington <hp@pobox.com>
5221 * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
5224 * dbus/dbus-test.c (main): add list test, and include
5225 dbus-test.h as intended
5227 * dbus/dbus-hash.c (_dbus_hash_table_remove_string)
5228 (_dbus_hash_table_remove_int): return value indicates
5229 whether the entry existed to remove
5231 * dbus/dbus-list.c: add linked list utility class,
5234 * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
5237 2002-11-23 Havoc Pennington <hp@pobox.com>
5239 * Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
5240 DBUS_END_DECLS to nothing, that should fix this once and for all
5242 * Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
5244 * dbus/dbus-message.c, dbus/dbus-hash.c:
5245 add some missing @brief
5247 2002-11-23 Havoc Pennington <hp@pobox.com>
5249 * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS
5250 to avoid confusing Doxygen
5252 * dbus/dbus-hash.c: @} not }@
5254 * dbus/dbus-message.c (struct DBusMessage): split out
5257 2002-11-23 Havoc Pennington <hp@pobox.com>
5259 * configure.in: pile on more warning flags if using gcc
5261 * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
5262 to document static functions
5264 * configure.in: add summary to end of configure so it
5265 looks nice and attractive
5267 * dbus/dbus-hash.c: finish implementation and write unit
5270 * configure.in: add --enable-tests to enable unit tests
5272 * dbus/dbus-test.c: test program to run unit tests
5273 for all files in dbus/*, initially runs a test for
5276 * dbus/dbus-internals.h: file to hold some internal utility stuff
5278 2002-11-22 Havoc Pennington <hp@redhat.com>
5280 * dbus/dbus-hash.c: copy in Tcl hash table, not yet
5281 "ported" away from Tcl
5283 * dbus/dbus-types.h: header for types such as dbus_bool_t
5285 2002-11-22 Havoc Pennington <hp@redhat.com>
5287 * dbus/dbus.h: fixups for doc warnings
5289 * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up
5291 (QUIET): make it quiet so we can see warnings
5293 * dbus/dbus-memory.c: teach D-BUS to allocate and free memory
5295 2002-11-22 Havoc Pennington <hp@redhat.com>
5297 * Makefile.am: include "Doxyfile" target in all-local
5299 * configure.in: generate the Doxyfile
5301 * Doxyfile.in: move Doxyfile here, so we can use
5302 configure to generate a Doxyfile with the right
5305 2002-11-22 Havoc Pennington <hp@redhat.com>
5307 * dbus/dbus-message.c: move inline docs into .c file
5309 * Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
5310 so all docs are under doc/
5311 (MAN_EXTENSION): generate man pages. Use extension
5312 ".3dbus" which matches ".3qt" on my system,
5313 I guess this is OK, I don't know really.
5314 (FILE_PATTERNS): look for .c files not .h, makes sense
5317 2002-11-22 Havoc Pennington <hp@pobox.com>
5319 * Makefile.am (SUBDIRS): rename subdir "server" to "bus"
5320 because any app can be a server, and any app can be a client,
5321 the bus is a special kind of server.
5323 Thu Nov 21 23:35:31 2002 Zack Rusin <zack@kde.org>
5325 * Doxyfile : adding. Still needs Makefile rules to be generated
5326 automatically (just run "doxygen" in the toplevel dir for now to
5329 * dbus/dbus-message.h : Adding sample docs (javadoc since
5330 resembles gtk-doc a little more)
5332 * dbus/dbus.h : Adding sample docs
5334 2002-11-21 Havoc Pennington <hp@redhat.com>
5336 * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
5337 so we can allow ourselves to include files directly,
5338 instead of having to use dbus.h
5340 * dbus/dbus.h: fill in
5342 * dbus/dbus-message.h: sketch out a sample header file.
5343 Include griping if you include it directly instead of
5346 * dbus/dbus-macros.h: new file with macros for extern "C",
5347 TRUE/FALSE, NULL, etc.
5349 * doc/file-boilerplate.c: put include guards in here
5351 2002-11-21 Havoc Pennington <hp@redhat.com>
5353 * doc/file-boilerplate.c: include both AFL and GPL boilerplate.
5355 * COPYING: include the GPL as well, and license code
5356 under both AFL and GPL.
5358 2002-11-21 Havoc Pennington <hp@redhat.com>
5360 * acconfig.h: get rid of this
5362 * autogen.sh (run_configure): add --no-configure option
5364 * configure.in: remove AC_ARG_PROGRAM to make
5365 autoconf complain less. add AC_PREREQ.
5366 add AC_DEFINE third arg.
5368 2002-11-21 Anders Carlsson <andersca@codefactory.se>
5371 Fix references so we can distcheck.
5373 2002-11-21 Havoc Pennington <hp@redhat.com>
5375 * Initial module creation