1 2005-01-30 Havoc Pennington <hp@redhat.com>
3 * test/glib/test-profile.c (no_bus_stop_server): remove the
4 warning about the g_warning that I just fixed
6 * glib/dbus-gmain.c: rewrite the main loop stuff to avoid the
7 custom source, seems to be a lot easier to understand and work
10 2005-01-30 Havoc Pennington <hp@redhat.com>
12 I think this main loop thing is conceptually broken, but here are
13 some band aids. I'll maybe rewrite it in a minute.
15 * glib/dbus-gmain.c (add_timeout): timeout stuff doesn't use the
16 custom GSource, so don't pass it in; confusing
17 (gsource_server_finalize, gsource_connection_finalize): add
18 finalize handlers that remove all the watches.
20 2005-01-30 Havoc Pennington <hp@redhat.com>
22 * glib/dbus-gobject.c (introspect_properties): fix the XML
25 * dbus/dbus-message.c (dbus_message_unref): add an in_cache flag
26 which effectively detects the use of freed messages
28 * glib/dbus-gobject.c (handle_introspect): modify and return the
29 reply message instead of the incoming message
31 * dbus/dbus-object-tree.c (handle_default_introspect_unlocked):
32 gee, maybe it should SEND THE XML instead of just making a string
33 and freeing it again ;-)
35 * tools/dbus-print-message.c (print_message): improve printing of
38 * configure.in: add debug-glib.service to the output
40 2005-01-30 Havoc Pennington <hp@redhat.com>
42 dbus-viewer introspected and displayed the bus driver
44 * dbus/dbus-object-tree.c
45 (object_tree_test_iteration): add tests for a handler registered on "/"
47 * dbus/dbus-object-tree.c
48 (_dbus_decompose_path): fix to handle path "/" properly
49 (run_decompose_tests): add tests for path decomposition
51 * glib/dbus-gutils.c (_dbus_gutils_split_path): fix to handle "/"
54 * glib/dbus-gobject.c (handle_introspect): fix quotes
56 * test/glib/run-test.sh: support launching the bus, then running
59 * test/glib/test-service-glib.c (main): put in a trivial gobject
60 subclass and register it on the connection
62 * bus/driver.c (bus_driver_handle_introspect): implement
63 introspection of the bus driver service
65 * dbus/dbus-protocol.h: add #defines for the XML namespace,
66 identifiers, doctype decl
68 * bus/driver.c (bus_driver_handle_get_service_owner): handle
69 attempts to get owner of DBUS_SERVICE_ORG_FREEDESKTOP_DBUS by
70 returning the service unchanged.
71 (bus_driver_handle_message): remove old check for reply_serial in
72 method calls, now the message type deals with that
73 (bus_driver_handle_message): handle NULL interface
75 * glib/dbus-gproxy.c (dbus_g_proxy_get_bus_name): new function
77 * glib/dbus-gloader-expat.c (description_load_from_string): allow
80 * tools/dbus-viewer.c: add support for introspecting a service on
83 * glib/dbus-gproxy.c (dbus_g_pending_call_ref): add
84 (dbus_g_pending_call_unref): add
86 2005-01-29 Havoc Pennington <hp@redhat.com>
88 * tools/dbus-tree-view.c: add support for displaying properties.
89 (run dbus-viewer with an introspect xml file as arg, then resize
90 the window so the tree elements show up, not sure what that is)
92 * glib/dbus-gobject.c (handle_introspect): return
93 org.freedesktop.Properties and org.freedesktop.Introspectable
94 interfaces when we are introspected.
96 * doc/dbus-specification.xml: allow empty interface name when
99 2005-01-29 Havoc Pennington <hp@redhat.com>
101 * glib/Makefile.am: rename dbus-glib-tool to dbus-binding-tool;
102 though it uses glib, it could be extended for any binding in
105 * glib/dbus-gobject.c (gobject_message_function): change to the
106 new way properties work
108 * dbus/dbus-protocol.h: add the new interfaces
110 * doc/dbus-specification.xml: document the introspection format,
111 Introspectable interface, and add an org.freedesktop.Properties
114 * glib/dbus-gparser.c: add support for a <property> element
116 * glib/dbus-gidl.c: add PropertyInfo
118 * glib/dbus-gobject.c (handle_introspect): put the outermost
119 <node> outside the signal and property descriptions.
120 (introspect_properties): export properties as <property> rather
123 2005-01-28 Havoc Pennington <hp@redhat.com>
125 * doc/TODO, doc/dbus-specification.xml: spec and TODO tweaks
126 related to authentication protocol
128 2005-01-28 John (J5) Palmieri <johnp@redhat.com>
130 * python/dbus_bindings.pyx.in: Updated to handle new D-BUS type system
131 - BUS_ACTIVATION -> BUS_STARTER
132 - DBUS_BUS_ACTIVATION -> DBUS_BUS_STARTER
133 - class MessageIter (__init__): Added recursion checking
134 so we throw a nice error instead of just disconnecting from the
136 (get): Added arg_type parameter for recursion.
138 Added signiture type placeholder (not implemented)
139 Added struct type placeholder (not implemented)
140 Added varient type placeholder (not implemented)
141 Commented out dict type for now
142 (get_element_type): renamed from get_array_type
143 (get_*): changed to use the dbus_message_iter_get_basic API
144 (get_*_array): removed in favor of recursive get_array method
145 (get_array): new recursive method which calls get to marshal
146 the elements of the array
147 (value_to_dbus_sig): New method returns the corrasponding
148 dbus signiture to a python value
149 (append): Comment out dict handling for now
150 Handle lists with the new recursive API
151 Comment out None handling for now
152 (append_nil): removed
153 (append_*): changed to use dbus_message_iter_append_basic API
154 (append_*_array): removed in favor of recursive append_array
156 (__str__): Make it easier to print out recursive iterators
158 - class Message (__str__): moved type inspection to the
159 MessageIter class' __str__ method
160 (get_iter): Added an append parameter wich defaults to False
161 If True use the new API's to create an append iterator
163 * python/dbus.py: Update to use new bindings API
164 - TYPE_ACTIVATION -> TYPE_STARTER
165 - class Bus (_get_match_rule): GetServiceOwner -> GetNameOwner
166 - class ActivationBus -> class StarterBus
167 - class RemoteObject (__call__): get an append iterator
168 - (_dispatch_dbus_method_call): get an append iterator
169 - class Object (emit_signal): get an append iterator
171 * python/examples/: Fixed up the examples to work with the new API
173 2005-01-28 Joe Shaw <joeshaw@novell.com>
175 * configure.in: Bump version up to 0.30.
177 * HACKING: Add a release item to bump the version number up after
180 2005-01-28 Havoc Pennington <hp@redhat.com>
182 * doc/dbus-specification.xml: update to describe 16-bit types and
185 * dbus/dbus-marshal-basic.c (_dbus_unpack_uint16): fix broken
188 * dbus/dbus-protocol.h (DBUS_TYPE_DICT_ENTRY): add DICT_ENTRY as a
191 * dbus/dbus-marshal-recursive.c: implement
193 2005-01-27 Havoc Pennington <hp@redhat.com>
195 * dbus/dbus-arch-deps.h.in: add 16/32-bit types
197 * configure.in: find the right type for 16 and 32 bit ints as well
200 * dbus/dbus-protocol.h (DBUS_TYPE_INT16, DBUS_TYPE_UINT16): add
201 the 16-bit types so people don't have to stuff them in 32-bit or
204 2005-01-27 Havoc Pennington <hp@redhat.com>
206 * dbus/dbus-message.c: byteswap the message if you init an
207 iterator to read/write from it
209 * dbus/dbus-marshal-byteswap.c: new file implementing
210 _dbus_marshal_byteswap()
212 * dbus/dbus-marshal-basic.c: add _dbus_swap_array()
214 2005-01-26 Havoc Pennington <hp@redhat.com>
216 * dbus/dbus-marshal-validate-util.c: break this out (and fix
217 build, apparently - nobody noticed?)
219 2005-01-26 Havoc Pennington <hp@redhat.com>
221 * dbus/dbus-marshal-recursive.h: remove todo comment
223 2005-01-25 Joe Shaw <joeshaw@novell.com>
225 * Land the mono binding changes to conform to the new APIs.
227 * mono/Makefile.am: Remove Custom.cs, DBusType/Custom.cs,
228 DBusType/Dict.cs, and DBusType/Nil.cs from the build.
230 * mono/Arguments.cs (GetCodeAsString): Added. Returns the dbus
231 type code as a string.
232 (InitAppending): Rename dbus_message_append_iter_init() to
233 dbus_message_iter_init_append().
235 * mono/BusDriver.cs: Rename ServiceEventHandler to
236 NameOwnerChangedHandler. Rename GetServiceOwner to GetOwner.
237 Rename ServiceOwnerChanged to NameOwnerChanged.
239 * mono/Connection.cs: Rename BaseService to UniqueName, and the
242 * mono/Custom.cs: Removed. The CUSTOM type has been removed.
244 * mono/Service.cs: Rename Exists to HasOwner, internally rename
245 dbus_bus_acquire_service() to dbus_bus_request_name().
247 * mono/DBusType/Array.cs (ctor): Use Type.GetElementType() instead
248 of Type.UnderlyingSystemType to get the correct element type for
250 (ctor): Update code for new APIs: use dbus_message_iter_recurse(),
251 dbus_message_get_{element|arg}_type() instead of
252 dbus_message_iter_init_array_iterator().
253 (Append): Replace dbus_message_iter_append_array() with
254 dbus_message_iter_open_container() and
255 dbus_message_iter_close_container().
257 * mono/DBusType/Custom.cs, mono/DBusType/Nil.cs: Removed. These
258 types have been removed.
260 * mono/DBusType/*.cs: Replace calls of
261 dbus_message_iter_get_[type]() to dbus_message_iter_get_basic(),
262 but specify the type in the DllImport extern declaration. Ditto
263 for dbus_message_iter_append_[type]() ->
264 dbus_message_iter_append_basic().
266 * mono/example/BusListener.cs: Update for ServiceEventHandler ->
267 NameOwnerChangedHandler.
269 2005-01-25 John (J5) Palmieri <johnp@redhat.com>
271 * python/dbus_bindings.pyx.in: Rename of methods and bindings
272 - get_base_service -> get_unique_name
273 - bus_get_base_service -> bus_get_unique_name
274 - dbus_bus_get_base_service -> dbus_bus_get_unique_name
275 - ACTIVATION_REPLY_ACTIVATED -> DBUS_START_REPLY_SUCCESS
276 - ACTIVATION_REPLY_ALREADY_ACTIVE -> DBUS_START_REPLY_ALREADY_RUNNING
277 - bus_activate_service -> bus_start_service_by_name
278 - dbus_bus_activate_service -> dbus_bus_start_service_by_name
279 - bus_acquire_service -> bus_request_name
280 - dbus_bus_acquire_service -> dbus_bus_request_name
281 - bus_service_exists -> bus_name_has_owner
282 - dbus_bus_service_exists -> dbus_bus_name_has_owner
284 * python/dbus.py: Rename of methods
285 - activate_service -> start_service_by_name
286 - bus_acquire_service -> bus_request_name
287 - ACTIVATION_REPLY_ACTIVATED -> START_REPLY_SUCCESS
288 - ACTIVATION_REPLY_ALREADY_ACTIVE -> START_REPLY_ALREADY_RUNNING
291 2005-01-24 Joe Shaw <joeshaw@novell.com>
293 * dbus/dbus-connection.c (dbus_connection_dispatch): Print out the
294 signature for the method that can't be found.
296 * dbus/dbus-message.c (dbus_message_iter_init): To check to see if
297 the message has any arguments, we need to call
298 _dbus_type_reader_get_current_type(), not
299 _dbus_type_reader_has_next().
301 2005-01-24 Havoc Pennington <hp@redhat.com>
303 * dbus/dbus-message-factory.c: more testing of message validation
305 * dbus/dbus-protocol.h (DBUS_MINIMUM_HEADER_SIZE): move to this
308 2005-01-23 Havoc Pennington <hp@redhat.com>
310 * dbus/dbus-message-factory.c, dbus/dbus-message-util.c:
311 get this all working, not many tests in the framework yet though
313 2005-01-22 Havoc Pennington <hp@redhat.com>
315 * doc/dbus-faq.xml, doc/dbus-tutorial: add a FAQ and update
316 tutorial, based on work from David Wheeler.
318 2005-01-21 Havoc Pennington <hp@redhat.com>
320 * dbus/dbus-bus.c: add more return_if_fail checks
322 * dbus/dbus-message.c (load_message): have the "no validation"
323 mode (have to edit the code to toggle the mode for now though)
325 * dbus/dbus-marshal-header.c (_dbus_header_load): have a mode that
326 skips all validation; I want to use this at least for benchmark
327 baseline, I'm not sure if it should be a publicly-available switch.
329 2005-01-21 Havoc Pennington <hp@redhat.com>
331 * glib/dbus-gmain.c: don't put the GLib bindings in the same
332 toplevel doxygen group as the low-level API stuff
334 * dbus/dbus.h: note that libdbus is the low-level API
336 2005-01-20 Havoc Pennington <hp@redhat.com>
338 * update-dbus-docs.sh: script to update docs on the web site, only
339 works for me though. neener.
341 2005-01-20 Havoc Pennington <hp@redhat.com>
343 * dbus/dbus-sysdeps.c (_dbus_poll): amazingly, trying to compile
344 code can reveal bugs in it
346 2005-01-20 Havoc Pennington <hp@redhat.com>
348 * dbus/dbus-sysdeps.c (_dbus_poll): fix several bugs in the
349 select() version, patches from Tor Lillqvist
351 2005-01-20 Havoc Pennington <hp@redhat.com>
353 * doc/dbus-tutorial.xml: replace > with >
355 * bus/services.c (bus_registry_acquire_service): validate the name
356 and return a better error if it's no good.
358 * doc/dbus-specification.xml: note NO_AUTO_START change
360 * dbus/dbus-protocol.h (DBUS_HEADER_FLAG_NO_AUTO_START): change
361 from AUTO_START, we're toggling the default
363 * bus/dispatch.c: adapt the tests to change of auto-start default
365 2005-01-18 Havoc Pennington <hp@redhat.com>
367 * rename dbus-daemon-1 to dbus-daemon throughout
369 2005-01-18 Havoc Pennington <hp@redhat.com>
371 * Throughout, grand renaming to strip out the use of "service",
372 just say "name" instead (or "bus name" when ambiguous). Did not
373 change the internal code of the message bus itself, only the
374 programmer-facing API and messages.
376 * doc/dbus-specification.xml: further update the message bus section
378 * bus/config-parser.c (all_are_equiv): fix bug using freed string
381 2005-01-17 Havoc Pennington <hp@redhat.com>
383 * dbus/dbus-types.h: remove 16-bit types since we don't use them
386 * dbus/dbus-marshal-validate.c (_dbus_validate_path): disallow any
387 "invalid name character" not only non-ASCII
389 * doc/dbus-specification.xml: further update spec, message bus
390 parts are still out-of-date but the marshaling etc. stuff is now
393 2005-01-17 Havoc Pennington <hp@redhat.com>
395 * doc/dbus-specification.xml: partially update spec
397 2005-01-17 Havoc Pennington <hp@redhat.com>
399 * Throughout, align variant bodies according to the contained
400 type, rather than always to 8. Should save a fair bit of space in
403 * dbus/dbus-marshal-validate.c (_dbus_validate_body_with_reason):
404 fix handling of case where p == end
406 * doc/TODO: remove the dbus_bool_t item and variant alignment items
408 2005-01-17 Havoc Pennington <hp@redhat.com>
410 * dbus/dbus-types.h: hardcode dbus_bool_t to 32 bits
412 * Throughout: modify DBUS_TYPE_BOOLEAN to be a 32-bit type instead
413 of an 8-bit type. Now dbus_bool_t is the type to use whenever you
414 are marshaling/unmarshaling a boolean.
416 2005-01-16 Havoc Pennington <hp@redhat.com>
418 This is about it on what can be disabled/deleted from libdbus
419 easily, back below 150K anyhow. Deeper cuts are more work than
420 just turning the code off as I've done here.
422 * dbus/dbus-marshal-basic.c (_dbus_pack_int32): we don't need the
423 signed int convenience funcs
425 * dbus/dbus-internals.c (_dbus_verbose_real): omit when not in
428 * dbus/dbus-string-util.c, dbus/dbus-string.c: more breaking
429 things out of libdbus
431 * dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-util.c: same
433 * dbus/dbus-hash.c: purge the TWO_STRINGS crap (well, make it
434 tests-enabled-only, though it should probably be deleted)
436 * dbus/dbus-message-util.c: same stuff
438 * dbus/dbus-auth-util.c: same stuff
440 2005-01-16 Havoc Pennington <hp@redhat.com>
442 * dbus/dbus-userdb-util.c: split out part of dbus-userdb.c
444 * dbus/dbus-sysdeps.c (_dbus_uid_from_string): move here to pave
445 way for stripping down dbus-userdb.c stuff included in libdbus.
446 Rename _dbus_parse_uid for consistency.
448 2005-01-16 Havoc Pennington <hp@redhat.com>
450 * dbus/dbus-internals.c (_dbus_real_assert): print the function
451 name the assertion failed in
453 * dbus/dbus-internals.h (_dbus_return_if_fail)
454 (_dbus_return_val_if_fail): assert that the name of the function
455 containing the check doesn't start with '_', since we only want to
456 use checks on public functions
458 * dbus/dbus-connection.c (_dbus_connection_ref_unlocked): change
461 * dbus/dbus-marshal-header.c (_dbus_header_set_field_basic):
462 change checks to asserts for private function
464 * dbus/dbus-message.c (_dbus_message_set_serial): checks
465 to asserts for private function
467 * dbus/dbus-marshal-recursive.c (skip_one_complete_type): remove
468 broken assertion that was breaking make check
469 (_dbus_type_reader_array_is_empty): remove this rather than fix
470 it, was only used in assertions
472 2005-01-16 Havoc Pennington <hp@redhat.com>
474 * test/unused-code-gc.py: hacky script to find code that's used
475 only by the bus (not libdbus) or used only by tests or not used at
476 all. It has some false alarms, but looks like we can clean up a
477 lot of size from libdbus.
479 * dbus/dbus-sysdeps.c, dbus/dbus-sysdeps-utils.c,
480 dbus/Makefile.am: initially move 10K of binary size out of libdbus
482 2005-01-16 Havoc Pennington <hp@redhat.com>
484 * Add and fix docs according to Doxygen warnings throughout
487 * dbus/dbus-marshal-recursive.c
488 (_dbus_type_reader_array_is_empty): change this to just call
489 array_reader_get_array_len() and make it static
491 * dbus/dbus-message.c (dbus_message_iter_get_element_type): rename
493 (dbus_message_iter_init_append): rename from append_iter_init
495 * dbus/dbus-marshal-recursive.c
496 (_dbus_type_reader_get_element_type): rename from
497 _dbus_type_reader_get_array_type
499 2005-01-15 Havoc Pennington <hp@redhat.com>
501 * test/glib/test-profile.c (with_bus_server_filter): fix crash
503 * dbus/dbus-marshal-basic.c (_dbus_unpack_uint32): inline as macro
504 when DBUS_DISABLE_ASSERT
505 (_dbus_marshal_set_basic): be sure we align for the string length
507 * dbus/dbus-marshal-recursive.c (skip_one_complete_type): make
510 * dbus/dbus-string.c (_dbus_string_get_const_data_len): add an
512 (_dbus_string_set_byte): provide inline macro version
514 2005-01-15 Havoc Pennington <hp@redhat.com>
516 * Land the new message args API and type system.
518 This patch is huge, but the public API change is not
519 really large. The set of D-BUS types has changed somewhat,
520 and the arg "getters" are more geared toward language bindings;
521 they don't make a copy, etc.
523 There are also some known issues. See these emails for details
525 http://lists.freedesktop.org/archives/dbus/2004-December/001836.html
526 http://lists.freedesktop.org/archives/dbus/2005-January/001922.html
528 * dbus/dbus-marshal-*: all the new stuff
530 * dbus/dbus-message.c: basically rewritten
532 * dbus/dbus-memory.c (check_guards): with "guards" enabled, init
533 freed blocks to be all non-nul bytes so using freed memory is less
536 * dbus/dbus-internals.c (_dbus_test_oom_handling): add
537 DBUS_FAIL_MALLOC=N environment variable, so you can do
538 DBUS_FAIL_MALLOC=0 to skip the out-of-memory checking, or
539 DBUS_FAIL_MALLOC=10 to make it really, really, really slow and
542 * qt/message.cpp: port to the new message args API
543 (operator<<): use str.utf8() rather than str.unicode()
544 (pretty sure this is right from the Qt docs?)
546 * glib/dbus-gvalue.c: port to the new message args API
548 * bus/dispatch.c, bus/driver.c: port to the new message args API
550 * dbus/dbus-string.c (_dbus_string_init_const_len): initialize the
551 "locked" flag to TRUE and align_offset to 0; I guess we never
552 looked at these anyhow, but seems cleaner.
554 * dbus/dbus-string.h (_DBUS_STRING_ALLOCATION_PADDING):
555 move allocation padding macro to this header; use it to implement
556 (_DBUS_STRING_STATIC): ability to declare a static string.
558 * dbus/dbus-message.c (_dbus_message_has_type_interface_member):
559 change to return TRUE if the interface is not set.
561 * dbus/dbus-string.[hc]: move the D-BUS specific validation stuff
562 to dbus-marshal-validate.[hc]
564 * dbus/dbus-marshal-basic.c (_dbus_type_to_string): move here from
567 * dbus/Makefile.am: cut over from dbus-marshal.[hc]
568 to dbus-marshal-*.[hc]
570 * dbus/dbus-object-tree.c (_dbus_decompose_path): move this
571 function here from dbus-marshal.c
573 2005-01-12 Joe Shaw <joeshaw@novell.com>
575 * NEWS: Update for 0.23.
577 * configure.in: Release 0.23.
579 2005-01-12 Joe Shaw <joeshaw@novell.com>
581 * mono/Makefile.am, mono/example/Makefile.am: Always build the
582 dbus DLL with --debug. Clean up after the .mdb files this leaves
585 * mono/doc/Makefile.am: Need to uninstall the docs on "make
588 * mono/Arguments.cs (GetDBusTypeConstructor): If the type
589 is an enum, get the enum's underlying type. Another mono
592 2005-01-11 Joe Shaw <joeshaw@novell.com>
594 Patch from Sjoerd Simons <sjoerd@luon.net>
596 * mono/Makefile.am, mono/example/Makefile.am: Don't redefine
597 DESTDIR. It breaks stuff.
599 2005-01-11 Joe Shaw <joeshaw@novell.com>
601 Patch from Tambet Ingo <tambet@ximian.com>
603 * mono/DBusType/Array.cs (Get): Get the underlying element type by
604 calling type.GetElementType(). The code previously depended on
605 broken Mono behavior, which was fixed in Mono 1.1.3.
607 * mono/DBusType/Dict.cs (constructor): Fix the parameters for
608 Activator.CreateInstance() so that the class's constructor is
609 called with the right parameters.
611 2005-01-11 Joe Shaw <joeshaw@novell.com>
613 Patch from Timo Teräs <ext-timo.teras@nokia.com>
615 * dbus/dbus-connection.c
616 (_dbus_connection_queue_received_message_link): Call
617 _dbus_connection_remove_timeout() instead of the _locked()
618 variant, since it's always called from
619 _dbus_connection_handle_watch(), which handles the locking.
620 Removed the _locked() variant since it's no longer used.
622 2005-01-03 Havoc Pennington <hp@redhat.com>
624 * dbus/dbus-internals.h: I'm an idiot, _dbus_assert certainly can
627 2004-12-26 Havoc Pennington <hp@redhat.com>
629 * dbus/dbus-internals.h: add _DBUS_GNUC_NORETURN to _dbus_assert
631 2005-01-03 Havoc Pennington <hp@redhat.com>
633 * dbus/dbus-sysdeps.c (_dbus_sysdeps_test): fix using == on
636 * dbus/dbus-string.c (_dbus_string_insert_alignment): new function
638 2005-01-02 Havoc Pennington <hp@redhat.com>
640 * dbus/dbus-internals.h (_DBUS_ALIGN_OFFSET): new macro
642 2005-01-01 Havoc Pennington <hp@redhat.com>
644 * configure.in: add -Wfloat-equal
646 2005-01-01 Havoc Pennington <hp@redhat.com>
648 * dbus/dbus-sysdeps.h: add _DBUS_DOUBLES_BITWISE_EQUAL macro,
649 for a variety of reasons '==' doesn't do this.
651 2004-12-31 Havoc Pennington <hp@redhat.com>
653 * dbus/dbus-string.c (_dbus_string_equal_substrings): new function
656 2004-12-30 John (J5) Palmieri <johnp@redhat.com>
658 * python/dbus.py: s/ACTIVATION_REPLY_ACTIVE/ACTIVATION_REPLY_ACTIVATED
660 2004-12-30 John (J5) Palmieri <johnp@redhat.com>
662 * python/dbus_bindings.pyx.in: Change DBUS_ACTIVATION_REPLY_ACTIVATED
663 and DBUS_ACTIVATION_REPLY_ALREADY_ACTIVE to match the values in
664 dbus-protocol.h. Because they are defines and not enums they are not
667 2004-12-26 John (J5) Palmieri <johnp@redhat.com>
669 * python/dbus_bindings.pyx.in (bus_activate_service): Bind
670 dbus_bus_activate_service
672 * python/dbus.py (Bus.activate_service): activate a service on the
675 2004-12-24 Havoc Pennington <hp@redhat.com>
677 * test/decode-gcov.c: change to use .gcno and .gcda files, but the
678 file format has also changed and I haven't adapted to that yet
680 * Makefile.am: load .gcno files from latest gcc
682 2004-12-23 John (J5) Palmieri <johnp@redhat.com>
683 * Patch from Rob Taylor <robtaylor@fastmail.fm>
685 * python/dbus_bindings.pyx.in (bus_get_unix_user): New
688 * python/dbus.py (get_unix_user): Added binding to
689 call dbus_bindings.bus_get_unix_user
691 * python/extract.py: Modified the proto_pat regex to
694 2004-12-21 Olivier Andrieu <oliv__a@users.sourceforge.net>
696 * dbus/make-dbus-glib-error-enum.sh: omit the function keyword for
697 better POSIX compliance.
699 2004-12-19 Havoc Pennington <hp@redhat.com>
701 * dbus/dbus-string.c (_dbus_string_insert_4_aligned)
702 (_dbus_string_insert_8_aligned): new functions
704 * dbus/dbus-string.c (_dbus_string_alloc_space): new function
706 2004-12-18 Havoc Pennington <hp@redhat.com>
708 * dbus/dbus-string.c (_dbus_string_validate_ascii): use ISASCII
711 * dbus/dbus-message.c: fix a comment, and add a still-unused
712 not-implemented function
714 * dbus/dbus-marshal.h: fix comment
716 * dbus/dbus-internals.h (_DBUS_ISASCII): new macro
718 2004-12-17 Joe Shaw <joeshaw@novell.com>
720 * mono/DBusType/Byte.cs, mono/DBusType/Int32.cs,
721 mono/DBusType/Int64.cs, mono/DBusType/UInt32.cs,
722 mono/DBusType/UInt64.cs: Use Enum.GetUnderlyingType() instead of
723 Type.UnderlyingSystemType to get the actual system type
724 underneath. This code previously depended on the broken Mono
725 behavior, which was fixed in 1.1.3.
727 2004-11-27 Havoc Pennington <hp@redhat.com>
729 * dbus/dbus-string.h (_dbus_string_get_byte): inline when asserts
731 (_dbus_string_get_const_data): inline when asserts are disabled
733 * dbus/dbus-message.c: record the _dbus_current_generation of
734 creation so we can complain if dbus_shutdown() is used improperly.
735 Do this only if checks are enabled.
737 * dbus/dbus-connection.c: ditto
739 2004-11-26 Havoc Pennington <hp@redhat.com>
741 * test/glib/test-profile.c: add with_bus mode to profile echoes
742 that go through the bus.
744 * test/glib/run-test.sh: add ability to run test-profile
746 * bus/dbus-daemon-1.1.in: fix to say that SIGHUP causes partial
749 2004-11-26 Havoc Pennington <hp@redhat.com>
751 * test/glib/test-profile.c: clean up how the fake_malloc_overhead
752 thing was implemented
754 2004-11-26 Havoc Pennington <hp@redhat.com>
756 * test/glib/test-profile.c: tweak a bit, add support for some
757 made-up minimal malloc overhead with plain sockets, since in
758 real life some sort of buffers are unavoidable thus we could
759 count them in the theoretical best case
761 2004-11-26 Havoc Pennington <hp@redhat.com>
763 * dbus/dbus-message.c (dbus_message_cache_or_finalize): fix bug
764 where I was trying to cache one too many messages
766 2004-11-26 Havoc Pennington <hp@redhat.com>
768 * dbus/dbus-message.c: reimplement message cache as an array which
769 makes the cache about twice as fast and saves maybe 1.5% overall
771 2004-11-26 Havoc Pennington <hp@redhat.com>
773 * dbus/dbus-threads.c (init_global_locks): forgot to put the
774 message cache lock here
776 2004-11-26 Havoc Pennington <hp@redhat.com>
778 * dbus/dbus-message.c (struct DBusMessage): put the locked bit and
779 the "char byte_order" next to each other to save 4 bytes
780 (dbus_message_new_empty_header): reduce preallocation, since the
781 message cache should achieve a similar effect
782 (dbus_message_cache_or_finalize, dbus_message_get_cached): add a
783 message cache that keeps a few DBusMessage around in a pool,
784 another 8% speedup or so.
786 * dbus/dbus-dataslot.c (_dbus_data_slot_list_clear): new function
788 2004-11-25 Havoc Pennington <hp@redhat.com>
790 * dbus/dbus-transport-unix.c (unix_do_iteration): if we're going
791 to write, without reading or blocking, try it before the poll()
792 and skip the poll() if nothing remains to write. This is about a
793 3% speedup in the echo client/server
795 2004-11-25 Havoc Pennington <hp@redhat.com>
797 The primary change here is to always write() once before adding
798 the write watch, which gives us about a 10% performance increase.
800 * dbus/dbus-transport-unix.c: a number of modifications to cope
801 with removing messages_pending
802 (check_write_watch): properly handle
803 DBUS_AUTH_STATE_WAITING_FOR_MEMORY; adapt to removal of
804 messages_pending stuff
805 (check_read_watch): properly handle WAITING_FOR_MEMORY and
807 (unix_handle_watch): after writing, see if the write watch can be
809 (unix_do_iteration): assert that write_watch/read_watch are
810 non-NULL rather than testing that they aren't, since they
811 aren't allowed to be NULL. check_write_watch() at the end so
812 we add the watch if we did not finish writing (e.g. got EAGAIN)
814 * dbus/dbus-transport-protected.h: remove messages_pending call,
815 since it resulted in too much inefficient watch adding/removing;
816 instead we now require that the transport user does an iteration
817 after queueing outgoing messages, and after trying the first
818 write() we add a write watch if we got EAGAIN or exceeded our
819 max bytes to write per iteration setting
821 * dbus/dbus-string.c (_dbus_string_validate_signature): add this
824 * dbus/dbus-server-unix.c (unix_finalize): the socket name was
825 freed and then accessed, valgrind flagged this bug, fix it
827 * dbus/dbus-message.c: fix several bugs where HEADER_FIELD_LAST was taken
828 as the last valid field plus 1, where really it is equal to the
829 last valid field. Corrects some message corruption issues.
831 * dbus/dbus-mainloop.c: verbosity changes
833 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): handle OOM
834 instead of aborting in one of the test codepaths
836 * dbus/dbus-internals.c (_dbus_verbose_real): fix a bug that
837 caused not printing the pid ever again if a verbose was missing
838 the newline at the end
839 (_dbus_header_field_to_string): add HEADER_FIELD_SIGNATURE
841 * dbus/dbus-connection.c: verbosity changes;
842 (dbus_connection_has_messages_to_send): new function
843 (_dbus_connection_message_sent): no longer call transport->messages_pending
844 (_dbus_connection_send_preallocated_unlocked): do one iteration to
845 try to write() immediately, so we can avoid the write watch. This
846 is the core purpose of this patchset
847 (_dbus_connection_get_dispatch_status_unlocked): if disconnected,
848 dump the outgoing message queue, so nobody will get confused
849 trying to send them or thinking stuff is pending to be sent
851 * bus/test.c: verbosity changes
853 * bus/driver.c: verbosity/assertion changes
855 * bus/dispatch.c: a bunch of little tweaks to get it working again
856 because this patchset changes when/where you need to block.
858 2004-11-23 Havoc Pennington <hp@redhat.com>
860 * test/glib/test-profile.c: modify to accept a plain_sockets
861 argument in which case it will bench plain sockets instead of
862 libdbus, for comparison purposes.
864 2004-11-22 Havoc Pennington <hp@redhat.com>
866 * test/glib/test-profile.c (N_CLIENT_THREADS): run multiple
867 threads for more time, so sysprof can get a grip on it.
869 * dbus/dbus-string.c (_dbus_string_validate_utf8): remove
872 2004-11-13 Havoc Pennington <hp@redhat.com>
874 * test/glib/test-profile.c: fix this thing up a bit
876 * dbus/dbus-message.c (dbus_message_new_empty_header): increase
877 preallocation sizes by a fair bit; not sure if this will be an
878 overall performance win or not, but it does reduce reallocs.
880 * dbus/dbus-string.c (set_length, reallocate_for_length): ignore
881 the test hack that forced constant realloc if asserts are
882 disabled, so we can profile sanely. Sprinkle in some
883 _DBUS_UNLIKELY() which are probably pointless, but before I
884 noticed the real performance problem I put them in.
885 (_dbus_string_validate_utf8): micro-optimize this thing a little
886 bit, though callgrind says it didn't help; then special-case
887 ascii, which did help a lot; then be sure we detect nul bytes as
888 invalid, which is a bugfix.
889 (align_length_then_lengthen): add some more _DBUS_UNLIKELY
890 superstition; use memset to nul the padding instead of a manual
892 (_dbus_string_get_length): inline this as a
893 macro; it showed up in the profile because it's used for loop
896 2004-11-10 Colin Walters <walters@verbum.org>
898 * dbus/dbus-spawn.c (check_babysit_events): Handle EINTR,
901 2004-11-09 Colin Walters <walters@verbum.org>
903 * dbus/dbus-string.c (_dbus_string_get_length): New
904 function, writes DBusString to C buffer.
906 * dbus/dbus-string.h: Prototype it.
908 * dbus/dbus-message.c (dbus_message_type_to_string): New
909 function, converts message type into C string.
911 * dbus/dbus-message.h: Prototype it.
913 * bus/selinux.c (bus_selinux_check): Take source pid,
914 target pid, and audit data. Pass audit data to
916 (log_audit_callback): New function, appends extra
918 (bus_selinux_allows_acquire_service): Also take
919 service name, add it to audit data.
920 (bus_selinux_allows_send): Also take message
921 type, interface, method member, error name,
922 and destination, and add them to audit data.
923 (log_cb): Initialize func_audit.
925 * bus/selinux.h (bus_selinux_allows_acquire_service)
926 (bus_selinux_allows_send): Update prototypes
928 * bus/services.c (bus_registry_acquire_service): Pass
929 service name to bus_selinux_allows_acquire_service.
931 * bus/bus.c (bus_context_check_security_policy): Pass
932 additional audit data. Move assignment of dest
935 2004-11-07 Colin Walters <walters@verbum.org>
937 * dbus/dbus-transport-unix.c (do_authentication): Always
938 initialize auth_completed.
940 2004-11-07 Colin Walters <walters@verbum.org>
942 * bus/bus.c (load_config): Break into three
943 separate functions: process_config_first_time_only,
944 process_config_every_time, and process_config_postinit.
945 (process_config_every_time): Move call of
946 bus_registry_set_service_context_table into
947 process_config_postinit.
948 (process_config_postinit): New function, does
949 any processing that needs to happen late
950 in initialization (and also on reload).
951 (bus_context_new): Instead of calling load_config,
952 open config parser here and call process_config_first_time_only
953 and process_config_every_time directly. Later, after
954 we have forked but before changing UID,
955 invoke bus_selinux_full_init, and then call
956 process_config_postinit.
957 (bus_context_reload_config): As in bus_context_new,
958 load parse file inside here, and call process_config_every_time
959 and process_config_postinit.
961 * bus/services.h, bus/services.c
962 (bus_registry_set_service_context_table): Rename
963 from bus_registry_set_sid_table. Take string hash from config
964 parser, and convert them here into SIDs.
966 * bus/config-parser.c (struct BusConfigParser): Have
967 config parser only store a mapping of service->context
969 (merge_service_context_hash): New function.
970 (merge_included): Merge context string hashes instead
971 of using bus_selinux_id_table_union.
972 (bus_config_parser_new): Don't use bus_selinux_id_table_new;
973 simply create a new string hash.
974 (bus_config_parser_unref): Unref it.
975 (start_selinux_child): Simply insert strings into hash,
976 don't call bus_selinux_id_table_copy_over.
978 * bus/selinux.h, bus/selinux.c (bus_selinux_id_table_union)
979 (bus_selinux_id_table_copy_over): Delete.
981 2004-11-03 Colin Walters <walters@verbum.org>
983 * bus/selinux.c (bus_selinux_pre_init): Kill some unused
986 2004-11-03 Colin Walters <walters@verbum.org>
988 * bus/test-main.c (test_pre_hook): Fix test logic,
989 thanks Joerg Barfurth <Joerg.Barfurth@Sun.COM>.
991 2004-11-02 Colin Walters <walters@redhat.com>
993 * bus/selinux.c (bus_selinux_init): Split into two functions,
994 bus_selinux_pre_init and bus_selinux_post_init.
995 (bus_selinux_pre_init): Just determine whether SELinux is
997 (bus_selinux_post_init): Do everything else.
999 * bus/main.c (main): Call bus_selinux_pre_init before parsing
1000 config file, and bus_selinux_post_init after. This ensures that
1001 we don't lose the policyreload notification thread that
1002 bus_selinux_init created before forking previously.
1004 * bus/test-main.c (test_pre_hook): Update for split.
1006 2004-10-31 Owen Fraser-Green <owen@discobabe.net>
1008 Patch from Johan Fischer <linux@fischaz.com>
1010 * mono/doc/Makefile.am (install-data-local): Added directory
1013 2004-10-29 Colin Walters <walters@redhat.com>
1015 * dbus/dbus-sysdeps.h (_dbus_become_daemon): Also take
1016 parameter for fd to write pid to.
1018 * dbus/dbus-sysdeps.c (_dbus_become_daemon): Implement it.
1020 * bus/bus.c (bus_context_new): Pass print_pid_fd
1021 to _dbus_become_daemon (bug #1720)
1023 2004-10-29 Colin Walters <walters@redhat.com>
1025 Patch from Ed Catmur <ed@catmur.co.uk>
1027 * mono/doc/Makefile.am (install-data-local): Handle
1030 2004-10-29 Colin Walters <walters@redhat.com>
1032 * bus/.cvsignore, qt/.cvsignore: Update.
1034 2004-10-29 Colin Walters <walters@redhat.com>
1036 Patch from Kristof Vansant <de_lupus@pandora.be>
1038 * configure.in: Detect Slackware.
1039 * bus/Makefile.am (SCRIPT_IN_FILES): Add rc.messagebus.in.
1040 * bus/rc.messagebus.in: New file.
1042 2004-10-29 Colin Walters <walters@redhat.com>
1044 * tools/dbus-monitor.c (filter_func): Return
1045 DBUS_HANDLER_RESULT_HANDLED in filter function
1047 http://freedesktop.org/pipermail/dbus/2004-August/001433.html
1049 2004-10-29 Colin Walters <walters@redhat.com>
1051 Patch from Matthew Rickard <mjricka@epoch.ncsc.mil>
1053 * bus/services.c (bus_registry_acquire_service):
1054 Correctly retrieve service name from DBusString
1057 2004-10-29 Colin Walters <walters@redhat.com>
1059 * dbus/dbus-glib.h: Update documentation to not
1060 refer to internal APIs.
1062 2004-10-27 Joe Shaw <joeshaw@novell.com>
1064 * mono/Arguments.cs (GetDBusTypeConstructor):
1065 type.UnderlyingSystemType will return "System.Byte" if you do it
1066 on "byte[]", which is not what we want. So check the type.IsArray
1067 property and use System.Array instead.
1069 2004-10-25 John (J5) Palmieri <johnp@redhat.com>
1071 * dbus/dbus-sysdeps.c (fill_user_info): On errors do not free
1072 the DBusUserInfo structure since this is passed into the function.
1073 This would cause a double free when the function that allocated
1074 the structure would try to free it when an error occured.
1076 * (bus/session.conf.in, bus/Makefile.am, dbus/configure.in):
1077 use /usr/share/dbus-1/services instead of /usr/lib/dbus-1.0/services
1078 for service activation to avoid 32bit/64bit parallel install issues
1080 2004-10-21 Colin Walters <walters@verbum.org>
1082 * AUTHORS: Fix my email address, the @gnu.org one
1083 has been bouncing for some time. Also add J5.
1085 2004-10-21 Colin Walters <walters@verbum.org>
1087 * dbus/dbus-transport-unix.c (do_authentication): Return
1088 authentication status to callers.
1089 (unix_handle_watch): If we completed authentication this round,
1090 don't do another read. Instead wait until the next iteration,
1091 after we've read any pending data in the auth buffer.
1092 (unix_do_iteration): Ditto.
1093 (unix_handle_watch): Updated for new do_authentication prototype.
1095 2004-10-18 Colin Walters <walters@verbum.org>
1097 * bus/selinux.c (bus_selinux_enabled): Handle
1098 --disable-selinux case.
1100 2004-10-18 Colin Walters <walters@verbum.org>
1102 * bus/selinux.h: Add bus_selinux_enabled.
1104 * bus/selinux.c (bus_selinux_enabled): Implement it.
1106 * bus/config-parser.c (struct include): Add
1107 if_selinux_enabled member.
1108 (start_busconfig_child): Parse if_selinux_enabled
1109 attribute for include.
1110 (bus_config_parser_content): Handle it.
1112 * bus/session.conf.in, bus/system.conf.in: Add
1113 inclusion of context mapping to default config files;
1114 conditional on SELinux being enabled.
1116 * doc/busconfig.dtd: Add to if_selinux_enabled to default DTD.
1118 * test/data/invalid-config-files/badselinux-1.conf,
1119 test/data/invalid-config-files/badselinux-2.conf:
1120 Test files for bad syntax.
1122 2004-10-17 Colin Walters <walters@verbum.org>
1124 * dbus/dbus-memory.c (_dbus_initialize_malloc_debug, check_guards)
1125 (dbus_malloc, dbus_malloc0, dbus_realloc): Fix up printf
1126 format specifier mismatches.
1128 2004-10-07 Olivier Andrieu <oliv__a@users.sourceforge.net>
1130 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): fix an incorrect
1133 * glib/dbus-dbus-gmain.c (dbus_g_bus_get): do not mangle NULL
1134 pointer (bug #1540, Leonardo Boiko).
1136 2004-09-28 Jon Trowbridge <trow@ximian.com>
1138 * mono/BusDriver.cs: Changed BusDriver struct to remove
1139 the ServiceCreated and ServiceDeleted events and replace them
1140 with the new ServiceOwnerChanged event.
1142 * mono/example/BusListener.cs: Added a new example program,
1143 which listens for and reports any ServiceOwnerChanged events
1146 * mono/example/Makefile.am (DESTDIR): Build changes for the
1147 new BusListener.cs example.
1149 2004-09-27 Olivier Andrieu <oliv__a@users.sourceforge.net>
1151 * bus/signals.c (bus_match_rule_parse): validate the components of
1152 match rules (bug #1439).
1154 * dbus/dbus-bus.c (dbus_bus_add_match): add a missing OOM test.
1156 2004-09-24 Olivier Andrieu <oliv__a@users.sourceforge.net>
1158 * doc/dbus-specification.xml: document ServiceOwnerChanged
1161 * bus/driver.c, bus/driver.h, bus/services.c: Use
1162 ServiceOwnerChanged signal instead of ServiceCreated and
1165 * bus/dispatch.c: update testcase for the new signal.
1167 2004-09-20 Jon Trowbridge <trow@ximian.com>
1169 Patch from Nat Friedman <nat@novell.com>
1171 * mono/Makefile.am: A number of small build fixes to allow "make
1172 distcheck" to succeed.
1174 * mono/example/Makefile.am: "make distcheck" fixes.
1176 * mono/AssemblyInfo.cs.in: When signing the assembly, look for the
1179 * test/Makefile.am: "make distcheck" fixes.
1181 2004-09-17 Olivier Andrieu <oliv__a@users.sourceforge.net>
1183 * dbus/dbus-sysdeps.c (_dbus_user_at_console): fix memleak in OOM.
1185 * doc/busconfig.dtd: update the DTD for the at_console attribute.
1187 * bus/driver.c (bus_driver_handle_hello): correctly handle Hello
1188 messages after the first one (bug #1389).
1190 * bus/dispatch.c (check_double_hello_message): add a test case for
1191 the double hello message bug.
1192 (check_existent_service_activation): fix check of spawning error.
1194 2004-09-16 David Zeuthen <david@fubar.dk>
1196 * python/dbus_bindings.pyx.in: Add support for int64 and uint64
1198 2004-09-12 David Zeuthen <david@fubar.dk>
1200 Patch from Kay Sievers <kay.sievers@vrfy.org>
1202 * bus/bus.c (bus_context_new):
1204 * bus/main.c (usage)
1206 Add commandline option --nofork to override configuration file
1209 2004-09-09 Olivier Andrieu <oliv__a@users.sourceforge.net>
1211 * dbus/dbus-*.h: remove the ; after DBUS_(BEGIN|END)_DECLS. Some C
1212 compilers don't like it (bug #974).
1214 2004-09-04 Harald Fernengel <harry@kdevelop.org>
1216 * qt/connection.*: Applied patch by Jérôme Lodewyck
1217 <lodewyck@clipper.ens.fr> to integrate an existing
1218 connection into the Qt eventloop
1220 2004-08-30 Jon Trowbridge <trow@ximian.com>
1222 * mono/BusDriver.cs: Added. This is a class for interacting with
1223 the org.freedesktop.DBus service.
1225 * mono/Message.cs: Added a mechanism to expose the message that is
1226 currently being dispatched via the static Message.Current
1227 property. Added Message.Sender and Message.Destination
1230 * mono/Handler.cs: Expose the dispatched message via
1231 Message.Current when handling method calls.
1233 * mono/Service.cs: Expose the dispatched message via
1234 Message.Current when handling signal emissions.
1236 * mono/Connection.cs: Bind dbus_bus_get_base_service via the
1237 Connection.BaseService property.
1239 2004-08-28 Havoc Pennington <hp@redhat.com>
1241 * dbus/dbus-userdb.c (_dbus_is_console_user): remove unused variable
1243 More fixes from Steve Grubb
1245 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix fd leak
1246 (_dbus_listen_tcp_socket): fix fd leak
1248 * dbus/dbus-spawn.c (read_pid, read_ints): move the "again:" for
1249 EINTR to a bit lower in the code
1251 2004-08-26 Jon Trowbridge <trow@ximian.com>
1253 * bus/driver.c (bus_driver_handle_service_exists): Respond with
1254 TRUE if we are inquiring about the existence of the built-in
1255 org.freedesktop.DBus service.
1257 2004-08-25 John Palmieri <johnp@redhat.com>
1258 * bus/config-parser.c:
1259 (struct PolicyType): Add POLICY_CONSOLE
1260 (struct Element.d.policy): s/gid_or_uid/gid_uid_or_at_console
1261 (start_busconfig_child): Sets up console element when
1262 <policy at_console=""> is encountered in a policy file
1263 (append_rule_from_element): Convert console elements to console
1267 (bus_policy_create_client_policy): Add console rules to the client
1268 policy based on if the client is at the console
1269 (bus_policy_append_console_rule): New function for adding a
1270 console rule to a policy
1271 (bus_policy_merge): Handle console rule merging
1273 * dbus/dbus-sysdeps.h: Added the DBUS_CONSOLE_DIR constant
1274 where we check for console user files
1276 * dbus/dbus-sysdeps.c:
1277 (_dbus_file_exists): New function which checks if the given
1279 (_dbus_user_at_console): New function which does the system
1280 specific process of checking if the user is at the console
1282 * dbus/dbus-userdb.c:
1283 (_dbus_is_console_user): New function converts a UID to user name
1284 and then calls the system specific _dbus_user_at_console to
1285 see if the user is at the console and therefor a console user
1287 2004-08-25 Olivier Andrieu <oliv__a@users.sourceforge.net>
1289 * bus/config-parser.c (set_limit):
1290 * bus/dbus-daemon-1.1.in:
1291 * test/data/valid-config-files/many-rules.conf: set the
1292 max_match_rules_per_connection limt from the config file.
1294 * doc/busconfig.dtd: update the DTD.
1296 * bus/driver.c: remove some unused variables.
1298 2004-08-24 Mikael Hallendal <micke@imendio.com>
1300 * dbus/dbus-glib-lowlevel.h: Removed dbus_bus_get_with_g_main since
1301 it's been replaced by dbus_g_bus_get
1303 2004-08-23 Colin Walters <walters@redhat.com>
1305 Updated SELinux support from Matthew Rickard <mjricka@epoch.ncsc.mil>
1307 * bus/selinux.h: Prototype bus_selinux_get_policy_root.
1309 * bus/selinux.c: Create a thread for policy reload notification.
1310 (bus_selinux_get_policy_root): Implement.
1312 * bus/config-parser.c (start_busconfig_child)
1313 (bus_config_parser_content): Support SELinux-root relative
1316 * configure.in <HAVE_SELINUX>: Add -lpthread.
1318 * bus/test-main.c (test_pre_hook, test_post_hook): New.
1319 (test_post_hook): Move memory checking into here.
1320 (test_pre_hook, test_post_hook): Move SELinux checks in
1321 here, but conditional on a DBUS_TEST_SELINUX environment
1322 variable. Unfortunately we can't run the SELinux checks
1323 as a normal user, since they won't have any permissions
1324 for /selinux. So this will have to be tested manually
1325 for now, until we have virtualization for most of
1328 2004-08-23 Havoc Pennington <hp@redhat.com>
1330 * dbus/dbus-sysdeps.c (_dbus_change_identity): add setgroups() to
1331 drop supplementary groups, suggested by Steve Grubb
1333 2004-08-20 Colin Walters <walters@redhat.com>
1335 * bus/config-parser.c (start_busconfig_child): Remove some unused
1338 * bus/selinux.c (bus_selinux_id_table_insert): Avoid compiler
1341 2004-08-17 Joe Shaw <joeshaw@novell.com>
1343 * configure.in: If --enable-mono is passed in, if we can't find
1346 * mono/Makefile.am: Use /gacutil to install assemblies into the
1349 2004-08-12 Havoc Pennington <hp@redhat.com>
1351 * NEWS: update for 0.22
1353 * configure.in: release 0.22
1355 2004-08-11 Colin Walters <walters@redhat.com>
1357 * tools/dbus-send.c (main, usage): Add --reply-timeout
1360 2004-08-10 Olivier Andrieu <oliv__a@users.sourceforge.net>
1362 * bus/bus.c (process_config_first_time_only): get rid of an unused
1363 DBusError that was causing a memoy leak (bug #989).
1365 * dbus/dbus-keyring.c, dbus/dbus-message.c:
1366 fix compilation on Solaris/Forte C (bug #974)
1368 * bus/main.c (main): plug two minuscule memleaks.
1370 2004-08-10 Havoc Pennington <hp@redhat.com>
1372 * doc/dbus-tutorial.xml: add some more info on GLib bindings
1374 2004-08-09 Havoc Pennington <hp@redhat.com>
1376 * COPYING: switch to Academic Free License version 2.1 instead of
1377 2.0, to resolve complaints about patent termination clause.
1379 2004-07-31 John (J5) Palmieri <johnp@redhat.com>
1381 * README: added documentation for the --enable-python
1384 2004-07-31 Olivier Andrieu <oliv__a@users.sourceforge.net>
1386 * bus/config-parser.c (bus_config_parser_new): fix an invalid
1387 _unref in the SELinux support.
1389 * doc/busconfig.dtd: update DTD for SELinux support.
1391 * bus/config-loader-libxml.c: fix error handler and parser
1392 initialisation/cleanup. OOM test now works with libxml2 HEAD.
1394 * configure.in: remove the warning about libxml2.
1396 * dbus/dbus-bus.c: silence doxygen warning.
1398 2004-07-31 Colin Walters <walters@redhat.com>
1400 * configure.in: Move #error in SELinux check to its own line.
1402 2004-07-31 Olivier Andrieu <oliv__a@users.sourceforge.net>
1404 * dbus/dbus-internals.h (_DBUS_SET_OOM):
1405 * bus/utils.h (BUS_SET_OOM): use dbus_error_set_const instead of
1408 * bus/dispatch.c (check_send_exit_to_service): fix the test case,
1409 broken by the change in the _SET_OOM macros.
1411 2004-07-31 Colin Walters <walters@redhat.com>
1413 * bus/selinux.c <HAVE_SELINUX>: Include utils.h to get
1416 2004-07-31 Colin Walters <walters@redhat.com>
1418 * configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADER
1419 to correctly detect DBUS__ACQUIRE_SVC. Also add an
1422 2004-07-24 Havoc Pennington <hp@redhat.com>
1424 SELinux support from Matthew Rickard <mjricka@epoch.ncsc.mil>
1426 * bus/selinux.c, bus/selinux.h: new file encapsulating selinux
1429 * configure.in: add --enable-selinux
1431 * bus/policy.c (bus_policy_merge): add FIXME to a comment
1433 * bus/main.c (main): initialize and shut down selinux
1435 * bus/connection.c: store SELinux ID on each connection, to avoid
1436 repeated getting of the string context and converting it into
1439 * bus/bus.c (bus_context_get_policy): new accessor, though it
1441 (bus_context_check_security_policy): check whether the security
1442 context of sender connection can send to the security context of
1443 recipient connection
1445 * bus/config-parser.c: add parsing for <selinux> and <associate>
1447 * dbus/dbus-transport.c (_dbus_transport_get_unix_fd): to
1448 implement dbus_connection_get_unix_fd()
1450 * dbus/dbus-connection.c (dbus_connection_get_unix_fd): new
1451 function, used by the selinux stuff
1453 2004-07-29 Olivier Andrieu <oliv__a@users.sourceforge.net>
1455 * bus/config-loader-libxml.c: complete the implementation of
1456 libxml backend for config file loader. Doesn't work with full OOM
1459 * configure.in: change error when selecting libxml into a warning.
1461 * test/data/invalid-config-files: add two non-well-formed XML
1464 * glib/Makefile.am: libdbus_gtool always uses expat, not libxml.
1466 * dbus/dbus-transport-unix.c (unix_handle_watch): do not
1467 disconnect in case of DBUS_WATCH_HANGUP, several do_reading() may
1468 be necessary to read all the buffer. (bug #894)
1470 * bus/activation.c (bus_activation_activate_service): fix a
1471 potential assertion failure (bug #896). Small optimization in the
1472 case of auto-activation messages.
1474 * dbus/dbus-message.c (verify_test_message, _dbus_message_test):
1475 add test case for byte-through-vararg bug (#901). patch by Kimmo
1478 2004-07-28 Anders Carlsson <andersca@gnome.org>
1481 * python/dbus_bindings.pyx.in:
1482 Add dbus.init_gthreads (), allow emit_signal to pass
1483 arguments to the signal.
1485 2004-07-24 Havoc Pennington <hp@redhat.com>
1487 * AUTHORS: add some people, not really comprehensively, let me
1488 know if I missed you
1490 2004-07-24 Havoc Pennington <hp@redhat.com>
1492 * Makefile.am (DIST_SUBDIRS): add DIST_SUBDIRS, problem solved by
1495 * test/Makefile.am (DIST_SUBDIRS): here also
1497 2004-07-22 Olivier Andrieu <oliv__a@users.sourceforge.net>
1499 * dbus/dbus-sysdeps.c (fill_user_info): fix inexistent label name,
1500 breaking build on Solaris, reported by Farhad Saberi on the ML.
1502 * dbus/dbus-message.c (dbus_message_append_args_valist): fix the
1503 va_arg invocation to account for integer promotion in the case of
1504 DBUS_TYPE_BYTE (unsigned char is promoted to int). (bug #901)
1506 * bus/services.c (bus_service_remove_owner): fix bug #902, use
1507 _dbus_list_get_first_link, not _dbus_list_get_first.
1509 * dbus/dbus-bus.c (dbus_bus_service_exists): plug a memory leak.
1511 * dbus/dbus-object-tree.c (free_subtree_recurse): always null
1512 handler functions so that the asserts in _dbus_object_subtree_unref
1515 * dbus/dbus-transport-unix.c (do_reading):
1516 _dbus_transport_queue_messages return value is of type
1517 dbus_bool_t, not DBusDispatchStatus.
1519 2004-07-19 David Zeuthen <david@fubar.dk>
1521 * dbus/dbus-protocol.h: Add DBUS_ERROR_UNIX_PROCESS_ID_UNKNOWN
1524 (check_get_connection_unix_user): Debug says GetProperty; but the
1525 method is called GetConnectionUnixUser
1526 (check_get_connection_unix_process_id): New function
1527 (bus_dispatch_test): Actually call check_get_connection_unix_user();
1528 also call check_get_connection_unix_process_id()
1531 (bus_driver_handle_get_connection_unix_process_id): New function,
1532 handles GetConnectionUnixProcessID on the org.freedesktop.DBus
1536 (handle_server_data_external_mech): Set pid from the credentials
1537 obtained from the socket
1539 * dbus/dbus-connection.c:
1540 (dbus_connection_get_unix_process_id): New function
1542 * dbus/dbus-connection.h:
1543 Add prototype for dbus_connection_get_unix_process_id
1545 * dbus/dbus-transport.c:
1546 (_dbus_transport_get_unix_process_id): New function
1548 * dbus/dbus-transport.h:
1549 Add prototype for _dbus_transport_get_unix_process_id
1551 2004-07-19 Olivier Andrieu <oliv__a@users.sourceforge.net>
1553 * dbus/dbus-message.c: Message counter fix, patch by Christian
1554 Hammond <chipx86@gnupdate.org>
1556 2004-07-18 Seth Nickell <seth@gnome.org>
1559 * python/dbus_bindings.pyx.in:
1560 * python/tests/test-client.py:
1562 Add dbus.ByteArray and dbus_bindings.ByteArray
1563 types so that byte streams can be passed back.
1565 Give jdahlin the heaps of credit that are so
1568 2004-07-12 Seth Nickell <seth@gnome.org>
1572 Add message argument to the default object_method_handler
1575 * python/dbus_bindings.pyx.in:
1577 Automatically return NIL when passed an empty list
1578 (we can't pass back a list since lists are typed
1579 and we don't have any idea what type the the client
1580 intended the list to be... :-( )
1582 2004-07-10 Seth Nickell <seth@gnome.org>
1584 * python/examples/Makefile.am:
1586 Fix distcheck breakage caused by new examples.
1588 2004-07-10 Seth Nickell <seth@gnome.org>
1592 Add "message" argument to service-side dbus.Object
1593 methods. This will break existing services written
1594 using the python bindings, but will allow extraction
1595 of all the message information (e.g. who its from).
1597 Add improved "object oriented" signal handling/emission.
1599 * python/examples/example-service.py:
1603 * python/examples/example-signal-emitter.py:
1604 * python/examples/example-signal-recipient.py:
1606 Two new examples that show how to emit and receive
1607 signals using the new APIs.
1609 * python/examples/example-signals.py:
1610 * python/examples/gconf-proxy-service.py:
1611 * python/examples/gconf-proxy-service2.py:
1613 Add "message" argument to service methods.
1615 2004-06-28 Kay Sievers <kay.sievers@vrfy.org>
1617 * bus/driver.c (bus_driver_handle_get_connection_unix_user)
1618 * dbus/bus.c (dbus_bus_get_unix_user)
1619 * doc/dbus-specification.xml: implement GetConnectionUnixUser
1620 method of org.freedesktop.DBus interface.
1622 * bus/dispatch.c: test case
1624 2004-06-23 John (J5) Palmieri <johnp@redhat.com>
1626 * python/Makefile.am: switched include directory from glib/ to dbus/
1627 since dbus-glib.h moved
1629 2004-06-22 Olivier Andrieu <oliv__a@users.sourceforge.net>
1631 * configure.in: prevent building the gcj stuff and libxml loader
1632 since they are broken.
1634 2004-06-20 Havoc Pennington <hp@redhat.com>
1636 * dbus/dbus-glib-error-enum.h: autogenerate the GError enum
1637 codes from the dbus error names
1639 * glib/dbus-glib.h: move to subdir dbus/ since it's included
1640 as dbus/dbus-glib.h and that breakage is now visible due to
1641 including dbus/dbus-glib.h in dbus-glib-lowlevel.h
1643 * glib/dbus-glib.h: s/gproxy/g_proxy/
1645 * dbus/dbus-shared.h: new header to hold stuff shared with
1648 * dbus/dbus-protocol.h (DBUS_ERROR_*): move errors here rather
1651 * glib/dbus-glib.h (dbus_set_g_error): move to
1652 dbus-glib-lowlevel.h
1654 * glib/dbus-glib.h: remove dbus/dbus.h from here; change a bunch
1655 of stuff to enable this
1657 * dbus/dbus-glib-lowlevel.h: put dbus/dbus.h here
1659 * a bunch of other changes with the same basic "separate glib
1660 bindings from dbus.h" theme
1662 2004-06-10 Owen Fraser-Green <owen@discobabe.net>
1664 * dbus-sharp.pc.in: Removed glib-sharp inclusion in Libs.
1666 * python/examples/Makefile.am: Fixed typo in EXTRA_DIST.
1668 2004-06-09 Olivier Andrieu <oliv__a@users.sourceforge.net>
1670 * bus/driver.c, dbus/dbus-bus.c: use BOOLEAN instead of UINT32 for
1671 the reply value of the ServiceExists message.
1673 2004-06-07 John (J5) Palmieri <johnp@redhat.com>
1675 * python/dbus_bindings.pyx.in: No longer need to parse path
1676 elements and pass them as arrays of strings. The C API now
1677 accepts plain path strings.
1678 (_build_parsed_path): removed
1680 2004-06-07 Havoc Pennington <hp@redhat.com>
1682 * doc/TODO: remove auto-activation item since it's done; sort
1683 items by importance/milestone
1685 2004-06-07 Havoc Pennington <hp@redhat.com>
1687 * dbus/dbus-message-builder.c (_dbus_message_data_load): append
1688 random signature when using REQUIRED_FIELDS (this hack won't work
1691 * dbus/dbus-message.c: change the signature to be a header field,
1692 instead of message->signature special-case string. Incremental
1693 step forward. Then we can fix up code to send the signature in the
1694 message, then fix up code to validate said signature, then fix up
1695 code to not put the typecodes inline, etc.
1696 (load_one_message): don't make up the signature after the fact
1697 (decode_header_data): require signature field for the known
1700 * dbus/dbus-marshal.c (_dbus_marshal_string_len): new
1702 * dbus/dbus-protocol.h: add DBUS_HEADER_FIELD_SIGNATURE
1704 2004-06-07 Owen Fraser-Green <owen@discobabe.net>
1706 * mono/DBusType/ObjectPath.cs: Renamed PathName argument to Path
1708 * mono/Handler.cs: Updated to follow new path argument for
1709 (un-)registering objects.
1711 * mono/example/Makefile.am:
1713 * configure.in: Bumped required version for mono and use new -pkg
1716 2004-06-05 Olivier Andrieu <oliv__a@users.sourceforge.net>
1718 * dbus/dbus-connection.h, dbus/dbus-connection.c: have object path
1719 registration functions take the path argument as char* instead of
1722 * dbus/dbus-marshal.h, dbus/dbus-marshal.c (_dbus_decompose_path):
1723 split off the path decompostion part of
1724 _dbus_demarshal_object_path. Some misc. fixes to silence compiler
1727 * glib/dbus-gobject.c, test/test-service.c: update accordingly.
1729 2004-06-02 Kristian Høgsberg <krh@redhat.com>
1731 * dbus/dbus-auth.c: Rewrite auth protocol handling to use a state
1732 machine approach. A state is implemented as a function that
1733 handles incoming events as specified for that state.
1735 * doc/dbus-specification.xml: Update auth protocol state machine
1736 specification to match implementation. Remove some leftover
1739 2004-06-02 Kristian Høgsberg <krh@redhat.com>
1741 * glib/dbus-gproxy.c, glib/dbus-gmain.c, dbus/dbus-string.c,
1742 dbus/dbus-object-tree.c, dbus/dbus-message.c: add comments to
1745 * Doxyfile.in: remove deprecated options.
1747 * dbus/dbus-message-handler.c, dbus/dbus-message-handler.h,
1748 glib/test-thread.h, glib/test-thread-client.c,
1749 glib/test-thread-server.c, glib/test-profile.c,
1750 glib/test-dbus-glib.c: remove these unused files.
1752 2004-06-01 Olivier Andrieu <oliv__a@users.sourceforge.net>
1754 * dbus/dbus-object-tree.c
1755 (_dbus_object_tree_dispatch_and_unlock): fix dispatch for
1756 non-fallback handlers (bug #684).
1757 (_dbus_object_subtree_new): initialize invoke_as_fallback field.
1758 (find_subtree_recurse): report wether the returned subtree is an
1759 exact match or a "fallback" match higher up in the tree.
1760 (object_tree_test_iteration): update test case.
1762 2004-06-01 Seth Nickell <seth@gnome.org>
1764 * python/dbus_bindings.pyx.in:
1765 * python/tests/test-client.py:
1767 Round off basic type support. Add dicts (yay!), and
1768 remaining array types.
1770 Make MessageIter more general so it works for dicts too.
1772 Mark all loop variables as C integers.
1774 2004-05-31 Havoc Pennington <hp@redhat.com>
1776 * glib/dbus-gidl.c (method_info_add_arg): keep args sorted with
1779 * glib/dbus-gobject.c (dbus_type_to_string): move to dbus-gutils.c
1781 * glib/dbus-glib-tool.c (main): set up to have a --self-test
1782 option that runs the tests, and start filling in some code
1783 including for starters just dumping the interfaces to stdout
1785 * glib/Makefile.am (INCLUDES): define DBUS_LOCALEDIR
1787 * test/data/valid-introspection-files/lots-of-types.xml: test of
1788 an example introspection file
1790 * glib/dbus-gparser.c (parser_check_doctype): doctype should be
1793 2004-05-31 Seth Nickell <seth@gnome.org>
1795 * python/dbus_bindings.pyx.in:
1796 * python/tests/test-client.py:
1801 Fix string array memory trashing bug... oops...
1803 2004-05-30 Seth Nickell <seth@gnome.org>
1807 Add a nicer-but-less-flexible alternate API for handling
1808 calls to virtual objects in dbus.ObjectTree.
1810 Screw up the argument order to the dbus.Object constructor
1811 for consistency with dbus.ObjectTree (and to make dbus_methods
1812 optional for future extension)
1814 * python/examples/Makefile.am:
1815 * python/examples/gconf-proxy-service.py:
1816 * python/examples/gconf-proxy-service2.py:
1818 Alternate implementation of gconf-proxy-service using the
1819 nicer dbus.ObjectTree API.
1821 * python/examples/example-service.py:
1822 * python/tests/test-server.py
1824 Reverse the argument order to deal with dbus.Object constructor
1827 2004-05-30 Seth Nickell <seth@gnome.org>
1829 * python/examples/example-client.py:
1830 * python/examples/example-service.py:
1832 Take it back. Lists seem to work but they're broken
1833 in the test suite. Make the base examples use
1836 2004-05-30 Seth Nickell <seth@gnome.org>
1838 * python/dbus_bindings.pyx.in:
1839 * python/tests/test-client.py:
1841 Add some more tests and fix errors that crop up.
1842 Unfortunately, currently it seems like marshalling
1843 and unmarshalling of lists is completely broken :-(
1845 2004-05-30 Seth Nickell <seth@gnome.org>
1847 * python/dbus_bindings.pyx.in:
1849 Add support for ObjectPath type.
1853 Refactor message handling code to a common function.
1855 * python/tests/test-client.py:
1856 * python/tests/test-server.py:
1858 Add tests that check to make sure values of all types
1859 can be echoed from a service w/o mangling.
1861 2004-05-29 Seth Nickell <seth@gnome.org>
1865 Add ObjectTree class which allows implementation
1866 of trees of "virtual" objects. Basically the python
1867 wrapper for "register_fallback".
1869 * python/examples/Makefile.am
1870 * python/examples/gconf-proxy-client.py:
1871 * python/examples/gconf-proxy-service.py:
1873 Implement a simple GConf proxy service that supports
1874 get/set on string and int GConf keys using the ObjectTree.
1876 2004-05-29 Seth Nickell <seth@gnome.org>
1879 * python/examples/example-client.py:
1880 * python/examples/example-service.py:
1881 * python/examples/list-system-services.py:
1883 Add SessionBus, SystemBus and ActivationBus classes
1884 so you don't need to know the special little BUS_TYPE
1887 2004-05-29 Havoc Pennington <hp@redhat.com>
1889 * bus/config-parser.c (process_test_valid_subdir): temporarily
1890 stop testing config parser OOM handling, since expat has issues
1891 http://freedesktop.org/pipermail/dbus/2004-May/001153.html
1893 * bus/dbus-daemon-1.1.in: change requested_reply to
1894 send_requested_reply/receive_requested_reply so we can send the
1895 replies, not just receive them.
1897 * bus/config-parser.c: parse the new
1898 send_requested_reply/receive_requested_reply
1900 * bus/policy.c (bus_client_policy_check_can_send): add
1901 requested_reply argument and use it
1903 * bus/bus.c (bus_context_check_security_policy): pass through
1904 requested_reply status to message send check
1906 * bus/system.conf.in: adapt to requested_reply change
1908 2004-05-28 Havoc Pennington <hp@redhat.com>
1910 * test/glib/test-service-glib.c (main): remove unused variable
1912 * glib/dbus-gidl.c (base_info_ref): fix a silly compiler warning
1914 * dbus/dbus-auth.h (enum): remove AUTHENTICATED_WITH_UNUSED_BYTES
1915 from the enum, no longer in use.
1917 * dbus/dbus-sysdeps.h: include config.h so DBUS_VA_COPY actually
1920 * dbus/dbus-message.c: add various _dbus_return_val_if_fail for
1921 whether error_name passed in is a valid error name.
1923 2004-05-28 John (J5) Palmieri <johnp@redhat.com>
1925 * dbus/dbus-message.c (dbus_message_get_args): Added support for
1926 OBJECT_PATH and OBJECT_PATH_ARRAY
1928 2004-05-28 Seth Nickell <seth@gnome.org>
1930 * python/examples/Makefile.am:
1932 Forget to add Makefile.am. Do not pass go.
1934 2004-05-28 Michael Meeks <michael@ximian.com>
1936 * glib/dbus-gvalue.c (dbus_gvalue_marshal, dbus_gvalue_demarshal):
1939 * dbus/dbus-string.c (_dbus_string_parse_basic_type): impl.
1941 * dbus/dbus-message.c (_dbus_message_iter_get_basic_type),
1942 (_dbus_message_iter_get_basic_type_array): impl.
1943 drastically simplify ~all relevant _get methods to use these.
1944 (_dbus_message_iter_append_basic_array),
1945 (dbus_message_iter_append_basic): impl
1946 drastically simplify ~all relevant _append methods to use these.
1948 * dbus/dbus-message-builder.c (parse_basic_type)
1949 (parse_basic_array, lookup_basic_type): impl.
1950 (_dbus_message_data_load): prune scads of duplicate /
1953 * dbus/dbus-marshal.c (_dbus_demarshal_basic_type_array)
1954 (_dbus_demarshal_basic_type): implement,
1955 (demarshal_and_validate_len/arg): beef up debug.
1956 (_dbus_marshal_basic_type, _dbus_marshal_basic_type_array): impl.
1958 2004-05-27 Seth Nickell <seth@gnome.org>
1961 * python/Makefile.am:
1963 Include the example python apps in the tarball.
1965 * python/examples/list-system-services.py
1967 Add a python new example that fetches the list of services
1968 from the system bus.
1970 2004-05-27 Seth Nickell <seth@gnome.org>
1973 * python/dbus_bindings.pyx.in:
1975 Fix failure to notify that a signal was not handled,
1976 resulted in hung functions.
1978 2004-05-25 Colin Walters <walters@redhat.com>
1980 * tools/dbus-monitor.c (main): Monitor all types of messages.
1982 2004-05-23 Owen Fraser-Green <owen@discobabe.net>
1984 * mono/Handler.cs, mono/Service.cs: Added UnregisterObject method
1985 which unregisters the object path and disposes the handler.
1987 2004-05-23 Kristian Høgsberg <krh@redhat.com>
1989 Patch from Timo Teräs <ext-timo.teras@nokia.com> (#614):
1991 * dbus/dbus-message.c (dbus_message_iter_get_args_valist): Swap
1992 operands to && so we call dbus_message_iter_next () for the last
1995 2004-05-21 Olivier Andrieu <oliv__a@users.sourceforge.net>
1997 * dbus/dbus-object-tree.c
1998 (_dbus_object_tree_list_registered_unlock, lookup_subtree): return
1999 children even if the requested path isn't registered.
2000 (object_tree_test_iteration): test object_tree_list_registered.
2002 * configure.in: undefine HAVE_ABSTRACT_SOCKETS instead of defining
2005 2004-05-20 Kristian Høgsberg <krh@redhat.com>
2007 * doc/TODO: Remove resolved items.
2009 * bus/expirelist.h (struct BusExpireList): remove unused n_items
2012 * bus/connection.c (bus_connections_expect_reply): Enforce the
2013 per-connection limit on pending replies.
2015 Patch from Jon Trowbridge <trow@ximian.com>:
2017 * bus/main.c (setup_reload_pipe): Added. Creates a pipe and sets
2018 up a watch that triggers a config reload when one end of the pipe
2020 (signal_handler): Instead of doing the config reload in our SIGHUP
2021 handler, just write to the reload pipe and let the associated
2022 watch handle the reload when control returns to the main loop.
2024 * bus/driver.c (bus_driver_handle_reload_config): Added.
2025 Implements a ReloadConfig method for requesting a configuration
2026 file reload via the bus driver.
2028 2004-05-19 Owen Fraser-Green <owen@discobabe.net>
2030 * HACKING: Updated release instructions concerning the wiki page.
2032 2004-05-18 Kristian Høgsberg <krh@redhat.com>
2034 * dbus/dbus-auth.c (client_try_next_mechanism): Remove logic to
2035 filter against auth->allowed_mechs; we only add allowed mechs in
2036 record_mechanisms().
2038 * dbus/dbus-auth-script.c (_dbus_auth_script_run): Add an
2039 ALLOWED_MECHS to auth-script format so we can set the list of
2042 * data/auth/client-out-of-mechanisms.auth-script: New test to
2043 check client disconnects when it is out of mechanisms to try.
2045 * dbus/dbus-auth.c (process_command): Remove check for lines
2046 longer that 1 MB; we only buffer up maximum 16 kB.
2048 * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
2049 dbus/dbus-auth-script.c, dbus/dbus-auth.c, dbus/dbus-auth.h:
2050 Remove auth state AUTHENTICATED_WITH_UNUSED_BYTES, instead always
2051 assume there might be unused bytes.
2053 * dbus/dbus-auth.c (_dbus_auth_do_work): Remove check for
2054 client-out-of-mechs, it is handled in process_reject(). Move check
2055 for max failures to send_rejected(), as it's a server-only thing.
2057 * dbus/dbus-auth.c: Factor out protocol reply code into functions
2058 send_auth(), send_data(), send_rejected(), send_error(),
2059 send_ok(), send_begin() and send_cancel().
2061 2004-05-17 Kristian Høgsberg <krh@redhat.com>
2063 Remove base64 encoding, replace with hex encoding. Original patch
2064 from trow@ximian.com, added error handling.
2066 * dbus/dbus-string.c (_dbus_string_base64_encode)
2067 (_dbus_string_base64_decode): Remove.
2068 (_dbus_string_hex_decode): Add end_return argument so we can
2069 distinguish between OOM and invalid hex encoding.
2070 (_dbus_string_test): Remove base64 tests and add test case for
2073 * dbus/dbus-keyring.c, dbus/dbus-auth-script.c, dbus/dbus-auth.c:
2074 Replace base64 with hex.
2076 * test/data/auth/invalid-hex-encoding.auth-script: New test case
2077 for invalid hex encoded data in auth protocol.
2079 2004-05-17 Olivier Andrieu <oliv__a@users.sourceforge.net>
2081 * dbus/dbus-connection.c (check_for_reply_unlocked): plug a memory
2084 2004-05-15 Owen Fraser-Green <owen@discobabe.net>
2086 * mono/dbus-sharp.dll.config.in: Added for GAC
2087 * mono/dbus-sharp.snk: Added for GAC
2088 * mono/Assembly.cs.in: Added for GAC
2089 * mono/Makefile.am: Changes for GAC installation
2090 * configure.in: Added refs for dbus-sharp.dll.config.in and
2091 Assembly.cs.in. More fixes for mono testing
2092 * mono/example/Makefile.am: Changed var to CSC
2093 * Makefile.am: Changed flag name to DBUS_USE_CSC
2095 2004-05-15 Owen Fraser-Green <owen@discobabe.net>
2097 * mono/Makefile.am: Added SUBDIRS for docs. Changed SUBDIRS order
2098 * mono/doc/*: Added documentation framework
2099 * configure.in: Added monodoc check
2100 * README: Added description of mono configure flags
2102 2004-05-11 John (J5) Palmieri <johnp@redhat.com>:
2104 * doc/dbus-specification.xml: Added a "Required" column to the
2105 header fields table and changed the "zero or more" verbage in
2106 the above paragraph to read "The header must contain the required
2107 named header fields and zero or more of the optional named header
2109 * test/data/invalid-messages/*.message: Added the required PATH
2110 named header field to the tests so that they don't fail on
2111 'Missing path field'
2113 2004-05-07 John (J5) Palmieri <johnp@redhat.com>
2115 * python/dbus-bindings.pyx.in: Stopped the bindings from trashing
2116 the stack by implicitly defining variable and parameter types and
2117 removing the hack of defining C pointers as python objects and later
2120 2004-05-02 Owen Fraser-Green <owen@discobabe.net>
2122 * mono/Makefile.am: Removed test-dbus-sharp.exe from all target
2124 2004-05-01 Owen Fraser-Green <owen@discobabe.net>
2126 * mono/DBusType/Dict.cs: Handle empty dicts
2127 * mono/DBusType/Array.cs: Handle empty arrays
2128 * mono/Arguments.cs: Handle empty arguments
2130 2004-04-30 Owen Fraser-Green <owen@discobabe.net>
2132 * dbus-sharp.pc.in: Modified to include include Libs and Requires
2135 2004-04-25 Kristian Høgsberg <krh@redhat.com>
2137 * test/data/valid-messages/standard-*.message: Update message
2138 test scripts to new header field names.
2140 2004-04-22 John (J5) Palmieri <johnp@redhat.com>
2142 * test/break-loader.c (randomly_do_n_things): tracked down buffer
2143 overflow to times_we_did_each_thing array which would chop off the
2144 first character of the failure_dir string. Increased the size of
2145 the array to 7 to reflect the number of random mutation functions
2148 2004-04-21 Kristian Høgsberg <krh@redhat.com>
2150 * dbus/dbus-server-unix.c (unix_finalize): Don't unref
2151 unix_server->watch here, it is unreffed in disconnect.
2152 (_dbus_server_new_for_tcp_socket): convert NULL host to
2153 "localhost" here so we don't append NULL to address.
2155 * dbus/dbus-server.c (_dbus_server_test): Add test case for
2156 various addresses, including tcp with no explicit host.
2158 2004-04-21 Olivier Andrieu <oliv__a@users.sourceforge.net>
2160 * dbus/dbus-message.c (decode_header_data, decode_string_field):
2161 fix incorrect setting of .name_offset in the HeaderField (it was
2162 off by two bytes, positioned right after the name and typecode)
2164 * bus/bus.c (bus_context_new, bus_context_unref): test before
2165 calling dbus_server_free_data_slot and _dbus_user_database_unref
2166 in case of an error.
2168 * tools/Makefile.am: add $(DBUS_GLIB_TOOL_LIBS), xml libs needed
2171 2004-04-19 Kristian Høgsberg <krh@redhat.com>
2173 * dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use
2174 _dbus_poll() instead of select().
2176 2004-04-15 Jon Trowbridge <trow@ximian.com>
2178 * bus/main.c (signal_handler): Reload the configuration files
2180 (main): Set up our SIGHUP handler.
2182 * bus/bus.c (struct BusContext): Store the config file, user and
2183 fork flag in the BusContext.
2184 (process_config_first_time_only): Added. Contains the code
2185 (previously in bus_context_new) for setting up the BusContext from
2186 the BusConfigParser that should only be run the first time the
2187 config files are read.
2188 (process_config_every_time): Added. Contains the code (previously
2189 in bus_context_new) for setting up the BusContext from the
2190 BusConfigParser that should be run every time the config files are
2192 (load_config): Added. Builds a BusConfigParser from the config
2193 files and passes the resulting structure off to
2194 process_config_first_time_only (assuming this is the first time)
2195 and process_config_every_time.
2196 (bus_context_new): All of the config-related code has been moved
2197 to process_config_first_time_only and process_config_every_time.
2198 Now this function just does the non-config-related initializations
2199 and calls load_config.
2200 (bus_context_reload_config): Added.
2202 2004-04-15 Olivier Andrieu <oliv__a@users.sourceforge.net>
2204 * bus/driver.c (bus_driver_handle_get_service_owner):
2205 implement a GetServiceOwner method.
2206 * doc/dbus-specification.xml: document it.
2207 * dbus/dbus-errors.h: add a 'ServiceHasNoOwner' error.
2209 * glib/dbus-gproxy.c (dbus_gproxy_new_for_service_owner):
2210 implement, using the bus GetServiceOwner method.
2212 * test/glib/test-dbus-glib.c:
2213 use dbus_gproxy_new_for_service_owner so that we can receive the
2216 2004-04-15 John (J5) Palmieri <johnp@redhat.com>
2218 * dbus/dbus-internals.c, dbus/dbus-message-builder.c,
2219 dbus/dbus-message.c, dbus/dbus-protocol.h
2220 (DBUS_HEADER_FIELD_SERVICE): renamed DBUS_HEADER_FIELD_DESTINATION
2222 * dbus/dbus-internals.c, dbus/dbus-message-builder.c,
2223 dbus/dbus-message.c, dbus/dbus-protocol.h
2224 (DBUS_HEADER_FIELD_SENDER_SERVICE): renamed DBUS_HEADER_FIELD_SENDER
2226 * dbus/dbus-internals.c (_dbus_header_field_to_string):
2227 DBUS_HEADER_FIELD_DESTINATION resolves to "destination"
2228 DBUS_HEADER_FIELD_SENDER resolves to "sender"
2230 * doc/dbus-specification.xml (Header Fields Table):
2231 s/SERVICE/DESTINATION
2232 s/SENDER_SERVICE/SENDER
2235 2004-04-14 Olivier Andrieu <oliv__a@users.sourceforge.net>
2237 * test/glib/test-dbus-glib.c (timed_exit): fail the test after
2240 2004-04-13 Michael Meeks <michael@ximian.com>
2242 * glib/dbus-gobject.c (handle_introspect): split out
2243 (introspect_properties): this.
2244 (handle_introspect): implement this.
2246 * test/glib/Makefile.am: use the absolute path so the bus
2247 daemon's chdir ("/") doesn't kill us dead.
2249 * configure.in: subst ABSOLUTE_TOP_BUILDDIR
2251 2004-04-12 Jon Trowbridge <trow@ximian.com>
2253 * bus/config-parser.c (struct BusConfigParser): Added
2254 included_files field.
2255 (seen_include): Added. Checks whether or not a file has already
2256 been included by any parent BusConfigParser.
2257 (bus_config_parser_new): Copy the parent's included_files.
2258 (include_file): Track which files have been included, and fail on
2259 circular inclusions.
2260 (process_test_valid_subdir): Changed printf to report if we are
2261 testing valid or invalid conf files.
2262 (all_are_equiv): Changed printf to be a bit clearer about
2263 what we are actually doing.
2264 (bus_config_parser_test): Test invalid configuration files.
2266 2004-04-09 Jon Trowbridge <trow@ximian.com>
2268 * bus/config-parser.c (bus_config_parser_new): Added a 'parent'
2269 argument. If non-null, the newly-constructed BusConfigParser will
2270 be initialized with the parent's BusLimits instead of the default
2272 (include_file): When including a config file, pass in
2273 the current parser as the parent and then copy the BusLimits
2274 from the included BusConfigParser pack to the current parser.
2275 (process_test_valid_subdir): Renamed from process_test_subdir.
2276 (process_test_equiv_subdir): Added. Walks through a directory,
2277 descending into each subdirectory and loading the config files
2278 it finds there. If any subdirectory contains two config files
2279 that don't produce identical BusConfigParser structs, fail.
2280 For now, the BusConfigParser's BusPolicies are not compared.
2281 (bus_config_parser_test): Call both process_test_valid_subdir and
2282 process_test_equiv_subdir.
2284 * bus/config-loader-libxml.c (bus_config_load): Take a parent
2285 argument and pass it along to the call to bus_config_parser_new.
2286 Also made a few small changes to allow this code to compile.
2288 * bus/config-loader-expat.c (bus_config_load): Take a parent
2289 argument and pass it along to the call to bus_config_parser_new.
2291 * bus/bus.c (bus_context_new): Load the config file
2292 with a NULL parent argument.
2294 2004-03-29 Michael Meeks <michael@ximian.com>
2296 * glib/dbus-gobject.c (introspect_properties): split
2297 out, fix mangled 'while' flow control.
2298 (introspect_signals): implement.
2299 (handle_introspect): update.
2301 2004-03-29 Michael Meeks <michael@ximian.com>
2303 * glib/dbus-gobject.c (set_object_property): split out /
2304 re-work, use the property type, and not the message type(!)
2305 (get_object_property): ditto.
2307 * glib/dbus-gvalue.c (dbus_gvalue_demarshal),
2308 (dbus_gvalue_marshal): make this code re-usable, needed
2309 for signals too, also on both proxy and server side.
2310 Re-write for more efficiency / readability.
2312 2004-03-29 Michael Meeks <michael@ximian.com>
2314 * dbus/dbus-message.c
2315 (dbus_message_new_error_printf): impl.
2317 * dbus/dbus-connection.c
2318 (dbus_connection_unregister_object_path): fix warning.
2320 * configure.in: fix no-mono-installed situation.
2322 2004-03-27 Havoc Pennington <hp@redhat.com>
2324 Patch from Timo Teräs:
2326 * tools/dbus-send.c (main): if --print-reply, assume type is
2327 method call; support boolean type args
2329 * dbus/dbus-connection.c (dbus_connection_send_with_reply): fix a
2330 bunch of memleak and logic bugs
2332 2004-03-23 Owen Fraser-Green <owen@discobabe.net>
2334 * mono/Arguments.cs:
2335 * mono/Introspector.cs:
2337 * mono/InterfaceProxy.cs:
2339 * mono/ProxyBuilder.cs:
2341 Added InterfaceProxy class to avoid building proxies for every
2345 * dbus-message.c (dbus_message_append_args_valist)
2346 (dbus_message_iter_get_object_path)
2347 (dbus_message_iter_get_object_path_array)
2348 (dbus_message_iter_append_object_path)
2349 (dbus_message_iter_append_object_path_array):
2350 Added object_path iter functions to handle OBJECT_PATH arguments
2352 2004-03-23 Owen Fraser-Green <owen@discobabe.net>
2354 First checkin of mono bindings.
2357 Build stuff for the bindings
2358 * dbus-sharp.pc.in: Added for pkgconfig
2360 2004-03-21 Havoc Pennington <hp@redhat.com>
2362 * test/test-service.c (main): remove debug spew
2364 2004-03-21 Olivier Andrieu <oliv__a@users.sourceforge.net>
2366 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): accept empty
2369 * dbus/dbus-message.h, bus/dbus-message.c (dbus_message_iter_init)
2370 (dbus_message_iter_init_array_iterator)
2371 (dbus_message_iter_init_dict_iterator): return a dbus_bool_t to
2372 indicate whether the iterator is empty
2374 * dbus/dbus-pending-call.c, dbus/dbus-server.c: silence compiler
2377 2004-03-19 Havoc Pennington <hp@redhat.com>
2379 * NEWS: 0.21 updates
2381 * configure.in: 0.21
2383 * doc/Makefile.am: add all XMLTO usage to DBUS_XML_DOCS_ENABLED
2385 * python/Makefile.am: change to avoid dist of dbus_bindings.c so
2386 you don't need pyrex to make dist
2388 * qt/Makefile.am (libdbus_qt_1_la_SOURCES): add integrator.h to
2391 2004-03-18 Richard Hult <richard@imendio.com>
2393 * dbus/dbus-message.c (dbus_message_get_auto_activation)
2394 (dbus_message_set_auto_activation): Add doxygen docs.
2396 2004-03-16 Richard Hult <richard@imendio.com>
2398 * bus/activation.c: (bus_activation_service_created),
2399 (bus_activation_send_pending_auto_activation_messages),
2400 (bus_activation_activate_service):
2402 * bus/dispatch.c: (bus_dispatch),
2403 (check_nonexistent_service_auto_activation),
2404 (check_service_auto_activated),
2405 (check_segfault_service_auto_activation),
2406 (check_existent_service_auto_activation), (bus_dispatch_test):
2407 * bus/driver.c: (bus_driver_handle_activate_service):
2408 * bus/services.c: (bus_registry_acquire_service):
2409 * dbus/dbus-message.c: (dbus_message_set_auto_activation),
2410 (dbus_message_get_auto_activation):
2411 * dbus/dbus-message.h:
2412 * dbus/dbus-protocol.h: Implement auto-activation.
2414 * doc/dbus-specification.xml: Add auto-activation to the spec.
2416 2004-03-12 Olivier Andrieu <oliv__a@users.sourceforge.net>
2418 * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos):
2419 fix a bug with CUSTOM types.
2421 * dbus/dbus-message.c (message_iter_test, _dbus_message_test): add
2422 a unit test for this bug (used to fail).
2424 2004-03-12 Mikael Hallendal <micke@imendio.com>
2427 (babysitter_watch_callback): notify all pending activations waiting for
2428 the same exec that the activation failed.
2429 (bus_activation_activate_service): shortcut the activation if we
2430 already waiting for the same executable to start up.
2432 2004-03-12 Mikael Hallendal <micke@imendio.com>
2435 - Added service file reloading.
2436 Each service files directory is kept in an hash table in
2437 BusActivation and each BusActivationEntry knows what .service-file it
2438 was read from. So when you try to activate a service the bus will
2439 check if it's been updated, removed or if new .service-files has
2441 - Test code at the bottom for the service file reloading.
2442 * bus/test-main.c: (main):
2444 - added service reloading test.
2445 * dbus/dbus-sysdeps.c:
2446 * dbus/dbus-sysdeps.h: (_dbus_delete_directory): Added.
2448 2004-03-08 Michael Meeks <michael@ximian.com>
2450 * dbus/dbus-connection.c (_dbus_connection_block_for_reply):
2451 bail immediately if disconnected, to avoid busy loop.
2453 * dbus/dbus-message.c (dbus_message_iter_get_args_valist):
2454 cleanup cut/paste/inefficiency.
2456 2004-03-01 David Zeuthen <david@fubar.dk>
2458 * dbus/dbus-string.c (_dbus_string_append_printf_valist): Fix a
2459 bug where args were used twice. This bug resulted in a segfault
2460 on a Debian/PPC system when starting the messagebus daemon. Include
2461 dbus-sysdeps.h for DBUS_VA_COPY
2463 * dbus/dbus-sysdeps.h: Define DBUS_VA_COPY if neccessary. From GLib
2465 * configure.in: Check for va_copy; define DBUS_VA_COPY to the
2466 appropriate va_copy implementation. From GLib
2468 2004-02-24 Joe Shaw <joe@ximian.com>
2470 * bus/services.c (bus_registry_acquire_service): We need to pass
2471 in the service name to dbus_set_error() to prevent a crash.
2473 2003-12-26 Anders Carlsson <andersca@gnome.org>
2475 * AUTHORS: Reveal my True identity.
2477 2003-12-17 Mikael Hallendal <micke@imendio.com>
2479 * dbus/dbus-message.c: (dbus_message_append_args_valist):
2480 - Added case for DBUS_TYPE_BYTE, patch from Johan Hedberg.
2482 2003-12-13 Mikael Hallendal <micke@imendio.com>
2484 * doc/TODO: Added not about better error check of configuration files.
2486 2003-12-02 Richard Hult <richard@imendio.com>
2488 * Update AFL version to 2.0 throughout the source files to reflect
2489 the update that was done a while ago.
2491 2003-12-02 Richard Hult <richard@imendio.com>
2493 * dbus/dbus-message.c (dbus_message_iter_append_dict): Set
2494 wrote_dict_key to FALSE on the iter that the dict is appended to,
2495 just like when appending other types. Fixes a bug where a dict
2496 couldn't be put inside a dict.
2497 (dbus_message_iter_append_dict_key): Fix typo in warning message.
2498 (message_iter_test, _dbus_message_test): Add test case for dict
2501 2003-12-01 David Zeuthen <david@fubar.dk>
2503 * python/dbus.py: Add the actual message when calling the reciever
2504 of a signal such that parameters can be inspected. Add the method
2505 remove_signal_receiver
2507 2003-11-26 Mikael Hallendal <micke@imendio.com>
2511 * glib/*.[ch]: Made ref functions return the pointer
2513 2003-11-25 Zack Rusin <zack@kde.org>
2515 * qt/integrator.h, qt/integrator.cpp: Adding handling of DBusServer,
2517 * qt/server.h, qt/server.cpp, qt/Makefile.am: Adding DBusServer
2520 * qt/connection.h, qt/connection.cpp: Adjusting to changes in
2521 the Integrator and to better fit with the server,
2523 2003-11-24 Zack Rusin <zack@kde.org>
2525 * qt/connection.h, qt/connection.cpp: removing initDbus method since
2526 the integrator handles it now
2528 * qt/integrator.h, qt/integrator.cpp: reworking handling of timeouts,
2529 since QTimer wasn't really meant to be used the way DBusTimeout is
2531 2003-11-24 Zack Rusin <zack@kde.org>
2533 * qt/integrator.h, qt/integrator.cpp, Makefile.am: Adding
2534 Integrator class which integrates D-BUS with the Qt event loop,
2536 * qt/connection.h, qt/connection.cpp: Move all the code which
2537 was dealing with D-BUS integration to the Integrator class,
2538 and start using Integrator,
2540 2003-11-23 Zack Rusin <zack@kde.org>
2542 * qt/connection.h, qt/connection.cpp: Adding the DBusConnection
2545 * qt/message.h, qt/message.cpp: updating to the current D-BUS api,
2546 switching namespaces to DBusQt, reworking the class,
2548 * Makefile.cvs: switching dependencies so that it matches KDE
2551 * qt/Makefile.am: adding connection.{h,cpp} and message.{h,cpp} to
2554 2003-11-19 Havoc Pennington <hp@redhat.com>
2558 * configure.in: bump version to 0.20
2560 * configure.in (have_qt): add yet another place to look for qt
2561 (someone hand trolltech a .pc file...)
2563 2003-11-01 Havoc Pennington <hp@redhat.com>
2565 * doc/dbus-specification.xml: add state machine docs on the auth
2566 protocol; just a first draft, I'm sure it's wrong.
2568 2003-10-28 David Zeuthen <david@fubar.dk>
2570 * python/dbus_bindings.pyx.in: add get_dict to handle dictionaries
2571 return types. Fixup TYPE_* to reflect changes in dbus/dbus-protocol.h
2573 2003-10-28 Havoc Pennington <hp@redhat.com>
2575 * dbus/dbus-message.c (get_next_field): delete unused function
2577 2003-10-28 Havoc Pennington <hp@redhat.com>
2579 * bus/expirelist.c (do_expiration_with_current_time): detect
2580 failure of the expire_func due to OOM
2582 * bus/connection.c (bus_pending_reply_expired): return FALSE on OOM
2584 * bus/dispatch.c (check_send_exit_to_service): fix to handle the
2585 NoReply error that's now created by the bus when the service exits
2587 2003-10-28 Havoc Pennington <hp@redhat.com>
2589 * dbus/dbus-message.c (_dbus_message_test): enable and fix the
2590 tests for set_path, set_interface, set_member, etc.
2592 * dbus/dbus-string.c (_dbus_string_insert_bytes): allow 0 bytes
2594 * dbus/dbus-message.c (set_string_field): always just delete and
2595 re-append the field; accept NULL for deletion
2596 (re_align_fields_recurse): reimplement
2598 2003-10-26 Havoc Pennington <hp@redhat.com>
2600 * dbus/dbus-connection.c: fix docs to properly describe the
2601 disconnected message
2602 (_dbus_connection_notify_disconnected): remove this function;
2603 we can't synchronously add the disconnected message, we have to
2604 do it after we've queued any remaining real messages
2605 (_dbus_connection_get_dispatch_status_unlocked): queue the
2606 disconnect message only if the transport has finished queueing all
2607 its real messages and is disconnected.
2608 (dbus_connection_disconnect): update the dispatch status here
2610 2003-10-22 Havoc Pennington <hp@redhat.com>
2612 * bus/bus.c (bus_context_check_security_policy): fix up assertion
2614 * bus/connection.c (bus_transaction_send_from_driver): set the
2615 destination to the connection's base service
2617 2003-10-20 Havoc Pennington <hp@redhat.com>
2619 hmm, make check is currently not passing.
2621 * doc/dbus-specification.xml: add requirement that custom type
2622 names follow the same rules as interface names.
2624 * dbus/dbus-protocol.h: change some of the byte codes, to avoid
2625 duplication and allow 'c' to be 'custom'; dict is now 'm' for
2628 * doc/dbus-specification.xml: update type codes to match
2629 dbus-protocol.h, using the ASCII byte values. Rename type NAMED to
2630 CUSTOM. Add type OBJECT_PATH to the spec.
2632 2003-10-17 Havoc Pennington <hp@redhat.com>
2634 * bus/driver.c (create_unique_client_name): use "." as separator
2635 in base service names instead of '-'
2637 * dbus/dbus-string.c (_dbus_string_get_byte): allow getting nul
2638 byte at the end of the string
2640 * dbus/dbus-internals.h (_DBUS_LIKELY, _DBUS_UNLIKELY): add
2641 optimization macros since string validation seems to be a slow
2644 * doc/dbus-specification.xml: restrict valid
2645 service/interface/member/error names. Add test suite code for the
2648 * dbus/dbus-string.c: limit service/interface/member/error names
2651 * dbus/dbus-connection.c (dbus_connection_dispatch): add missing
2652 format arg to verbose spew
2654 * glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): if not out of
2655 memory, return instead of g_error
2657 * test/test-service.c (path_message_func): support emitting a
2660 * dbus/dbus-bus.c (init_connections_unlocked): only fill in
2661 activation bus type if DBUS_BUS_ACTIVATION was set; default to
2662 assuming the activation bus was the session bus so that services
2663 started manually will still register.
2664 (init_connections_unlocked): fix so that in OOM situation we get
2665 the same semantics when retrying the function
2667 * test/test-service.c (main): change to use path registration, to
2668 test those codepaths; register with DBUS_BUS_ACTIVATION rather
2669 than DBUS_BUS_SESSION
2671 2003-10-16 Havoc Pennington <hp@redhat.com>
2673 * glib/dbus-gtest-main.c: bracket with #ifdef DBUS_BUILD_TESTS
2675 * Makefile.am (GCOV_DIRS): remove "test", we don't care about test
2676 coverage of the tests
2677 (coverage-report.txt): don't move the .da and .bbg files around
2679 2003-10-16 Havoc Pennington <hp@redhat.com>
2681 * bus/bus.c (struct BusContext): remove struct field I didn't mean
2684 2003-10-16 Havoc Pennington <hp@redhat.com>
2686 * bus/connection.c (bus_pending_reply_expired): either cancel or
2688 (bus_connections_check_reply): use unlink, not remove_link, as we
2689 don't want to free the link; fixes double free mess
2691 * dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case
2692 where no reply was received
2694 * dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock):
2697 * bus/signals.c (match_rule_matches): add special cases for the
2698 bus driver, so you can match on sender/destination for it.
2700 * dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if
2701 DBUS_PRINT_BACKTRACE is set
2703 * dbus/dbus-internals.c: add pid to assertion failure messages
2705 * dbus/dbus-connection.c: add message type code to the debug spew
2707 * glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want
2708 sender=foo not service=foo
2710 * dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the
2711 session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use
2712 DBUS_ACTIVATION_ADDRESS instead
2714 * bus/activation.c: set DBUS_SESSION_BUS_ADDRESS,
2715 DBUS_SYSTEM_BUS_ADDRESS if appropriate
2717 * bus/bus.c (bus_context_new): handle OOM copying bus type into
2720 * dbus/dbus-message.c (dbus_message_iter_get_object_path): new function
2721 (dbus_message_iter_get_object_path_array): new function (half
2722 finished, disabled for the moment)
2724 * glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle
2725 DBUS_MESSAGE_TYPE_ERROR
2727 * tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to
2728 avoid redirecting stderr to /dev/null
2729 (babysit): close stdin if not doing the "exit_with_session" thing
2731 * dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover
2732 debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not
2733 stdout/stdin, so things don't get confused
2735 * bus/system.conf.in: fix to allow replies, I modified .conf
2736 instead of .conf.in again.
2738 2003-10-14 David Zeuthen <david@fubar.dk>
2740 * python/dbus_bindings.pyx.in (MessageIter.get): fixed typo in
2741 argtype to arg_type when raising unknown arg type exception.
2742 Changed type list to reflect the changes in dbus-protocol.h so
2743 the bindings actually work.
2745 2003-10-14 Havoc Pennington <hp@redhat.com>
2747 * test/decode-gcov.c: support gcc 3.3 also, though gcc 3.3 seems
2748 to have a bug keeping it from outputting the .da files sometimes
2749 (string_get_string): don't append garbage nul bytes to the string.
2751 2003-10-15 Seth Nickell <seth@gnome.org>
2753 * python/Makefile.am:
2755 Include dbus_h_wrapper.h in the dist tarball.
2757 2003-10-14 Havoc Pennington <hp@redhat.com>
2759 * bus/bus.c (bus_context_check_security_policy): revamp this to
2760 work more sanely with new policy-based requested reply setup
2762 * bus/connection.c (bus_transaction_send_from_driver): set bus
2763 driver messages as no reply
2765 * bus/policy.c (bus_client_policy_check_can_receive): handle a
2766 requested_reply attribute on allow/deny rules
2768 * bus/system.conf: add <allow requested_reply="true"/>
2770 * bus/driver.c (bus_driver_handle_message): fix check for replies
2771 sent to the bus driver, which was backward. How did this ever work
2772 at all though? I think I'm missing something.
2774 * dbus/dbus-message.c (decode_header_data): require error and
2775 method return messages to have a reply serial field to be valid
2776 (_dbus_message_loader_queue_messages): break up this function;
2777 validate that reply serial and plain serial are nonzero;
2778 clean up the OOM/error handling.
2779 (get_uint_field): don't return -1 from this
2780 (dbus_message_create_header): fix signed/unsigned bug
2782 * bus/connection.c (bus_connections_expect_reply): save serial of
2783 the incoming message, not reply serial
2785 2003-10-14 Havoc Pennington <hp@redhat.com>
2787 * bus/connection.c: implement pending reply tracking using
2790 * bus/bus.c (bus_context_check_security_policy): verify that a
2791 reply is pending in order to allow a reply to be sent. Deny
2792 messages of unknown type.
2794 * bus/dbus-daemon-1.1.in: update to mention new resource limits
2796 * bus/bus.c (bus_context_get_max_replies_per_connection): new
2797 (bus_context_get_reply_timeout): new
2799 2003-10-13 Seth Nickell <seth@gnome.org>
2801 * python/Makefile.am:
2803 Pass "make distcheck": remove a couple files from DIST_FILES
2804 that weren't included in the final version.
2806 2003-10-12 Havoc Pennington <hp@pobox.com>
2808 Added test code that 1) starts an actual bus daemon and 2) uses
2809 DBusGProxy; fixed bugs that were revealed by the test. Lots
2810 more testing possible, but this is the basic framework.
2812 * glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove
2813 empty proxy lists from the proxy list hash
2815 * dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a
2816 couple of return_if_fail checks
2818 * dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0
2819 to allocate, so everything is cleared to NULL as it should be.
2821 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass
2822 source as data to dbus_connection_set_timeout_functions() as the
2823 timeout functions expected
2825 * test/glib/run-test.sh: add a little script to start up a message
2826 bus and run tests using it
2828 * tools/dbus-launch.1: updates
2830 * tools/dbus-launch.c (main): add --config-file option
2832 * tools/dbus-launch.c (main): remove confusing else if (runprog)
2833 that could never be reached.
2835 * dbus/dbus-message.c (dbus_message_new_method_return)
2836 (dbus_message_new_error, dbus_message_new_signal): set the
2837 no-reply-expected flag on all these. Redundant, but may
2838 as well be consistent.
2840 2003-10-11 Havoc Pennington <hp@pobox.com>
2842 * test/decode-gcov.c (function_solve_graph): make broken block
2843 graph a nonfatal error since it seems to be broken. Need to debug
2846 * dbus/dbus-marshal.c (_dbus_type_is_valid): new function since we
2847 can't just check type > INVALID < LAST anymore
2849 * dbus/dbus-message.c (dbus_message_get_signature): new function
2850 (dbus_message_has_signature): new function
2851 (struct DBusMessage): add signature field (right now it isn't sent
2852 over the wire, just generated on the fly)
2853 (dbus_message_copy): copy the signature, and init strings to
2854 proper length to avoid some reallocs
2855 (dbus_message_iter_init_array_iterator): return void, since it
2857 (dbus_message_iter_init_dict_iterator): return void since it can't fail
2858 (_dbus_message_loader_queue_messages): add silly temporary hack to
2859 fill in message->signature on load
2861 * dbus/dbus-protocol.h: change DBUS_TYPE_* values to be ASCII
2862 characters, so they are relatively human-readable.
2864 2003-10-11 Havoc Pennington <hp@pobox.com>
2866 * dbus/dbus-message.c (_dbus_message_test): add more test
2867 coverage, but #if 0 for now since they uncover a bug
2868 not fixed yet; I think in re_align_field_recurse()
2869 (re_align_field_recurse): add FIXME about broken assertion
2871 * dbus/dbus-sysdeps.c (_dbus_sysdeps_test): add more test coverage
2873 * bus/connection.c: share a couple code bits with expirelist.c
2875 * bus/expirelist.h, bus/expirelist.c: implement a generic
2876 expire-items-after-N-seconds facility, was going to share between
2877 expiring connections and replies, decided not to use for expiring
2878 connections for now.
2880 * COPYING: include AFL 2.0 (still need to change all the file headers)
2882 2003-10-09 Havoc Pennington <hp@redhat.com>
2884 * configure.in: define DBUS_HAVE_GCC33_GCOV if we have
2885 gcc 3.3. Not that we do anything about it yet.
2887 * bus/signals.c (bus_match_rule_parse): impose max length on the
2890 * dbus/dbus-protocol.h: add DBUS_MAXIMUM_MATCH_RULE_LENGTH
2892 2003-10-09 Havoc Pennington <hp@redhat.com>
2894 Make matching rules theoretically work (add parser).
2896 * bus/bus.c (bus_context_check_security_policy): fix up to handle
2897 the case where destination is explicitly specified as bus driver
2898 and someone else is eavesdropping.
2900 * bus/policy.c (bus_client_policy_check_can_receive): fix up
2901 definition of eavesdropping and assertion
2903 * tools/dbus-send.c (main): use dbus_message_type_from_string
2905 * bus/signals.c (bus_match_rule_parse): implement
2907 * dbus/dbus-message.c (dbus_message_type_from_string): new
2909 * dbus/dbus-errors.h (DBUS_ERROR_MATCH_RULE_INVALID): add
2911 2003-10-02 Havoc Pennington <hp@pobox.com>
2913 * glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): rename from
2914 dbus_gproxy_oneway_call
2916 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main)
2917 (dbus_server_setup_with_g_main): fix to allow calling them more
2918 than once on the same args
2919 (dbus_bus_get_with_g_main): new function
2921 2003-10-02 Havoc Pennington <hp@redhat.com>
2923 * doc/dbus-tutorial.xml: write some stuff
2925 2003-09-29 Havoc Pennington <hp@pobox.com>
2927 * configure.in: split checks for Doxygen from XML docs, check for
2930 * doc/Makefile.am: XML-ify all the docs, and add a blank
2933 2003-09-29 Havoc Pennington <hp@pobox.com>
2935 * Merge dbus-object-names branch. To see the entire patch
2936 do cvs diff -r DBUS_OBJECT_NAMES_BRANCHPOINT -r dbus-object-names,
2937 it's huuuuge though.
2938 To revert, I tagged DBUS_BEFORE_OBJECT_NAMES_MERGE.
2940 2003-09-28 Havoc Pennington <hp@pobox.com>
2942 * HACKING: update to reflect new server
2944 2003-09-26 Seth Nickell <seth@gnome.org>
2947 * python/examples/example-signals.py:
2949 Start implementing some notions of signals. The API
2950 is really terrible, but they sort of work (with the
2951 exception of being able to filter by service, and to
2952 transmit signals *as* a particular service). Need to
2953 figure out how to make messages come from the service
2956 * python/dbus_bindings.pyx.in:
2958 Removed duplicate message_handler callbacks.
2960 2003-09-25 Havoc Pennington <hp@redhat.com>
2962 * bus/session.conf.in: fix my mess
2964 2003-09-25 Havoc Pennington <hp@pobox.com>
2966 * bus/session.conf.in: fix security policy, reported by Seth Nickell
2968 2003-09-25 Seth Nickell <seth@gnome.org>
2970 * python/examples/example-service.py:
2972 Johan notices complete wrong code in example-service, but
2973 completely wrong in a way that works exactly the same (!).
2974 Johan is confused, how could this possibly work? Example
2975 code fails to serve purpose of making things clear.
2978 2003-09-25 Mark McLoughlin <mark@skynet.ie>
2980 * doc/dbus-specification.sgml: don't require header fields
2981 to be 4-byte aligned and specify that fields should be
2982 distinguished from padding by the fact that zero is not
2985 * doc/TODO: remove re-alignment item and add item to doc
2986 the OBJECT_PATH type.
2988 * dbus/dbus-message.c:
2989 (HeaderField): rename the original member to value_offset
2990 and introduce a name_offset member to keep track of where
2991 the field actually begins.
2992 (adjust_field_offsets): remove.
2993 (append_int_field), (append_uint_field),
2994 (append_string_field): don't align the start of the header
2995 field to a 4-byte boundary.
2996 (get_next_field): impl finding the next marhsalled field
2997 after a given field.
2998 (re_align_field_recurse): impl re-aligning a number of
2999 already marshalled fields.
3000 (delete_field): impl deleting a field of any type and
3001 re-aligning any following fields.
3002 (delete_int_or_uint_field), (delete_string_field): remove.
3003 (set_int_field), (set_uint_field): no need to re-check
3004 that we have the correct type for the field.
3005 (set_string_field): ditto and impl re-aligning any
3007 (decode_header_data): update to take into account that
3008 the fields aren't 4-byte aligned any more and the new
3009 way to distinguish padding from header fields. Also,
3010 don't exit when there is too much header padding.
3011 (process_test_subdir): print the directory.
3012 (_dbus_message_test): add test to make sure a following
3013 field is re-aligned correctly after field deletion.
3015 * dbus/dbus-string.[ch]:
3016 (_dbus_string_insert_bytes): rename from insert_byte and
3017 allow the insert of multiple bytes.
3018 (_dbus_string_test): test inserting multiple bytes.
3020 * dbus/dbus-marshal.c: (_dbus_marshal_set_string): add
3021 warning note to docs about having to re-align any
3022 marshalled values following the string.
3024 * dbus/dbus-message-builder.c:
3025 (append_string_field), (_dbus_message_data_load):
3026 don't align the header field.
3028 * dbus/dbus-auth.c: (process_test_subdir): print the
3031 * test/break-loader.c: (randomly_add_one_byte): upd. for
3034 * test/data/invalid-messages/bad-header-field-alignment.message:
3037 * test/data/valid-messages/unknown-header-field.message: shove
3038 a dict in the unknown field.
3040 2003-09-25 Seth Nickell <seth@gnome.org>
3043 * python/dbus_bindings.pyx.in:
3045 Handle return values.
3047 * python/examples/example-client.py:
3048 * python/examples/example-service.py:
3050 Pass back return values from the service to the client.
3052 2003-09-24 Seth Nickell <seth@gnome.org>
3056 Connect Object methods (when you are sharing an object) up... pass
3057 in a list of methods to be shared. Sharing all the methods just
3058 worked out too weird. You can now create nice Services over the
3061 * python/dbus_bindings.pyx.in:
3063 Keep references to user_data tuples passed into C functions so
3064 Python doesn't garbage collect on us.
3066 Implement MethodReturn and Error subclasses of Message for creating
3067 DBusMessage's of those types.
3069 * python/examples/example-client.py:
3070 * python/examples/example-service.py:
3072 Simple example code showing both how create DBus services and objects,
3073 and how to use them.
3075 2003-09-23 Havoc Pennington <hp@pobox.com>
3077 * glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement
3079 2003-09-23 Havoc Pennington <hp@redhat.com>
3081 * glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement
3082 (dbus_gproxy_disconnect_signal): implement
3083 (dbus_gproxy_manager_remove_signal_match): implement
3084 (dbus_gproxy_manager_add_signal_match): implement
3085 (dbus_gproxy_oneway_call): implement
3087 2003-09-23 Havoc Pennington <hp@pobox.com>
3089 * glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject
3090 subclass. This means dropping the transparent thread safety of the
3091 proxy; you now need a separate proxy per-thread, or your own
3092 locking on the proxy. Probably right anyway.
3093 (dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref
3095 2003-09-22 Havoc Pennington <hp@redhat.com>
3097 * glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement
3099 2003-09-21 Seth Nickell <seth@gnome.org>
3101 First checkin of the Python bindings.
3103 * python/.cvsignore:
3104 * python/Makefile.am:
3105 * python/dbus_bindings.pyx.in:
3106 * python/dbus_h_wrapper.h:
3108 Pieces for Pyrex to operate on, building a dbus_bindings.so
3109 python module for low-level access to the DBus APIs.
3113 High-level Python module for accessing DBus objects.
3118 Build stuff for the python bindings.
3122 Extra macro needed for finding the Python C header files.
3124 2003-09-21 Havoc Pennington <hp@pobox.com>
3126 * glib/dbus-gproxy.c (dbus_gproxy_manager_new): start
3127 implementing the proxy manager, didn't get very far.
3129 * dbus/dbus-bus.c (dbus_bus_add_match): new
3130 (dbus_bus_remove_match): new
3132 * glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a
3133 path_name argument; adjust the other not-yet-implemented
3134 gproxy constructors to be what I think they should be.
3136 2003-09-21 Havoc Pennington <hp@pobox.com>
3138 * dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE
3139 by default for message bus connections.
3141 * dbus/dbus-connection.c (dbus_connection_dispatch): exit if
3142 exit_on_disconnect flag is set and we process the disconnected
3144 (dbus_connection_set_exit_on_disconnect): new function
3146 2003-09-21 Havoc Pennington <hp@pobox.com>
3148 Get matching rules mostly working in the bus; only actually
3149 parsing the rule text remains. However, the client side of
3150 "signal connections" hasn't been started, this patch is only the
3153 * dbus/dispatch.c: fix for the matching rules changes
3155 * bus/driver.c (bus_driver_handle_remove_match)
3156 (bus_driver_handle_add_match): send an ack reply from these
3159 * glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of
3160 arguments, reported by Seth Nickell
3162 * bus/config-parser.c (append_rule_from_element): support
3163 eavesdrop=true|false attribute on policies so match rules
3164 can be prevented from snooping on the system bus.
3166 * bus/dbus-daemon-1.1.in: consistently use terminology "sender"
3167 and "destination" in attribute names; fix some docs bugs;
3168 add eavesdrop=true|false attribute
3170 * bus/driver.c (bus_driver_handle_add_match)
3171 (bus_driver_handle_remove_match): handle AddMatch, RemoveMatch
3174 * dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get
3175 rid of broadcast service concept, signals are just always broadcast
3177 * bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c:
3178 mostly implement matching rules stuff (currently only exposed as signal
3181 2003-09-21 Mark McLoughlin <mark@skynet.ie>
3183 * doc/dbus-specification.sgml: Change the header field name
3184 to be an enum and update the rest of the spec to reference
3185 the fields using the conventinal name.
3187 * dbus/dbus-protocol.h: update to reflect the spec.
3189 * doc/TODO: add item to remove the 4 byte alignment requirement.
3191 * dbus/dbus-message.c: Remove the code to generalise the
3192 header/body length and serial number header fields as named
3193 header fields so we can reference field names using the
3195 (append_int_field), (append_uint_field), (append_string_field):
3196 Append the field name as a byte rather than four chars.
3197 (delete_int_or_uint_field), (delete_string_field): reflect the
3198 fact that the field name and typecode now occupy 4 bytes instead
3200 (decode_string_field), (decode_header_data): update to reflect
3201 protocol changes and move the field specific encoding from
3202 decode_string_field() back into decode_header_data().
3204 * dbus/dbus-internals.[ch]: (_dbus_header_field_to_string):
3205 Add utility to aid debugging.
3207 * dbus/dbus-message-builder.c:
3208 (append_string_field), (_dbus_message_data_load): Update to
3209 reflect protocol changes; Change the FIELD_NAME directive
3210 to HEADER_FIELD and allow it to take the field's conventional
3211 name rather than the actual value.
3213 * test/data/*/*.message: Update to use HEADER_FIELD instead
3214 of FIELD_NAME; Always align the header on an 8 byte boundary
3215 *before* updating the header length.
3217 2003-09-15 Havoc Pennington <hp@pobox.com>
3219 * dbus/dbus-pending-call.c: add the get/set object data
3220 boilerplate as for DBusConnection, etc. Use generic object data
3221 for the notify callback.
3223 * glib/dbus-gparser.c (parse_node): parse child nodes
3225 * tools/dbus-viewer.c: more hacking on the dbus-viewer
3227 * glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to
3228 contain functions shared between the convenience lib and the
3231 * glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add
3232 -export-symbols-regex to the GLib library
3234 * dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock):
3235 fix the locking in here, and add a default handler for
3236 Introspect() that just returns sub-nodes.
3238 2003-09-14 Havoc Pennington <hp@pobox.com>
3240 * glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo
3241 rather than gfoo consistent
3243 * glib/dbus-gproxy.h: delete for now, move contents to
3244 dbus-glib.h, because the include files don't work right since we
3245 aren't in the dbus/ subdir.
3247 * glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing
3248 (dbus_gproxy_end_call): finish
3249 (dbus_gproxy_begin_call): finish
3251 * glib/dbus-gmain.c (dbus_set_g_error): new
3253 * glib/dbus-gobject.c (handle_introspect): include information
3254 about child nodes in the introspection
3256 * dbus/dbus-connection.c (dbus_connection_list_registered): new
3257 function to help in implementation of introspection
3259 * dbus/dbus-object-tree.c
3260 (_dbus_object_tree_list_registered_and_unlock): new function
3262 2003-09-12 Havoc Pennington <hp@pobox.com>
3264 * glib/dbus-gidl.h: add common base class for all the foo_info
3267 * tools/dbus-viewer.c: add GTK-based introspection UI thingy
3270 * test/Makefile.am: try test srcdir -ef . in addition to test
3271 srcdir = ., one of them should work (yeah lame)
3273 * glib/Makefile.am: build the "idl" parser stuff as a convenience
3276 * glib/dbus-gparser.h: make description_load routines return
3277 NodeInfo* not Parser*
3279 * Makefile.am (SUBDIRS): build test dir after all library dirs
3281 * configure.in: add GTK+ detection
3283 2003-09-07 Havoc Pennington <hp@pobox.com>
3285 * Make Doxygen contented.
3287 2003-09-07 Havoc Pennington <hp@pobox.com>
3289 * doc/dbus-specification.sgml: more updates
3291 2003-09-06 Havoc Pennington <hp@pobox.com>
3293 * doc/dbus-specification.sgml: partial updates
3295 * bus/dbus-daemon-1.1.in: fix the config file docs for the
3296 zillionth time; hopefully I edited the right file this time.
3298 * bus/config-parser.c (append_rule_from_element): support
3299 send_type, send_path, receive_type, receive_path
3301 * bus/policy.c: add message type and path to the list of things
3302 that can be "firewalled"
3304 2003-09-06 Havoc Pennington <hp@pobox.com>
3306 * dbus/dbus-connection.c (dbus_connection_register_fallback): add this
3307 (dbus_connection_register_object_path): make this not handle
3308 messages to paths below the given path
3310 2003-09-03 Havoc Pennington <hp@pobox.com>
3312 * test/glib/Makefile.am: add this with random glib-linked test
3315 * glib/Makefile.am: remove the random test programs from here,
3316 leave only the unit tests
3318 * glib/dbus-gobject.c (_dbus_gobject_test): add test for
3319 uscore/javacaps conversion, and fix
3320 (get_object_property, set_object_property): change to .NET
3321 convention for mapping props to methods, set_FooBar/get_FooBar,
3322 since one language has such a convention we may as well copy it.
3323 Plus real methods in either getFooBar or get_foo_bar style won't
3324 collide with this convention.
3326 2003-09-01 Havoc Pennington <hp@pobox.com>
3328 * glib/dbus-gparser.c: implement
3330 * glib/dbus-gobject.c: start implementing skeletons support
3332 * configure.in: when disabling checks/assert, also define
3333 G_DISABLE_ASSERT and G_DISABLE_CHECKS
3335 2003-09-01 Havoc Pennington <hp@pobox.com>
3337 * glib/Makefile.am: rearrange a bunch of files and get "make
3338 check" framework set up
3340 2003-08-31 Havoc Pennington <hp@pobox.com>
3342 * fix build with --disable-tests
3344 2003-08-30 Havoc Pennington <hp@pobox.com>
3346 * dbus/dbus-connection.c: purge DBusMessageHandler
3348 * dbus/dbus-message-handler.c: remove DBusMessageHandler, just
3349 use callbacks everywhere
3351 2003-08-30 Havoc Pennington <hp@pobox.com>
3353 * test/data/valid-config-files/system.d/test.conf: change to
3354 root for the user so warnings don't get printed
3356 * dbus/dbus-message.c: add dbus_message_get_path,
3357 dbus_message_set_path
3359 * dbus/dbus-object-tree.c (do_test_dispatch): add test of
3360 dispatching to a path
3362 * dbus/dbus-string.c (_dbus_string_validate_path): add
3364 * dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement
3365 (_dbus_marshal_object_path): implement
3367 * dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field
3368 to contain the path to the target object
3369 (DBUS_HEADER_FIELD_SENDER_SERVICE): rename
3370 DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service
3372 2003-08-30 Havoc Pennington <hp@pobox.com>
3374 * dbus/dbus-object-tree.c: write tests and fix the discovered bugs
3376 2003-08-29 Havoc Pennington <hp@pobox.com>
3378 * dbus/dbus-object-tree.c: modify to allow overlapping paths to be
3380 (struct DBusObjectSubtree): shrink this
3381 a lot, since we may have a lot of them
3382 (_dbus_object_tree_free_all_unlocked): implement
3383 (_dbus_object_tree_dispatch_and_unlock): implement
3385 2003-08-29 Havoc Pennington <hp@pobox.com>
3387 * dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS
3389 2003-08-28 Havoc Pennington <hp@pobox.com>
3393 * dbus/dbus-connection.c: port to no ObjectID, create a
3394 DBusObjectTree, rename ObjectTree to ObjectPath in public API
3396 * dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete
3397 everything except UnregisterFunction and MessageFunction
3399 * dbus/dbus-marshal.c: port away from DBusObjectID,
3400 add DBUS_TYPE_OBJECT_PATH
3402 * dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc],
3403 dbus/dbus-objectid.[hc]: remove these, we are moving to
3404 path-based object IDs
3406 2003-08-25 Havoc Pennington <hp@pobox.com>
3408 Just noticed that dbus_message_test is hosed, I wonder when I
3409 broke that. I thought make check was passing earlier...
3411 * dbus/dbus-object-tree.c: add new "object tree" to match DCOP
3412 container tree, will replace most of dbus-object-registry
3414 * dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99
3417 2003-08-19 Havoc Pennington <hp@pobox.com>
3419 * dbus/dbus-message.c (decode_string_field): support FIELD_SENDER
3420 (dbus_message_is_error): fix this function
3422 * bus/dbus-daemon-1.1: clarify logic on when <deny>/<allow> rules
3425 * bus/policy.c (bus_client_policy_check_can_receive): fix code to
3426 reflect clarified man page
3427 (bus_client_policy_check_can_send): ditto
3429 * bus/session.conf.in: fixup
3431 * bus/system.conf.in: fixup
3433 2003-08-18 Havoc Pennington <hp@redhat.com>
3435 * dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix
3437 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
3438 dumb bug created earlier (wrong order of args to
3439 decode_header_data())
3441 * tools/dbus-send.c: port
3443 * tools/dbus-print-message.c (print_message): port
3445 * test/data/*messages: port all messages over
3447 * dbus/dbus-message-builder.c: support including
3450 * bus/driver.c: port over
3452 * bus/dispatch.c: port over to new stuff
3454 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
3455 rename disconnect signal to "Disconnected"
3457 2003-08-17 Havoc Pennington <hp@pobox.com>
3459 This doesn't compile yet, but syncing up so I can hack on it from
3460 work. What are branches for if not broken code? ;-)
3462 * dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add
3463 DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER,
3464 DBUS_HEADER_FIELD_ERROR_NAME
3466 * dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use
3467 for the interface+member pairs
3468 (string_hash): change to use g_str_hash algorithm
3469 (find_direct_function, find_string_function): refactor these to
3472 * dbus/dbus-message.c: port all of this over to support
3473 interface/member fields instead of name field
3475 * dbus/dbus-object-registry.c: port over
3477 * dbus/dbus-string.c (_dbus_string_validate_interface): rename
3478 from _dbus_string_validate_name
3480 * bus/dbus-daemon-1.1: change file format for the
3481 <deny>/<allow> stuff to match new message naming scheme
3483 * bus/policy.c: port over
3485 * bus/config-parser.c: parse new format
3487 2003-08-16 Havoc Pennington <hp@pobox.com>
3489 * dbus/dbus-object-registry.c (add_and_remove_objects): remove
3492 * glib/dbus-gproxy.c: some hacking
3494 2003-08-15 Havoc Pennington <hp@redhat.com>
3496 * dbus/dbus-pending-call.c (dbus_pending_call_block): implement
3498 * dbus/dbus-connection.c
3499 (dbus_connection_send_with_reply_and_block): factor out internals;
3500 change to convert any error replies to DBusError instead of
3501 returning them as a message
3503 2003-08-15 Havoc Pennington <hp@pobox.com>
3505 * dbus/dbus-connection.c,
3506 dbus/dbus-pending-call.c: Finish the pending call stuff
3508 2003-08-14 Havoc Pennington <hp@redhat.com>
3510 * dbus/dbus-pending-call.c: start on new object that will replace
3511 DBusMessageHandler and ReplyHandlerData for tracking outstanding
3514 * dbus/dbus-gproxy.c: start on proxy object used to communicate
3515 with remote interfaces
3517 * dbus/dbus-gidl.c: do the boring boilerplate in here
3519 2003-08-12 Havoc Pennington <hp@pobox.com>
3521 * bus/dispatch.c (bus_dispatch): make this return proper
3522 DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD
3524 * dbus/dbus-errors.c (dbus_set_error): use
3525 _dbus_string_append_printf_valist
3527 * dbus/dbus-string.c (_dbus_string_append_printf_valist)
3528 (_dbus_string_append_printf): new
3530 * dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to
3533 * dbus/dbus-connection.c (dbus_connection_dispatch): handle
3534 DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a
3535 message is unhandled.
3537 2003-08-11 Havoc Pennington <hp@pobox.com>
3539 * bus/test.c (client_disconnect_handler): change to return
3540 HANDLED (would have been REMOVE_MESSAGE)
3542 * dbus/dbus-object.h (enum DBusHandlerResult): rename to
3543 HANDLED/NOT_YET_HANDLED instead of
3544 REMOVE_MESSAGE/ALLOW_MORE_HANDLERS to make it clearer how it
3547 2003-08-10 Havoc Pennington <hp@pobox.com>
3549 * tools/dbus-send.c (main): add --type argument, for now
3550 supporting only method_call and signal types.
3552 * tools/dbus-print-message.c: print message type
3554 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
3555 init connection->objects
3557 * doc/dbus-specification.sgml: fix sgml
3559 * bus/*.c: port over to object-instance API changes
3561 * test/test-service.c: ditto
3563 * dbus/dbus-message.c (dbus_message_create_header): allow #NULL
3564 name, we will have to fix up the rest of the code to also handle
3566 (dbus_message_new): generic message-creation call
3567 (set_string_field): allow appending name field
3569 2003-08-06 Havoc Pennington <hp@pobox.com>
3571 * dbus/dbus-object-registry.c: implement signal connection
3574 * dbus/dbus-connection.c (_dbus_connection_unref_unlocked): new
3576 * dbus/dbus-internals.c (_dbus_memdup): new function
3578 2003-08-02 Havoc Pennington <hp@pobox.com>
3580 * dbus/dbus-message.c (dbus_message_get_no_reply)
3581 (dbus_message_set_no_reply): add these and remove
3582 set_is_error/get_is_error
3584 * dbus/dbus-protocol.h, doc/dbus-specification.sgml:
3585 remove the ERROR flag, since there's now an ERROR type
3587 2003-08-01 Havoc Pennington <hp@pobox.com>
3589 * dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock):
3592 * dbus/dbus-message.c (dbus_message_get_type): new function
3594 * doc/dbus-specification.sgml: add "type" byte to messages
3596 2003-08-01 Havoc Pennington <hp@pobox.com>
3598 * dbus/dbus-protocol.h (DBUS_MESSAGE_TYPE_*): introduce
3599 a message type enum to distinguish kinds of message
3600 (DBUS_HEADER_FLAG_NO_REPLY_EXPECTED): flag for a message
3601 that need not be replied to
3603 2003-08-01 Havoc Pennington <hp@pobox.com>
3605 * dbus/dbus-marshal.c: adapt to DBusObjectID changes
3606 (unpack_8_octets): fix no-64-bit-int bug
3608 * dbus/dbus-object-registry.c (validate_id): validate the
3609 connection ID bits, not just the instance ID.
3611 * dbus/dbus-connection.c (_dbus_connection_init_id): initialize
3612 the connection-global 33 bits of the object ID
3614 * dbus/dbus-object-registry.c (info_from_entry): fill in
3615 object ID in the new way
3617 * dbus/dbus-objectid.h: rather than high/low bits, specifically
3618 define server/client/instance bits.
3620 2003-07-30 Havoc Pennington <hp@pobox.com>
3622 * dbus/dbus-connection.c (dbus_connection_register_object): fix
3625 2003-07-13 Havoc Pennington <hp@pobox.com>
3627 * dbus/dbus-object.h (struct DBusObjectVTable): add padding
3628 fields to DBusObjectVTable and DBusObjectInfo
3630 2003-07-12 Havoc Pennington <hp@pobox.com>
3632 * dbus/dbus-object-registry.c: implement unit test,
3633 fix bugs discovered in process
3635 * dbus/dbus-connection.c: remove handler_table and
3636 register_handler(), add DBusObjectRegistry usage
3638 * dbus/dbus-objectid.c (dbus_object_id_is_null)
3639 (dbus_object_id_set_null): new functions
3641 2003-07-08 Havoc Pennington <hp@pobox.com>
3643 * dbus/dbus-object.c: implement some of this
3645 * dbus/dbus-object-registry.c
3646 (_dbus_object_registry_add_and_unlock): fill in the object_id out
3648 (_dbus_object_registry_new): handle OOM
3650 2003-07-08 Havoc Pennington <hp@pobox.com>
3652 * dbus/dbus-object.h: sketch out an API for registering objects
3653 with a connection, that allows us to use as little as 24 bytes
3654 per object and lets application code represent an object in
3655 any conceivable way.
3657 * dbus/dbus-object-registry.c: implement the hard bits of the
3658 DBusConnection aspect of object API. Not yet wired up.
3660 2003-07-06 Havoc Pennington <hp@pobox.com>
3662 * dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function
3663 (_dbus_marshal_object_id): new
3664 (_dbus_demarshal_object_id): new
3665 (_dbus_marshal_get_arg_end_pos): support object ID type, and
3666 consolidate identical switch cases. Don't conditionalize handling
3667 of DBUS_TYPE_UINT64, need to handle the type always.
3668 (_dbus_marshal_validate_arg): consolidate identical cases, and
3669 handle DBUS_TYPE_OBJECT_ID
3671 * dbus/dbus-objectid.c: new file with DBusObjectID data type.
3673 * dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID
3675 2003-09-28 Havoc Pennington <hp@pobox.com>
3679 2003-09-28 Havoc Pennington <hp@pobox.com>
3681 * doc/Makefile.am (dbus-specification.html): testing a funky hack
3682 to work with Debian db2html
3684 2003-09-28 Havoc Pennington <hp@pobox.com>
3686 * configure.in: 0.13
3688 * doc/Makefile.am (dbus-test-plan.html): accept nonexistence of
3689 stylesheet-images for benefit of Debian
3691 Change back to using filesystem-linked sockets for the system
3692 bus, so only root can create the default system bus address.
3694 * bus/system.conf.in: change to use
3695 DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
3697 * dbus/Makefile.am (INCLUDES): remove DBUS_SYSTEM_BUS_PATH define
3700 * configure.in: define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
3701 here, and AC_DEFINE DBUS_SYSTEM_PATH
3703 2003-08-09 Anders Carlsson <andersca@codefactory.se>
3706 * doc/busconfig.dtd:
3709 2003-08-09 Anders Carlsson <andersca@codefactory.se>
3711 * doc/dbus-specification.sgml:
3712 Add activation reply values.
3714 2003-08-05 Havoc Pennington <hp@redhat.com>
3716 * configure.in: 0.12
3718 2003-08-05 Anders Carlsson <andersca@codefactory.se>
3720 * glib/dbus-gmain.c: (watch_fd_new), (watch_fd_ref),
3721 (watch_fd_unref), (dbus_gsource_check), (dbus_gsource_dispatch),
3722 (add_watch), (remove_watch), (create_source):
3723 Refcount fds, fixes some reentrancy issues.
3725 2003-07-30 Havoc Pennington <hp@redhat.com>
3727 * dbus/dbus-bus.c (init_connections_unlocked): fix default system
3728 bus address to be abstract if we have abstract sockets
3732 2003-07-28 Havoc Pennington <hp@redhat.com>
3734 * bus/messagebus.in: fix to avoid processname/servicename
3735 confusion, from Michael Kearey
3736 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100965
3738 2003-07-23 Havoc Pennington <hp@pobox.com>
3740 * dbus/dbus-message.c (dbus_message_iter_get_named):
3741 fix from Andy Hanton to remove broken "+1"
3743 2003-07-16 Havoc Pennington <hp@pobox.com>
3745 * tools/dbus-launch.c (babysit): close stdout/stderr in the
3746 babysitter process, as suggested by Thomas Leonard, so
3747 an "eval `dbus-launch --exit-with-session`" will actually
3750 2003-07-16 Havoc Pennington <hp@pobox.com>
3752 * configure.in: print out EXPANDED_* variables in the summary at
3753 the end; clean up the code that computes EXPANDED_ variables and
3754 get the ones using exec_prefix right. Should make things work
3755 when you build without --prefix
3757 2003-06-29 Havoc Pennington <hp@pobox.com>
3759 * mono/Test.cs (class Test): fire up a main loop and run it
3761 * mono/DBus.cs (DBus): don't g_thread_init since it can only be
3762 done once, the app has to do it
3764 2003-06-26 Havoc Pennington <hp@pobox.com>
3766 * mono/Connection.cs: set up connection with the glib main loop
3768 2003-07-01 Havoc Pennington <hp@redhat.com>
3770 * doc/dbus-specification.sgml: clarify the format of a type code,
3771 change suggested by Jim Blandy
3773 2003-06-29 Miloslav Trmac <mitr@volny.cz>
3776 * tools/Makefile.am: Don't assume srcdir == builddir.
3778 * dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
3779 the allocated block.
3780 (_dbus_memory_test): New function.
3781 * dbus/dbus-test.h: Add _dbus_memory_test ().
3782 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
3784 * dbus/dbus-message.c (decode_header_data): Use %.4s instead
3786 (dbus_message_new): Remove obsolete @todo.
3788 * dbus/dbus-marshal.c (_dbus_marshal_set_int64)
3789 (_dbus_marshal_set_uint64): Fix comment.
3791 * dbus/dbus-message.c (append_int_field, append_uint_field): Don't
3792 hardcode FIELD_REPLY_SERIAL.
3794 * dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
3795 (_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p
3797 * configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
3798 and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
3800 2003-06-24 Havoc Pennington <hp@pobox.com>
3802 * mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0)
3804 2003-06-23 Anders Carlsson <andersca@codefactory.se>
3810 * gcj/TestMessage.java: (TestMessage), (TestMessage.main):
3811 * gcj/org/.cvsignore:
3812 * gcj/org/Makefile.am:
3813 * gcj/org/freedesktop/.cvsignore:
3814 * gcj/org/freedesktop/Makefile.am:
3815 * gcj/org/freedesktop/dbus/.cvsignore:
3816 * gcj/org/freedesktop/dbus/Makefile.am:
3817 * gcj/org/freedesktop/dbus/Message.java: (Message),
3819 * gcj/org/freedesktop/dbus/natMessage.cc:
3820 Fix the build system.
3822 2003-06-22 Havoc Pennington <hp@pobox.com>
3824 * mono/Connection.cs: add more bindings
3826 * dbus/dbus-threads.c (dbus_threads_init): allow calling this
3829 2003-06-22 Havoc Pennington <hp@pobox.com>
3831 * mono/Connection.cs, mono/DBus.cs, mono/Error.cs:
3832 Start wrapping more stuff.
3834 2003-06-22 Havoc Pennington <hp@pobox.com>
3836 * mono/Message.cs: implement Message.Wrap() that ensures we only
3837 have a single C# wrapper per DBusMessage, assuming it works which
3838 it probably doesn't.
3840 * dbus/dbus-message.c (dbus_message_allocate_data_slot): new
3841 (dbus_message_free_data_slot): new
3842 (dbus_message_set_data): new
3843 (dbus_message_get_data): new
3845 2003-06-22 Havoc Pennington <hp@pobox.com>
3847 * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref)
3848 (_dbus_data_slot_allocator_alloc): rework these to keep a
3849 reference count on each slot and automatically manage a global
3850 slot ID variable passed in by address
3852 * bus/bus.c: convert to new dataslot API
3854 * dbus/dbus-bus.c: convert to new dataslot API
3856 * dbus/dbus-connection.c: convert to new dataslot API
3858 * dbus/dbus-server.c: convert to new dataslot API
3860 * glib/dbus-gmain.c: ditto
3864 * bus/connection.c: ditto
3866 2003-06-22 Anders Carlsson <andersca@codefactory.se>
3868 * configure.in: Add AM_PROG_GCJ and move AM_PROG_LIBTOOL
3869 after the gcj checks so that the correct configuration tags
3870 will be added to libtool.
3872 * dbus-glib-1.pc.in: No need to specify any includes since
3873 dbus-1.pc.in has those.
3875 2003-06-22 Havoc Pennington <hp@pobox.com>
3877 * mono/*, gcj/*, configure.in, Makefile.am:
3878 Check in makefiles and subdirs for mono and gcj bindings.
3879 Neither binding actually exists, just trying to get through
3880 all the build and other boring bits.
3882 2003-06-21 Philip Blundell <philb@gnu.org>
3884 * tools/dbus-monitor.1: Updated.
3886 * tools/dbus-send.1: Likewise.
3888 2003-06-20 Anders Carlsson <andersca@codefactory.se>
3890 * dbus/dbus-transport-unix.c (unix_handle_watch): Check
3891 for hangup and error after checking read so we won't discard
3892 pending data if both hangup and read are set.
3894 2003-06-19 Philip Blundell <philb@gnu.org>
3896 * tools/dbus-print-message.c (print_message): Handle BOOLEAN.
3898 * tools/dbus-send.c: Accept both --system and --session.
3900 * tools/dbus-monitor.c: Same here.
3902 2003-06-19 Anders Carlsson <andersca@codefactory.se>
3904 * glib/dbus-glib.h: Fix so that dbus-glib.h can be used
3905 from C++ (Patch by Miloslav Trmac).
3907 2003-06-15 Joe Shaw <joe@assbarn.com>
3909 * configure.in: Check for socklen_t.
3911 * dbus/dbus-sysdeps.c: Define socklen_t if it's not defined.
3913 * test/test-segfault.c: Add #include <sys/time.h>
3915 * tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since
3916 dbus-launch needs it.
3918 2003-06-09 Havoc Pennington <hp@redhat.com>
3920 * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use
3921 SUN_LEN, it breaks abstract socket usage
3923 * dbus/dbus-internals.c (_dbus_verbose_real): only print PID at
3926 2003-06-04 Havoc Pennington <hp@pobox.com>
3928 * dbus/dbus-server.c (dbus_server_listen): allow abstract sockets
3929 using unix:abstract=/foo, and when listening in a tmpdir
3930 i.e. unix:tmpdir=/tmp, always use abstract sockets if we can.
3932 * dbus/dbus-transport.c (_dbus_transport_open): support
3935 * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
3936 support abstract sockets
3938 * dbus/dbus-transport-unix.c
3939 (_dbus_transport_new_for_domain_socket): support abstract sockets
3941 * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract"
3942 toggle as an argument, implement abstract namespace support
3943 (_dbus_listen_unix_socket): ditto
3945 * configure.in: add --enable-abstract-sockets and implement
3946 a configure check for autodetection of the right value.
3948 2003-06-01 Havoc Pennington <hp@pobox.com>
3950 * tools/dbus-cleanup-sockets.c: add utility to clean up sockets
3951 in /tmp (though on Linux this will end up being useless,
3952 when we add abstract namespace support)
3954 * configure.in: define DBUS_SESSION_SOCKET_DIR in addition to
3957 2003-05-28 Colin Walters <walters@verbum.org>
3959 * tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/).
3961 2003-05-18 Anders Carlsson <andersca@codefactory.se>
3963 * dbus/dbus-message.c (dbus_message_new): Remove @todo.
3965 2003-05-17 Colin Walters <walters@gnu.org>
3967 * tools/dbus-send.c: Don't exit with an error code if --help was
3968 passed. Default to using the session bus instead of the system
3971 * tools/dbus-launch.c: Ditto.
3973 * tools/dbus-monitor.c: Ditto.
3975 * tools/dbus-send.1: Update with new arguments.
3977 * tools/dbus-launch.c: Emit code to export variables. New
3978 arguments -s and -c to specify shell syntax, and a bit of code to
3979 autodetect syntax. Also, allow specifying a program to run.
3981 * tools/dbus-launch.1: Update with new arguments.
3983 * tools/dbus-send.1: Ditto.
3985 * tools/dbus-monitor.1: Ditto.
3987 2003-05-17 Havoc Pennington <hp@pobox.com>
3989 * bus/config-parser.c (merge_included): merge in policies from
3990 child configuration file.
3992 * bus/policy.c (bus_policy_merge): function to merge two policies
3995 2003-05-16 Havoc Pennington <hp@redhat.com>
3997 * dbus/dbus-connection.c: disable verbose lock spew
3999 * tools/dbus-send.c: add --print-reply command line option
4001 * tools/dbus-print-message.h (print_message): new util function
4002 shared by dbus-send and dbus-monitor
4004 * tools/dbus-monitor.c (handler_func): exit on disconnect
4006 * dbus/dbus-transport-unix.c (do_reading): if the transport is
4007 disconnected, don't try to use the read_watch
4009 * dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL
4010 so we can find this bug more easily
4012 2003-05-16 Havoc Pennington <hp@redhat.com>
4014 * bus/policy.c (free_rule_list_func): avoid a crash when passed
4015 NULL as DBusHashTable is annoyingly likely to do.
4017 2003-05-16 Colin Walters <walters@verbum.org>
4019 * tools/dbus-monitor.c: Add --session argument and usage()
4022 * tools/dbus-monitor.1: Update with new --session arg.
4024 * bus/Makefile.am (install-data-hook): Create
4025 $(libdir)/dbus-1.0/services so that the session bus is happy.
4027 2003-05-15 Havoc Pennington <hp@redhat.com>
4029 * dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
4030 on non-x86. ifdef's are evil.
4032 2003-05-15 Havoc Pennington <hp@redhat.com>
4034 * configure.in: 0.11
4038 * bus/Makefile.am (initddir): apparently we are supposed to put
4039 init scripts in /etc/rc.d/init.d not /etc/init.d
4041 * bus/Makefile.am: remove the "you must --enable-tests to make
4042 check" as it broke distcheck
4044 * bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d
4046 2003-05-13 James Willcox <jwillcox@gnome.org>
4049 * bus/activation.c: (bus_activation_service_created),
4050 (bus_activation_activate_service):
4051 * bus/driver.c: (bus_driver_send_service_deleted),
4052 (bus_driver_send_service_created), (bus_driver_send_service_lost),
4053 (bus_driver_send_service_acquired),
4054 (bus_driver_send_welcome_message),
4055 (bus_driver_handle_list_services):
4056 * bus/session.conf.in:
4057 * dbus/dbus-bus.c: (dbus_bus_acquire_service),
4058 (dbus_bus_service_exists), (dbus_bus_activate_service):
4061 Add some convenience API which lets you activate a service, and did a
4062 bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args()
4063 and dbus_message_get_args()
4065 2003-05-11 Havoc Pennington <hp@pobox.com>
4067 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid
4068 calling _dbus_marshal_validate_arg() for every byte in a byte
4071 * dbus/dbus-message-handler.c: use atomic reference counting to
4072 reduce number of locks slightly; the global lock in here sucks
4074 * dbus/dbus-connection.c
4075 (_dbus_connection_update_dispatch_status_and_unlock): variant of
4076 update_dispatch_status that can be called with lock held; then use
4077 in a couple places to reduce locking/unlocking
4078 (dbus_connection_send): hold the lock over the whole function
4079 instead of acquiring it twice.
4081 * dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM
4083 * bus/connection.c (bus_connections_setup_connection): fix access
4084 to already-freed memory.
4086 * dbus/dbus-connection.c: keep a little cache of linked list
4087 nodes, to avoid using the global linked list alloc lock in the
4088 normal send-message case. Instead we just use the connection lock
4089 that we already have to take.
4091 * dbus/dbus-list.c (_dbus_list_find_last): new function
4093 * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec):
4094 change to use a struct for the atomic type; fix docs,
4095 they return value before increment, not after increment.
4097 * dbus/dbus-string.c (_dbus_string_append_4_aligned)
4098 (_dbus_string_append_8_aligned): new functions to try to
4099 microoptimize this operation.
4100 (reallocate_for_length): break this out of set_length(), to
4101 improve profile info, and also so we can consider inlining the
4104 * dbus/dbus-message.c (dbus_message_new_empty_header): init data
4105 strings with some preallocation, cuts down on our calls to realloc
4106 a fair bit. Though if we can get the "move entire string to empty
4107 string" optimization below to kick in here, it would be better.
4109 * dbus/dbus-string.c (_dbus_string_move): just call
4110 _dbus_string_move_len
4111 (_dbus_string_move_len): add a special case for moving
4112 an entire string into an empty string; we can just
4113 swap the string data instead of doing any reallocs.
4114 (_dbus_string_init_preallocated): new function
4116 2003-05-11 Havoc Pennington <hp@pobox.com>
4118 Write a "test-profile" that does echo client-server with threads;
4119 profile reveals lock contention, memcpy/realloc of buffers, and
4120 UTF-8 validation as hot spots. 20% of lock contention eliminated
4121 with dbus_atomic_inc/dec implementation on x86. Much remaining
4122 contention is global mempool locks for GList and DBusList.
4124 * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
4127 * dbus/dbus-connection.c (struct DBusConnection): use
4128 dbus_atomic_t for the reference count
4130 * dbus/dbus-message.c (struct DBusMessage): declare
4131 dbus_atomic_t values as volatile
4133 * configure.in: code to detect ability to use atomic integer
4134 operations in assembly, from GLib patch
4136 * dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
4137 time, tired of it being wrong in threads and forked processes
4139 * glib/test-profile.c: a little program to bounce messages back
4140 and forth between threads and eat CPU
4142 * dbus/dbus-connection.c: add debug spew macros for debugging
4143 thread locks; include config.h at top; fix deadlock in
4144 dbus_connection_flush()
4146 2003-05-08 Havoc Pennington <hp@pobox.com>
4148 * dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov
4149 data from getting written, and there wasn't a good reason to
4152 * test/decode-gcov.c (mark_inside_dbus_build_tests): don't count
4153 dbus_verbose lines in test coverage
4154 (main): add list of functions sorted by # of untested blocks
4155 to the coverage report
4157 * dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS
4159 * dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage
4161 * dbus/dbus-message-handler.c (_dbus_message_handler_test):
4162 extend test coverage
4164 * test/data/auth/cancel.auth-script: test canceling an
4167 * dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they
4168 aren't used. in CVS history if we end up needing them.
4170 2003-05-04 Havoc Pennington <hp@pobox.com>
4172 * dbus/dbus-message-handler.c (_dbus_message_handler_test): add
4175 * dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this
4176 function, which assumed length was in # of strings, not bytes
4178 * dbus/dbus-message.c (_dbus_message_test): add tests for some
4181 * dbus/dbus-connection.c
4182 (_dbus_connection_queue_received_message): disable function for
4183 now, we are only using it in test mode
4185 * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
4186 remove a mistaken FIXME
4188 2003-05-04 Havoc Pennington <hp@pobox.com>
4190 * dbus/dbus-connection.c (dbus_connection_preallocate_send):
4191 unlock mutex on successful return, patch from Anders Gustafsson
4193 2003-05-04 Havoc Pennington <hp@pobox.com>
4195 * dbus-glib-1.pc.in (Requires): fix dependencies, from
4198 2003-05-04 Havoc Pennington <hp@pobox.com>
4200 * tools/dbus-launch.c: implement
4202 * bus/main.c (main), bus/bus.c (bus_context_new):
4203 implement --print-pid and --fork
4205 2003-05-03 Havoc Pennington <hp@redhat.com>
4207 * dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
4208 the address had no value, and add to test suite. Fix and
4209 regression test from Miloslav Trmac
4211 2003-05-03 Havoc Pennington <hp@pobox.com>
4213 * dbus/dbus-watch.c (dbus_watch_handle): warn and return if a
4214 watch is invalid when handled
4216 * tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add
4217 dbus-launch utility to launch the bus from a shell script. Didn't
4218 actually implement dbus-launch yet, it's just a placeholder still.
4220 2003-05-03 Havoc Pennington <hp@pobox.com>
4222 * bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
4223 daemon; also documents daemon config file, so replaces
4224 doc/config-file.txt. Corrected some stuff from config-file.txt in
4225 the process of moving it.
4227 2003-05-03 Havoc Pennington <hp@pobox.com>
4229 * tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1:
4232 2003-05-03 Colin Walters <walters@verbum.org>
4234 * dbus/dbus-sysdeps.c (fill_user_info): Test against
4235 DBUS_UID_UNSET to determine whether to do a uid lookup or not.
4237 * Makefile.am: Update to use new .pc versioning scheme.
4239 2003-05-02 Havoc Pennington <hp@redhat.com>
4241 * bus/system.conf.in: allow send/receive to/from message bus
4244 2003-04-30 Havoc Pennington <hp@redhat.com>
4246 * configure.in: print a note when building with unit tests and
4249 2003-04-30 Havoc Pennington <hp@redhat.com>
4251 * Makefile.am: add a check-local that complains if you didn't
4252 configure with --enable-tests
4254 2003-04-29 Havoc Pennington <hp@redhat.com>
4256 * glib/dbus-gmain.c: docs cleanups
4258 * dbus/dbus-types.h: add docs on int64 types
4260 * dbus/dbus-memory.c: fix docs to avoid putting private API in
4261 public API docs section
4263 2003-04-29 Havoc Pennington <hp@redhat.com>
4265 * dbus-1.pc.in, dbus-glib-1.pc.in: rename these from
4266 dbus-1.0.pc.in, dbus-glib-1.0.pc.in. As these change with the
4267 parallel install API version, not with the D-BUS package version.
4269 * HACKING: move some of README over here
4271 * README: updates, and document API/ABI policy
4273 * configure.in: reindentation
4275 2003-04-29 Havoc Pennington <hp@redhat.com>
4277 * dbus/dbus.h: add "you have to define DBUS_API_SUBJECT_TO_CHANGE
4278 to use this library" to be sure people have the right
4281 2003-04-28 Havoc Pennington <hp@redhat.com>
4283 * configure.in: add --enable-docs which by default is auto yes if
4284 doxygen and db2html found, no otherwise; but can be forced on/off
4286 * doc/Makefile.am: conditionalize whether to build docs on
4289 2003-04-28 Havoc Pennington <hp@redhat.com>
4291 * configure.in: 0.10
4295 * bus/system.conf.in: add <includedir>system.d</includedir>
4297 * dbus/dbus-userdb.c (_dbus_user_database_lookup): fix bug when
4298 username was provided but not uid
4300 * bus/config-parser.c (struct BusConfigParser): keep track of
4301 whether the parser is toplevel or was included; change some
4302 of the error handling if it's included.
4304 2003-04-27 Havoc Pennington <hp@pobox.com>
4308 * dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
4309 report correct status if we finish processing authentication
4310 inside this function.
4312 * bus/activation.c (try_send_activation_failure): use
4313 bus_transaction_send_error_reply
4315 * bus/connection.c (bus_connection_get_groups): return an error
4316 explaining the problem
4318 * bus/bus.c (bus_context_check_security_policy): implement
4319 restriction here that inactive connections can only send the
4320 hello message. Also, allow bus driver to send anything to
4323 * bus/connection.c (bus_connection_complete): create the
4324 BusClientPolicy here instead of on-demand.
4325 (bus_connection_get_policy): don't return an error
4327 * dbus/dbus-message.c (dbus_message_new_error_reply): allow NULL
4328 sender field in message being replied to
4330 * bus/bus.c (bus_context_check_security_policy): fix silly typo
4331 causing it to return FALSE always
4333 * bus/policy.c (bus_client_policy_check_can_send): fix bug where
4334 we checked sender rather than destination
4336 2003-04-25 Havoc Pennington <hp@redhat.com>
4338 test suite is slightly hosed at the moment, will fix soon
4340 * bus/connection.c (bus_connections_expire_incomplete): fix to
4341 properly disable the timeout when required
4342 (bus_connection_set_name): check whether we can remove incomplete
4343 connections timeout after we complete each connection.
4345 * dbus/dbus-mainloop.c (check_timeout): fix this up a bit,
4346 probably still broken.
4348 * bus/services.c (bus_registry_acquire_service): implement max
4349 number of services owned, and honor allow/deny rules on which
4350 services a connection can own.
4352 * bus/connection.c (bus_connection_get_policy): report errors here
4354 * bus/activation.c: implement limit on number of pending
4357 2003-04-25 Havoc Pennington <hp@redhat.com>
4359 * dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug
4360 where we used >= 0 instead of != DBUS_UID_UNSET.
4362 2003-04-25 Havoc Pennington <hp@redhat.com>
4364 * glib/dbus-gmain.c (remove_watch): fix for a crash when watches
4365 were toggled without add/remove, fix from Anders Gustafsson
4367 2003-04-24 Havoc Pennington <hp@redhat.com>
4369 * test/data/valid-config-files/basic.conf: add <limit> tags to
4372 * bus/config-parser.h, bus/config-parser.c, bus/bus.c: Implement
4373 <limit> tag in configuration file.
4375 2003-04-24 Havoc Pennington <hp@redhat.com>
4377 * bus/dispatch.c: somehow missed some name_is
4379 * dbus/dbus-timeout.c (_dbus_timeout_set_enabled)
4380 (_dbus_timeout_set_interval): new
4382 * bus/connection.c (bus_connections_setup_connection): record time
4383 when each connection is first set up, and expire them after the
4384 auth timeout passes.
4386 2003-04-24 Havoc Pennington <hp@redhat.com>
4388 * dbus/dbus-message.c (dbus_message_name_is): rename
4389 (dbus_message_service_is): rename
4390 (dbus_message_sender_is): rename
4391 (dbus_message_get_service): rename
4393 2003-04-24 Havoc Pennington <hp@redhat.com>
4395 * configure.in: add --enable-checks
4397 * dbus/dbus-message.c (dbus_message_new): reverse name/service arguments
4399 * dbus/dbus-connection.c (dbus_connection_preallocate_send): fix
4400 to use thread locks.
4401 (_dbus_connection_handler_destroyed_locked): move some private
4402 functions into proper docs group
4404 * dbus/dbus-internals.h: add _dbus_return_if_fail,
4405 _dbus_return_val_if_fail
4407 Throughout: use dbus_return_if_fail
4409 2003-04-23 James Willcox <jwillcox@gnome.org>
4412 * glib/dbus-gmain.c: (add_timeout), (wakeup_main), (create_source),
4413 (dbus_connection_setup_with_g_main),
4414 (dbus_server_setup_with_g_main):
4415 * glib/test-dbus-glib.c: (main):
4416 * glib/test-thread-client.c: (main):
4417 * glib/test-thread-server.c: (new_connection_callback), (main):
4418 * tools/dbus-monitor.c: (main):
4420 Added a GMainContext argument to dbus_connection_setup_with_g_main()
4421 and dbus_server_setup_with_g_main().
4423 2003-04-20 Havoc Pennington <hp@pobox.com>
4425 * doc/dbus-specification.sgml: document the restrictions on
4426 message and service names
4428 2003-04-22 Havoc Pennington <hp@redhat.com>
4430 * dbus/dbus-message.c, dbus/dbus-marshal.c: add 64-bit integer
4431 support, and do some code cleanups to share more code and
4432 speed up array marshal/demarshal.
4434 * dbus-1.0.pc.in (Cflags): put libdir include file in cflags
4436 * configure.in: generate dbus-arch-deps.h
4438 * dbus/dbus-protocol.h (DBUS_TYPE_INT64, DBUS_TYPE_UINT64): add
4441 2003-04-22 Havoc Pennington <hp@redhat.com>
4443 * test/data/valid-messages/opposite-endian.message: fix test
4444 to use proper type for rply field
4446 * test/data/invalid-messages: add tests for below validation
4448 * dbus/dbus-message.c (decode_header_data): validate field types,
4449 and validate that named fields are valid names
4450 (decode_name_field): consider messages in the
4451 org.freedesktop.Local. namespace to be invalid.
4453 * dbus/dbus-string.c (_dbus_string_validate_name): new
4455 2003-04-19 Havoc Pennington <hp@pobox.com>
4457 * bus/driver.c (bus_driver_handle_hello): check limits and
4458 return an error if they are exceeded.
4460 * bus/connection.c: maintain separate lists of active and inactive
4461 connections, and a count of each. Maintain count of completed
4462 connections per user. Implement code to check connection limits.
4464 * dbus/dbus-list.c (_dbus_list_unlink): export
4466 * bus/bus.c (bus_context_check_security_policy): enforce a maximum
4467 number of bytes in the message queue for a connection
4469 2003-04-18 Havoc Pennington <hp@pobox.com>
4471 * dbus/dbus-auth.c (record_mechanisms): memleak fixes
4473 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): fix some
4476 * dbus/dbus-keyring.c (add_new_key): fix a memleak, and
4477 on realloc be sure to update the pointer in the keyring
4479 * dbus/dbus-string.c (_dbus_string_zero): compensate for align
4480 offset to avoid writing to unallocated memory
4482 * dbus/dbus-auth.c (process_rejected): return FALSE if we fail to
4483 try the next mechanism, so we properly handle OOM
4485 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): fix double-free
4487 (_dbus_keyring_new): fix OOM bug
4488 (_dbus_keyring_new_homedir): always set error; impose a maximum
4489 number of keys we'll load from the file, mostly to speed up the
4490 test suite and make its OOM checks more useful, but also for
4493 * dbus/dbus-auth.c (process_error_server): reject authentication
4494 if we get an error from the client
4495 (process_cancel): on cancel, send REJECTED, per the spec
4496 (process_error_client): send CANCEL if we get an error from the
4499 2003-04-18 Havoc Pennington <hp@pobox.com>
4501 * dbus/dbus-mainloop.c (_dbus_loop_iterate): fix UMR in verbose
4504 * dbus/dbus-auth.c (handle_client_data_cookie_sha1_mech): fix OOM
4507 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): only whine
4508 about DBUS_TEST_HOMEDIR once
4510 * bus/Makefile.am (TESTS_ENVIRONMENT): put DBUS_TEST_HOMEDIR in
4513 * bus/dispatch.c (bus_dispatch_sha1_test): actually load sha1
4514 config file so we test the right thing
4516 Throughout: assorted docs improvements
4518 2003-04-18 Havoc Pennington <hp@pobox.com>
4520 * glib/dbus-gmain.c: adapt to watch changes
4522 * bus/bus.c, bus/activation.c, etc.: adjust to watch changes
4524 * dbus/dbus-server.h: remove dbus_server_handle_watch
4526 * dbus/dbus-connection.h: remove dbus_connection_handle_watch
4528 * dbus/dbus-watch.c (dbus_watch_handle): change DBusWatch to work
4529 like DBusTimeout, so we don't need dbus_connection_handle_watch
4532 2003-04-17 Havoc Pennington <hp@redhat.com>
4534 * dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd
4535 database usage so it all goes via the DBusUserDatabase cache.
4537 2003-04-17 Havoc Pennington <hp@redhat.com>
4539 * dbus/dbus-mainloop.c (_dbus_loop_iterate): fix logic so that if
4540 there was an OOM watch we skipped, we always return TRUE so we
4541 iterate again to have a look at it again. Fixes test suite hang.
4542 Code rearrangement also lets us lose some memset and only iterate
4543 over callbacks once.
4545 * bus/driver.c (bus_driver_handle_message): sense of test for
4548 2003-04-16 Havoc Pennington <hp@pobox.com>
4550 * doc/dbus-specification.sgml: make spec say serials are unsigned
4552 * dbus/dbus-message.h: change message serials to unsigned
4554 * dbus/dbus-connection.c: adapt to message serials being unsigned
4556 2003-04-15 Havoc Pennington <hp@pobox.com>
4558 * bus/bus.c: create and keep around a shared DBusUserDatabase
4561 * bus/connection.c (bus_connection_get_groups): don't cache
4562 groups for user in the connection object, since user database
4563 object now does that.
4565 2003-04-16 Havoc Pennington <hp@redhat.com>
4567 * dbus/dbus-message.c (_dbus_message_add_size_counter): keep a
4568 list of size counters
4569 (_dbus_message_loader_putback_message_link): put back a popped link
4571 * dbus/dbus-connection.c
4572 (dbus_connection_set_max_live_messages_size): rename
4574 (dbus_connection_get_outgoing_size): get size of outgoing
4576 (_dbus_connection_set_connection_counter): remove this cruft
4578 2003-04-14 Havoc Pennington <hp@redhat.com>
4580 * dbus/dbus-userdb.c: user database abstraction, mostly to get
4581 caching, but at some point we might want to be able to use a
4584 * bus/dispatch.c (bus_dispatch_sha1_test): add a test that uses
4585 SHA1 conf file to test the sha1 auth mechanism, since the regular
4586 test always uses EXTERNAL when available.
4589 test/data/valid-config-files/debug-allow-all-sha1.conf.in:
4590 add conf file that requires use of sha1 auth
4592 2003-04-13 Havoc Pennington <hp@pobox.com>
4594 * tools/dbus-send.c, tools/dbus-monitor.c: two utility programs
4595 from Philip Blundell to send messages and monitor them.
4597 2003-04-13 Havoc Pennington <hp@pobox.com>
4599 * dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting
4602 * test/data/valid-config-files/debug-allow-all.conf.in: allow all
4605 * dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
4606 fix to only recover unused bytes if we're already authenticated
4607 (_dbus_transport_get_is_authenticated): fix to still mark us
4608 authenticated if there are unused bytes.
4610 * bus/dispatch.c: implement security policy checking
4612 * bus/connection.c (bus_transaction_send_from_driver): new
4614 * bus/bus.c (bus_context_check_security_policy): new
4616 * bus/dispatch.c (send_service_nonexistent_error): delete this,
4617 now we just set the DBusError and it gets converted to an error
4620 * bus/connection.c (allow_user_function): enable code using actual
4621 data from the config file
4623 * bus/policy.c (list_allows_user): handle wildcard rules for
4624 user/group connection perms
4626 2003-04-13 Havoc Pennington <hp@pobox.com>
4628 * bus/config-parser.c: Load up the BusPolicy and BusPolicyRules
4630 * dbus/dbus-sysdeps.c (_dbus_get_user_id): new function
4632 * bus/policy.c (bus_policy_append_mandatory_rule)
4633 (bus_policy_append_default_rule, bus_policy_append_user_rule)
4634 (bus_policy_append_group_rule): new functions
4636 2003-04-12 Havoc Pennington <hp@pobox.com>
4638 * bus/config-parser.c (bus_config_parser_new): fix a memleak
4640 * dbus/dbus-sysdeps.c: change DBusCredentials to use longs for
4641 the pid/gid/uid, just for paranoia.
4643 * test/break-loader.c (randomly_do_n_things): find a byte
4644 containing a type code, and randomly change it to a different
4647 2003-04-12 Havoc Pennington <hp@pobox.com>
4649 * bus/policy.h: change BusPolicy to be the thing from the config
4650 file, and rename old BusPolicy to BusClientPolicy
4652 * bus/bus.c, bus/connection.c, bus/config-parser.c: change to
4653 match change in how policy works
4655 * dbus/dbus-internals.h: mark assert_not_reached as
4656 __attribute((noreturn))__
4658 2003-04-11 Havoc Pennington <hp@redhat.com>
4660 * doc/dbus-specification.sgml: fix a spot with the wrong name for
4661 the broadcast service. Use boolean return for ServiceExists.
4663 2003-04-11 Havoc Pennington <hp@redhat.com>
4665 * configure.in: add another directory to look for qt in.
4667 2003-04-11 Havoc Pennington <hp@redhat.com>
4669 * AUTHORS: add Colin Walters
4671 2003-04-11 Havoc Pennington <hp@redhat.com>
4677 2003-04-11 Havoc Pennington <hp@redhat.com>
4679 * bus/messagebus.in: remove pid file when stopping the
4680 message bus, since the bus won't have privileges to remove it
4683 2003-04-11 Havoc Pennington <hp@redhat.com>
4685 * bus/bus.c (bus_context_new): move credentials change after
4688 2003-04-11 Havoc Pennington <hp@pobox.com>
4690 * test/decode-gcov.c: add "below average functions" to the
4691 coverage report, and change how some of the code works.
4693 * bus/test-main.c: bracket some stuff in DBUS_BUILD_TESTS so it's
4694 not in the coverage stats.
4696 * test/test-service.c (main): use _dbus_verbose not fprintf in a
4697 couple places so running the test suite doesn't result in megaspam.
4699 2003-04-11 Havoc Pennington <hp@pobox.com>
4701 * bus/dispatch.c (check_existent_service_activation): accept a no
4702 memory error in a place we didn't before
4704 * bus/test.c (bus_test_run_everything): remove hacky "do it twice
4705 in case the first one failed," since the test suite is less
4708 2003-04-10 Havoc Pennington <hp@pobox.com>
4710 * bus/dispatch.c (check_segfault_service_activation): add test
4711 for launching an executable that just crashes.
4713 * test/test-segfault.c (main): try setting coredumpsize to 0 so we
4714 don't leave a million cores. We'll see how portable this is.
4716 2003-04-10 Havoc Pennington <hp@pobox.com>
4718 * dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all
4719 the possible parent failures before we fork, so that we don't
4720 fail to create a babysitter after creating the child.
4722 * bus/activation.c (bus_activation_activate_service): kill child
4723 if we don't successfully complete the activation.
4725 2003-04-10 Havoc Pennington <hp@redhat.com>
4727 * dbus/dbus-connection.c (dbus_connection_flush): don't spin on
4728 the connection if it's disconnected
4730 * bus/activation.c (bus_activation_service_created): use new
4731 transaction features to roll back removal of pending activation if
4732 we don't successfully create the service after all. Don't remove
4733 pending activation if the function fails.
4735 * dbus/dbus-list.c (_dbus_list_insert_before_link)
4736 (_dbus_list_insert_after_link): new code to facilitate
4739 * dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated):
4740 new functionality, so we can preallocate the ability to insert
4743 * bus/connection.c (bus_transaction_add_cancel_hook): new function
4744 allowing us to put custom hooks in a transaction to be used for
4745 cancelling said transaction
4747 * doc/dbus-specification.sgml: add some discussion of secondary
4748 service owners, and disallow zero-length service names
4750 * bus/services.c (bus_registry_acquire_service): new function,
4751 splits out part of bus_driver_handle_acquire_service() and fixes
4752 a bug where we didn't remove the service doing the acquiring
4753 from the secondary queue if we failed to remove the current owner
4754 from the front of the queue.
4756 2003-04-10 Alexander Larsson <alexl@redhat.com>
4758 * doc/dbus-specification.sgml:
4759 s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/
4761 2003-04-10 Alexander Larsson <alexl@redhat.com>
4766 Added files to cvsignore
4768 * dbus/dbus-message.h:
4769 * dbus/dbus-message.c: (dbus_message_iter_get_named):
4770 Make get_named() take two out argument and return a boolean.
4771 (dbus_message_iter_get_args_valist):
4772 Update usage of get_named().
4773 (dbus_message_iter_append_byte):
4775 (dbus_message_iter_append_named)
4777 (message_iter_test), (check_message_handling_type), (_dbus_message_test):
4780 2003-04-10 Alexander Larsson <alexl@redhat.com>
4782 * dbus/dbus-marshal.[ch]:
4783 Add array_type_pos argument to _dbus_marshal_validate_arg.
4784 Let you pass a NULL end_pos to _dbus_marshal_validate_type.
4786 * dbus/dbus-message.[ch]:
4787 Multi-dimensional arrays have full type specification in the
4788 outermost array. Iter code re-arranged to handle this.
4789 Added some more iter tests.
4791 * doc/dbus-specification.sgml:
4794 Update new array encoding description.
4795 Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description.
4797 * test/data/invalid-messages/array-with-mixed-types.message:
4798 * test/data/valid-messages/array-of-array-of-uint32.message:
4799 Change to the new array format.
4801 * test/data/invalid-messages/too-short-dict.message:
4804 * test/data/valid-messages/recursive-types.message:
4805 Fix up and extend test.
4807 2003-04-10 Havoc Pennington <hp@pobox.com>
4809 * bus/dispatch.c: lots of fixes
4811 * dbus/dbus-mainloop.c (_dbus_loop_dispatch): export
4812 (_dbus_loop_iterate): remove old "quit if no callbacks" code,
4813 that was crack, broke the test service.
4815 * dbus/dbus-transport.c (_dbus_transport_open): fix error
4816 handling to avoid piling up errors if we get a failure on the
4819 * dbus/dbus-internals.c (_dbus_real_assert_not_reached): include
4820 pid in assertion failures.
4822 * dbus/dbus-mainloop.c (_dbus_loop_iterate): use static arrays up
4823 to some fixed size of file descriptor array. Don't return TRUE
4824 anytime a timeout exists, that led to lots of busy loop silliness
4827 2003-04-09 Havoc Pennington <hp@redhat.com>
4829 * dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought
4830 I'd checked this in earlier but hadn't.
4832 2003-04-09 Havoc Pennington <hp@redhat.com>
4834 * bus/dispatch.c (bus_dispatch_test): get a bit further through
4835 the activation test (man this is getting old!)
4837 2003-04-09 Havoc Pennington <hp@redhat.com>
4839 * test/test-utils.c: use dispatch status function to fix this up
4841 * bus/connection.c (connection_watch_callback): don't dispatch
4843 (connection_timeout_callback): don't dispatch from here
4844 (bus_connections_setup_connection): set the dispatch status function
4845 (bus_connection_disconnected): unset it
4847 * dbus/dbus-mainloop.c (_dbus_loop_queue_dispatch): new function
4848 used to add a connection to be dispatched
4849 (_dbus_loop_iterate): do the dispatching at the end of each
4852 * dbus/dbus-connection.c
4853 (dbus_connection_set_dispatch_status_function): new function
4854 allowing us to fix up main loop usage
4855 (_dbus_connection_last_unref): free all the various function
4857 (dbus_connection_dispatch): call the DispatchStatusFunction
4858 whenever this function returns
4859 (dbus_connection_handle_watch): call DispatchStatusFunction
4860 (dbus_connection_send_with_reply_and_block): call DispatchStatusFunction
4861 (reply_handler_timeout): call DispatchStatusFunction
4862 (dbus_connection_flush): call DispatchStatusFunction
4864 2003-04-09 Havoc Pennington <hp@redhat.com>
4866 * dbus/dbus-bus.c (dbus_bus_register): fix up error handling and
4869 * bus/dispatch.c (check_service_activated): fix bug in test
4871 * dbus/dbus-mainloop.c (check_timeout): fix this up
4873 * dbus/dbus-internals.c (_dbus_verbose_real): include PID in
4874 verbose output so we can sort out output from different processes,
4875 e.g. in the activation case.
4877 2003-04-08 Colin Walters <walters@gnu.org>
4879 * bus/bus.c (struct BusContext) [pidfile]: New member, to store
4881 (bus_context_new): Set it.
4882 (bus_context_unref): Use it to delete the pid file.
4884 2003-04-08 Havoc Pennington <hp@redhat.com>
4886 * test/data/invalid-messages/array-with-mixed-types.message:
4887 regression test that fails for the moment
4889 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): reorder
4890 tests for convenience
4892 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): don't allow
4893 array of nil, it broke things.
4895 * test/data/invalid-messages/array-of-nil.message: regression test
4897 * test/data/valid-messages/array-of-array-of-uint32.message:
4898 happened to write this so added it to suite
4900 2003-04-08 Havoc Pennington <hp@redhat.com>
4902 * bus/driver.c (bus_driver_handle_acquire_service): init
4903 retval/reply before checking name
4905 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add a
4906 recursion depth argument
4908 * dbus/dbus-message.h (struct DBusMessageIter): put some padding
4909 in the public struct for future extension
4911 * dbus/dbus-message-builder.c (_dbus_message_data_load): fix
4914 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix a verbose
4917 * doc/dbus-specification.sgml: fix typo
4919 2003-04-08 Alexander Larsson <alexl@redhat.com>
4921 Implemented recursive types, named types and new-style iters
4924 * glib/test-thread-client.c: (thread_func):
4925 * glib/test-thread-server.c: (handle_test_message):
4926 * test/test-service.c: (handle_echo):
4935 * dbus/dbus-internals.c: (_dbus_type_to_string):
4936 Update for new types.
4938 * dbus/dbus-marshal.[ch]:
4939 Implement recursive types and the new marshalling format.
4940 Remove hardcoded dict marshalling.
4941 Marshal named types.
4943 * dbus/dbus-message-builder.c:
4945 Remove references to old types
4947 * dbus/dbus-message.[ch]:
4948 New non-refcounted iter API that supports recursive iters.
4949 Use iters for appending, including support for recursive
4951 Add byte and named type support.
4952 Update everything to new marshalling formats.
4953 Add tests for new API.
4955 * dbus/dbus-protocol.h:
4956 Remove old array types.
4957 Add types: BYTE, ARRAY, DICT, NAMED
4959 * dbus/dbus-string.c:
4960 * dbus/dbus-sysdeps.c:
4961 Make parse_double locale safe.
4963 * dbus/dbus-test-main.c:
4969 * doc/dbus-specification.sgml:
4972 * test/data/incomplete-messages/missing-body.message:
4973 * test/data/invalid-messages/bad-boolean.message:
4974 * test/data/invalid-messages/bad-boolean-array.message:
4975 * test/data/invalid-messages/boolean-array-length-too-long.message-raw:
4976 * test/data/invalid-messages/boolean-has-no-value.message-raw:
4977 * test/data/invalid-messages/too-short-dict.message:
4978 * test/data/valid-messages/dict-simple.message:
4979 * test/data/valid-messages/dict.message:
4980 * test/data/valid-messages/emptiness.message:
4981 * test/data/valid-messages/lots-of-arguments.message:
4982 * test/data/valid-messages/no-padding.message:
4983 * test/data/valid-messages/recursive-types.message:
4984 Add missing NAME fields
4985 Fix up dicts & arrays
4987 * test/data/invalid-messages/dict-with-nil-value.message:
4988 Removed, this is not invalid anymore.
4990 * test/data/valid-messages/recursive-types.message:
4991 Add new test for deeply recursive types.
4993 2003-04-07 Havoc Pennington <hp@pobox.com>
4995 * bus/driver.c (bus_driver_handle_acquire_service): return an
4996 error if you try to acquire a service that starts with ':'
4998 2003-04-07 Havoc Pennington <hp@redhat.com>
5000 * doc/dbus-specification.sgml: require that base service names
5001 start with ':' and that the base service is created/deleted
5002 as first and last things a connection does on the bus
5004 * bus/dispatch.c (check_existent_service_activation): lots more
5005 work on the activation test; it doesn't fully pass yet...
5007 * test/test-service.c (main): fix so we don't memleak the
5008 connection to the message bus
5009 (filter_func): accept a message asking us to exit
5011 2003-04-06 Havoc Pennington <hp@pobox.com>
5013 * qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h,
5016 * configure.in: fixes to Qt detection from Colin Walters
5018 * doc/Makefile.am: Only remove generated docbook dirs if they
5019 exist, from Colin Walters
5021 * dbus/dbus-bus.c: change how we set well-known connections to
5022 NULL, so that it works if a single connection is stored in
5023 two well-known array slots.
5025 * test/Makefile.am: remove a lot of stuff that isn't immediately
5026 useful, it's in CVS history if we want it.
5028 * test/test-service.c: use dbus-mainloop instead of that
5031 2003-04-06 Havoc Pennington <hp@pobox.com>
5033 * dbus/Makefile.am: split lists of sources into stuff that goes in
5034 the library, util functions that go in the lib and are also used
5035 elsewhere, and util functions that are used in tests/daemon but
5036 don't go in the lib.
5038 * dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc]
5039 here so it can be used in test binaries also
5041 2003-04-06 Havoc Pennington <hp@pobox.com>
5043 * dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile
5044 here in the parent process, so we can return an error if it
5045 fails. Also, move some of the code into the child so the parent
5046 is less hosed if we fail midway through.
5048 * bus/bus.c (bus_context_new): move pidfile detection further up
5049 in the function, before we start overwriting sockets and such.
5051 * bus/messagebus.in: adjust this a bit, not sure if it will work.
5053 * configure.in: add --with-system-pid-file and --with-system-socket
5055 2003-04-06 Colin Walters <walters@verbum.org>
5057 * configure.in (DBUS_SYSTEM_PID_FILE): New variable.
5059 * bus/system.conf.in: Declare a pidfile.
5061 * bus/bus.c (bus_context_new): Test for an existing pid file, and
5062 create one (if appropriate).
5064 * bus/config-parser.c (enum ElementType) [ELEMENT_PIDFILE]: New.
5065 (struct BusConfigParser) [pidfile]: New.
5066 (element_type_to_name, merge_included, start_busconfig_child)
5067 (bus_config_parser_end_element, bus_config_parser_content): Handle it.
5068 (bus_config_parser_unref): Free it.
5069 (bus_config_parser_get_pidfile): New function.
5071 * bus/config-parser.h (_dbus_write_pid_file): Prototype.
5073 * dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error.
5075 * dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function.
5077 * dbus/dbus-sysdeps.h: Prototype it.
5079 2003-04-06 Havoc Pennington <hp@pobox.com>
5081 * bus/bus.c (bus_context_new): print the address in here, rather
5082 than in main(), because we need to do it before forking the daemon
5084 * bus/dispatch.c (send_service_nonexistent_error): set the sender
5085 on the service nonexistent error
5087 * bus/driver.c (bus_driver_handle_acquire_service): set the
5088 sender on the AcquireService reply
5090 * test/data/valid-config-files/debug-allow-all.conf.in: Make test
5091 server also listen on a UNIX socket so services can connect to it.
5093 2003-04-06 Havoc Pennington <hp@pobox.com>
5095 * dbus/dbus-threads.c: Redo how the fake debug mutexes are done
5096 so it detects deadlocks and also we actually init threads when
5099 2003-04-06 Havoc Pennington <hp@pobox.com>
5101 * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
5102 save the domain socket name, and unlink it when we disconnect the
5103 server. Means that at least when we exit normally, we won't leave
5104 a bunch of junk in /tmp
5106 * dbus/dbus-transport-unix.c
5107 (_dbus_transport_new_for_domain_socket): code cleanup (nicer
5108 memory management). (I was making a real change here but then
5111 2003-04-06 Havoc Pennington <hp@pobox.com>
5113 * bus/bus.c (bus_context_new): fix wrong handling of
5114 server_data_slot_unref() in the error case.
5116 * dbus/dbus-internals.h (_dbus_assert): change so it passes
5117 "(condition) != 0" to _dbus_real_assert so that
5118 "_dbus_assert (pointer)" doesn't cause a warning
5120 * bus/main.c (main): accept --print-address option to print out
5121 the message bus address
5123 * dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this
5125 * dbus/dbus-transport.c (_dbus_transport_open): special error for
5126 "tmpdir" option to unix: address on client side
5128 * dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option
5131 * configure.in (TEST_SOCKET_DIR): locate a temporary directory
5132 we can use to create sockets in the test suite.
5134 * bus/main.c (signal_handler): on SIGTERM, exit the daemon
5135 cleanly. To be used for testing.
5137 * dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler()
5139 * dbus/dbus-sysdeps.c (_dbus_set_signal_handler): new
5141 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
5142 handle trying to call this when there's no servers active
5144 2003-04-05 Havoc Pennington <hp@pobox.com>
5150 2003-04-05 Havoc Pennington <hp@pobox.com>
5152 * bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't
5153 crash on startup. Need to get "try starting the daemon"
5154 in the test suite I guess. ;-)
5156 * dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
5157 tracked the number of open connections; it's better done in
5158 application-specific code as you want it to span all servers etc.
5160 2003-04-05 Havoc Pennington <hp@pobox.com>
5162 * bus/Makefile.am (install-data-hook): add missing DESTDIR,
5163 patch from Colin Walters
5165 2003-04-05 Havoc Pennington <hp@pobox.com>
5167 * doc/config-file.txt (Elements): fix docs of <auth> to reflect
5168 reality; in fact multiple mechanisms are allowed.
5170 * dbus/dbus-internals.c (_dbus_real_assert)
5171 (_dbus_real_assert_not_reached): move guts of _dbus_assert() and
5172 _dbus_assert_not_reached() into functions, so that they don't show
5173 up in basic block counts for test coverage, and don't use up as
5174 much disk space. Does mean slower execution speed though, so
5175 assumes --disable-asserts is the normal production case.
5177 2003-04-05 Havoc Pennington <hp@pobox.com>
5179 * test/Makefile.am (dist-hook): also dist *.in files
5185 2003-04-05 Havoc Pennington <hp@pobox.com>
5187 * dbus/dbus-string.c: docs warning
5189 * dbus/dbus-spawn.c: missing docs
5191 * dbus/dbus-memory.c (struct ShutdownClosure): missing docs
5193 2003-04-05 Havoc Pennington <hp@pobox.com>
5195 * bus/loop.c (bus_loop_iterate): fix the timeout code, using
5198 * dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid
5199 to -1 once we've reaped the babysitter
5200 (_dbus_babysitter_handle_watch): do as much work as we can, not
5203 * bus/activation.c: add code using DBusBabysitter so that we
5204 handle it when a service fails to start up properly.
5205 (bus_activation_service_created): don't remove the activation
5206 entries as we go, just let them get removed when we free the pending
5207 activation. Unref reply messages after sending them.
5209 2003-04-05 Havoc Pennington <hp@pobox.com>
5211 * test/decode-gcov.c (main): print per-directory stats in the report
5213 * Makefile.am (coverage-report.txt): don't include test/* in gcov stats
5215 2003-04-05 Havoc Pennington <hp@pobox.com>
5217 * Makefile.am (coverage-report.txt): add target "coverage-report.txt"
5219 * test/decode-gcov.c: hack up a little program to suck data
5220 out of gcov files. Yes this is sort of silly.
5222 * configure.in: define something in config.h and do an
5223 AM_CONDITIONAL when gcov is enabled
5225 2003-04-04 Havoc Pennington <hp@redhat.com>
5227 * dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
5228 return a "babysitter" object that is used to monitor the status of
5229 the spawned process and reap it when required.
5231 * test/test-segfault.c, test/test-exit.c,
5232 test/test-sleep-forever.c: binaries that do various lame things,
5233 used in the test suite.
5235 * dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()
5237 2003-04-03 Havoc Pennington <hp@pobox.com>
5239 * dbus/dbus-spawn.c: Move dbus-spawn into a separate file
5240 in preparation for modifying it, dbus-sysdeps is getting
5243 2003-04-03 Havoc Pennington <hp@redhat.com>
5245 * bus/loop.h, bus/loop.c: make the mainloop an object so we can
5248 * bus/*.[hc]: adapt to mainloop change
5250 2003-04-03 Havoc Pennington <hp@redhat.com>
5252 * bus/activation.c (load_directory): fix up memleaks
5253 (bus_activation_entry_free): free the entry
5255 * dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
5256 we get one from the message bus; fix memleaks.
5258 * dbus/dbus-message.c (dbus_set_error_from_message): new function
5260 2003-04-03 Havoc Pennington <hp@pobox.com>
5262 * bus/config-parser.c (bus_config_parser_unref): free
5263 list of mechanisms, bug discovered by test suite enhancements
5264 (putting system.conf and session.conf into suite)
5266 * test/Makefile.am, test/test-service.c: add placeholder for a
5267 test service that we'll activate as part of test suite. Doesn't
5270 * dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by
5271 setting NULL value, and use system malloc not dbus_malloc()
5272 when we have unavoidable memleakage.
5274 * dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
5275 didn't work, and support DBUS_BUS_ACTIVATION.
5277 * bus/activation.c (child_setup): pass our well-known bus type to
5280 * bus/config-parser.c: support <type> to specify well-known type
5282 * doc/dbus-specification.sgml: document the env variables to
5283 locate well-known buses and find service activator
5285 2003-04-02 Havoc Pennington <hp@redhat.com>
5287 * test/Makefile.am (all-local): add a rule to copy tests to
5288 builddir, so we can have generated tests. Use this to remove the
5289 silly hack for testing system.conf and session.conf. Will use this
5290 shortly to generate .service files pointing to test binaries.
5292 2003-04-02 Havoc Pennington <hp@redhat.com>
5294 * dbus/dbus-string.c (set_length): fix a bug - we allocated max of
5295 current alloc and needed new length, not max of the doubled
5296 allocation and needed new length. Also, when building tests,
5297 don't do the double-allocation stuff, just realloc every time.
5299 2003-04-02 Havoc Pennington <hp@redhat.com>
5301 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
5303 (_dbus_string_get_dirname): new
5304 (_dbus_sysdeps_test): new
5305 (_dbus_directory_open): include dirnames in error messages
5307 * bus/config-parser.c: interpret <include> and <includedir> and
5308 <servicedir> relative to config file location if the given
5309 filename is not absolute.
5311 * dbus/dbus-string.c (_dbus_string_find_byte_backward): new
5313 2003-04-02 Havoc Pennington <hp@redhat.com>
5315 * bus/connection.c (bus_transaction_send_error_reply): set sender
5316 service for the error, and unref the reply on success
5318 * bus/activation.c: convert to use BusTransaction so OOM can be
5320 (bus_activation_service_created): set sender of the message
5322 2003-04-01 Havoc Pennington <hp@redhat.com>
5324 * bus/config-parser.c, bus/bus.c: implement <servicedir> and
5325 <includedir> (at least mostly)
5327 * dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
5328 first, then the user ID
5330 2003-04-01 Havoc Pennington <hp@pobox.com>
5332 * dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
5335 * dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
5337 * dbus/dbus-internals.c (_dbus_dup_string_array): new function
5339 * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
5340 socket 0777, and unlink any existing socket.
5342 * bus/bus.c (bus_context_new): change our UID/GID and fork if
5343 the configuration file so specifies; set up auth mechanism
5346 * bus/config-parser.c (bus_config_parser_content): add support
5347 for <fork> option and fill in code for <auth>
5349 * bus/system.conf.in: add <fork/> to default configuration,
5350 and limit auth mechanisms to EXTERNAL
5352 * doc/config-file.txt (Elements): add <fork>
5354 * dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
5355 (_dbus_change_identity): new function
5357 2003-03-31 Havoc Pennington <hp@redhat.com>
5359 * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket)
5360 (_dbus_listen_unix_socket): fix off-by-one error in null
5361 termination spotted by Nalin
5363 2003-03-31 Havoc Pennington <hp@redhat.com>
5365 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
5366 DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
5367 having a real home directory available.
5369 2003-03-31 Havoc Pennington <hp@redhat.com>
5371 * bus/Makefile.am (install-data-hook): create /var/run/dbus
5373 * bus/messagebus.in: add init script for Red Hat /etc/init.d
5375 * configure.in: add support for specifying a style of init script
5378 2003-03-31 Havoc Pennington <hp@redhat.com>
5380 Fix some annoying DBusString API and fix all affected code.
5382 * dbus/dbus-string.c (_dbus_string_init): get rid of annoying
5384 (_dbus_string_get_data): change to return string instead of using
5386 (_dbus_string_get_const_data): ditto
5387 (_dbus_string_get_data_len): ditto
5388 (_dbus_string_get_const_data_len): ditto
5390 2003-03-31 Havoc Pennington <hp@redhat.com>
5392 * bus/main.c (main): fix up the command line arguments to be nicer
5394 2003-03-31 Havoc Pennington <hp@redhat.com>
5396 * dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
5397 define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
5398 final location that lands in the config file
5400 * bus/config-loader-expat.c (bus_config_load): fix type of
5403 * doc/TODO: remove TODO item for dbus_bus_get()
5405 * dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
5407 2003-03-31 Havoc Pennington <hp@pobox.com>
5409 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
5410 (_dbus_transport_new_for_tcp_socket): these didn't need the "server"
5411 argument since they are always client side
5413 * dbus/dbus-server.c (dbus_server_get_address): new function
5415 * bus/main.c (main): take the configuration file as an argument.
5417 * test/data/valid-config-files/debug-allow-all.conf: new file to
5418 use with dispatch.c tests for example
5420 * bus/test-main.c (main): require test data dir
5422 * bus/bus.c (bus_context_new): change this to take a
5423 configuration file name as argument
5425 * doc/config-file.txt (Elements): add <servicedir>
5427 * bus/system.conf, bus/session.conf: new files
5429 * dbus/dbus-bus.c (dbus_bus_get): look for system bus on
5430 well-known socket if none set
5432 * configure.in: create system.conf and session.conf
5434 2003-03-30 Havoc Pennington <hp@pobox.com>
5436 * bus/config-parser.c: hacking
5438 * dbus/dbus-memory.c: don't use DBusList for the list of stuff
5439 to shut down, since it could cause weirdness with the DBusList
5442 * dbus/dbus-list.c (_dbus_list_test): add tests for the
5443 link-oriented stack routines
5444 (alloc_link): free the mempool if the first alloc from it fails
5446 * dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
5448 * dbus/dbus-string.c (UNICODE_VALID): sync new version of this
5450 (_dbus_string_skip_white): new
5452 * doc/config-file.txt (Elements): add <includedir>
5454 2003-03-28 Havoc Pennington <hp@pobox.com>
5456 * dbus/dbus-string.c (_dbus_string_copy_data_len)
5457 (_dbus_string_copy_data): new functions
5459 2003-03-28 Anders Carlsson <andersca@codefactory.se>
5461 * dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
5465 * dbus/dbus-memory.c:
5468 2003-03-28 Havoc Pennington <hp@pobox.com>
5470 * bus/test.c (bus_test_flush_bus): remove the sleep from here,
5471 I think it may have just been superstition. Not sure.
5473 * dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
5474 failures that were not being handled.
5476 * dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
5478 * dbus/dbus-memory.c: add ability to set number of mallocs in a
5479 row that will fail on out-of-memory.
5481 * dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
5482 function for testing out-of-memory handling.
5484 * bus/config-loader-expat.c (memsuite): don't wrap the dbus
5485 allocation functions, they do map exactly to the expat ones.
5487 2003-03-27 Havoc Pennington <hp@redhat.com>
5489 * bus/config-loader-libxml.c (bus_config_load): add another error
5492 2003-03-26 Anders Carlsson <andersca@codefactory.se>
5495 Add note about automatic service activation.
5497 * doc/dbus-specification.sgml:
5498 Rename the specification and clarify a few things.
5500 2003-03-26 Anders Carlsson <andersca@codefactory.se>
5503 * dbus/dbus-address.c:
5505 * dbus/dbus-marshal.c:
5506 * dbus/dbus-server-debug-pipe.c:
5507 * dbus/dbus-transport-unix.c:
5508 Fix documentation warnings.
5510 2003-03-26 Havoc Pennington <hp@pobox.com>
5512 * bus/test-main.c, dbus/dbus-test.c (main): check memleaks
5513 after every test so it's quick and easy to see which leaked, and
5514 so we test multiple dbus_shutdown() calls
5516 * configure.in: change configure.in XML stuff to also support
5519 * config-loader-libxml.c: some hacking
5521 * config-loader-expat.c: some hacking
5523 * config-parser.c: some hacking, plus tests
5525 2003-03-25 Havoc Pennington <hp@redhat.com>
5527 * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
5529 * configure.in: add --with-xml option to specify XML library,
5530 right now only libxml is supported.
5532 * bus/config-loader-libxml.c, config-parser.c: sync some minor
5533 nonworking code between home and work, still just stubs
5535 2003-03-24 Havoc Pennington <hp@redhat.com>
5537 * dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
5540 * dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
5541 NULL argument for "message" if the error is a well-known one,
5542 fill in a generic message in this case.
5544 * dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
5547 * bus/test.c (bus_test_flush_bus): add
5549 * bus/policy.c (bus_policy_test): test code stub
5551 2003-03-24 Havoc Pennington <hp@pobox.com>
5553 * bus/connection.c (bus_connections_setup_connection): set up
5554 the "can this user connect" function, but it always returns
5555 TRUE until we have a config file parser so we can have a config
5556 file that allows connections.
5558 2003-03-23 Havoc Pennington <hp@pobox.com>
5560 * dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
5561 DBUS_BUILD_TESTS, actually alloc/free a block of memory for
5562 the mutex, so we can check for proper memory management
5565 * dbus/dbus-dataslot.c: remove the mutex from
5566 DBusDataSlotAllocator and lock it manually when using it,
5567 to simplify fitting it into the global slots framework.
5569 * dbus/dbus-threads.c (init_static_locks): rework how we're
5570 handling global locks so they are easily shut down.
5572 * bus/policy.c (bus_policy_append_rule): fix
5574 * bus/test-main.c (main): check for memleaks
5576 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
5577 test suite check for memleaks
5579 * dbus/dbus-memory.c: add support in test mode for tracking
5580 number of outstanding blocks
5582 2003-03-23 Havoc Pennington <hp@pobox.com>
5584 * bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
5587 * dbus/dbus-hash.h: add ULONG hash keys
5589 * dbus/dbus-sysdeps.c (_dbus_get_groups): new
5590 (_dbus_get_group_id): new function
5592 2003-03-20 Havoc Pennington <hp@redhat.com>
5594 * dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
5596 (dbus_connection_get_unix_user): new function
5598 2003-03-20 Havoc Pennington <hp@pobox.com>
5600 * bus/connection.c (bus_connection_send_oom_error): assert that
5601 message has a sender
5602 (connection_execute_transaction): ditto
5603 (bus_connection_preallocate_oom_error): fix to set the sender, and
5604 set recipient to the destination service, not the bus driver
5606 * bus/policy.c: hacking
5608 * dbus/dbus-message.c (dbus_message_service_is): new function
5609 (dbus_message_sender_is): new
5611 2003-03-19 Havoc Pennington <hp@redhat.com>
5613 * bus/policy.c: start sketching code for policy restrictions on
5614 what connections can do.
5616 2003-03-18 Havoc Pennington <hp@redhat.com>
5618 * doc/TODO: some notes on high-level todo items. Little nitpick
5619 stuff is all in @todo, so no need to add it here.
5621 * doc/config-file.txt: some notes on how config file might look
5623 2003-03-18 Anders Carlsson <andersca@codefactory.se>
5629 2003-03-17 Havoc Pennington <hp@redhat.com>
5631 * dbus/dbus-internals.h: add gcc attributes so that
5632 our printf-style functions warn on bad arguments to
5635 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
5638 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
5641 2003-03-17 Havoc Pennington <hp@redhat.com>
5643 * bus/test-main.c (main): make it print something as it runs
5644 so make check doesn't look stuck
5646 * doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
5647 from CVS, now obsolete
5649 2003-03-17 Anders Carlsson <andersca@codefactory.se>
5651 * bus/dispatch.c: (bus_dispatch):
5652 Refetch the service name since it may have been reallocated
5653 when dbus_message_set_sender was called.
5655 * dbus/dbus-sysdeps.c: (_dbus_accept):
5656 Add address and address length variables and use them to stop
5657 valgrind from complaining.
5659 2003-03-17 Havoc Pennington <hp@pobox.com>
5661 All tests pass, no memleaks, no valgrind complaints.
5663 * bus/test.c: refcount handler_slot
5665 * bus/connection.c (bus_connections_new): refcount
5666 connection_data_slot
5668 * dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
5669 bytes so that auth scripts pass.
5671 * bus/dispatch.c: init message_handler_slot so it gets allocated
5674 * bus/dispatch.c (message_handler_slot_ref): fix memleak
5676 * dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
5677 dealloc server_pipe_hash when no longer used for benefit of
5680 * dbus/dbus-auth.c (process_command): memleak fix
5682 * bus/dispatch.c (check_hello_message): memleak fix
5684 2003-03-16 Havoc Pennington <hp@pobox.com>
5686 * dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
5688 2003-03-17 Anders Carlsson <andersca@codefactory.se>
5690 * bus/activation.c (bus_activation_activate_service): Append
5691 the pending activation entry to the list of pending activations.
5693 2003-03-16 Havoc Pennington <hp@pobox.com>
5695 * bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
5698 * dbus/dbus-address.c (create_entry): fix OOM handling when
5699 failing to alloc entry->method
5701 2003-03-16 Havoc Pennington <hp@pobox.com>
5703 * dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
5706 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
5707 add some missing dbus_set_result
5709 * bus/dispatch.c (bus_dispatch_add_connection): handle failure to
5710 alloc the DBusMessageHandler
5712 * dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
5713 the transport here, since we call this from the finalizer; it
5714 resulted in a double-finalize.
5716 * dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
5717 where we tried to use transport->connection that was NULL,
5718 happened when transport was disconnected early on due to OOM
5720 * bus/*.c: adapt to handle OOM for watches/timeouts
5722 * dbus/dbus-transport-unix.c: port to handle OOM during
5725 * dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
5726 reference to unused bytes instead of a copy
5728 * dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
5731 * dbus/dbus-connection.c (dbus_connection_handle_watch): return
5734 * dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
5737 2003-03-16 Anders Carlsson <andersca@codefactory.se>
5739 * doc/dbus-specification.sgml:
5740 Document reply message for ActivateService.
5742 2003-03-16 Anders Carlsson <andersca@codefactory.se>
5744 * bus/activation.c: (bus_pending_activation_entry_free),
5745 (bus_pending_activation_free), (bus_activation_new),
5746 (bus_activation_unref), (bus_activation_service_created),
5747 (bus_activation_activate_service):
5749 * bus/bus.c: (bus_context_new):
5750 * bus/desktop-file.c: (new_section):
5751 * bus/driver.c: (bus_driver_send_service_deleted),
5752 (bus_driver_handle_activate_service):
5753 * bus/services.c: (bus_registry_new), (bus_registry_ensure):
5755 * dbus/dbus-connection.c:
5756 (dbus_connection_send_with_reply_and_block):
5757 * dbus/dbus-message.c: (dbus_message_append_args_valist):
5758 * dbus/dbus-protocol.h:
5759 Make activation work better. Now pending activations will be queued
5760 and the daemon won't try to activate services that are already registered.
5762 2003-03-16 Havoc Pennington <hp@pobox.com>
5764 * dbus/dbus-bus.c (ensure_bus_data): handle failure to set
5767 * dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
5768 DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
5770 2003-03-16 Havoc Pennington <hp@pobox.com>
5772 * dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
5773 this. always run the test suite before commit...
5775 * bus/*: adapt to DBusConnection API changes
5777 * glib/dbus-gmain.c: adapt to DBusConnection API changes,
5778 requires renaming stuff to avoid dbus_connection_dispatch name
5781 * dbus/dbus-transport.c (_dbus_transport_queue_messages): new
5784 * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
5785 separate from _dbus_message_loader_return_buffer()
5787 * dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
5788 this, because it's now always broken to use; the number of
5789 messages in queue vs. the number still buffered by the message
5790 loader is undefined/meaningless. Should use
5791 dbus_connection_get_dispatch_state().
5792 (dbus_connection_dispatch): rename from
5793 dbus_connection_dispatch_message
5795 2003-03-16 Havoc Pennington <hp@pobox.com>
5797 * dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
5800 2003-03-16 Anders Carlsson <andersca@codefactory.se>
5802 * dbus/dbus-connection.c:
5803 (dbus_connection_send_with_reply_and_block):
5804 Decrease connection->n_incoming when removing an entry
5806 * dbus/dbus-dict.c: (dbus_dict_entry_free),
5807 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
5808 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
5809 (dbus_dict_set_byte_array), (dbus_dict_set_string_array),
5810 (dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
5811 (dbus_dict_get_byte_array):
5812 Handle NULL arrays and strings. Also add support for byte arrays.
5814 * dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
5815 (_dbus_marshal_dict), (_dbus_demarshal_byte_array),
5816 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
5817 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
5818 (_dbus_demarshal_dict), (demarshal_and_validate_len),
5819 (_dbus_marshal_validate_arg), (_dbus_marshal_test):
5820 * dbus/dbus-marshal.h:
5821 Add support for marshalling and demarshalling empty arrays and strings.
5823 * dbus/dbus-message.c: (dbus_message_append_args_valist),
5824 (dbus_message_append_string_array),
5825 (dbus_message_iter_get_boolean),
5826 (dbus_message_iter_get_boolean_array),
5827 (dbus_message_iter_get_int32_array),
5828 (dbus_message_iter_get_uint32_array),
5829 (dbus_message_iter_get_double_array),
5830 (dbus_message_iter_get_byte_array),
5831 (dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
5832 (check_message_handling):
5833 Add support for getting empty arrays and dicts.
5835 * dbus/dbus-string.c: (_dbus_string_validate_utf8):
5836 Don't do any validation at all for now, that's better than just checking
5839 * test/data/valid-messages/emptiness.message:
5840 New test message with lots of empty arrays.
5842 2003-03-16 Havoc Pennington <hp@pobox.com>
5844 * dbus/dbus-connection.c
5845 (_dbus_connection_queue_received_message_link): new function that
5846 can't fail due to OOM
5848 * dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
5849 new function pops a message together with a list link
5852 * dbus/dbus-transport-unix.c (queue_messages): use new link-based
5853 message queuing functions to avoid needing to alloc memory
5855 2003-03-16 Havoc Pennington <hp@pobox.com>
5857 Oops - test code was only testing failure of around 30 of the
5858 mallocs in the test path, but it turns out there are 500+
5859 mallocs. I believe this was due to misguided linking setup such
5860 that there was one copy of dbus_malloc etc. in the daemon and one
5861 in the shared lib, and only daemon mallocs were tested. In any
5862 case, the test case now tests all 500+ mallocs, and doesn't pass
5863 yet, though there are lots of fixes in this patch.
5865 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
5866 this so that it doesn't need to allocate memory, since it
5867 has no way of indicating failure due to OOM (and would be
5868 annoying if it did).
5870 * dbus/dbus-list.c (_dbus_list_pop_first_link): new function
5872 * bus/Makefile.am: rearrange to create two self-contained
5873 libraries, to avoid having libraries with overlapping symbols.
5874 that was resulting in weirdness, e.g. I'm pretty sure there
5875 were two copies of global static variables.
5877 * dbus/dbus-internals.c: move the malloc debug stuff to
5880 * dbus/dbus-list.c (free_link): free list mempool if it becomes
5883 * dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
5885 * dbus/dbus-address.c (dbus_parse_address): free list nodes
5888 * bus/dispatch.c (bus_dispatch_add_connection): free
5889 message_handler_slot when no longer using it, so
5890 memory leak checkers are happy for the test suite.
5892 * dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
5894 * bus/bus.c (new_connection_callback): disconnect in here if
5895 bus_connections_setup_connection fails.
5897 * bus/connection.c (bus_connections_unref): fix to free the
5899 (bus_connections_setup_connection): if this fails, don't
5900 disconnect the connection, just be sure there are no side
5903 * dbus/dbus-string.c (undo_alignment): unbreak this
5905 * dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
5907 (_dbus_auth_new): fix the order in which we free strings
5910 * bus/connection.c (bus_connection_disconnected): fix to
5911 not send ServiceDeleted multiple times in case of memory
5914 * dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
5915 get the base service name
5916 (dbus_bus_register_client): don't return base service name,
5917 instead store it on the DBusConnection and have an accessor
5919 (dbus_bus_register_client): rename dbus_bus_register()
5921 * bus/dispatch.c (check_hello_message): verify that other
5922 connections on the bus also got the correct results, not
5923 just the one sending hello
5925 2003-03-15 Havoc Pennington <hp@pobox.com>
5927 Make it pass the Hello handling test including all OOM codepaths.
5928 Now to do other messages...
5930 * bus/services.c (bus_service_remove_owner): fix crash when
5931 removing owner from an empty list of owners
5932 (bus_registry_ensure): don't leave service in the list of
5933 a connection's owned services if we fail to put the service
5936 * bus/connection.c (bus_connection_preallocate_oom_error): set
5937 error flag on the OOM error.
5939 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
5940 handle _dbus_transport_set_connection failure
5942 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
5943 to create watches up front and simply enable/disable them as
5945 (unix_connection_set): this can now fail on OOM
5947 * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
5948 of enabling/disabling a watch or timeout.
5950 * bus/loop.c (bus_loop_iterate): don't touch disabled
5953 * glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
5955 2003-03-15 Havoc Pennington <hp@pobox.com>
5957 * bus/dispatch.c (bus_dispatch_test): OK, now finally actually
5958 write useful test code, after all that futzing around ;-)
5960 Test does not yet pass because we can't handle OOM in
5961 _dbus_transport_messages_pending (basically,
5962 dbus_connection_preallocate_send() does not prealloc the write
5963 watch). To fix this, I think we need to add new stuff to
5964 set_watch_functions, namely a SetEnabled function so we can alloc
5965 the watch earlier, then enable it later.
5967 * dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
5968 dbus-memory.c to the convenience lib
5970 * bus/test.c: rename some static functions to keep them clearly
5971 distinct from stuff in connection.c. Handle client disconnection.
5973 2003-03-14 Havoc Pennington <hp@pobox.com>
5975 * bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
5976 transport, tests more of the real codepath. Set up clients
5977 with bus_setup_debug_client.
5979 * bus/test.c (bus_setup_debug_client): function to set up debug
5980 "clients" on the main loop
5982 * dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
5985 * dbus/dbus-server.c (dbus_server_listen): add debug-pipe
5988 * dbus/dbus-server-debug.c: support a debug server based on pipes
5990 * dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
5991 (_dbus_close): new function
5993 * configure.in: check for socketpair
5995 2003-03-14 Havoc Pennington <hp@redhat.com>
5997 * dbus/dbus-memory.c: add a "detect buffer overwrites on free"
6000 * dbus/dbus-transport-debug.c: rework this a good bit to be
6001 less complicated. hopefully still works.
6003 * dbus/dbus-server-debug.c (handle_new_client): remove timeout
6006 * glib/dbus-gmain.c (timeout_handler): don't remove timeout
6009 * dbus/dbus-message.c (dbus_message_copy): rename from
6010 dbus_message_new_from_message, fix it up to copy
6011 all the message fields, add test case
6013 * bus/dispatch.c (bus_dispatch_test): add some more test code,
6014 not quite passing yet
6016 2003-03-14 Havoc Pennington <hp@pobox.com>
6018 * bus/loop.c (bus_loop_iterate): add this so we can "run loop
6019 until no work remains" in test code. (the large diff here
6020 is just code movement, no actual changes)
6022 * dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
6023 1, no point waiting around for test code.
6024 (_dbus_server_debug_accept_transport): unref the timeout
6025 after adding it (right?)
6027 * dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
6029 2003-03-13 Havoc Pennington <hp@redhat.com>
6031 * dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
6034 * dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
6037 * dbus/dbus-connection.h: Make AddWatchFunction and
6038 AddTimeoutFunction return a bool so they can fail on out-of-memory
6040 * bus/bus.c (bus_context_new): set up timeout handlers
6042 * bus/connection.c (bus_connections_setup_connection): set up
6045 * glib/dbus-gmain.c: adapt to the fact that set_functions stuff
6048 * bus/bus.c (bus_context_new): adapt to changes
6050 * bus/connection.c: adapt to changes
6052 * test/watch.c: adapt to DBusWatch changes
6054 * bus/dispatch.c (bus_dispatch_test): started adding this but
6057 2003-03-14 Anders Carlsson <andersca@codefactory.se>
6059 * bus/dispatch.c (send_service_nonexistent_error): Fix typo.
6061 2003-03-13 Havoc Pennington <hp@pobox.com>
6063 * bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
6064 set up a test framework as for the library
6066 2003-03-12 Havoc Pennington <hp@pobox.com>
6068 Throughout: purge global variables, introduce BusActivation,
6069 BusConnections, BusRegistry, etc. objects instead.
6071 * bus/bus.h, bus/bus.c: introduce BusContext as a global
6074 * test/Makefile.am (TEST_BINARIES): disable bus-test for now,
6075 going to redo this a bit differently I think
6077 2003-03-12 Havoc Pennington <hp@redhat.com>
6079 Mega-patch that gets the message bus daemon initially handling
6080 out-of-memory. Work still needed. Also lots of random
6081 moving stuff to DBusError instead of ResultCode.
6083 * dbus/dbus-list.c (_dbus_list_length_is_one): new function
6085 * dbus/dbus-connection.c
6086 (dbus_connection_send_with_reply_and_block): use DBusError
6088 * dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
6091 * dbus/dbus-connection.c (dbus_connection_send): drop the result
6092 code here, as the only failure possible is OOM.
6094 * bus/connection.c (bus_connection_disconnect):
6095 rename bus_connection_disconnected as it's a notification only
6097 * bus/driver.c (bus_driver_handle_acquire_service): don't free
6098 "name" on get_args failure, should be done by get_args;
6099 don't disconnect client for bad args, just return an error.
6100 (bus_driver_handle_service_exists): ditto
6102 * bus/services.c (bus_services_list): NULL-terminate returned array
6104 * bus/driver.c (bus_driver_send_service_lost)
6105 (bus_driver_send_service_acquired): send messages from driver to a
6106 specific client to the client's unique name, not to the broadcast
6109 * dbus/dbus-message.c (decode_header_data): reject messages that
6110 contain no name field
6111 (_dbus_message_get_client_serial): rename to
6112 dbus_message_get_serial and make public
6113 (_dbus_message_set_serial): rename from set_client_serial
6114 (_dbus_message_set_reply_serial): make public
6115 (_dbus_message_get_reply_serial): make public
6117 * bus/connection.c (bus_connection_foreach): allow stopping
6118 iteration by returning FALSE from foreach function.
6120 * dbus/dbus-connection.c (dbus_connection_send_preallocated)
6121 (dbus_connection_free_preallocated_send)
6122 (dbus_connection_preallocate_send): new API for sending a message
6123 without possibility of malloc failure.
6124 (dbus_connection_send_message): rename to just
6125 dbus_connection_send (and same for whole function family)
6127 * dbus/dbus-errors.c (dbus_error_free): make this reinit the error
6129 * dbus/dbus-sysdeps.c (_dbus_exit): new function
6131 * bus/activation.c: handle/return errors
6133 * dbus/dbus-errors.h: add more DBUS_ERROR #define
6135 * dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
6136 (_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
6137 (_dbus_result_from_errno): move to this file
6139 2003-03-10 Anders Carlsson <andersca@codefactory.se>
6141 * dbus/dbus-marshal.c:
6142 (_dbus_marshal_set_string):
6143 Take a length argument so we can marshal the correct string
6146 (_dbus_marshal_dict), (_dbus_demarshal_dict),
6147 (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
6148 (_dbus_marshal_test):
6149 * dbus/dbus-marshal.h:
6150 Add support for marshalling and demarshalling dicts.
6152 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
6153 Add support for TYPE DICT.
6155 * dbus/dbus-message.c: (set_string_field):
6156 Adjust header padding.
6158 (dbus_message_append_args_valist), (dbus_message_append_dict),
6159 (dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
6160 (dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
6161 (check_message_handling), (check_have_valid_message):
6162 * dbus/dbus-message.h:
6163 Add functions for setting and getting dicts.
6165 * dbus/dbus-protocol.h:
6171 * doc/dbus-specification.sgml:
6172 Add information about how dicts are marshalled.
6174 * test/data/invalid-messages/dict-with-nil-value.message:
6175 * test/data/invalid-messages/too-short-dict.message:
6176 * test/data/valid-messages/dict-simple.message:
6177 * test/data/valid-messages/dict.message:
6178 Add sample messages containing dicts.
6180 2003-03-08 Anders Carlsson <andersca@codefactory.se>
6182 * dbus/dbus-dict.h: Add DBUS_END_DECLS.
6184 2003-03-07 Anders Carlsson <andersca@codefactory.se>
6187 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
6188 (dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
6189 (dbus_dict_set_int32), (dbus_dict_set_uint32),
6190 (dbus_dict_set_double), (dbus_dict_set_string),
6191 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
6192 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
6193 (dbus_dict_set_string_array), (_dbus_dict_test):
6195 Fix according to comments from Havoc.
6197 2003-03-06 Michael Meeks <michael@server.home>
6199 * configure.in: if we don't have kde-config, disable have_qt.
6201 2003-03-07 Anders Carlsson <andersca@codefactory.se>
6206 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
6207 (dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
6208 (dbus_dict_remove), (dbus_dict_get_value_type),
6209 (dbus_dict_get_keys), (dbus_dict_put_boolean),
6210 (dbus_dict_put_int32), (dbus_dict_put_uint32),
6211 (dbus_dict_put_double), (dbus_dict_put_string),
6212 (dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
6213 (dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
6214 (dbus_dict_put_string_array), (dbus_dict_get_boolean),
6215 (dbus_dict_get_int32), (dbus_dict_get_uint32),
6216 (dbus_dict_get_double), (dbus_dict_get_string),
6217 (dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
6218 (dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
6219 (dbus_dict_get_string_array), (_dbus_dict_test):
6221 Add DBusDict implementation
6223 * dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
6227 2003-03-04 Havoc Pennington <hp@pobox.com>
6229 * test/data/auth/*: adapt to changes
6231 * dbus/dbus-auth-script.c (_dbus_auth_script_run): add
6232 USERID_BASE64 and change USERNAME_BASE64 to put in username not
6235 * dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
6236 more stuff from being in a context name, to make the protocol
6237 simpler to deal with
6239 * dbus/dbus-errors.c (dbus_error_has_name): new function
6240 (dbus_error_is_set): new function
6242 * dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
6243 with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
6245 * dbus/dbus-connection.c (dbus_connection_flush): also read
6246 messages during a flush operation
6248 * dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
6250 2003-03-05 Anders Carlsson <andersca@codefactory.se>
6252 * configure.in: Check for gethostbyname on Solaris.
6254 * dbus/dbus-transport.c: (_dbus_transport_open):
6255 Remove duplicate "tcp" entry.
6257 * doc/dbus-specification.sgml:
6258 Clarify some things.
6260 2003-03-05 Anders Carlsson <andersca@codefactory.se>
6262 * dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
6263 * dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
6264 (_dbus_keyring_test):
6265 * dbus/dbus-md5.c: (_dbus_md5_compute):
6266 * dbus/dbus-sha.c: (_dbus_sha_compute):
6269 2003-03-05 Anders Carlsson <andersca@codefactory.se>
6271 * README: Add some things.
6273 2003-03-04 Anders Carlsson <andersca@codefactory.se>
6275 * dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
6276 after case DBUS_TYPE_BOOELAN.
6278 2003-03-02 Havoc Pennington <hp@pobox.com>
6280 * test/break-loader.c (randomly_set_extreme_ints): add test that
6281 sets really huge and small integers
6283 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
6284 that length of boolean array fits in the string, and that
6285 string has room for boolean value in single-bool case.
6287 * dbus/dbus-message-builder.c (_dbus_message_data_load): add
6288 optional value to "ALIGN" command which is what to fill the
6291 * test/data/valid-messages/no-padding.message: add regression
6292 test for the message padding problem
6294 2003-03-02 Havoc Pennington <hp@pobox.com>
6296 * dbus/dbus-message.c (decode_header_data): fix to always init
6297 message_padding, from Benjamin Dauvergne
6299 2003-03-02 Havoc Pennington <hp@pobox.com>
6305 2003-03-01 Joe Shaw <joe@assbarn.com>
6307 * configure.in: Check for "struct cmsgcred" and try to access its
6308 members for BSD-like unices.
6310 * dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
6311 _dbus_read_credentials_unix_socket().
6312 (_dbus_read_credentials_unix_socket): Use recvmsg() instead of
6313 read() for reading the credential byte off the unix socket. Use
6314 struct cmsgcred on systems that support it.
6316 2003-02-27 Alexander Larsson <alexl@redhat.com>
6320 Make gthreads-2.0 dependency optional. Don't build thread test if
6323 2003-02-27 Havoc Pennington <hp@pobox.com>
6325 * dbus/dbus-connection.c
6326 (dbus_connection_send_message_with_reply_and_block): fix doh!
6327 doh! doh! bug that resulted in never removing a reply from the
6328 queue, no wonder we called get_reply_serial so much ;-)
6330 * dbus/dbus-message.c (struct DBusMessage): cache reply serial
6331 and client serial instead of demarshaling them every time
6333 2003-02-27 Havoc Pennington <hp@pobox.com>
6335 * dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
6336 more inlined, using dbus-string-private.h, speeds things up
6339 * dbus/dbus-string.c (_dbus_string_free): apply align offset
6340 when freeing the string
6341 (_dbus_string_steal_data): fix for align offset
6342 (undo_alignment): new function
6344 2003-02-26 Havoc Pennington <hp@redhat.com>
6346 All kinds of audit fixes from Owen, plus initial attempt to
6347 handle unaligned memory returned from malloc.
6349 * dbus/dbus-string.c (_dbus_string_init): clamp max length to
6350 leave room for align_offset and nul byte
6351 (fixup_alignment): function to track an align_offset and
6352 ensure real->str is aligned
6353 (DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
6354 to allow a nul byte plus align offset
6355 (_dbus_string_lock): fix overflow issue
6356 (_dbus_string_init_const_len): add assertions on sanity of len,
6357 assign allocated to be ALLOCATION_PADDING larger than len
6358 (set_length): fixup the overflow handling
6359 (_dbus_string_get_data_len): fix overflow in assertion
6360 (open_gap): detect overflow in size of gap to be opened
6361 (_dbus_string_lengthen): add overflow check
6362 (_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
6363 (_dbus_string_append): add overflow check
6364 (_dbus_string_append_unichar): overflow
6365 (_dbus_string_delete): fix overflow in assertion
6366 (_dbus_string_copy_len): overflow in assertion
6367 (_dbus_string_replace_len): overflows in assertions
6368 (_dbus_string_find): change to implement in terms of
6369 _dbus_string_find_to
6370 (_dbus_string_find_to): assorted fixage
6371 (_dbus_string_equal_c_str): assert c_str != NULL,
6372 fix logic so the function works
6373 (_dbus_string_ends_with_c_str): fix overflow thingy
6374 (_dbus_string_base64_encode): overflow fix
6375 (_dbus_string_validate_ascii): overflow
6376 (_dbus_string_validate_nul): overflow
6378 2003-02-26 Havoc Pennington <hp@redhat.com>
6380 * dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
6382 2003-02-26 Alexander Larsson <alexl@redhat.com>
6385 Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
6387 * dbus/dbus-connection.c:
6388 * dbus/dbus-connection.h:
6389 Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
6390 Add dbus_connection_set_wakeup_main_function and use it when queueing
6391 incoming and outgoing messages.
6394 * dbus/dbus-dataslot.c:
6395 Threadsafe usage of DBusDataSlotAllocator
6397 * dbus/dbus-message.c: (dbus_message_get_args_iter):
6400 * dbus/dbus-server-unix.c:
6403 * glib/dbus-gmain.c:
6404 Implement the new wakeup functions for glib.
6407 * glib/test-thread-client.c:
6408 * glib/test-thread-server.c:
6409 * glib/test-thread.h:
6410 Initial cut at some thread test code. Not really done yet.
6412 2003-02-26 Havoc Pennington <hp@pobox.com>
6414 * dbus/dbus-connection.c
6415 (dbus_connection_send_message_with_reply_and_block): fix crash
6416 where we ref'd the outgoing message instead of the returned reply
6418 * dbus/dbus-transport-unix.c (do_authentication): check read watch
6419 at the end of this function, so if we didn't need to read for
6420 authentication, we reinstall it for receiving messages
6422 * dbus/dbus-message.c (dbus_message_new_reply): allow replies to
6423 a NULL sender for peer-to-peer case
6425 * dbus/dbus-transport-unix.c (check_read_watch): handle
6426 !authenticated case correctly
6428 * glib/dbus-gmain.c: add support for DBusServer
6430 * dbus/dbus-server.c: add data slot support
6432 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
6433 return values and handle errors
6435 * dbus/dbus-dataslot.c: factor out the data slot stuff from
6438 * Doxyfile.in (INPUT): add glib subdir
6440 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
6441 setup_with_g_main instead of hookup_with_g_main; write docs
6443 2003-02-24 Anders Carlsson <andersca@codefactory.se>
6445 * dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
6446 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
6447 * dbus/dbus-message.c: (dbus_message_append_boolean),
6448 (dbus_message_append_boolean_array),
6449 (dbus_message_get_args_valist), (_dbus_message_test):
6450 * dbus/dbus-message.h:
6451 * doc/dbus-specification.sgml:
6452 Various fixes as pointed out by Havoc.
6454 * test/data/invalid-messages/bad-boolean-array.message:
6455 * test/data/invalid-messages/bad-boolean.message:
6456 Add invalid boolean value test cases.
6458 2003-02-24 Anders Carlsson <andersca@codefactory.se>
6460 * dbus/dbus-internals.c: (_dbus_type_to_string):
6461 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
6462 (_dbus_marshal_validate_arg):
6463 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
6464 * dbus/dbus-message.c: (dbus_message_append_args_valist),
6465 (dbus_message_append_boolean), (dbus_message_append_boolean_array),
6466 (dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
6467 (dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
6468 (dbus_message_iter_get_double),
6469 (dbus_message_iter_get_boolean_array), (message_iter_test):
6470 * dbus/dbus-message.h:
6471 * dbus/dbus-protocol.h:
6472 * doc/dbus-specification.sgml:
6473 * test/data/valid-messages/lots-of-arguments.message:
6474 Add support for boolean and boolean array types.
6476 2003-02-23 Havoc Pennington <hp@pobox.com>
6478 * dbus/dbus-keyring.c: finish most of this implementation and
6481 * dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
6482 these barf if the error isn't cleared to NULL
6484 * dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
6485 (_dbus_create_directory): new function
6487 * dbus/dbus-errors.c (dbus_set_error): fix warning
6489 * dbus/dbus-string.c (_dbus_string_hex_encode): new function
6490 (_dbus_string_hex_decode): new function
6491 (test_hex_roundtrip): test code
6493 * dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
6495 * dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
6497 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
6498 the save-to-temp/rename trick to atomically write the new file
6499 (_dbus_string_parse_uint): new function
6501 2003-02-22 Havoc Pennington <hp@pobox.com>
6503 * test/Makefile.am (dist-hook): fix dist for test/data/sha-1
6505 2003-02-22 Havoc Pennington <hp@pobox.com>
6507 * dbus/dbus-message.c (dbus_message_iter_get_string_array):
6508 (dbus_message_iter_get_byte_array): Fix up doxygen warnings
6510 * dbus/dbus-sha.c: add implementation of SHA-1 algorithm
6512 * dbus/test/data/sha-1: add US government test suite for SHA-1
6514 2003-02-21 Anders Carlsson <andersca@codefactory.se>
6516 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
6517 Make string arrays NULL-terminated.
6519 * dbus/dbus-memory.c: (dbus_free_string_array):
6520 * dbus/dbus-memory.h:
6521 New function for freeing NULL-terminated string arrays.
6523 * dbus/dbus-message-builder.c: (append_quoted_string),
6524 (_dbus_message_data_load):
6525 Add support for array types.
6527 * dbus/dbus-message.c: (check_message_handling):
6528 Add more types as test cases.
6530 * dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
6531 (_dbus_string_parse_double):
6532 Add the start offset to the end offset.
6534 * test/data/valid-messages/lots-of-arguments.message:
6535 New test message with lots of arguments.
6537 2003-02-21 Anders Carlsson <andersca@codefactory.se>
6539 * dbus/dbus-message.c: (dbus_message_append_nil),
6540 (dbus_message_append_int32), (dbus_message_append_uint32),
6541 (dbus_message_append_double), (dbus_message_append_string),
6542 (dbus_message_append_int32_array),
6543 (dbus_message_append_uint32_array),
6544 (dbus_message_append_double_array),
6545 (dbus_message_append_byte_array),
6546 (dbus_message_append_string_array):
6547 Fix all out-of-memory handling in these functions.
6549 2003-02-21 Anders Carlsson <andersca@codefactory.se>
6551 * dbus/dbus-message.c: (dbus_message_append_nil):
6554 2003-02-21 Anders Carlsson <andersca@codefactory.se>
6556 * dbus/dbus-message.c: (dbus_message_append_args_valist),
6557 (dbus_message_append_nil), (dbus_message_append_int32_array),
6558 (dbus_message_append_uint32_array),
6559 (dbus_message_append_double_array),
6560 (dbus_message_append_byte_array),
6561 (dbus_message_append_string_array), (dbus_message_get_args_valist),
6562 (dbus_message_iter_get_int32_array),
6563 (dbus_message_iter_get_uint32_array),
6564 (dbus_message_iter_get_double_array),
6565 (dbus_message_iter_get_byte_array),
6566 (dbus_message_iter_get_string_array):
6568 * dbus/dbus-message.h:
6569 Add functions for appending and getting arrays.
6571 2003-02-21 Anders Carlsson <andersca@codefactory.se>
6573 * dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
6574 element size at least 8 bytes, fixes mempool tests on
6577 2003-02-20 Alexander Larsson <alexl@redhat.com>
6579 * dbus/dbus-transport-unix.c (unix_do_iteration):
6580 Unlock the connection mutex during a blocking select call.
6581 Add todo about how we need a way to wake up the select.
6583 * dbus/dbus-connection-internal.h:
6584 * dbus/dbus-connection.c:
6585 Add _dbus_connection_lock and _dbus_connection_unlock.
6587 2003-02-19 Havoc Pennington <hp@pobox.com>
6589 * Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
6590 Doxyfile.in, not Doxyfile
6592 * dbus/dbus-keyring.c: do some hacking on this
6594 * dbus/dbus-sysdeps.c (_dbus_delete_file): new
6596 * dbus/dbus-errors.c (dbus_set_error_const): do not call
6598 (dbus_set_error): remove dbus_error_init, check for message ==
6599 NULL *before* we sprintf into it, and add @todo about including
6600 system headers in this file
6602 * dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
6604 * dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
6606 * dbus/dbus-sysdeps.c (get_user_info): break this function out to
6607 get various bits of user information based on either username
6609 (_dbus_homedir_from_username): new function
6611 2003-02-19 Anders Carlsson <andersca@codefactory.se>
6614 Add check for nonposix getpwnam_r
6616 * dbus/dbus-mempool.c: (_dbus_mem_pool_new):
6617 Align the pool element size to a sizeof (void *) boundary.
6619 * dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
6620 (_dbus_listen_unix_socket), (_dbus_credentials_from_username):
6621 General Solaris fixes.
6623 * test/data/valid-messages/simplest-manual.message:
6624 Explicitly state that we want little-endian packing.
6626 2003-02-19 Mikael Hallendal <micke@codefactory.se>
6628 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
6630 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
6631 Added to create a transport connecting using a tcp/ip socket.
6633 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
6634 to a tcp socket at given host and port.
6635 (_dbus_listen_tcp_socket): added to listen on tcp socket for given
6638 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
6640 * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
6641 Added to create a server listening on a TCP/IP socket.
6643 2003-02-19 Havoc Pennington <hp@pobox.com>
6645 Throughout: mop up all the Doxygen warnings and undocumented
6648 * dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
6649 to search any paths.
6651 * dbus/dbus-threads.c: move global mutex initializers to
6652 dbus-internals.h, multiple prototypes was confusing doxygen
6653 besides being kind of ugly
6655 * Doxyfile (PREDEFINED): have Doxygen define
6656 DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
6657 docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
6658 (do not abuse the feature! it's for stuff like the autogenerated
6659 macros in dbus-md5.c, not just for things you don't feel like
6662 2003-02-18 Havoc Pennington <hp@pobox.com>
6664 * dbus/dbus-string.c (_dbus_string_zero): new function
6666 * dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
6667 wrap it in some dbus-friendly API
6669 * dbus/dbus-types.h: add 16-bit types
6671 2003-02-18 Joe Shaw <joe@assbarn.com>
6673 * dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
6674 credentials from our currently running process.
6675 (get_word): Fix a buglet where we were copying the entire length
6676 instead of relative to our position.
6678 * dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
6679 keys on the stack... it's 640k of data.
6681 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
6682 read the credentials byte off the socket, even if we don't have
6684 (_dbus_poll): Implement poll() using select() for systems which
6687 * glib/test-dbus-glib.c (main): Print out an error if no
6688 parameters are given.
6690 * test/data/auth/fallback.auth-script: Added. Tests that a client
6691 can fallback to a secondary auth mechanism if the first fails.
6693 2003-02-18 Havoc Pennington <hp@pobox.com>
6697 2003-02-17 Havoc Pennington <hp@pobox.com>
6699 * doc/dbus-specification.sgml: lots of cosmetic
6700 cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
6701 env variable to DBUS_BUS_ADDRESS, s/client/application/,
6702 s/server/bus/ (except in authentication section). Add a section
6703 "Message Bus Message Routing"
6705 2003-02-17 Anders Carlsson <andersca@codefactory.se.>
6711 2003-02-17 Anders Carlsson <andersca@codefactory.se>
6713 * doc/dbus-specification.sgml:
6714 Specification updates.
6716 2003-02-17 Anders Carlsson <andersca@codefactory.se>
6718 * bus/activation.c: (bus_activation_init), (child_setup),
6719 (bus_activation_activate_service):
6721 * bus/main.c: (main):
6722 Set DBUS_ADDRESS environment variable.
6724 * dbus/dbus-errors.c: (dbus_set_error):
6725 Don't use va_copy since that's a C99 feature.
6727 * dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
6728 (_dbus_spawn_async):
6729 * dbus/dbus-sysdeps.h:
6730 Add child_setup_func to _dbus_spawn_async.
6732 * doc/dbus-specification.sgml:
6733 Update specification.
6735 * test/spawn-test.c: (setup_func), (main):
6738 2003-02-17 Alexander Larsson <alexl@redhat.com>
6740 * dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
6743 2003-02-17 Anders Carlsson <andersca@codefactory.se>
6747 * doc/dbus-test-plan.sgml:
6748 Add test plan document.
6753 2003-02-17 Anders Carlsson <andersca@codefactory.se>
6755 * dbus/dbus-message.c: (decode_header_data),
6756 (_dbus_message_loader_return_buffer):
6757 Set the header padding amount when loading a message.
6759 2003-02-16 Anders Carlsson <andersca@codefactory.se>
6761 * bus/dispatch.c: (send_one_message):
6762 Only send broadcast messages to registered connections.
6764 * dbus/dbus-message.c: (dbus_message_name_is):
6765 * dbus/dbus-message.h:
6766 New convenience function.
6768 * dbus/dbus-transport-debug.c: (do_reading):
6769 Only dispatch one message per run.
6772 * test/bus-test.c: (new_connection_callback), (die),
6773 (test_hello_client1_handler), (test_hello_client2_handler),
6774 (test_hello_replies), (main):
6776 * test/bus-test-loop.[ch]:
6779 2003-02-16 Havoc Pennington <hp@pobox.com>
6781 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
6782 backward conditional
6784 2003-02-16 Alexander Larsson <alexl@redhat.com>
6786 * dbus/dbus-connection.c:
6787 Implement sent_message_with_reply. (with_reply_and block is still
6789 Made dispatch_message not lose message if OOM.
6791 * dbus/dbus-errors.h:
6792 Add NoReply error (for reply timeouts).
6794 2003-02-16 Alexander Larsson <alexl@redhat.com>
6796 * dbus/dbus-hash.c (_dbus_hash_table_unref):
6797 Actually free keys and values when destroying hashtable.
6799 2003-02-16 Anders Carlsson <andersca@codefactory.se>
6801 * dbus/dbus-auth.c: (client_try_next_mechanism):
6804 * dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
6805 Return TRUE if there's no thread implementation around.
6807 * glib/dbus-gmain.c: (free_source),
6808 (dbus_connection_hookup_with_g_main):
6809 Make sure to remove the GSource when the connection is finalized.
6811 2003-02-16 Anders Carlsson <andersca@codefactory.se>
6813 * bus/dispatch.c: (bus_dispatch_message_handler):
6814 * dbus/dbus-errors.h:
6815 Return an error if someone tries to send a message to a service
6818 2003-02-16 Anders Carlsson <andersca@codefactory.se>
6820 * bus/activation.c: (load_directory), (bus_activation_init),
6821 (bus_activation_activate_service):
6824 (bus_driver_handle_activate_service), (bus_driver_handle_message):
6825 More work on the activation handling.
6827 * dbus/dbus-errors.h:
6828 Add some error messages
6830 * dbus/dbus-message.c: (dbus_message_new_error_reply):
6831 * dbus/dbus-message.h:
6832 New function that creates an error message.
6834 * dbus/dbus-protocol.h:
6835 Add ACTIVATE_SERVER message.
6837 * dbus/dbus-server-unix.c: (unix_handle_watch),
6838 (_dbus_server_new_for_domain_socket):
6839 Call _dbus_fd_set_close_on_exec.
6841 * dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
6842 (_dbus_spawn_async), (_dbus_disable_sigpipe),
6843 (_dbus_fd_set_close_on_exec):
6844 * dbus/dbus-sysdeps.h:
6845 Add _dbus_fd_set_close_on exec function. Also add function that checks
6846 that all open fds are set to close-on-exec and warns otherwise.
6848 * dbus/dbus-transport-unix.c:
6849 (_dbus_transport_new_for_domain_socket):
6850 Call _dbus_fd_set_close_on_exec.
6852 2003-02-16 Havoc Pennington <hp@pobox.com>
6854 * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
6855 allow people to avoid setting SIGPIPE to SIG_IGN
6856 (_dbus_connection_new_for_transport): disable SIGPIPE unless
6857 we've been asked not to
6859 2003-02-15 Anders Carlsson <andersca@codefactory.se>
6861 * dbus/dbus-list.c: (_dbus_list_append_link),
6862 (_dbus_list_prepend_link):
6863 * dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
6867 2003-02-15 Anders Carlsson <andersca@codefactory.se>
6870 * bus/activation.c: (bus_activation_entry_free),
6871 (add_desktop_file_entry), (load_directory), (bus_activation_init):
6873 * bus/main.c: (main):
6874 Add simple activation support, doesn't work yet though.
6876 2003-02-15 Zack Rusin <zack@kde.org>
6878 * qt/dbus-qthread.cpp: small casting fix
6880 2003-02-15 Anders Carlsson <andersca@codefactory.se>
6882 * dbus/dbus-errors.c: (dbus_set_error):
6883 * dbus/dbus-errors.h:
6884 Add a few errors and make dbus_set_error void.
6886 * dbus/dbus-sysdeps.c:
6887 (_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
6888 (write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
6889 * dbus/dbus-sysdeps.h:
6890 Add _dbus_spawn_async.
6892 * test/spawn-test.c: (main):
6893 Test for _dbus_spawn_async.
6895 2003-02-15 Anders Carlsson <andersca@codefactory.se>
6897 * dbus/dbus-internals.h:
6898 Fix build without tests.
6900 * dbus/dbus-list.c: (alloc_link):
6901 Fix a segfault when a malloc fails.
6903 * dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
6904 (dbus_malloc0), (dbus_realloc):
6905 Add support for malloc debugging.
6907 2003-02-15 Alexander Larsson <alexl@redhat.com>
6909 * dbus/dbus-threads.c:
6910 * dbus/dbus-threads.h:
6911 Add condvars. Remove static mutext from API.
6912 Implement static mutexes by initializing them from threads_init.
6914 * glib/dbus-gthread.c:
6915 * qt/dbus-qthread.cpp:
6916 Update with the thread api changes.
6921 Turn StaticMutex into normal mutex + init function.
6922 Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
6923 _dbus_list_append_link, _dbus_list_prepend_link
6926 * dbus/dbus-sysdeps.c:
6927 * dbus/dbus-sysdeps.h:
6928 New type dbus_atomic_t, and new functions _dbus_atomic_inc,
6929 _dbus_atomic_dec. Only slow fallback implementation at the moment.
6931 * dbus/dbus-protocol.h:
6932 Add DBUS_MESSAGE_LOCAL_DISCONNECT define
6934 * dbus/dbus-message.c:
6935 Make ref/unref atomic.
6938 * dbus/dbus-connection-internal.h:
6939 * dbus/dbus-connection.c:
6940 * dbus/dbus-connection.h:
6942 Change _peek to _borrow,_return & _steal_borrowed.
6943 Change disconnect callback to event.
6944 Make dbus_connection_dispatch_messages reentrant.
6946 * dbus/dbus-transport.c:
6947 Don't ref the connection on calls to the transport
6950 * dbus/dbus-message-handler.c:
6953 * glib/dbus-gmain.c:
6954 Don't use peek_message anymore
6957 * test/debug-thread.c:
6958 * test/debug-thread.h:
6959 Simple thread implementation that asserts() on deadlocks in
6960 single-threaded code.
6963 (main) Call debug_threads_init.
6966 Use disconnect message instead of disconnect callback.
6970 Don't call dbus_connection_set_disconnect_function. Instead export
6971 bus_connection_disconnect.
6974 Call bus_connection_disconnect when we get a disconnected message.
6976 2003-02-15 Havoc Pennington <hp@pobox.com>
6978 * dbus/dbus-message.c (dbus_message_new): fool around with the
6981 2003-02-14 Havoc Pennington <hp@pobox.com>
6983 * dbus/dbus-mempool.c: fail if the debug functions so indicate
6985 * dbus/dbus-memory.c: fail if the debug functions indicate we
6988 * dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
6989 (_dbus_decrement_fail_alloc_counter): debug functions to
6990 simulate memory allocation failures
6992 2003-02-14 Havoc Pennington <hp@pobox.com>
6994 * dbus/dbus-errors.h (struct DBusError): add a word of padding
6997 2003-02-13 Anders Carlsson <andersca@codefactory.se>
6999 * bus/driver.c: (bus_driver_handle_hello):
7001 * bus/services.c: (bus_service_lookup):
7002 Reorder message sending so we get a more sane order.
7004 * test/bus-test.c: (message_handler):
7007 2003-02-13 Anders Carlsson <andersca@codefactory.se>
7009 * bus/driver.c: (bus_driver_send_service_deleted),
7010 (bus_driver_send_service_created), (bus_driver_send_service_lost),
7011 (bus_driver_send_service_acquired), (bus_driver_handle_hello),
7012 (bus_driver_send_welcome_message),
7013 (bus_driver_handle_list_services),
7014 (bus_driver_handle_acquire_service),
7015 (bus_driver_handle_service_exists):
7016 * dbus/dbus-bus.c: (dbus_bus_register_client),
7017 (dbus_bus_acquire_service), (dbus_bus_service_exists):
7018 * dbus/dbus-errors.c: (dbus_result_to_string):
7019 * dbus/dbus-errors.h:
7020 * dbus/dbus-message.c: (dbus_message_append_args),
7021 (dbus_message_append_args_valist), (dbus_message_get_args),
7022 (dbus_message_get_args_valist), (dbus_message_get_args_iter),
7023 (dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
7024 (dbus_message_iter_get_byte_array),
7025 (dbus_message_iter_get_string_array), (message_iter_test),
7026 (check_message_handling), (_dbus_message_test):
7027 * dbus/dbus-message.h:
7028 * test/bus-test.c: (main):
7029 Change fields to arguments in messages, so that they won't be
7030 confused with header fields.
7032 * glib/test-dbus-glib.c: (main):
7033 Remove append_fields from hello message.
7035 2003-02-13 Anders Carlsson <andersca@codefactory.se>
7037 * dbus/dbus-errors.c:
7038 * dbus/dbus-message.c:
7039 * dbus/dbus-string.c:
7040 Documentation fixes.
7042 2003-02-13 Anders Carlsson <andersca@codefactory.se>
7044 * glib/dbus-gmain.c: (timeout_handler), (add_timeout),
7046 Implement support for timeouts in dbus-glib.
7048 2003-02-13 Anders Carlsson <andersca@codefactory.se>
7050 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
7051 * dbus/dbus-message.c: (process_test_subdir):
7052 * test/break-loader.c: (find_breaks_based_on):
7053 Plug some memory leaks.
7055 2003-02-13 Richard Hult <rhult@codefactory.se>
7057 * bus/main.c: Fix build.
7059 * dbus/dbus-errors.h:
7060 * dbus/dbus-errors.c: Fix copyright for Anders.
7062 2003-02-13 Anders Carlsson <andersca@codefactory.se>
7067 * bus/connection.c: (bus_connection_foreach):
7070 * bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
7071 (unescape_string), (new_section), (parse_section_start),
7072 (parse_key_value), (report_error), (bus_desktop_file_load),
7073 (bus_desktop_file_get_string):
7074 * bus/desktop-file.h:
7075 Use DBusError for error reporting.
7077 * bus/dispatch.c: (send_one_message),
7078 (bus_dispatch_message_handler):
7079 * bus/driver.c: (bus_driver_send_service_deleted),
7080 (bus_driver_send_service_created), (bus_driver_send_service_lost),
7081 (bus_driver_send_service_acquired), (bus_driver_handle_hello),
7082 (bus_driver_send_welcome_message),
7083 (bus_driver_handle_list_services),
7084 (bus_driver_handle_acquire_service),
7085 (bus_driver_handle_service_exists):
7086 * bus/loop.c: (bus_loop_run):
7088 Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
7090 * bus/utils.c: (bus_wait_for_memory):
7092 New files with general utility functions.
7094 * dbus/dbus-internals.h:
7095 Remove _DBUS_HANDLE_OOM.
7097 2003-02-13 Anders Carlsson <andersca@codefactory.se>
7099 * dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
7100 (dbus_error_free), (dbus_set_error_const), (dbus_set_error):
7101 * dbus/dbus-errors.h:
7102 Add DBusError structure.
7104 2003-02-13 Anders Carlsson <andersca@codefactory.se>
7106 * test/data/valid-messages/standard-acquire-service.message:
7107 * test/data/valid-messages/standard-hello.message:
7108 * test/data/valid-messages/standard-list-services.message:
7109 * test/data/valid-messages/standard-service-exists.message:
7110 Add some standard messages.
7112 2003-02-13 Anders Carlsson <andersca@codefactory.se>
7114 * bus/driver.c: (bus_driver_send_welcome_message),
7115 (bus_driver_handle_list_services),
7116 (bus_driver_handle_acquire_service),
7117 (bus_driver_handle_service_exists), (bus_driver_handle_message):
7118 Update for API changes in libdbus.
7120 * dbus/dbus-message.c: (dbus_message_new_reply):
7121 * dbus/dbus-message.h:
7122 Remove the name argument. The spec states that replies shouldn't
7125 2003-02-13 Anders Carlsson <andersca@codefactory.se>
7127 * bus/desktop-file.c: (parse_section_start), (parse_key_value),
7128 (report_error), (bus_desktop_file_load), (lookup_section),
7129 (lookup_line), (bus_desktop_file_get_raw),
7130 (bus_desktop_file_get_string):
7131 * bus/desktop-file.h:
7132 Some fixes, and new functions for getting a key value from a section.
7134 2003-02-13 Havoc Pennington <hp@pobox.com>
7136 * test/data/auth/fail-after-n-attempts.auth-script: new test
7138 * dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
7141 2003-02-13 Havoc Pennington <hp@pobox.com>
7143 * dbus/dbus-auth.c (handle_server_data_external_mech): args to
7144 dbus_credentials_match were backward
7146 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support
7147 NO_CREDENTIALS and ROOT_CREDENTIALS
7149 * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
7150 into here. Never process more commands after we've reached an
7151 end state; store further data as unused bytes.
7153 * test/data/auth/*: add more auth tests
7155 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
7156 command to match exact string and EXPECT_UNUSED to match unused
7159 * test/Makefile.am (dist-hook): fix to dist all the test stuff
7161 2003-02-12 Havoc Pennington <hp@pobox.com>
7163 * dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
7164 \r off of popped lines
7166 * dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
7169 * dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
7172 2003-02-12 Havoc Pennington <hp@pobox.com>
7174 * dbus/Makefile.am: remove break-loader from the build, since it
7177 * configure.in: add --enable-gcov to turn on coverage profiling
7178 flags and disable optimization
7180 2003-02-10 Havoc Pennington <hp@pobox.com>
7182 * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync
7183 initial cut at test framework for DBusAuth from laptop.
7184 Doesn't quite work yet but it compiles and I need to get
7185 it off the 266mhz laptop. ;-)
7187 * dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
7188 fix a memleak in error case
7190 2003-02-12 Anders Carlsson <andersca@codefactory.se>
7193 * bus/desktop-file.c:
7194 * bus/desktop-file.h:
7195 Add a desktop file parser.
7197 2003-02-11 Zack Rusin <zack@kde.org>
7199 * qt/message.[h|cpp]: sample implementation
7200 of the KDE wrapper for DBusMessage
7202 2003-02-09 Zack Rusin <zack@kde.org>
7204 * test/bus-test.c: make_it_compile
7205 * doc/dbus-specification.sgml: minimal semantic fix
7207 2003-02-06 Anders Carlsson <andersca@codefactory.se>
7213 2003-02-06 Anders Carlsson <andersca@codefactory.se>
7216 * dbus/dbus-break-loader.c:
7218 * test/break-loader.c:
7219 Move dbus-break-loader to test/ and rename it to break-loader.
7221 2003-02-02 Havoc Pennington <hp@pobox.com>
7223 * dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files
7224 for code to manage cookies in your home directory
7226 * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
7228 * dbus/dbus-auth.c (get_state): impose a maximum number of tries
7229 to authenticate, then disconnect the client.
7231 2003-02-03 Alexander Larsson <alexl@redhat.com>
7233 * dbus/dbus-message.c (dbus_message_append_fields):
7236 2003-02-02 Anders Carlsson <andersca@codefactory.se>
7238 * doc/dbus-specification.sgml:
7239 Update address format section.
7241 2003-02-02 Anders Carlsson <andersca@codefactory.se>
7244 * test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
7245 (message_handler), (new_connection_callback), (loop_quit),
7249 2003-02-02 Anders Carlsson <andersca@codefactory.se>
7251 * bus/driver.c: (bus_driver_handle_service_exists):
7252 Simplify the code a bit.
7254 * dbus/dbus-bus.c: (dbus_bus_service_exists):
7257 2003-02-02 Anders Carlsson <andersca@codefactory.se>
7260 Add libdbus-daemon.la and link to it.
7262 2003-02-01 James Willcox <jwillcox@gnome.org>
7264 * bus/driver.c: (bus_driver_handle_own_service):
7265 Actually include the service reply code in the message.
7267 2003-02-02 Anders Carlsson <andersca@codefactory.se>
7269 * bus/driver.c: (bus_driver_handle_service_exists):
7270 Don't unref the incoming message.
7272 2003-02-02 Anders Carlsson <andersca@codefactory.se>
7274 * dbus/dbus.h: Add dbus-address.h and dbus-bus.h
7276 2003-02-02 Anders Carlsson <andersca@codefactory.se>
7278 * dbus/dbus-server.c: (dbus_server_listen):
7279 * dbus/dbus-transport.c: (_dbus_transport_open):
7280 ifdef out the calls to the debug transport and server.
7282 2003-02-02 Alexander Larsson <alexl@redhat.com>
7284 * dbus/dbus-watch.c (dbus_watch_get_flags):
7285 Add note in the docs that ERROR or HANGUP won't be returned
7286 and are assumed always on.
7288 * glib/dbus-gmain.c (add_watch):
7289 Always add IO_ERR | IO_HUP
7291 * dbus/dbus-message.h:
7292 Add semicolon after dbus_message_iter_get_string_array().
7293 Makes qt code build again
7295 2003-02-01 Anders Carlsson <andersca@codefactory.se>
7297 * bus/driver.c: (create_unique_client_name),
7298 (bus_driver_handle_hello):
7299 Don't take a name, just use a numeric id to identify
7303 * dbus/dbus-bus.c: (dbus_bus_register_client),
7304 (dbus_bus_acquire_service), (dbus_bus_service_exists):
7306 Add new convenience functions for communicating with the bus.
7308 * dbus/dbus-message.h:
7310 * dbus/dbus-protocol.h:
7313 2003-02-01 Alexander Larsson <alexl@redhat.com>
7315 * dbus/dbus-message.c (dbus_message_append_fields):
7316 Add some more doc comments.
7318 2003-02-01 Havoc Pennington <hp@pobox.com>
7320 * dbus/dbus-break-loader.c (randomly_modify_length): change
7321 a 4-byte value in the message as if it were a length
7323 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
7324 execute bit on saved files
7326 2003-02-01 Havoc Pennington <hp@pobox.com>
7328 * dbus/dbus-break-loader.c (main): new program to find messages
7329 that break the loader.
7331 * dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
7332 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
7334 * dbus/dbus-string.c (_dbus_string_set_byte): new
7336 2003-01-31 Havoc Pennington <hp@pobox.com>
7338 * dbus/dbus-message.c: refactor the test code to be more general,
7339 in preparation for writing a "randomly permute test cases to
7340 try to break the loader" program.
7342 2003-01-31 Havoc Pennington <hp@pobox.com>
7344 * doc/dbus-specification.sgml: work on the specification
7346 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
7347 the protocol version of the message.
7349 * dbus/dbus-protocol.h: drop special _REPLY names, the spec
7350 no longer specifies that.
7351 (DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
7354 * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
7355 "break" for DBUS_TYPE_NIL, remove @todo
7357 2003-01-31 Havoc Pennington <hp@pobox.com>
7359 * dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
7360 just set_is_error/get_is_error as this is a commonly-used
7361 function, and write docs.
7363 2003-01-31 Anders Carlsson <andersca@codefactory.se>
7365 * dbus/dbus-address.c: (dbus_address_entry_free):
7366 Free key and value lists.
7368 * dbus/dbus-internals.c: (_dbus_type_to_string):
7369 Add the types we didn't have.
7371 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
7372 (_dbus_marshal_validate_arg):
7375 * dbus/dbus-message.c: (dbus_message_set_sender):
7376 Remove todo about being able to set sender to NULL.
7378 (dbus_message_set_is_error_reply),
7379 (dbus_message_get_is_error_reply):
7380 * dbus/dbus-message.h:
7383 * dbus/dbus-protocol.h:
7384 Add error reply flag.
7386 * test/data/valid-messages/opposite-endian.message:
7387 Add NIL type to test.
7389 2003-01-31 Havoc Pennington <hp@pobox.com>
7391 * doc/dbus-specification.sgml: fully specify the header. Add
7392 flags and major protocol version, and change header/body len to
7395 * dbus/dbus-message-builder.c (append_saved_length): append length
7398 * dbus/dbus-message.c (dbus_message_create_header): change header
7399 length and body length to unsigned. Add the new fields from the
7401 (_dbus_message_loader_return_buffer): unsigned header/body len
7403 2003-01-30 Havoc Pennington <hp@pobox.com>
7405 * dbus/dbus-auth.c: rework to use only REJECTED, no
7408 * doc/dbus-sasl-profile.txt: drop MECHANISMS and just
7409 use REJECTED, suggested by Mark McLoughlin
7411 2003-01-30 Havoc Pennington <hp@pobox.com>
7413 * dbus/dbus-server.c (dbus_server_listen): @todo about how we need
7414 a better way to report errors here. e.g. "unix address lacks
7415 path" or something. also "no such file" when the path doesn't
7418 * dbus/dbus-address.c (dbus_address_entries_free): add @todo about
7420 (dbus_parse_address): add @todo about documenting address format,
7421 and allowing , and ; to be escaped
7423 2003-01-30 Anders Carlsson <andersca@codefactory.se>
7426 Add dbus-address.[ch]
7428 * dbus/dbus-address.c: (dbus_address_entry_free),
7429 (dbus_address_entries_free), (create_entry),
7430 (dbus_address_entry_get_method), (dbus_address_entry_get_value),
7431 (dbus_parse_address), (_dbus_address_test):
7432 * dbus/dbus-address.h:
7433 New files for dealing with address parsing.
7435 * dbus/dbus-connection.c:
7436 Document timeout functions.
7438 * dbus/dbus-message.c:
7439 Document dbus_message_new_from_message.
7441 * dbus/dbus-server-debug.c:
7444 * dbus/dbus-server.c: (dbus_server_listen):
7445 Parse address and use correct server implementation.
7447 * dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
7448 * dbus/dbus-string.h:
7449 New function with test.
7451 * dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
7455 * dbus/dbus-transport-debug.c:
7458 * dbus/dbus-transport.c: (_dbus_transport_open):
7459 Parse address and use correct transport implementation.
7461 2003-01-30 Havoc Pennington <hp@pobox.com>
7463 * dbus/dbus-message.c: use message->byte_order instead of
7464 DBUS_COMPILER_BYTE_ORDER throughout.
7465 (dbus_message_create_header): pad header to align the
7466 start of the body of the message to 8-byte boundary
7468 * dbus/dbus-marshal.h: make all the demarshalers take const
7469 DBusString arguments.
7471 * dbus/dbus-message.c (_dbus_message_loader_return_buffer):
7472 validate message args here, so we don't have to do slow validation
7473 later, and so we catch bad messages as they are incoming. Also add
7474 better checks on header_len and body_len. Also fill in
7477 * dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
7478 implemented properly)
7479 (_dbus_string_validate_nul): new function to check all-nul
7481 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
7482 get_arg_end_pos and remove all validation
7483 (_dbus_marshal_validate_arg): actually do validation here.
7485 2003-01-29 Havoc Pennington <hp@pobox.com>
7487 * dbus/dbus-message.c (check_message_handling): fix assertion
7488 failure on set_client_serial
7490 2003-01-28 Havoc Pennington <hp@pobox.com>
7492 * dbus/dbus-server-debug.c: Add doc section comments
7494 * dbus/dbus-transport-debug.c: add doc section comments
7496 2003-01-28 Havoc Pennington <hp@redhat.com>
7498 * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
7499 the reverse order from how I had it
7500 (_dbus_string_base64_encode): reverse encoding order. I was
7501 basically byteswapping everything during encoding.
7503 2003-01-28 Anders Carlsson <andersca@codefactory.se>
7505 * dbus/dbus-connection-internal.h:
7506 * dbus/dbus-connection.c: (_dbus_connection_add_timeout),
7507 (_dbus_connection_remove_timeout):
7508 Add functions for adding and removing timeouts.
7510 * dbus/dbus-message.c: (dbus_message_new_from_message):
7511 Add new function that takes a message and creates an exact
7512 copy of it, but with the refcount set to 1.
7513 (check_message_handling):
7516 * dbus/dbus-server-protected.h:
7517 * dbus/dbus-server.c: (_dbus_server_init_base),
7518 (_dbus_server_finalize_base), (_dbus_server_add_timeout),
7519 (dbus_server_set_timeout_functions):
7520 (_dbus_server_remove_timeout):
7521 New functions so that a server can add and remove timeouts.
7523 (dbus_server_listen):
7524 Add commented out call to dbus_server_debug_new.
7526 * dbus/dbus-timeout.c: (_dbus_timeout_new):
7527 Actually set the handler, doh.
7529 * dbus/dbus-transport.c: (_dbus_transport_open):
7530 Add commented out call to dbus_transport_debug_client_new.
7533 Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
7535 2003-01-28 Havoc Pennington <hp@pobox.com>
7537 * dbus/dbus-message.c (check_message_handling): function to check
7538 on the loaded message, iterates over it etc.
7540 2003-01-28 Havoc Pennington <hp@pobox.com>
7542 * test/Makefile.am (dist-hook): fix make distdir
7544 * dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
7546 2003-01-27 Havoc Pennington <hp@pobox.com>
7548 * dbus/dbus-mempool.c (time_for_size): replace printf with
7551 * dbus/dbus-message-builder.c (_dbus_message_data_load): allow
7552 empty lines; fix the SAVE_LENGTH stuff to be
7553 START_LENGTH/END_LENGTH so it actually works; couple other
7556 * test/Makefile.am (dist-hook): add dist-hook for .message files
7558 * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
7559 can be constant or locked.
7560 (_dbus_string_free): allow freeing a const string as
7563 * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
7565 * dbus/dbus-test-main.c (main): take an argument which is the
7566 directory containing test data
7568 * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
7569 argument to this and load all the messages in test/data/
7570 checking that they can be loaded or not loaded as appropriate.
7572 2003-01-27 Anders Carlsson <andersca@codefactory.se>
7574 * bus/dispatch.c: (bus_dispatch_message_handler):
7575 Dispatch messages sent to services.
7577 * bus/driver.c: (bus_driver_send_service_deleted),
7578 (bus_driver_send_service_created), (bus_driver_send_service_lost),
7579 (bus_driver_send_service_acquired):
7580 Add helper functions for sending service related messages.
7582 (bus_driver_send_welcome_message):
7583 Send HELLO_REPLY instead of WELCOME.
7585 (bus_driver_handle_list_services):
7586 Send LIST_SERVICES_REPLY instead of SERVICES.
7588 (bus_driver_handle_own_service),
7589 (bus_driver_handle_service_exists):
7590 New message handlers.
7592 (bus_driver_handle_message):
7593 Invoke new message handlers.
7595 (bus_driver_remove_connection):
7596 Don't remove any services here since that's done automatically
7597 by bus_service_remove_owner now.
7600 New function signatures.
7602 * bus/services.c: (bus_service_add_owner):
7603 Send ServiceAcquired message if we're the only primary owner.
7605 (bus_service_remove_owner):
7606 Send ServiceAcquired/ServiceLost messages.
7608 (bus_service_set_prohibit_replacement),
7609 (bus_service_get_prohibit_replacement):
7610 Functions for setting prohibit replacement.
7612 (bus_service_has_owner):
7613 New function that checks if a connection is in the owner queue of
7617 Add new function signatures.
7619 * dbus/dbus-list.c: (_dbus_list_test):
7620 Add tests for _dbus_list_remove_last and traversing the list backwards.
7623 Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
7624 go any further, so return NULL then.
7626 * dbus/dbus-protocol.h:
7627 Add new messages, service flags and service replies.
7629 2003-01-26 Havoc Pennington <hp@pobox.com>
7631 * dbus/dbus-message-builder.c: implement, completely untested.
7633 * test/data/*: add data to be used in testing.
7634 ".message" files are our simple loadable text format.
7635 ".message-raw" will be binary dumps of messages.
7637 * dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
7639 2003-01-26 Havoc Pennington <hp@pobox.com>
7641 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
7643 * dbus/dbus-errors.c (dbus_result_to_string): add
7646 * dbus/dbus-message-builder.c: new file, will contain code to load
7647 up messages from files. Not implemented yet.
7649 2003-01-26 Havoc Pennington <hp@pobox.com>
7651 * dbus/dbus-message.c (dbus_message_set_sender): support deleting
7652 the sender by setting to NULL
7654 2003-01-26 Havoc Pennington <hp@pobox.com>
7656 The unit tests pass, but otherwise untested. If it breaks, the
7657 tests should have been better. ;-)
7659 * bus/driver.c (bus_driver_handle_hello): return if we disconnect
7662 * dbus/dbus-message.c: redo everything so we maintain
7663 message->header as the only copy of the various fields.
7664 This avoids the possibility of out-of-memory in some cases,
7665 for example dbus_message_lock() can't run out of memory anymore,
7666 and avoids extra copying. Figured I may as well go ahead and do
7667 this since it was busted for dbus_message_lock to not return
7668 failure on OOM, and dbus_message_write_header was totally
7669 unchecked for OOM. Also fixed some random other bugs.
7671 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
7672 that strings are nul-terminated. Also, end_pos can be equal
7673 to string length just not greater than, I think.
7674 (_dbus_marshal_set_int32): new function
7675 (_dbus_marshal_set_uint32): new function
7676 (_dbus_marshal_set_string): new function
7678 * dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
7679 a warning, init timeout_list to NULL
7680 (dbus_connection_send_message): don't use uninitialized variable
7683 * dbus/dbus-string.c (_dbus_string_replace_len): new function
7685 2003-01-26 Anders Carlsson <andersca@codefactory.se>
7687 * bus/driver.c: (bus_driver_handle_hello),
7688 (bus_driver_send_welcome_message):
7691 2003-01-26 Anders Carlsson <andersca@codefactory.se>
7693 * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
7694 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
7695 (dbus_connection_unref):
7696 * dbus/dbus-marshal.c: (_dbus_marshal_test):
7697 * dbus/dbus-message.c: (dbus_message_unref),
7700 (dbus_message_get_fields):
7701 Remove debugging printout.
7703 (_dbus_message_loader_return_buffer):
7704 Don't store the header string.
7706 (_dbus_message_test):
7709 2003-01-26 Richard Hult <rhult@codefactory.se>
7711 * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
7712 the file descriptor list, since it can change under us.
7714 2003-01-25 Anders Carlsson <andersca@codefactory.se>
7716 * glib/dbus-gmain.c: (dbus_connection_prepare),
7717 (dbus_connection_check), (dbus_connection_dispatch), (add_watch),
7718 (remove_watch), (dbus_connection_hookup_with_g_main):
7719 Rewrite the glib handling to use its own GSource instead of a
7720 GIOChannel so we can catch messages put in the queue while waiting
7723 2003-01-25 Anders Carlsson <andersca@codefactory.se>
7726 * bus/connection.c: (connection_disconnect_handler),
7727 (connection_watch_callback), (bus_connection_setup):
7728 * bus/dispatch.c: (send_one_message),
7729 (bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
7730 (bus_dispatch_add_connection), (bus_dispatch_remove_connection):
7732 * bus/driver.c: (bus_driver_send_service_deleted),
7733 (bus_driver_send_service_created), (bus_driver_handle_hello),
7734 (bus_driver_send_welcome_message),
7735 (bus_driver_handle_list_services), (bus_driver_remove_connection),
7736 (bus_driver_handle_message):
7738 Refactor code, put the message dispatching in its own file. Use
7739 _DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
7742 2003-01-25 Anders Carlsson <andersca@codefactory.se>
7744 * dbus/dbus-internals.h:
7745 Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
7747 * dbus/dbus-message.c: (dbus_message_get_sender):
7748 * dbus/dbus-message.h:
7749 Implement dbus_message_get_sender.
7751 * dbus/dbus-protocol.h:
7752 Add message and service defines.
7754 2003-01-25 Anders Carlsson <andersca@codefactory.se>
7756 * dbus/dbus-connection.c: (dbus_connection_send_message):
7757 * dbus/dbus-message-internal.h:
7758 * dbus/dbus-message.c: (_dbus_message_get_client_serial),
7759 (dbus_message_write_header):
7760 Remove _dbus_messag_unlock and don't set the client serial on a
7761 message if one already exists.
7763 2003-01-24 Havoc Pennington <hp@pobox.com>
7765 * dbus/dbus-list.c (alloc_link): put a thread lock on the global
7768 * bus/driver.c (bus_driver_handle_list_services): fix a leak
7771 2003-01-25 Anders Carlsson <andersca@codefactory.se>
7773 * dbus/dbus-list.c: (alloc_link), (free_link):
7774 Use a memory pool for the links.
7776 2003-01-25 Anders Carlsson <andersca@codefactory.se>
7778 * bus/connection.c: (bus_connection_foreach):
7780 Add new bus_connection_foreach function.
7782 * bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
7783 Add function that broadcasts a message to all clients.
7785 (bus_driver_send_service_created), (bus_driver_handle_hello),
7786 (bus_driver_send_welcome_message),
7787 (bus_driver_handle_list_services), (bus_driver_message_handler):
7788 Implement functions that take care of listing services, and notifying
7789 clients when new services are created.
7791 * bus/services.c: (bus_services_list):
7793 Add new function that returns an array of strings with the currently
7794 registered services.
7797 * glib/dbus-gmain.c:
7798 Update copyright year.
7800 2003-01-25 Anders Carlsson <andersca@codefactory.se>
7802 * dbus/dbus-connection.c: (dbus_connection_send_message):
7803 Unlock the message in case it was sent earlier.
7805 (dbus_connection_send_message_with_reply_and_block):
7806 Remove the reply message from the list.
7808 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
7809 Set array_len and new_pos correctly.
7811 (_dbus_marshal_test):
7812 Remove debug output.
7814 * dbus/dbus-message-internal.h:
7815 * dbus/dbus-message.c: (_dbus_message_get_reply_serial):
7816 New function that returns the reply serial.
7818 (_dbus_message_unlock):
7819 New function that unlocks a message and resets its header.
7821 (dbus_message_append_string_array),
7822 (dbus_message_get_fields_valist),
7823 (dbus_message_iter_get_field_type),
7824 (dbus_message_iter_get_string_array),
7825 (dbus_message_get_fields),
7826 (dbus_message_append_fields_valist):
7827 Handle string arrays.
7829 (dbus_message_set_sender):
7830 Make this function public since the bus daemon needs it.
7832 (decode_header_data):
7833 Set the reply serial to -1 initially.
7835 * dbus/dbus-message.h:
7836 Add dbus_message_set_sender.
7838 2003-01-24 Havoc Pennington <hp@pobox.com>
7840 * doc/dbus-specification.sgml: add some stuff
7842 2003-01-22 Havoc Pennington <hp@pobox.com>
7844 * doc/dbus-specification.sgml: Start to document the protocol.
7846 2003-01-22 Havoc Pennington <hp@pobox.com>
7848 * dbus/dbus-connection.c
7849 (dbus_connection_send_message_with_reply_and_block): add some @todo
7851 * bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
7853 2003-01-21 Havoc Pennington <hp@pobox.com>
7855 (patch untested because can't compile)
7857 * bus/driver.c (create_unique_client_name): make this function
7858 never recycle client names. Also, caller should initialize
7861 * dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
7863 2003-01-21 Anders Carlsson <andersca@codefactory.se>
7865 * dbus/dbus-marshal.c: (_dbus_marshal_double),
7866 (_dbus_marshal_int32), (_dbus_marshal_uint32),
7867 (_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
7868 (_dbus_marshal_double_array), (_dbus_marshal_string_array),
7869 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
7870 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
7871 (_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
7872 * dbus/dbus-marshal.h:
7873 * dbus/dbus-protocol.h:
7874 Add support for marshalling and demarshalling integer, double
7877 2003-01-21 Anders Carlsson <andersca@codefactory.se>
7882 * bus/connection.c: (connection_disconnect_handler):
7883 Remove the connection from the bus driver's list.
7885 (connection_watch_callback): Dispatch messages.
7887 (free_connection_data): Free connection name.
7889 (bus_connection_setup): Add connection to the bus driver's list.
7890 (bus_connection_remove_owned_service):
7891 (bus_connection_set_name), (bus_connection_get_name):
7892 Add functions for setting and getting the connection's name.
7895 Add function headers.
7897 * bus/driver.c: (create_unique_client_name),
7898 (bus_driver_handle_hello_message),
7899 (bus_driver_send_welcome_message), (bus_driver_message_handler),
7900 (bus_driver_add_connection), (bus_driver_remove_connection):
7903 * bus/services.c: (bus_service_free):
7905 New file that handles communication and registreation with the bus
7908 2003-01-21 Anders Carlsson <andersca@codefactory.se>
7910 * dbus/dbus-connection.c: (dbus_connection_send_message):
7911 Add a new client_serial parameter.
7913 (dbus_connection_send_message_with_reply):
7914 Remove a @todo since we've implemented the blocking function.
7916 (dbus_connection_send_message_with_reply_and_block):
7917 New function that sends a message and waits for a reply and
7918 then returns the reply.
7920 * dbus/dbus-connection.h:
7923 * dbus/dbus-errors.c: (dbus_result_to_string):
7924 * dbus/dbus-errors.h:
7925 Add new DBUS_RESULT.
7927 * dbus/dbus-message-internal.h:
7928 * dbus/dbus-message.c: (_dbus_message_get_reply_serial),
7929 (_dbus_message_set_sender), (dbus_message_write_header),
7930 (dbus_message_new_reply), (decode_header_data),
7931 (_dbus_message_loader_return_buffer), (_dbus_message_test):
7932 * dbus/dbus-message.h:
7933 Add new functions that set the reply serial and sender.
7934 Also marshal and demarshal them correctly and add test.
7936 * dbus/dbus-protocol.h:
7937 Add new DBUS_MESSAGE_TYPE_SENDER.
7940 * glib/dbus-gmain.c: (watch_callback), (free_callback_data),
7941 (add_watch), (remove_watch), (add_timeout), (remove_timeout),
7942 (dbus_connection_hookup_with_g_main):
7943 * glib/test-dbus-glib.c: (main):
7944 Rewrite to use GIOChannel and remove the GSource crack.
7946 * test/echo-client.c: (main):
7947 * test/watch.c: (check_messages):
7948 Update for changed APIs
7950 2003-01-19 Anders Carlsson <andersca@codefactory.se>
7952 * dbus/Makefile.am: Add dbus-timeout.[cħ]
7954 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
7955 Create a DBusTimeoutList.
7956 (dbus_connection_set_timeout_functions): Add new function to
7957 set timeout callbacks
7959 * dbus/dbus-connection.h: Add public DBusTimeout API.
7961 * dbus/dbus-message.c: (dbus_message_get_service):
7962 * dbus/dbus-message.h: New function.
7964 * dbus/dbus-server.c: Fix small doc typo.
7966 * dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
7968 2003-01-19 Anders Carlsson <andersca@codefactory.se>
7970 * dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
7971 of the string, just as long as specified.
7973 2003-01-19 Havoc Pennington <hp@pobox.com>
7975 * dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
7978 * dbus/dbus-server.c (dbus_server_set_max_connections)
7979 (dbus_server_get_max_connections, dbus_server_get_n_connections):
7980 keep track of current number of connections, and add API for
7981 setting a max (but haven't implemented enforcing the max yet)
7983 2003-01-18 Havoc Pennington <hp@pobox.com>
7985 * dbus/dbus-transport-unix.c (unix_do_iteration): only do the
7986 reading/writing if read_watch != NULL or write_watch != NULL.
7988 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
7989 the message loader code to actually load message->header and
7990 message->body into the newly-created message.
7992 * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
7995 * dbus/dbus-connection.c (dbus_connection_set_max_message_size)
7996 (dbus_connection_get_max_message_size)
7997 (dbus_connection_set_max_live_messages_size)
7998 (dbus_connection_get_max_live_messages_size): implement some
7999 resource limitation functions
8001 * dbus/dbus-resources.c: new file implementing some of the
8002 resource limits stuff
8004 * dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
8005 missing docs, add @todo to handle OOM etc.
8007 * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
8010 2003-01-18 Havoc Pennington <hp@pobox.com>
8012 * dbus/dbus-connection.c (dbus_connection_unref): disconnect the
8013 connection if it hasn't been already.
8015 * dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
8016 replace with DisconnectFunction.
8018 2003-01-18 Havoc Pennington <hp@pobox.com>
8020 Building --disable-verbose-mode --disable-asserts --disable-tests
8021 cuts the library from 112K to 45K or so
8023 * configure.in: check for varargs macro support,
8024 add --enable-verbose-mode, --enable-asserts.
8026 * dbus/dbus-internals.h (_dbus_assert): support
8028 (_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
8030 2003-01-18 Havoc Pennington <hp@pobox.com>
8032 * dbus/dbus-test.c: include config.h so that tests actually run
8034 * dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
8035 so the failure mode when that assumption fails will be plenty
8038 2003-01-18 Havoc Pennington <hp@pobox.com>
8040 * configure.in: default --enable-tests to $USE_MAINTAINER_MODE
8042 * dbus/Makefile.am: fix it up so dubs-test-main.c is included in
8045 * test/Makefile.am: don't use special variable "TESTS" for echo-*
8046 since we don't want to use those in make check
8048 2003-01-15 Havoc Pennington <hp@redhat.com>
8054 2003-01-15 Havoc Pennington <hp@redhat.com>
8056 * test/Makefile.am: fix so that test source code ends up in the
8057 distribution on make distcheck
8059 2003-01-15 Havoc Pennington <hp@redhat.com>
8065 2003-01-15 Havoc Pennington <hp@redhat.com>
8067 * dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
8068 fix build when --disable-tests
8070 * Makefile.am (EXTRA_DIST): put HACKING in here
8072 * HACKING: document procedure for making a tarball release.
8074 2003-01-14 Anders Carlsson <andersca@codefactory.se>
8076 * bus/connection.c: (connection_error_handler),
8077 (bus_connection_setup):
8078 * bus/main.c: (main):
8079 Make sure that the DBusConnectionData struct is NULLed
8080 out to prevent a segfault.
8082 * dbus/dbus-errors.c: (dbus_result_to_string):
8083 * dbus/dbus-errors.h:
8084 * dbus/dbus-message.c: (dbus_message_get_fields),
8085 (dbus_message_get_fields_valist), (_dbus_message_test):
8086 * dbus/dbus-message.h:
8087 Make dbus_message_get_fields return a result code so we can
8088 track invalid fields as well as oom.
8090 2003-01-11 Havoc Pennington <hp@pobox.com>
8092 * configure.in: change --enable-test/--enable-ansi action-if-given
8093 to enable_foo=$enableval instead of enable_foo=yes
8095 2003-01-08 Havoc Pennington <hp@pobox.com>
8097 * dbus/dbus-string.c (_dbus_string_align_length): new function
8099 * dbus/dbus-test-main.c: move main() for test app here
8101 (dbus_internal_symbol_do_not_use_run_tests): we have to export a
8102 symbol to run tests, because dbus-test isn't in the main
8105 Code review nitpicks.
8107 * dbus/dbus-message.c (dbus_message_write_header): add newlines
8108 for people with narrow emacs ;-). Assert client_serial was filled
8109 in. Assert message->name != NULL.
8110 (dbus_message_append_fields): have "first_field_type" arg separate
8111 from va list, needed for C++ binding that also uses varargs IIRC
8112 and helps with type safety
8113 (dbus_message_new): add @todo about using DBusString to store
8114 service/name internally
8115 (dbus_message_new): don't leak ->service and ->name on OOM later
8117 (dbus_message_unref): free the service name
8118 (dbus_message_get_fields): same change to varargs
8119 i.e. first_field_type
8120 (_dbus_message_loader_return_buffer): assert that the message data
8121 is aligned (if not it's a bug in our code). Put in verbose griping
8122 about why we set corrupted = TRUE.
8123 (decode_header_data): add FIXME that char* is evil. Was going to
8124 add FIXME about evil locale-specific string.h strncmp, but just
8125 switched to wacky string-as-uint32 optimization. Move check for
8126 "no room for field name" above get_const_data_len() to avoid
8127 assertion failure in get_const_data_len if we have trailing 2
8128 bytes or the like. Check for service and name fields being
8129 provided twice. Don't leak service/name on error. Require field
8130 names to be aligned to 4 bytes.
8132 * dbus/dbus-marshal.c: move byte swap stuff to header
8133 (_dbus_pack_int32): uscore-prefix
8134 (_dbus_unpack_int32): uscore-prefix
8135 (_dbus_unpack_uint32): export
8136 (_dbus_demarshal_string): add @todo complaining about use of
8138 (_dbus_marshal_get_field_end_pos): add @todo about bad error
8139 handling allowing corrupt data to go unchecked
8141 2003-01-08 Havoc Pennington <hp@redhat.com>
8143 * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
8144 to the select() as needed for authentication. (should be using
8145 _dbus_poll() not select, but for another day)
8147 * dbus/dbus.h: include dbus/dbus-protocol.h
8149 2003-01-08 Anders Carlsson <andersca@codefactory.se>
8151 * dbus/Makefile.am (dbusinclude_HEADERS): Install
8154 2003-01-08 Anders Carlsson <andersca@codefactory.se>
8156 * dbus/dbus-internals.c: (_dbus_type_to_string):
8157 New function that returns a string describing a type.
8159 * dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
8160 * dbus/dbus-marshal.h:
8161 * dbus/dbus-message.c: (dbus_message_get_fields_valist),
8162 (dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
8163 (dbus_message_iter_get_byte_array):
8164 * dbus/dbus-message.h:
8165 Add new convenience functions for appending and getting message fields.
8166 Also add demarshalling routines for byte arrays.
8168 2003-01-07 Anders Carlsson <andersca@codefactory.se>
8170 * dbus/dbus-connection-internal.h:
8171 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
8172 (_dbus_connection_get_next_client_serial),
8173 (dbus_connection_send_message):
8174 * dbus/dbus-internals.h:
8175 * dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
8176 (dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
8177 (_dbus_marshal_uint32), (_dbus_demarshal_double),
8178 (_dbus_demarshal_int32), (_dbus_demarshal_uint32),
8179 (_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
8180 (_dbus_verbose_bytes), (_dbus_marshal_test):
8181 * dbus/dbus-marshal.h:
8182 * dbus/dbus-message-internal.h:
8183 * dbus/dbus-message.c: (_dbus_message_set_client_serial),
8184 (dbus_message_write_header), (_dbus_message_lock),
8185 (dbus_message_new), (dbus_message_ref), (dbus_message_unref),
8186 (dbus_message_get_name), (dbus_message_append_int32),
8187 (dbus_message_append_uint32), (dbus_message_append_double),
8188 (dbus_message_append_string), (dbus_message_append_byte_array),
8189 (dbus_message_get_fields_iter), (dbus_message_iter_ref),
8190 (dbus_message_iter_unref), (dbus_message_iter_has_next),
8191 (dbus_message_iter_next), (dbus_message_iter_get_field_type),
8192 (dbus_message_iter_get_string), (dbus_message_iter_get_int32),
8193 (dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
8194 (decode_header_data), (_dbus_message_loader_return_buffer),
8195 (message_iter_test), (_dbus_message_test):
8196 * dbus/dbus-message.h:
8197 * dbus/dbus-protocol.h:
8198 * dbus/dbus-test.c: (main):
8200 * glib/test-dbus-glib.c: (message_handler), (main):
8201 * test/echo-client.c: (main):
8202 * test/watch.c: (check_messages):
8203 Make messages sendable and receivable for real.
8205 2003-01-07 Anders Carlsson <andersca@codefactory.se>
8207 * dbus/dbus-marshal.c: (_dbus_marshal_double),
8208 (_dbus_marshal_string), (_dbus_marshal_byte_array):
8209 * dbus/dbus-message.c: (dbus_message_append_int32),
8210 (dbus_message_append_uint32), (dbus_message_append_double),
8211 (dbus_message_append_string), (dbus_message_append_byte_array):
8212 Handle OOM restoration.
8214 2003-01-07 Anders Carlsson <andersca@codefactory.se>
8216 * dbus/dbus-marshal.c: (_dbus_marshal_string),
8217 (_dbus_demarshal_string), (_dbus_marshal_test):
8218 * dbus/dbus-marshal.h:
8219 * dbus/dbus-message.c: (dbus_message_get_name),
8220 Document these functions.
8222 (dbus_message_append_int32), (dbus_message_append_uint32),
8223 (dbus_message_append_double), (dbus_message_append_string),
8224 (dbus_message_append_byte_array):
8225 * dbus/dbus-message.h:
8226 Add functions for adding message fields of different types.
8228 * dbus/dbus-protocol.h:
8229 Add the different types.
8231 2003-01-05 Havoc Pennington <hp@pobox.com>
8233 * bus/connection.c: implement routines for handling connections,
8234 first thing is keeping a list of owned services on each connection
8235 and setting up watches etc.
8237 * bus/services.c: implement a mapping from service names to lists
8240 * dbus/dbus-hash.c: add DBUS_HASH_POINTER
8242 * dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
8243 to use static mutexes for global data
8245 * dbus/dbus-connection.c (dbus_connection_set_data): add new
8246 collection of functions to set/get application-specific data
8247 on the DBusConnection.
8249 2003-01-04 Havoc Pennington <hp@pobox.com>
8251 * dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
8252 (_dbus_poll): new function
8254 * dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
8257 * bus/loop.c: initial code for the daemon main loop
8259 2003-01-04 Havoc Pennington <hp@pobox.com>
8261 * test/watch.c (error_handler): make it safe if the error handler
8262 is called multiple times (if we s/error handler/disconnect
8263 handler/ we should just guarantee it's called only once)
8265 * dbus/dbus-transport.c (_dbus_transport_disconnect): call the
8266 error handler on disconnect (it's quite possible we should
8267 just change the error handler to a "disconnect handler," I'm
8268 not sure we have any other meaningful errors)
8270 * configure.in: check for getpwnam_r
8272 * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
8273 dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
8274 mechanism as in SASL spec, using socket credentials
8276 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
8277 (_dbus_send_credentials_unix_socket): new function
8279 * dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
8281 (_dbus_write): only check errno if <0 returned
8282 (_dbus_write_two): ditto
8284 2003-01-02 Anders Carlsson <andersca@codefactory.se>
8286 * dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
8287 (_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
8288 (_dbus_marshal_test):
8289 * dbus/dbus-marshal.h:
8290 Add _dbus_marshal_byte_array and rename _dbus_marshal_string
8291 to _dbus_marshal_utf8_string. Also fix some tests.
8293 2002-12-28 Harri Porten <porten@kde.org>
8295 * configure.in: added check for C++ compiler and a very cheesy
8296 check for the Qt integration
8298 * Makefile.am (SUBDIRS): compile qt subdir if support is enabled
8300 * qt/Makefile.am: added
8302 * qt/.cvsignore: added
8304 * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
8305 latter, added #ifdef QT_THREAD_SUPPORT guard.
8307 * dbus/Makefile.am: added missing headers for make dist
8309 2002-12-28 Kristian Rietveld <kris@gtk.org>
8311 * dbus/Makefile.am: fixup export-symbols-regex.
8313 2002-12-27 Anders Carlsson <andersca@codefactory.se>
8315 * acinclude.m4: Add this file and put the
8316 PKG_CHECK_MODULE macro in it.
8318 2002-12-27 Anders Carlsson <andersca@codefactory.se>
8320 * dbus/dbus-marshal.c: (_dbus_marshal_string),
8321 (_dbus_demarshal_double), (_dbus_demarshal_int32),
8322 (_dbus_demarshal_uint32), (_dbus_demarshal_string),
8323 (_dbus_marshal_test):
8324 Make the demarshalling routines align the pos argument.
8325 Add string marshalling tests and fix the obvious bugs
8328 2002-12-26 Havoc Pennington <hp@pobox.com>
8330 * dbus/dbus-auth.c: fixes fixes fixes
8332 * dbus/dbus-transport-unix.c: wire up support for
8333 encoding/decoding data on the wire
8335 * dbus/dbus-auth.c (_dbus_auth_encode_data)
8336 (_dbus_auth_decode_data): append to target string
8337 instead of nuking it.
8339 2002-12-26 Havoc Pennington <hp@pobox.com>
8341 * dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
8342 WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
8345 * dbus/dbus-marshal.c: Add macros to do int swapping in-place and
8346 avoid swap_bytes() overhead (ignoring possible assembly stuff for
8347 now). Main point is because I wanted unpack_uint32 to implement
8349 (_dbus_verbose_bytes): new function
8351 * dbus/dbus-string.c (_dbus_string_validate_ascii): new function
8353 * dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
8354 mechanism to handle a corrupt message stream
8355 (_dbus_message_loader_new): fix preallocation to only prealloc,
8358 * dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
8359 (_dbus_string_test): enhance tests for copy/move and fix the
8362 * dbus/dbus-transport-unix.c: Hold references in more places to
8363 avoid reentrancy problems
8365 * dbus/dbus-transport.c: ditto
8367 * dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
8368 leak reference count in no-message case
8370 * test/watch.c (do_mainloop): handle adding/removing watches
8371 during iteration over the watches. Also, ref the connection/server
8372 stored on a watch, so we don't try to mangle a destroyed one.
8374 * dbus/dbus-transport-unix.c (do_authentication): perform
8377 * dbus/dbus-auth.c (get_state): add a state
8378 AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
8379 (_dbus_auth_get_unused_bytes): append the unused bytes
8380 to the passed in string, rather than prepend
8382 * dbus/dbus-transport.c (_dbus_transport_init_base): create
8383 the auth conversation DBusAuth
8385 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
8386 (_dbus_transport_new_for_domain_socket): when creating a
8387 transport, pass in whether it's a client-side or server-side
8388 transport so we know which DBusAuth to create
8390 2002-12-03 Havoc Pennington <hp@pobox.com>
8392 * dbus/dbus-transport-unix.c (unix_finalize): finalize base
8393 _after_ finalizing the derived members
8394 (unix_connection_set): unref watch if we fail to add it
8396 * dbus/dbus-connection.c (dbus_connection_unref): delete the
8397 transport first, so that the connection owned by the
8398 transport will be valid as the transport finalizes.
8400 * dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
8401 if necessary, and remove watches from the connection.
8403 * dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
8405 2002-12-26 Anders Carlsson <andersca@codefactory.se>
8407 * dbus/dbus-marshal.c: (_dbus_marshal_string),
8408 (_dbus_demarshal_double), (_dbus_demarshal_int32),
8409 (_dbus_demarshal_uint32), (_dbus_demarshal_string),
8410 (_dbus_marshal_test):
8411 * dbus/dbus-marshal.h:
8412 Add string marshal functions and have the demarshal functions
8413 return the new position.
8415 2002-12-25 Havoc Pennington <hp@pobox.com>
8417 * doc/dbus-sasl-profile.txt: docs on the authentication protocol,
8418 it is a simple protocol that just maps directly to SASL.
8420 * dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
8421 initial implementation, not actually used yet.
8423 * dbus/dbus-string.c (_dbus_string_find): new function
8424 (_dbus_string_equal): new function
8425 (_dbus_string_base64_encode): new function
8426 (_dbus_string_base64_decode): new function
8428 2002-12-25 Anders Carlsson <andersca@codefactory.se>
8431 * dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
8432 (_dbus_marshal_int32), (_dbus_marshal_uint32),
8433 (_dbus_demarshal_double), (_dbus_demarshal_int32),
8434 (_dbus_demarshal_uint32), (_dbus_marshal_test):
8435 * dbus/dbus-marshal.h:
8436 * dbus/dbus-protocol.h:
8437 * dbus/dbus-test.c: (main):
8439 Add un-optimized marshalling/demarshalling routines.
8441 2002-12-25 Harri Porten <porten@kde.org>
8443 * qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
8445 2002-12-24 Zack Rusin <zack@kde.org>
8447 * qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
8448 * qt/dbus-qt.h: skeleton with two sample implemenatation of the
8451 2002-12-24 Havoc Pennington <hp@pobox.com>
8453 * glib/dbus-gthread.c: fix include
8455 * glib/dbus-glib.h: rename DBusMessageHandler for now.
8456 I think glib API needs to change, though, as you don't
8457 want to use DBusMessageFunction, you want to use the
8458 DBusMessageHandler object. Probably
8459 dbus_connection_open_with_g_main_loop()
8460 and dbus_connection_setup_g_main_loop() or something like that
8461 (but think of better names...) that just create a connection
8462 that has watch/timeout functions etc. already set up.
8464 * dbus/dbus-connection.c
8465 (dbus_connection_send_message_with_reply): new function just to
8466 show how the message handler helps us deal with replies.
8468 * dbus/dbus-list.c (_dbus_list_remove_last): new function
8470 * dbus/dbus-string.c (_dbus_string_test): free a string that
8473 * dbus/dbus-hash.c: use memory pools for the hash entries
8474 (rebuild_table): be more paranoid about overflow, and
8475 shrink table when we can
8476 (_dbus_hash_test): reduce number of sprintfs and write
8477 valid C89. Add tests for case where we grow and then
8478 shrink the hash table.
8480 * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
8482 * dbus/dbus-connection.c (dbus_connection_register_handler)
8483 (dbus_connection_unregister_handler): new functions
8485 * dbus/dbus-message.c (dbus_message_get_name): new
8487 * dbus/dbus-list.c: fix docs typo
8489 * dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
8490 an object representing a handler for messages.
8492 2002-12-16 Anders Carlsson <andersca@codefactory.se>
8495 * glib/dbus-gthread.c: (dbus_gthread_init):
8496 Don't use the gdbus prefix for public functions.
8498 2002-12-16 Anders Carlsson <andersca@codefactory.se>
8502 Add GLib checks and fixup .pc files
8506 * glib/dbus-gmain.c: (gdbus_connection_prepare),
8507 (gdbus_connection_check), (gdbus_connection_dispatch),
8508 (gdbus_add_connection_watch), (gdbus_remove_connection_watch),
8509 (dbus_connection_gsource_new):
8510 * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
8511 (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
8512 * glib/test-dbus-glib.c: (message_handler), (main):
8515 2002-12-15 Harri Porten <porten@kde.org>
8517 * autogen.sh: check for libtoolize before attempting to use it
8519 * dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
8522 * .cvsignore: ignore more stamp files
8524 * dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
8526 * test/Makefile.am: added -I$(top_srcdir) to be able to compile
8527 without make install.
8529 2002-12-15 Havoc Pennington <hp@pobox.com>
8531 * dbus/dbus-threads.c: add thread stubs that a higher library
8532 layer can fill in. e.g. the GLib wrapper might fill them in with
8533 GThread stuff. We still need to use this thread API to
8534 thread-safe-ize the library.
8536 2002-12-12 Havoc Pennington <hp@pobox.com>
8538 * dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
8539 below new interfaces and include fewer system headers.
8541 * dbus/dbus-sysdeps.c (_dbus_read): new function
8542 (_dbus_write): new function
8543 (_dbus_write_two): new function
8544 (_dbus_connect_unix_socket): new function
8545 (_dbus_listen_unix_socket): new function
8547 * dbus/dbus-message-internal.h: change interfaces to use
8550 2002-12-11 Havoc Pennington <hp@pobox.com>
8552 * dbus/dbus-types.h: add dbus_unichar
8554 * dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
8556 * dbus/dbus-connection.c (dbus_connection_send_message): return
8559 * dbus/dbus-transport.c: include dbus-watch.h
8561 * dbus/dbus-connection.c: include dbus-message-internal.h
8563 * HACKING: add file with coding guidelines stuff.
8565 * dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
8566 handling here, for security purposes (as in vsftpd). Not actually
8567 using this class yet.
8569 * dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
8570 system/libc usage here, as in vsftpd, for ease of auditing (and
8571 should also simplify portability). Haven't actually moved all the
8572 system/libc usage into here yet.
8574 2002-11-25 Havoc Pennington <hp@pobox.com>
8576 * dbus/dbus-internals.c (_dbus_verbose): fix to not
8577 always print the first verbose message.
8579 2002-11-24 Havoc Pennington <hp@pobox.com>
8581 * test/echo-client.c, test/echo-server.c: cheesy test
8584 * configure.in (AC_CHECK_FUNCS): check for writev
8586 * dbus/dbus-message.c (_dbus_message_get_network_data): new
8589 * dbus/dbus-list.c (_dbus_list_foreach): new function
8591 * dbus/dbus-internals.c (_dbus_verbose): new function
8593 * dbus/dbus-server.c, dbus/dbus-server.h: public object
8594 representing a server that listens for connections.
8596 * dbus/.cvsignore: create
8598 * dbus/dbus-errors.h, dbus/dbus-errors.c:
8599 public API for reporting errors
8601 * dbus/dbus-connection.h, dbus/dbus-connection.c:
8602 public object representing a connection that
8603 sends/receives messages. (Same object used for
8604 both client and server.)
8606 * dbus/dbus-transport.h, dbus/dbus-transport.c:
8607 Basic abstraction for different kinds of stream
8608 that we might read/write messages from.
8610 2002-11-23 Havoc Pennington <hp@pobox.com>
8612 * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
8615 * dbus/dbus-test.c (main): add list test, and include
8616 dbus-test.h as intended
8618 * dbus/dbus-hash.c (_dbus_hash_table_remove_string)
8619 (_dbus_hash_table_remove_int): return value indicates
8620 whether the entry existed to remove
8622 * dbus/dbus-list.c: add linked list utility class,
8625 * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
8628 2002-11-23 Havoc Pennington <hp@pobox.com>
8630 * Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
8631 DBUS_END_DECLS to nothing, that should fix this once and for all
8633 * Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
8635 * dbus/dbus-message.c, dbus/dbus-hash.c:
8636 add some missing @brief
8638 2002-11-23 Havoc Pennington <hp@pobox.com>
8640 * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS
8641 to avoid confusing Doxygen
8643 * dbus/dbus-hash.c: @} not }@
8645 * dbus/dbus-message.c (struct DBusMessage): split out
8648 2002-11-23 Havoc Pennington <hp@pobox.com>
8650 * configure.in: pile on more warning flags if using gcc
8652 * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
8653 to document static functions
8655 * configure.in: add summary to end of configure so it
8656 looks nice and attractive
8658 * dbus/dbus-hash.c: finish implementation and write unit
8661 * configure.in: add --enable-tests to enable unit tests
8663 * dbus/dbus-test.c: test program to run unit tests
8664 for all files in dbus/*, initially runs a test for
8667 * dbus/dbus-internals.h: file to hold some internal utility stuff
8669 2002-11-22 Havoc Pennington <hp@redhat.com>
8671 * dbus/dbus-hash.c: copy in Tcl hash table, not yet
8672 "ported" away from Tcl
8674 * dbus/dbus-types.h: header for types such as dbus_bool_t
8676 2002-11-22 Havoc Pennington <hp@redhat.com>
8678 * dbus/dbus.h: fixups for doc warnings
8680 * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up
8682 (QUIET): make it quiet so we can see warnings
8684 * dbus/dbus-memory.c: teach D-BUS to allocate and free memory
8686 2002-11-22 Havoc Pennington <hp@redhat.com>
8688 * Makefile.am: include "Doxyfile" target in all-local
8690 * configure.in: generate the Doxyfile
8692 * Doxyfile.in: move Doxyfile here, so we can use
8693 configure to generate a Doxyfile with the right
8696 2002-11-22 Havoc Pennington <hp@redhat.com>
8698 * dbus/dbus-message.c: move inline docs into .c file
8700 * Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
8701 so all docs are under doc/
8702 (MAN_EXTENSION): generate man pages. Use extension
8703 ".3dbus" which matches ".3qt" on my system,
8704 I guess this is OK, I don't know really.
8705 (FILE_PATTERNS): look for .c files not .h, makes sense
8708 2002-11-22 Havoc Pennington <hp@pobox.com>
8710 * Makefile.am (SUBDIRS): rename subdir "server" to "bus"
8711 because any app can be a server, and any app can be a client,
8712 the bus is a special kind of server.
8714 Thu Nov 21 23:35:31 2002 Zack Rusin <zack@kde.org>
8716 * Doxyfile : adding. Still needs Makefile rules to be generated
8717 automatically (just run "doxygen" in the toplevel dir for now to
8720 * dbus/dbus-message.h : Adding sample docs (javadoc since
8721 resembles gtk-doc a little more)
8723 * dbus/dbus.h : Adding sample docs
8725 2002-11-21 Havoc Pennington <hp@redhat.com>
8727 * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
8728 so we can allow ourselves to include files directly,
8729 instead of having to use dbus.h
8731 * dbus/dbus.h: fill in
8733 * dbus/dbus-message.h: sketch out a sample header file.
8734 Include griping if you include it directly instead of
8737 * dbus/dbus-macros.h: new file with macros for extern "C",
8738 TRUE/FALSE, NULL, etc.
8740 * doc/file-boilerplate.c: put include guards in here
8742 2002-11-21 Havoc Pennington <hp@redhat.com>
8744 * doc/file-boilerplate.c: include both AFL and GPL boilerplate.
8746 * COPYING: include the GPL as well, and license code
8747 under both AFL and GPL.
8749 2002-11-21 Havoc Pennington <hp@redhat.com>
8751 * acconfig.h: get rid of this
8753 * autogen.sh (run_configure): add --no-configure option
8755 * configure.in: remove AC_ARG_PROGRAM to make
8756 autoconf complain less. add AC_PREREQ.
8757 add AC_DEFINE third arg.
8759 2002-11-21 Anders Carlsson <andersca@codefactory.se>
8762 Fix references so we can distcheck.
8764 2002-11-21 Havoc Pennington <hp@redhat.com>
8766 * Initial module creation