1 2003-10-16 Havoc Pennington <hp@redhat.com>
3 * glib/dbus-gtest-main.c: bracket with #ifdef DBUS_BUILD_TESTS
5 * Makefile.am (GCOV_DIRS): remove "test", we don't care about test
7 (coverage-report.txt): don't move the .da and .bbg files around
9 2003-10-16 Havoc Pennington <hp@redhat.com>
11 * bus/bus.c (struct BusContext): remove struct field I didn't mean
14 2003-10-16 Havoc Pennington <hp@redhat.com>
16 * bus/connection.c (bus_pending_reply_expired): either cancel or
18 (bus_connections_check_reply): use unlink, not remove_link, as we
19 don't want to free the link; fixes double free mess
21 * dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case
22 where no reply was received
24 * dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock):
27 * bus/signals.c (match_rule_matches): add special cases for the
28 bus driver, so you can match on sender/destination for it.
30 * dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if
31 DBUS_PRINT_BACKTRACE is set
33 * dbus/dbus-internals.c: add pid to assertion failure messages
35 * dbus/dbus-connection.c: add message type code to the debug spew
37 * glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want
38 sender=foo not service=foo
40 * dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the
41 session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use
42 DBUS_ACTIVATION_ADDRESS instead
44 * bus/activation.c: set DBUS_SESSION_BUS_ADDRESS,
45 DBUS_SYSTEM_BUS_ADDRESS if appropriate
47 * bus/bus.c (bus_context_new): handle OOM copying bus type into
50 * dbus/dbus-message.c (dbus_message_iter_get_object_path): new function
51 (dbus_message_iter_get_object_path_array): new function (half
52 finished, disabled for the moment)
54 * glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle
55 DBUS_MESSAGE_TYPE_ERROR
57 * tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to
58 avoid redirecting stderr to /dev/null
59 (babysit): close stdin if not doing the "exit_with_session" thing
61 * dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover
62 debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not
63 stdout/stdin, so things don't get confused
65 * bus/system.conf.in: fix to allow replies, I modified .conf
66 instead of .conf.in again.
68 2003-10-14 David Zeuthen <david@fubar.dk>
70 * python/dbus_bindings.pyx.in (MessageIter.get): fixed typo in
71 argtype to arg_type when raising unknown arg type exception.
72 Changed type list to reflect the changes in dbus-protocol.h so
73 the bindings actually work.
75 2003-10-14 Havoc Pennington <hp@redhat.com>
77 * test/decode-gcov.c: support gcc 3.3 also, though gcc 3.3 seems
78 to have a bug keeping it from outputting the .da files sometimes
79 (string_get_string): don't append garbage nul bytes to the string.
81 2003-10-15 Seth Nickell <seth@gnome.org>
85 Include dbus_h_wrapper.h in the dist tarball.
87 2003-10-14 Havoc Pennington <hp@redhat.com>
89 * bus/bus.c (bus_context_check_security_policy): revamp this to
90 work more sanely with new policy-based requested reply setup
92 * bus/connection.c (bus_transaction_send_from_driver): set bus
93 driver messages as no reply
95 * bus/policy.c (bus_client_policy_check_can_receive): handle a
96 requested_reply attribute on allow/deny rules
98 * bus/system.conf: add <allow requested_reply="true"/>
100 * bus/driver.c (bus_driver_handle_message): fix check for replies
101 sent to the bus driver, which was backward. How did this ever work
102 at all though? I think I'm missing something.
104 * dbus/dbus-message.c (decode_header_data): require error and
105 method return messages to have a reply serial field to be valid
106 (_dbus_message_loader_queue_messages): break up this function;
107 validate that reply serial and plain serial are nonzero;
108 clean up the OOM/error handling.
109 (get_uint_field): don't return -1 from this
110 (dbus_message_create_header): fix signed/unsigned bug
112 * bus/connection.c (bus_connections_expect_reply): save serial of
113 the incoming message, not reply serial
115 2003-10-14 Havoc Pennington <hp@redhat.com>
117 * bus/connection.c: implement pending reply tracking using
120 * bus/bus.c (bus_context_check_security_policy): verify that a
121 reply is pending in order to allow a reply to be sent. Deny
122 messages of unknown type.
124 * bus/dbus-daemon-1.1.in: update to mention new resource limits
126 * bus/bus.c (bus_context_get_max_replies_per_connection): new
127 (bus_context_get_reply_timeout): new
129 2003-10-13 Seth Nickell <seth@gnome.org>
131 * python/Makefile.am:
133 Pass "make distcheck": remove a couple files from DIST_FILES
134 that weren't included in the final version.
136 2003-10-12 Havoc Pennington <hp@pobox.com>
138 Added test code that 1) starts an actual bus daemon and 2) uses
139 DBusGProxy; fixed bugs that were revealed by the test. Lots
140 more testing possible, but this is the basic framework.
142 * glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove
143 empty proxy lists from the proxy list hash
145 * dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a
146 couple of return_if_fail checks
148 * dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0
149 to allocate, so everything is cleared to NULL as it should be.
151 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass
152 source as data to dbus_connection_set_timeout_functions() as the
153 timeout functions expected
155 * test/glib/run-test.sh: add a little script to start up a message
156 bus and run tests using it
158 * tools/dbus-launch.1: updates
160 * tools/dbus-launch.c (main): add --config-file option
162 * tools/dbus-launch.c (main): remove confusing else if (runprog)
163 that could never be reached.
165 * dbus/dbus-message.c (dbus_message_new_method_return)
166 (dbus_message_new_error, dbus_message_new_signal): set the
167 no-reply-expected flag on all these. Redundant, but may
168 as well be consistent.
170 2003-10-11 Havoc Pennington <hp@pobox.com>
172 * test/decode-gcov.c (function_solve_graph): make broken block
173 graph a nonfatal error since it seems to be broken. Need to debug
176 * dbus/dbus-marshal.c (_dbus_type_is_valid): new function since we
177 can't just check type > INVALID < LAST anymore
179 * dbus/dbus-message.c (dbus_message_get_signature): new function
180 (dbus_message_has_signature): new function
181 (struct DBusMessage): add signature field (right now it isn't sent
182 over the wire, just generated on the fly)
183 (dbus_message_copy): copy the signature, and init strings to
184 proper length to avoid some reallocs
185 (dbus_message_iter_init_array_iterator): return void, since it
187 (dbus_message_iter_init_dict_iterator): return void since it can't fail
188 (_dbus_message_loader_queue_messages): add silly temporary hack to
189 fill in message->signature on load
191 * dbus/dbus-protocol.h: change DBUS_TYPE_* values to be ASCII
192 characters, so they are relatively human-readable.
194 2003-10-11 Havoc Pennington <hp@pobox.com>
196 * dbus/dbus-message.c (_dbus_message_test): add more test
197 coverage, but #if 0 for now since they uncover a bug
198 not fixed yet; I think in re_align_field_recurse()
199 (re_align_field_recurse): add FIXME about broken assertion
201 * dbus/dbus-sysdeps.c (_dbus_sysdeps_test): add more test coverage
203 * bus/connection.c: share a couple code bits with expirelist.c
205 * bus/expirelist.h, bus/expirelist.c: implement a generic
206 expire-items-after-N-seconds facility, was going to share between
207 expiring connections and replies, decided not to use for expiring
210 * COPYING: include AFL 2.0 (still need to change all the file headers)
212 2003-10-09 Havoc Pennington <hp@redhat.com>
214 * configure.in: define DBUS_HAVE_GCC33_GCOV if we have
215 gcc 3.3. Not that we do anything about it yet.
217 * bus/signals.c (bus_match_rule_parse): impose max length on the
220 * dbus/dbus-protocol.h: add DBUS_MAXIMUM_MATCH_RULE_LENGTH
222 2003-10-09 Havoc Pennington <hp@redhat.com>
224 Make matching rules theoretically work (add parser).
226 * bus/bus.c (bus_context_check_security_policy): fix up to handle
227 the case where destination is explicitly specified as bus driver
228 and someone else is eavesdropping.
230 * bus/policy.c (bus_client_policy_check_can_receive): fix up
231 definition of eavesdropping and assertion
233 * tools/dbus-send.c (main): use dbus_message_type_from_string
235 * bus/signals.c (bus_match_rule_parse): implement
237 * dbus/dbus-message.c (dbus_message_type_from_string): new
239 * dbus/dbus-errors.h (DBUS_ERROR_MATCH_RULE_INVALID): add
241 2003-10-02 Havoc Pennington <hp@pobox.com>
243 * glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): rename from
244 dbus_gproxy_oneway_call
246 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main)
247 (dbus_server_setup_with_g_main): fix to allow calling them more
248 than once on the same args
249 (dbus_bus_get_with_g_main): new function
251 2003-10-02 Havoc Pennington <hp@redhat.com>
253 * doc/dbus-tutorial.xml: write some stuff
255 2003-09-29 Havoc Pennington <hp@pobox.com>
257 * configure.in: split checks for Doxygen from XML docs, check for
260 * doc/Makefile.am: XML-ify all the docs, and add a blank
263 2003-09-29 Havoc Pennington <hp@pobox.com>
265 * Merge dbus-object-names branch. To see the entire patch
266 do cvs diff -r DBUS_OBJECT_NAMES_BRANCHPOINT -r dbus-object-names,
268 To revert, I tagged DBUS_BEFORE_OBJECT_NAMES_MERGE.
270 2003-09-28 Havoc Pennington <hp@pobox.com>
272 * HACKING: update to reflect new server
274 2003-09-26 Seth Nickell <seth@gnome.org>
277 * python/examples/example-signals.py:
279 Start implementing some notions of signals. The API
280 is really terrible, but they sort of work (with the
281 exception of being able to filter by service, and to
282 transmit signals *as* a particular service). Need to
283 figure out how to make messages come from the service
286 * python/dbus_bindings.pyx.in:
288 Removed duplicate message_handler callbacks.
290 2003-09-25 Havoc Pennington <hp@redhat.com>
292 * bus/session.conf.in: fix my mess
294 2003-09-25 Havoc Pennington <hp@pobox.com>
296 * bus/session.conf.in: fix security policy, reported by Seth Nickell
298 2003-09-25 Seth Nickell <seth@gnome.org>
300 * python/examples/example-service.py:
302 Johan notices complete wrong code in example-service, but
303 completely wrong in a way that works exactly the same (!).
304 Johan is confused, how could this possibly work? Example
305 code fails to serve purpose of making things clear.
308 2003-09-25 Mark McLoughlin <mark@skynet.ie>
310 * doc/dbus-specification.sgml: don't require header fields
311 to be 4-byte aligned and specify that fields should be
312 distinguished from padding by the fact that zero is not
315 * doc/TODO: remove re-alignment item and add item to doc
316 the OBJECT_PATH type.
318 * dbus/dbus-message.c:
319 (HeaderField): rename the original member to value_offset
320 and introduce a name_offset member to keep track of where
321 the field actually begins.
322 (adjust_field_offsets): remove.
323 (append_int_field), (append_uint_field),
324 (append_string_field): don't align the start of the header
325 field to a 4-byte boundary.
326 (get_next_field): impl finding the next marhsalled field
328 (re_align_field_recurse): impl re-aligning a number of
329 already marshalled fields.
330 (delete_field): impl deleting a field of any type and
331 re-aligning any following fields.
332 (delete_int_or_uint_field), (delete_string_field): remove.
333 (set_int_field), (set_uint_field): no need to re-check
334 that we have the correct type for the field.
335 (set_string_field): ditto and impl re-aligning any
337 (decode_header_data): update to take into account that
338 the fields aren't 4-byte aligned any more and the new
339 way to distinguish padding from header fields. Also,
340 don't exit when there is too much header padding.
341 (process_test_subdir): print the directory.
342 (_dbus_message_test): add test to make sure a following
343 field is re-aligned correctly after field deletion.
345 * dbus/dbus-string.[ch]:
346 (_dbus_string_insert_bytes): rename from insert_byte and
347 allow the insert of multiple bytes.
348 (_dbus_string_test): test inserting multiple bytes.
350 * dbus/dbus-marshal.c: (_dbus_marshal_set_string): add
351 warning note to docs about having to re-align any
352 marshalled values following the string.
354 * dbus/dbus-message-builder.c:
355 (append_string_field), (_dbus_message_data_load):
356 don't align the header field.
358 * dbus/dbus-auth.c: (process_test_subdir): print the
361 * test/break-loader.c: (randomly_add_one_byte): upd. for
364 * test/data/invalid-messages/bad-header-field-alignment.message:
367 * test/data/valid-messages/unknown-header-field.message: shove
368 a dict in the unknown field.
370 2003-09-25 Seth Nickell <seth@gnome.org>
373 * python/dbus_bindings.pyx.in:
375 Handle return values.
377 * python/examples/example-client.py:
378 * python/examples/example-service.py:
380 Pass back return values from the service to the client.
382 2003-09-24 Seth Nickell <seth@gnome.org>
386 Connect Object methods (when you are sharing an object) up... pass
387 in a list of methods to be shared. Sharing all the methods just
388 worked out too weird. You can now create nice Services over the
391 * python/dbus_bindings.pyx.in:
393 Keep references to user_data tuples passed into C functions so
394 Python doesn't garbage collect on us.
396 Implement MethodReturn and Error subclasses of Message for creating
397 DBusMessage's of those types.
399 * python/examples/example-client.py:
400 * python/examples/example-service.py:
402 Simple example code showing both how create DBus services and objects,
405 2003-09-23 Havoc Pennington <hp@pobox.com>
407 * glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement
409 2003-09-23 Havoc Pennington <hp@redhat.com>
411 * glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement
412 (dbus_gproxy_disconnect_signal): implement
413 (dbus_gproxy_manager_remove_signal_match): implement
414 (dbus_gproxy_manager_add_signal_match): implement
415 (dbus_gproxy_oneway_call): implement
417 2003-09-23 Havoc Pennington <hp@pobox.com>
419 * glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject
420 subclass. This means dropping the transparent thread safety of the
421 proxy; you now need a separate proxy per-thread, or your own
422 locking on the proxy. Probably right anyway.
423 (dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref
425 2003-09-22 Havoc Pennington <hp@redhat.com>
427 * glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement
429 2003-09-21 Seth Nickell <seth@gnome.org>
431 First checkin of the Python bindings.
434 * python/Makefile.am:
435 * python/dbus_bindings.pyx.in:
436 * python/dbus_h_wrapper.h:
438 Pieces for Pyrex to operate on, building a dbus_bindings.so
439 python module for low-level access to the DBus APIs.
443 High-level Python module for accessing DBus objects.
448 Build stuff for the python bindings.
452 Extra macro needed for finding the Python C header files.
454 2003-09-21 Havoc Pennington <hp@pobox.com>
456 * glib/dbus-gproxy.c (dbus_gproxy_manager_new): start
457 implementing the proxy manager, didn't get very far.
459 * dbus/dbus-bus.c (dbus_bus_add_match): new
460 (dbus_bus_remove_match): new
462 * glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a
463 path_name argument; adjust the other not-yet-implemented
464 gproxy constructors to be what I think they should be.
466 2003-09-21 Havoc Pennington <hp@pobox.com>
468 * dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE
469 by default for message bus connections.
471 * dbus/dbus-connection.c (dbus_connection_dispatch): exit if
472 exit_on_disconnect flag is set and we process the disconnected
474 (dbus_connection_set_exit_on_disconnect): new function
476 2003-09-21 Havoc Pennington <hp@pobox.com>
478 Get matching rules mostly working in the bus; only actually
479 parsing the rule text remains. However, the client side of
480 "signal connections" hasn't been started, this patch is only the
483 * dbus/dispatch.c: fix for the matching rules changes
485 * bus/driver.c (bus_driver_handle_remove_match)
486 (bus_driver_handle_add_match): send an ack reply from these
489 * glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of
490 arguments, reported by Seth Nickell
492 * bus/config-parser.c (append_rule_from_element): support
493 eavesdrop=true|false attribute on policies so match rules
494 can be prevented from snooping on the system bus.
496 * bus/dbus-daemon-1.1.in: consistently use terminology "sender"
497 and "destination" in attribute names; fix some docs bugs;
498 add eavesdrop=true|false attribute
500 * bus/driver.c (bus_driver_handle_add_match)
501 (bus_driver_handle_remove_match): handle AddMatch, RemoveMatch
504 * dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get
505 rid of broadcast service concept, signals are just always broadcast
507 * bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c:
508 mostly implement matching rules stuff (currently only exposed as signal
511 2003-09-21 Mark McLoughlin <mark@skynet.ie>
513 * doc/dbus-specification.sgml: Change the header field name
514 to be an enum and update the rest of the spec to reference
515 the fields using the conventinal name.
517 * dbus/dbus-protocol.h: update to reflect the spec.
519 * doc/TODO: add item to remove the 4 byte alignment requirement.
521 * dbus/dbus-message.c: Remove the code to generalise the
522 header/body length and serial number header fields as named
523 header fields so we can reference field names using the
525 (append_int_field), (append_uint_field), (append_string_field):
526 Append the field name as a byte rather than four chars.
527 (delete_int_or_uint_field), (delete_string_field): reflect the
528 fact that the field name and typecode now occupy 4 bytes instead
530 (decode_string_field), (decode_header_data): update to reflect
531 protocol changes and move the field specific encoding from
532 decode_string_field() back into decode_header_data().
534 * dbus/dbus-internals.[ch]: (_dbus_header_field_to_string):
535 Add utility to aid debugging.
537 * dbus/dbus-message-builder.c:
538 (append_string_field), (_dbus_message_data_load): Update to
539 reflect protocol changes; Change the FIELD_NAME directive
540 to HEADER_FIELD and allow it to take the field's conventional
541 name rather than the actual value.
543 * test/data/*/*.message: Update to use HEADER_FIELD instead
544 of FIELD_NAME; Always align the header on an 8 byte boundary
545 *before* updating the header length.
547 2003-09-15 Havoc Pennington <hp@pobox.com>
549 * dbus/dbus-pending-call.c: add the get/set object data
550 boilerplate as for DBusConnection, etc. Use generic object data
551 for the notify callback.
553 * glib/dbus-gparser.c (parse_node): parse child nodes
555 * tools/dbus-viewer.c: more hacking on the dbus-viewer
557 * glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to
558 contain functions shared between the convenience lib and the
561 * glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add
562 -export-symbols-regex to the GLib library
564 * dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock):
565 fix the locking in here, and add a default handler for
566 Introspect() that just returns sub-nodes.
568 2003-09-14 Havoc Pennington <hp@pobox.com>
570 * glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo
571 rather than gfoo consistent
573 * glib/dbus-gproxy.h: delete for now, move contents to
574 dbus-glib.h, because the include files don't work right since we
575 aren't in the dbus/ subdir.
577 * glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing
578 (dbus_gproxy_end_call): finish
579 (dbus_gproxy_begin_call): finish
581 * glib/dbus-gmain.c (dbus_set_g_error): new
583 * glib/dbus-gobject.c (handle_introspect): include information
584 about child nodes in the introspection
586 * dbus/dbus-connection.c (dbus_connection_list_registered): new
587 function to help in implementation of introspection
589 * dbus/dbus-object-tree.c
590 (_dbus_object_tree_list_registered_and_unlock): new function
592 2003-09-12 Havoc Pennington <hp@pobox.com>
594 * glib/dbus-gidl.h: add common base class for all the foo_info
597 * tools/dbus-viewer.c: add GTK-based introspection UI thingy
600 * test/Makefile.am: try test srcdir -ef . in addition to test
601 srcdir = ., one of them should work (yeah lame)
603 * glib/Makefile.am: build the "idl" parser stuff as a convenience
606 * glib/dbus-gparser.h: make description_load routines return
607 NodeInfo* not Parser*
609 * Makefile.am (SUBDIRS): build test dir after all library dirs
611 * configure.in: add GTK+ detection
613 2003-09-07 Havoc Pennington <hp@pobox.com>
615 * Make Doxygen contented.
617 2003-09-07 Havoc Pennington <hp@pobox.com>
619 * doc/dbus-specification.sgml: more updates
621 2003-09-06 Havoc Pennington <hp@pobox.com>
623 * doc/dbus-specification.sgml: partial updates
625 * bus/dbus-daemon-1.1.in: fix the config file docs for the
626 zillionth time; hopefully I edited the right file this time.
628 * bus/config-parser.c (append_rule_from_element): support
629 send_type, send_path, receive_type, receive_path
631 * bus/policy.c: add message type and path to the list of things
632 that can be "firewalled"
634 2003-09-06 Havoc Pennington <hp@pobox.com>
636 * dbus/dbus-connection.c (dbus_connection_register_fallback): add this
637 (dbus_connection_register_object_path): make this not handle
638 messages to paths below the given path
640 2003-09-03 Havoc Pennington <hp@pobox.com>
642 * test/glib/Makefile.am: add this with random glib-linked test
645 * glib/Makefile.am: remove the random test programs from here,
646 leave only the unit tests
648 * glib/dbus-gobject.c (_dbus_gobject_test): add test for
649 uscore/javacaps conversion, and fix
650 (get_object_property, set_object_property): change to .NET
651 convention for mapping props to methods, set_FooBar/get_FooBar,
652 since one language has such a convention we may as well copy it.
653 Plus real methods in either getFooBar or get_foo_bar style won't
654 collide with this convention.
656 2003-09-01 Havoc Pennington <hp@pobox.com>
658 * glib/dbus-gparser.c: implement
660 * glib/dbus-gobject.c: start implementing skeletons support
662 * configure.in: when disabling checks/assert, also define
663 G_DISABLE_ASSERT and G_DISABLE_CHECKS
665 2003-09-01 Havoc Pennington <hp@pobox.com>
667 * glib/Makefile.am: rearrange a bunch of files and get "make
668 check" framework set up
670 2003-08-31 Havoc Pennington <hp@pobox.com>
672 * fix build with --disable-tests
674 2003-08-30 Havoc Pennington <hp@pobox.com>
676 * dbus/dbus-connection.c: purge DBusMessageHandler
678 * dbus/dbus-message-handler.c: remove DBusMessageHandler, just
679 use callbacks everywhere
681 2003-08-30 Havoc Pennington <hp@pobox.com>
683 * test/data/valid-config-files/system.d/test.conf: change to
684 root for the user so warnings don't get printed
686 * dbus/dbus-message.c: add dbus_message_get_path,
687 dbus_message_set_path
689 * dbus/dbus-object-tree.c (do_test_dispatch): add test of
690 dispatching to a path
692 * dbus/dbus-string.c (_dbus_string_validate_path): add
694 * dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement
695 (_dbus_marshal_object_path): implement
697 * dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field
698 to contain the path to the target object
699 (DBUS_HEADER_FIELD_SENDER_SERVICE): rename
700 DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service
702 2003-08-30 Havoc Pennington <hp@pobox.com>
704 * dbus/dbus-object-tree.c: write tests and fix the discovered bugs
706 2003-08-29 Havoc Pennington <hp@pobox.com>
708 * dbus/dbus-object-tree.c: modify to allow overlapping paths to be
710 (struct DBusObjectSubtree): shrink this
711 a lot, since we may have a lot of them
712 (_dbus_object_tree_free_all_unlocked): implement
713 (_dbus_object_tree_dispatch_and_unlock): implement
715 2003-08-29 Havoc Pennington <hp@pobox.com>
717 * dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS
719 2003-08-28 Havoc Pennington <hp@pobox.com>
723 * dbus/dbus-connection.c: port to no ObjectID, create a
724 DBusObjectTree, rename ObjectTree to ObjectPath in public API
726 * dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete
727 everything except UnregisterFunction and MessageFunction
729 * dbus/dbus-marshal.c: port away from DBusObjectID,
730 add DBUS_TYPE_OBJECT_PATH
732 * dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc],
733 dbus/dbus-objectid.[hc]: remove these, we are moving to
734 path-based object IDs
736 2003-08-25 Havoc Pennington <hp@pobox.com>
738 Just noticed that dbus_message_test is hosed, I wonder when I
739 broke that. I thought make check was passing earlier...
741 * dbus/dbus-object-tree.c: add new "object tree" to match DCOP
742 container tree, will replace most of dbus-object-registry
744 * dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99
747 2003-08-19 Havoc Pennington <hp@pobox.com>
749 * dbus/dbus-message.c (decode_string_field): support FIELD_SENDER
750 (dbus_message_is_error): fix this function
752 * bus/dbus-daemon-1.1: clarify logic on when <deny>/<allow> rules
755 * bus/policy.c (bus_client_policy_check_can_receive): fix code to
756 reflect clarified man page
757 (bus_client_policy_check_can_send): ditto
759 * bus/session.conf.in: fixup
761 * bus/system.conf.in: fixup
763 2003-08-18 Havoc Pennington <hp@redhat.com>
765 * dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix
767 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
768 dumb bug created earlier (wrong order of args to
769 decode_header_data())
771 * tools/dbus-send.c: port
773 * tools/dbus-print-message.c (print_message): port
775 * test/data/*messages: port all messages over
777 * dbus/dbus-message-builder.c: support including
780 * bus/driver.c: port over
782 * bus/dispatch.c: port over to new stuff
784 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
785 rename disconnect signal to "Disconnected"
787 2003-08-17 Havoc Pennington <hp@pobox.com>
789 This doesn't compile yet, but syncing up so I can hack on it from
790 work. What are branches for if not broken code? ;-)
792 * dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add
793 DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER,
794 DBUS_HEADER_FIELD_ERROR_NAME
796 * dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use
797 for the interface+member pairs
798 (string_hash): change to use g_str_hash algorithm
799 (find_direct_function, find_string_function): refactor these to
802 * dbus/dbus-message.c: port all of this over to support
803 interface/member fields instead of name field
805 * dbus/dbus-object-registry.c: port over
807 * dbus/dbus-string.c (_dbus_string_validate_interface): rename
808 from _dbus_string_validate_name
810 * bus/dbus-daemon-1.1: change file format for the
811 <deny>/<allow> stuff to match new message naming scheme
813 * bus/policy.c: port over
815 * bus/config-parser.c: parse new format
817 2003-08-16 Havoc Pennington <hp@pobox.com>
819 * dbus/dbus-object-registry.c (add_and_remove_objects): remove
822 * glib/dbus-gproxy.c: some hacking
824 2003-08-15 Havoc Pennington <hp@redhat.com>
826 * dbus/dbus-pending-call.c (dbus_pending_call_block): implement
828 * dbus/dbus-connection.c
829 (dbus_connection_send_with_reply_and_block): factor out internals;
830 change to convert any error replies to DBusError instead of
831 returning them as a message
833 2003-08-15 Havoc Pennington <hp@pobox.com>
835 * dbus/dbus-connection.c,
836 dbus/dbus-pending-call.c: Finish the pending call stuff
838 2003-08-14 Havoc Pennington <hp@redhat.com>
840 * dbus/dbus-pending-call.c: start on new object that will replace
841 DBusMessageHandler and ReplyHandlerData for tracking outstanding
844 * dbus/dbus-gproxy.c: start on proxy object used to communicate
845 with remote interfaces
847 * dbus/dbus-gidl.c: do the boring boilerplate in here
849 2003-08-12 Havoc Pennington <hp@pobox.com>
851 * bus/dispatch.c (bus_dispatch): make this return proper
852 DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD
854 * dbus/dbus-errors.c (dbus_set_error): use
855 _dbus_string_append_printf_valist
857 * dbus/dbus-string.c (_dbus_string_append_printf_valist)
858 (_dbus_string_append_printf): new
860 * dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to
863 * dbus/dbus-connection.c (dbus_connection_dispatch): handle
864 DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a
865 message is unhandled.
867 2003-08-11 Havoc Pennington <hp@pobox.com>
869 * bus/test.c (client_disconnect_handler): change to return
870 HANDLED (would have been REMOVE_MESSAGE)
872 * dbus/dbus-object.h (enum DBusHandlerResult): rename to
873 HANDLED/NOT_YET_HANDLED instead of
874 REMOVE_MESSAGE/ALLOW_MORE_HANDLERS to make it clearer how it
877 2003-08-10 Havoc Pennington <hp@pobox.com>
879 * tools/dbus-send.c (main): add --type argument, for now
880 supporting only method_call and signal types.
882 * tools/dbus-print-message.c: print message type
884 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
885 init connection->objects
887 * doc/dbus-specification.sgml: fix sgml
889 * bus/*.c: port over to object-instance API changes
891 * test/test-service.c: ditto
893 * dbus/dbus-message.c (dbus_message_create_header): allow #NULL
894 name, we will have to fix up the rest of the code to also handle
896 (dbus_message_new): generic message-creation call
897 (set_string_field): allow appending name field
899 2003-08-06 Havoc Pennington <hp@pobox.com>
901 * dbus/dbus-object-registry.c: implement signal connection
904 * dbus/dbus-connection.c (_dbus_connection_unref_unlocked): new
906 * dbus/dbus-internals.c (_dbus_memdup): new function
908 2003-08-02 Havoc Pennington <hp@pobox.com>
910 * dbus/dbus-message.c (dbus_message_get_no_reply)
911 (dbus_message_set_no_reply): add these and remove
912 set_is_error/get_is_error
914 * dbus/dbus-protocol.h, doc/dbus-specification.sgml:
915 remove the ERROR flag, since there's now an ERROR type
917 2003-08-01 Havoc Pennington <hp@pobox.com>
919 * dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock):
922 * dbus/dbus-message.c (dbus_message_get_type): new function
924 * doc/dbus-specification.sgml: add "type" byte to messages
926 2003-08-01 Havoc Pennington <hp@pobox.com>
928 * dbus/dbus-protocol.h (DBUS_MESSAGE_TYPE_*): introduce
929 a message type enum to distinguish kinds of message
930 (DBUS_HEADER_FLAG_NO_REPLY_EXPECTED): flag for a message
931 that need not be replied to
933 2003-08-01 Havoc Pennington <hp@pobox.com>
935 * dbus/dbus-marshal.c: adapt to DBusObjectID changes
936 (unpack_8_octets): fix no-64-bit-int bug
938 * dbus/dbus-object-registry.c (validate_id): validate the
939 connection ID bits, not just the instance ID.
941 * dbus/dbus-connection.c (_dbus_connection_init_id): initialize
942 the connection-global 33 bits of the object ID
944 * dbus/dbus-object-registry.c (info_from_entry): fill in
945 object ID in the new way
947 * dbus/dbus-objectid.h: rather than high/low bits, specifically
948 define server/client/instance bits.
950 2003-07-30 Havoc Pennington <hp@pobox.com>
952 * dbus/dbus-connection.c (dbus_connection_register_object): fix
955 2003-07-13 Havoc Pennington <hp@pobox.com>
957 * dbus/dbus-object.h (struct DBusObjectVTable): add padding
958 fields to DBusObjectVTable and DBusObjectInfo
960 2003-07-12 Havoc Pennington <hp@pobox.com>
962 * dbus/dbus-object-registry.c: implement unit test,
963 fix bugs discovered in process
965 * dbus/dbus-connection.c: remove handler_table and
966 register_handler(), add DBusObjectRegistry usage
968 * dbus/dbus-objectid.c (dbus_object_id_is_null)
969 (dbus_object_id_set_null): new functions
971 2003-07-08 Havoc Pennington <hp@pobox.com>
973 * dbus/dbus-object.c: implement some of this
975 * dbus/dbus-object-registry.c
976 (_dbus_object_registry_add_and_unlock): fill in the object_id out
978 (_dbus_object_registry_new): handle OOM
980 2003-07-08 Havoc Pennington <hp@pobox.com>
982 * dbus/dbus-object.h: sketch out an API for registering objects
983 with a connection, that allows us to use as little as 24 bytes
984 per object and lets application code represent an object in
987 * dbus/dbus-object-registry.c: implement the hard bits of the
988 DBusConnection aspect of object API. Not yet wired up.
990 2003-07-06 Havoc Pennington <hp@pobox.com>
992 * dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function
993 (_dbus_marshal_object_id): new
994 (_dbus_demarshal_object_id): new
995 (_dbus_marshal_get_arg_end_pos): support object ID type, and
996 consolidate identical switch cases. Don't conditionalize handling
997 of DBUS_TYPE_UINT64, need to handle the type always.
998 (_dbus_marshal_validate_arg): consolidate identical cases, and
999 handle DBUS_TYPE_OBJECT_ID
1001 * dbus/dbus-objectid.c: new file with DBusObjectID data type.
1003 * dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID
1005 2003-09-28 Havoc Pennington <hp@pobox.com>
1009 2003-09-28 Havoc Pennington <hp@pobox.com>
1011 * doc/Makefile.am (dbus-specification.html): testing a funky hack
1012 to work with Debian db2html
1014 2003-09-28 Havoc Pennington <hp@pobox.com>
1016 * configure.in: 0.13
1018 * doc/Makefile.am (dbus-test-plan.html): accept nonexistence of
1019 stylesheet-images for benefit of Debian
1021 Change back to using filesystem-linked sockets for the system
1022 bus, so only root can create the default system bus address.
1024 * bus/system.conf.in: change to use
1025 DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
1027 * dbus/Makefile.am (INCLUDES): remove DBUS_SYSTEM_BUS_PATH define
1030 * configure.in: define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
1031 here, and AC_DEFINE DBUS_SYSTEM_PATH
1033 2003-08-09 Anders Carlsson <andersca@codefactory.se>
1036 * doc/busconfig.dtd:
1039 2003-08-09 Anders Carlsson <andersca@codefactory.se>
1041 * doc/dbus-specification.sgml:
1042 Add activation reply values.
1044 2003-08-05 Havoc Pennington <hp@redhat.com>
1046 * configure.in: 0.12
1048 2003-08-05 Anders Carlsson <andersca@codefactory.se>
1050 * glib/dbus-gmain.c: (watch_fd_new), (watch_fd_ref),
1051 (watch_fd_unref), (dbus_gsource_check), (dbus_gsource_dispatch),
1052 (add_watch), (remove_watch), (create_source):
1053 Refcount fds, fixes some reentrancy issues.
1055 2003-07-30 Havoc Pennington <hp@redhat.com>
1057 * dbus/dbus-bus.c (init_connections_unlocked): fix default system
1058 bus address to be abstract if we have abstract sockets
1062 2003-07-28 Havoc Pennington <hp@redhat.com>
1064 * bus/messagebus.in: fix to avoid processname/servicename
1065 confusion, from Michael Kearey
1066 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100965
1068 2003-07-23 Havoc Pennington <hp@pobox.com>
1070 * dbus/dbus-message.c (dbus_message_iter_get_named):
1071 fix from Andy Hanton to remove broken "+1"
1073 2003-07-16 Havoc Pennington <hp@pobox.com>
1075 * tools/dbus-launch.c (babysit): close stdout/stderr in the
1076 babysitter process, as suggested by Thomas Leonard, so
1077 an "eval `dbus-launch --exit-with-session`" will actually
1080 2003-07-16 Havoc Pennington <hp@pobox.com>
1082 * configure.in: print out EXPANDED_* variables in the summary at
1083 the end; clean up the code that computes EXPANDED_ variables and
1084 get the ones using exec_prefix right. Should make things work
1085 when you build without --prefix
1087 2003-06-29 Havoc Pennington <hp@pobox.com>
1089 * mono/Test.cs (class Test): fire up a main loop and run it
1091 * mono/DBus.cs (DBus): don't g_thread_init since it can only be
1092 done once, the app has to do it
1094 2003-06-26 Havoc Pennington <hp@pobox.com>
1096 * mono/Connection.cs: set up connection with the glib main loop
1098 2003-07-01 Havoc Pennington <hp@redhat.com>
1100 * doc/dbus-specification.sgml: clarify the format of a type code,
1101 change suggested by Jim Blandy
1103 2003-06-29 Miloslav Trmac <mitr@volny.cz>
1106 * tools/Makefile.am: Don't assume srcdir == builddir.
1108 * dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
1109 the allocated block.
1110 (_dbus_memory_test): New function.
1111 * dbus/dbus-test.h: Add _dbus_memory_test ().
1112 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
1114 * dbus/dbus-message.c (decode_header_data): Use %.4s instead
1116 (dbus_message_new): Remove obsolete @todo.
1118 * dbus/dbus-marshal.c (_dbus_marshal_set_int64)
1119 (_dbus_marshal_set_uint64): Fix comment.
1121 * dbus/dbus-message.c (append_int_field, append_uint_field): Don't
1122 hardcode FIELD_REPLY_SERIAL.
1124 * dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
1125 (_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p
1127 * configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
1128 and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
1130 2003-06-24 Havoc Pennington <hp@pobox.com>
1132 * mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0)
1134 2003-06-23 Anders Carlsson <andersca@codefactory.se>
1140 * gcj/TestMessage.java: (TestMessage), (TestMessage.main):
1141 * gcj/org/.cvsignore:
1142 * gcj/org/Makefile.am:
1143 * gcj/org/freedesktop/.cvsignore:
1144 * gcj/org/freedesktop/Makefile.am:
1145 * gcj/org/freedesktop/dbus/.cvsignore:
1146 * gcj/org/freedesktop/dbus/Makefile.am:
1147 * gcj/org/freedesktop/dbus/Message.java: (Message),
1149 * gcj/org/freedesktop/dbus/natMessage.cc:
1150 Fix the build system.
1152 2003-06-22 Havoc Pennington <hp@pobox.com>
1154 * mono/Connection.cs: add more bindings
1156 * dbus/dbus-threads.c (dbus_threads_init): allow calling this
1159 2003-06-22 Havoc Pennington <hp@pobox.com>
1161 * mono/Connection.cs, mono/DBus.cs, mono/Error.cs:
1162 Start wrapping more stuff.
1164 2003-06-22 Havoc Pennington <hp@pobox.com>
1166 * mono/Message.cs: implement Message.Wrap() that ensures we only
1167 have a single C# wrapper per DBusMessage, assuming it works which
1168 it probably doesn't.
1170 * dbus/dbus-message.c (dbus_message_allocate_data_slot): new
1171 (dbus_message_free_data_slot): new
1172 (dbus_message_set_data): new
1173 (dbus_message_get_data): new
1175 2003-06-22 Havoc Pennington <hp@pobox.com>
1177 * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref)
1178 (_dbus_data_slot_allocator_alloc): rework these to keep a
1179 reference count on each slot and automatically manage a global
1180 slot ID variable passed in by address
1182 * bus/bus.c: convert to new dataslot API
1184 * dbus/dbus-bus.c: convert to new dataslot API
1186 * dbus/dbus-connection.c: convert to new dataslot API
1188 * dbus/dbus-server.c: convert to new dataslot API
1190 * glib/dbus-gmain.c: ditto
1194 * bus/connection.c: ditto
1196 2003-06-22 Anders Carlsson <andersca@codefactory.se>
1198 * configure.in: Add AM_PROG_GCJ and move AM_PROG_LIBTOOL
1199 after the gcj checks so that the correct configuration tags
1200 will be added to libtool.
1202 * dbus-glib-1.pc.in: No need to specify any includes since
1203 dbus-1.pc.in has those.
1205 2003-06-22 Havoc Pennington <hp@pobox.com>
1207 * mono/*, gcj/*, configure.in, Makefile.am:
1208 Check in makefiles and subdirs for mono and gcj bindings.
1209 Neither binding actually exists, just trying to get through
1210 all the build and other boring bits.
1212 2003-06-21 Philip Blundell <philb@gnu.org>
1214 * tools/dbus-monitor.1: Updated.
1216 * tools/dbus-send.1: Likewise.
1218 2003-06-20 Anders Carlsson <andersca@codefactory.se>
1220 * dbus/dbus-transport-unix.c (unix_handle_watch): Check
1221 for hangup and error after checking read so we won't discard
1222 pending data if both hangup and read are set.
1224 2003-06-19 Philip Blundell <philb@gnu.org>
1226 * tools/dbus-print-message.c (print_message): Handle BOOLEAN.
1228 * tools/dbus-send.c: Accept both --system and --session.
1230 * tools/dbus-monitor.c: Same here.
1232 2003-06-19 Anders Carlsson <andersca@codefactory.se>
1234 * glib/dbus-glib.h: Fix so that dbus-glib.h can be used
1235 from C++ (Patch by Miloslav Trmac).
1237 2003-06-15 Joe Shaw <joe@assbarn.com>
1239 * configure.in: Check for socklen_t.
1241 * dbus/dbus-sysdeps.c: Define socklen_t if it's not defined.
1243 * test/test-segfault.c: Add #include <sys/time.h>
1245 * tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since
1246 dbus-launch needs it.
1248 2003-06-09 Havoc Pennington <hp@redhat.com>
1250 * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use
1251 SUN_LEN, it breaks abstract socket usage
1253 * dbus/dbus-internals.c (_dbus_verbose_real): only print PID at
1256 2003-06-04 Havoc Pennington <hp@pobox.com>
1258 * dbus/dbus-server.c (dbus_server_listen): allow abstract sockets
1259 using unix:abstract=/foo, and when listening in a tmpdir
1260 i.e. unix:tmpdir=/tmp, always use abstract sockets if we can.
1262 * dbus/dbus-transport.c (_dbus_transport_open): support
1265 * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
1266 support abstract sockets
1268 * dbus/dbus-transport-unix.c
1269 (_dbus_transport_new_for_domain_socket): support abstract sockets
1271 * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract"
1272 toggle as an argument, implement abstract namespace support
1273 (_dbus_listen_unix_socket): ditto
1275 * configure.in: add --enable-abstract-sockets and implement
1276 a configure check for autodetection of the right value.
1278 2003-06-01 Havoc Pennington <hp@pobox.com>
1280 * tools/dbus-cleanup-sockets.c: add utility to clean up sockets
1281 in /tmp (though on Linux this will end up being useless,
1282 when we add abstract namespace support)
1284 * configure.in: define DBUS_SESSION_SOCKET_DIR in addition to
1287 2003-05-28 Colin Walters <walters@verbum.org>
1289 * tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/).
1291 2003-05-18 Anders Carlsson <andersca@codefactory.se>
1293 * dbus/dbus-message.c (dbus_message_new): Remove @todo.
1295 2003-05-17 Colin Walters <walters@gnu.org>
1297 * tools/dbus-send.c: Don't exit with an error code if --help was
1298 passed. Default to using the session bus instead of the system
1301 * tools/dbus-launch.c: Ditto.
1303 * tools/dbus-monitor.c: Ditto.
1305 * tools/dbus-send.1: Update with new arguments.
1307 * tools/dbus-launch.c: Emit code to export variables. New
1308 arguments -s and -c to specify shell syntax, and a bit of code to
1309 autodetect syntax. Also, allow specifying a program to run.
1311 * tools/dbus-launch.1: Update with new arguments.
1313 * tools/dbus-send.1: Ditto.
1315 * tools/dbus-monitor.1: Ditto.
1317 2003-05-17 Havoc Pennington <hp@pobox.com>
1319 * bus/config-parser.c (merge_included): merge in policies from
1320 child configuration file.
1322 * bus/policy.c (bus_policy_merge): function to merge two policies
1325 2003-05-16 Havoc Pennington <hp@redhat.com>
1327 * dbus/dbus-connection.c: disable verbose lock spew
1329 * tools/dbus-send.c: add --print-reply command line option
1331 * tools/dbus-print-message.h (print_message): new util function
1332 shared by dbus-send and dbus-monitor
1334 * tools/dbus-monitor.c (handler_func): exit on disconnect
1336 * dbus/dbus-transport-unix.c (do_reading): if the transport is
1337 disconnected, don't try to use the read_watch
1339 * dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL
1340 so we can find this bug more easily
1342 2003-05-16 Havoc Pennington <hp@redhat.com>
1344 * bus/policy.c (free_rule_list_func): avoid a crash when passed
1345 NULL as DBusHashTable is annoyingly likely to do.
1347 2003-05-16 Colin Walters <walters@verbum.org>
1349 * tools/dbus-monitor.c: Add --session argument and usage()
1352 * tools/dbus-monitor.1: Update with new --session arg.
1354 * bus/Makefile.am (install-data-hook): Create
1355 $(libdir)/dbus-1.0/services so that the session bus is happy.
1357 2003-05-15 Havoc Pennington <hp@redhat.com>
1359 * dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
1360 on non-x86. ifdef's are evil.
1362 2003-05-15 Havoc Pennington <hp@redhat.com>
1364 * configure.in: 0.11
1368 * bus/Makefile.am (initddir): apparently we are supposed to put
1369 init scripts in /etc/rc.d/init.d not /etc/init.d
1371 * bus/Makefile.am: remove the "you must --enable-tests to make
1372 check" as it broke distcheck
1374 * bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d
1376 2003-05-13 James Willcox <jwillcox@gnome.org>
1379 * bus/activation.c: (bus_activation_service_created),
1380 (bus_activation_activate_service):
1381 * bus/driver.c: (bus_driver_send_service_deleted),
1382 (bus_driver_send_service_created), (bus_driver_send_service_lost),
1383 (bus_driver_send_service_acquired),
1384 (bus_driver_send_welcome_message),
1385 (bus_driver_handle_list_services):
1386 * bus/session.conf.in:
1387 * dbus/dbus-bus.c: (dbus_bus_acquire_service),
1388 (dbus_bus_service_exists), (dbus_bus_activate_service):
1391 Add some convenience API which lets you activate a service, and did a
1392 bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args()
1393 and dbus_message_get_args()
1395 2003-05-11 Havoc Pennington <hp@pobox.com>
1397 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid
1398 calling _dbus_marshal_validate_arg() for every byte in a byte
1401 * dbus/dbus-message-handler.c: use atomic reference counting to
1402 reduce number of locks slightly; the global lock in here sucks
1404 * dbus/dbus-connection.c
1405 (_dbus_connection_update_dispatch_status_and_unlock): variant of
1406 update_dispatch_status that can be called with lock held; then use
1407 in a couple places to reduce locking/unlocking
1408 (dbus_connection_send): hold the lock over the whole function
1409 instead of acquiring it twice.
1411 * dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM
1413 * bus/connection.c (bus_connections_setup_connection): fix access
1414 to already-freed memory.
1416 * dbus/dbus-connection.c: keep a little cache of linked list
1417 nodes, to avoid using the global linked list alloc lock in the
1418 normal send-message case. Instead we just use the connection lock
1419 that we already have to take.
1421 * dbus/dbus-list.c (_dbus_list_find_last): new function
1423 * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec):
1424 change to use a struct for the atomic type; fix docs,
1425 they return value before increment, not after increment.
1427 * dbus/dbus-string.c (_dbus_string_append_4_aligned)
1428 (_dbus_string_append_8_aligned): new functions to try to
1429 microoptimize this operation.
1430 (reallocate_for_length): break this out of set_length(), to
1431 improve profile info, and also so we can consider inlining the
1434 * dbus/dbus-message.c (dbus_message_new_empty_header): init data
1435 strings with some preallocation, cuts down on our calls to realloc
1436 a fair bit. Though if we can get the "move entire string to empty
1437 string" optimization below to kick in here, it would be better.
1439 * dbus/dbus-string.c (_dbus_string_move): just call
1440 _dbus_string_move_len
1441 (_dbus_string_move_len): add a special case for moving
1442 an entire string into an empty string; we can just
1443 swap the string data instead of doing any reallocs.
1444 (_dbus_string_init_preallocated): new function
1446 2003-05-11 Havoc Pennington <hp@pobox.com>
1448 Write a "test-profile" that does echo client-server with threads;
1449 profile reveals lock contention, memcpy/realloc of buffers, and
1450 UTF-8 validation as hot spots. 20% of lock contention eliminated
1451 with dbus_atomic_inc/dec implementation on x86. Much remaining
1452 contention is global mempool locks for GList and DBusList.
1454 * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
1457 * dbus/dbus-connection.c (struct DBusConnection): use
1458 dbus_atomic_t for the reference count
1460 * dbus/dbus-message.c (struct DBusMessage): declare
1461 dbus_atomic_t values as volatile
1463 * configure.in: code to detect ability to use atomic integer
1464 operations in assembly, from GLib patch
1466 * dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
1467 time, tired of it being wrong in threads and forked processes
1469 * glib/test-profile.c: a little program to bounce messages back
1470 and forth between threads and eat CPU
1472 * dbus/dbus-connection.c: add debug spew macros for debugging
1473 thread locks; include config.h at top; fix deadlock in
1474 dbus_connection_flush()
1476 2003-05-08 Havoc Pennington <hp@pobox.com>
1478 * dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov
1479 data from getting written, and there wasn't a good reason to
1482 * test/decode-gcov.c (mark_inside_dbus_build_tests): don't count
1483 dbus_verbose lines in test coverage
1484 (main): add list of functions sorted by # of untested blocks
1485 to the coverage report
1487 * dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS
1489 * dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage
1491 * dbus/dbus-message-handler.c (_dbus_message_handler_test):
1492 extend test coverage
1494 * test/data/auth/cancel.auth-script: test canceling an
1497 * dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they
1498 aren't used. in CVS history if we end up needing them.
1500 2003-05-04 Havoc Pennington <hp@pobox.com>
1502 * dbus/dbus-message-handler.c (_dbus_message_handler_test): add
1505 * dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this
1506 function, which assumed length was in # of strings, not bytes
1508 * dbus/dbus-message.c (_dbus_message_test): add tests for some
1511 * dbus/dbus-connection.c
1512 (_dbus_connection_queue_received_message): disable function for
1513 now, we are only using it in test mode
1515 * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
1516 remove a mistaken FIXME
1518 2003-05-04 Havoc Pennington <hp@pobox.com>
1520 * dbus/dbus-connection.c (dbus_connection_preallocate_send):
1521 unlock mutex on successful return, patch from Anders Gustafsson
1523 2003-05-04 Havoc Pennington <hp@pobox.com>
1525 * dbus-glib-1.pc.in (Requires): fix dependencies, from
1528 2003-05-04 Havoc Pennington <hp@pobox.com>
1530 * tools/dbus-launch.c: implement
1532 * bus/main.c (main), bus/bus.c (bus_context_new):
1533 implement --print-pid and --fork
1535 2003-05-03 Havoc Pennington <hp@redhat.com>
1537 * dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
1538 the address had no value, and add to test suite. Fix and
1539 regression test from Miloslav Trmac
1541 2003-05-03 Havoc Pennington <hp@pobox.com>
1543 * dbus/dbus-watch.c (dbus_watch_handle): warn and return if a
1544 watch is invalid when handled
1546 * tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add
1547 dbus-launch utility to launch the bus from a shell script. Didn't
1548 actually implement dbus-launch yet, it's just a placeholder still.
1550 2003-05-03 Havoc Pennington <hp@pobox.com>
1552 * bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
1553 daemon; also documents daemon config file, so replaces
1554 doc/config-file.txt. Corrected some stuff from config-file.txt in
1555 the process of moving it.
1557 2003-05-03 Havoc Pennington <hp@pobox.com>
1559 * tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1:
1562 2003-05-03 Colin Walters <walters@verbum.org>
1564 * dbus/dbus-sysdeps.c (fill_user_info): Test against
1565 DBUS_UID_UNSET to determine whether to do a uid lookup or not.
1567 * Makefile.am: Update to use new .pc versioning scheme.
1569 2003-05-02 Havoc Pennington <hp@redhat.com>
1571 * bus/system.conf.in: allow send/receive to/from message bus
1574 2003-04-30 Havoc Pennington <hp@redhat.com>
1576 * configure.in: print a note when building with unit tests and
1579 2003-04-30 Havoc Pennington <hp@redhat.com>
1581 * Makefile.am: add a check-local that complains if you didn't
1582 configure with --enable-tests
1584 2003-04-29 Havoc Pennington <hp@redhat.com>
1586 * glib/dbus-gmain.c: docs cleanups
1588 * dbus/dbus-types.h: add docs on int64 types
1590 * dbus/dbus-memory.c: fix docs to avoid putting private API in
1591 public API docs section
1593 2003-04-29 Havoc Pennington <hp@redhat.com>
1595 * dbus-1.pc.in, dbus-glib-1.pc.in: rename these from
1596 dbus-1.0.pc.in, dbus-glib-1.0.pc.in. As these change with the
1597 parallel install API version, not with the D-BUS package version.
1599 * HACKING: move some of README over here
1601 * README: updates, and document API/ABI policy
1603 * configure.in: reindentation
1605 2003-04-29 Havoc Pennington <hp@redhat.com>
1607 * dbus/dbus.h: add "you have to define DBUS_API_SUBJECT_TO_CHANGE
1608 to use this library" to be sure people have the right
1611 2003-04-28 Havoc Pennington <hp@redhat.com>
1613 * configure.in: add --enable-docs which by default is auto yes if
1614 doxygen and db2html found, no otherwise; but can be forced on/off
1616 * doc/Makefile.am: conditionalize whether to build docs on
1619 2003-04-28 Havoc Pennington <hp@redhat.com>
1621 * configure.in: 0.10
1625 * bus/system.conf.in: add <includedir>system.d</includedir>
1627 * dbus/dbus-userdb.c (_dbus_user_database_lookup): fix bug when
1628 username was provided but not uid
1630 * bus/config-parser.c (struct BusConfigParser): keep track of
1631 whether the parser is toplevel or was included; change some
1632 of the error handling if it's included.
1634 2003-04-27 Havoc Pennington <hp@pobox.com>
1638 * dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
1639 report correct status if we finish processing authentication
1640 inside this function.
1642 * bus/activation.c (try_send_activation_failure): use
1643 bus_transaction_send_error_reply
1645 * bus/connection.c (bus_connection_get_groups): return an error
1646 explaining the problem
1648 * bus/bus.c (bus_context_check_security_policy): implement
1649 restriction here that inactive connections can only send the
1650 hello message. Also, allow bus driver to send anything to
1653 * bus/connection.c (bus_connection_complete): create the
1654 BusClientPolicy here instead of on-demand.
1655 (bus_connection_get_policy): don't return an error
1657 * dbus/dbus-message.c (dbus_message_new_error_reply): allow NULL
1658 sender field in message being replied to
1660 * bus/bus.c (bus_context_check_security_policy): fix silly typo
1661 causing it to return FALSE always
1663 * bus/policy.c (bus_client_policy_check_can_send): fix bug where
1664 we checked sender rather than destination
1666 2003-04-25 Havoc Pennington <hp@redhat.com>
1668 test suite is slightly hosed at the moment, will fix soon
1670 * bus/connection.c (bus_connections_expire_incomplete): fix to
1671 properly disable the timeout when required
1672 (bus_connection_set_name): check whether we can remove incomplete
1673 connections timeout after we complete each connection.
1675 * dbus/dbus-mainloop.c (check_timeout): fix this up a bit,
1676 probably still broken.
1678 * bus/services.c (bus_registry_acquire_service): implement max
1679 number of services owned, and honor allow/deny rules on which
1680 services a connection can own.
1682 * bus/connection.c (bus_connection_get_policy): report errors here
1684 * bus/activation.c: implement limit on number of pending
1687 2003-04-25 Havoc Pennington <hp@redhat.com>
1689 * dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug
1690 where we used >= 0 instead of != DBUS_UID_UNSET.
1692 2003-04-25 Havoc Pennington <hp@redhat.com>
1694 * glib/dbus-gmain.c (remove_watch): fix for a crash when watches
1695 were toggled without add/remove, fix from Anders Gustafsson
1697 2003-04-24 Havoc Pennington <hp@redhat.com>
1699 * test/data/valid-config-files/basic.conf: add <limit> tags to
1702 * bus/config-parser.h, bus/config-parser.c, bus/bus.c: Implement
1703 <limit> tag in configuration file.
1705 2003-04-24 Havoc Pennington <hp@redhat.com>
1707 * bus/dispatch.c: somehow missed some name_is
1709 * dbus/dbus-timeout.c (_dbus_timeout_set_enabled)
1710 (_dbus_timeout_set_interval): new
1712 * bus/connection.c (bus_connections_setup_connection): record time
1713 when each connection is first set up, and expire them after the
1714 auth timeout passes.
1716 2003-04-24 Havoc Pennington <hp@redhat.com>
1718 * dbus/dbus-message.c (dbus_message_name_is): rename
1719 (dbus_message_service_is): rename
1720 (dbus_message_sender_is): rename
1721 (dbus_message_get_service): rename
1723 2003-04-24 Havoc Pennington <hp@redhat.com>
1725 * configure.in: add --enable-checks
1727 * dbus/dbus-message.c (dbus_message_new): reverse name/service arguments
1729 * dbus/dbus-connection.c (dbus_connection_preallocate_send): fix
1730 to use thread locks.
1731 (_dbus_connection_handler_destroyed_locked): move some private
1732 functions into proper docs group
1734 * dbus/dbus-internals.h: add _dbus_return_if_fail,
1735 _dbus_return_val_if_fail
1737 Throughout: use dbus_return_if_fail
1739 2003-04-23 James Willcox <jwillcox@gnome.org>
1742 * glib/dbus-gmain.c: (add_timeout), (wakeup_main), (create_source),
1743 (dbus_connection_setup_with_g_main),
1744 (dbus_server_setup_with_g_main):
1745 * glib/test-dbus-glib.c: (main):
1746 * glib/test-thread-client.c: (main):
1747 * glib/test-thread-server.c: (new_connection_callback), (main):
1748 * tools/dbus-monitor.c: (main):
1750 Added a GMainContext argument to dbus_connection_setup_with_g_main()
1751 and dbus_server_setup_with_g_main().
1753 2003-04-20 Havoc Pennington <hp@pobox.com>
1755 * doc/dbus-specification.sgml: document the restrictions on
1756 message and service names
1758 2003-04-22 Havoc Pennington <hp@redhat.com>
1760 * dbus/dbus-message.c, dbus/dbus-marshal.c: add 64-bit integer
1761 support, and do some code cleanups to share more code and
1762 speed up array marshal/demarshal.
1764 * dbus-1.0.pc.in (Cflags): put libdir include file in cflags
1766 * configure.in: generate dbus-arch-deps.h
1768 * dbus/dbus-protocol.h (DBUS_TYPE_INT64, DBUS_TYPE_UINT64): add
1771 2003-04-22 Havoc Pennington <hp@redhat.com>
1773 * test/data/valid-messages/opposite-endian.message: fix test
1774 to use proper type for rply field
1776 * test/data/invalid-messages: add tests for below validation
1778 * dbus/dbus-message.c (decode_header_data): validate field types,
1779 and validate that named fields are valid names
1780 (decode_name_field): consider messages in the
1781 org.freedesktop.Local. namespace to be invalid.
1783 * dbus/dbus-string.c (_dbus_string_validate_name): new
1785 2003-04-19 Havoc Pennington <hp@pobox.com>
1787 * bus/driver.c (bus_driver_handle_hello): check limits and
1788 return an error if they are exceeded.
1790 * bus/connection.c: maintain separate lists of active and inactive
1791 connections, and a count of each. Maintain count of completed
1792 connections per user. Implement code to check connection limits.
1794 * dbus/dbus-list.c (_dbus_list_unlink): export
1796 * bus/bus.c (bus_context_check_security_policy): enforce a maximum
1797 number of bytes in the message queue for a connection
1799 2003-04-18 Havoc Pennington <hp@pobox.com>
1801 * dbus/dbus-auth.c (record_mechanisms): memleak fixes
1803 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): fix some
1806 * dbus/dbus-keyring.c (add_new_key): fix a memleak, and
1807 on realloc be sure to update the pointer in the keyring
1809 * dbus/dbus-string.c (_dbus_string_zero): compensate for align
1810 offset to avoid writing to unallocated memory
1812 * dbus/dbus-auth.c (process_rejected): return FALSE if we fail to
1813 try the next mechanism, so we properly handle OOM
1815 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): fix double-free
1817 (_dbus_keyring_new): fix OOM bug
1818 (_dbus_keyring_new_homedir): always set error; impose a maximum
1819 number of keys we'll load from the file, mostly to speed up the
1820 test suite and make its OOM checks more useful, but also for
1823 * dbus/dbus-auth.c (process_error_server): reject authentication
1824 if we get an error from the client
1825 (process_cancel): on cancel, send REJECTED, per the spec
1826 (process_error_client): send CANCEL if we get an error from the
1829 2003-04-18 Havoc Pennington <hp@pobox.com>
1831 * dbus/dbus-mainloop.c (_dbus_loop_iterate): fix UMR in verbose
1834 * dbus/dbus-auth.c (handle_client_data_cookie_sha1_mech): fix OOM
1837 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): only whine
1838 about DBUS_TEST_HOMEDIR once
1840 * bus/Makefile.am (TESTS_ENVIRONMENT): put DBUS_TEST_HOMEDIR in
1843 * bus/dispatch.c (bus_dispatch_sha1_test): actually load sha1
1844 config file so we test the right thing
1846 Throughout: assorted docs improvements
1848 2003-04-18 Havoc Pennington <hp@pobox.com>
1850 * glib/dbus-gmain.c: adapt to watch changes
1852 * bus/bus.c, bus/activation.c, etc.: adjust to watch changes
1854 * dbus/dbus-server.h: remove dbus_server_handle_watch
1856 * dbus/dbus-connection.h: remove dbus_connection_handle_watch
1858 * dbus/dbus-watch.c (dbus_watch_handle): change DBusWatch to work
1859 like DBusTimeout, so we don't need dbus_connection_handle_watch
1862 2003-04-17 Havoc Pennington <hp@redhat.com>
1864 * dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd
1865 database usage so it all goes via the DBusUserDatabase cache.
1867 2003-04-17 Havoc Pennington <hp@redhat.com>
1869 * dbus/dbus-mainloop.c (_dbus_loop_iterate): fix logic so that if
1870 there was an OOM watch we skipped, we always return TRUE so we
1871 iterate again to have a look at it again. Fixes test suite hang.
1872 Code rearrangement also lets us lose some memset and only iterate
1873 over callbacks once.
1875 * bus/driver.c (bus_driver_handle_message): sense of test for
1878 2003-04-16 Havoc Pennington <hp@pobox.com>
1880 * doc/dbus-specification.sgml: make spec say serials are unsigned
1882 * dbus/dbus-message.h: change message serials to unsigned
1884 * dbus/dbus-connection.c: adapt to message serials being unsigned
1886 2003-04-15 Havoc Pennington <hp@pobox.com>
1888 * bus/bus.c: create and keep around a shared DBusUserDatabase
1891 * bus/connection.c (bus_connection_get_groups): don't cache
1892 groups for user in the connection object, since user database
1893 object now does that.
1895 2003-04-16 Havoc Pennington <hp@redhat.com>
1897 * dbus/dbus-message.c (_dbus_message_add_size_counter): keep a
1898 list of size counters
1899 (_dbus_message_loader_putback_message_link): put back a popped link
1901 * dbus/dbus-connection.c
1902 (dbus_connection_set_max_live_messages_size): rename
1904 (dbus_connection_get_outgoing_size): get size of outgoing
1906 (_dbus_connection_set_connection_counter): remove this cruft
1908 2003-04-14 Havoc Pennington <hp@redhat.com>
1910 * dbus/dbus-userdb.c: user database abstraction, mostly to get
1911 caching, but at some point we might want to be able to use a
1914 * bus/dispatch.c (bus_dispatch_sha1_test): add a test that uses
1915 SHA1 conf file to test the sha1 auth mechanism, since the regular
1916 test always uses EXTERNAL when available.
1919 test/data/valid-config-files/debug-allow-all-sha1.conf.in:
1920 add conf file that requires use of sha1 auth
1922 2003-04-13 Havoc Pennington <hp@pobox.com>
1924 * tools/dbus-send.c, tools/dbus-monitor.c: two utility programs
1925 from Philip Blundell to send messages and monitor them.
1927 2003-04-13 Havoc Pennington <hp@pobox.com>
1929 * dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting
1932 * test/data/valid-config-files/debug-allow-all.conf.in: allow all
1935 * dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
1936 fix to only recover unused bytes if we're already authenticated
1937 (_dbus_transport_get_is_authenticated): fix to still mark us
1938 authenticated if there are unused bytes.
1940 * bus/dispatch.c: implement security policy checking
1942 * bus/connection.c (bus_transaction_send_from_driver): new
1944 * bus/bus.c (bus_context_check_security_policy): new
1946 * bus/dispatch.c (send_service_nonexistent_error): delete this,
1947 now we just set the DBusError and it gets converted to an error
1950 * bus/connection.c (allow_user_function): enable code using actual
1951 data from the config file
1953 * bus/policy.c (list_allows_user): handle wildcard rules for
1954 user/group connection perms
1956 2003-04-13 Havoc Pennington <hp@pobox.com>
1958 * bus/config-parser.c: Load up the BusPolicy and BusPolicyRules
1960 * dbus/dbus-sysdeps.c (_dbus_get_user_id): new function
1962 * bus/policy.c (bus_policy_append_mandatory_rule)
1963 (bus_policy_append_default_rule, bus_policy_append_user_rule)
1964 (bus_policy_append_group_rule): new functions
1966 2003-04-12 Havoc Pennington <hp@pobox.com>
1968 * bus/config-parser.c (bus_config_parser_new): fix a memleak
1970 * dbus/dbus-sysdeps.c: change DBusCredentials to use longs for
1971 the pid/gid/uid, just for paranoia.
1973 * test/break-loader.c (randomly_do_n_things): find a byte
1974 containing a type code, and randomly change it to a different
1977 2003-04-12 Havoc Pennington <hp@pobox.com>
1979 * bus/policy.h: change BusPolicy to be the thing from the config
1980 file, and rename old BusPolicy to BusClientPolicy
1982 * bus/bus.c, bus/connection.c, bus/config-parser.c: change to
1983 match change in how policy works
1985 * dbus/dbus-internals.h: mark assert_not_reached as
1986 __attribute((noreturn))__
1988 2003-04-11 Havoc Pennington <hp@redhat.com>
1990 * doc/dbus-specification.sgml: fix a spot with the wrong name for
1991 the broadcast service. Use boolean return for ServiceExists.
1993 2003-04-11 Havoc Pennington <hp@redhat.com>
1995 * configure.in: add another directory to look for qt in.
1997 2003-04-11 Havoc Pennington <hp@redhat.com>
1999 * AUTHORS: add Colin Walters
2001 2003-04-11 Havoc Pennington <hp@redhat.com>
2007 2003-04-11 Havoc Pennington <hp@redhat.com>
2009 * bus/messagebus.in: remove pid file when stopping the
2010 message bus, since the bus won't have privileges to remove it
2013 2003-04-11 Havoc Pennington <hp@redhat.com>
2015 * bus/bus.c (bus_context_new): move credentials change after
2018 2003-04-11 Havoc Pennington <hp@pobox.com>
2020 * test/decode-gcov.c: add "below average functions" to the
2021 coverage report, and change how some of the code works.
2023 * bus/test-main.c: bracket some stuff in DBUS_BUILD_TESTS so it's
2024 not in the coverage stats.
2026 * test/test-service.c (main): use _dbus_verbose not fprintf in a
2027 couple places so running the test suite doesn't result in megaspam.
2029 2003-04-11 Havoc Pennington <hp@pobox.com>
2031 * bus/dispatch.c (check_existent_service_activation): accept a no
2032 memory error in a place we didn't before
2034 * bus/test.c (bus_test_run_everything): remove hacky "do it twice
2035 in case the first one failed," since the test suite is less
2038 2003-04-10 Havoc Pennington <hp@pobox.com>
2040 * bus/dispatch.c (check_segfault_service_activation): add test
2041 for launching an executable that just crashes.
2043 * test/test-segfault.c (main): try setting coredumpsize to 0 so we
2044 don't leave a million cores. We'll see how portable this is.
2046 2003-04-10 Havoc Pennington <hp@pobox.com>
2048 * dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all
2049 the possible parent failures before we fork, so that we don't
2050 fail to create a babysitter after creating the child.
2052 * bus/activation.c (bus_activation_activate_service): kill child
2053 if we don't successfully complete the activation.
2055 2003-04-10 Havoc Pennington <hp@redhat.com>
2057 * dbus/dbus-connection.c (dbus_connection_flush): don't spin on
2058 the connection if it's disconnected
2060 * bus/activation.c (bus_activation_service_created): use new
2061 transaction features to roll back removal of pending activation if
2062 we don't successfully create the service after all. Don't remove
2063 pending activation if the function fails.
2065 * dbus/dbus-list.c (_dbus_list_insert_before_link)
2066 (_dbus_list_insert_after_link): new code to facilitate
2069 * dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated):
2070 new functionality, so we can preallocate the ability to insert
2073 * bus/connection.c (bus_transaction_add_cancel_hook): new function
2074 allowing us to put custom hooks in a transaction to be used for
2075 cancelling said transaction
2077 * doc/dbus-specification.sgml: add some discussion of secondary
2078 service owners, and disallow zero-length service names
2080 * bus/services.c (bus_registry_acquire_service): new function,
2081 splits out part of bus_driver_handle_acquire_service() and fixes
2082 a bug where we didn't remove the service doing the acquiring
2083 from the secondary queue if we failed to remove the current owner
2084 from the front of the queue.
2086 2003-04-10 Alexander Larsson <alexl@redhat.com>
2088 * doc/dbus-specification.sgml:
2089 s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/
2091 2003-04-10 Alexander Larsson <alexl@redhat.com>
2096 Added files to cvsignore
2098 * dbus/dbus-message.h:
2099 * dbus/dbus-message.c: (dbus_message_iter_get_named):
2100 Make get_named() take two out argument and return a boolean.
2101 (dbus_message_iter_get_args_valist):
2102 Update usage of get_named().
2103 (dbus_message_iter_append_byte):
2105 (dbus_message_iter_append_named)
2107 (message_iter_test), (check_message_handling_type), (_dbus_message_test):
2110 2003-04-10 Alexander Larsson <alexl@redhat.com>
2112 * dbus/dbus-marshal.[ch]:
2113 Add array_type_pos argument to _dbus_marshal_validate_arg.
2114 Let you pass a NULL end_pos to _dbus_marshal_validate_type.
2116 * dbus/dbus-message.[ch]:
2117 Multi-dimensional arrays have full type specification in the
2118 outermost array. Iter code re-arranged to handle this.
2119 Added some more iter tests.
2121 * doc/dbus-specification.sgml:
2124 Update new array encoding description.
2125 Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description.
2127 * test/data/invalid-messages/array-with-mixed-types.message:
2128 * test/data/valid-messages/array-of-array-of-uint32.message:
2129 Change to the new array format.
2131 * test/data/invalid-messages/too-short-dict.message:
2134 * test/data/valid-messages/recursive-types.message:
2135 Fix up and extend test.
2137 2003-04-10 Havoc Pennington <hp@pobox.com>
2139 * bus/dispatch.c: lots of fixes
2141 * dbus/dbus-mainloop.c (_dbus_loop_dispatch): export
2142 (_dbus_loop_iterate): remove old "quit if no callbacks" code,
2143 that was crack, broke the test service.
2145 * dbus/dbus-transport.c (_dbus_transport_open): fix error
2146 handling to avoid piling up errors if we get a failure on the
2149 * dbus/dbus-internals.c (_dbus_real_assert_not_reached): include
2150 pid in assertion failures.
2152 * dbus/dbus-mainloop.c (_dbus_loop_iterate): use static arrays up
2153 to some fixed size of file descriptor array. Don't return TRUE
2154 anytime a timeout exists, that led to lots of busy loop silliness
2157 2003-04-09 Havoc Pennington <hp@redhat.com>
2159 * dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought
2160 I'd checked this in earlier but hadn't.
2162 2003-04-09 Havoc Pennington <hp@redhat.com>
2164 * bus/dispatch.c (bus_dispatch_test): get a bit further through
2165 the activation test (man this is getting old!)
2167 2003-04-09 Havoc Pennington <hp@redhat.com>
2169 * test/test-utils.c: use dispatch status function to fix this up
2171 * bus/connection.c (connection_watch_callback): don't dispatch
2173 (connection_timeout_callback): don't dispatch from here
2174 (bus_connections_setup_connection): set the dispatch status function
2175 (bus_connection_disconnected): unset it
2177 * dbus/dbus-mainloop.c (_dbus_loop_queue_dispatch): new function
2178 used to add a connection to be dispatched
2179 (_dbus_loop_iterate): do the dispatching at the end of each
2182 * dbus/dbus-connection.c
2183 (dbus_connection_set_dispatch_status_function): new function
2184 allowing us to fix up main loop usage
2185 (_dbus_connection_last_unref): free all the various function
2187 (dbus_connection_dispatch): call the DispatchStatusFunction
2188 whenever this function returns
2189 (dbus_connection_handle_watch): call DispatchStatusFunction
2190 (dbus_connection_send_with_reply_and_block): call DispatchStatusFunction
2191 (reply_handler_timeout): call DispatchStatusFunction
2192 (dbus_connection_flush): call DispatchStatusFunction
2194 2003-04-09 Havoc Pennington <hp@redhat.com>
2196 * dbus/dbus-bus.c (dbus_bus_register): fix up error handling and
2199 * bus/dispatch.c (check_service_activated): fix bug in test
2201 * dbus/dbus-mainloop.c (check_timeout): fix this up
2203 * dbus/dbus-internals.c (_dbus_verbose_real): include PID in
2204 verbose output so we can sort out output from different processes,
2205 e.g. in the activation case.
2207 2003-04-08 Colin Walters <walters@gnu.org>
2209 * bus/bus.c (struct BusContext) [pidfile]: New member, to store
2211 (bus_context_new): Set it.
2212 (bus_context_unref): Use it to delete the pid file.
2214 2003-04-08 Havoc Pennington <hp@redhat.com>
2216 * test/data/invalid-messages/array-with-mixed-types.message:
2217 regression test that fails for the moment
2219 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): reorder
2220 tests for convenience
2222 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): don't allow
2223 array of nil, it broke things.
2225 * test/data/invalid-messages/array-of-nil.message: regression test
2227 * test/data/valid-messages/array-of-array-of-uint32.message:
2228 happened to write this so added it to suite
2230 2003-04-08 Havoc Pennington <hp@redhat.com>
2232 * bus/driver.c (bus_driver_handle_acquire_service): init
2233 retval/reply before checking name
2235 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add a
2236 recursion depth argument
2238 * dbus/dbus-message.h (struct DBusMessageIter): put some padding
2239 in the public struct for future extension
2241 * dbus/dbus-message-builder.c (_dbus_message_data_load): fix
2244 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix a verbose
2247 * doc/dbus-specification.sgml: fix typo
2249 2003-04-08 Alexander Larsson <alexl@redhat.com>
2251 Implemented recursive types, named types and new-style iters
2254 * glib/test-thread-client.c: (thread_func):
2255 * glib/test-thread-server.c: (handle_test_message):
2256 * test/test-service.c: (handle_echo):
2265 * dbus/dbus-internals.c: (_dbus_type_to_string):
2266 Update for new types.
2268 * dbus/dbus-marshal.[ch]:
2269 Implement recursive types and the new marshalling format.
2270 Remove hardcoded dict marshalling.
2271 Marshal named types.
2273 * dbus/dbus-message-builder.c:
2275 Remove references to old types
2277 * dbus/dbus-message.[ch]:
2278 New non-refcounted iter API that supports recursive iters.
2279 Use iters for appending, including support for recursive
2281 Add byte and named type support.
2282 Update everything to new marshalling formats.
2283 Add tests for new API.
2285 * dbus/dbus-protocol.h:
2286 Remove old array types.
2287 Add types: BYTE, ARRAY, DICT, NAMED
2289 * dbus/dbus-string.c:
2290 * dbus/dbus-sysdeps.c:
2291 Make parse_double locale safe.
2293 * dbus/dbus-test-main.c:
2299 * doc/dbus-specification.sgml:
2302 * test/data/incomplete-messages/missing-body.message:
2303 * test/data/invalid-messages/bad-boolean.message:
2304 * test/data/invalid-messages/bad-boolean-array.message:
2305 * test/data/invalid-messages/boolean-array-length-too-long.message-raw:
2306 * test/data/invalid-messages/boolean-has-no-value.message-raw:
2307 * test/data/invalid-messages/too-short-dict.message:
2308 * test/data/valid-messages/dict-simple.message:
2309 * test/data/valid-messages/dict.message:
2310 * test/data/valid-messages/emptiness.message:
2311 * test/data/valid-messages/lots-of-arguments.message:
2312 * test/data/valid-messages/no-padding.message:
2313 * test/data/valid-messages/recursive-types.message:
2314 Add missing NAME fields
2315 Fix up dicts & arrays
2317 * test/data/invalid-messages/dict-with-nil-value.message:
2318 Removed, this is not invalid anymore.
2320 * test/data/valid-messages/recursive-types.message:
2321 Add new test for deeply recursive types.
2323 2003-04-07 Havoc Pennington <hp@pobox.com>
2325 * bus/driver.c (bus_driver_handle_acquire_service): return an
2326 error if you try to acquire a service that starts with ':'
2328 2003-04-07 Havoc Pennington <hp@redhat.com>
2330 * doc/dbus-specification.sgml: require that base service names
2331 start with ':' and that the base service is created/deleted
2332 as first and last things a connection does on the bus
2334 * bus/dispatch.c (check_existent_service_activation): lots more
2335 work on the activation test; it doesn't fully pass yet...
2337 * test/test-service.c (main): fix so we don't memleak the
2338 connection to the message bus
2339 (filter_func): accept a message asking us to exit
2341 2003-04-06 Havoc Pennington <hp@pobox.com>
2343 * qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h,
2346 * configure.in: fixes to Qt detection from Colin Walters
2348 * doc/Makefile.am: Only remove generated docbook dirs if they
2349 exist, from Colin Walters
2351 * dbus/dbus-bus.c: change how we set well-known connections to
2352 NULL, so that it works if a single connection is stored in
2353 two well-known array slots.
2355 * test/Makefile.am: remove a lot of stuff that isn't immediately
2356 useful, it's in CVS history if we want it.
2358 * test/test-service.c: use dbus-mainloop instead of that
2361 2003-04-06 Havoc Pennington <hp@pobox.com>
2363 * dbus/Makefile.am: split lists of sources into stuff that goes in
2364 the library, util functions that go in the lib and are also used
2365 elsewhere, and util functions that are used in tests/daemon but
2366 don't go in the lib.
2368 * dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc]
2369 here so it can be used in test binaries also
2371 2003-04-06 Havoc Pennington <hp@pobox.com>
2373 * dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile
2374 here in the parent process, so we can return an error if it
2375 fails. Also, move some of the code into the child so the parent
2376 is less hosed if we fail midway through.
2378 * bus/bus.c (bus_context_new): move pidfile detection further up
2379 in the function, before we start overwriting sockets and such.
2381 * bus/messagebus.in: adjust this a bit, not sure if it will work.
2383 * configure.in: add --with-system-pid-file and --with-system-socket
2385 2003-04-06 Colin Walters <walters@verbum.org>
2387 * configure.in (DBUS_SYSTEM_PID_FILE): New variable.
2389 * bus/system.conf.in: Declare a pidfile.
2391 * bus/bus.c (bus_context_new): Test for an existing pid file, and
2392 create one (if appropriate).
2394 * bus/config-parser.c (enum ElementType) [ELEMENT_PIDFILE]: New.
2395 (struct BusConfigParser) [pidfile]: New.
2396 (element_type_to_name, merge_included, start_busconfig_child)
2397 (bus_config_parser_end_element, bus_config_parser_content): Handle it.
2398 (bus_config_parser_unref): Free it.
2399 (bus_config_parser_get_pidfile): New function.
2401 * bus/config-parser.h (_dbus_write_pid_file): Prototype.
2403 * dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error.
2405 * dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function.
2407 * dbus/dbus-sysdeps.h: Prototype it.
2409 2003-04-06 Havoc Pennington <hp@pobox.com>
2411 * bus/bus.c (bus_context_new): print the address in here, rather
2412 than in main(), because we need to do it before forking the daemon
2414 * bus/dispatch.c (send_service_nonexistent_error): set the sender
2415 on the service nonexistent error
2417 * bus/driver.c (bus_driver_handle_acquire_service): set the
2418 sender on the AcquireService reply
2420 * test/data/valid-config-files/debug-allow-all.conf.in: Make test
2421 server also listen on a UNIX socket so services can connect to it.
2423 2003-04-06 Havoc Pennington <hp@pobox.com>
2425 * dbus/dbus-threads.c: Redo how the fake debug mutexes are done
2426 so it detects deadlocks and also we actually init threads when
2429 2003-04-06 Havoc Pennington <hp@pobox.com>
2431 * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
2432 save the domain socket name, and unlink it when we disconnect the
2433 server. Means that at least when we exit normally, we won't leave
2434 a bunch of junk in /tmp
2436 * dbus/dbus-transport-unix.c
2437 (_dbus_transport_new_for_domain_socket): code cleanup (nicer
2438 memory management). (I was making a real change here but then
2441 2003-04-06 Havoc Pennington <hp@pobox.com>
2443 * bus/bus.c (bus_context_new): fix wrong handling of
2444 server_data_slot_unref() in the error case.
2446 * dbus/dbus-internals.h (_dbus_assert): change so it passes
2447 "(condition) != 0" to _dbus_real_assert so that
2448 "_dbus_assert (pointer)" doesn't cause a warning
2450 * bus/main.c (main): accept --print-address option to print out
2451 the message bus address
2453 * dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this
2455 * dbus/dbus-transport.c (_dbus_transport_open): special error for
2456 "tmpdir" option to unix: address on client side
2458 * dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option
2461 * configure.in (TEST_SOCKET_DIR): locate a temporary directory
2462 we can use to create sockets in the test suite.
2464 * bus/main.c (signal_handler): on SIGTERM, exit the daemon
2465 cleanly. To be used for testing.
2467 * dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler()
2469 * dbus/dbus-sysdeps.c (_dbus_set_signal_handler): new
2471 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
2472 handle trying to call this when there's no servers active
2474 2003-04-05 Havoc Pennington <hp@pobox.com>
2480 2003-04-05 Havoc Pennington <hp@pobox.com>
2482 * bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't
2483 crash on startup. Need to get "try starting the daemon"
2484 in the test suite I guess. ;-)
2486 * dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
2487 tracked the number of open connections; it's better done in
2488 application-specific code as you want it to span all servers etc.
2490 2003-04-05 Havoc Pennington <hp@pobox.com>
2492 * bus/Makefile.am (install-data-hook): add missing DESTDIR,
2493 patch from Colin Walters
2495 2003-04-05 Havoc Pennington <hp@pobox.com>
2497 * doc/config-file.txt (Elements): fix docs of <auth> to reflect
2498 reality; in fact multiple mechanisms are allowed.
2500 * dbus/dbus-internals.c (_dbus_real_assert)
2501 (_dbus_real_assert_not_reached): move guts of _dbus_assert() and
2502 _dbus_assert_not_reached() into functions, so that they don't show
2503 up in basic block counts for test coverage, and don't use up as
2504 much disk space. Does mean slower execution speed though, so
2505 assumes --disable-asserts is the normal production case.
2507 2003-04-05 Havoc Pennington <hp@pobox.com>
2509 * test/Makefile.am (dist-hook): also dist *.in files
2515 2003-04-05 Havoc Pennington <hp@pobox.com>
2517 * dbus/dbus-string.c: docs warning
2519 * dbus/dbus-spawn.c: missing docs
2521 * dbus/dbus-memory.c (struct ShutdownClosure): missing docs
2523 2003-04-05 Havoc Pennington <hp@pobox.com>
2525 * bus/loop.c (bus_loop_iterate): fix the timeout code, using
2528 * dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid
2529 to -1 once we've reaped the babysitter
2530 (_dbus_babysitter_handle_watch): do as much work as we can, not
2533 * bus/activation.c: add code using DBusBabysitter so that we
2534 handle it when a service fails to start up properly.
2535 (bus_activation_service_created): don't remove the activation
2536 entries as we go, just let them get removed when we free the pending
2537 activation. Unref reply messages after sending them.
2539 2003-04-05 Havoc Pennington <hp@pobox.com>
2541 * test/decode-gcov.c (main): print per-directory stats in the report
2543 * Makefile.am (coverage-report.txt): don't include test/* in gcov stats
2545 2003-04-05 Havoc Pennington <hp@pobox.com>
2547 * Makefile.am (coverage-report.txt): add target "coverage-report.txt"
2549 * test/decode-gcov.c: hack up a little program to suck data
2550 out of gcov files. Yes this is sort of silly.
2552 * configure.in: define something in config.h and do an
2553 AM_CONDITIONAL when gcov is enabled
2555 2003-04-04 Havoc Pennington <hp@redhat.com>
2557 * dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
2558 return a "babysitter" object that is used to monitor the status of
2559 the spawned process and reap it when required.
2561 * test/test-segfault.c, test/test-exit.c,
2562 test/test-sleep-forever.c: binaries that do various lame things,
2563 used in the test suite.
2565 * dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()
2567 2003-04-03 Havoc Pennington <hp@pobox.com>
2569 * dbus/dbus-spawn.c: Move dbus-spawn into a separate file
2570 in preparation for modifying it, dbus-sysdeps is getting
2573 2003-04-03 Havoc Pennington <hp@redhat.com>
2575 * bus/loop.h, bus/loop.c: make the mainloop an object so we can
2578 * bus/*.[hc]: adapt to mainloop change
2580 2003-04-03 Havoc Pennington <hp@redhat.com>
2582 * bus/activation.c (load_directory): fix up memleaks
2583 (bus_activation_entry_free): free the entry
2585 * dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
2586 we get one from the message bus; fix memleaks.
2588 * dbus/dbus-message.c (dbus_set_error_from_message): new function
2590 2003-04-03 Havoc Pennington <hp@pobox.com>
2592 * bus/config-parser.c (bus_config_parser_unref): free
2593 list of mechanisms, bug discovered by test suite enhancements
2594 (putting system.conf and session.conf into suite)
2596 * test/Makefile.am, test/test-service.c: add placeholder for a
2597 test service that we'll activate as part of test suite. Doesn't
2600 * dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by
2601 setting NULL value, and use system malloc not dbus_malloc()
2602 when we have unavoidable memleakage.
2604 * dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
2605 didn't work, and support DBUS_BUS_ACTIVATION.
2607 * bus/activation.c (child_setup): pass our well-known bus type to
2610 * bus/config-parser.c: support <type> to specify well-known type
2612 * doc/dbus-specification.sgml: document the env variables to
2613 locate well-known buses and find service activator
2615 2003-04-02 Havoc Pennington <hp@redhat.com>
2617 * test/Makefile.am (all-local): add a rule to copy tests to
2618 builddir, so we can have generated tests. Use this to remove the
2619 silly hack for testing system.conf and session.conf. Will use this
2620 shortly to generate .service files pointing to test binaries.
2622 2003-04-02 Havoc Pennington <hp@redhat.com>
2624 * dbus/dbus-string.c (set_length): fix a bug - we allocated max of
2625 current alloc and needed new length, not max of the doubled
2626 allocation and needed new length. Also, when building tests,
2627 don't do the double-allocation stuff, just realloc every time.
2629 2003-04-02 Havoc Pennington <hp@redhat.com>
2631 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
2633 (_dbus_string_get_dirname): new
2634 (_dbus_sysdeps_test): new
2635 (_dbus_directory_open): include dirnames in error messages
2637 * bus/config-parser.c: interpret <include> and <includedir> and
2638 <servicedir> relative to config file location if the given
2639 filename is not absolute.
2641 * dbus/dbus-string.c (_dbus_string_find_byte_backward): new
2643 2003-04-02 Havoc Pennington <hp@redhat.com>
2645 * bus/connection.c (bus_transaction_send_error_reply): set sender
2646 service for the error, and unref the reply on success
2648 * bus/activation.c: convert to use BusTransaction so OOM can be
2650 (bus_activation_service_created): set sender of the message
2652 2003-04-01 Havoc Pennington <hp@redhat.com>
2654 * bus/config-parser.c, bus/bus.c: implement <servicedir> and
2655 <includedir> (at least mostly)
2657 * dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
2658 first, then the user ID
2660 2003-04-01 Havoc Pennington <hp@pobox.com>
2662 * dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
2665 * dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
2667 * dbus/dbus-internals.c (_dbus_dup_string_array): new function
2669 * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
2670 socket 0777, and unlink any existing socket.
2672 * bus/bus.c (bus_context_new): change our UID/GID and fork if
2673 the configuration file so specifies; set up auth mechanism
2676 * bus/config-parser.c (bus_config_parser_content): add support
2677 for <fork> option and fill in code for <auth>
2679 * bus/system.conf.in: add <fork/> to default configuration,
2680 and limit auth mechanisms to EXTERNAL
2682 * doc/config-file.txt (Elements): add <fork>
2684 * dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
2685 (_dbus_change_identity): new function
2687 2003-03-31 Havoc Pennington <hp@redhat.com>
2689 * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket)
2690 (_dbus_listen_unix_socket): fix off-by-one error in null
2691 termination spotted by Nalin
2693 2003-03-31 Havoc Pennington <hp@redhat.com>
2695 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
2696 DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
2697 having a real home directory available.
2699 2003-03-31 Havoc Pennington <hp@redhat.com>
2701 * bus/Makefile.am (install-data-hook): create /var/run/dbus
2703 * bus/messagebus.in: add init script for Red Hat /etc/init.d
2705 * configure.in: add support for specifying a style of init script
2708 2003-03-31 Havoc Pennington <hp@redhat.com>
2710 Fix some annoying DBusString API and fix all affected code.
2712 * dbus/dbus-string.c (_dbus_string_init): get rid of annoying
2714 (_dbus_string_get_data): change to return string instead of using
2716 (_dbus_string_get_const_data): ditto
2717 (_dbus_string_get_data_len): ditto
2718 (_dbus_string_get_const_data_len): ditto
2720 2003-03-31 Havoc Pennington <hp@redhat.com>
2722 * bus/main.c (main): fix up the command line arguments to be nicer
2724 2003-03-31 Havoc Pennington <hp@redhat.com>
2726 * dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
2727 define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
2728 final location that lands in the config file
2730 * bus/config-loader-expat.c (bus_config_load): fix type of
2733 * doc/TODO: remove TODO item for dbus_bus_get()
2735 * dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
2737 2003-03-31 Havoc Pennington <hp@pobox.com>
2739 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
2740 (_dbus_transport_new_for_tcp_socket): these didn't need the "server"
2741 argument since they are always client side
2743 * dbus/dbus-server.c (dbus_server_get_address): new function
2745 * bus/main.c (main): take the configuration file as an argument.
2747 * test/data/valid-config-files/debug-allow-all.conf: new file to
2748 use with dispatch.c tests for example
2750 * bus/test-main.c (main): require test data dir
2752 * bus/bus.c (bus_context_new): change this to take a
2753 configuration file name as argument
2755 * doc/config-file.txt (Elements): add <servicedir>
2757 * bus/system.conf, bus/session.conf: new files
2759 * dbus/dbus-bus.c (dbus_bus_get): look for system bus on
2760 well-known socket if none set
2762 * configure.in: create system.conf and session.conf
2764 2003-03-30 Havoc Pennington <hp@pobox.com>
2766 * bus/config-parser.c: hacking
2768 * dbus/dbus-memory.c: don't use DBusList for the list of stuff
2769 to shut down, since it could cause weirdness with the DBusList
2772 * dbus/dbus-list.c (_dbus_list_test): add tests for the
2773 link-oriented stack routines
2774 (alloc_link): free the mempool if the first alloc from it fails
2776 * dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
2778 * dbus/dbus-string.c (UNICODE_VALID): sync new version of this
2780 (_dbus_string_skip_white): new
2782 * doc/config-file.txt (Elements): add <includedir>
2784 2003-03-28 Havoc Pennington <hp@pobox.com>
2786 * dbus/dbus-string.c (_dbus_string_copy_data_len)
2787 (_dbus_string_copy_data): new functions
2789 2003-03-28 Anders Carlsson <andersca@codefactory.se>
2791 * dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
2795 * dbus/dbus-memory.c:
2798 2003-03-28 Havoc Pennington <hp@pobox.com>
2800 * bus/test.c (bus_test_flush_bus): remove the sleep from here,
2801 I think it may have just been superstition. Not sure.
2803 * dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
2804 failures that were not being handled.
2806 * dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
2808 * dbus/dbus-memory.c: add ability to set number of mallocs in a
2809 row that will fail on out-of-memory.
2811 * dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
2812 function for testing out-of-memory handling.
2814 * bus/config-loader-expat.c (memsuite): don't wrap the dbus
2815 allocation functions, they do map exactly to the expat ones.
2817 2003-03-27 Havoc Pennington <hp@redhat.com>
2819 * bus/config-loader-libxml.c (bus_config_load): add another error
2822 2003-03-26 Anders Carlsson <andersca@codefactory.se>
2825 Add note about automatic service activation.
2827 * doc/dbus-specification.sgml:
2828 Rename the specification and clarify a few things.
2830 2003-03-26 Anders Carlsson <andersca@codefactory.se>
2833 * dbus/dbus-address.c:
2835 * dbus/dbus-marshal.c:
2836 * dbus/dbus-server-debug-pipe.c:
2837 * dbus/dbus-transport-unix.c:
2838 Fix documentation warnings.
2840 2003-03-26 Havoc Pennington <hp@pobox.com>
2842 * bus/test-main.c, dbus/dbus-test.c (main): check memleaks
2843 after every test so it's quick and easy to see which leaked, and
2844 so we test multiple dbus_shutdown() calls
2846 * configure.in: change configure.in XML stuff to also support
2849 * config-loader-libxml.c: some hacking
2851 * config-loader-expat.c: some hacking
2853 * config-parser.c: some hacking, plus tests
2855 2003-03-25 Havoc Pennington <hp@redhat.com>
2857 * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
2859 * configure.in: add --with-xml option to specify XML library,
2860 right now only libxml is supported.
2862 * bus/config-loader-libxml.c, config-parser.c: sync some minor
2863 nonworking code between home and work, still just stubs
2865 2003-03-24 Havoc Pennington <hp@redhat.com>
2867 * dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
2870 * dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
2871 NULL argument for "message" if the error is a well-known one,
2872 fill in a generic message in this case.
2874 * dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
2877 * bus/test.c (bus_test_flush_bus): add
2879 * bus/policy.c (bus_policy_test): test code stub
2881 2003-03-24 Havoc Pennington <hp@pobox.com>
2883 * bus/connection.c (bus_connections_setup_connection): set up
2884 the "can this user connect" function, but it always returns
2885 TRUE until we have a config file parser so we can have a config
2886 file that allows connections.
2888 2003-03-23 Havoc Pennington <hp@pobox.com>
2890 * dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
2891 DBUS_BUILD_TESTS, actually alloc/free a block of memory for
2892 the mutex, so we can check for proper memory management
2895 * dbus/dbus-dataslot.c: remove the mutex from
2896 DBusDataSlotAllocator and lock it manually when using it,
2897 to simplify fitting it into the global slots framework.
2899 * dbus/dbus-threads.c (init_static_locks): rework how we're
2900 handling global locks so they are easily shut down.
2902 * bus/policy.c (bus_policy_append_rule): fix
2904 * bus/test-main.c (main): check for memleaks
2906 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
2907 test suite check for memleaks
2909 * dbus/dbus-memory.c: add support in test mode for tracking
2910 number of outstanding blocks
2912 2003-03-23 Havoc Pennington <hp@pobox.com>
2914 * bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
2917 * dbus/dbus-hash.h: add ULONG hash keys
2919 * dbus/dbus-sysdeps.c (_dbus_get_groups): new
2920 (_dbus_get_group_id): new function
2922 2003-03-20 Havoc Pennington <hp@redhat.com>
2924 * dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
2926 (dbus_connection_get_unix_user): new function
2928 2003-03-20 Havoc Pennington <hp@pobox.com>
2930 * bus/connection.c (bus_connection_send_oom_error): assert that
2931 message has a sender
2932 (connection_execute_transaction): ditto
2933 (bus_connection_preallocate_oom_error): fix to set the sender, and
2934 set recipient to the destination service, not the bus driver
2936 * bus/policy.c: hacking
2938 * dbus/dbus-message.c (dbus_message_service_is): new function
2939 (dbus_message_sender_is): new
2941 2003-03-19 Havoc Pennington <hp@redhat.com>
2943 * bus/policy.c: start sketching code for policy restrictions on
2944 what connections can do.
2946 2003-03-18 Havoc Pennington <hp@redhat.com>
2948 * doc/TODO: some notes on high-level todo items. Little nitpick
2949 stuff is all in @todo, so no need to add it here.
2951 * doc/config-file.txt: some notes on how config file might look
2953 2003-03-18 Anders Carlsson <andersca@codefactory.se>
2959 2003-03-17 Havoc Pennington <hp@redhat.com>
2961 * dbus/dbus-internals.h: add gcc attributes so that
2962 our printf-style functions warn on bad arguments to
2965 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
2968 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
2971 2003-03-17 Havoc Pennington <hp@redhat.com>
2973 * bus/test-main.c (main): make it print something as it runs
2974 so make check doesn't look stuck
2976 * doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
2977 from CVS, now obsolete
2979 2003-03-17 Anders Carlsson <andersca@codefactory.se>
2981 * bus/dispatch.c: (bus_dispatch):
2982 Refetch the service name since it may have been reallocated
2983 when dbus_message_set_sender was called.
2985 * dbus/dbus-sysdeps.c: (_dbus_accept):
2986 Add address and address length variables and use them to stop
2987 valgrind from complaining.
2989 2003-03-17 Havoc Pennington <hp@pobox.com>
2991 All tests pass, no memleaks, no valgrind complaints.
2993 * bus/test.c: refcount handler_slot
2995 * bus/connection.c (bus_connections_new): refcount
2996 connection_data_slot
2998 * dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
2999 bytes so that auth scripts pass.
3001 * bus/dispatch.c: init message_handler_slot so it gets allocated
3004 * bus/dispatch.c (message_handler_slot_ref): fix memleak
3006 * dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
3007 dealloc server_pipe_hash when no longer used for benefit of
3010 * dbus/dbus-auth.c (process_command): memleak fix
3012 * bus/dispatch.c (check_hello_message): memleak fix
3014 2003-03-16 Havoc Pennington <hp@pobox.com>
3016 * dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
3018 2003-03-17 Anders Carlsson <andersca@codefactory.se>
3020 * bus/activation.c (bus_activation_activate_service): Append
3021 the pending activation entry to the list of pending activations.
3023 2003-03-16 Havoc Pennington <hp@pobox.com>
3025 * bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
3028 * dbus/dbus-address.c (create_entry): fix OOM handling when
3029 failing to alloc entry->method
3031 2003-03-16 Havoc Pennington <hp@pobox.com>
3033 * dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
3036 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
3037 add some missing dbus_set_result
3039 * bus/dispatch.c (bus_dispatch_add_connection): handle failure to
3040 alloc the DBusMessageHandler
3042 * dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
3043 the transport here, since we call this from the finalizer; it
3044 resulted in a double-finalize.
3046 * dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
3047 where we tried to use transport->connection that was NULL,
3048 happened when transport was disconnected early on due to OOM
3050 * bus/*.c: adapt to handle OOM for watches/timeouts
3052 * dbus/dbus-transport-unix.c: port to handle OOM during
3055 * dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
3056 reference to unused bytes instead of a copy
3058 * dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
3061 * dbus/dbus-connection.c (dbus_connection_handle_watch): return
3064 * dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
3067 2003-03-16 Anders Carlsson <andersca@codefactory.se>
3069 * doc/dbus-specification.sgml:
3070 Document reply message for ActivateService.
3072 2003-03-16 Anders Carlsson <andersca@codefactory.se>
3074 * bus/activation.c: (bus_pending_activation_entry_free),
3075 (bus_pending_activation_free), (bus_activation_new),
3076 (bus_activation_unref), (bus_activation_service_created),
3077 (bus_activation_activate_service):
3079 * bus/bus.c: (bus_context_new):
3080 * bus/desktop-file.c: (new_section):
3081 * bus/driver.c: (bus_driver_send_service_deleted),
3082 (bus_driver_handle_activate_service):
3083 * bus/services.c: (bus_registry_new), (bus_registry_ensure):
3085 * dbus/dbus-connection.c:
3086 (dbus_connection_send_with_reply_and_block):
3087 * dbus/dbus-message.c: (dbus_message_append_args_valist):
3088 * dbus/dbus-protocol.h:
3089 Make activation work better. Now pending activations will be queued
3090 and the daemon won't try to activate services that are already registered.
3092 2003-03-16 Havoc Pennington <hp@pobox.com>
3094 * dbus/dbus-bus.c (ensure_bus_data): handle failure to set
3097 * dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
3098 DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
3100 2003-03-16 Havoc Pennington <hp@pobox.com>
3102 * dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
3103 this. always run the test suite before commit...
3105 * bus/*: adapt to DBusConnection API changes
3107 * glib/dbus-gmain.c: adapt to DBusConnection API changes,
3108 requires renaming stuff to avoid dbus_connection_dispatch name
3111 * dbus/dbus-transport.c (_dbus_transport_queue_messages): new
3114 * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
3115 separate from _dbus_message_loader_return_buffer()
3117 * dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
3118 this, because it's now always broken to use; the number of
3119 messages in queue vs. the number still buffered by the message
3120 loader is undefined/meaningless. Should use
3121 dbus_connection_get_dispatch_state().
3122 (dbus_connection_dispatch): rename from
3123 dbus_connection_dispatch_message
3125 2003-03-16 Havoc Pennington <hp@pobox.com>
3127 * dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
3130 2003-03-16 Anders Carlsson <andersca@codefactory.se>
3132 * dbus/dbus-connection.c:
3133 (dbus_connection_send_with_reply_and_block):
3134 Decrease connection->n_incoming when removing an entry
3136 * dbus/dbus-dict.c: (dbus_dict_entry_free),
3137 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
3138 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
3139 (dbus_dict_set_byte_array), (dbus_dict_set_string_array),
3140 (dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
3141 (dbus_dict_get_byte_array):
3142 Handle NULL arrays and strings. Also add support for byte arrays.
3144 * dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
3145 (_dbus_marshal_dict), (_dbus_demarshal_byte_array),
3146 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
3147 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
3148 (_dbus_demarshal_dict), (demarshal_and_validate_len),
3149 (_dbus_marshal_validate_arg), (_dbus_marshal_test):
3150 * dbus/dbus-marshal.h:
3151 Add support for marshalling and demarshalling empty arrays and strings.
3153 * dbus/dbus-message.c: (dbus_message_append_args_valist),
3154 (dbus_message_append_string_array),
3155 (dbus_message_iter_get_boolean),
3156 (dbus_message_iter_get_boolean_array),
3157 (dbus_message_iter_get_int32_array),
3158 (dbus_message_iter_get_uint32_array),
3159 (dbus_message_iter_get_double_array),
3160 (dbus_message_iter_get_byte_array),
3161 (dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
3162 (check_message_handling):
3163 Add support for getting empty arrays and dicts.
3165 * dbus/dbus-string.c: (_dbus_string_validate_utf8):
3166 Don't do any validation at all for now, that's better than just checking
3169 * test/data/valid-messages/emptiness.message:
3170 New test message with lots of empty arrays.
3172 2003-03-16 Havoc Pennington <hp@pobox.com>
3174 * dbus/dbus-connection.c
3175 (_dbus_connection_queue_received_message_link): new function that
3176 can't fail due to OOM
3178 * dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
3179 new function pops a message together with a list link
3182 * dbus/dbus-transport-unix.c (queue_messages): use new link-based
3183 message queuing functions to avoid needing to alloc memory
3185 2003-03-16 Havoc Pennington <hp@pobox.com>
3187 Oops - test code was only testing failure of around 30 of the
3188 mallocs in the test path, but it turns out there are 500+
3189 mallocs. I believe this was due to misguided linking setup such
3190 that there was one copy of dbus_malloc etc. in the daemon and one
3191 in the shared lib, and only daemon mallocs were tested. In any
3192 case, the test case now tests all 500+ mallocs, and doesn't pass
3193 yet, though there are lots of fixes in this patch.
3195 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
3196 this so that it doesn't need to allocate memory, since it
3197 has no way of indicating failure due to OOM (and would be
3198 annoying if it did).
3200 * dbus/dbus-list.c (_dbus_list_pop_first_link): new function
3202 * bus/Makefile.am: rearrange to create two self-contained
3203 libraries, to avoid having libraries with overlapping symbols.
3204 that was resulting in weirdness, e.g. I'm pretty sure there
3205 were two copies of global static variables.
3207 * dbus/dbus-internals.c: move the malloc debug stuff to
3210 * dbus/dbus-list.c (free_link): free list mempool if it becomes
3213 * dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
3215 * dbus/dbus-address.c (dbus_parse_address): free list nodes
3218 * bus/dispatch.c (bus_dispatch_add_connection): free
3219 message_handler_slot when no longer using it, so
3220 memory leak checkers are happy for the test suite.
3222 * dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
3224 * bus/bus.c (new_connection_callback): disconnect in here if
3225 bus_connections_setup_connection fails.
3227 * bus/connection.c (bus_connections_unref): fix to free the
3229 (bus_connections_setup_connection): if this fails, don't
3230 disconnect the connection, just be sure there are no side
3233 * dbus/dbus-string.c (undo_alignment): unbreak this
3235 * dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
3237 (_dbus_auth_new): fix the order in which we free strings
3240 * bus/connection.c (bus_connection_disconnected): fix to
3241 not send ServiceDeleted multiple times in case of memory
3244 * dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
3245 get the base service name
3246 (dbus_bus_register_client): don't return base service name,
3247 instead store it on the DBusConnection and have an accessor
3249 (dbus_bus_register_client): rename dbus_bus_register()
3251 * bus/dispatch.c (check_hello_message): verify that other
3252 connections on the bus also got the correct results, not
3253 just the one sending hello
3255 2003-03-15 Havoc Pennington <hp@pobox.com>
3257 Make it pass the Hello handling test including all OOM codepaths.
3258 Now to do other messages...
3260 * bus/services.c (bus_service_remove_owner): fix crash when
3261 removing owner from an empty list of owners
3262 (bus_registry_ensure): don't leave service in the list of
3263 a connection's owned services if we fail to put the service
3266 * bus/connection.c (bus_connection_preallocate_oom_error): set
3267 error flag on the OOM error.
3269 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
3270 handle _dbus_transport_set_connection failure
3272 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
3273 to create watches up front and simply enable/disable them as
3275 (unix_connection_set): this can now fail on OOM
3277 * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
3278 of enabling/disabling a watch or timeout.
3280 * bus/loop.c (bus_loop_iterate): don't touch disabled
3283 * glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
3285 2003-03-15 Havoc Pennington <hp@pobox.com>
3287 * bus/dispatch.c (bus_dispatch_test): OK, now finally actually
3288 write useful test code, after all that futzing around ;-)
3290 Test does not yet pass because we can't handle OOM in
3291 _dbus_transport_messages_pending (basically,
3292 dbus_connection_preallocate_send() does not prealloc the write
3293 watch). To fix this, I think we need to add new stuff to
3294 set_watch_functions, namely a SetEnabled function so we can alloc
3295 the watch earlier, then enable it later.
3297 * dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
3298 dbus-memory.c to the convenience lib
3300 * bus/test.c: rename some static functions to keep them clearly
3301 distinct from stuff in connection.c. Handle client disconnection.
3303 2003-03-14 Havoc Pennington <hp@pobox.com>
3305 * bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
3306 transport, tests more of the real codepath. Set up clients
3307 with bus_setup_debug_client.
3309 * bus/test.c (bus_setup_debug_client): function to set up debug
3310 "clients" on the main loop
3312 * dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
3315 * dbus/dbus-server.c (dbus_server_listen): add debug-pipe
3318 * dbus/dbus-server-debug.c: support a debug server based on pipes
3320 * dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
3321 (_dbus_close): new function
3323 * configure.in: check for socketpair
3325 2003-03-14 Havoc Pennington <hp@redhat.com>
3327 * dbus/dbus-memory.c: add a "detect buffer overwrites on free"
3330 * dbus/dbus-transport-debug.c: rework this a good bit to be
3331 less complicated. hopefully still works.
3333 * dbus/dbus-server-debug.c (handle_new_client): remove timeout
3336 * glib/dbus-gmain.c (timeout_handler): don't remove timeout
3339 * dbus/dbus-message.c (dbus_message_copy): rename from
3340 dbus_message_new_from_message, fix it up to copy
3341 all the message fields, add test case
3343 * bus/dispatch.c (bus_dispatch_test): add some more test code,
3344 not quite passing yet
3346 2003-03-14 Havoc Pennington <hp@pobox.com>
3348 * bus/loop.c (bus_loop_iterate): add this so we can "run loop
3349 until no work remains" in test code. (the large diff here
3350 is just code movement, no actual changes)
3352 * dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
3353 1, no point waiting around for test code.
3354 (_dbus_server_debug_accept_transport): unref the timeout
3355 after adding it (right?)
3357 * dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
3359 2003-03-13 Havoc Pennington <hp@redhat.com>
3361 * dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
3364 * dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
3367 * dbus/dbus-connection.h: Make AddWatchFunction and
3368 AddTimeoutFunction return a bool so they can fail on out-of-memory
3370 * bus/bus.c (bus_context_new): set up timeout handlers
3372 * bus/connection.c (bus_connections_setup_connection): set up
3375 * glib/dbus-gmain.c: adapt to the fact that set_functions stuff
3378 * bus/bus.c (bus_context_new): adapt to changes
3380 * bus/connection.c: adapt to changes
3382 * test/watch.c: adapt to DBusWatch changes
3384 * bus/dispatch.c (bus_dispatch_test): started adding this but
3387 2003-03-14 Anders Carlsson <andersca@codefactory.se>
3389 * bus/dispatch.c (send_service_nonexistent_error): Fix typo.
3391 2003-03-13 Havoc Pennington <hp@pobox.com>
3393 * bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
3394 set up a test framework as for the library
3396 2003-03-12 Havoc Pennington <hp@pobox.com>
3398 Throughout: purge global variables, introduce BusActivation,
3399 BusConnections, BusRegistry, etc. objects instead.
3401 * bus/bus.h, bus/bus.c: introduce BusContext as a global
3404 * test/Makefile.am (TEST_BINARIES): disable bus-test for now,
3405 going to redo this a bit differently I think
3407 2003-03-12 Havoc Pennington <hp@redhat.com>
3409 Mega-patch that gets the message bus daemon initially handling
3410 out-of-memory. Work still needed. Also lots of random
3411 moving stuff to DBusError instead of ResultCode.
3413 * dbus/dbus-list.c (_dbus_list_length_is_one): new function
3415 * dbus/dbus-connection.c
3416 (dbus_connection_send_with_reply_and_block): use DBusError
3418 * dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
3421 * dbus/dbus-connection.c (dbus_connection_send): drop the result
3422 code here, as the only failure possible is OOM.
3424 * bus/connection.c (bus_connection_disconnect):
3425 rename bus_connection_disconnected as it's a notification only
3427 * bus/driver.c (bus_driver_handle_acquire_service): don't free
3428 "name" on get_args failure, should be done by get_args;
3429 don't disconnect client for bad args, just return an error.
3430 (bus_driver_handle_service_exists): ditto
3432 * bus/services.c (bus_services_list): NULL-terminate returned array
3434 * bus/driver.c (bus_driver_send_service_lost)
3435 (bus_driver_send_service_acquired): send messages from driver to a
3436 specific client to the client's unique name, not to the broadcast
3439 * dbus/dbus-message.c (decode_header_data): reject messages that
3440 contain no name field
3441 (_dbus_message_get_client_serial): rename to
3442 dbus_message_get_serial and make public
3443 (_dbus_message_set_serial): rename from set_client_serial
3444 (_dbus_message_set_reply_serial): make public
3445 (_dbus_message_get_reply_serial): make public
3447 * bus/connection.c (bus_connection_foreach): allow stopping
3448 iteration by returning FALSE from foreach function.
3450 * dbus/dbus-connection.c (dbus_connection_send_preallocated)
3451 (dbus_connection_free_preallocated_send)
3452 (dbus_connection_preallocate_send): new API for sending a message
3453 without possibility of malloc failure.
3454 (dbus_connection_send_message): rename to just
3455 dbus_connection_send (and same for whole function family)
3457 * dbus/dbus-errors.c (dbus_error_free): make this reinit the error
3459 * dbus/dbus-sysdeps.c (_dbus_exit): new function
3461 * bus/activation.c: handle/return errors
3463 * dbus/dbus-errors.h: add more DBUS_ERROR #define
3465 * dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
3466 (_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
3467 (_dbus_result_from_errno): move to this file
3469 2003-03-10 Anders Carlsson <andersca@codefactory.se>
3471 * dbus/dbus-marshal.c:
3472 (_dbus_marshal_set_string):
3473 Take a length argument so we can marshal the correct string
3476 (_dbus_marshal_dict), (_dbus_demarshal_dict),
3477 (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
3478 (_dbus_marshal_test):
3479 * dbus/dbus-marshal.h:
3480 Add support for marshalling and demarshalling dicts.
3482 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
3483 Add support for TYPE DICT.
3485 * dbus/dbus-message.c: (set_string_field):
3486 Adjust header padding.
3488 (dbus_message_append_args_valist), (dbus_message_append_dict),
3489 (dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
3490 (dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
3491 (check_message_handling), (check_have_valid_message):
3492 * dbus/dbus-message.h:
3493 Add functions for setting and getting dicts.
3495 * dbus/dbus-protocol.h:
3501 * doc/dbus-specification.sgml:
3502 Add information about how dicts are marshalled.
3504 * test/data/invalid-messages/dict-with-nil-value.message:
3505 * test/data/invalid-messages/too-short-dict.message:
3506 * test/data/valid-messages/dict-simple.message:
3507 * test/data/valid-messages/dict.message:
3508 Add sample messages containing dicts.
3510 2003-03-08 Anders Carlsson <andersca@codefactory.se>
3512 * dbus/dbus-dict.h: Add DBUS_END_DECLS.
3514 2003-03-07 Anders Carlsson <andersca@codefactory.se>
3517 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
3518 (dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
3519 (dbus_dict_set_int32), (dbus_dict_set_uint32),
3520 (dbus_dict_set_double), (dbus_dict_set_string),
3521 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
3522 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
3523 (dbus_dict_set_string_array), (_dbus_dict_test):
3525 Fix according to comments from Havoc.
3527 2003-03-06 Michael Meeks <michael@server.home>
3529 * configure.in: if we don't have kde-config, disable have_qt.
3531 2003-03-07 Anders Carlsson <andersca@codefactory.se>
3536 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
3537 (dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
3538 (dbus_dict_remove), (dbus_dict_get_value_type),
3539 (dbus_dict_get_keys), (dbus_dict_put_boolean),
3540 (dbus_dict_put_int32), (dbus_dict_put_uint32),
3541 (dbus_dict_put_double), (dbus_dict_put_string),
3542 (dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
3543 (dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
3544 (dbus_dict_put_string_array), (dbus_dict_get_boolean),
3545 (dbus_dict_get_int32), (dbus_dict_get_uint32),
3546 (dbus_dict_get_double), (dbus_dict_get_string),
3547 (dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
3548 (dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
3549 (dbus_dict_get_string_array), (_dbus_dict_test):
3551 Add DBusDict implementation
3553 * dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
3557 2003-03-04 Havoc Pennington <hp@pobox.com>
3559 * test/data/auth/*: adapt to changes
3561 * dbus/dbus-auth-script.c (_dbus_auth_script_run): add
3562 USERID_BASE64 and change USERNAME_BASE64 to put in username not
3565 * dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
3566 more stuff from being in a context name, to make the protocol
3567 simpler to deal with
3569 * dbus/dbus-errors.c (dbus_error_has_name): new function
3570 (dbus_error_is_set): new function
3572 * dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
3573 with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
3575 * dbus/dbus-connection.c (dbus_connection_flush): also read
3576 messages during a flush operation
3578 * dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
3580 2003-03-05 Anders Carlsson <andersca@codefactory.se>
3582 * configure.in: Check for gethostbyname on Solaris.
3584 * dbus/dbus-transport.c: (_dbus_transport_open):
3585 Remove duplicate "tcp" entry.
3587 * doc/dbus-specification.sgml:
3588 Clarify some things.
3590 2003-03-05 Anders Carlsson <andersca@codefactory.se>
3592 * dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
3593 * dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
3594 (_dbus_keyring_test):
3595 * dbus/dbus-md5.c: (_dbus_md5_compute):
3596 * dbus/dbus-sha.c: (_dbus_sha_compute):
3599 2003-03-05 Anders Carlsson <andersca@codefactory.se>
3601 * README: Add some things.
3603 2003-03-04 Anders Carlsson <andersca@codefactory.se>
3605 * dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
3606 after case DBUS_TYPE_BOOELAN.
3608 2003-03-02 Havoc Pennington <hp@pobox.com>
3610 * test/break-loader.c (randomly_set_extreme_ints): add test that
3611 sets really huge and small integers
3613 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
3614 that length of boolean array fits in the string, and that
3615 string has room for boolean value in single-bool case.
3617 * dbus/dbus-message-builder.c (_dbus_message_data_load): add
3618 optional value to "ALIGN" command which is what to fill the
3621 * test/data/valid-messages/no-padding.message: add regression
3622 test for the message padding problem
3624 2003-03-02 Havoc Pennington <hp@pobox.com>
3626 * dbus/dbus-message.c (decode_header_data): fix to always init
3627 message_padding, from Benjamin Dauvergne
3629 2003-03-02 Havoc Pennington <hp@pobox.com>
3635 2003-03-01 Joe Shaw <joe@assbarn.com>
3637 * configure.in: Check for "struct cmsgcred" and try to access its
3638 members for BSD-like unices.
3640 * dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
3641 _dbus_read_credentials_unix_socket().
3642 (_dbus_read_credentials_unix_socket): Use recvmsg() instead of
3643 read() for reading the credential byte off the unix socket. Use
3644 struct cmsgcred on systems that support it.
3646 2003-02-27 Alexander Larsson <alexl@redhat.com>
3650 Make gthreads-2.0 dependency optional. Don't build thread test if
3653 2003-02-27 Havoc Pennington <hp@pobox.com>
3655 * dbus/dbus-connection.c
3656 (dbus_connection_send_message_with_reply_and_block): fix doh!
3657 doh! doh! bug that resulted in never removing a reply from the
3658 queue, no wonder we called get_reply_serial so much ;-)
3660 * dbus/dbus-message.c (struct DBusMessage): cache reply serial
3661 and client serial instead of demarshaling them every time
3663 2003-02-27 Havoc Pennington <hp@pobox.com>
3665 * dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
3666 more inlined, using dbus-string-private.h, speeds things up
3669 * dbus/dbus-string.c (_dbus_string_free): apply align offset
3670 when freeing the string
3671 (_dbus_string_steal_data): fix for align offset
3672 (undo_alignment): new function
3674 2003-02-26 Havoc Pennington <hp@redhat.com>
3676 All kinds of audit fixes from Owen, plus initial attempt to
3677 handle unaligned memory returned from malloc.
3679 * dbus/dbus-string.c (_dbus_string_init): clamp max length to
3680 leave room for align_offset and nul byte
3681 (fixup_alignment): function to track an align_offset and
3682 ensure real->str is aligned
3683 (DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
3684 to allow a nul byte plus align offset
3685 (_dbus_string_lock): fix overflow issue
3686 (_dbus_string_init_const_len): add assertions on sanity of len,
3687 assign allocated to be ALLOCATION_PADDING larger than len
3688 (set_length): fixup the overflow handling
3689 (_dbus_string_get_data_len): fix overflow in assertion
3690 (open_gap): detect overflow in size of gap to be opened
3691 (_dbus_string_lengthen): add overflow check
3692 (_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
3693 (_dbus_string_append): add overflow check
3694 (_dbus_string_append_unichar): overflow
3695 (_dbus_string_delete): fix overflow in assertion
3696 (_dbus_string_copy_len): overflow in assertion
3697 (_dbus_string_replace_len): overflows in assertions
3698 (_dbus_string_find): change to implement in terms of
3699 _dbus_string_find_to
3700 (_dbus_string_find_to): assorted fixage
3701 (_dbus_string_equal_c_str): assert c_str != NULL,
3702 fix logic so the function works
3703 (_dbus_string_ends_with_c_str): fix overflow thingy
3704 (_dbus_string_base64_encode): overflow fix
3705 (_dbus_string_validate_ascii): overflow
3706 (_dbus_string_validate_nul): overflow
3708 2003-02-26 Havoc Pennington <hp@redhat.com>
3710 * dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
3712 2003-02-26 Alexander Larsson <alexl@redhat.com>
3715 Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
3717 * dbus/dbus-connection.c:
3718 * dbus/dbus-connection.h:
3719 Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
3720 Add dbus_connection_set_wakeup_main_function and use it when queueing
3721 incoming and outgoing messages.
3724 * dbus/dbus-dataslot.c:
3725 Threadsafe usage of DBusDataSlotAllocator
3727 * dbus/dbus-message.c: (dbus_message_get_args_iter):
3730 * dbus/dbus-server-unix.c:
3733 * glib/dbus-gmain.c:
3734 Implement the new wakeup functions for glib.
3737 * glib/test-thread-client.c:
3738 * glib/test-thread-server.c:
3739 * glib/test-thread.h:
3740 Initial cut at some thread test code. Not really done yet.
3742 2003-02-26 Havoc Pennington <hp@pobox.com>
3744 * dbus/dbus-connection.c
3745 (dbus_connection_send_message_with_reply_and_block): fix crash
3746 where we ref'd the outgoing message instead of the returned reply
3748 * dbus/dbus-transport-unix.c (do_authentication): check read watch
3749 at the end of this function, so if we didn't need to read for
3750 authentication, we reinstall it for receiving messages
3752 * dbus/dbus-message.c (dbus_message_new_reply): allow replies to
3753 a NULL sender for peer-to-peer case
3755 * dbus/dbus-transport-unix.c (check_read_watch): handle
3756 !authenticated case correctly
3758 * glib/dbus-gmain.c: add support for DBusServer
3760 * dbus/dbus-server.c: add data slot support
3762 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
3763 return values and handle errors
3765 * dbus/dbus-dataslot.c: factor out the data slot stuff from
3768 * Doxyfile.in (INPUT): add glib subdir
3770 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
3771 setup_with_g_main instead of hookup_with_g_main; write docs
3773 2003-02-24 Anders Carlsson <andersca@codefactory.se>
3775 * dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
3776 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
3777 * dbus/dbus-message.c: (dbus_message_append_boolean),
3778 (dbus_message_append_boolean_array),
3779 (dbus_message_get_args_valist), (_dbus_message_test):
3780 * dbus/dbus-message.h:
3781 * doc/dbus-specification.sgml:
3782 Various fixes as pointed out by Havoc.
3784 * test/data/invalid-messages/bad-boolean-array.message:
3785 * test/data/invalid-messages/bad-boolean.message:
3786 Add invalid boolean value test cases.
3788 2003-02-24 Anders Carlsson <andersca@codefactory.se>
3790 * dbus/dbus-internals.c: (_dbus_type_to_string):
3791 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
3792 (_dbus_marshal_validate_arg):
3793 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
3794 * dbus/dbus-message.c: (dbus_message_append_args_valist),
3795 (dbus_message_append_boolean), (dbus_message_append_boolean_array),
3796 (dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
3797 (dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
3798 (dbus_message_iter_get_double),
3799 (dbus_message_iter_get_boolean_array), (message_iter_test):
3800 * dbus/dbus-message.h:
3801 * dbus/dbus-protocol.h:
3802 * doc/dbus-specification.sgml:
3803 * test/data/valid-messages/lots-of-arguments.message:
3804 Add support for boolean and boolean array types.
3806 2003-02-23 Havoc Pennington <hp@pobox.com>
3808 * dbus/dbus-keyring.c: finish most of this implementation and
3811 * dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
3812 these barf if the error isn't cleared to NULL
3814 * dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
3815 (_dbus_create_directory): new function
3817 * dbus/dbus-errors.c (dbus_set_error): fix warning
3819 * dbus/dbus-string.c (_dbus_string_hex_encode): new function
3820 (_dbus_string_hex_decode): new function
3821 (test_hex_roundtrip): test code
3823 * dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
3825 * dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
3827 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
3828 the save-to-temp/rename trick to atomically write the new file
3829 (_dbus_string_parse_uint): new function
3831 2003-02-22 Havoc Pennington <hp@pobox.com>
3833 * test/Makefile.am (dist-hook): fix dist for test/data/sha-1
3835 2003-02-22 Havoc Pennington <hp@pobox.com>
3837 * dbus/dbus-message.c (dbus_message_iter_get_string_array):
3838 (dbus_message_iter_get_byte_array): Fix up doxygen warnings
3840 * dbus/dbus-sha.c: add implementation of SHA-1 algorithm
3842 * dbus/test/data/sha-1: add US government test suite for SHA-1
3844 2003-02-21 Anders Carlsson <andersca@codefactory.se>
3846 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
3847 Make string arrays NULL-terminated.
3849 * dbus/dbus-memory.c: (dbus_free_string_array):
3850 * dbus/dbus-memory.h:
3851 New function for freeing NULL-terminated string arrays.
3853 * dbus/dbus-message-builder.c: (append_quoted_string),
3854 (_dbus_message_data_load):
3855 Add support for array types.
3857 * dbus/dbus-message.c: (check_message_handling):
3858 Add more types as test cases.
3860 * dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
3861 (_dbus_string_parse_double):
3862 Add the start offset to the end offset.
3864 * test/data/valid-messages/lots-of-arguments.message:
3865 New test message with lots of arguments.
3867 2003-02-21 Anders Carlsson <andersca@codefactory.se>
3869 * dbus/dbus-message.c: (dbus_message_append_nil),
3870 (dbus_message_append_int32), (dbus_message_append_uint32),
3871 (dbus_message_append_double), (dbus_message_append_string),
3872 (dbus_message_append_int32_array),
3873 (dbus_message_append_uint32_array),
3874 (dbus_message_append_double_array),
3875 (dbus_message_append_byte_array),
3876 (dbus_message_append_string_array):
3877 Fix all out-of-memory handling in these functions.
3879 2003-02-21 Anders Carlsson <andersca@codefactory.se>
3881 * dbus/dbus-message.c: (dbus_message_append_nil):
3884 2003-02-21 Anders Carlsson <andersca@codefactory.se>
3886 * dbus/dbus-message.c: (dbus_message_append_args_valist),
3887 (dbus_message_append_nil), (dbus_message_append_int32_array),
3888 (dbus_message_append_uint32_array),
3889 (dbus_message_append_double_array),
3890 (dbus_message_append_byte_array),
3891 (dbus_message_append_string_array), (dbus_message_get_args_valist),
3892 (dbus_message_iter_get_int32_array),
3893 (dbus_message_iter_get_uint32_array),
3894 (dbus_message_iter_get_double_array),
3895 (dbus_message_iter_get_byte_array),
3896 (dbus_message_iter_get_string_array):
3898 * dbus/dbus-message.h:
3899 Add functions for appending and getting arrays.
3901 2003-02-21 Anders Carlsson <andersca@codefactory.se>
3903 * dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
3904 element size at least 8 bytes, fixes mempool tests on
3907 2003-02-20 Alexander Larsson <alexl@redhat.com>
3909 * dbus/dbus-transport-unix.c (unix_do_iteration):
3910 Unlock the connection mutex during a blocking select call.
3911 Add todo about how we need a way to wake up the select.
3913 * dbus/dbus-connection-internal.h:
3914 * dbus/dbus-connection.c:
3915 Add _dbus_connection_lock and _dbus_connection_unlock.
3917 2003-02-19 Havoc Pennington <hp@pobox.com>
3919 * Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
3920 Doxyfile.in, not Doxyfile
3922 * dbus/dbus-keyring.c: do some hacking on this
3924 * dbus/dbus-sysdeps.c (_dbus_delete_file): new
3926 * dbus/dbus-errors.c (dbus_set_error_const): do not call
3928 (dbus_set_error): remove dbus_error_init, check for message ==
3929 NULL *before* we sprintf into it, and add @todo about including
3930 system headers in this file
3932 * dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
3934 * dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
3936 * dbus/dbus-sysdeps.c (get_user_info): break this function out to
3937 get various bits of user information based on either username
3939 (_dbus_homedir_from_username): new function
3941 2003-02-19 Anders Carlsson <andersca@codefactory.se>
3944 Add check for nonposix getpwnam_r
3946 * dbus/dbus-mempool.c: (_dbus_mem_pool_new):
3947 Align the pool element size to a sizeof (void *) boundary.
3949 * dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
3950 (_dbus_listen_unix_socket), (_dbus_credentials_from_username):
3951 General Solaris fixes.
3953 * test/data/valid-messages/simplest-manual.message:
3954 Explicitly state that we want little-endian packing.
3956 2003-02-19 Mikael Hallendal <micke@codefactory.se>
3958 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
3960 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
3961 Added to create a transport connecting using a tcp/ip socket.
3963 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
3964 to a tcp socket at given host and port.
3965 (_dbus_listen_tcp_socket): added to listen on tcp socket for given
3968 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
3970 * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
3971 Added to create a server listening on a TCP/IP socket.
3973 2003-02-19 Havoc Pennington <hp@pobox.com>
3975 Throughout: mop up all the Doxygen warnings and undocumented
3978 * dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
3979 to search any paths.
3981 * dbus/dbus-threads.c: move global mutex initializers to
3982 dbus-internals.h, multiple prototypes was confusing doxygen
3983 besides being kind of ugly
3985 * Doxyfile (PREDEFINED): have Doxygen define
3986 DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
3987 docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
3988 (do not abuse the feature! it's for stuff like the autogenerated
3989 macros in dbus-md5.c, not just for things you don't feel like
3992 2003-02-18 Havoc Pennington <hp@pobox.com>
3994 * dbus/dbus-string.c (_dbus_string_zero): new function
3996 * dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
3997 wrap it in some dbus-friendly API
3999 * dbus/dbus-types.h: add 16-bit types
4001 2003-02-18 Joe Shaw <joe@assbarn.com>
4003 * dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
4004 credentials from our currently running process.
4005 (get_word): Fix a buglet where we were copying the entire length
4006 instead of relative to our position.
4008 * dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
4009 keys on the stack... it's 640k of data.
4011 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
4012 read the credentials byte off the socket, even if we don't have
4014 (_dbus_poll): Implement poll() using select() for systems which
4017 * glib/test-dbus-glib.c (main): Print out an error if no
4018 parameters are given.
4020 * test/data/auth/fallback.auth-script: Added. Tests that a client
4021 can fallback to a secondary auth mechanism if the first fails.
4023 2003-02-18 Havoc Pennington <hp@pobox.com>
4027 2003-02-17 Havoc Pennington <hp@pobox.com>
4029 * doc/dbus-specification.sgml: lots of cosmetic
4030 cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
4031 env variable to DBUS_BUS_ADDRESS, s/client/application/,
4032 s/server/bus/ (except in authentication section). Add a section
4033 "Message Bus Message Routing"
4035 2003-02-17 Anders Carlsson <andersca@codefactory.se.>
4041 2003-02-17 Anders Carlsson <andersca@codefactory.se>
4043 * doc/dbus-specification.sgml:
4044 Specification updates.
4046 2003-02-17 Anders Carlsson <andersca@codefactory.se>
4048 * bus/activation.c: (bus_activation_init), (child_setup),
4049 (bus_activation_activate_service):
4051 * bus/main.c: (main):
4052 Set DBUS_ADDRESS environment variable.
4054 * dbus/dbus-errors.c: (dbus_set_error):
4055 Don't use va_copy since that's a C99 feature.
4057 * dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
4058 (_dbus_spawn_async):
4059 * dbus/dbus-sysdeps.h:
4060 Add child_setup_func to _dbus_spawn_async.
4062 * doc/dbus-specification.sgml:
4063 Update specification.
4065 * test/spawn-test.c: (setup_func), (main):
4068 2003-02-17 Alexander Larsson <alexl@redhat.com>
4070 * dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
4073 2003-02-17 Anders Carlsson <andersca@codefactory.se>
4077 * doc/dbus-test-plan.sgml:
4078 Add test plan document.
4083 2003-02-17 Anders Carlsson <andersca@codefactory.se>
4085 * dbus/dbus-message.c: (decode_header_data),
4086 (_dbus_message_loader_return_buffer):
4087 Set the header padding amount when loading a message.
4089 2003-02-16 Anders Carlsson <andersca@codefactory.se>
4091 * bus/dispatch.c: (send_one_message):
4092 Only send broadcast messages to registered connections.
4094 * dbus/dbus-message.c: (dbus_message_name_is):
4095 * dbus/dbus-message.h:
4096 New convenience function.
4098 * dbus/dbus-transport-debug.c: (do_reading):
4099 Only dispatch one message per run.
4102 * test/bus-test.c: (new_connection_callback), (die),
4103 (test_hello_client1_handler), (test_hello_client2_handler),
4104 (test_hello_replies), (main):
4106 * test/bus-test-loop.[ch]:
4109 2003-02-16 Havoc Pennington <hp@pobox.com>
4111 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
4112 backward conditional
4114 2003-02-16 Alexander Larsson <alexl@redhat.com>
4116 * dbus/dbus-connection.c:
4117 Implement sent_message_with_reply. (with_reply_and block is still
4119 Made dispatch_message not lose message if OOM.
4121 * dbus/dbus-errors.h:
4122 Add NoReply error (for reply timeouts).
4124 2003-02-16 Alexander Larsson <alexl@redhat.com>
4126 * dbus/dbus-hash.c (_dbus_hash_table_unref):
4127 Actually free keys and values when destroying hashtable.
4129 2003-02-16 Anders Carlsson <andersca@codefactory.se>
4131 * dbus/dbus-auth.c: (client_try_next_mechanism):
4134 * dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
4135 Return TRUE if there's no thread implementation around.
4137 * glib/dbus-gmain.c: (free_source),
4138 (dbus_connection_hookup_with_g_main):
4139 Make sure to remove the GSource when the connection is finalized.
4141 2003-02-16 Anders Carlsson <andersca@codefactory.se>
4143 * bus/dispatch.c: (bus_dispatch_message_handler):
4144 * dbus/dbus-errors.h:
4145 Return an error if someone tries to send a message to a service
4148 2003-02-16 Anders Carlsson <andersca@codefactory.se>
4150 * bus/activation.c: (load_directory), (bus_activation_init),
4151 (bus_activation_activate_service):
4154 (bus_driver_handle_activate_service), (bus_driver_handle_message):
4155 More work on the activation handling.
4157 * dbus/dbus-errors.h:
4158 Add some error messages
4160 * dbus/dbus-message.c: (dbus_message_new_error_reply):
4161 * dbus/dbus-message.h:
4162 New function that creates an error message.
4164 * dbus/dbus-protocol.h:
4165 Add ACTIVATE_SERVER message.
4167 * dbus/dbus-server-unix.c: (unix_handle_watch),
4168 (_dbus_server_new_for_domain_socket):
4169 Call _dbus_fd_set_close_on_exec.
4171 * dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
4172 (_dbus_spawn_async), (_dbus_disable_sigpipe),
4173 (_dbus_fd_set_close_on_exec):
4174 * dbus/dbus-sysdeps.h:
4175 Add _dbus_fd_set_close_on exec function. Also add function that checks
4176 that all open fds are set to close-on-exec and warns otherwise.
4178 * dbus/dbus-transport-unix.c:
4179 (_dbus_transport_new_for_domain_socket):
4180 Call _dbus_fd_set_close_on_exec.
4182 2003-02-16 Havoc Pennington <hp@pobox.com>
4184 * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
4185 allow people to avoid setting SIGPIPE to SIG_IGN
4186 (_dbus_connection_new_for_transport): disable SIGPIPE unless
4187 we've been asked not to
4189 2003-02-15 Anders Carlsson <andersca@codefactory.se>
4191 * dbus/dbus-list.c: (_dbus_list_append_link),
4192 (_dbus_list_prepend_link):
4193 * dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
4197 2003-02-15 Anders Carlsson <andersca@codefactory.se>
4200 * bus/activation.c: (bus_activation_entry_free),
4201 (add_desktop_file_entry), (load_directory), (bus_activation_init):
4203 * bus/main.c: (main):
4204 Add simple activation support, doesn't work yet though.
4206 2003-02-15 Zack Rusin <zack@kde.org>
4208 * qt/dbus-qthread.cpp: small casting fix
4210 2003-02-15 Anders Carlsson <andersca@codefactory.se>
4212 * dbus/dbus-errors.c: (dbus_set_error):
4213 * dbus/dbus-errors.h:
4214 Add a few errors and make dbus_set_error void.
4216 * dbus/dbus-sysdeps.c:
4217 (_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
4218 (write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
4219 * dbus/dbus-sysdeps.h:
4220 Add _dbus_spawn_async.
4222 * test/spawn-test.c: (main):
4223 Test for _dbus_spawn_async.
4225 2003-02-15 Anders Carlsson <andersca@codefactory.se>
4227 * dbus/dbus-internals.h:
4228 Fix build without tests.
4230 * dbus/dbus-list.c: (alloc_link):
4231 Fix a segfault when a malloc fails.
4233 * dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
4234 (dbus_malloc0), (dbus_realloc):
4235 Add support for malloc debugging.
4237 2003-02-15 Alexander Larsson <alexl@redhat.com>
4239 * dbus/dbus-threads.c:
4240 * dbus/dbus-threads.h:
4241 Add condvars. Remove static mutext from API.
4242 Implement static mutexes by initializing them from threads_init.
4244 * glib/dbus-gthread.c:
4245 * qt/dbus-qthread.cpp:
4246 Update with the thread api changes.
4251 Turn StaticMutex into normal mutex + init function.
4252 Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
4253 _dbus_list_append_link, _dbus_list_prepend_link
4256 * dbus/dbus-sysdeps.c:
4257 * dbus/dbus-sysdeps.h:
4258 New type dbus_atomic_t, and new functions _dbus_atomic_inc,
4259 _dbus_atomic_dec. Only slow fallback implementation at the moment.
4261 * dbus/dbus-protocol.h:
4262 Add DBUS_MESSAGE_LOCAL_DISCONNECT define
4264 * dbus/dbus-message.c:
4265 Make ref/unref atomic.
4268 * dbus/dbus-connection-internal.h:
4269 * dbus/dbus-connection.c:
4270 * dbus/dbus-connection.h:
4272 Change _peek to _borrow,_return & _steal_borrowed.
4273 Change disconnect callback to event.
4274 Make dbus_connection_dispatch_messages reentrant.
4276 * dbus/dbus-transport.c:
4277 Don't ref the connection on calls to the transport
4280 * dbus/dbus-message-handler.c:
4283 * glib/dbus-gmain.c:
4284 Don't use peek_message anymore
4287 * test/debug-thread.c:
4288 * test/debug-thread.h:
4289 Simple thread implementation that asserts() on deadlocks in
4290 single-threaded code.
4293 (main) Call debug_threads_init.
4296 Use disconnect message instead of disconnect callback.
4300 Don't call dbus_connection_set_disconnect_function. Instead export
4301 bus_connection_disconnect.
4304 Call bus_connection_disconnect when we get a disconnected message.
4306 2003-02-15 Havoc Pennington <hp@pobox.com>
4308 * dbus/dbus-message.c (dbus_message_new): fool around with the
4311 2003-02-14 Havoc Pennington <hp@pobox.com>
4313 * dbus/dbus-mempool.c: fail if the debug functions so indicate
4315 * dbus/dbus-memory.c: fail if the debug functions indicate we
4318 * dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
4319 (_dbus_decrement_fail_alloc_counter): debug functions to
4320 simulate memory allocation failures
4322 2003-02-14 Havoc Pennington <hp@pobox.com>
4324 * dbus/dbus-errors.h (struct DBusError): add a word of padding
4327 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4329 * bus/driver.c: (bus_driver_handle_hello):
4331 * bus/services.c: (bus_service_lookup):
4332 Reorder message sending so we get a more sane order.
4334 * test/bus-test.c: (message_handler):
4337 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4339 * bus/driver.c: (bus_driver_send_service_deleted),
4340 (bus_driver_send_service_created), (bus_driver_send_service_lost),
4341 (bus_driver_send_service_acquired), (bus_driver_handle_hello),
4342 (bus_driver_send_welcome_message),
4343 (bus_driver_handle_list_services),
4344 (bus_driver_handle_acquire_service),
4345 (bus_driver_handle_service_exists):
4346 * dbus/dbus-bus.c: (dbus_bus_register_client),
4347 (dbus_bus_acquire_service), (dbus_bus_service_exists):
4348 * dbus/dbus-errors.c: (dbus_result_to_string):
4349 * dbus/dbus-errors.h:
4350 * dbus/dbus-message.c: (dbus_message_append_args),
4351 (dbus_message_append_args_valist), (dbus_message_get_args),
4352 (dbus_message_get_args_valist), (dbus_message_get_args_iter),
4353 (dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
4354 (dbus_message_iter_get_byte_array),
4355 (dbus_message_iter_get_string_array), (message_iter_test),
4356 (check_message_handling), (_dbus_message_test):
4357 * dbus/dbus-message.h:
4358 * test/bus-test.c: (main):
4359 Change fields to arguments in messages, so that they won't be
4360 confused with header fields.
4362 * glib/test-dbus-glib.c: (main):
4363 Remove append_fields from hello message.
4365 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4367 * dbus/dbus-errors.c:
4368 * dbus/dbus-message.c:
4369 * dbus/dbus-string.c:
4370 Documentation fixes.
4372 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4374 * glib/dbus-gmain.c: (timeout_handler), (add_timeout),
4376 Implement support for timeouts in dbus-glib.
4378 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4380 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
4381 * dbus/dbus-message.c: (process_test_subdir):
4382 * test/break-loader.c: (find_breaks_based_on):
4383 Plug some memory leaks.
4385 2003-02-13 Richard Hult <rhult@codefactory.se>
4387 * bus/main.c: Fix build.
4389 * dbus/dbus-errors.h:
4390 * dbus/dbus-errors.c: Fix copyright for Anders.
4392 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4397 * bus/connection.c: (bus_connection_foreach):
4400 * bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
4401 (unescape_string), (new_section), (parse_section_start),
4402 (parse_key_value), (report_error), (bus_desktop_file_load),
4403 (bus_desktop_file_get_string):
4404 * bus/desktop-file.h:
4405 Use DBusError for error reporting.
4407 * bus/dispatch.c: (send_one_message),
4408 (bus_dispatch_message_handler):
4409 * bus/driver.c: (bus_driver_send_service_deleted),
4410 (bus_driver_send_service_created), (bus_driver_send_service_lost),
4411 (bus_driver_send_service_acquired), (bus_driver_handle_hello),
4412 (bus_driver_send_welcome_message),
4413 (bus_driver_handle_list_services),
4414 (bus_driver_handle_acquire_service),
4415 (bus_driver_handle_service_exists):
4416 * bus/loop.c: (bus_loop_run):
4418 Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
4420 * bus/utils.c: (bus_wait_for_memory):
4422 New files with general utility functions.
4424 * dbus/dbus-internals.h:
4425 Remove _DBUS_HANDLE_OOM.
4427 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4429 * dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
4430 (dbus_error_free), (dbus_set_error_const), (dbus_set_error):
4431 * dbus/dbus-errors.h:
4432 Add DBusError structure.
4434 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4436 * test/data/valid-messages/standard-acquire-service.message:
4437 * test/data/valid-messages/standard-hello.message:
4438 * test/data/valid-messages/standard-list-services.message:
4439 * test/data/valid-messages/standard-service-exists.message:
4440 Add some standard messages.
4442 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4444 * bus/driver.c: (bus_driver_send_welcome_message),
4445 (bus_driver_handle_list_services),
4446 (bus_driver_handle_acquire_service),
4447 (bus_driver_handle_service_exists), (bus_driver_handle_message):
4448 Update for API changes in libdbus.
4450 * dbus/dbus-message.c: (dbus_message_new_reply):
4451 * dbus/dbus-message.h:
4452 Remove the name argument. The spec states that replies shouldn't
4455 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4457 * bus/desktop-file.c: (parse_section_start), (parse_key_value),
4458 (report_error), (bus_desktop_file_load), (lookup_section),
4459 (lookup_line), (bus_desktop_file_get_raw),
4460 (bus_desktop_file_get_string):
4461 * bus/desktop-file.h:
4462 Some fixes, and new functions for getting a key value from a section.
4464 2003-02-13 Havoc Pennington <hp@pobox.com>
4466 * test/data/auth/fail-after-n-attempts.auth-script: new test
4468 * dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
4471 2003-02-13 Havoc Pennington <hp@pobox.com>
4473 * dbus/dbus-auth.c (handle_server_data_external_mech): args to
4474 dbus_credentials_match were backward
4476 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support
4477 NO_CREDENTIALS and ROOT_CREDENTIALS
4479 * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
4480 into here. Never process more commands after we've reached an
4481 end state; store further data as unused bytes.
4483 * test/data/auth/*: add more auth tests
4485 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
4486 command to match exact string and EXPECT_UNUSED to match unused
4489 * test/Makefile.am (dist-hook): fix to dist all the test stuff
4491 2003-02-12 Havoc Pennington <hp@pobox.com>
4493 * dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
4494 \r off of popped lines
4496 * dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
4499 * dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
4502 2003-02-12 Havoc Pennington <hp@pobox.com>
4504 * dbus/Makefile.am: remove break-loader from the build, since it
4507 * configure.in: add --enable-gcov to turn on coverage profiling
4508 flags and disable optimization
4510 2003-02-10 Havoc Pennington <hp@pobox.com>
4512 * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync
4513 initial cut at test framework for DBusAuth from laptop.
4514 Doesn't quite work yet but it compiles and I need to get
4515 it off the 266mhz laptop. ;-)
4517 * dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
4518 fix a memleak in error case
4520 2003-02-12 Anders Carlsson <andersca@codefactory.se>
4523 * bus/desktop-file.c:
4524 * bus/desktop-file.h:
4525 Add a desktop file parser.
4527 2003-02-11 Zack Rusin <zack@kde.org>
4529 * qt/message.[h|cpp]: sample implementation
4530 of the KDE wrapper for DBusMessage
4532 2003-02-09 Zack Rusin <zack@kde.org>
4534 * test/bus-test.c: make_it_compile
4535 * doc/dbus-specification.sgml: minimal semantic fix
4537 2003-02-06 Anders Carlsson <andersca@codefactory.se>
4543 2003-02-06 Anders Carlsson <andersca@codefactory.se>
4546 * dbus/dbus-break-loader.c:
4548 * test/break-loader.c:
4549 Move dbus-break-loader to test/ and rename it to break-loader.
4551 2003-02-02 Havoc Pennington <hp@pobox.com>
4553 * dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files
4554 for code to manage cookies in your home directory
4556 * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
4558 * dbus/dbus-auth.c (get_state): impose a maximum number of tries
4559 to authenticate, then disconnect the client.
4561 2003-02-03 Alexander Larsson <alexl@redhat.com>
4563 * dbus/dbus-message.c (dbus_message_append_fields):
4566 2003-02-02 Anders Carlsson <andersca@codefactory.se>
4568 * doc/dbus-specification.sgml:
4569 Update address format section.
4571 2003-02-02 Anders Carlsson <andersca@codefactory.se>
4574 * test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
4575 (message_handler), (new_connection_callback), (loop_quit),
4579 2003-02-02 Anders Carlsson <andersca@codefactory.se>
4581 * bus/driver.c: (bus_driver_handle_service_exists):
4582 Simplify the code a bit.
4584 * dbus/dbus-bus.c: (dbus_bus_service_exists):
4587 2003-02-02 Anders Carlsson <andersca@codefactory.se>
4590 Add libdbus-daemon.la and link to it.
4592 2003-02-01 James Willcox <jwillcox@gnome.org>
4594 * bus/driver.c: (bus_driver_handle_own_service):
4595 Actually include the service reply code in the message.
4597 2003-02-02 Anders Carlsson <andersca@codefactory.se>
4599 * bus/driver.c: (bus_driver_handle_service_exists):
4600 Don't unref the incoming message.
4602 2003-02-02 Anders Carlsson <andersca@codefactory.se>
4604 * dbus/dbus.h: Add dbus-address.h and dbus-bus.h
4606 2003-02-02 Anders Carlsson <andersca@codefactory.se>
4608 * dbus/dbus-server.c: (dbus_server_listen):
4609 * dbus/dbus-transport.c: (_dbus_transport_open):
4610 ifdef out the calls to the debug transport and server.
4612 2003-02-02 Alexander Larsson <alexl@redhat.com>
4614 * dbus/dbus-watch.c (dbus_watch_get_flags):
4615 Add note in the docs that ERROR or HANGUP won't be returned
4616 and are assumed always on.
4618 * glib/dbus-gmain.c (add_watch):
4619 Always add IO_ERR | IO_HUP
4621 * dbus/dbus-message.h:
4622 Add semicolon after dbus_message_iter_get_string_array().
4623 Makes qt code build again
4625 2003-02-01 Anders Carlsson <andersca@codefactory.se>
4627 * bus/driver.c: (create_unique_client_name),
4628 (bus_driver_handle_hello):
4629 Don't take a name, just use a numeric id to identify
4633 * dbus/dbus-bus.c: (dbus_bus_register_client),
4634 (dbus_bus_acquire_service), (dbus_bus_service_exists):
4636 Add new convenience functions for communicating with the bus.
4638 * dbus/dbus-message.h:
4640 * dbus/dbus-protocol.h:
4643 2003-02-01 Alexander Larsson <alexl@redhat.com>
4645 * dbus/dbus-message.c (dbus_message_append_fields):
4646 Add some more doc comments.
4648 2003-02-01 Havoc Pennington <hp@pobox.com>
4650 * dbus/dbus-break-loader.c (randomly_modify_length): change
4651 a 4-byte value in the message as if it were a length
4653 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
4654 execute bit on saved files
4656 2003-02-01 Havoc Pennington <hp@pobox.com>
4658 * dbus/dbus-break-loader.c (main): new program to find messages
4659 that break the loader.
4661 * dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
4662 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
4664 * dbus/dbus-string.c (_dbus_string_set_byte): new
4666 2003-01-31 Havoc Pennington <hp@pobox.com>
4668 * dbus/dbus-message.c: refactor the test code to be more general,
4669 in preparation for writing a "randomly permute test cases to
4670 try to break the loader" program.
4672 2003-01-31 Havoc Pennington <hp@pobox.com>
4674 * doc/dbus-specification.sgml: work on the specification
4676 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
4677 the protocol version of the message.
4679 * dbus/dbus-protocol.h: drop special _REPLY names, the spec
4680 no longer specifies that.
4681 (DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
4684 * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
4685 "break" for DBUS_TYPE_NIL, remove @todo
4687 2003-01-31 Havoc Pennington <hp@pobox.com>
4689 * dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
4690 just set_is_error/get_is_error as this is a commonly-used
4691 function, and write docs.
4693 2003-01-31 Anders Carlsson <andersca@codefactory.se>
4695 * dbus/dbus-address.c: (dbus_address_entry_free):
4696 Free key and value lists.
4698 * dbus/dbus-internals.c: (_dbus_type_to_string):
4699 Add the types we didn't have.
4701 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
4702 (_dbus_marshal_validate_arg):
4705 * dbus/dbus-message.c: (dbus_message_set_sender):
4706 Remove todo about being able to set sender to NULL.
4708 (dbus_message_set_is_error_reply),
4709 (dbus_message_get_is_error_reply):
4710 * dbus/dbus-message.h:
4713 * dbus/dbus-protocol.h:
4714 Add error reply flag.
4716 * test/data/valid-messages/opposite-endian.message:
4717 Add NIL type to test.
4719 2003-01-31 Havoc Pennington <hp@pobox.com>
4721 * doc/dbus-specification.sgml: fully specify the header. Add
4722 flags and major protocol version, and change header/body len to
4725 * dbus/dbus-message-builder.c (append_saved_length): append length
4728 * dbus/dbus-message.c (dbus_message_create_header): change header
4729 length and body length to unsigned. Add the new fields from the
4731 (_dbus_message_loader_return_buffer): unsigned header/body len
4733 2003-01-30 Havoc Pennington <hp@pobox.com>
4735 * dbus/dbus-auth.c: rework to use only REJECTED, no
4738 * doc/dbus-sasl-profile.txt: drop MECHANISMS and just
4739 use REJECTED, suggested by Mark McLoughlin
4741 2003-01-30 Havoc Pennington <hp@pobox.com>
4743 * dbus/dbus-server.c (dbus_server_listen): @todo about how we need
4744 a better way to report errors here. e.g. "unix address lacks
4745 path" or something. also "no such file" when the path doesn't
4748 * dbus/dbus-address.c (dbus_address_entries_free): add @todo about
4750 (dbus_parse_address): add @todo about documenting address format,
4751 and allowing , and ; to be escaped
4753 2003-01-30 Anders Carlsson <andersca@codefactory.se>
4756 Add dbus-address.[ch]
4758 * dbus/dbus-address.c: (dbus_address_entry_free),
4759 (dbus_address_entries_free), (create_entry),
4760 (dbus_address_entry_get_method), (dbus_address_entry_get_value),
4761 (dbus_parse_address), (_dbus_address_test):
4762 * dbus/dbus-address.h:
4763 New files for dealing with address parsing.
4765 * dbus/dbus-connection.c:
4766 Document timeout functions.
4768 * dbus/dbus-message.c:
4769 Document dbus_message_new_from_message.
4771 * dbus/dbus-server-debug.c:
4774 * dbus/dbus-server.c: (dbus_server_listen):
4775 Parse address and use correct server implementation.
4777 * dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
4778 * dbus/dbus-string.h:
4779 New function with test.
4781 * dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
4785 * dbus/dbus-transport-debug.c:
4788 * dbus/dbus-transport.c: (_dbus_transport_open):
4789 Parse address and use correct transport implementation.
4791 2003-01-30 Havoc Pennington <hp@pobox.com>
4793 * dbus/dbus-message.c: use message->byte_order instead of
4794 DBUS_COMPILER_BYTE_ORDER throughout.
4795 (dbus_message_create_header): pad header to align the
4796 start of the body of the message to 8-byte boundary
4798 * dbus/dbus-marshal.h: make all the demarshalers take const
4799 DBusString arguments.
4801 * dbus/dbus-message.c (_dbus_message_loader_return_buffer):
4802 validate message args here, so we don't have to do slow validation
4803 later, and so we catch bad messages as they are incoming. Also add
4804 better checks on header_len and body_len. Also fill in
4807 * dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
4808 implemented properly)
4809 (_dbus_string_validate_nul): new function to check all-nul
4811 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
4812 get_arg_end_pos and remove all validation
4813 (_dbus_marshal_validate_arg): actually do validation here.
4815 2003-01-29 Havoc Pennington <hp@pobox.com>
4817 * dbus/dbus-message.c (check_message_handling): fix assertion
4818 failure on set_client_serial
4820 2003-01-28 Havoc Pennington <hp@pobox.com>
4822 * dbus/dbus-server-debug.c: Add doc section comments
4824 * dbus/dbus-transport-debug.c: add doc section comments
4826 2003-01-28 Havoc Pennington <hp@redhat.com>
4828 * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
4829 the reverse order from how I had it
4830 (_dbus_string_base64_encode): reverse encoding order. I was
4831 basically byteswapping everything during encoding.
4833 2003-01-28 Anders Carlsson <andersca@codefactory.se>
4835 * dbus/dbus-connection-internal.h:
4836 * dbus/dbus-connection.c: (_dbus_connection_add_timeout),
4837 (_dbus_connection_remove_timeout):
4838 Add functions for adding and removing timeouts.
4840 * dbus/dbus-message.c: (dbus_message_new_from_message):
4841 Add new function that takes a message and creates an exact
4842 copy of it, but with the refcount set to 1.
4843 (check_message_handling):
4846 * dbus/dbus-server-protected.h:
4847 * dbus/dbus-server.c: (_dbus_server_init_base),
4848 (_dbus_server_finalize_base), (_dbus_server_add_timeout),
4849 (dbus_server_set_timeout_functions):
4850 (_dbus_server_remove_timeout):
4851 New functions so that a server can add and remove timeouts.
4853 (dbus_server_listen):
4854 Add commented out call to dbus_server_debug_new.
4856 * dbus/dbus-timeout.c: (_dbus_timeout_new):
4857 Actually set the handler, doh.
4859 * dbus/dbus-transport.c: (_dbus_transport_open):
4860 Add commented out call to dbus_transport_debug_client_new.
4863 Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
4865 2003-01-28 Havoc Pennington <hp@pobox.com>
4867 * dbus/dbus-message.c (check_message_handling): function to check
4868 on the loaded message, iterates over it etc.
4870 2003-01-28 Havoc Pennington <hp@pobox.com>
4872 * test/Makefile.am (dist-hook): fix make distdir
4874 * dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
4876 2003-01-27 Havoc Pennington <hp@pobox.com>
4878 * dbus/dbus-mempool.c (time_for_size): replace printf with
4881 * dbus/dbus-message-builder.c (_dbus_message_data_load): allow
4882 empty lines; fix the SAVE_LENGTH stuff to be
4883 START_LENGTH/END_LENGTH so it actually works; couple other
4886 * test/Makefile.am (dist-hook): add dist-hook for .message files
4888 * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
4889 can be constant or locked.
4890 (_dbus_string_free): allow freeing a const string as
4893 * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
4895 * dbus/dbus-test-main.c (main): take an argument which is the
4896 directory containing test data
4898 * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
4899 argument to this and load all the messages in test/data/
4900 checking that they can be loaded or not loaded as appropriate.
4902 2003-01-27 Anders Carlsson <andersca@codefactory.se>
4904 * bus/dispatch.c: (bus_dispatch_message_handler):
4905 Dispatch messages sent to services.
4907 * bus/driver.c: (bus_driver_send_service_deleted),
4908 (bus_driver_send_service_created), (bus_driver_send_service_lost),
4909 (bus_driver_send_service_acquired):
4910 Add helper functions for sending service related messages.
4912 (bus_driver_send_welcome_message):
4913 Send HELLO_REPLY instead of WELCOME.
4915 (bus_driver_handle_list_services):
4916 Send LIST_SERVICES_REPLY instead of SERVICES.
4918 (bus_driver_handle_own_service),
4919 (bus_driver_handle_service_exists):
4920 New message handlers.
4922 (bus_driver_handle_message):
4923 Invoke new message handlers.
4925 (bus_driver_remove_connection):
4926 Don't remove any services here since that's done automatically
4927 by bus_service_remove_owner now.
4930 New function signatures.
4932 * bus/services.c: (bus_service_add_owner):
4933 Send ServiceAcquired message if we're the only primary owner.
4935 (bus_service_remove_owner):
4936 Send ServiceAcquired/ServiceLost messages.
4938 (bus_service_set_prohibit_replacement),
4939 (bus_service_get_prohibit_replacement):
4940 Functions for setting prohibit replacement.
4942 (bus_service_has_owner):
4943 New function that checks if a connection is in the owner queue of
4947 Add new function signatures.
4949 * dbus/dbus-list.c: (_dbus_list_test):
4950 Add tests for _dbus_list_remove_last and traversing the list backwards.
4953 Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
4954 go any further, so return NULL then.
4956 * dbus/dbus-protocol.h:
4957 Add new messages, service flags and service replies.
4959 2003-01-26 Havoc Pennington <hp@pobox.com>
4961 * dbus/dbus-message-builder.c: implement, completely untested.
4963 * test/data/*: add data to be used in testing.
4964 ".message" files are our simple loadable text format.
4965 ".message-raw" will be binary dumps of messages.
4967 * dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
4969 2003-01-26 Havoc Pennington <hp@pobox.com>
4971 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
4973 * dbus/dbus-errors.c (dbus_result_to_string): add
4976 * dbus/dbus-message-builder.c: new file, will contain code to load
4977 up messages from files. Not implemented yet.
4979 2003-01-26 Havoc Pennington <hp@pobox.com>
4981 * dbus/dbus-message.c (dbus_message_set_sender): support deleting
4982 the sender by setting to NULL
4984 2003-01-26 Havoc Pennington <hp@pobox.com>
4986 The unit tests pass, but otherwise untested. If it breaks, the
4987 tests should have been better. ;-)
4989 * bus/driver.c (bus_driver_handle_hello): return if we disconnect
4992 * dbus/dbus-message.c: redo everything so we maintain
4993 message->header as the only copy of the various fields.
4994 This avoids the possibility of out-of-memory in some cases,
4995 for example dbus_message_lock() can't run out of memory anymore,
4996 and avoids extra copying. Figured I may as well go ahead and do
4997 this since it was busted for dbus_message_lock to not return
4998 failure on OOM, and dbus_message_write_header was totally
4999 unchecked for OOM. Also fixed some random other bugs.
5001 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
5002 that strings are nul-terminated. Also, end_pos can be equal
5003 to string length just not greater than, I think.
5004 (_dbus_marshal_set_int32): new function
5005 (_dbus_marshal_set_uint32): new function
5006 (_dbus_marshal_set_string): new function
5008 * dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
5009 a warning, init timeout_list to NULL
5010 (dbus_connection_send_message): don't use uninitialized variable
5013 * dbus/dbus-string.c (_dbus_string_replace_len): new function
5015 2003-01-26 Anders Carlsson <andersca@codefactory.se>
5017 * bus/driver.c: (bus_driver_handle_hello),
5018 (bus_driver_send_welcome_message):
5021 2003-01-26 Anders Carlsson <andersca@codefactory.se>
5023 * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
5024 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
5025 (dbus_connection_unref):
5026 * dbus/dbus-marshal.c: (_dbus_marshal_test):
5027 * dbus/dbus-message.c: (dbus_message_unref),
5030 (dbus_message_get_fields):
5031 Remove debugging printout.
5033 (_dbus_message_loader_return_buffer):
5034 Don't store the header string.
5036 (_dbus_message_test):
5039 2003-01-26 Richard Hult <rhult@codefactory.se>
5041 * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
5042 the file descriptor list, since it can change under us.
5044 2003-01-25 Anders Carlsson <andersca@codefactory.se>
5046 * glib/dbus-gmain.c: (dbus_connection_prepare),
5047 (dbus_connection_check), (dbus_connection_dispatch), (add_watch),
5048 (remove_watch), (dbus_connection_hookup_with_g_main):
5049 Rewrite the glib handling to use its own GSource instead of a
5050 GIOChannel so we can catch messages put in the queue while waiting
5053 2003-01-25 Anders Carlsson <andersca@codefactory.se>
5056 * bus/connection.c: (connection_disconnect_handler),
5057 (connection_watch_callback), (bus_connection_setup):
5058 * bus/dispatch.c: (send_one_message),
5059 (bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
5060 (bus_dispatch_add_connection), (bus_dispatch_remove_connection):
5062 * bus/driver.c: (bus_driver_send_service_deleted),
5063 (bus_driver_send_service_created), (bus_driver_handle_hello),
5064 (bus_driver_send_welcome_message),
5065 (bus_driver_handle_list_services), (bus_driver_remove_connection),
5066 (bus_driver_handle_message):
5068 Refactor code, put the message dispatching in its own file. Use
5069 _DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
5072 2003-01-25 Anders Carlsson <andersca@codefactory.se>
5074 * dbus/dbus-internals.h:
5075 Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
5077 * dbus/dbus-message.c: (dbus_message_get_sender):
5078 * dbus/dbus-message.h:
5079 Implement dbus_message_get_sender.
5081 * dbus/dbus-protocol.h:
5082 Add message and service defines.
5084 2003-01-25 Anders Carlsson <andersca@codefactory.se>
5086 * dbus/dbus-connection.c: (dbus_connection_send_message):
5087 * dbus/dbus-message-internal.h:
5088 * dbus/dbus-message.c: (_dbus_message_get_client_serial),
5089 (dbus_message_write_header):
5090 Remove _dbus_messag_unlock and don't set the client serial on a
5091 message if one already exists.
5093 2003-01-24 Havoc Pennington <hp@pobox.com>
5095 * dbus/dbus-list.c (alloc_link): put a thread lock on the global
5098 * bus/driver.c (bus_driver_handle_list_services): fix a leak
5101 2003-01-25 Anders Carlsson <andersca@codefactory.se>
5103 * dbus/dbus-list.c: (alloc_link), (free_link):
5104 Use a memory pool for the links.
5106 2003-01-25 Anders Carlsson <andersca@codefactory.se>
5108 * bus/connection.c: (bus_connection_foreach):
5110 Add new bus_connection_foreach function.
5112 * bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
5113 Add function that broadcasts a message to all clients.
5115 (bus_driver_send_service_created), (bus_driver_handle_hello),
5116 (bus_driver_send_welcome_message),
5117 (bus_driver_handle_list_services), (bus_driver_message_handler):
5118 Implement functions that take care of listing services, and notifying
5119 clients when new services are created.
5121 * bus/services.c: (bus_services_list):
5123 Add new function that returns an array of strings with the currently
5124 registered services.
5127 * glib/dbus-gmain.c:
5128 Update copyright year.
5130 2003-01-25 Anders Carlsson <andersca@codefactory.se>
5132 * dbus/dbus-connection.c: (dbus_connection_send_message):
5133 Unlock the message in case it was sent earlier.
5135 (dbus_connection_send_message_with_reply_and_block):
5136 Remove the reply message from the list.
5138 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
5139 Set array_len and new_pos correctly.
5141 (_dbus_marshal_test):
5142 Remove debug output.
5144 * dbus/dbus-message-internal.h:
5145 * dbus/dbus-message.c: (_dbus_message_get_reply_serial):
5146 New function that returns the reply serial.
5148 (_dbus_message_unlock):
5149 New function that unlocks a message and resets its header.
5151 (dbus_message_append_string_array),
5152 (dbus_message_get_fields_valist),
5153 (dbus_message_iter_get_field_type),
5154 (dbus_message_iter_get_string_array),
5155 (dbus_message_get_fields),
5156 (dbus_message_append_fields_valist):
5157 Handle string arrays.
5159 (dbus_message_set_sender):
5160 Make this function public since the bus daemon needs it.
5162 (decode_header_data):
5163 Set the reply serial to -1 initially.
5165 * dbus/dbus-message.h:
5166 Add dbus_message_set_sender.
5168 2003-01-24 Havoc Pennington <hp@pobox.com>
5170 * doc/dbus-specification.sgml: add some stuff
5172 2003-01-22 Havoc Pennington <hp@pobox.com>
5174 * doc/dbus-specification.sgml: Start to document the protocol.
5176 2003-01-22 Havoc Pennington <hp@pobox.com>
5178 * dbus/dbus-connection.c
5179 (dbus_connection_send_message_with_reply_and_block): add some @todo
5181 * bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
5183 2003-01-21 Havoc Pennington <hp@pobox.com>
5185 (patch untested because can't compile)
5187 * bus/driver.c (create_unique_client_name): make this function
5188 never recycle client names. Also, caller should initialize
5191 * dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
5193 2003-01-21 Anders Carlsson <andersca@codefactory.se>
5195 * dbus/dbus-marshal.c: (_dbus_marshal_double),
5196 (_dbus_marshal_int32), (_dbus_marshal_uint32),
5197 (_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
5198 (_dbus_marshal_double_array), (_dbus_marshal_string_array),
5199 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
5200 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
5201 (_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
5202 * dbus/dbus-marshal.h:
5203 * dbus/dbus-protocol.h:
5204 Add support for marshalling and demarshalling integer, double
5207 2003-01-21 Anders Carlsson <andersca@codefactory.se>
5212 * bus/connection.c: (connection_disconnect_handler):
5213 Remove the connection from the bus driver's list.
5215 (connection_watch_callback): Dispatch messages.
5217 (free_connection_data): Free connection name.
5219 (bus_connection_setup): Add connection to the bus driver's list.
5220 (bus_connection_remove_owned_service):
5221 (bus_connection_set_name), (bus_connection_get_name):
5222 Add functions for setting and getting the connection's name.
5225 Add function headers.
5227 * bus/driver.c: (create_unique_client_name),
5228 (bus_driver_handle_hello_message),
5229 (bus_driver_send_welcome_message), (bus_driver_message_handler),
5230 (bus_driver_add_connection), (bus_driver_remove_connection):
5233 * bus/services.c: (bus_service_free):
5235 New file that handles communication and registreation with the bus
5238 2003-01-21 Anders Carlsson <andersca@codefactory.se>
5240 * dbus/dbus-connection.c: (dbus_connection_send_message):
5241 Add a new client_serial parameter.
5243 (dbus_connection_send_message_with_reply):
5244 Remove a @todo since we've implemented the blocking function.
5246 (dbus_connection_send_message_with_reply_and_block):
5247 New function that sends a message and waits for a reply and
5248 then returns the reply.
5250 * dbus/dbus-connection.h:
5253 * dbus/dbus-errors.c: (dbus_result_to_string):
5254 * dbus/dbus-errors.h:
5255 Add new DBUS_RESULT.
5257 * dbus/dbus-message-internal.h:
5258 * dbus/dbus-message.c: (_dbus_message_get_reply_serial),
5259 (_dbus_message_set_sender), (dbus_message_write_header),
5260 (dbus_message_new_reply), (decode_header_data),
5261 (_dbus_message_loader_return_buffer), (_dbus_message_test):
5262 * dbus/dbus-message.h:
5263 Add new functions that set the reply serial and sender.
5264 Also marshal and demarshal them correctly and add test.
5266 * dbus/dbus-protocol.h:
5267 Add new DBUS_MESSAGE_TYPE_SENDER.
5270 * glib/dbus-gmain.c: (watch_callback), (free_callback_data),
5271 (add_watch), (remove_watch), (add_timeout), (remove_timeout),
5272 (dbus_connection_hookup_with_g_main):
5273 * glib/test-dbus-glib.c: (main):
5274 Rewrite to use GIOChannel and remove the GSource crack.
5276 * test/echo-client.c: (main):
5277 * test/watch.c: (check_messages):
5278 Update for changed APIs
5280 2003-01-19 Anders Carlsson <andersca@codefactory.se>
5282 * dbus/Makefile.am: Add dbus-timeout.[cħ]
5284 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
5285 Create a DBusTimeoutList.
5286 (dbus_connection_set_timeout_functions): Add new function to
5287 set timeout callbacks
5289 * dbus/dbus-connection.h: Add public DBusTimeout API.
5291 * dbus/dbus-message.c: (dbus_message_get_service):
5292 * dbus/dbus-message.h: New function.
5294 * dbus/dbus-server.c: Fix small doc typo.
5296 * dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
5298 2003-01-19 Anders Carlsson <andersca@codefactory.se>
5300 * dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
5301 of the string, just as long as specified.
5303 2003-01-19 Havoc Pennington <hp@pobox.com>
5305 * dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
5308 * dbus/dbus-server.c (dbus_server_set_max_connections)
5309 (dbus_server_get_max_connections, dbus_server_get_n_connections):
5310 keep track of current number of connections, and add API for
5311 setting a max (but haven't implemented enforcing the max yet)
5313 2003-01-18 Havoc Pennington <hp@pobox.com>
5315 * dbus/dbus-transport-unix.c (unix_do_iteration): only do the
5316 reading/writing if read_watch != NULL or write_watch != NULL.
5318 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
5319 the message loader code to actually load message->header and
5320 message->body into the newly-created message.
5322 * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
5325 * dbus/dbus-connection.c (dbus_connection_set_max_message_size)
5326 (dbus_connection_get_max_message_size)
5327 (dbus_connection_set_max_live_messages_size)
5328 (dbus_connection_get_max_live_messages_size): implement some
5329 resource limitation functions
5331 * dbus/dbus-resources.c: new file implementing some of the
5332 resource limits stuff
5334 * dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
5335 missing docs, add @todo to handle OOM etc.
5337 * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
5340 2003-01-18 Havoc Pennington <hp@pobox.com>
5342 * dbus/dbus-connection.c (dbus_connection_unref): disconnect the
5343 connection if it hasn't been already.
5345 * dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
5346 replace with DisconnectFunction.
5348 2003-01-18 Havoc Pennington <hp@pobox.com>
5350 Building --disable-verbose-mode --disable-asserts --disable-tests
5351 cuts the library from 112K to 45K or so
5353 * configure.in: check for varargs macro support,
5354 add --enable-verbose-mode, --enable-asserts.
5356 * dbus/dbus-internals.h (_dbus_assert): support
5358 (_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
5360 2003-01-18 Havoc Pennington <hp@pobox.com>
5362 * dbus/dbus-test.c: include config.h so that tests actually run
5364 * dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
5365 so the failure mode when that assumption fails will be plenty
5368 2003-01-18 Havoc Pennington <hp@pobox.com>
5370 * configure.in: default --enable-tests to $USE_MAINTAINER_MODE
5372 * dbus/Makefile.am: fix it up so dubs-test-main.c is included in
5375 * test/Makefile.am: don't use special variable "TESTS" for echo-*
5376 since we don't want to use those in make check
5378 2003-01-15 Havoc Pennington <hp@redhat.com>
5384 2003-01-15 Havoc Pennington <hp@redhat.com>
5386 * test/Makefile.am: fix so that test source code ends up in the
5387 distribution on make distcheck
5389 2003-01-15 Havoc Pennington <hp@redhat.com>
5395 2003-01-15 Havoc Pennington <hp@redhat.com>
5397 * dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
5398 fix build when --disable-tests
5400 * Makefile.am (EXTRA_DIST): put HACKING in here
5402 * HACKING: document procedure for making a tarball release.
5404 2003-01-14 Anders Carlsson <andersca@codefactory.se>
5406 * bus/connection.c: (connection_error_handler),
5407 (bus_connection_setup):
5408 * bus/main.c: (main):
5409 Make sure that the DBusConnectionData struct is NULLed
5410 out to prevent a segfault.
5412 * dbus/dbus-errors.c: (dbus_result_to_string):
5413 * dbus/dbus-errors.h:
5414 * dbus/dbus-message.c: (dbus_message_get_fields),
5415 (dbus_message_get_fields_valist), (_dbus_message_test):
5416 * dbus/dbus-message.h:
5417 Make dbus_message_get_fields return a result code so we can
5418 track invalid fields as well as oom.
5420 2003-01-11 Havoc Pennington <hp@pobox.com>
5422 * configure.in: change --enable-test/--enable-ansi action-if-given
5423 to enable_foo=$enableval instead of enable_foo=yes
5425 2003-01-08 Havoc Pennington <hp@pobox.com>
5427 * dbus/dbus-string.c (_dbus_string_align_length): new function
5429 * dbus/dbus-test-main.c: move main() for test app here
5431 (dbus_internal_symbol_do_not_use_run_tests): we have to export a
5432 symbol to run tests, because dbus-test isn't in the main
5435 Code review nitpicks.
5437 * dbus/dbus-message.c (dbus_message_write_header): add newlines
5438 for people with narrow emacs ;-). Assert client_serial was filled
5439 in. Assert message->name != NULL.
5440 (dbus_message_append_fields): have "first_field_type" arg separate
5441 from va list, needed for C++ binding that also uses varargs IIRC
5442 and helps with type safety
5443 (dbus_message_new): add @todo about using DBusString to store
5444 service/name internally
5445 (dbus_message_new): don't leak ->service and ->name on OOM later
5447 (dbus_message_unref): free the service name
5448 (dbus_message_get_fields): same change to varargs
5449 i.e. first_field_type
5450 (_dbus_message_loader_return_buffer): assert that the message data
5451 is aligned (if not it's a bug in our code). Put in verbose griping
5452 about why we set corrupted = TRUE.
5453 (decode_header_data): add FIXME that char* is evil. Was going to
5454 add FIXME about evil locale-specific string.h strncmp, but just
5455 switched to wacky string-as-uint32 optimization. Move check for
5456 "no room for field name" above get_const_data_len() to avoid
5457 assertion failure in get_const_data_len if we have trailing 2
5458 bytes or the like. Check for service and name fields being
5459 provided twice. Don't leak service/name on error. Require field
5460 names to be aligned to 4 bytes.
5462 * dbus/dbus-marshal.c: move byte swap stuff to header
5463 (_dbus_pack_int32): uscore-prefix
5464 (_dbus_unpack_int32): uscore-prefix
5465 (_dbus_unpack_uint32): export
5466 (_dbus_demarshal_string): add @todo complaining about use of
5468 (_dbus_marshal_get_field_end_pos): add @todo about bad error
5469 handling allowing corrupt data to go unchecked
5471 2003-01-08 Havoc Pennington <hp@redhat.com>
5473 * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
5474 to the select() as needed for authentication. (should be using
5475 _dbus_poll() not select, but for another day)
5477 * dbus/dbus.h: include dbus/dbus-protocol.h
5479 2003-01-08 Anders Carlsson <andersca@codefactory.se>
5481 * dbus/Makefile.am (dbusinclude_HEADERS): Install
5484 2003-01-08 Anders Carlsson <andersca@codefactory.se>
5486 * dbus/dbus-internals.c: (_dbus_type_to_string):
5487 New function that returns a string describing a type.
5489 * dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
5490 * dbus/dbus-marshal.h:
5491 * dbus/dbus-message.c: (dbus_message_get_fields_valist),
5492 (dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
5493 (dbus_message_iter_get_byte_array):
5494 * dbus/dbus-message.h:
5495 Add new convenience functions for appending and getting message fields.
5496 Also add demarshalling routines for byte arrays.
5498 2003-01-07 Anders Carlsson <andersca@codefactory.se>
5500 * dbus/dbus-connection-internal.h:
5501 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
5502 (_dbus_connection_get_next_client_serial),
5503 (dbus_connection_send_message):
5504 * dbus/dbus-internals.h:
5505 * dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
5506 (dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
5507 (_dbus_marshal_uint32), (_dbus_demarshal_double),
5508 (_dbus_demarshal_int32), (_dbus_demarshal_uint32),
5509 (_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
5510 (_dbus_verbose_bytes), (_dbus_marshal_test):
5511 * dbus/dbus-marshal.h:
5512 * dbus/dbus-message-internal.h:
5513 * dbus/dbus-message.c: (_dbus_message_set_client_serial),
5514 (dbus_message_write_header), (_dbus_message_lock),
5515 (dbus_message_new), (dbus_message_ref), (dbus_message_unref),
5516 (dbus_message_get_name), (dbus_message_append_int32),
5517 (dbus_message_append_uint32), (dbus_message_append_double),
5518 (dbus_message_append_string), (dbus_message_append_byte_array),
5519 (dbus_message_get_fields_iter), (dbus_message_iter_ref),
5520 (dbus_message_iter_unref), (dbus_message_iter_has_next),
5521 (dbus_message_iter_next), (dbus_message_iter_get_field_type),
5522 (dbus_message_iter_get_string), (dbus_message_iter_get_int32),
5523 (dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
5524 (decode_header_data), (_dbus_message_loader_return_buffer),
5525 (message_iter_test), (_dbus_message_test):
5526 * dbus/dbus-message.h:
5527 * dbus/dbus-protocol.h:
5528 * dbus/dbus-test.c: (main):
5530 * glib/test-dbus-glib.c: (message_handler), (main):
5531 * test/echo-client.c: (main):
5532 * test/watch.c: (check_messages):
5533 Make messages sendable and receivable for real.
5535 2003-01-07 Anders Carlsson <andersca@codefactory.se>
5537 * dbus/dbus-marshal.c: (_dbus_marshal_double),
5538 (_dbus_marshal_string), (_dbus_marshal_byte_array):
5539 * dbus/dbus-message.c: (dbus_message_append_int32),
5540 (dbus_message_append_uint32), (dbus_message_append_double),
5541 (dbus_message_append_string), (dbus_message_append_byte_array):
5542 Handle OOM restoration.
5544 2003-01-07 Anders Carlsson <andersca@codefactory.se>
5546 * dbus/dbus-marshal.c: (_dbus_marshal_string),
5547 (_dbus_demarshal_string), (_dbus_marshal_test):
5548 * dbus/dbus-marshal.h:
5549 * dbus/dbus-message.c: (dbus_message_get_name),
5550 Document these functions.
5552 (dbus_message_append_int32), (dbus_message_append_uint32),
5553 (dbus_message_append_double), (dbus_message_append_string),
5554 (dbus_message_append_byte_array):
5555 * dbus/dbus-message.h:
5556 Add functions for adding message fields of different types.
5558 * dbus/dbus-protocol.h:
5559 Add the different types.
5561 2003-01-05 Havoc Pennington <hp@pobox.com>
5563 * bus/connection.c: implement routines for handling connections,
5564 first thing is keeping a list of owned services on each connection
5565 and setting up watches etc.
5567 * bus/services.c: implement a mapping from service names to lists
5570 * dbus/dbus-hash.c: add DBUS_HASH_POINTER
5572 * dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
5573 to use static mutexes for global data
5575 * dbus/dbus-connection.c (dbus_connection_set_data): add new
5576 collection of functions to set/get application-specific data
5577 on the DBusConnection.
5579 2003-01-04 Havoc Pennington <hp@pobox.com>
5581 * dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
5582 (_dbus_poll): new function
5584 * dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
5587 * bus/loop.c: initial code for the daemon main loop
5589 2003-01-04 Havoc Pennington <hp@pobox.com>
5591 * test/watch.c (error_handler): make it safe if the error handler
5592 is called multiple times (if we s/error handler/disconnect
5593 handler/ we should just guarantee it's called only once)
5595 * dbus/dbus-transport.c (_dbus_transport_disconnect): call the
5596 error handler on disconnect (it's quite possible we should
5597 just change the error handler to a "disconnect handler," I'm
5598 not sure we have any other meaningful errors)
5600 * configure.in: check for getpwnam_r
5602 * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
5603 dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
5604 mechanism as in SASL spec, using socket credentials
5606 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
5607 (_dbus_send_credentials_unix_socket): new function
5609 * dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
5611 (_dbus_write): only check errno if <0 returned
5612 (_dbus_write_two): ditto
5614 2003-01-02 Anders Carlsson <andersca@codefactory.se>
5616 * dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
5617 (_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
5618 (_dbus_marshal_test):
5619 * dbus/dbus-marshal.h:
5620 Add _dbus_marshal_byte_array and rename _dbus_marshal_string
5621 to _dbus_marshal_utf8_string. Also fix some tests.
5623 2002-12-28 Harri Porten <porten@kde.org>
5625 * configure.in: added check for C++ compiler and a very cheesy
5626 check for the Qt integration
5628 * Makefile.am (SUBDIRS): compile qt subdir if support is enabled
5630 * qt/Makefile.am: added
5632 * qt/.cvsignore: added
5634 * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
5635 latter, added #ifdef QT_THREAD_SUPPORT guard.
5637 * dbus/Makefile.am: added missing headers for make dist
5639 2002-12-28 Kristian Rietveld <kris@gtk.org>
5641 * dbus/Makefile.am: fixup export-symbols-regex.
5643 2002-12-27 Anders Carlsson <andersca@codefactory.se>
5645 * acinclude.m4: Add this file and put the
5646 PKG_CHECK_MODULE macro in it.
5648 2002-12-27 Anders Carlsson <andersca@codefactory.se>
5650 * dbus/dbus-marshal.c: (_dbus_marshal_string),
5651 (_dbus_demarshal_double), (_dbus_demarshal_int32),
5652 (_dbus_demarshal_uint32), (_dbus_demarshal_string),
5653 (_dbus_marshal_test):
5654 Make the demarshalling routines align the pos argument.
5655 Add string marshalling tests and fix the obvious bugs
5658 2002-12-26 Havoc Pennington <hp@pobox.com>
5660 * dbus/dbus-auth.c: fixes fixes fixes
5662 * dbus/dbus-transport-unix.c: wire up support for
5663 encoding/decoding data on the wire
5665 * dbus/dbus-auth.c (_dbus_auth_encode_data)
5666 (_dbus_auth_decode_data): append to target string
5667 instead of nuking it.
5669 2002-12-26 Havoc Pennington <hp@pobox.com>
5671 * dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
5672 WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
5675 * dbus/dbus-marshal.c: Add macros to do int swapping in-place and
5676 avoid swap_bytes() overhead (ignoring possible assembly stuff for
5677 now). Main point is because I wanted unpack_uint32 to implement
5679 (_dbus_verbose_bytes): new function
5681 * dbus/dbus-string.c (_dbus_string_validate_ascii): new function
5683 * dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
5684 mechanism to handle a corrupt message stream
5685 (_dbus_message_loader_new): fix preallocation to only prealloc,
5688 * dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
5689 (_dbus_string_test): enhance tests for copy/move and fix the
5692 * dbus/dbus-transport-unix.c: Hold references in more places to
5693 avoid reentrancy problems
5695 * dbus/dbus-transport.c: ditto
5697 * dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
5698 leak reference count in no-message case
5700 * test/watch.c (do_mainloop): handle adding/removing watches
5701 during iteration over the watches. Also, ref the connection/server
5702 stored on a watch, so we don't try to mangle a destroyed one.
5704 * dbus/dbus-transport-unix.c (do_authentication): perform
5707 * dbus/dbus-auth.c (get_state): add a state
5708 AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
5709 (_dbus_auth_get_unused_bytes): append the unused bytes
5710 to the passed in string, rather than prepend
5712 * dbus/dbus-transport.c (_dbus_transport_init_base): create
5713 the auth conversation DBusAuth
5715 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
5716 (_dbus_transport_new_for_domain_socket): when creating a
5717 transport, pass in whether it's a client-side or server-side
5718 transport so we know which DBusAuth to create
5720 2002-12-03 Havoc Pennington <hp@pobox.com>
5722 * dbus/dbus-transport-unix.c (unix_finalize): finalize base
5723 _after_ finalizing the derived members
5724 (unix_connection_set): unref watch if we fail to add it
5726 * dbus/dbus-connection.c (dbus_connection_unref): delete the
5727 transport first, so that the connection owned by the
5728 transport will be valid as the transport finalizes.
5730 * dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
5731 if necessary, and remove watches from the connection.
5733 * dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
5735 2002-12-26 Anders Carlsson <andersca@codefactory.se>
5737 * dbus/dbus-marshal.c: (_dbus_marshal_string),
5738 (_dbus_demarshal_double), (_dbus_demarshal_int32),
5739 (_dbus_demarshal_uint32), (_dbus_demarshal_string),
5740 (_dbus_marshal_test):
5741 * dbus/dbus-marshal.h:
5742 Add string marshal functions and have the demarshal functions
5743 return the new position.
5745 2002-12-25 Havoc Pennington <hp@pobox.com>
5747 * doc/dbus-sasl-profile.txt: docs on the authentication protocol,
5748 it is a simple protocol that just maps directly to SASL.
5750 * dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
5751 initial implementation, not actually used yet.
5753 * dbus/dbus-string.c (_dbus_string_find): new function
5754 (_dbus_string_equal): new function
5755 (_dbus_string_base64_encode): new function
5756 (_dbus_string_base64_decode): new function
5758 2002-12-25 Anders Carlsson <andersca@codefactory.se>
5761 * dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
5762 (_dbus_marshal_int32), (_dbus_marshal_uint32),
5763 (_dbus_demarshal_double), (_dbus_demarshal_int32),
5764 (_dbus_demarshal_uint32), (_dbus_marshal_test):
5765 * dbus/dbus-marshal.h:
5766 * dbus/dbus-protocol.h:
5767 * dbus/dbus-test.c: (main):
5769 Add un-optimized marshalling/demarshalling routines.
5771 2002-12-25 Harri Porten <porten@kde.org>
5773 * qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
5775 2002-12-24 Zack Rusin <zack@kde.org>
5777 * qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
5778 * qt/dbus-qt.h: skeleton with two sample implemenatation of the
5781 2002-12-24 Havoc Pennington <hp@pobox.com>
5783 * glib/dbus-gthread.c: fix include
5785 * glib/dbus-glib.h: rename DBusMessageHandler for now.
5786 I think glib API needs to change, though, as you don't
5787 want to use DBusMessageFunction, you want to use the
5788 DBusMessageHandler object. Probably
5789 dbus_connection_open_with_g_main_loop()
5790 and dbus_connection_setup_g_main_loop() or something like that
5791 (but think of better names...) that just create a connection
5792 that has watch/timeout functions etc. already set up.
5794 * dbus/dbus-connection.c
5795 (dbus_connection_send_message_with_reply): new function just to
5796 show how the message handler helps us deal with replies.
5798 * dbus/dbus-list.c (_dbus_list_remove_last): new function
5800 * dbus/dbus-string.c (_dbus_string_test): free a string that
5803 * dbus/dbus-hash.c: use memory pools for the hash entries
5804 (rebuild_table): be more paranoid about overflow, and
5805 shrink table when we can
5806 (_dbus_hash_test): reduce number of sprintfs and write
5807 valid C89. Add tests for case where we grow and then
5808 shrink the hash table.
5810 * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
5812 * dbus/dbus-connection.c (dbus_connection_register_handler)
5813 (dbus_connection_unregister_handler): new functions
5815 * dbus/dbus-message.c (dbus_message_get_name): new
5817 * dbus/dbus-list.c: fix docs typo
5819 * dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
5820 an object representing a handler for messages.
5822 2002-12-16 Anders Carlsson <andersca@codefactory.se>
5825 * glib/dbus-gthread.c: (dbus_gthread_init):
5826 Don't use the gdbus prefix for public functions.
5828 2002-12-16 Anders Carlsson <andersca@codefactory.se>
5832 Add GLib checks and fixup .pc files
5836 * glib/dbus-gmain.c: (gdbus_connection_prepare),
5837 (gdbus_connection_check), (gdbus_connection_dispatch),
5838 (gdbus_add_connection_watch), (gdbus_remove_connection_watch),
5839 (dbus_connection_gsource_new):
5840 * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
5841 (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
5842 * glib/test-dbus-glib.c: (message_handler), (main):
5845 2002-12-15 Harri Porten <porten@kde.org>
5847 * autogen.sh: check for libtoolize before attempting to use it
5849 * dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
5852 * .cvsignore: ignore more stamp files
5854 * dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
5856 * test/Makefile.am: added -I$(top_srcdir) to be able to compile
5857 without make install.
5859 2002-12-15 Havoc Pennington <hp@pobox.com>
5861 * dbus/dbus-threads.c: add thread stubs that a higher library
5862 layer can fill in. e.g. the GLib wrapper might fill them in with
5863 GThread stuff. We still need to use this thread API to
5864 thread-safe-ize the library.
5866 2002-12-12 Havoc Pennington <hp@pobox.com>
5868 * dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
5869 below new interfaces and include fewer system headers.
5871 * dbus/dbus-sysdeps.c (_dbus_read): new function
5872 (_dbus_write): new function
5873 (_dbus_write_two): new function
5874 (_dbus_connect_unix_socket): new function
5875 (_dbus_listen_unix_socket): new function
5877 * dbus/dbus-message-internal.h: change interfaces to use
5880 2002-12-11 Havoc Pennington <hp@pobox.com>
5882 * dbus/dbus-types.h: add dbus_unichar
5884 * dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
5886 * dbus/dbus-connection.c (dbus_connection_send_message): return
5889 * dbus/dbus-transport.c: include dbus-watch.h
5891 * dbus/dbus-connection.c: include dbus-message-internal.h
5893 * HACKING: add file with coding guidelines stuff.
5895 * dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
5896 handling here, for security purposes (as in vsftpd). Not actually
5897 using this class yet.
5899 * dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
5900 system/libc usage here, as in vsftpd, for ease of auditing (and
5901 should also simplify portability). Haven't actually moved all the
5902 system/libc usage into here yet.
5904 2002-11-25 Havoc Pennington <hp@pobox.com>
5906 * dbus/dbus-internals.c (_dbus_verbose): fix to not
5907 always print the first verbose message.
5909 2002-11-24 Havoc Pennington <hp@pobox.com>
5911 * test/echo-client.c, test/echo-server.c: cheesy test
5914 * configure.in (AC_CHECK_FUNCS): check for writev
5916 * dbus/dbus-message.c (_dbus_message_get_network_data): new
5919 * dbus/dbus-list.c (_dbus_list_foreach): new function
5921 * dbus/dbus-internals.c (_dbus_verbose): new function
5923 * dbus/dbus-server.c, dbus/dbus-server.h: public object
5924 representing a server that listens for connections.
5926 * dbus/.cvsignore: create
5928 * dbus/dbus-errors.h, dbus/dbus-errors.c:
5929 public API for reporting errors
5931 * dbus/dbus-connection.h, dbus/dbus-connection.c:
5932 public object representing a connection that
5933 sends/receives messages. (Same object used for
5934 both client and server.)
5936 * dbus/dbus-transport.h, dbus/dbus-transport.c:
5937 Basic abstraction for different kinds of stream
5938 that we might read/write messages from.
5940 2002-11-23 Havoc Pennington <hp@pobox.com>
5942 * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
5945 * dbus/dbus-test.c (main): add list test, and include
5946 dbus-test.h as intended
5948 * dbus/dbus-hash.c (_dbus_hash_table_remove_string)
5949 (_dbus_hash_table_remove_int): return value indicates
5950 whether the entry existed to remove
5952 * dbus/dbus-list.c: add linked list utility class,
5955 * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
5958 2002-11-23 Havoc Pennington <hp@pobox.com>
5960 * Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
5961 DBUS_END_DECLS to nothing, that should fix this once and for all
5963 * Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
5965 * dbus/dbus-message.c, dbus/dbus-hash.c:
5966 add some missing @brief
5968 2002-11-23 Havoc Pennington <hp@pobox.com>
5970 * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS
5971 to avoid confusing Doxygen
5973 * dbus/dbus-hash.c: @} not }@
5975 * dbus/dbus-message.c (struct DBusMessage): split out
5978 2002-11-23 Havoc Pennington <hp@pobox.com>
5980 * configure.in: pile on more warning flags if using gcc
5982 * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
5983 to document static functions
5985 * configure.in: add summary to end of configure so it
5986 looks nice and attractive
5988 * dbus/dbus-hash.c: finish implementation and write unit
5991 * configure.in: add --enable-tests to enable unit tests
5993 * dbus/dbus-test.c: test program to run unit tests
5994 for all files in dbus/*, initially runs a test for
5997 * dbus/dbus-internals.h: file to hold some internal utility stuff
5999 2002-11-22 Havoc Pennington <hp@redhat.com>
6001 * dbus/dbus-hash.c: copy in Tcl hash table, not yet
6002 "ported" away from Tcl
6004 * dbus/dbus-types.h: header for types such as dbus_bool_t
6006 2002-11-22 Havoc Pennington <hp@redhat.com>
6008 * dbus/dbus.h: fixups for doc warnings
6010 * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up
6012 (QUIET): make it quiet so we can see warnings
6014 * dbus/dbus-memory.c: teach D-BUS to allocate and free memory
6016 2002-11-22 Havoc Pennington <hp@redhat.com>
6018 * Makefile.am: include "Doxyfile" target in all-local
6020 * configure.in: generate the Doxyfile
6022 * Doxyfile.in: move Doxyfile here, so we can use
6023 configure to generate a Doxyfile with the right
6026 2002-11-22 Havoc Pennington <hp@redhat.com>
6028 * dbus/dbus-message.c: move inline docs into .c file
6030 * Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
6031 so all docs are under doc/
6032 (MAN_EXTENSION): generate man pages. Use extension
6033 ".3dbus" which matches ".3qt" on my system,
6034 I guess this is OK, I don't know really.
6035 (FILE_PATTERNS): look for .c files not .h, makes sense
6038 2002-11-22 Havoc Pennington <hp@pobox.com>
6040 * Makefile.am (SUBDIRS): rename subdir "server" to "bus"
6041 because any app can be a server, and any app can be a client,
6042 the bus is a special kind of server.
6044 Thu Nov 21 23:35:31 2002 Zack Rusin <zack@kde.org>
6046 * Doxyfile : adding. Still needs Makefile rules to be generated
6047 automatically (just run "doxygen" in the toplevel dir for now to
6050 * dbus/dbus-message.h : Adding sample docs (javadoc since
6051 resembles gtk-doc a little more)
6053 * dbus/dbus.h : Adding sample docs
6055 2002-11-21 Havoc Pennington <hp@redhat.com>
6057 * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
6058 so we can allow ourselves to include files directly,
6059 instead of having to use dbus.h
6061 * dbus/dbus.h: fill in
6063 * dbus/dbus-message.h: sketch out a sample header file.
6064 Include griping if you include it directly instead of
6067 * dbus/dbus-macros.h: new file with macros for extern "C",
6068 TRUE/FALSE, NULL, etc.
6070 * doc/file-boilerplate.c: put include guards in here
6072 2002-11-21 Havoc Pennington <hp@redhat.com>
6074 * doc/file-boilerplate.c: include both AFL and GPL boilerplate.
6076 * COPYING: include the GPL as well, and license code
6077 under both AFL and GPL.
6079 2002-11-21 Havoc Pennington <hp@redhat.com>
6081 * acconfig.h: get rid of this
6083 * autogen.sh (run_configure): add --no-configure option
6085 * configure.in: remove AC_ARG_PROGRAM to make
6086 autoconf complain less. add AC_PREREQ.
6087 add AC_DEFINE third arg.
6089 2002-11-21 Anders Carlsson <andersca@codefactory.se>
6092 Fix references so we can distcheck.
6094 2002-11-21 Havoc Pennington <hp@redhat.com>
6096 * Initial module creation