1 2004-05-15 Owen Fraser-Green <owen@discobabe.net>
3 * mono/dbus-sharp.dll.config.in: Added for GAC
4 * mono/dbus-sharp.snk: Added for GAC
5 * mono/Assembly.cs.in: Added for GAC
6 * mono/Makefile.am: Changes for GAC installation
7 * configure.in: Added refs for dbus-sharp.dll.config.in and
8 Assembly.cs.in. More fixes for mono testing
9 * mono/example/Makefile.am: Changed var to CSC
10 * Makefile.am: Changed flag name to DBUS_USE_CSC
12 2004-05-15 Owen Fraser-Green <owen@discobabe.net>
14 * mono/Makefile.am: Added SUBDIRS for docs. Changed SUBDIRS order
15 * mono/doc/*: Added documentation framework
16 * configure.in: Added monodoc check
17 * README: Added description of mono configure flags
19 2004-05-11 John (J5) Palmieri <johnp@redhat.com>:
21 * doc/dbus-specification.xml: Added a "Required" column to the
22 header fields table and changed the "zero or more" verbage in
23 the above paragraph to read "The header must contain the required
24 named header fields and zero or more of the optional named header
26 * test/data/invalid-messages/*.message: Added the required PATH
27 named header field to the tests so that they don't fail on
30 2004-05-07 John (J5) Palmieri <johnp@redhat.com>
32 * python/dbus-bindings.pyx.in: Stopped the bindings from trashing
33 the stack by implicitly defining variable and parameter types and
34 removing the hack of defining C pointers as python objects and later
37 2004-05-02 Owen Fraser-Green <owen@discobabe.net>
39 * mono/Makefile.am: Removed test-dbus-sharp.exe from all target
41 2004-05-01 Owen Fraser-Green <owen@discobabe.net>
43 * mono/DBusType/Dict.cs: Handle empty dicts
44 * mono/DBusType/Array.cs: Handle empty arrays
45 * mono/Arguments.cs: Handle empty arguments
47 2004-04-30 Owen Fraser-Green <owen@discobabe.net>
49 * dbus-sharp.pc.in: Modified to include include Libs and Requires
52 2004-04-25 Kristian Høgsberg <krh@redhat.com>
54 * test/data/valid-messages/standard-*.message: Update message
55 test scripts to new header field names.
57 2004-04-22 John (J5) Palmieri <johnp@redhat.com>
59 * test/break-loader.c (randomly_do_n_things): tracked down buffer
60 overflow to times_we_did_each_thing array which would chop off the
61 first character of the failure_dir string. Increased the size of
62 the array to 7 to reflect the number of random mutation functions
65 2004-04-21 Kristian Høgsberg <krh@redhat.com>
67 * dbus/dbus-server-unix.c (unix_finalize): Don't unref
68 unix_server->watch here, it is unreffed in disconnect.
69 (_dbus_server_new_for_tcp_socket): convert NULL host to
70 "localhost" here so we don't append NULL to address.
72 * dbus/dbus-server.c (_dbus_server_test): Add test case for
73 various addresses, including tcp with no explicit host.
75 2004-04-21 Olivier Andrieu <oliv__a@users.sourceforge.net>
77 * dbus/dbus-message.c (decode_header_data, decode_string_field):
78 fix incorrect setting of .name_offset in the HeaderField (it was
79 off by two bytes, positioned right after the name and typecode)
81 * bus/bus.c (bus_context_new, bus_context_unref): test before
82 calling dbus_server_free_data_slot and _dbus_user_database_unref
85 * tools/Makefile.am: add $(DBUS_GLIB_TOOL_LIBS), xml libs needed
88 2004-04-19 Kristian Høgsberg <krh@redhat.com>
90 * dbus/dbus-transport-unix.c (unix_do_iteration): Rewrite to use
91 _dbus_poll() instead of select().
93 2004-04-15 Jon Trowbridge <trow@ximian.com>
95 * bus/main.c (signal_handler): Reload the configuration files
97 (main): Set up our SIGHUP handler.
99 * bus/bus.c (struct BusContext): Store the config file, user and
100 fork flag in the BusContext.
101 (process_config_first_time_only): Added. Contains the code
102 (previously in bus_context_new) for setting up the BusContext from
103 the BusConfigParser that should only be run the first time the
104 config files are read.
105 (process_config_every_time): Added. Contains the code (previously
106 in bus_context_new) for setting up the BusContext from the
107 BusConfigParser that should be run every time the config files are
109 (load_config): Added. Builds a BusConfigParser from the config
110 files and passes the resulting structure off to
111 process_config_first_time_only (assuming this is the first time)
112 and process_config_every_time.
113 (bus_context_new): All of the config-related code has been moved
114 to process_config_first_time_only and process_config_every_time.
115 Now this function just does the non-config-related initializations
116 and calls load_config.
117 (bus_context_reload_config): Added.
119 2004-04-15 Olivier Andrieu <oliv__a@users.sourceforge.net>
121 * bus/driver.c (bus_driver_handle_get_service_owner):
122 implement a GetServiceOwner method.
123 * doc/dbus-specification.xml: document it.
124 * dbus/dbus-errors.h: add a 'ServiceHasNoOwner' error.
126 * glib/dbus-gproxy.c (dbus_gproxy_new_for_service_owner):
127 implement, using the bus GetServiceOwner method.
129 * test/glib/test-dbus-glib.c:
130 use dbus_gproxy_new_for_service_owner so that we can receive the
133 2004-04-15 John (J5) Palmieri <johnp@redhat.com>
135 * dbus/dbus-internals.c, dbus/dbus-message-builder.c,
136 dbus/dbus-message.c, dbus/dbus-protocol.h
137 (DBUS_HEADER_FIELD_SERVICE): renamed DBUS_HEADER_FIELD_DESTINATION
139 * dbus/dbus-internals.c, dbus/dbus-message-builder.c,
140 dbus/dbus-message.c, dbus/dbus-protocol.h
141 (DBUS_HEADER_FIELD_SENDER_SERVICE): renamed DBUS_HEADER_FIELD_SENDER
143 * dbus/dbus-internals.c (_dbus_header_field_to_string):
144 DBUS_HEADER_FIELD_DESTINATION resolves to "destination"
145 DBUS_HEADER_FIELD_SENDER resolves to "sender"
147 * doc/dbus-specification.xml (Header Fields Table):
148 s/SERVICE/DESTINATION
149 s/SENDER_SERVICE/SENDER
152 2004-04-14 Olivier Andrieu <oliv__a@users.sourceforge.net>
154 * test/glib/test-dbus-glib.c (timed_exit): fail the test after
157 2004-04-13 Michael Meeks <michael@ximian.com>
159 * glib/dbus-gobject.c (handle_introspect): split out
160 (introspect_properties): this.
161 (handle_introspect): implement this.
163 * test/glib/Makefile.am: use the absolute path so the bus
164 daemon's chdir ("/") doesn't kill us dead.
166 * configure.in: subst ABSOLUTE_TOP_BUILDDIR
168 2004-04-12 Jon Trowbridge <trow@ximian.com>
170 * bus/config-parser.c (struct BusConfigParser): Added
171 included_files field.
172 (seen_include): Added. Checks whether or not a file has already
173 been included by any parent BusConfigParser.
174 (bus_config_parser_new): Copy the parent's included_files.
175 (include_file): Track which files have been included, and fail on
177 (process_test_valid_subdir): Changed printf to report if we are
178 testing valid or invalid conf files.
179 (all_are_equiv): Changed printf to be a bit clearer about
180 what we are actually doing.
181 (bus_config_parser_test): Test invalid configuration files.
183 2004-04-09 Jon Trowbridge <trow@ximian.com>
185 * bus/config-parser.c (bus_config_parser_new): Added a 'parent'
186 argument. If non-null, the newly-constructed BusConfigParser will
187 be initialized with the parent's BusLimits instead of the default
189 (include_file): When including a config file, pass in
190 the current parser as the parent and then copy the BusLimits
191 from the included BusConfigParser pack to the current parser.
192 (process_test_valid_subdir): Renamed from process_test_subdir.
193 (process_test_equiv_subdir): Added. Walks through a directory,
194 descending into each subdirectory and loading the config files
195 it finds there. If any subdirectory contains two config files
196 that don't produce identical BusConfigParser structs, fail.
197 For now, the BusConfigParser's BusPolicies are not compared.
198 (bus_config_parser_test): Call both process_test_valid_subdir and
199 process_test_equiv_subdir.
201 * bus/config-loader-libxml.c (bus_config_load): Take a parent
202 argument and pass it along to the call to bus_config_parser_new.
203 Also made a few small changes to allow this code to compile.
205 * bus/config-loader-expat.c (bus_config_load): Take a parent
206 argument and pass it along to the call to bus_config_parser_new.
208 * bus/bus.c (bus_context_new): Load the config file
209 with a NULL parent argument.
211 2004-03-29 Michael Meeks <michael@ximian.com>
213 * glib/dbus-gobject.c (introspect_properties): split
214 out, fix mangled 'while' flow control.
215 (introspect_signals): implement.
216 (handle_introspect): update.
218 2004-03-29 Michael Meeks <michael@ximian.com>
220 * glib/dbus-gobject.c (set_object_property): split out /
221 re-work, use the property type, and not the message type(!)
222 (get_object_property): ditto.
224 * glib/dbus-gvalue.c (dbus_gvalue_demarshal),
225 (dbus_gvalue_marshal): make this code re-usable, needed
226 for signals too, also on both proxy and server side.
227 Re-write for more efficiency / readability.
229 2004-03-29 Michael Meeks <michael@ximian.com>
231 * dbus/dbus-message.c
232 (dbus_message_new_error_printf): impl.
234 * dbus/dbus-connection.c
235 (dbus_connection_unregister_object_path): fix warning.
237 * configure.in: fix no-mono-installed situation.
239 2004-03-27 Havoc Pennington <hp@redhat.com>
241 Patch from Timo Teräs:
243 * tools/dbus-send.c (main): if --print-reply, assume type is
244 method call; support boolean type args
246 * dbus/dbus-connection.c (dbus_connection_send_with_reply): fix a
247 bunch of memleak and logic bugs
249 2004-03-23 Owen Fraser-Green <owen@discobabe.net>
252 * mono/Introspector.cs:
254 * mono/InterfaceProxy.cs:
256 * mono/ProxyBuilder.cs:
258 Added InterfaceProxy class to avoid building proxies for every
262 * dbus-message.c (dbus_message_append_args_valist)
263 (dbus_message_iter_get_object_path)
264 (dbus_message_iter_get_object_path_array)
265 (dbus_message_iter_append_object_path)
266 (dbus_message_iter_append_object_path_array):
267 Added object_path iter functions to handle OBJECT_PATH arguments
269 2004-03-23 Owen Fraser-Green <owen@discobabe.net>
271 First checkin of mono bindings.
274 Build stuff for the bindings
275 * dbus-sharp.pc.in: Added for pkgconfig
277 2004-03-21 Havoc Pennington <hp@redhat.com>
279 * test/test-service.c (main): remove debug spew
281 2004-03-21 Olivier Andrieu <oliv__a@users.sourceforge.net>
283 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): accept empty
286 * dbus/dbus-message.h, bus/dbus-message.c (dbus_message_iter_init)
287 (dbus_message_iter_init_array_iterator)
288 (dbus_message_iter_init_dict_iterator): return a dbus_bool_t to
289 indicate whether the iterator is empty
291 * dbus/dbus-pending-call.c, dbus/dbus-server.c: silence compiler
294 2004-03-19 Havoc Pennington <hp@redhat.com>
300 * doc/Makefile.am: add all XMLTO usage to DBUS_XML_DOCS_ENABLED
302 * python/Makefile.am: change to avoid dist of dbus_bindings.c so
303 you don't need pyrex to make dist
305 * qt/Makefile.am (libdbus_qt_1_la_SOURCES): add integrator.h to
308 2004-03-18 Richard Hult <richard@imendio.com>
310 * dbus/dbus-message.c (dbus_message_get_auto_activation)
311 (dbus_message_set_auto_activation): Add doxygen docs.
313 2004-03-16 Richard Hult <richard@imendio.com>
315 * bus/activation.c: (bus_activation_service_created),
316 (bus_activation_send_pending_auto_activation_messages),
317 (bus_activation_activate_service):
319 * bus/dispatch.c: (bus_dispatch),
320 (check_nonexistent_service_auto_activation),
321 (check_service_auto_activated),
322 (check_segfault_service_auto_activation),
323 (check_existent_service_auto_activation), (bus_dispatch_test):
324 * bus/driver.c: (bus_driver_handle_activate_service):
325 * bus/services.c: (bus_registry_acquire_service):
326 * dbus/dbus-message.c: (dbus_message_set_auto_activation),
327 (dbus_message_get_auto_activation):
328 * dbus/dbus-message.h:
329 * dbus/dbus-protocol.h: Implement auto-activation.
331 * doc/dbus-specification.xml: Add auto-activation to the spec.
333 2004-03-12 Olivier Andrieu <oliv__a@users.sourceforge.net>
335 * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos):
336 fix a bug with CUSTOM types.
338 * dbus/dbus-message.c (message_iter_test, _dbus_message_test): add
339 a unit test for this bug (used to fail).
341 2004-03-12 Mikael Hallendal <micke@imendio.com>
344 (babysitter_watch_callback): notify all pending activations waiting for
345 the same exec that the activation failed.
346 (bus_activation_activate_service): shortcut the activation if we
347 already waiting for the same executable to start up.
349 2004-03-12 Mikael Hallendal <micke@imendio.com>
352 - Added service file reloading.
353 Each service files directory is kept in an hash table in
354 BusActivation and each BusActivationEntry knows what .service-file it
355 was read from. So when you try to activate a service the bus will
356 check if it's been updated, removed or if new .service-files has
358 - Test code at the bottom for the service file reloading.
359 * bus/test-main.c: (main):
361 - added service reloading test.
362 * dbus/dbus-sysdeps.c:
363 * dbus/dbus-sysdeps.h: (_dbus_delete_directory): Added.
365 2004-03-08 Michael Meeks <michael@ximian.com>
367 * dbus/dbus-connection.c (_dbus_connection_block_for_reply):
368 bail immediately if disconnected, to avoid busy loop.
370 * dbus/dbus-message.c (dbus_message_iter_get_args_valist):
371 cleanup cut/paste/inefficiency.
373 2004-03-01 David Zeuthen <david@fubar.dk>
375 * dbus/dbus-string.c (_dbus_string_append_printf_valist): Fix a
376 bug where args were used twice. This bug resulted in a segfault
377 on a Debian/PPC system when starting the messagebus daemon. Include
378 dbus-sysdeps.h for DBUS_VA_COPY
380 * dbus/dbus-sysdeps.h: Define DBUS_VA_COPY if neccessary. From GLib
382 * configure.in: Check for va_copy; define DBUS_VA_COPY to the
383 appropriate va_copy implementation. From GLib
385 2004-02-24 Joe Shaw <joe@ximian.com>
387 * bus/services.c (bus_registry_acquire_service): We need to pass
388 in the service name to dbus_set_error() to prevent a crash.
390 2003-12-26 Anders Carlsson <andersca@gnome.org>
392 * AUTHORS: Reveal my True identity.
394 2003-12-17 Mikael Hallendal <micke@imendio.com>
396 * dbus/dbus-message.c: (dbus_message_append_args_valist):
397 - Added case for DBUS_TYPE_BYTE, patch from Johan Hedberg.
399 2003-12-13 Mikael Hallendal <micke@imendio.com>
401 * doc/TODO: Added not about better error check of configuration files.
403 2003-12-02 Richard Hult <richard@imendio.com>
405 * Update AFL version to 2.0 throughout the source files to reflect
406 the update that was done a while ago.
408 2003-12-02 Richard Hult <richard@imendio.com>
410 * dbus/dbus-message.c (dbus_message_iter_append_dict): Set
411 wrote_dict_key to FALSE on the iter that the dict is appended to,
412 just like when appending other types. Fixes a bug where a dict
413 couldn't be put inside a dict.
414 (dbus_message_iter_append_dict_key): Fix typo in warning message.
415 (message_iter_test, _dbus_message_test): Add test case for dict
418 2003-12-01 David Zeuthen <david@fubar.dk>
420 * python/dbus.py: Add the actual message when calling the reciever
421 of a signal such that parameters can be inspected. Add the method
422 remove_signal_receiver
424 2003-11-26 Mikael Hallendal <micke@imendio.com>
428 * glib/*.[ch]: Made ref functions return the pointer
430 2003-11-25 Zack Rusin <zack@kde.org>
432 * qt/integrator.h, qt/integrator.cpp: Adding handling of DBusServer,
434 * qt/server.h, qt/server.cpp, qt/Makefile.am: Adding DBusServer
437 * qt/connection.h, qt/connection.cpp: Adjusting to changes in
438 the Integrator and to better fit with the server,
440 2003-11-24 Zack Rusin <zack@kde.org>
442 * qt/connection.h, qt/connection.cpp: removing initDbus method since
443 the integrator handles it now
445 * qt/integrator.h, qt/integrator.cpp: reworking handling of timeouts,
446 since QTimer wasn't really meant to be used the way DBusTimeout is
448 2003-11-24 Zack Rusin <zack@kde.org>
450 * qt/integrator.h, qt/integrator.cpp, Makefile.am: Adding
451 Integrator class which integrates D-BUS with the Qt event loop,
453 * qt/connection.h, qt/connection.cpp: Move all the code which
454 was dealing with D-BUS integration to the Integrator class,
455 and start using Integrator,
457 2003-11-23 Zack Rusin <zack@kde.org>
459 * qt/connection.h, qt/connection.cpp: Adding the DBusConnection
462 * qt/message.h, qt/message.cpp: updating to the current D-BUS api,
463 switching namespaces to DBusQt, reworking the class,
465 * Makefile.cvs: switching dependencies so that it matches KDE
468 * qt/Makefile.am: adding connection.{h,cpp} and message.{h,cpp} to
471 2003-11-19 Havoc Pennington <hp@redhat.com>
475 * configure.in: bump version to 0.20
477 * configure.in (have_qt): add yet another place to look for qt
478 (someone hand trolltech a .pc file...)
480 2003-11-01 Havoc Pennington <hp@redhat.com>
482 * doc/dbus-specification.xml: add state machine docs on the auth
483 protocol; just a first draft, I'm sure it's wrong.
485 2003-10-28 David Zeuthen <david@fubar.dk>
487 * python/dbus_bindings.pyx.in: add get_dict to handle dictionaries
488 return types. Fixup TYPE_* to reflect changes in dbus/dbus-protocol.h
490 2003-10-28 Havoc Pennington <hp@redhat.com>
492 * dbus/dbus-message.c (get_next_field): delete unused function
494 2003-10-28 Havoc Pennington <hp@redhat.com>
496 * bus/expirelist.c (do_expiration_with_current_time): detect
497 failure of the expire_func due to OOM
499 * bus/connection.c (bus_pending_reply_expired): return FALSE on OOM
501 * bus/dispatch.c (check_send_exit_to_service): fix to handle the
502 NoReply error that's now created by the bus when the service exits
504 2003-10-28 Havoc Pennington <hp@redhat.com>
506 * dbus/dbus-message.c (_dbus_message_test): enable and fix the
507 tests for set_path, set_interface, set_member, etc.
509 * dbus/dbus-string.c (_dbus_string_insert_bytes): allow 0 bytes
511 * dbus/dbus-message.c (set_string_field): always just delete and
512 re-append the field; accept NULL for deletion
513 (re_align_fields_recurse): reimplement
515 2003-10-26 Havoc Pennington <hp@redhat.com>
517 * dbus/dbus-connection.c: fix docs to properly describe the
519 (_dbus_connection_notify_disconnected): remove this function;
520 we can't synchronously add the disconnected message, we have to
521 do it after we've queued any remaining real messages
522 (_dbus_connection_get_dispatch_status_unlocked): queue the
523 disconnect message only if the transport has finished queueing all
524 its real messages and is disconnected.
525 (dbus_connection_disconnect): update the dispatch status here
527 2003-10-22 Havoc Pennington <hp@redhat.com>
529 * bus/bus.c (bus_context_check_security_policy): fix up assertion
531 * bus/connection.c (bus_transaction_send_from_driver): set the
532 destination to the connection's base service
534 2003-10-20 Havoc Pennington <hp@redhat.com>
536 hmm, make check is currently not passing.
538 * doc/dbus-specification.xml: add requirement that custom type
539 names follow the same rules as interface names.
541 * dbus/dbus-protocol.h: change some of the byte codes, to avoid
542 duplication and allow 'c' to be 'custom'; dict is now 'm' for
545 * doc/dbus-specification.xml: update type codes to match
546 dbus-protocol.h, using the ASCII byte values. Rename type NAMED to
547 CUSTOM. Add type OBJECT_PATH to the spec.
549 2003-10-17 Havoc Pennington <hp@redhat.com>
551 * bus/driver.c (create_unique_client_name): use "." as separator
552 in base service names instead of '-'
554 * dbus/dbus-string.c (_dbus_string_get_byte): allow getting nul
555 byte at the end of the string
557 * dbus/dbus-internals.h (_DBUS_LIKELY, _DBUS_UNLIKELY): add
558 optimization macros since string validation seems to be a slow
561 * doc/dbus-specification.xml: restrict valid
562 service/interface/member/error names. Add test suite code for the
565 * dbus/dbus-string.c: limit service/interface/member/error names
568 * dbus/dbus-connection.c (dbus_connection_dispatch): add missing
569 format arg to verbose spew
571 * glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): if not out of
572 memory, return instead of g_error
574 * test/test-service.c (path_message_func): support emitting a
577 * dbus/dbus-bus.c (init_connections_unlocked): only fill in
578 activation bus type if DBUS_BUS_ACTIVATION was set; default to
579 assuming the activation bus was the session bus so that services
580 started manually will still register.
581 (init_connections_unlocked): fix so that in OOM situation we get
582 the same semantics when retrying the function
584 * test/test-service.c (main): change to use path registration, to
585 test those codepaths; register with DBUS_BUS_ACTIVATION rather
586 than DBUS_BUS_SESSION
588 2003-10-16 Havoc Pennington <hp@redhat.com>
590 * glib/dbus-gtest-main.c: bracket with #ifdef DBUS_BUILD_TESTS
592 * Makefile.am (GCOV_DIRS): remove "test", we don't care about test
593 coverage of the tests
594 (coverage-report.txt): don't move the .da and .bbg files around
596 2003-10-16 Havoc Pennington <hp@redhat.com>
598 * bus/bus.c (struct BusContext): remove struct field I didn't mean
601 2003-10-16 Havoc Pennington <hp@redhat.com>
603 * bus/connection.c (bus_pending_reply_expired): either cancel or
605 (bus_connections_check_reply): use unlink, not remove_link, as we
606 don't want to free the link; fixes double free mess
608 * dbus/dbus-pending-call.c (dbus_pending_call_block): fix in case
609 where no reply was received
611 * dbus/dbus-connection.c (_dbus_pending_call_complete_and_unlock):
614 * bus/signals.c (match_rule_matches): add special cases for the
615 bus driver, so you can match on sender/destination for it.
617 * dbus/dbus-sysdeps.c (_dbus_abort): print backtrace if
618 DBUS_PRINT_BACKTRACE is set
620 * dbus/dbus-internals.c: add pid to assertion failure messages
622 * dbus/dbus-connection.c: add message type code to the debug spew
624 * glib/dbus-gproxy.c (gproxy_get_match_rule): match rules want
625 sender=foo not service=foo
627 * dbus/dbus-bus.c (dbus_bus_get): if the activation bus is the
628 session bus but DBUS_SESSION_BUS_ADDRESS isn't set, use
629 DBUS_ACTIVATION_ADDRESS instead
631 * bus/activation.c: set DBUS_SESSION_BUS_ADDRESS,
632 DBUS_SYSTEM_BUS_ADDRESS if appropriate
634 * bus/bus.c (bus_context_new): handle OOM copying bus type into
637 * dbus/dbus-message.c (dbus_message_iter_get_object_path): new function
638 (dbus_message_iter_get_object_path_array): new function (half
639 finished, disabled for the moment)
641 * glib/dbus-gproxy.c (dbus_gproxy_end_call): properly handle
642 DBUS_MESSAGE_TYPE_ERROR
644 * tools/dbus-launch.c (babysit): support DBUS_DEBUG_OUTPUT to
645 avoid redirecting stderr to /dev/null
646 (babysit): close stdin if not doing the "exit_with_session" thing
648 * dbus/dbus-sysdeps.c (_dbus_become_daemon): delete some leftover
649 debug code; change DBUS_DEBUG_OUTPUT to only enable stderr, not
650 stdout/stdin, so things don't get confused
652 * bus/system.conf.in: fix to allow replies, I modified .conf
653 instead of .conf.in again.
655 2003-10-14 David Zeuthen <david@fubar.dk>
657 * python/dbus_bindings.pyx.in (MessageIter.get): fixed typo in
658 argtype to arg_type when raising unknown arg type exception.
659 Changed type list to reflect the changes in dbus-protocol.h so
660 the bindings actually work.
662 2003-10-14 Havoc Pennington <hp@redhat.com>
664 * test/decode-gcov.c: support gcc 3.3 also, though gcc 3.3 seems
665 to have a bug keeping it from outputting the .da files sometimes
666 (string_get_string): don't append garbage nul bytes to the string.
668 2003-10-15 Seth Nickell <seth@gnome.org>
670 * python/Makefile.am:
672 Include dbus_h_wrapper.h in the dist tarball.
674 2003-10-14 Havoc Pennington <hp@redhat.com>
676 * bus/bus.c (bus_context_check_security_policy): revamp this to
677 work more sanely with new policy-based requested reply setup
679 * bus/connection.c (bus_transaction_send_from_driver): set bus
680 driver messages as no reply
682 * bus/policy.c (bus_client_policy_check_can_receive): handle a
683 requested_reply attribute on allow/deny rules
685 * bus/system.conf: add <allow requested_reply="true"/>
687 * bus/driver.c (bus_driver_handle_message): fix check for replies
688 sent to the bus driver, which was backward. How did this ever work
689 at all though? I think I'm missing something.
691 * dbus/dbus-message.c (decode_header_data): require error and
692 method return messages to have a reply serial field to be valid
693 (_dbus_message_loader_queue_messages): break up this function;
694 validate that reply serial and plain serial are nonzero;
695 clean up the OOM/error handling.
696 (get_uint_field): don't return -1 from this
697 (dbus_message_create_header): fix signed/unsigned bug
699 * bus/connection.c (bus_connections_expect_reply): save serial of
700 the incoming message, not reply serial
702 2003-10-14 Havoc Pennington <hp@redhat.com>
704 * bus/connection.c: implement pending reply tracking using
707 * bus/bus.c (bus_context_check_security_policy): verify that a
708 reply is pending in order to allow a reply to be sent. Deny
709 messages of unknown type.
711 * bus/dbus-daemon-1.1.in: update to mention new resource limits
713 * bus/bus.c (bus_context_get_max_replies_per_connection): new
714 (bus_context_get_reply_timeout): new
716 2003-10-13 Seth Nickell <seth@gnome.org>
718 * python/Makefile.am:
720 Pass "make distcheck": remove a couple files from DIST_FILES
721 that weren't included in the final version.
723 2003-10-12 Havoc Pennington <hp@pobox.com>
725 Added test code that 1) starts an actual bus daemon and 2) uses
726 DBusGProxy; fixed bugs that were revealed by the test. Lots
727 more testing possible, but this is the basic framework.
729 * glib/dbus-gproxy.c (dbus_gproxy_manager_unregister): remove
730 empty proxy lists from the proxy list hash
732 * dbus/dbus-message.c (dbus_message_iter_get_args_valist): add a
733 couple of return_if_fail checks
735 * dbus/dbus-pending-call.c (_dbus_pending_call_new): use dbus_new0
736 to allocate, so everything is cleared to NULL as it should be.
738 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): pass
739 source as data to dbus_connection_set_timeout_functions() as the
740 timeout functions expected
742 * test/glib/run-test.sh: add a little script to start up a message
743 bus and run tests using it
745 * tools/dbus-launch.1: updates
747 * tools/dbus-launch.c (main): add --config-file option
749 * tools/dbus-launch.c (main): remove confusing else if (runprog)
750 that could never be reached.
752 * dbus/dbus-message.c (dbus_message_new_method_return)
753 (dbus_message_new_error, dbus_message_new_signal): set the
754 no-reply-expected flag on all these. Redundant, but may
755 as well be consistent.
757 2003-10-11 Havoc Pennington <hp@pobox.com>
759 * test/decode-gcov.c (function_solve_graph): make broken block
760 graph a nonfatal error since it seems to be broken. Need to debug
763 * dbus/dbus-marshal.c (_dbus_type_is_valid): new function since we
764 can't just check type > INVALID < LAST anymore
766 * dbus/dbus-message.c (dbus_message_get_signature): new function
767 (dbus_message_has_signature): new function
768 (struct DBusMessage): add signature field (right now it isn't sent
769 over the wire, just generated on the fly)
770 (dbus_message_copy): copy the signature, and init strings to
771 proper length to avoid some reallocs
772 (dbus_message_iter_init_array_iterator): return void, since it
774 (dbus_message_iter_init_dict_iterator): return void since it can't fail
775 (_dbus_message_loader_queue_messages): add silly temporary hack to
776 fill in message->signature on load
778 * dbus/dbus-protocol.h: change DBUS_TYPE_* values to be ASCII
779 characters, so they are relatively human-readable.
781 2003-10-11 Havoc Pennington <hp@pobox.com>
783 * dbus/dbus-message.c (_dbus_message_test): add more test
784 coverage, but #if 0 for now since they uncover a bug
785 not fixed yet; I think in re_align_field_recurse()
786 (re_align_field_recurse): add FIXME about broken assertion
788 * dbus/dbus-sysdeps.c (_dbus_sysdeps_test): add more test coverage
790 * bus/connection.c: share a couple code bits with expirelist.c
792 * bus/expirelist.h, bus/expirelist.c: implement a generic
793 expire-items-after-N-seconds facility, was going to share between
794 expiring connections and replies, decided not to use for expiring
797 * COPYING: include AFL 2.0 (still need to change all the file headers)
799 2003-10-09 Havoc Pennington <hp@redhat.com>
801 * configure.in: define DBUS_HAVE_GCC33_GCOV if we have
802 gcc 3.3. Not that we do anything about it yet.
804 * bus/signals.c (bus_match_rule_parse): impose max length on the
807 * dbus/dbus-protocol.h: add DBUS_MAXIMUM_MATCH_RULE_LENGTH
809 2003-10-09 Havoc Pennington <hp@redhat.com>
811 Make matching rules theoretically work (add parser).
813 * bus/bus.c (bus_context_check_security_policy): fix up to handle
814 the case where destination is explicitly specified as bus driver
815 and someone else is eavesdropping.
817 * bus/policy.c (bus_client_policy_check_can_receive): fix up
818 definition of eavesdropping and assertion
820 * tools/dbus-send.c (main): use dbus_message_type_from_string
822 * bus/signals.c (bus_match_rule_parse): implement
824 * dbus/dbus-message.c (dbus_message_type_from_string): new
826 * dbus/dbus-errors.h (DBUS_ERROR_MATCH_RULE_INVALID): add
828 2003-10-02 Havoc Pennington <hp@pobox.com>
830 * glib/dbus-gproxy.c (dbus_gproxy_call_no_reply): rename from
831 dbus_gproxy_oneway_call
833 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main)
834 (dbus_server_setup_with_g_main): fix to allow calling them more
835 than once on the same args
836 (dbus_bus_get_with_g_main): new function
838 2003-10-02 Havoc Pennington <hp@redhat.com>
840 * doc/dbus-tutorial.xml: write some stuff
842 2003-09-29 Havoc Pennington <hp@pobox.com>
844 * configure.in: split checks for Doxygen from XML docs, check for
847 * doc/Makefile.am: XML-ify all the docs, and add a blank
850 2003-09-29 Havoc Pennington <hp@pobox.com>
852 * Merge dbus-object-names branch. To see the entire patch
853 do cvs diff -r DBUS_OBJECT_NAMES_BRANCHPOINT -r dbus-object-names,
855 To revert, I tagged DBUS_BEFORE_OBJECT_NAMES_MERGE.
857 2003-09-28 Havoc Pennington <hp@pobox.com>
859 * HACKING: update to reflect new server
861 2003-09-26 Seth Nickell <seth@gnome.org>
864 * python/examples/example-signals.py:
866 Start implementing some notions of signals. The API
867 is really terrible, but they sort of work (with the
868 exception of being able to filter by service, and to
869 transmit signals *as* a particular service). Need to
870 figure out how to make messages come from the service
873 * python/dbus_bindings.pyx.in:
875 Removed duplicate message_handler callbacks.
877 2003-09-25 Havoc Pennington <hp@redhat.com>
879 * bus/session.conf.in: fix my mess
881 2003-09-25 Havoc Pennington <hp@pobox.com>
883 * bus/session.conf.in: fix security policy, reported by Seth Nickell
885 2003-09-25 Seth Nickell <seth@gnome.org>
887 * python/examples/example-service.py:
889 Johan notices complete wrong code in example-service, but
890 completely wrong in a way that works exactly the same (!).
891 Johan is confused, how could this possibly work? Example
892 code fails to serve purpose of making things clear.
895 2003-09-25 Mark McLoughlin <mark@skynet.ie>
897 * doc/dbus-specification.sgml: don't require header fields
898 to be 4-byte aligned and specify that fields should be
899 distinguished from padding by the fact that zero is not
902 * doc/TODO: remove re-alignment item and add item to doc
903 the OBJECT_PATH type.
905 * dbus/dbus-message.c:
906 (HeaderField): rename the original member to value_offset
907 and introduce a name_offset member to keep track of where
908 the field actually begins.
909 (adjust_field_offsets): remove.
910 (append_int_field), (append_uint_field),
911 (append_string_field): don't align the start of the header
912 field to a 4-byte boundary.
913 (get_next_field): impl finding the next marhsalled field
915 (re_align_field_recurse): impl re-aligning a number of
916 already marshalled fields.
917 (delete_field): impl deleting a field of any type and
918 re-aligning any following fields.
919 (delete_int_or_uint_field), (delete_string_field): remove.
920 (set_int_field), (set_uint_field): no need to re-check
921 that we have the correct type for the field.
922 (set_string_field): ditto and impl re-aligning any
924 (decode_header_data): update to take into account that
925 the fields aren't 4-byte aligned any more and the new
926 way to distinguish padding from header fields. Also,
927 don't exit when there is too much header padding.
928 (process_test_subdir): print the directory.
929 (_dbus_message_test): add test to make sure a following
930 field is re-aligned correctly after field deletion.
932 * dbus/dbus-string.[ch]:
933 (_dbus_string_insert_bytes): rename from insert_byte and
934 allow the insert of multiple bytes.
935 (_dbus_string_test): test inserting multiple bytes.
937 * dbus/dbus-marshal.c: (_dbus_marshal_set_string): add
938 warning note to docs about having to re-align any
939 marshalled values following the string.
941 * dbus/dbus-message-builder.c:
942 (append_string_field), (_dbus_message_data_load):
943 don't align the header field.
945 * dbus/dbus-auth.c: (process_test_subdir): print the
948 * test/break-loader.c: (randomly_add_one_byte): upd. for
951 * test/data/invalid-messages/bad-header-field-alignment.message:
954 * test/data/valid-messages/unknown-header-field.message: shove
955 a dict in the unknown field.
957 2003-09-25 Seth Nickell <seth@gnome.org>
960 * python/dbus_bindings.pyx.in:
962 Handle return values.
964 * python/examples/example-client.py:
965 * python/examples/example-service.py:
967 Pass back return values from the service to the client.
969 2003-09-24 Seth Nickell <seth@gnome.org>
973 Connect Object methods (when you are sharing an object) up... pass
974 in a list of methods to be shared. Sharing all the methods just
975 worked out too weird. You can now create nice Services over the
978 * python/dbus_bindings.pyx.in:
980 Keep references to user_data tuples passed into C functions so
981 Python doesn't garbage collect on us.
983 Implement MethodReturn and Error subclasses of Message for creating
984 DBusMessage's of those types.
986 * python/examples/example-client.py:
987 * python/examples/example-service.py:
989 Simple example code showing both how create DBus services and objects,
992 2003-09-23 Havoc Pennington <hp@pobox.com>
994 * glib/dbus-gproxy.c (dbus_gproxy_manager_filter): implement
996 2003-09-23 Havoc Pennington <hp@redhat.com>
998 * glib/dbus-gproxy.c (dbus_gproxy_connect_signal): implement
999 (dbus_gproxy_disconnect_signal): implement
1000 (dbus_gproxy_manager_remove_signal_match): implement
1001 (dbus_gproxy_manager_add_signal_match): implement
1002 (dbus_gproxy_oneway_call): implement
1004 2003-09-23 Havoc Pennington <hp@pobox.com>
1006 * glib/dbus-gproxy.c (struct DBusGProxy): convert to a GObject
1007 subclass. This means dropping the transparent thread safety of the
1008 proxy; you now need a separate proxy per-thread, or your own
1009 locking on the proxy. Probably right anyway.
1010 (dbus_gproxy_ref, dbus_gproxy_unref): nuke, just use g_object_ref
1012 2003-09-22 Havoc Pennington <hp@redhat.com>
1014 * glib/dbus-gproxy.c (dbus_gproxy_manager_get): implement
1016 2003-09-21 Seth Nickell <seth@gnome.org>
1018 First checkin of the Python bindings.
1020 * python/.cvsignore:
1021 * python/Makefile.am:
1022 * python/dbus_bindings.pyx.in:
1023 * python/dbus_h_wrapper.h:
1025 Pieces for Pyrex to operate on, building a dbus_bindings.so
1026 python module for low-level access to the DBus APIs.
1030 High-level Python module for accessing DBus objects.
1035 Build stuff for the python bindings.
1039 Extra macro needed for finding the Python C header files.
1041 2003-09-21 Havoc Pennington <hp@pobox.com>
1043 * glib/dbus-gproxy.c (dbus_gproxy_manager_new): start
1044 implementing the proxy manager, didn't get very far.
1046 * dbus/dbus-bus.c (dbus_bus_add_match): new
1047 (dbus_bus_remove_match): new
1049 * glib/dbus-gproxy.c (dbus_gproxy_new_for_service): add a
1050 path_name argument; adjust the other not-yet-implemented
1051 gproxy constructors to be what I think they should be.
1053 2003-09-21 Havoc Pennington <hp@pobox.com>
1055 * dbus/dbus-bus.c (dbus_bus_get): set exit_on_disconnect to TRUE
1056 by default for message bus connections.
1058 * dbus/dbus-connection.c (dbus_connection_dispatch): exit if
1059 exit_on_disconnect flag is set and we process the disconnected
1061 (dbus_connection_set_exit_on_disconnect): new function
1063 2003-09-21 Havoc Pennington <hp@pobox.com>
1065 Get matching rules mostly working in the bus; only actually
1066 parsing the rule text remains. However, the client side of
1067 "signal connections" hasn't been started, this patch is only the
1070 * dbus/dispatch.c: fix for the matching rules changes
1072 * bus/driver.c (bus_driver_handle_remove_match)
1073 (bus_driver_handle_add_match): send an ack reply from these
1076 * glib/dbus-gproxy.c (dbus_gproxy_begin_call): fix order of
1077 arguments, reported by Seth Nickell
1079 * bus/config-parser.c (append_rule_from_element): support
1080 eavesdrop=true|false attribute on policies so match rules
1081 can be prevented from snooping on the system bus.
1083 * bus/dbus-daemon-1.1.in: consistently use terminology "sender"
1084 and "destination" in attribute names; fix some docs bugs;
1085 add eavesdrop=true|false attribute
1087 * bus/driver.c (bus_driver_handle_add_match)
1088 (bus_driver_handle_remove_match): handle AddMatch, RemoveMatch
1091 * dbus/dbus-protocol.h (DBUS_SERVICE_ORG_FREEDESKTOP_BROADCAST): get
1092 rid of broadcast service concept, signals are just always broadcast
1094 * bus/signals.c, bus/dispatch.c, bus/connection.c, bus/bus.c:
1095 mostly implement matching rules stuff (currently only exposed as signal
1098 2003-09-21 Mark McLoughlin <mark@skynet.ie>
1100 * doc/dbus-specification.sgml: Change the header field name
1101 to be an enum and update the rest of the spec to reference
1102 the fields using the conventinal name.
1104 * dbus/dbus-protocol.h: update to reflect the spec.
1106 * doc/TODO: add item to remove the 4 byte alignment requirement.
1108 * dbus/dbus-message.c: Remove the code to generalise the
1109 header/body length and serial number header fields as named
1110 header fields so we can reference field names using the
1112 (append_int_field), (append_uint_field), (append_string_field):
1113 Append the field name as a byte rather than four chars.
1114 (delete_int_or_uint_field), (delete_string_field): reflect the
1115 fact that the field name and typecode now occupy 4 bytes instead
1117 (decode_string_field), (decode_header_data): update to reflect
1118 protocol changes and move the field specific encoding from
1119 decode_string_field() back into decode_header_data().
1121 * dbus/dbus-internals.[ch]: (_dbus_header_field_to_string):
1122 Add utility to aid debugging.
1124 * dbus/dbus-message-builder.c:
1125 (append_string_field), (_dbus_message_data_load): Update to
1126 reflect protocol changes; Change the FIELD_NAME directive
1127 to HEADER_FIELD and allow it to take the field's conventional
1128 name rather than the actual value.
1130 * test/data/*/*.message: Update to use HEADER_FIELD instead
1131 of FIELD_NAME; Always align the header on an 8 byte boundary
1132 *before* updating the header length.
1134 2003-09-15 Havoc Pennington <hp@pobox.com>
1136 * dbus/dbus-pending-call.c: add the get/set object data
1137 boilerplate as for DBusConnection, etc. Use generic object data
1138 for the notify callback.
1140 * glib/dbus-gparser.c (parse_node): parse child nodes
1142 * tools/dbus-viewer.c: more hacking on the dbus-viewer
1144 * glib/dbus-gutils.c (_dbus_gutils_split_path): add a file to
1145 contain functions shared between the convenience lib and the
1148 * glib/Makefile.am (libdbus_glib_1_la_LDFLAGS): add
1149 -export-symbols-regex to the GLib library
1151 * dbus/dbus-object-tree.c (_dbus_object_tree_dispatch_and_unlock):
1152 fix the locking in here, and add a default handler for
1153 Introspect() that just returns sub-nodes.
1155 2003-09-14 Havoc Pennington <hp@pobox.com>
1157 * glib/dbus-gthread.c (dbus_g_thread_init): rename to make g_foo
1158 rather than gfoo consistent
1160 * glib/dbus-gproxy.h: delete for now, move contents to
1161 dbus-glib.h, because the include files don't work right since we
1162 aren't in the dbus/ subdir.
1164 * glib/dbus-gproxy.c (dbus_gproxy_send): finish implementing
1165 (dbus_gproxy_end_call): finish
1166 (dbus_gproxy_begin_call): finish
1168 * glib/dbus-gmain.c (dbus_set_g_error): new
1170 * glib/dbus-gobject.c (handle_introspect): include information
1171 about child nodes in the introspection
1173 * dbus/dbus-connection.c (dbus_connection_list_registered): new
1174 function to help in implementation of introspection
1176 * dbus/dbus-object-tree.c
1177 (_dbus_object_tree_list_registered_and_unlock): new function
1179 2003-09-12 Havoc Pennington <hp@pobox.com>
1181 * glib/dbus-gidl.h: add common base class for all the foo_info
1184 * tools/dbus-viewer.c: add GTK-based introspection UI thingy
1187 * test/Makefile.am: try test srcdir -ef . in addition to test
1188 srcdir = ., one of them should work (yeah lame)
1190 * glib/Makefile.am: build the "idl" parser stuff as a convenience
1193 * glib/dbus-gparser.h: make description_load routines return
1194 NodeInfo* not Parser*
1196 * Makefile.am (SUBDIRS): build test dir after all library dirs
1198 * configure.in: add GTK+ detection
1200 2003-09-07 Havoc Pennington <hp@pobox.com>
1202 * Make Doxygen contented.
1204 2003-09-07 Havoc Pennington <hp@pobox.com>
1206 * doc/dbus-specification.sgml: more updates
1208 2003-09-06 Havoc Pennington <hp@pobox.com>
1210 * doc/dbus-specification.sgml: partial updates
1212 * bus/dbus-daemon-1.1.in: fix the config file docs for the
1213 zillionth time; hopefully I edited the right file this time.
1215 * bus/config-parser.c (append_rule_from_element): support
1216 send_type, send_path, receive_type, receive_path
1218 * bus/policy.c: add message type and path to the list of things
1219 that can be "firewalled"
1221 2003-09-06 Havoc Pennington <hp@pobox.com>
1223 * dbus/dbus-connection.c (dbus_connection_register_fallback): add this
1224 (dbus_connection_register_object_path): make this not handle
1225 messages to paths below the given path
1227 2003-09-03 Havoc Pennington <hp@pobox.com>
1229 * test/glib/Makefile.am: add this with random glib-linked test
1232 * glib/Makefile.am: remove the random test programs from here,
1233 leave only the unit tests
1235 * glib/dbus-gobject.c (_dbus_gobject_test): add test for
1236 uscore/javacaps conversion, and fix
1237 (get_object_property, set_object_property): change to .NET
1238 convention for mapping props to methods, set_FooBar/get_FooBar,
1239 since one language has such a convention we may as well copy it.
1240 Plus real methods in either getFooBar or get_foo_bar style won't
1241 collide with this convention.
1243 2003-09-01 Havoc Pennington <hp@pobox.com>
1245 * glib/dbus-gparser.c: implement
1247 * glib/dbus-gobject.c: start implementing skeletons support
1249 * configure.in: when disabling checks/assert, also define
1250 G_DISABLE_ASSERT and G_DISABLE_CHECKS
1252 2003-09-01 Havoc Pennington <hp@pobox.com>
1254 * glib/Makefile.am: rearrange a bunch of files and get "make
1255 check" framework set up
1257 2003-08-31 Havoc Pennington <hp@pobox.com>
1259 * fix build with --disable-tests
1261 2003-08-30 Havoc Pennington <hp@pobox.com>
1263 * dbus/dbus-connection.c: purge DBusMessageHandler
1265 * dbus/dbus-message-handler.c: remove DBusMessageHandler, just
1266 use callbacks everywhere
1268 2003-08-30 Havoc Pennington <hp@pobox.com>
1270 * test/data/valid-config-files/system.d/test.conf: change to
1271 root for the user so warnings don't get printed
1273 * dbus/dbus-message.c: add dbus_message_get_path,
1274 dbus_message_set_path
1276 * dbus/dbus-object-tree.c (do_test_dispatch): add test of
1277 dispatching to a path
1279 * dbus/dbus-string.c (_dbus_string_validate_path): add
1281 * dbus/dbus-marshal.c (_dbus_demarshal_object_path): implement
1282 (_dbus_marshal_object_path): implement
1284 * dbus/dbus-protocol.h (DBUS_HEADER_FIELD_PATH): new header field
1285 to contain the path to the target object
1286 (DBUS_HEADER_FIELD_SENDER_SERVICE): rename
1287 DBUS_HEADER_FIELD_SENDER to explicitly say it's the sender service
1289 2003-08-30 Havoc Pennington <hp@pobox.com>
1291 * dbus/dbus-object-tree.c: write tests and fix the discovered bugs
1293 2003-08-29 Havoc Pennington <hp@pobox.com>
1295 * dbus/dbus-object-tree.c: modify to allow overlapping paths to be
1297 (struct DBusObjectSubtree): shrink this
1298 a lot, since we may have a lot of them
1299 (_dbus_object_tree_free_all_unlocked): implement
1300 (_dbus_object_tree_dispatch_and_unlock): implement
1302 2003-08-29 Havoc Pennington <hp@pobox.com>
1304 * dbus/dbus-internals.h: fix _DBUS_N_GLOBAL_LOCKS
1306 2003-08-28 Havoc Pennington <hp@pobox.com>
1310 * dbus/dbus-connection.c: port to no ObjectID, create a
1311 DBusObjectTree, rename ObjectTree to ObjectPath in public API
1313 * dbus/dbus-connection.h (struct DBusObjectTreeVTable): delete
1314 everything except UnregisterFunction and MessageFunction
1316 * dbus/dbus-marshal.c: port away from DBusObjectID,
1317 add DBUS_TYPE_OBJECT_PATH
1319 * dbus/dbus-object-registry.[hc], dbus/dbus-object.[hc],
1320 dbus/dbus-objectid.[hc]: remove these, we are moving to
1321 path-based object IDs
1323 2003-08-25 Havoc Pennington <hp@pobox.com>
1325 Just noticed that dbus_message_test is hosed, I wonder when I
1326 broke that. I thought make check was passing earlier...
1328 * dbus/dbus-object-tree.c: add new "object tree" to match DCOP
1329 container tree, will replace most of dbus-object-registry
1331 * dbus/dbus-string.c (_dbus_string_append_printf_valist): fix C99
1334 2003-08-19 Havoc Pennington <hp@pobox.com>
1336 * dbus/dbus-message.c (decode_string_field): support FIELD_SENDER
1337 (dbus_message_is_error): fix this function
1339 * bus/dbus-daemon-1.1: clarify logic on when <deny>/<allow> rules
1342 * bus/policy.c (bus_client_policy_check_can_receive): fix code to
1343 reflect clarified man page
1344 (bus_client_policy_check_can_send): ditto
1346 * bus/session.conf.in: fixup
1348 * bus/system.conf.in: fixup
1350 2003-08-18 Havoc Pennington <hp@redhat.com>
1352 * dbus/dbus-hash.c (_dbus_hash_table_insert_two_strings): fix
1354 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
1355 dumb bug created earlier (wrong order of args to
1356 decode_header_data())
1358 * tools/dbus-send.c: port
1360 * tools/dbus-print-message.c (print_message): port
1362 * test/data/*messages: port all messages over
1364 * dbus/dbus-message-builder.c: support including
1367 * bus/driver.c: port over
1369 * bus/dispatch.c: port over to new stuff
1371 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
1372 rename disconnect signal to "Disconnected"
1374 2003-08-17 Havoc Pennington <hp@pobox.com>
1376 This doesn't compile yet, but syncing up so I can hack on it from
1377 work. What are branches for if not broken code? ;-)
1379 * dbus/dbus-protocol.h: remove DBUS_HEADER_FIELD_NAME, add
1380 DBUS_HEADER_FIELD_INTERFACE, DBUS_HEADER_FIELD_MEMBER,
1381 DBUS_HEADER_FIELD_ERROR_NAME
1383 * dbus/dbus-hash.c: Introduce DBUS_HASH_TWO_STRINGS as hack to use
1384 for the interface+member pairs
1385 (string_hash): change to use g_str_hash algorithm
1386 (find_direct_function, find_string_function): refactor these to
1389 * dbus/dbus-message.c: port all of this over to support
1390 interface/member fields instead of name field
1392 * dbus/dbus-object-registry.c: port over
1394 * dbus/dbus-string.c (_dbus_string_validate_interface): rename
1395 from _dbus_string_validate_name
1397 * bus/dbus-daemon-1.1: change file format for the
1398 <deny>/<allow> stuff to match new message naming scheme
1400 * bus/policy.c: port over
1402 * bus/config-parser.c: parse new format
1404 2003-08-16 Havoc Pennington <hp@pobox.com>
1406 * dbus/dbus-object-registry.c (add_and_remove_objects): remove
1409 * glib/dbus-gproxy.c: some hacking
1411 2003-08-15 Havoc Pennington <hp@redhat.com>
1413 * dbus/dbus-pending-call.c (dbus_pending_call_block): implement
1415 * dbus/dbus-connection.c
1416 (dbus_connection_send_with_reply_and_block): factor out internals;
1417 change to convert any error replies to DBusError instead of
1418 returning them as a message
1420 2003-08-15 Havoc Pennington <hp@pobox.com>
1422 * dbus/dbus-connection.c,
1423 dbus/dbus-pending-call.c: Finish the pending call stuff
1425 2003-08-14 Havoc Pennington <hp@redhat.com>
1427 * dbus/dbus-pending-call.c: start on new object that will replace
1428 DBusMessageHandler and ReplyHandlerData for tracking outstanding
1431 * dbus/dbus-gproxy.c: start on proxy object used to communicate
1432 with remote interfaces
1434 * dbus/dbus-gidl.c: do the boring boilerplate in here
1436 2003-08-12 Havoc Pennington <hp@pobox.com>
1438 * bus/dispatch.c (bus_dispatch): make this return proper
1439 DBusHandlerResult to avoid DBUS_ERROR_UNKNOWN_METHOD
1441 * dbus/dbus-errors.c (dbus_set_error): use
1442 _dbus_string_append_printf_valist
1444 * dbus/dbus-string.c (_dbus_string_append_printf_valist)
1445 (_dbus_string_append_printf): new
1447 * dbus/dbus-errors.h (DBUS_ERROR_UNKNOWN_MESSAGE): change to
1450 * dbus/dbus-connection.c (dbus_connection_dispatch): handle
1451 DBUS_HANDLER_RESULT_NEED_MEMORY; send default error reply if a
1452 message is unhandled.
1454 2003-08-11 Havoc Pennington <hp@pobox.com>
1456 * bus/test.c (client_disconnect_handler): change to return
1457 HANDLED (would have been REMOVE_MESSAGE)
1459 * dbus/dbus-object.h (enum DBusHandlerResult): rename to
1460 HANDLED/NOT_YET_HANDLED instead of
1461 REMOVE_MESSAGE/ALLOW_MORE_HANDLERS to make it clearer how it
1464 2003-08-10 Havoc Pennington <hp@pobox.com>
1466 * tools/dbus-send.c (main): add --type argument, for now
1467 supporting only method_call and signal types.
1469 * tools/dbus-print-message.c: print message type
1471 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
1472 init connection->objects
1474 * doc/dbus-specification.sgml: fix sgml
1476 * bus/*.c: port over to object-instance API changes
1478 * test/test-service.c: ditto
1480 * dbus/dbus-message.c (dbus_message_create_header): allow #NULL
1481 name, we will have to fix up the rest of the code to also handle
1483 (dbus_message_new): generic message-creation call
1484 (set_string_field): allow appending name field
1486 2003-08-06 Havoc Pennington <hp@pobox.com>
1488 * dbus/dbus-object-registry.c: implement signal connection
1491 * dbus/dbus-connection.c (_dbus_connection_unref_unlocked): new
1493 * dbus/dbus-internals.c (_dbus_memdup): new function
1495 2003-08-02 Havoc Pennington <hp@pobox.com>
1497 * dbus/dbus-message.c (dbus_message_get_no_reply)
1498 (dbus_message_set_no_reply): add these and remove
1499 set_is_error/get_is_error
1501 * dbus/dbus-protocol.h, doc/dbus-specification.sgml:
1502 remove the ERROR flag, since there's now an ERROR type
1504 2003-08-01 Havoc Pennington <hp@pobox.com>
1506 * dbus/dbus-object-registry.c (_dbus_object_registry_handle_and_unlock):
1509 * dbus/dbus-message.c (dbus_message_get_type): new function
1511 * doc/dbus-specification.sgml: add "type" byte to messages
1513 2003-08-01 Havoc Pennington <hp@pobox.com>
1515 * dbus/dbus-protocol.h (DBUS_MESSAGE_TYPE_*): introduce
1516 a message type enum to distinguish kinds of message
1517 (DBUS_HEADER_FLAG_NO_REPLY_EXPECTED): flag for a message
1518 that need not be replied to
1520 2003-08-01 Havoc Pennington <hp@pobox.com>
1522 * dbus/dbus-marshal.c: adapt to DBusObjectID changes
1523 (unpack_8_octets): fix no-64-bit-int bug
1525 * dbus/dbus-object-registry.c (validate_id): validate the
1526 connection ID bits, not just the instance ID.
1528 * dbus/dbus-connection.c (_dbus_connection_init_id): initialize
1529 the connection-global 33 bits of the object ID
1531 * dbus/dbus-object-registry.c (info_from_entry): fill in
1532 object ID in the new way
1534 * dbus/dbus-objectid.h: rather than high/low bits, specifically
1535 define server/client/instance bits.
1537 2003-07-30 Havoc Pennington <hp@pobox.com>
1539 * dbus/dbus-connection.c (dbus_connection_register_object): fix
1542 2003-07-13 Havoc Pennington <hp@pobox.com>
1544 * dbus/dbus-object.h (struct DBusObjectVTable): add padding
1545 fields to DBusObjectVTable and DBusObjectInfo
1547 2003-07-12 Havoc Pennington <hp@pobox.com>
1549 * dbus/dbus-object-registry.c: implement unit test,
1550 fix bugs discovered in process
1552 * dbus/dbus-connection.c: remove handler_table and
1553 register_handler(), add DBusObjectRegistry usage
1555 * dbus/dbus-objectid.c (dbus_object_id_is_null)
1556 (dbus_object_id_set_null): new functions
1558 2003-07-08 Havoc Pennington <hp@pobox.com>
1560 * dbus/dbus-object.c: implement some of this
1562 * dbus/dbus-object-registry.c
1563 (_dbus_object_registry_add_and_unlock): fill in the object_id out
1565 (_dbus_object_registry_new): handle OOM
1567 2003-07-08 Havoc Pennington <hp@pobox.com>
1569 * dbus/dbus-object.h: sketch out an API for registering objects
1570 with a connection, that allows us to use as little as 24 bytes
1571 per object and lets application code represent an object in
1572 any conceivable way.
1574 * dbus/dbus-object-registry.c: implement the hard bits of the
1575 DBusConnection aspect of object API. Not yet wired up.
1577 2003-07-06 Havoc Pennington <hp@pobox.com>
1579 * dbus/dbus-marshal.c (_dbus_marshal_set_object_id): new function
1580 (_dbus_marshal_object_id): new
1581 (_dbus_demarshal_object_id): new
1582 (_dbus_marshal_get_arg_end_pos): support object ID type, and
1583 consolidate identical switch cases. Don't conditionalize handling
1584 of DBUS_TYPE_UINT64, need to handle the type always.
1585 (_dbus_marshal_validate_arg): consolidate identical cases, and
1586 handle DBUS_TYPE_OBJECT_ID
1588 * dbus/dbus-objectid.c: new file with DBusObjectID data type.
1590 * dbus/dbus-protocol.h: add DBUS_TYPE_OBJECT_ID
1592 2003-09-28 Havoc Pennington <hp@pobox.com>
1596 2003-09-28 Havoc Pennington <hp@pobox.com>
1598 * doc/Makefile.am (dbus-specification.html): testing a funky hack
1599 to work with Debian db2html
1601 2003-09-28 Havoc Pennington <hp@pobox.com>
1603 * configure.in: 0.13
1605 * doc/Makefile.am (dbus-test-plan.html): accept nonexistence of
1606 stylesheet-images for benefit of Debian
1608 Change back to using filesystem-linked sockets for the system
1609 bus, so only root can create the default system bus address.
1611 * bus/system.conf.in: change to use
1612 DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
1614 * dbus/Makefile.am (INCLUDES): remove DBUS_SYSTEM_BUS_PATH define
1617 * configure.in: define DBUS_SYSTEM_BUS_DEFAULT_ADDRESS
1618 here, and AC_DEFINE DBUS_SYSTEM_PATH
1620 2003-08-09 Anders Carlsson <andersca@codefactory.se>
1623 * doc/busconfig.dtd:
1626 2003-08-09 Anders Carlsson <andersca@codefactory.se>
1628 * doc/dbus-specification.sgml:
1629 Add activation reply values.
1631 2003-08-05 Havoc Pennington <hp@redhat.com>
1633 * configure.in: 0.12
1635 2003-08-05 Anders Carlsson <andersca@codefactory.se>
1637 * glib/dbus-gmain.c: (watch_fd_new), (watch_fd_ref),
1638 (watch_fd_unref), (dbus_gsource_check), (dbus_gsource_dispatch),
1639 (add_watch), (remove_watch), (create_source):
1640 Refcount fds, fixes some reentrancy issues.
1642 2003-07-30 Havoc Pennington <hp@redhat.com>
1644 * dbus/dbus-bus.c (init_connections_unlocked): fix default system
1645 bus address to be abstract if we have abstract sockets
1649 2003-07-28 Havoc Pennington <hp@redhat.com>
1651 * bus/messagebus.in: fix to avoid processname/servicename
1652 confusion, from Michael Kearey
1653 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=100965
1655 2003-07-23 Havoc Pennington <hp@pobox.com>
1657 * dbus/dbus-message.c (dbus_message_iter_get_named):
1658 fix from Andy Hanton to remove broken "+1"
1660 2003-07-16 Havoc Pennington <hp@pobox.com>
1662 * tools/dbus-launch.c (babysit): close stdout/stderr in the
1663 babysitter process, as suggested by Thomas Leonard, so
1664 an "eval `dbus-launch --exit-with-session`" will actually
1667 2003-07-16 Havoc Pennington <hp@pobox.com>
1669 * configure.in: print out EXPANDED_* variables in the summary at
1670 the end; clean up the code that computes EXPANDED_ variables and
1671 get the ones using exec_prefix right. Should make things work
1672 when you build without --prefix
1674 2003-06-29 Havoc Pennington <hp@pobox.com>
1676 * mono/Test.cs (class Test): fire up a main loop and run it
1678 * mono/DBus.cs (DBus): don't g_thread_init since it can only be
1679 done once, the app has to do it
1681 2003-06-26 Havoc Pennington <hp@pobox.com>
1683 * mono/Connection.cs: set up connection with the glib main loop
1685 2003-07-01 Havoc Pennington <hp@redhat.com>
1687 * doc/dbus-specification.sgml: clarify the format of a type code,
1688 change suggested by Jim Blandy
1690 2003-06-29 Miloslav Trmac <mitr@volny.cz>
1693 * tools/Makefile.am: Don't assume srcdir == builddir.
1695 * dbus/dbus-memory.c (dbus_realloc): Don't check guards after shrinking
1696 the allocated block.
1697 (_dbus_memory_test): New function.
1698 * dbus/dbus-test.h: Add _dbus_memory_test ().
1699 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): Call it.
1701 * dbus/dbus-message.c (decode_header_data): Use %.4s instead
1703 (dbus_message_new): Remove obsolete @todo.
1705 * dbus/dbus-marshal.c (_dbus_marshal_set_int64)
1706 (_dbus_marshal_set_uint64): Fix comment.
1708 * dbus/dbus-message.c (append_int_field, append_uint_field): Don't
1709 hardcode FIELD_REPLY_SERIAL.
1711 * dbus/dbus-mainloop.c (_dbus_loop_remove_watch)
1712 (_dbus_loop_remove_timeout): Cast function pointers to (void *) for %p
1714 * configure.in: Add -D_POSIX_C_SOURCE=199309L -DBSD_SOURCE to CFLAGS
1715 and disable DBUS_USE_ATOMIC_INT_486 when --enable-ansi is used
1717 2003-06-24 Havoc Pennington <hp@pobox.com>
1719 * mono/*.cs: Use IntPtr.Zero instead of ((IntPtr) 0)
1721 2003-06-23 Anders Carlsson <andersca@codefactory.se>
1727 * gcj/TestMessage.java: (TestMessage), (TestMessage.main):
1728 * gcj/org/.cvsignore:
1729 * gcj/org/Makefile.am:
1730 * gcj/org/freedesktop/.cvsignore:
1731 * gcj/org/freedesktop/Makefile.am:
1732 * gcj/org/freedesktop/dbus/.cvsignore:
1733 * gcj/org/freedesktop/dbus/Makefile.am:
1734 * gcj/org/freedesktop/dbus/Message.java: (Message),
1736 * gcj/org/freedesktop/dbus/natMessage.cc:
1737 Fix the build system.
1739 2003-06-22 Havoc Pennington <hp@pobox.com>
1741 * mono/Connection.cs: add more bindings
1743 * dbus/dbus-threads.c (dbus_threads_init): allow calling this
1746 2003-06-22 Havoc Pennington <hp@pobox.com>
1748 * mono/Connection.cs, mono/DBus.cs, mono/Error.cs:
1749 Start wrapping more stuff.
1751 2003-06-22 Havoc Pennington <hp@pobox.com>
1753 * mono/Message.cs: implement Message.Wrap() that ensures we only
1754 have a single C# wrapper per DBusMessage, assuming it works which
1755 it probably doesn't.
1757 * dbus/dbus-message.c (dbus_message_allocate_data_slot): new
1758 (dbus_message_free_data_slot): new
1759 (dbus_message_set_data): new
1760 (dbus_message_get_data): new
1762 2003-06-22 Havoc Pennington <hp@pobox.com>
1764 * dbus/dbus-dataslot.c (_dbus_data_slot_allocator_unref)
1765 (_dbus_data_slot_allocator_alloc): rework these to keep a
1766 reference count on each slot and automatically manage a global
1767 slot ID variable passed in by address
1769 * bus/bus.c: convert to new dataslot API
1771 * dbus/dbus-bus.c: convert to new dataslot API
1773 * dbus/dbus-connection.c: convert to new dataslot API
1775 * dbus/dbus-server.c: convert to new dataslot API
1777 * glib/dbus-gmain.c: ditto
1781 * bus/connection.c: ditto
1783 2003-06-22 Anders Carlsson <andersca@codefactory.se>
1785 * configure.in: Add AM_PROG_GCJ and move AM_PROG_LIBTOOL
1786 after the gcj checks so that the correct configuration tags
1787 will be added to libtool.
1789 * dbus-glib-1.pc.in: No need to specify any includes since
1790 dbus-1.pc.in has those.
1792 2003-06-22 Havoc Pennington <hp@pobox.com>
1794 * mono/*, gcj/*, configure.in, Makefile.am:
1795 Check in makefiles and subdirs for mono and gcj bindings.
1796 Neither binding actually exists, just trying to get through
1797 all the build and other boring bits.
1799 2003-06-21 Philip Blundell <philb@gnu.org>
1801 * tools/dbus-monitor.1: Updated.
1803 * tools/dbus-send.1: Likewise.
1805 2003-06-20 Anders Carlsson <andersca@codefactory.se>
1807 * dbus/dbus-transport-unix.c (unix_handle_watch): Check
1808 for hangup and error after checking read so we won't discard
1809 pending data if both hangup and read are set.
1811 2003-06-19 Philip Blundell <philb@gnu.org>
1813 * tools/dbus-print-message.c (print_message): Handle BOOLEAN.
1815 * tools/dbus-send.c: Accept both --system and --session.
1817 * tools/dbus-monitor.c: Same here.
1819 2003-06-19 Anders Carlsson <andersca@codefactory.se>
1821 * glib/dbus-glib.h: Fix so that dbus-glib.h can be used
1822 from C++ (Patch by Miloslav Trmac).
1824 2003-06-15 Joe Shaw <joe@assbarn.com>
1826 * configure.in: Check for socklen_t.
1828 * dbus/dbus-sysdeps.c: Define socklen_t if it's not defined.
1830 * test/test-segfault.c: Add #include <sys/time.h>
1832 * tools/Makefile.am: Add DBUS_X_CFLAGS to the INCLUDES since
1833 dbus-launch needs it.
1835 2003-06-09 Havoc Pennington <hp@redhat.com>
1837 * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): don't use
1838 SUN_LEN, it breaks abstract socket usage
1840 * dbus/dbus-internals.c (_dbus_verbose_real): only print PID at
1843 2003-06-04 Havoc Pennington <hp@pobox.com>
1845 * dbus/dbus-server.c (dbus_server_listen): allow abstract sockets
1846 using unix:abstract=/foo, and when listening in a tmpdir
1847 i.e. unix:tmpdir=/tmp, always use abstract sockets if we can.
1849 * dbus/dbus-transport.c (_dbus_transport_open): support
1852 * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
1853 support abstract sockets
1855 * dbus/dbus-transport-unix.c
1856 (_dbus_transport_new_for_domain_socket): support abstract sockets
1858 * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket): add "abstract"
1859 toggle as an argument, implement abstract namespace support
1860 (_dbus_listen_unix_socket): ditto
1862 * configure.in: add --enable-abstract-sockets and implement
1863 a configure check for autodetection of the right value.
1865 2003-06-01 Havoc Pennington <hp@pobox.com>
1867 * tools/dbus-cleanup-sockets.c: add utility to clean up sockets
1868 in /tmp (though on Linux this will end up being useless,
1869 when we add abstract namespace support)
1871 * configure.in: define DBUS_SESSION_SOCKET_DIR in addition to
1874 2003-05-28 Colin Walters <walters@verbum.org>
1876 * tools/dbus-monitor.c (main): Fix silly typo (s/--session/--system/).
1878 2003-05-18 Anders Carlsson <andersca@codefactory.se>
1880 * dbus/dbus-message.c (dbus_message_new): Remove @todo.
1882 2003-05-17 Colin Walters <walters@gnu.org>
1884 * tools/dbus-send.c: Don't exit with an error code if --help was
1885 passed. Default to using the session bus instead of the system
1888 * tools/dbus-launch.c: Ditto.
1890 * tools/dbus-monitor.c: Ditto.
1892 * tools/dbus-send.1: Update with new arguments.
1894 * tools/dbus-launch.c: Emit code to export variables. New
1895 arguments -s and -c to specify shell syntax, and a bit of code to
1896 autodetect syntax. Also, allow specifying a program to run.
1898 * tools/dbus-launch.1: Update with new arguments.
1900 * tools/dbus-send.1: Ditto.
1902 * tools/dbus-monitor.1: Ditto.
1904 2003-05-17 Havoc Pennington <hp@pobox.com>
1906 * bus/config-parser.c (merge_included): merge in policies from
1907 child configuration file.
1909 * bus/policy.c (bus_policy_merge): function to merge two policies
1912 2003-05-16 Havoc Pennington <hp@redhat.com>
1914 * dbus/dbus-connection.c: disable verbose lock spew
1916 * tools/dbus-send.c: add --print-reply command line option
1918 * tools/dbus-print-message.h (print_message): new util function
1919 shared by dbus-send and dbus-monitor
1921 * tools/dbus-monitor.c (handler_func): exit on disconnect
1923 * dbus/dbus-transport-unix.c (do_reading): if the transport is
1924 disconnected, don't try to use the read_watch
1926 * dbus/dbus-watch.c (dbus_watch_get_enabled): assert watch != NULL
1927 so we can find this bug more easily
1929 2003-05-16 Havoc Pennington <hp@redhat.com>
1931 * bus/policy.c (free_rule_list_func): avoid a crash when passed
1932 NULL as DBusHashTable is annoyingly likely to do.
1934 2003-05-16 Colin Walters <walters@verbum.org>
1936 * tools/dbus-monitor.c: Add --session argument and usage()
1939 * tools/dbus-monitor.1: Update with new --session arg.
1941 * bus/Makefile.am (install-data-hook): Create
1942 $(libdir)/dbus-1.0/services so that the session bus is happy.
1944 2003-05-15 Havoc Pennington <hp@redhat.com>
1946 * dbus/dbus-sysdeps.c (_dbus_atomic_dec, _dbus_atomic_inc): work
1947 on non-x86. ifdef's are evil.
1949 2003-05-15 Havoc Pennington <hp@redhat.com>
1951 * configure.in: 0.11
1955 * bus/Makefile.am (initddir): apparently we are supposed to put
1956 init scripts in /etc/rc.d/init.d not /etc/init.d
1958 * bus/Makefile.am: remove the "you must --enable-tests to make
1959 check" as it broke distcheck
1961 * bus/Makefile.am (install-data-hook): create /etc/dbus-1/system.d
1963 2003-05-13 James Willcox <jwillcox@gnome.org>
1966 * bus/activation.c: (bus_activation_service_created),
1967 (bus_activation_activate_service):
1968 * bus/driver.c: (bus_driver_send_service_deleted),
1969 (bus_driver_send_service_created), (bus_driver_send_service_lost),
1970 (bus_driver_send_service_acquired),
1971 (bus_driver_send_welcome_message),
1972 (bus_driver_handle_list_services):
1973 * bus/session.conf.in:
1974 * dbus/dbus-bus.c: (dbus_bus_acquire_service),
1975 (dbus_bus_service_exists), (dbus_bus_activate_service):
1978 Add some convenience API which lets you activate a service, and did a
1979 bunch of s/0/DBUS_TYPE_INVALID/ in calls to dbus_message_append_args()
1980 and dbus_message_get_args()
1982 2003-05-11 Havoc Pennington <hp@pobox.com>
1984 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix to avoid
1985 calling _dbus_marshal_validate_arg() for every byte in a byte
1988 * dbus/dbus-message-handler.c: use atomic reference counting to
1989 reduce number of locks slightly; the global lock in here sucks
1991 * dbus/dbus-connection.c
1992 (_dbus_connection_update_dispatch_status_and_unlock): variant of
1993 update_dispatch_status that can be called with lock held; then use
1994 in a couple places to reduce locking/unlocking
1995 (dbus_connection_send): hold the lock over the whole function
1996 instead of acquiring it twice.
1998 * dbus/dbus-timeout.c (_dbus_timeout_new): handle OOM
2000 * bus/connection.c (bus_connections_setup_connection): fix access
2001 to already-freed memory.
2003 * dbus/dbus-connection.c: keep a little cache of linked list
2004 nodes, to avoid using the global linked list alloc lock in the
2005 normal send-message case. Instead we just use the connection lock
2006 that we already have to take.
2008 * dbus/dbus-list.c (_dbus_list_find_last): new function
2010 * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec):
2011 change to use a struct for the atomic type; fix docs,
2012 they return value before increment, not after increment.
2014 * dbus/dbus-string.c (_dbus_string_append_4_aligned)
2015 (_dbus_string_append_8_aligned): new functions to try to
2016 microoptimize this operation.
2017 (reallocate_for_length): break this out of set_length(), to
2018 improve profile info, and also so we can consider inlining the
2021 * dbus/dbus-message.c (dbus_message_new_empty_header): init data
2022 strings with some preallocation, cuts down on our calls to realloc
2023 a fair bit. Though if we can get the "move entire string to empty
2024 string" optimization below to kick in here, it would be better.
2026 * dbus/dbus-string.c (_dbus_string_move): just call
2027 _dbus_string_move_len
2028 (_dbus_string_move_len): add a special case for moving
2029 an entire string into an empty string; we can just
2030 swap the string data instead of doing any reallocs.
2031 (_dbus_string_init_preallocated): new function
2033 2003-05-11 Havoc Pennington <hp@pobox.com>
2035 Write a "test-profile" that does echo client-server with threads;
2036 profile reveals lock contention, memcpy/realloc of buffers, and
2037 UTF-8 validation as hot spots. 20% of lock contention eliminated
2038 with dbus_atomic_inc/dec implementation on x86. Much remaining
2039 contention is global mempool locks for GList and DBusList.
2041 * dbus/dbus-sysdeps.c (_dbus_atomic_inc, _dbus_atomic_dec): add
2044 * dbus/dbus-connection.c (struct DBusConnection): use
2045 dbus_atomic_t for the reference count
2047 * dbus/dbus-message.c (struct DBusMessage): declare
2048 dbus_atomic_t values as volatile
2050 * configure.in: code to detect ability to use atomic integer
2051 operations in assembly, from GLib patch
2053 * dbus/dbus-internals.c (_dbus_verbose_real): call getpid every
2054 time, tired of it being wrong in threads and forked processes
2056 * glib/test-profile.c: a little program to bounce messages back
2057 and forth between threads and eat CPU
2059 * dbus/dbus-connection.c: add debug spew macros for debugging
2060 thread locks; include config.h at top; fix deadlock in
2061 dbus_connection_flush()
2063 2003-05-08 Havoc Pennington <hp@pobox.com>
2065 * dbus/dbus-spawn.c: s/_exit/exit/ because it was keeping gcov
2066 data from getting written, and there wasn't a good reason to
2069 * test/decode-gcov.c (mark_inside_dbus_build_tests): don't count
2070 dbus_verbose lines in test coverage
2071 (main): add list of functions sorted by # of untested blocks
2072 to the coverage report
2074 * dbus/dbus-mempool.c: put some test-only code in DBUS_BUILD_TESTS
2076 * dbus/dbus-marshal.c (_dbus_marshal_test): extend test coverage
2078 * dbus/dbus-message-handler.c (_dbus_message_handler_test):
2079 extend test coverage
2081 * test/data/auth/cancel.auth-script: test canceling an
2084 * dbus/Makefile.am: remove dbus-server-debug.[hc] for now, as they
2085 aren't used. in CVS history if we end up needing them.
2087 2003-05-04 Havoc Pennington <hp@pobox.com>
2089 * dbus/dbus-message-handler.c (_dbus_message_handler_test): add
2092 * dbus/dbus-marshal.c (_dbus_demarshal_string_array): fix this
2093 function, which assumed length was in # of strings, not bytes
2095 * dbus/dbus-message.c (_dbus_message_test): add tests for some
2098 * dbus/dbus-connection.c
2099 (_dbus_connection_queue_received_message): disable function for
2100 now, we are only using it in test mode
2102 * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
2103 remove a mistaken FIXME
2105 2003-05-04 Havoc Pennington <hp@pobox.com>
2107 * dbus/dbus-connection.c (dbus_connection_preallocate_send):
2108 unlock mutex on successful return, patch from Anders Gustafsson
2110 2003-05-04 Havoc Pennington <hp@pobox.com>
2112 * dbus-glib-1.pc.in (Requires): fix dependencies, from
2115 2003-05-04 Havoc Pennington <hp@pobox.com>
2117 * tools/dbus-launch.c: implement
2119 * bus/main.c (main), bus/bus.c (bus_context_new):
2120 implement --print-pid and --fork
2122 2003-05-03 Havoc Pennington <hp@redhat.com>
2124 * dbus/dbus-address.c (dbus_parse_address): fix bug when a key in
2125 the address had no value, and add to test suite. Fix and
2126 regression test from Miloslav Trmac
2128 2003-05-03 Havoc Pennington <hp@pobox.com>
2130 * dbus/dbus-watch.c (dbus_watch_handle): warn and return if a
2131 watch is invalid when handled
2133 * tools/Makefile.am, tools/dbus-launch.c, tools/dbus-launch.1: add
2134 dbus-launch utility to launch the bus from a shell script. Didn't
2135 actually implement dbus-launch yet, it's just a placeholder still.
2137 2003-05-03 Havoc Pennington <hp@pobox.com>
2139 * bus/Makefile.am, bus/dbus-daemon-1.1.in: man page for the
2140 daemon; also documents daemon config file, so replaces
2141 doc/config-file.txt. Corrected some stuff from config-file.txt in
2142 the process of moving it.
2144 2003-05-03 Havoc Pennington <hp@pobox.com>
2146 * tools/Makefile.am, tools/dbus-send.1, tools/dbus-monitor.1:
2149 2003-05-03 Colin Walters <walters@verbum.org>
2151 * dbus/dbus-sysdeps.c (fill_user_info): Test against
2152 DBUS_UID_UNSET to determine whether to do a uid lookup or not.
2154 * Makefile.am: Update to use new .pc versioning scheme.
2156 2003-05-02 Havoc Pennington <hp@redhat.com>
2158 * bus/system.conf.in: allow send/receive to/from message bus
2161 2003-04-30 Havoc Pennington <hp@redhat.com>
2163 * configure.in: print a note when building with unit tests and
2166 2003-04-30 Havoc Pennington <hp@redhat.com>
2168 * Makefile.am: add a check-local that complains if you didn't
2169 configure with --enable-tests
2171 2003-04-29 Havoc Pennington <hp@redhat.com>
2173 * glib/dbus-gmain.c: docs cleanups
2175 * dbus/dbus-types.h: add docs on int64 types
2177 * dbus/dbus-memory.c: fix docs to avoid putting private API in
2178 public API docs section
2180 2003-04-29 Havoc Pennington <hp@redhat.com>
2182 * dbus-1.pc.in, dbus-glib-1.pc.in: rename these from
2183 dbus-1.0.pc.in, dbus-glib-1.0.pc.in. As these change with the
2184 parallel install API version, not with the D-BUS package version.
2186 * HACKING: move some of README over here
2188 * README: updates, and document API/ABI policy
2190 * configure.in: reindentation
2192 2003-04-29 Havoc Pennington <hp@redhat.com>
2194 * dbus/dbus.h: add "you have to define DBUS_API_SUBJECT_TO_CHANGE
2195 to use this library" to be sure people have the right
2198 2003-04-28 Havoc Pennington <hp@redhat.com>
2200 * configure.in: add --enable-docs which by default is auto yes if
2201 doxygen and db2html found, no otherwise; but can be forced on/off
2203 * doc/Makefile.am: conditionalize whether to build docs on
2206 2003-04-28 Havoc Pennington <hp@redhat.com>
2208 * configure.in: 0.10
2212 * bus/system.conf.in: add <includedir>system.d</includedir>
2214 * dbus/dbus-userdb.c (_dbus_user_database_lookup): fix bug when
2215 username was provided but not uid
2217 * bus/config-parser.c (struct BusConfigParser): keep track of
2218 whether the parser is toplevel or was included; change some
2219 of the error handling if it's included.
2221 2003-04-27 Havoc Pennington <hp@pobox.com>
2225 * dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
2226 report correct status if we finish processing authentication
2227 inside this function.
2229 * bus/activation.c (try_send_activation_failure): use
2230 bus_transaction_send_error_reply
2232 * bus/connection.c (bus_connection_get_groups): return an error
2233 explaining the problem
2235 * bus/bus.c (bus_context_check_security_policy): implement
2236 restriction here that inactive connections can only send the
2237 hello message. Also, allow bus driver to send anything to
2240 * bus/connection.c (bus_connection_complete): create the
2241 BusClientPolicy here instead of on-demand.
2242 (bus_connection_get_policy): don't return an error
2244 * dbus/dbus-message.c (dbus_message_new_error_reply): allow NULL
2245 sender field in message being replied to
2247 * bus/bus.c (bus_context_check_security_policy): fix silly typo
2248 causing it to return FALSE always
2250 * bus/policy.c (bus_client_policy_check_can_send): fix bug where
2251 we checked sender rather than destination
2253 2003-04-25 Havoc Pennington <hp@redhat.com>
2255 test suite is slightly hosed at the moment, will fix soon
2257 * bus/connection.c (bus_connections_expire_incomplete): fix to
2258 properly disable the timeout when required
2259 (bus_connection_set_name): check whether we can remove incomplete
2260 connections timeout after we complete each connection.
2262 * dbus/dbus-mainloop.c (check_timeout): fix this up a bit,
2263 probably still broken.
2265 * bus/services.c (bus_registry_acquire_service): implement max
2266 number of services owned, and honor allow/deny rules on which
2267 services a connection can own.
2269 * bus/connection.c (bus_connection_get_policy): report errors here
2271 * bus/activation.c: implement limit on number of pending
2274 2003-04-25 Havoc Pennington <hp@redhat.com>
2276 * dbus/dbus-transport.c (_dbus_transport_get_unix_user): fix bug
2277 where we used >= 0 instead of != DBUS_UID_UNSET.
2279 2003-04-25 Havoc Pennington <hp@redhat.com>
2281 * glib/dbus-gmain.c (remove_watch): fix for a crash when watches
2282 were toggled without add/remove, fix from Anders Gustafsson
2284 2003-04-24 Havoc Pennington <hp@redhat.com>
2286 * test/data/valid-config-files/basic.conf: add <limit> tags to
2289 * bus/config-parser.h, bus/config-parser.c, bus/bus.c: Implement
2290 <limit> tag in configuration file.
2292 2003-04-24 Havoc Pennington <hp@redhat.com>
2294 * bus/dispatch.c: somehow missed some name_is
2296 * dbus/dbus-timeout.c (_dbus_timeout_set_enabled)
2297 (_dbus_timeout_set_interval): new
2299 * bus/connection.c (bus_connections_setup_connection): record time
2300 when each connection is first set up, and expire them after the
2301 auth timeout passes.
2303 2003-04-24 Havoc Pennington <hp@redhat.com>
2305 * dbus/dbus-message.c (dbus_message_name_is): rename
2306 (dbus_message_service_is): rename
2307 (dbus_message_sender_is): rename
2308 (dbus_message_get_service): rename
2310 2003-04-24 Havoc Pennington <hp@redhat.com>
2312 * configure.in: add --enable-checks
2314 * dbus/dbus-message.c (dbus_message_new): reverse name/service arguments
2316 * dbus/dbus-connection.c (dbus_connection_preallocate_send): fix
2317 to use thread locks.
2318 (_dbus_connection_handler_destroyed_locked): move some private
2319 functions into proper docs group
2321 * dbus/dbus-internals.h: add _dbus_return_if_fail,
2322 _dbus_return_val_if_fail
2324 Throughout: use dbus_return_if_fail
2326 2003-04-23 James Willcox <jwillcox@gnome.org>
2329 * glib/dbus-gmain.c: (add_timeout), (wakeup_main), (create_source),
2330 (dbus_connection_setup_with_g_main),
2331 (dbus_server_setup_with_g_main):
2332 * glib/test-dbus-glib.c: (main):
2333 * glib/test-thread-client.c: (main):
2334 * glib/test-thread-server.c: (new_connection_callback), (main):
2335 * tools/dbus-monitor.c: (main):
2337 Added a GMainContext argument to dbus_connection_setup_with_g_main()
2338 and dbus_server_setup_with_g_main().
2340 2003-04-20 Havoc Pennington <hp@pobox.com>
2342 * doc/dbus-specification.sgml: document the restrictions on
2343 message and service names
2345 2003-04-22 Havoc Pennington <hp@redhat.com>
2347 * dbus/dbus-message.c, dbus/dbus-marshal.c: add 64-bit integer
2348 support, and do some code cleanups to share more code and
2349 speed up array marshal/demarshal.
2351 * dbus-1.0.pc.in (Cflags): put libdir include file in cflags
2353 * configure.in: generate dbus-arch-deps.h
2355 * dbus/dbus-protocol.h (DBUS_TYPE_INT64, DBUS_TYPE_UINT64): add
2358 2003-04-22 Havoc Pennington <hp@redhat.com>
2360 * test/data/valid-messages/opposite-endian.message: fix test
2361 to use proper type for rply field
2363 * test/data/invalid-messages: add tests for below validation
2365 * dbus/dbus-message.c (decode_header_data): validate field types,
2366 and validate that named fields are valid names
2367 (decode_name_field): consider messages in the
2368 org.freedesktop.Local. namespace to be invalid.
2370 * dbus/dbus-string.c (_dbus_string_validate_name): new
2372 2003-04-19 Havoc Pennington <hp@pobox.com>
2374 * bus/driver.c (bus_driver_handle_hello): check limits and
2375 return an error if they are exceeded.
2377 * bus/connection.c: maintain separate lists of active and inactive
2378 connections, and a count of each. Maintain count of completed
2379 connections per user. Implement code to check connection limits.
2381 * dbus/dbus-list.c (_dbus_list_unlink): export
2383 * bus/bus.c (bus_context_check_security_policy): enforce a maximum
2384 number of bytes in the message queue for a connection
2386 2003-04-18 Havoc Pennington <hp@pobox.com>
2388 * dbus/dbus-auth.c (record_mechanisms): memleak fixes
2390 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): fix some
2393 * dbus/dbus-keyring.c (add_new_key): fix a memleak, and
2394 on realloc be sure to update the pointer in the keyring
2396 * dbus/dbus-string.c (_dbus_string_zero): compensate for align
2397 offset to avoid writing to unallocated memory
2399 * dbus/dbus-auth.c (process_rejected): return FALSE if we fail to
2400 try the next mechanism, so we properly handle OOM
2402 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): fix double-free
2404 (_dbus_keyring_new): fix OOM bug
2405 (_dbus_keyring_new_homedir): always set error; impose a maximum
2406 number of keys we'll load from the file, mostly to speed up the
2407 test suite and make its OOM checks more useful, but also for
2410 * dbus/dbus-auth.c (process_error_server): reject authentication
2411 if we get an error from the client
2412 (process_cancel): on cancel, send REJECTED, per the spec
2413 (process_error_client): send CANCEL if we get an error from the
2416 2003-04-18 Havoc Pennington <hp@pobox.com>
2418 * dbus/dbus-mainloop.c (_dbus_loop_iterate): fix UMR in verbose
2421 * dbus/dbus-auth.c (handle_client_data_cookie_sha1_mech): fix OOM
2424 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): only whine
2425 about DBUS_TEST_HOMEDIR once
2427 * bus/Makefile.am (TESTS_ENVIRONMENT): put DBUS_TEST_HOMEDIR in
2430 * bus/dispatch.c (bus_dispatch_sha1_test): actually load sha1
2431 config file so we test the right thing
2433 Throughout: assorted docs improvements
2435 2003-04-18 Havoc Pennington <hp@pobox.com>
2437 * glib/dbus-gmain.c: adapt to watch changes
2439 * bus/bus.c, bus/activation.c, etc.: adjust to watch changes
2441 * dbus/dbus-server.h: remove dbus_server_handle_watch
2443 * dbus/dbus-connection.h: remove dbus_connection_handle_watch
2445 * dbus/dbus-watch.c (dbus_watch_handle): change DBusWatch to work
2446 like DBusTimeout, so we don't need dbus_connection_handle_watch
2449 2003-04-17 Havoc Pennington <hp@redhat.com>
2451 * dbus/dbus-userdb.c, dbus/dbus-sysdeps.c: redo all the passwd
2452 database usage so it all goes via the DBusUserDatabase cache.
2454 2003-04-17 Havoc Pennington <hp@redhat.com>
2456 * dbus/dbus-mainloop.c (_dbus_loop_iterate): fix logic so that if
2457 there was an OOM watch we skipped, we always return TRUE so we
2458 iterate again to have a look at it again. Fixes test suite hang.
2459 Code rearrangement also lets us lose some memset and only iterate
2460 over callbacks once.
2462 * bus/driver.c (bus_driver_handle_message): sense of test for
2465 2003-04-16 Havoc Pennington <hp@pobox.com>
2467 * doc/dbus-specification.sgml: make spec say serials are unsigned
2469 * dbus/dbus-message.h: change message serials to unsigned
2471 * dbus/dbus-connection.c: adapt to message serials being unsigned
2473 2003-04-15 Havoc Pennington <hp@pobox.com>
2475 * bus/bus.c: create and keep around a shared DBusUserDatabase
2478 * bus/connection.c (bus_connection_get_groups): don't cache
2479 groups for user in the connection object, since user database
2480 object now does that.
2482 2003-04-16 Havoc Pennington <hp@redhat.com>
2484 * dbus/dbus-message.c (_dbus_message_add_size_counter): keep a
2485 list of size counters
2486 (_dbus_message_loader_putback_message_link): put back a popped link
2488 * dbus/dbus-connection.c
2489 (dbus_connection_set_max_live_messages_size): rename
2491 (dbus_connection_get_outgoing_size): get size of outgoing
2493 (_dbus_connection_set_connection_counter): remove this cruft
2495 2003-04-14 Havoc Pennington <hp@redhat.com>
2497 * dbus/dbus-userdb.c: user database abstraction, mostly to get
2498 caching, but at some point we might want to be able to use a
2501 * bus/dispatch.c (bus_dispatch_sha1_test): add a test that uses
2502 SHA1 conf file to test the sha1 auth mechanism, since the regular
2503 test always uses EXTERNAL when available.
2506 test/data/valid-config-files/debug-allow-all-sha1.conf.in:
2507 add conf file that requires use of sha1 auth
2509 2003-04-13 Havoc Pennington <hp@pobox.com>
2511 * tools/dbus-send.c, tools/dbus-monitor.c: two utility programs
2512 from Philip Blundell to send messages and monitor them.
2514 2003-04-13 Havoc Pennington <hp@pobox.com>
2516 * dbus/dbus-mainloop.c: fix some reentrancy issues by refcounting
2519 * test/data/valid-config-files/debug-allow-all.conf.in: allow all
2522 * dbus/dbus-transport.c (_dbus_transport_get_dispatch_status):
2523 fix to only recover unused bytes if we're already authenticated
2524 (_dbus_transport_get_is_authenticated): fix to still mark us
2525 authenticated if there are unused bytes.
2527 * bus/dispatch.c: implement security policy checking
2529 * bus/connection.c (bus_transaction_send_from_driver): new
2531 * bus/bus.c (bus_context_check_security_policy): new
2533 * bus/dispatch.c (send_service_nonexistent_error): delete this,
2534 now we just set the DBusError and it gets converted to an error
2537 * bus/connection.c (allow_user_function): enable code using actual
2538 data from the config file
2540 * bus/policy.c (list_allows_user): handle wildcard rules for
2541 user/group connection perms
2543 2003-04-13 Havoc Pennington <hp@pobox.com>
2545 * bus/config-parser.c: Load up the BusPolicy and BusPolicyRules
2547 * dbus/dbus-sysdeps.c (_dbus_get_user_id): new function
2549 * bus/policy.c (bus_policy_append_mandatory_rule)
2550 (bus_policy_append_default_rule, bus_policy_append_user_rule)
2551 (bus_policy_append_group_rule): new functions
2553 2003-04-12 Havoc Pennington <hp@pobox.com>
2555 * bus/config-parser.c (bus_config_parser_new): fix a memleak
2557 * dbus/dbus-sysdeps.c: change DBusCredentials to use longs for
2558 the pid/gid/uid, just for paranoia.
2560 * test/break-loader.c (randomly_do_n_things): find a byte
2561 containing a type code, and randomly change it to a different
2564 2003-04-12 Havoc Pennington <hp@pobox.com>
2566 * bus/policy.h: change BusPolicy to be the thing from the config
2567 file, and rename old BusPolicy to BusClientPolicy
2569 * bus/bus.c, bus/connection.c, bus/config-parser.c: change to
2570 match change in how policy works
2572 * dbus/dbus-internals.h: mark assert_not_reached as
2573 __attribute((noreturn))__
2575 2003-04-11 Havoc Pennington <hp@redhat.com>
2577 * doc/dbus-specification.sgml: fix a spot with the wrong name for
2578 the broadcast service. Use boolean return for ServiceExists.
2580 2003-04-11 Havoc Pennington <hp@redhat.com>
2582 * configure.in: add another directory to look for qt in.
2584 2003-04-11 Havoc Pennington <hp@redhat.com>
2586 * AUTHORS: add Colin Walters
2588 2003-04-11 Havoc Pennington <hp@redhat.com>
2594 2003-04-11 Havoc Pennington <hp@redhat.com>
2596 * bus/messagebus.in: remove pid file when stopping the
2597 message bus, since the bus won't have privileges to remove it
2600 2003-04-11 Havoc Pennington <hp@redhat.com>
2602 * bus/bus.c (bus_context_new): move credentials change after
2605 2003-04-11 Havoc Pennington <hp@pobox.com>
2607 * test/decode-gcov.c: add "below average functions" to the
2608 coverage report, and change how some of the code works.
2610 * bus/test-main.c: bracket some stuff in DBUS_BUILD_TESTS so it's
2611 not in the coverage stats.
2613 * test/test-service.c (main): use _dbus_verbose not fprintf in a
2614 couple places so running the test suite doesn't result in megaspam.
2616 2003-04-11 Havoc Pennington <hp@pobox.com>
2618 * bus/dispatch.c (check_existent_service_activation): accept a no
2619 memory error in a place we didn't before
2621 * bus/test.c (bus_test_run_everything): remove hacky "do it twice
2622 in case the first one failed," since the test suite is less
2625 2003-04-10 Havoc Pennington <hp@pobox.com>
2627 * bus/dispatch.c (check_segfault_service_activation): add test
2628 for launching an executable that just crashes.
2630 * test/test-segfault.c (main): try setting coredumpsize to 0 so we
2631 don't leave a million cores. We'll see how portable this is.
2633 2003-04-10 Havoc Pennington <hp@pobox.com>
2635 * dbus/dbus-spawn.c (_dbus_spawn_async_with_babysitter): move all
2636 the possible parent failures before we fork, so that we don't
2637 fail to create a babysitter after creating the child.
2639 * bus/activation.c (bus_activation_activate_service): kill child
2640 if we don't successfully complete the activation.
2642 2003-04-10 Havoc Pennington <hp@redhat.com>
2644 * dbus/dbus-connection.c (dbus_connection_flush): don't spin on
2645 the connection if it's disconnected
2647 * bus/activation.c (bus_activation_service_created): use new
2648 transaction features to roll back removal of pending activation if
2649 we don't successfully create the service after all. Don't remove
2650 pending activation if the function fails.
2652 * dbus/dbus-list.c (_dbus_list_insert_before_link)
2653 (_dbus_list_insert_after_link): new code to facilitate
2656 * dbus/dbus-hash.c (_dbus_hash_table_insert_string_preallocated):
2657 new functionality, so we can preallocate the ability to insert
2660 * bus/connection.c (bus_transaction_add_cancel_hook): new function
2661 allowing us to put custom hooks in a transaction to be used for
2662 cancelling said transaction
2664 * doc/dbus-specification.sgml: add some discussion of secondary
2665 service owners, and disallow zero-length service names
2667 * bus/services.c (bus_registry_acquire_service): new function,
2668 splits out part of bus_driver_handle_acquire_service() and fixes
2669 a bug where we didn't remove the service doing the acquiring
2670 from the secondary queue if we failed to remove the current owner
2671 from the front of the queue.
2673 2003-04-10 Alexander Larsson <alexl@redhat.com>
2675 * doc/dbus-specification.sgml:
2676 s/org.freedesktop.Broadcast/org.freedesktop.DBus.Broadcast/
2678 2003-04-10 Alexander Larsson <alexl@redhat.com>
2683 Added files to cvsignore
2685 * dbus/dbus-message.h:
2686 * dbus/dbus-message.c: (dbus_message_iter_get_named):
2687 Make get_named() take two out argument and return a boolean.
2688 (dbus_message_iter_get_args_valist):
2689 Update usage of get_named().
2690 (dbus_message_iter_append_byte):
2692 (dbus_message_iter_append_named)
2694 (message_iter_test), (check_message_handling_type), (_dbus_message_test):
2697 2003-04-10 Alexander Larsson <alexl@redhat.com>
2699 * dbus/dbus-marshal.[ch]:
2700 Add array_type_pos argument to _dbus_marshal_validate_arg.
2701 Let you pass a NULL end_pos to _dbus_marshal_validate_type.
2703 * dbus/dbus-message.[ch]:
2704 Multi-dimensional arrays have full type specification in the
2705 outermost array. Iter code re-arranged to handle this.
2706 Added some more iter tests.
2708 * doc/dbus-specification.sgml:
2711 Update new array encoding description.
2712 Correct DBUS_SERVICE_FLAGS_REPLACE_EXISTING description.
2714 * test/data/invalid-messages/array-with-mixed-types.message:
2715 * test/data/valid-messages/array-of-array-of-uint32.message:
2716 Change to the new array format.
2718 * test/data/invalid-messages/too-short-dict.message:
2721 * test/data/valid-messages/recursive-types.message:
2722 Fix up and extend test.
2724 2003-04-10 Havoc Pennington <hp@pobox.com>
2726 * bus/dispatch.c: lots of fixes
2728 * dbus/dbus-mainloop.c (_dbus_loop_dispatch): export
2729 (_dbus_loop_iterate): remove old "quit if no callbacks" code,
2730 that was crack, broke the test service.
2732 * dbus/dbus-transport.c (_dbus_transport_open): fix error
2733 handling to avoid piling up errors if we get a failure on the
2736 * dbus/dbus-internals.c (_dbus_real_assert_not_reached): include
2737 pid in assertion failures.
2739 * dbus/dbus-mainloop.c (_dbus_loop_iterate): use static arrays up
2740 to some fixed size of file descriptor array. Don't return TRUE
2741 anytime a timeout exists, that led to lots of busy loop silliness
2744 2003-04-09 Havoc Pennington <hp@redhat.com>
2746 * dbus/dbus-mainloop.c (check_timeout): fix timeouts, I thought
2747 I'd checked this in earlier but hadn't.
2749 2003-04-09 Havoc Pennington <hp@redhat.com>
2751 * bus/dispatch.c (bus_dispatch_test): get a bit further through
2752 the activation test (man this is getting old!)
2754 2003-04-09 Havoc Pennington <hp@redhat.com>
2756 * test/test-utils.c: use dispatch status function to fix this up
2758 * bus/connection.c (connection_watch_callback): don't dispatch
2760 (connection_timeout_callback): don't dispatch from here
2761 (bus_connections_setup_connection): set the dispatch status function
2762 (bus_connection_disconnected): unset it
2764 * dbus/dbus-mainloop.c (_dbus_loop_queue_dispatch): new function
2765 used to add a connection to be dispatched
2766 (_dbus_loop_iterate): do the dispatching at the end of each
2769 * dbus/dbus-connection.c
2770 (dbus_connection_set_dispatch_status_function): new function
2771 allowing us to fix up main loop usage
2772 (_dbus_connection_last_unref): free all the various function
2774 (dbus_connection_dispatch): call the DispatchStatusFunction
2775 whenever this function returns
2776 (dbus_connection_handle_watch): call DispatchStatusFunction
2777 (dbus_connection_send_with_reply_and_block): call DispatchStatusFunction
2778 (reply_handler_timeout): call DispatchStatusFunction
2779 (dbus_connection_flush): call DispatchStatusFunction
2781 2003-04-09 Havoc Pennington <hp@redhat.com>
2783 * dbus/dbus-bus.c (dbus_bus_register): fix up error handling and
2786 * bus/dispatch.c (check_service_activated): fix bug in test
2788 * dbus/dbus-mainloop.c (check_timeout): fix this up
2790 * dbus/dbus-internals.c (_dbus_verbose_real): include PID in
2791 verbose output so we can sort out output from different processes,
2792 e.g. in the activation case.
2794 2003-04-08 Colin Walters <walters@gnu.org>
2796 * bus/bus.c (struct BusContext) [pidfile]: New member, to store
2798 (bus_context_new): Set it.
2799 (bus_context_unref): Use it to delete the pid file.
2801 2003-04-08 Havoc Pennington <hp@redhat.com>
2803 * test/data/invalid-messages/array-with-mixed-types.message:
2804 regression test that fails for the moment
2806 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): reorder
2807 tests for convenience
2809 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): don't allow
2810 array of nil, it broke things.
2812 * test/data/invalid-messages/array-of-nil.message: regression test
2814 * test/data/valid-messages/array-of-array-of-uint32.message:
2815 happened to write this so added it to suite
2817 2003-04-08 Havoc Pennington <hp@redhat.com>
2819 * bus/driver.c (bus_driver_handle_acquire_service): init
2820 retval/reply before checking name
2822 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add a
2823 recursion depth argument
2825 * dbus/dbus-message.h (struct DBusMessageIter): put some padding
2826 in the public struct for future extension
2828 * dbus/dbus-message-builder.c (_dbus_message_data_load): fix
2831 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): fix a verbose
2834 * doc/dbus-specification.sgml: fix typo
2836 2003-04-08 Alexander Larsson <alexl@redhat.com>
2838 Implemented recursive types, named types and new-style iters
2841 * glib/test-thread-client.c: (thread_func):
2842 * glib/test-thread-server.c: (handle_test_message):
2843 * test/test-service.c: (handle_echo):
2852 * dbus/dbus-internals.c: (_dbus_type_to_string):
2853 Update for new types.
2855 * dbus/dbus-marshal.[ch]:
2856 Implement recursive types and the new marshalling format.
2857 Remove hardcoded dict marshalling.
2858 Marshal named types.
2860 * dbus/dbus-message-builder.c:
2862 Remove references to old types
2864 * dbus/dbus-message.[ch]:
2865 New non-refcounted iter API that supports recursive iters.
2866 Use iters for appending, including support for recursive
2868 Add byte and named type support.
2869 Update everything to new marshalling formats.
2870 Add tests for new API.
2872 * dbus/dbus-protocol.h:
2873 Remove old array types.
2874 Add types: BYTE, ARRAY, DICT, NAMED
2876 * dbus/dbus-string.c:
2877 * dbus/dbus-sysdeps.c:
2878 Make parse_double locale safe.
2880 * dbus/dbus-test-main.c:
2886 * doc/dbus-specification.sgml:
2889 * test/data/incomplete-messages/missing-body.message:
2890 * test/data/invalid-messages/bad-boolean.message:
2891 * test/data/invalid-messages/bad-boolean-array.message:
2892 * test/data/invalid-messages/boolean-array-length-too-long.message-raw:
2893 * test/data/invalid-messages/boolean-has-no-value.message-raw:
2894 * test/data/invalid-messages/too-short-dict.message:
2895 * test/data/valid-messages/dict-simple.message:
2896 * test/data/valid-messages/dict.message:
2897 * test/data/valid-messages/emptiness.message:
2898 * test/data/valid-messages/lots-of-arguments.message:
2899 * test/data/valid-messages/no-padding.message:
2900 * test/data/valid-messages/recursive-types.message:
2901 Add missing NAME fields
2902 Fix up dicts & arrays
2904 * test/data/invalid-messages/dict-with-nil-value.message:
2905 Removed, this is not invalid anymore.
2907 * test/data/valid-messages/recursive-types.message:
2908 Add new test for deeply recursive types.
2910 2003-04-07 Havoc Pennington <hp@pobox.com>
2912 * bus/driver.c (bus_driver_handle_acquire_service): return an
2913 error if you try to acquire a service that starts with ':'
2915 2003-04-07 Havoc Pennington <hp@redhat.com>
2917 * doc/dbus-specification.sgml: require that base service names
2918 start with ':' and that the base service is created/deleted
2919 as first and last things a connection does on the bus
2921 * bus/dispatch.c (check_existent_service_activation): lots more
2922 work on the activation test; it doesn't fully pass yet...
2924 * test/test-service.c (main): fix so we don't memleak the
2925 connection to the message bus
2926 (filter_func): accept a message asking us to exit
2928 2003-04-06 Havoc Pennington <hp@pobox.com>
2930 * qt/Makefile.am (dbusinclude_HEADERS): install dbus-qt.h,
2933 * configure.in: fixes to Qt detection from Colin Walters
2935 * doc/Makefile.am: Only remove generated docbook dirs if they
2936 exist, from Colin Walters
2938 * dbus/dbus-bus.c: change how we set well-known connections to
2939 NULL, so that it works if a single connection is stored in
2940 two well-known array slots.
2942 * test/Makefile.am: remove a lot of stuff that isn't immediately
2943 useful, it's in CVS history if we want it.
2945 * test/test-service.c: use dbus-mainloop instead of that
2948 2003-04-06 Havoc Pennington <hp@pobox.com>
2950 * dbus/Makefile.am: split lists of sources into stuff that goes in
2951 the library, util functions that go in the lib and are also used
2952 elsewhere, and util functions that are used in tests/daemon but
2953 don't go in the lib.
2955 * dbus/dbus-mainloop.h, dbus/dbus-mainloop.c: move bus/loop.[hc]
2956 here so it can be used in test binaries also
2958 2003-04-06 Havoc Pennington <hp@pobox.com>
2960 * dbus/dbus-sysdeps.c (_dbus_become_daemon): write the pidfile
2961 here in the parent process, so we can return an error if it
2962 fails. Also, move some of the code into the child so the parent
2963 is less hosed if we fail midway through.
2965 * bus/bus.c (bus_context_new): move pidfile detection further up
2966 in the function, before we start overwriting sockets and such.
2968 * bus/messagebus.in: adjust this a bit, not sure if it will work.
2970 * configure.in: add --with-system-pid-file and --with-system-socket
2972 2003-04-06 Colin Walters <walters@verbum.org>
2974 * configure.in (DBUS_SYSTEM_PID_FILE): New variable.
2976 * bus/system.conf.in: Declare a pidfile.
2978 * bus/bus.c (bus_context_new): Test for an existing pid file, and
2979 create one (if appropriate).
2981 * bus/config-parser.c (enum ElementType) [ELEMENT_PIDFILE]: New.
2982 (struct BusConfigParser) [pidfile]: New.
2983 (element_type_to_name, merge_included, start_busconfig_child)
2984 (bus_config_parser_end_element, bus_config_parser_content): Handle it.
2985 (bus_config_parser_unref): Free it.
2986 (bus_config_parser_get_pidfile): New function.
2988 * bus/config-parser.h (_dbus_write_pid_file): Prototype.
2990 * dbus/dbus-errors.h (DBUS_ERROR_PIDFILE_EXISTS): New error.
2992 * dbus/dbus-sysdeps.c (_dbus_write_pid_file): New function.
2994 * dbus/dbus-sysdeps.h: Prototype it.
2996 2003-04-06 Havoc Pennington <hp@pobox.com>
2998 * bus/bus.c (bus_context_new): print the address in here, rather
2999 than in main(), because we need to do it before forking the daemon
3001 * bus/dispatch.c (send_service_nonexistent_error): set the sender
3002 on the service nonexistent error
3004 * bus/driver.c (bus_driver_handle_acquire_service): set the
3005 sender on the AcquireService reply
3007 * test/data/valid-config-files/debug-allow-all.conf.in: Make test
3008 server also listen on a UNIX socket so services can connect to it.
3010 2003-04-06 Havoc Pennington <hp@pobox.com>
3012 * dbus/dbus-threads.c: Redo how the fake debug mutexes are done
3013 so it detects deadlocks and also we actually init threads when
3016 2003-04-06 Havoc Pennington <hp@pobox.com>
3018 * dbus/dbus-server-unix.c (_dbus_server_new_for_domain_socket):
3019 save the domain socket name, and unlink it when we disconnect the
3020 server. Means that at least when we exit normally, we won't leave
3021 a bunch of junk in /tmp
3023 * dbus/dbus-transport-unix.c
3024 (_dbus_transport_new_for_domain_socket): code cleanup (nicer
3025 memory management). (I was making a real change here but then
3028 2003-04-06 Havoc Pennington <hp@pobox.com>
3030 * bus/bus.c (bus_context_new): fix wrong handling of
3031 server_data_slot_unref() in the error case.
3033 * dbus/dbus-internals.h (_dbus_assert): change so it passes
3034 "(condition) != 0" to _dbus_real_assert so that
3035 "_dbus_assert (pointer)" doesn't cause a warning
3037 * bus/main.c (main): accept --print-address option to print out
3038 the message bus address
3040 * dbus/dbus-sysdeps.c (_dbus_generate_random_ascii): export this
3042 * dbus/dbus-transport.c (_dbus_transport_open): special error for
3043 "tmpdir" option to unix: address on client side
3045 * dbus/dbus-server.c (dbus_server_listen): handle "tmpdir" option
3048 * configure.in (TEST_SOCKET_DIR): locate a temporary directory
3049 we can use to create sockets in the test suite.
3051 * bus/main.c (signal_handler): on SIGTERM, exit the daemon
3052 cleanly. To be used for testing.
3054 * dbus/dbus-spawn.c (babysit): use _dbus_set_signal_handler()
3056 * dbus/dbus-sysdeps.c (_dbus_set_signal_handler): new
3058 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
3059 handle trying to call this when there's no servers active
3061 2003-04-05 Havoc Pennington <hp@pobox.com>
3067 2003-04-05 Havoc Pennington <hp@pobox.com>
3069 * bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't
3070 crash on startup. Need to get "try starting the daemon"
3071 in the test suite I guess. ;-)
3073 * dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
3074 tracked the number of open connections; it's better done in
3075 application-specific code as you want it to span all servers etc.
3077 2003-04-05 Havoc Pennington <hp@pobox.com>
3079 * bus/Makefile.am (install-data-hook): add missing DESTDIR,
3080 patch from Colin Walters
3082 2003-04-05 Havoc Pennington <hp@pobox.com>
3084 * doc/config-file.txt (Elements): fix docs of <auth> to reflect
3085 reality; in fact multiple mechanisms are allowed.
3087 * dbus/dbus-internals.c (_dbus_real_assert)
3088 (_dbus_real_assert_not_reached): move guts of _dbus_assert() and
3089 _dbus_assert_not_reached() into functions, so that they don't show
3090 up in basic block counts for test coverage, and don't use up as
3091 much disk space. Does mean slower execution speed though, so
3092 assumes --disable-asserts is the normal production case.
3094 2003-04-05 Havoc Pennington <hp@pobox.com>
3096 * test/Makefile.am (dist-hook): also dist *.in files
3102 2003-04-05 Havoc Pennington <hp@pobox.com>
3104 * dbus/dbus-string.c: docs warning
3106 * dbus/dbus-spawn.c: missing docs
3108 * dbus/dbus-memory.c (struct ShutdownClosure): missing docs
3110 2003-04-05 Havoc Pennington <hp@pobox.com>
3112 * bus/loop.c (bus_loop_iterate): fix the timeout code, using
3115 * dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid
3116 to -1 once we've reaped the babysitter
3117 (_dbus_babysitter_handle_watch): do as much work as we can, not
3120 * bus/activation.c: add code using DBusBabysitter so that we
3121 handle it when a service fails to start up properly.
3122 (bus_activation_service_created): don't remove the activation
3123 entries as we go, just let them get removed when we free the pending
3124 activation. Unref reply messages after sending them.
3126 2003-04-05 Havoc Pennington <hp@pobox.com>
3128 * test/decode-gcov.c (main): print per-directory stats in the report
3130 * Makefile.am (coverage-report.txt): don't include test/* in gcov stats
3132 2003-04-05 Havoc Pennington <hp@pobox.com>
3134 * Makefile.am (coverage-report.txt): add target "coverage-report.txt"
3136 * test/decode-gcov.c: hack up a little program to suck data
3137 out of gcov files. Yes this is sort of silly.
3139 * configure.in: define something in config.h and do an
3140 AM_CONDITIONAL when gcov is enabled
3142 2003-04-04 Havoc Pennington <hp@redhat.com>
3144 * dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
3145 return a "babysitter" object that is used to monitor the status of
3146 the spawned process and reap it when required.
3148 * test/test-segfault.c, test/test-exit.c,
3149 test/test-sleep-forever.c: binaries that do various lame things,
3150 used in the test suite.
3152 * dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()
3154 2003-04-03 Havoc Pennington <hp@pobox.com>
3156 * dbus/dbus-spawn.c: Move dbus-spawn into a separate file
3157 in preparation for modifying it, dbus-sysdeps is getting
3160 2003-04-03 Havoc Pennington <hp@redhat.com>
3162 * bus/loop.h, bus/loop.c: make the mainloop an object so we can
3165 * bus/*.[hc]: adapt to mainloop change
3167 2003-04-03 Havoc Pennington <hp@redhat.com>
3169 * bus/activation.c (load_directory): fix up memleaks
3170 (bus_activation_entry_free): free the entry
3172 * dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
3173 we get one from the message bus; fix memleaks.
3175 * dbus/dbus-message.c (dbus_set_error_from_message): new function
3177 2003-04-03 Havoc Pennington <hp@pobox.com>
3179 * bus/config-parser.c (bus_config_parser_unref): free
3180 list of mechanisms, bug discovered by test suite enhancements
3181 (putting system.conf and session.conf into suite)
3183 * test/Makefile.am, test/test-service.c: add placeholder for a
3184 test service that we'll activate as part of test suite. Doesn't
3187 * dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by
3188 setting NULL value, and use system malloc not dbus_malloc()
3189 when we have unavoidable memleakage.
3191 * dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
3192 didn't work, and support DBUS_BUS_ACTIVATION.
3194 * bus/activation.c (child_setup): pass our well-known bus type to
3197 * bus/config-parser.c: support <type> to specify well-known type
3199 * doc/dbus-specification.sgml: document the env variables to
3200 locate well-known buses and find service activator
3202 2003-04-02 Havoc Pennington <hp@redhat.com>
3204 * test/Makefile.am (all-local): add a rule to copy tests to
3205 builddir, so we can have generated tests. Use this to remove the
3206 silly hack for testing system.conf and session.conf. Will use this
3207 shortly to generate .service files pointing to test binaries.
3209 2003-04-02 Havoc Pennington <hp@redhat.com>
3211 * dbus/dbus-string.c (set_length): fix a bug - we allocated max of
3212 current alloc and needed new length, not max of the doubled
3213 allocation and needed new length. Also, when building tests,
3214 don't do the double-allocation stuff, just realloc every time.
3216 2003-04-02 Havoc Pennington <hp@redhat.com>
3218 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
3220 (_dbus_string_get_dirname): new
3221 (_dbus_sysdeps_test): new
3222 (_dbus_directory_open): include dirnames in error messages
3224 * bus/config-parser.c: interpret <include> and <includedir> and
3225 <servicedir> relative to config file location if the given
3226 filename is not absolute.
3228 * dbus/dbus-string.c (_dbus_string_find_byte_backward): new
3230 2003-04-02 Havoc Pennington <hp@redhat.com>
3232 * bus/connection.c (bus_transaction_send_error_reply): set sender
3233 service for the error, and unref the reply on success
3235 * bus/activation.c: convert to use BusTransaction so OOM can be
3237 (bus_activation_service_created): set sender of the message
3239 2003-04-01 Havoc Pennington <hp@redhat.com>
3241 * bus/config-parser.c, bus/bus.c: implement <servicedir> and
3242 <includedir> (at least mostly)
3244 * dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
3245 first, then the user ID
3247 2003-04-01 Havoc Pennington <hp@pobox.com>
3249 * dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
3252 * dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
3254 * dbus/dbus-internals.c (_dbus_dup_string_array): new function
3256 * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
3257 socket 0777, and unlink any existing socket.
3259 * bus/bus.c (bus_context_new): change our UID/GID and fork if
3260 the configuration file so specifies; set up auth mechanism
3263 * bus/config-parser.c (bus_config_parser_content): add support
3264 for <fork> option and fill in code for <auth>
3266 * bus/system.conf.in: add <fork/> to default configuration,
3267 and limit auth mechanisms to EXTERNAL
3269 * doc/config-file.txt (Elements): add <fork>
3271 * dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
3272 (_dbus_change_identity): new function
3274 2003-03-31 Havoc Pennington <hp@redhat.com>
3276 * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket)
3277 (_dbus_listen_unix_socket): fix off-by-one error in null
3278 termination spotted by Nalin
3280 2003-03-31 Havoc Pennington <hp@redhat.com>
3282 * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
3283 DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
3284 having a real home directory available.
3286 2003-03-31 Havoc Pennington <hp@redhat.com>
3288 * bus/Makefile.am (install-data-hook): create /var/run/dbus
3290 * bus/messagebus.in: add init script for Red Hat /etc/init.d
3292 * configure.in: add support for specifying a style of init script
3295 2003-03-31 Havoc Pennington <hp@redhat.com>
3297 Fix some annoying DBusString API and fix all affected code.
3299 * dbus/dbus-string.c (_dbus_string_init): get rid of annoying
3301 (_dbus_string_get_data): change to return string instead of using
3303 (_dbus_string_get_const_data): ditto
3304 (_dbus_string_get_data_len): ditto
3305 (_dbus_string_get_const_data_len): ditto
3307 2003-03-31 Havoc Pennington <hp@redhat.com>
3309 * bus/main.c (main): fix up the command line arguments to be nicer
3311 2003-03-31 Havoc Pennington <hp@redhat.com>
3313 * dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
3314 define DBUS_SYSTEM_BUS_PATH as we want to compile in the same
3315 final location that lands in the config file
3317 * bus/config-loader-expat.c (bus_config_load): fix type of
3320 * doc/TODO: remove TODO item for dbus_bus_get()
3322 * dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
3324 2003-03-31 Havoc Pennington <hp@pobox.com>
3326 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
3327 (_dbus_transport_new_for_tcp_socket): these didn't need the "server"
3328 argument since they are always client side
3330 * dbus/dbus-server.c (dbus_server_get_address): new function
3332 * bus/main.c (main): take the configuration file as an argument.
3334 * test/data/valid-config-files/debug-allow-all.conf: new file to
3335 use with dispatch.c tests for example
3337 * bus/test-main.c (main): require test data dir
3339 * bus/bus.c (bus_context_new): change this to take a
3340 configuration file name as argument
3342 * doc/config-file.txt (Elements): add <servicedir>
3344 * bus/system.conf, bus/session.conf: new files
3346 * dbus/dbus-bus.c (dbus_bus_get): look for system bus on
3347 well-known socket if none set
3349 * configure.in: create system.conf and session.conf
3351 2003-03-30 Havoc Pennington <hp@pobox.com>
3353 * bus/config-parser.c: hacking
3355 * dbus/dbus-memory.c: don't use DBusList for the list of stuff
3356 to shut down, since it could cause weirdness with the DBusList
3359 * dbus/dbus-list.c (_dbus_list_test): add tests for the
3360 link-oriented stack routines
3361 (alloc_link): free the mempool if the first alloc from it fails
3363 * dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
3365 * dbus/dbus-string.c (UNICODE_VALID): sync new version of this
3367 (_dbus_string_skip_white): new
3369 * doc/config-file.txt (Elements): add <includedir>
3371 2003-03-28 Havoc Pennington <hp@pobox.com>
3373 * dbus/dbus-string.c (_dbus_string_copy_data_len)
3374 (_dbus_string_copy_data): new functions
3376 2003-03-28 Anders Carlsson <andersca@codefactory.se>
3378 * dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
3382 * dbus/dbus-memory.c:
3385 2003-03-28 Havoc Pennington <hp@pobox.com>
3387 * bus/test.c (bus_test_flush_bus): remove the sleep from here,
3388 I think it may have just been superstition. Not sure.
3390 * dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
3391 failures that were not being handled.
3393 * dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
3395 * dbus/dbus-memory.c: add ability to set number of mallocs in a
3396 row that will fail on out-of-memory.
3398 * dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
3399 function for testing out-of-memory handling.
3401 * bus/config-loader-expat.c (memsuite): don't wrap the dbus
3402 allocation functions, they do map exactly to the expat ones.
3404 2003-03-27 Havoc Pennington <hp@redhat.com>
3406 * bus/config-loader-libxml.c (bus_config_load): add another error
3409 2003-03-26 Anders Carlsson <andersca@codefactory.se>
3412 Add note about automatic service activation.
3414 * doc/dbus-specification.sgml:
3415 Rename the specification and clarify a few things.
3417 2003-03-26 Anders Carlsson <andersca@codefactory.se>
3420 * dbus/dbus-address.c:
3422 * dbus/dbus-marshal.c:
3423 * dbus/dbus-server-debug-pipe.c:
3424 * dbus/dbus-transport-unix.c:
3425 Fix documentation warnings.
3427 2003-03-26 Havoc Pennington <hp@pobox.com>
3429 * bus/test-main.c, dbus/dbus-test.c (main): check memleaks
3430 after every test so it's quick and easy to see which leaked, and
3431 so we test multiple dbus_shutdown() calls
3433 * configure.in: change configure.in XML stuff to also support
3436 * config-loader-libxml.c: some hacking
3438 * config-loader-expat.c: some hacking
3440 * config-parser.c: some hacking, plus tests
3442 2003-03-25 Havoc Pennington <hp@redhat.com>
3444 * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
3446 * configure.in: add --with-xml option to specify XML library,
3447 right now only libxml is supported.
3449 * bus/config-loader-libxml.c, config-parser.c: sync some minor
3450 nonworking code between home and work, still just stubs
3452 2003-03-24 Havoc Pennington <hp@redhat.com>
3454 * dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
3457 * dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow
3458 NULL argument for "message" if the error is a well-known one,
3459 fill in a generic message in this case.
3461 * dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
3464 * bus/test.c (bus_test_flush_bus): add
3466 * bus/policy.c (bus_policy_test): test code stub
3468 2003-03-24 Havoc Pennington <hp@pobox.com>
3470 * bus/connection.c (bus_connections_setup_connection): set up
3471 the "can this user connect" function, but it always returns
3472 TRUE until we have a config file parser so we can have a config
3473 file that allows connections.
3475 2003-03-23 Havoc Pennington <hp@pobox.com>
3477 * dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with
3478 DBUS_BUILD_TESTS, actually alloc/free a block of memory for
3479 the mutex, so we can check for proper memory management
3482 * dbus/dbus-dataslot.c: remove the mutex from
3483 DBusDataSlotAllocator and lock it manually when using it,
3484 to simplify fitting it into the global slots framework.
3486 * dbus/dbus-threads.c (init_static_locks): rework how we're
3487 handling global locks so they are easily shut down.
3489 * bus/policy.c (bus_policy_append_rule): fix
3491 * bus/test-main.c (main): check for memleaks
3493 * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make
3494 test suite check for memleaks
3496 * dbus/dbus-memory.c: add support in test mode for tracking
3497 number of outstanding blocks
3499 2003-03-23 Havoc Pennington <hp@pobox.com>
3501 * bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
3504 * dbus/dbus-hash.h: add ULONG hash keys
3506 * dbus/dbus-sysdeps.c (_dbus_get_groups): new
3507 (_dbus_get_group_id): new function
3509 2003-03-20 Havoc Pennington <hp@redhat.com>
3511 * dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
3513 (dbus_connection_get_unix_user): new function
3515 2003-03-20 Havoc Pennington <hp@pobox.com>
3517 * bus/connection.c (bus_connection_send_oom_error): assert that
3518 message has a sender
3519 (connection_execute_transaction): ditto
3520 (bus_connection_preallocate_oom_error): fix to set the sender, and
3521 set recipient to the destination service, not the bus driver
3523 * bus/policy.c: hacking
3525 * dbus/dbus-message.c (dbus_message_service_is): new function
3526 (dbus_message_sender_is): new
3528 2003-03-19 Havoc Pennington <hp@redhat.com>
3530 * bus/policy.c: start sketching code for policy restrictions on
3531 what connections can do.
3533 2003-03-18 Havoc Pennington <hp@redhat.com>
3535 * doc/TODO: some notes on high-level todo items. Little nitpick
3536 stuff is all in @todo, so no need to add it here.
3538 * doc/config-file.txt: some notes on how config file might look
3540 2003-03-18 Anders Carlsson <andersca@codefactory.se>
3546 2003-03-17 Havoc Pennington <hp@redhat.com>
3548 * dbus/dbus-internals.h: add gcc attributes so that
3549 our printf-style functions warn on bad arguments to
3552 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf
3555 * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
3558 2003-03-17 Havoc Pennington <hp@redhat.com>
3560 * bus/test-main.c (main): make it print something as it runs
3561 so make check doesn't look stuck
3563 * doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove
3564 from CVS, now obsolete
3566 2003-03-17 Anders Carlsson <andersca@codefactory.se>
3568 * bus/dispatch.c: (bus_dispatch):
3569 Refetch the service name since it may have been reallocated
3570 when dbus_message_set_sender was called.
3572 * dbus/dbus-sysdeps.c: (_dbus_accept):
3573 Add address and address length variables and use them to stop
3574 valgrind from complaining.
3576 2003-03-17 Havoc Pennington <hp@pobox.com>
3578 All tests pass, no memleaks, no valgrind complaints.
3580 * bus/test.c: refcount handler_slot
3582 * bus/connection.c (bus_connections_new): refcount
3583 connection_data_slot
3585 * dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
3586 bytes so that auth scripts pass.
3588 * bus/dispatch.c: init message_handler_slot so it gets allocated
3591 * bus/dispatch.c (message_handler_slot_ref): fix memleak
3593 * dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
3594 dealloc server_pipe_hash when no longer used for benefit of
3597 * dbus/dbus-auth.c (process_command): memleak fix
3599 * bus/dispatch.c (check_hello_message): memleak fix
3601 2003-03-16 Havoc Pennington <hp@pobox.com>
3603 * dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
3605 2003-03-17 Anders Carlsson <andersca@codefactory.se>
3607 * bus/activation.c (bus_activation_activate_service): Append
3608 the pending activation entry to the list of pending activations.
3610 2003-03-16 Havoc Pennington <hp@pobox.com>
3612 * bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
3615 * dbus/dbus-address.c (create_entry): fix OOM handling when
3616 failing to alloc entry->method
3618 2003-03-16 Havoc Pennington <hp@pobox.com>
3620 * dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
3623 * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
3624 add some missing dbus_set_result
3626 * bus/dispatch.c (bus_dispatch_add_connection): handle failure to
3627 alloc the DBusMessageHandler
3629 * dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
3630 the transport here, since we call this from the finalizer; it
3631 resulted in a double-finalize.
3633 * dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug
3634 where we tried to use transport->connection that was NULL,
3635 happened when transport was disconnected early on due to OOM
3637 * bus/*.c: adapt to handle OOM for watches/timeouts
3639 * dbus/dbus-transport-unix.c: port to handle OOM during
3642 * dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
3643 reference to unused bytes instead of a copy
3645 * dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
3648 * dbus/dbus-connection.c (dbus_connection_handle_watch): return
3651 * dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
3654 2003-03-16 Anders Carlsson <andersca@codefactory.se>
3656 * doc/dbus-specification.sgml:
3657 Document reply message for ActivateService.
3659 2003-03-16 Anders Carlsson <andersca@codefactory.se>
3661 * bus/activation.c: (bus_pending_activation_entry_free),
3662 (bus_pending_activation_free), (bus_activation_new),
3663 (bus_activation_unref), (bus_activation_service_created),
3664 (bus_activation_activate_service):
3666 * bus/bus.c: (bus_context_new):
3667 * bus/desktop-file.c: (new_section):
3668 * bus/driver.c: (bus_driver_send_service_deleted),
3669 (bus_driver_handle_activate_service):
3670 * bus/services.c: (bus_registry_new), (bus_registry_ensure):
3672 * dbus/dbus-connection.c:
3673 (dbus_connection_send_with_reply_and_block):
3674 * dbus/dbus-message.c: (dbus_message_append_args_valist):
3675 * dbus/dbus-protocol.h:
3676 Make activation work better. Now pending activations will be queued
3677 and the daemon won't try to activate services that are already registered.
3679 2003-03-16 Havoc Pennington <hp@pobox.com>
3681 * dbus/dbus-bus.c (ensure_bus_data): handle failure to set
3684 * dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
3685 DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
3687 2003-03-16 Havoc Pennington <hp@pobox.com>
3689 * dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
3690 this. always run the test suite before commit...
3692 * bus/*: adapt to DBusConnection API changes
3694 * glib/dbus-gmain.c: adapt to DBusConnection API changes,
3695 requires renaming stuff to avoid dbus_connection_dispatch name
3698 * dbus/dbus-transport.c (_dbus_transport_queue_messages): new
3701 * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
3702 separate from _dbus_message_loader_return_buffer()
3704 * dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
3705 this, because it's now always broken to use; the number of
3706 messages in queue vs. the number still buffered by the message
3707 loader is undefined/meaningless. Should use
3708 dbus_connection_get_dispatch_state().
3709 (dbus_connection_dispatch): rename from
3710 dbus_connection_dispatch_message
3712 2003-03-16 Havoc Pennington <hp@pobox.com>
3714 * dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
3717 2003-03-16 Anders Carlsson <andersca@codefactory.se>
3719 * dbus/dbus-connection.c:
3720 (dbus_connection_send_with_reply_and_block):
3721 Decrease connection->n_incoming when removing an entry
3723 * dbus/dbus-dict.c: (dbus_dict_entry_free),
3724 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
3725 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
3726 (dbus_dict_set_byte_array), (dbus_dict_set_string_array),
3727 (dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
3728 (dbus_dict_get_byte_array):
3729 Handle NULL arrays and strings. Also add support for byte arrays.
3731 * dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
3732 (_dbus_marshal_dict), (_dbus_demarshal_byte_array),
3733 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
3734 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
3735 (_dbus_demarshal_dict), (demarshal_and_validate_len),
3736 (_dbus_marshal_validate_arg), (_dbus_marshal_test):
3737 * dbus/dbus-marshal.h:
3738 Add support for marshalling and demarshalling empty arrays and strings.
3740 * dbus/dbus-message.c: (dbus_message_append_args_valist),
3741 (dbus_message_append_string_array),
3742 (dbus_message_iter_get_boolean),
3743 (dbus_message_iter_get_boolean_array),
3744 (dbus_message_iter_get_int32_array),
3745 (dbus_message_iter_get_uint32_array),
3746 (dbus_message_iter_get_double_array),
3747 (dbus_message_iter_get_byte_array),
3748 (dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
3749 (check_message_handling):
3750 Add support for getting empty arrays and dicts.
3752 * dbus/dbus-string.c: (_dbus_string_validate_utf8):
3753 Don't do any validation at all for now, that's better than just checking
3756 * test/data/valid-messages/emptiness.message:
3757 New test message with lots of empty arrays.
3759 2003-03-16 Havoc Pennington <hp@pobox.com>
3761 * dbus/dbus-connection.c
3762 (_dbus_connection_queue_received_message_link): new function that
3763 can't fail due to OOM
3765 * dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
3766 new function pops a message together with a list link
3769 * dbus/dbus-transport-unix.c (queue_messages): use new link-based
3770 message queuing functions to avoid needing to alloc memory
3772 2003-03-16 Havoc Pennington <hp@pobox.com>
3774 Oops - test code was only testing failure of around 30 of the
3775 mallocs in the test path, but it turns out there are 500+
3776 mallocs. I believe this was due to misguided linking setup such
3777 that there was one copy of dbus_malloc etc. in the daemon and one
3778 in the shared lib, and only daemon mallocs were tested. In any
3779 case, the test case now tests all 500+ mallocs, and doesn't pass
3780 yet, though there are lots of fixes in this patch.
3782 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
3783 this so that it doesn't need to allocate memory, since it
3784 has no way of indicating failure due to OOM (and would be
3785 annoying if it did).
3787 * dbus/dbus-list.c (_dbus_list_pop_first_link): new function
3789 * bus/Makefile.am: rearrange to create two self-contained
3790 libraries, to avoid having libraries with overlapping symbols.
3791 that was resulting in weirdness, e.g. I'm pretty sure there
3792 were two copies of global static variables.
3794 * dbus/dbus-internals.c: move the malloc debug stuff to
3797 * dbus/dbus-list.c (free_link): free list mempool if it becomes
3800 * dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
3802 * dbus/dbus-address.c (dbus_parse_address): free list nodes
3805 * bus/dispatch.c (bus_dispatch_add_connection): free
3806 message_handler_slot when no longer using it, so
3807 memory leak checkers are happy for the test suite.
3809 * dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
3811 * bus/bus.c (new_connection_callback): disconnect in here if
3812 bus_connections_setup_connection fails.
3814 * bus/connection.c (bus_connections_unref): fix to free the
3816 (bus_connections_setup_connection): if this fails, don't
3817 disconnect the connection, just be sure there are no side
3820 * dbus/dbus-string.c (undo_alignment): unbreak this
3822 * dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
3824 (_dbus_auth_new): fix the order in which we free strings
3827 * bus/connection.c (bus_connection_disconnected): fix to
3828 not send ServiceDeleted multiple times in case of memory
3831 * dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
3832 get the base service name
3833 (dbus_bus_register_client): don't return base service name,
3834 instead store it on the DBusConnection and have an accessor
3836 (dbus_bus_register_client): rename dbus_bus_register()
3838 * bus/dispatch.c (check_hello_message): verify that other
3839 connections on the bus also got the correct results, not
3840 just the one sending hello
3842 2003-03-15 Havoc Pennington <hp@pobox.com>
3844 Make it pass the Hello handling test including all OOM codepaths.
3845 Now to do other messages...
3847 * bus/services.c (bus_service_remove_owner): fix crash when
3848 removing owner from an empty list of owners
3849 (bus_registry_ensure): don't leave service in the list of
3850 a connection's owned services if we fail to put the service
3853 * bus/connection.c (bus_connection_preallocate_oom_error): set
3854 error flag on the OOM error.
3856 * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
3857 handle _dbus_transport_set_connection failure
3859 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
3860 to create watches up front and simply enable/disable them as
3862 (unix_connection_set): this can now fail on OOM
3864 * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept
3865 of enabling/disabling a watch or timeout.
3867 * bus/loop.c (bus_loop_iterate): don't touch disabled
3870 * glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
3872 2003-03-15 Havoc Pennington <hp@pobox.com>
3874 * bus/dispatch.c (bus_dispatch_test): OK, now finally actually
3875 write useful test code, after all that futzing around ;-)
3877 Test does not yet pass because we can't handle OOM in
3878 _dbus_transport_messages_pending (basically,
3879 dbus_connection_preallocate_send() does not prealloc the write
3880 watch). To fix this, I think we need to add new stuff to
3881 set_watch_functions, namely a SetEnabled function so we can alloc
3882 the watch earlier, then enable it later.
3884 * dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
3885 dbus-memory.c to the convenience lib
3887 * bus/test.c: rename some static functions to keep them clearly
3888 distinct from stuff in connection.c. Handle client disconnection.
3890 2003-03-14 Havoc Pennington <hp@pobox.com>
3892 * bus/dispatch.c (bus_dispatch_test): do test using debug-pipe
3893 transport, tests more of the real codepath. Set up clients
3894 with bus_setup_debug_client.
3896 * bus/test.c (bus_setup_debug_client): function to set up debug
3897 "clients" on the main loop
3899 * dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe
3902 * dbus/dbus-server.c (dbus_server_listen): add debug-pipe
3905 * dbus/dbus-server-debug.c: support a debug server based on pipes
3907 * dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
3908 (_dbus_close): new function
3910 * configure.in: check for socketpair
3912 2003-03-14 Havoc Pennington <hp@redhat.com>
3914 * dbus/dbus-memory.c: add a "detect buffer overwrites on free"
3917 * dbus/dbus-transport-debug.c: rework this a good bit to be
3918 less complicated. hopefully still works.
3920 * dbus/dbus-server-debug.c (handle_new_client): remove timeout
3923 * glib/dbus-gmain.c (timeout_handler): don't remove timeout
3926 * dbus/dbus-message.c (dbus_message_copy): rename from
3927 dbus_message_new_from_message, fix it up to copy
3928 all the message fields, add test case
3930 * bus/dispatch.c (bus_dispatch_test): add some more test code,
3931 not quite passing yet
3933 2003-03-14 Havoc Pennington <hp@pobox.com>
3935 * bus/loop.c (bus_loop_iterate): add this so we can "run loop
3936 until no work remains" in test code. (the large diff here
3937 is just code movement, no actual changes)
3939 * dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
3940 1, no point waiting around for test code.
3941 (_dbus_server_debug_accept_transport): unref the timeout
3942 after adding it (right?)
3944 * dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
3946 2003-03-13 Havoc Pennington <hp@redhat.com>
3948 * dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
3951 * dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
3954 * dbus/dbus-connection.h: Make AddWatchFunction and
3955 AddTimeoutFunction return a bool so they can fail on out-of-memory
3957 * bus/bus.c (bus_context_new): set up timeout handlers
3959 * bus/connection.c (bus_connections_setup_connection): set up
3962 * glib/dbus-gmain.c: adapt to the fact that set_functions stuff
3965 * bus/bus.c (bus_context_new): adapt to changes
3967 * bus/connection.c: adapt to changes
3969 * test/watch.c: adapt to DBusWatch changes
3971 * bus/dispatch.c (bus_dispatch_test): started adding this but
3974 2003-03-14 Anders Carlsson <andersca@codefactory.se>
3976 * bus/dispatch.c (send_service_nonexistent_error): Fix typo.
3978 2003-03-13 Havoc Pennington <hp@pobox.com>
3980 * bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c:
3981 set up a test framework as for the library
3983 2003-03-12 Havoc Pennington <hp@pobox.com>
3985 Throughout: purge global variables, introduce BusActivation,
3986 BusConnections, BusRegistry, etc. objects instead.
3988 * bus/bus.h, bus/bus.c: introduce BusContext as a global
3991 * test/Makefile.am (TEST_BINARIES): disable bus-test for now,
3992 going to redo this a bit differently I think
3994 2003-03-12 Havoc Pennington <hp@redhat.com>
3996 Mega-patch that gets the message bus daemon initially handling
3997 out-of-memory. Work still needed. Also lots of random
3998 moving stuff to DBusError instead of ResultCode.
4000 * dbus/dbus-list.c (_dbus_list_length_is_one): new function
4002 * dbus/dbus-connection.c
4003 (dbus_connection_send_with_reply_and_block): use DBusError
4005 * dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
4008 * dbus/dbus-connection.c (dbus_connection_send): drop the result
4009 code here, as the only failure possible is OOM.
4011 * bus/connection.c (bus_connection_disconnect):
4012 rename bus_connection_disconnected as it's a notification only
4014 * bus/driver.c (bus_driver_handle_acquire_service): don't free
4015 "name" on get_args failure, should be done by get_args;
4016 don't disconnect client for bad args, just return an error.
4017 (bus_driver_handle_service_exists): ditto
4019 * bus/services.c (bus_services_list): NULL-terminate returned array
4021 * bus/driver.c (bus_driver_send_service_lost)
4022 (bus_driver_send_service_acquired): send messages from driver to a
4023 specific client to the client's unique name, not to the broadcast
4026 * dbus/dbus-message.c (decode_header_data): reject messages that
4027 contain no name field
4028 (_dbus_message_get_client_serial): rename to
4029 dbus_message_get_serial and make public
4030 (_dbus_message_set_serial): rename from set_client_serial
4031 (_dbus_message_set_reply_serial): make public
4032 (_dbus_message_get_reply_serial): make public
4034 * bus/connection.c (bus_connection_foreach): allow stopping
4035 iteration by returning FALSE from foreach function.
4037 * dbus/dbus-connection.c (dbus_connection_send_preallocated)
4038 (dbus_connection_free_preallocated_send)
4039 (dbus_connection_preallocate_send): new API for sending a message
4040 without possibility of malloc failure.
4041 (dbus_connection_send_message): rename to just
4042 dbus_connection_send (and same for whole function family)
4044 * dbus/dbus-errors.c (dbus_error_free): make this reinit the error
4046 * dbus/dbus-sysdeps.c (_dbus_exit): new function
4048 * bus/activation.c: handle/return errors
4050 * dbus/dbus-errors.h: add more DBUS_ERROR #define
4052 * dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
4053 (_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
4054 (_dbus_result_from_errno): move to this file
4056 2003-03-10 Anders Carlsson <andersca@codefactory.se>
4058 * dbus/dbus-marshal.c:
4059 (_dbus_marshal_set_string):
4060 Take a length argument so we can marshal the correct string
4063 (_dbus_marshal_dict), (_dbus_demarshal_dict),
4064 (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
4065 (_dbus_marshal_test):
4066 * dbus/dbus-marshal.h:
4067 Add support for marshalling and demarshalling dicts.
4069 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
4070 Add support for TYPE DICT.
4072 * dbus/dbus-message.c: (set_string_field):
4073 Adjust header padding.
4075 (dbus_message_append_args_valist), (dbus_message_append_dict),
4076 (dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
4077 (dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
4078 (check_message_handling), (check_have_valid_message):
4079 * dbus/dbus-message.h:
4080 Add functions for setting and getting dicts.
4082 * dbus/dbus-protocol.h:
4088 * doc/dbus-specification.sgml:
4089 Add information about how dicts are marshalled.
4091 * test/data/invalid-messages/dict-with-nil-value.message:
4092 * test/data/invalid-messages/too-short-dict.message:
4093 * test/data/valid-messages/dict-simple.message:
4094 * test/data/valid-messages/dict.message:
4095 Add sample messages containing dicts.
4097 2003-03-08 Anders Carlsson <andersca@codefactory.se>
4099 * dbus/dbus-dict.h: Add DBUS_END_DECLS.
4101 2003-03-07 Anders Carlsson <andersca@codefactory.se>
4104 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
4105 (dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
4106 (dbus_dict_set_int32), (dbus_dict_set_uint32),
4107 (dbus_dict_set_double), (dbus_dict_set_string),
4108 (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
4109 (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
4110 (dbus_dict_set_string_array), (_dbus_dict_test):
4112 Fix according to comments from Havoc.
4114 2003-03-06 Michael Meeks <michael@server.home>
4116 * configure.in: if we don't have kde-config, disable have_qt.
4118 2003-03-07 Anders Carlsson <andersca@codefactory.se>
4123 * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
4124 (dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
4125 (dbus_dict_remove), (dbus_dict_get_value_type),
4126 (dbus_dict_get_keys), (dbus_dict_put_boolean),
4127 (dbus_dict_put_int32), (dbus_dict_put_uint32),
4128 (dbus_dict_put_double), (dbus_dict_put_string),
4129 (dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
4130 (dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
4131 (dbus_dict_put_string_array), (dbus_dict_get_boolean),
4132 (dbus_dict_get_int32), (dbus_dict_get_uint32),
4133 (dbus_dict_get_double), (dbus_dict_get_string),
4134 (dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
4135 (dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
4136 (dbus_dict_get_string_array), (_dbus_dict_test):
4138 Add DBusDict implementation
4140 * dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
4144 2003-03-04 Havoc Pennington <hp@pobox.com>
4146 * test/data/auth/*: adapt to changes
4148 * dbus/dbus-auth-script.c (_dbus_auth_script_run): add
4149 USERID_BASE64 and change USERNAME_BASE64 to put in username not
4152 * dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
4153 more stuff from being in a context name, to make the protocol
4154 simpler to deal with
4156 * dbus/dbus-errors.c (dbus_error_has_name): new function
4157 (dbus_error_is_set): new function
4159 * dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth
4160 with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
4162 * dbus/dbus-connection.c (dbus_connection_flush): also read
4163 messages during a flush operation
4165 * dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
4167 2003-03-05 Anders Carlsson <andersca@codefactory.se>
4169 * configure.in: Check for gethostbyname on Solaris.
4171 * dbus/dbus-transport.c: (_dbus_transport_open):
4172 Remove duplicate "tcp" entry.
4174 * doc/dbus-specification.sgml:
4175 Clarify some things.
4177 2003-03-05 Anders Carlsson <andersca@codefactory.se>
4179 * dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
4180 * dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
4181 (_dbus_keyring_test):
4182 * dbus/dbus-md5.c: (_dbus_md5_compute):
4183 * dbus/dbus-sha.c: (_dbus_sha_compute):
4186 2003-03-05 Anders Carlsson <andersca@codefactory.se>
4188 * README: Add some things.
4190 2003-03-04 Anders Carlsson <andersca@codefactory.se>
4192 * dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
4193 after case DBUS_TYPE_BOOELAN.
4195 2003-03-02 Havoc Pennington <hp@pobox.com>
4197 * test/break-loader.c (randomly_set_extreme_ints): add test that
4198 sets really huge and small integers
4200 * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
4201 that length of boolean array fits in the string, and that
4202 string has room for boolean value in single-bool case.
4204 * dbus/dbus-message-builder.c (_dbus_message_data_load): add
4205 optional value to "ALIGN" command which is what to fill the
4208 * test/data/valid-messages/no-padding.message: add regression
4209 test for the message padding problem
4211 2003-03-02 Havoc Pennington <hp@pobox.com>
4213 * dbus/dbus-message.c (decode_header_data): fix to always init
4214 message_padding, from Benjamin Dauvergne
4216 2003-03-02 Havoc Pennington <hp@pobox.com>
4222 2003-03-01 Joe Shaw <joe@assbarn.com>
4224 * configure.in: Check for "struct cmsgcred" and try to access its
4225 members for BSD-like unices.
4227 * dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
4228 _dbus_read_credentials_unix_socket().
4229 (_dbus_read_credentials_unix_socket): Use recvmsg() instead of
4230 read() for reading the credential byte off the unix socket. Use
4231 struct cmsgcred on systems that support it.
4233 2003-02-27 Alexander Larsson <alexl@redhat.com>
4237 Make gthreads-2.0 dependency optional. Don't build thread test if
4240 2003-02-27 Havoc Pennington <hp@pobox.com>
4242 * dbus/dbus-connection.c
4243 (dbus_connection_send_message_with_reply_and_block): fix doh!
4244 doh! doh! bug that resulted in never removing a reply from the
4245 queue, no wonder we called get_reply_serial so much ;-)
4247 * dbus/dbus-message.c (struct DBusMessage): cache reply serial
4248 and client serial instead of demarshaling them every time
4250 2003-02-27 Havoc Pennington <hp@pobox.com>
4252 * dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
4253 more inlined, using dbus-string-private.h, speeds things up
4256 * dbus/dbus-string.c (_dbus_string_free): apply align offset
4257 when freeing the string
4258 (_dbus_string_steal_data): fix for align offset
4259 (undo_alignment): new function
4261 2003-02-26 Havoc Pennington <hp@redhat.com>
4263 All kinds of audit fixes from Owen, plus initial attempt to
4264 handle unaligned memory returned from malloc.
4266 * dbus/dbus-string.c (_dbus_string_init): clamp max length to
4267 leave room for align_offset and nul byte
4268 (fixup_alignment): function to track an align_offset and
4269 ensure real->str is aligned
4270 (DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated,
4271 to allow a nul byte plus align offset
4272 (_dbus_string_lock): fix overflow issue
4273 (_dbus_string_init_const_len): add assertions on sanity of len,
4274 assign allocated to be ALLOCATION_PADDING larger than len
4275 (set_length): fixup the overflow handling
4276 (_dbus_string_get_data_len): fix overflow in assertion
4277 (open_gap): detect overflow in size of gap to be opened
4278 (_dbus_string_lengthen): add overflow check
4279 (_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
4280 (_dbus_string_append): add overflow check
4281 (_dbus_string_append_unichar): overflow
4282 (_dbus_string_delete): fix overflow in assertion
4283 (_dbus_string_copy_len): overflow in assertion
4284 (_dbus_string_replace_len): overflows in assertions
4285 (_dbus_string_find): change to implement in terms of
4286 _dbus_string_find_to
4287 (_dbus_string_find_to): assorted fixage
4288 (_dbus_string_equal_c_str): assert c_str != NULL,
4289 fix logic so the function works
4290 (_dbus_string_ends_with_c_str): fix overflow thingy
4291 (_dbus_string_base64_encode): overflow fix
4292 (_dbus_string_validate_ascii): overflow
4293 (_dbus_string_validate_nul): overflow
4295 2003-02-26 Havoc Pennington <hp@redhat.com>
4297 * dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
4299 2003-02-26 Alexander Larsson <alexl@redhat.com>
4302 Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
4304 * dbus/dbus-connection.c:
4305 * dbus/dbus-connection.h:
4306 Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
4307 Add dbus_connection_set_wakeup_main_function and use it when queueing
4308 incoming and outgoing messages.
4311 * dbus/dbus-dataslot.c:
4312 Threadsafe usage of DBusDataSlotAllocator
4314 * dbus/dbus-message.c: (dbus_message_get_args_iter):
4317 * dbus/dbus-server-unix.c:
4320 * glib/dbus-gmain.c:
4321 Implement the new wakeup functions for glib.
4324 * glib/test-thread-client.c:
4325 * glib/test-thread-server.c:
4326 * glib/test-thread.h:
4327 Initial cut at some thread test code. Not really done yet.
4329 2003-02-26 Havoc Pennington <hp@pobox.com>
4331 * dbus/dbus-connection.c
4332 (dbus_connection_send_message_with_reply_and_block): fix crash
4333 where we ref'd the outgoing message instead of the returned reply
4335 * dbus/dbus-transport-unix.c (do_authentication): check read watch
4336 at the end of this function, so if we didn't need to read for
4337 authentication, we reinstall it for receiving messages
4339 * dbus/dbus-message.c (dbus_message_new_reply): allow replies to
4340 a NULL sender for peer-to-peer case
4342 * dbus/dbus-transport-unix.c (check_read_watch): handle
4343 !authenticated case correctly
4345 * glib/dbus-gmain.c: add support for DBusServer
4347 * dbus/dbus-server.c: add data slot support
4349 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
4350 return values and handle errors
4352 * dbus/dbus-dataslot.c: factor out the data slot stuff from
4355 * Doxyfile.in (INPUT): add glib subdir
4357 * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename
4358 setup_with_g_main instead of hookup_with_g_main; write docs
4360 2003-02-24 Anders Carlsson <andersca@codefactory.se>
4362 * dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
4363 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
4364 * dbus/dbus-message.c: (dbus_message_append_boolean),
4365 (dbus_message_append_boolean_array),
4366 (dbus_message_get_args_valist), (_dbus_message_test):
4367 * dbus/dbus-message.h:
4368 * doc/dbus-specification.sgml:
4369 Various fixes as pointed out by Havoc.
4371 * test/data/invalid-messages/bad-boolean-array.message:
4372 * test/data/invalid-messages/bad-boolean.message:
4373 Add invalid boolean value test cases.
4375 2003-02-24 Anders Carlsson <andersca@codefactory.se>
4377 * dbus/dbus-internals.c: (_dbus_type_to_string):
4378 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
4379 (_dbus_marshal_validate_arg):
4380 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
4381 * dbus/dbus-message.c: (dbus_message_append_args_valist),
4382 (dbus_message_append_boolean), (dbus_message_append_boolean_array),
4383 (dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
4384 (dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
4385 (dbus_message_iter_get_double),
4386 (dbus_message_iter_get_boolean_array), (message_iter_test):
4387 * dbus/dbus-message.h:
4388 * dbus/dbus-protocol.h:
4389 * doc/dbus-specification.sgml:
4390 * test/data/valid-messages/lots-of-arguments.message:
4391 Add support for boolean and boolean array types.
4393 2003-02-23 Havoc Pennington <hp@pobox.com>
4395 * dbus/dbus-keyring.c: finish most of this implementation and
4398 * dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
4399 these barf if the error isn't cleared to NULL
4401 * dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
4402 (_dbus_create_directory): new function
4404 * dbus/dbus-errors.c (dbus_set_error): fix warning
4406 * dbus/dbus-string.c (_dbus_string_hex_encode): new function
4407 (_dbus_string_hex_decode): new function
4408 (test_hex_roundtrip): test code
4410 * dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
4412 * dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
4414 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use
4415 the save-to-temp/rename trick to atomically write the new file
4416 (_dbus_string_parse_uint): new function
4418 2003-02-22 Havoc Pennington <hp@pobox.com>
4420 * test/Makefile.am (dist-hook): fix dist for test/data/sha-1
4422 2003-02-22 Havoc Pennington <hp@pobox.com>
4424 * dbus/dbus-message.c (dbus_message_iter_get_string_array):
4425 (dbus_message_iter_get_byte_array): Fix up doxygen warnings
4427 * dbus/dbus-sha.c: add implementation of SHA-1 algorithm
4429 * dbus/test/data/sha-1: add US government test suite for SHA-1
4431 2003-02-21 Anders Carlsson <andersca@codefactory.se>
4433 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
4434 Make string arrays NULL-terminated.
4436 * dbus/dbus-memory.c: (dbus_free_string_array):
4437 * dbus/dbus-memory.h:
4438 New function for freeing NULL-terminated string arrays.
4440 * dbus/dbus-message-builder.c: (append_quoted_string),
4441 (_dbus_message_data_load):
4442 Add support for array types.
4444 * dbus/dbus-message.c: (check_message_handling):
4445 Add more types as test cases.
4447 * dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
4448 (_dbus_string_parse_double):
4449 Add the start offset to the end offset.
4451 * test/data/valid-messages/lots-of-arguments.message:
4452 New test message with lots of arguments.
4454 2003-02-21 Anders Carlsson <andersca@codefactory.se>
4456 * dbus/dbus-message.c: (dbus_message_append_nil),
4457 (dbus_message_append_int32), (dbus_message_append_uint32),
4458 (dbus_message_append_double), (dbus_message_append_string),
4459 (dbus_message_append_int32_array),
4460 (dbus_message_append_uint32_array),
4461 (dbus_message_append_double_array),
4462 (dbus_message_append_byte_array),
4463 (dbus_message_append_string_array):
4464 Fix all out-of-memory handling in these functions.
4466 2003-02-21 Anders Carlsson <andersca@codefactory.se>
4468 * dbus/dbus-message.c: (dbus_message_append_nil):
4471 2003-02-21 Anders Carlsson <andersca@codefactory.se>
4473 * dbus/dbus-message.c: (dbus_message_append_args_valist),
4474 (dbus_message_append_nil), (dbus_message_append_int32_array),
4475 (dbus_message_append_uint32_array),
4476 (dbus_message_append_double_array),
4477 (dbus_message_append_byte_array),
4478 (dbus_message_append_string_array), (dbus_message_get_args_valist),
4479 (dbus_message_iter_get_int32_array),
4480 (dbus_message_iter_get_uint32_array),
4481 (dbus_message_iter_get_double_array),
4482 (dbus_message_iter_get_byte_array),
4483 (dbus_message_iter_get_string_array):
4485 * dbus/dbus-message.h:
4486 Add functions for appending and getting arrays.
4488 2003-02-21 Anders Carlsson <andersca@codefactory.se>
4490 * dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
4491 element size at least 8 bytes, fixes mempool tests on
4494 2003-02-20 Alexander Larsson <alexl@redhat.com>
4496 * dbus/dbus-transport-unix.c (unix_do_iteration):
4497 Unlock the connection mutex during a blocking select call.
4498 Add todo about how we need a way to wake up the select.
4500 * dbus/dbus-connection-internal.h:
4501 * dbus/dbus-connection.c:
4502 Add _dbus_connection_lock and _dbus_connection_unlock.
4504 2003-02-19 Havoc Pennington <hp@pobox.com>
4506 * Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
4507 Doxyfile.in, not Doxyfile
4509 * dbus/dbus-keyring.c: do some hacking on this
4511 * dbus/dbus-sysdeps.c (_dbus_delete_file): new
4513 * dbus/dbus-errors.c (dbus_set_error_const): do not call
4515 (dbus_set_error): remove dbus_error_init, check for message ==
4516 NULL *before* we sprintf into it, and add @todo about including
4517 system headers in this file
4519 * dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
4521 * dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
4523 * dbus/dbus-sysdeps.c (get_user_info): break this function out to
4524 get various bits of user information based on either username
4526 (_dbus_homedir_from_username): new function
4528 2003-02-19 Anders Carlsson <andersca@codefactory.se>
4531 Add check for nonposix getpwnam_r
4533 * dbus/dbus-mempool.c: (_dbus_mem_pool_new):
4534 Align the pool element size to a sizeof (void *) boundary.
4536 * dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
4537 (_dbus_listen_unix_socket), (_dbus_credentials_from_username):
4538 General Solaris fixes.
4540 * test/data/valid-messages/simplest-manual.message:
4541 Explicitly state that we want little-endian packing.
4543 2003-02-19 Mikael Hallendal <micke@codefactory.se>
4545 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
4547 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket):
4548 Added to create a transport connecting using a tcp/ip socket.
4550 * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
4551 to a tcp socket at given host and port.
4552 (_dbus_listen_tcp_socket): added to listen on tcp socket for given
4555 * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
4557 * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket):
4558 Added to create a server listening on a TCP/IP socket.
4560 2003-02-19 Havoc Pennington <hp@pobox.com>
4562 Throughout: mop up all the Doxygen warnings and undocumented
4565 * dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
4566 to search any paths.
4568 * dbus/dbus-threads.c: move global mutex initializers to
4569 dbus-internals.h, multiple prototypes was confusing doxygen
4570 besides being kind of ugly
4572 * Doxyfile (PREDEFINED): have Doxygen define
4573 DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from
4574 docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
4575 (do not abuse the feature! it's for stuff like the autogenerated
4576 macros in dbus-md5.c, not just for things you don't feel like
4579 2003-02-18 Havoc Pennington <hp@pobox.com>
4581 * dbus/dbus-string.c (_dbus_string_zero): new function
4583 * dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
4584 wrap it in some dbus-friendly API
4586 * dbus/dbus-types.h: add 16-bit types
4588 2003-02-18 Joe Shaw <joe@assbarn.com>
4590 * dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
4591 credentials from our currently running process.
4592 (get_word): Fix a buglet where we were copying the entire length
4593 instead of relative to our position.
4595 * dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
4596 keys on the stack... it's 640k of data.
4598 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
4599 read the credentials byte off the socket, even if we don't have
4601 (_dbus_poll): Implement poll() using select() for systems which
4604 * glib/test-dbus-glib.c (main): Print out an error if no
4605 parameters are given.
4607 * test/data/auth/fallback.auth-script: Added. Tests that a client
4608 can fallback to a secondary auth mechanism if the first fails.
4610 2003-02-18 Havoc Pennington <hp@pobox.com>
4614 2003-02-17 Havoc Pennington <hp@pobox.com>
4616 * doc/dbus-specification.sgml: lots of cosmetic
4617 cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
4618 env variable to DBUS_BUS_ADDRESS, s/client/application/,
4619 s/server/bus/ (except in authentication section). Add a section
4620 "Message Bus Message Routing"
4622 2003-02-17 Anders Carlsson <andersca@codefactory.se.>
4628 2003-02-17 Anders Carlsson <andersca@codefactory.se>
4630 * doc/dbus-specification.sgml:
4631 Specification updates.
4633 2003-02-17 Anders Carlsson <andersca@codefactory.se>
4635 * bus/activation.c: (bus_activation_init), (child_setup),
4636 (bus_activation_activate_service):
4638 * bus/main.c: (main):
4639 Set DBUS_ADDRESS environment variable.
4641 * dbus/dbus-errors.c: (dbus_set_error):
4642 Don't use va_copy since that's a C99 feature.
4644 * dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
4645 (_dbus_spawn_async):
4646 * dbus/dbus-sysdeps.h:
4647 Add child_setup_func to _dbus_spawn_async.
4649 * doc/dbus-specification.sgml:
4650 Update specification.
4652 * test/spawn-test.c: (setup_func), (main):
4655 2003-02-17 Alexander Larsson <alexl@redhat.com>
4657 * dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
4660 2003-02-17 Anders Carlsson <andersca@codefactory.se>
4664 * doc/dbus-test-plan.sgml:
4665 Add test plan document.
4670 2003-02-17 Anders Carlsson <andersca@codefactory.se>
4672 * dbus/dbus-message.c: (decode_header_data),
4673 (_dbus_message_loader_return_buffer):
4674 Set the header padding amount when loading a message.
4676 2003-02-16 Anders Carlsson <andersca@codefactory.se>
4678 * bus/dispatch.c: (send_one_message):
4679 Only send broadcast messages to registered connections.
4681 * dbus/dbus-message.c: (dbus_message_name_is):
4682 * dbus/dbus-message.h:
4683 New convenience function.
4685 * dbus/dbus-transport-debug.c: (do_reading):
4686 Only dispatch one message per run.
4689 * test/bus-test.c: (new_connection_callback), (die),
4690 (test_hello_client1_handler), (test_hello_client2_handler),
4691 (test_hello_replies), (main):
4693 * test/bus-test-loop.[ch]:
4696 2003-02-16 Havoc Pennington <hp@pobox.com>
4698 * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
4699 backward conditional
4701 2003-02-16 Alexander Larsson <alexl@redhat.com>
4703 * dbus/dbus-connection.c:
4704 Implement sent_message_with_reply. (with_reply_and block is still
4706 Made dispatch_message not lose message if OOM.
4708 * dbus/dbus-errors.h:
4709 Add NoReply error (for reply timeouts).
4711 2003-02-16 Alexander Larsson <alexl@redhat.com>
4713 * dbus/dbus-hash.c (_dbus_hash_table_unref):
4714 Actually free keys and values when destroying hashtable.
4716 2003-02-16 Anders Carlsson <andersca@codefactory.se>
4718 * dbus/dbus-auth.c: (client_try_next_mechanism):
4721 * dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
4722 Return TRUE if there's no thread implementation around.
4724 * glib/dbus-gmain.c: (free_source),
4725 (dbus_connection_hookup_with_g_main):
4726 Make sure to remove the GSource when the connection is finalized.
4728 2003-02-16 Anders Carlsson <andersca@codefactory.se>
4730 * bus/dispatch.c: (bus_dispatch_message_handler):
4731 * dbus/dbus-errors.h:
4732 Return an error if someone tries to send a message to a service
4735 2003-02-16 Anders Carlsson <andersca@codefactory.se>
4737 * bus/activation.c: (load_directory), (bus_activation_init),
4738 (bus_activation_activate_service):
4741 (bus_driver_handle_activate_service), (bus_driver_handle_message):
4742 More work on the activation handling.
4744 * dbus/dbus-errors.h:
4745 Add some error messages
4747 * dbus/dbus-message.c: (dbus_message_new_error_reply):
4748 * dbus/dbus-message.h:
4749 New function that creates an error message.
4751 * dbus/dbus-protocol.h:
4752 Add ACTIVATE_SERVER message.
4754 * dbus/dbus-server-unix.c: (unix_handle_watch),
4755 (_dbus_server_new_for_domain_socket):
4756 Call _dbus_fd_set_close_on_exec.
4758 * dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
4759 (_dbus_spawn_async), (_dbus_disable_sigpipe),
4760 (_dbus_fd_set_close_on_exec):
4761 * dbus/dbus-sysdeps.h:
4762 Add _dbus_fd_set_close_on exec function. Also add function that checks
4763 that all open fds are set to close-on-exec and warns otherwise.
4765 * dbus/dbus-transport-unix.c:
4766 (_dbus_transport_new_for_domain_socket):
4767 Call _dbus_fd_set_close_on_exec.
4769 2003-02-16 Havoc Pennington <hp@pobox.com>
4771 * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
4772 allow people to avoid setting SIGPIPE to SIG_IGN
4773 (_dbus_connection_new_for_transport): disable SIGPIPE unless
4774 we've been asked not to
4776 2003-02-15 Anders Carlsson <andersca@codefactory.se>
4778 * dbus/dbus-list.c: (_dbus_list_append_link),
4779 (_dbus_list_prepend_link):
4780 * dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
4784 2003-02-15 Anders Carlsson <andersca@codefactory.se>
4787 * bus/activation.c: (bus_activation_entry_free),
4788 (add_desktop_file_entry), (load_directory), (bus_activation_init):
4790 * bus/main.c: (main):
4791 Add simple activation support, doesn't work yet though.
4793 2003-02-15 Zack Rusin <zack@kde.org>
4795 * qt/dbus-qthread.cpp: small casting fix
4797 2003-02-15 Anders Carlsson <andersca@codefactory.se>
4799 * dbus/dbus-errors.c: (dbus_set_error):
4800 * dbus/dbus-errors.h:
4801 Add a few errors and make dbus_set_error void.
4803 * dbus/dbus-sysdeps.c:
4804 (_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
4805 (write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
4806 * dbus/dbus-sysdeps.h:
4807 Add _dbus_spawn_async.
4809 * test/spawn-test.c: (main):
4810 Test for _dbus_spawn_async.
4812 2003-02-15 Anders Carlsson <andersca@codefactory.se>
4814 * dbus/dbus-internals.h:
4815 Fix build without tests.
4817 * dbus/dbus-list.c: (alloc_link):
4818 Fix a segfault when a malloc fails.
4820 * dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
4821 (dbus_malloc0), (dbus_realloc):
4822 Add support for malloc debugging.
4824 2003-02-15 Alexander Larsson <alexl@redhat.com>
4826 * dbus/dbus-threads.c:
4827 * dbus/dbus-threads.h:
4828 Add condvars. Remove static mutext from API.
4829 Implement static mutexes by initializing them from threads_init.
4831 * glib/dbus-gthread.c:
4832 * qt/dbus-qthread.cpp:
4833 Update with the thread api changes.
4838 Turn StaticMutex into normal mutex + init function.
4839 Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
4840 _dbus_list_append_link, _dbus_list_prepend_link
4843 * dbus/dbus-sysdeps.c:
4844 * dbus/dbus-sysdeps.h:
4845 New type dbus_atomic_t, and new functions _dbus_atomic_inc,
4846 _dbus_atomic_dec. Only slow fallback implementation at the moment.
4848 * dbus/dbus-protocol.h:
4849 Add DBUS_MESSAGE_LOCAL_DISCONNECT define
4851 * dbus/dbus-message.c:
4852 Make ref/unref atomic.
4855 * dbus/dbus-connection-internal.h:
4856 * dbus/dbus-connection.c:
4857 * dbus/dbus-connection.h:
4859 Change _peek to _borrow,_return & _steal_borrowed.
4860 Change disconnect callback to event.
4861 Make dbus_connection_dispatch_messages reentrant.
4863 * dbus/dbus-transport.c:
4864 Don't ref the connection on calls to the transport
4867 * dbus/dbus-message-handler.c:
4870 * glib/dbus-gmain.c:
4871 Don't use peek_message anymore
4874 * test/debug-thread.c:
4875 * test/debug-thread.h:
4876 Simple thread implementation that asserts() on deadlocks in
4877 single-threaded code.
4880 (main) Call debug_threads_init.
4883 Use disconnect message instead of disconnect callback.
4887 Don't call dbus_connection_set_disconnect_function. Instead export
4888 bus_connection_disconnect.
4891 Call bus_connection_disconnect when we get a disconnected message.
4893 2003-02-15 Havoc Pennington <hp@pobox.com>
4895 * dbus/dbus-message.c (dbus_message_new): fool around with the
4898 2003-02-14 Havoc Pennington <hp@pobox.com>
4900 * dbus/dbus-mempool.c: fail if the debug functions so indicate
4902 * dbus/dbus-memory.c: fail if the debug functions indicate we
4905 * dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
4906 (_dbus_decrement_fail_alloc_counter): debug functions to
4907 simulate memory allocation failures
4909 2003-02-14 Havoc Pennington <hp@pobox.com>
4911 * dbus/dbus-errors.h (struct DBusError): add a word of padding
4914 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4916 * bus/driver.c: (bus_driver_handle_hello):
4918 * bus/services.c: (bus_service_lookup):
4919 Reorder message sending so we get a more sane order.
4921 * test/bus-test.c: (message_handler):
4924 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4926 * bus/driver.c: (bus_driver_send_service_deleted),
4927 (bus_driver_send_service_created), (bus_driver_send_service_lost),
4928 (bus_driver_send_service_acquired), (bus_driver_handle_hello),
4929 (bus_driver_send_welcome_message),
4930 (bus_driver_handle_list_services),
4931 (bus_driver_handle_acquire_service),
4932 (bus_driver_handle_service_exists):
4933 * dbus/dbus-bus.c: (dbus_bus_register_client),
4934 (dbus_bus_acquire_service), (dbus_bus_service_exists):
4935 * dbus/dbus-errors.c: (dbus_result_to_string):
4936 * dbus/dbus-errors.h:
4937 * dbus/dbus-message.c: (dbus_message_append_args),
4938 (dbus_message_append_args_valist), (dbus_message_get_args),
4939 (dbus_message_get_args_valist), (dbus_message_get_args_iter),
4940 (dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
4941 (dbus_message_iter_get_byte_array),
4942 (dbus_message_iter_get_string_array), (message_iter_test),
4943 (check_message_handling), (_dbus_message_test):
4944 * dbus/dbus-message.h:
4945 * test/bus-test.c: (main):
4946 Change fields to arguments in messages, so that they won't be
4947 confused with header fields.
4949 * glib/test-dbus-glib.c: (main):
4950 Remove append_fields from hello message.
4952 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4954 * dbus/dbus-errors.c:
4955 * dbus/dbus-message.c:
4956 * dbus/dbus-string.c:
4957 Documentation fixes.
4959 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4961 * glib/dbus-gmain.c: (timeout_handler), (add_timeout),
4963 Implement support for timeouts in dbus-glib.
4965 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4967 * dbus/dbus-message-builder.c: (_dbus_message_data_load):
4968 * dbus/dbus-message.c: (process_test_subdir):
4969 * test/break-loader.c: (find_breaks_based_on):
4970 Plug some memory leaks.
4972 2003-02-13 Richard Hult <rhult@codefactory.se>
4974 * bus/main.c: Fix build.
4976 * dbus/dbus-errors.h:
4977 * dbus/dbus-errors.c: Fix copyright for Anders.
4979 2003-02-13 Anders Carlsson <andersca@codefactory.se>
4984 * bus/connection.c: (bus_connection_foreach):
4987 * bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
4988 (unescape_string), (new_section), (parse_section_start),
4989 (parse_key_value), (report_error), (bus_desktop_file_load),
4990 (bus_desktop_file_get_string):
4991 * bus/desktop-file.h:
4992 Use DBusError for error reporting.
4994 * bus/dispatch.c: (send_one_message),
4995 (bus_dispatch_message_handler):
4996 * bus/driver.c: (bus_driver_send_service_deleted),
4997 (bus_driver_send_service_created), (bus_driver_send_service_lost),
4998 (bus_driver_send_service_acquired), (bus_driver_handle_hello),
4999 (bus_driver_send_welcome_message),
5000 (bus_driver_handle_list_services),
5001 (bus_driver_handle_acquire_service),
5002 (bus_driver_handle_service_exists):
5003 * bus/loop.c: (bus_loop_run):
5005 Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
5007 * bus/utils.c: (bus_wait_for_memory):
5009 New files with general utility functions.
5011 * dbus/dbus-internals.h:
5012 Remove _DBUS_HANDLE_OOM.
5014 2003-02-13 Anders Carlsson <andersca@codefactory.se>
5016 * dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
5017 (dbus_error_free), (dbus_set_error_const), (dbus_set_error):
5018 * dbus/dbus-errors.h:
5019 Add DBusError structure.
5021 2003-02-13 Anders Carlsson <andersca@codefactory.se>
5023 * test/data/valid-messages/standard-acquire-service.message:
5024 * test/data/valid-messages/standard-hello.message:
5025 * test/data/valid-messages/standard-list-services.message:
5026 * test/data/valid-messages/standard-service-exists.message:
5027 Add some standard messages.
5029 2003-02-13 Anders Carlsson <andersca@codefactory.se>
5031 * bus/driver.c: (bus_driver_send_welcome_message),
5032 (bus_driver_handle_list_services),
5033 (bus_driver_handle_acquire_service),
5034 (bus_driver_handle_service_exists), (bus_driver_handle_message):
5035 Update for API changes in libdbus.
5037 * dbus/dbus-message.c: (dbus_message_new_reply):
5038 * dbus/dbus-message.h:
5039 Remove the name argument. The spec states that replies shouldn't
5042 2003-02-13 Anders Carlsson <andersca@codefactory.se>
5044 * bus/desktop-file.c: (parse_section_start), (parse_key_value),
5045 (report_error), (bus_desktop_file_load), (lookup_section),
5046 (lookup_line), (bus_desktop_file_get_raw),
5047 (bus_desktop_file_get_string):
5048 * bus/desktop-file.h:
5049 Some fixes, and new functions for getting a key value from a section.
5051 2003-02-13 Havoc Pennington <hp@pobox.com>
5053 * test/data/auth/fail-after-n-attempts.auth-script: new test
5055 * dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
5058 2003-02-13 Havoc Pennington <hp@pobox.com>
5060 * dbus/dbus-auth.c (handle_server_data_external_mech): args to
5061 dbus_credentials_match were backward
5063 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support
5064 NO_CREDENTIALS and ROOT_CREDENTIALS
5066 * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine
5067 into here. Never process more commands after we've reached an
5068 end state; store further data as unused bytes.
5070 * test/data/auth/*: add more auth tests
5072 * dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
5073 command to match exact string and EXPECT_UNUSED to match unused
5076 * test/Makefile.am (dist-hook): fix to dist all the test stuff
5078 2003-02-12 Havoc Pennington <hp@pobox.com>
5080 * dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
5081 \r off of popped lines
5083 * dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
5086 * dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
5089 2003-02-12 Havoc Pennington <hp@pobox.com>
5091 * dbus/Makefile.am: remove break-loader from the build, since it
5094 * configure.in: add --enable-gcov to turn on coverage profiling
5095 flags and disable optimization
5097 2003-02-10 Havoc Pennington <hp@pobox.com>
5099 * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync
5100 initial cut at test framework for DBusAuth from laptop.
5101 Doesn't quite work yet but it compiles and I need to get
5102 it off the 266mhz laptop. ;-)
5104 * dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
5105 fix a memleak in error case
5107 2003-02-12 Anders Carlsson <andersca@codefactory.se>
5110 * bus/desktop-file.c:
5111 * bus/desktop-file.h:
5112 Add a desktop file parser.
5114 2003-02-11 Zack Rusin <zack@kde.org>
5116 * qt/message.[h|cpp]: sample implementation
5117 of the KDE wrapper for DBusMessage
5119 2003-02-09 Zack Rusin <zack@kde.org>
5121 * test/bus-test.c: make_it_compile
5122 * doc/dbus-specification.sgml: minimal semantic fix
5124 2003-02-06 Anders Carlsson <andersca@codefactory.se>
5130 2003-02-06 Anders Carlsson <andersca@codefactory.se>
5133 * dbus/dbus-break-loader.c:
5135 * test/break-loader.c:
5136 Move dbus-break-loader to test/ and rename it to break-loader.
5138 2003-02-02 Havoc Pennington <hp@pobox.com>
5140 * dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files
5141 for code to manage cookies in your home directory
5143 * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
5145 * dbus/dbus-auth.c (get_state): impose a maximum number of tries
5146 to authenticate, then disconnect the client.
5148 2003-02-03 Alexander Larsson <alexl@redhat.com>
5150 * dbus/dbus-message.c (dbus_message_append_fields):
5153 2003-02-02 Anders Carlsson <andersca@codefactory.se>
5155 * doc/dbus-specification.sgml:
5156 Update address format section.
5158 2003-02-02 Anders Carlsson <andersca@codefactory.se>
5161 * test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
5162 (message_handler), (new_connection_callback), (loop_quit),
5166 2003-02-02 Anders Carlsson <andersca@codefactory.se>
5168 * bus/driver.c: (bus_driver_handle_service_exists):
5169 Simplify the code a bit.
5171 * dbus/dbus-bus.c: (dbus_bus_service_exists):
5174 2003-02-02 Anders Carlsson <andersca@codefactory.se>
5177 Add libdbus-daemon.la and link to it.
5179 2003-02-01 James Willcox <jwillcox@gnome.org>
5181 * bus/driver.c: (bus_driver_handle_own_service):
5182 Actually include the service reply code in the message.
5184 2003-02-02 Anders Carlsson <andersca@codefactory.se>
5186 * bus/driver.c: (bus_driver_handle_service_exists):
5187 Don't unref the incoming message.
5189 2003-02-02 Anders Carlsson <andersca@codefactory.se>
5191 * dbus/dbus.h: Add dbus-address.h and dbus-bus.h
5193 2003-02-02 Anders Carlsson <andersca@codefactory.se>
5195 * dbus/dbus-server.c: (dbus_server_listen):
5196 * dbus/dbus-transport.c: (_dbus_transport_open):
5197 ifdef out the calls to the debug transport and server.
5199 2003-02-02 Alexander Larsson <alexl@redhat.com>
5201 * dbus/dbus-watch.c (dbus_watch_get_flags):
5202 Add note in the docs that ERROR or HANGUP won't be returned
5203 and are assumed always on.
5205 * glib/dbus-gmain.c (add_watch):
5206 Always add IO_ERR | IO_HUP
5208 * dbus/dbus-message.h:
5209 Add semicolon after dbus_message_iter_get_string_array().
5210 Makes qt code build again
5212 2003-02-01 Anders Carlsson <andersca@codefactory.se>
5214 * bus/driver.c: (create_unique_client_name),
5215 (bus_driver_handle_hello):
5216 Don't take a name, just use a numeric id to identify
5220 * dbus/dbus-bus.c: (dbus_bus_register_client),
5221 (dbus_bus_acquire_service), (dbus_bus_service_exists):
5223 Add new convenience functions for communicating with the bus.
5225 * dbus/dbus-message.h:
5227 * dbus/dbus-protocol.h:
5230 2003-02-01 Alexander Larsson <alexl@redhat.com>
5232 * dbus/dbus-message.c (dbus_message_append_fields):
5233 Add some more doc comments.
5235 2003-02-01 Havoc Pennington <hp@pobox.com>
5237 * dbus/dbus-break-loader.c (randomly_modify_length): change
5238 a 4-byte value in the message as if it were a length
5240 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
5241 execute bit on saved files
5243 2003-02-01 Havoc Pennington <hp@pobox.com>
5245 * dbus/dbus-break-loader.c (main): new program to find messages
5246 that break the loader.
5248 * dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
5249 * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
5251 * dbus/dbus-string.c (_dbus_string_set_byte): new
5253 2003-01-31 Havoc Pennington <hp@pobox.com>
5255 * dbus/dbus-message.c: refactor the test code to be more general,
5256 in preparation for writing a "randomly permute test cases to
5257 try to break the loader" program.
5259 2003-01-31 Havoc Pennington <hp@pobox.com>
5261 * doc/dbus-specification.sgml: work on the specification
5263 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): check
5264 the protocol version of the message.
5266 * dbus/dbus-protocol.h: drop special _REPLY names, the spec
5267 no longer specifies that.
5268 (DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not
5271 * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
5272 "break" for DBUS_TYPE_NIL, remove @todo
5274 2003-01-31 Havoc Pennington <hp@pobox.com>
5276 * dbus/dbus-message.c (dbus_message_set_is_error_reply): rename
5277 just set_is_error/get_is_error as this is a commonly-used
5278 function, and write docs.
5280 2003-01-31 Anders Carlsson <andersca@codefactory.se>
5282 * dbus/dbus-address.c: (dbus_address_entry_free):
5283 Free key and value lists.
5285 * dbus/dbus-internals.c: (_dbus_type_to_string):
5286 Add the types we didn't have.
5288 * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
5289 (_dbus_marshal_validate_arg):
5292 * dbus/dbus-message.c: (dbus_message_set_sender):
5293 Remove todo about being able to set sender to NULL.
5295 (dbus_message_set_is_error_reply),
5296 (dbus_message_get_is_error_reply):
5297 * dbus/dbus-message.h:
5300 * dbus/dbus-protocol.h:
5301 Add error reply flag.
5303 * test/data/valid-messages/opposite-endian.message:
5304 Add NIL type to test.
5306 2003-01-31 Havoc Pennington <hp@pobox.com>
5308 * doc/dbus-specification.sgml: fully specify the header. Add
5309 flags and major protocol version, and change header/body len to
5312 * dbus/dbus-message-builder.c (append_saved_length): append length
5315 * dbus/dbus-message.c (dbus_message_create_header): change header
5316 length and body length to unsigned. Add the new fields from the
5318 (_dbus_message_loader_return_buffer): unsigned header/body len
5320 2003-01-30 Havoc Pennington <hp@pobox.com>
5322 * dbus/dbus-auth.c: rework to use only REJECTED, no
5325 * doc/dbus-sasl-profile.txt: drop MECHANISMS and just
5326 use REJECTED, suggested by Mark McLoughlin
5328 2003-01-30 Havoc Pennington <hp@pobox.com>
5330 * dbus/dbus-server.c (dbus_server_listen): @todo about how we need
5331 a better way to report errors here. e.g. "unix address lacks
5332 path" or something. also "no such file" when the path doesn't
5335 * dbus/dbus-address.c (dbus_address_entries_free): add @todo about
5337 (dbus_parse_address): add @todo about documenting address format,
5338 and allowing , and ; to be escaped
5340 2003-01-30 Anders Carlsson <andersca@codefactory.se>
5343 Add dbus-address.[ch]
5345 * dbus/dbus-address.c: (dbus_address_entry_free),
5346 (dbus_address_entries_free), (create_entry),
5347 (dbus_address_entry_get_method), (dbus_address_entry_get_value),
5348 (dbus_parse_address), (_dbus_address_test):
5349 * dbus/dbus-address.h:
5350 New files for dealing with address parsing.
5352 * dbus/dbus-connection.c:
5353 Document timeout functions.
5355 * dbus/dbus-message.c:
5356 Document dbus_message_new_from_message.
5358 * dbus/dbus-server-debug.c:
5361 * dbus/dbus-server.c: (dbus_server_listen):
5362 Parse address and use correct server implementation.
5364 * dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
5365 * dbus/dbus-string.h:
5366 New function with test.
5368 * dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
5372 * dbus/dbus-transport-debug.c:
5375 * dbus/dbus-transport.c: (_dbus_transport_open):
5376 Parse address and use correct transport implementation.
5378 2003-01-30 Havoc Pennington <hp@pobox.com>
5380 * dbus/dbus-message.c: use message->byte_order instead of
5381 DBUS_COMPILER_BYTE_ORDER throughout.
5382 (dbus_message_create_header): pad header to align the
5383 start of the body of the message to 8-byte boundary
5385 * dbus/dbus-marshal.h: make all the demarshalers take const
5386 DBusString arguments.
5388 * dbus/dbus-message.c (_dbus_message_loader_return_buffer):
5389 validate message args here, so we don't have to do slow validation
5390 later, and so we catch bad messages as they are incoming. Also add
5391 better checks on header_len and body_len. Also fill in
5394 * dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
5395 implemented properly)
5396 (_dbus_string_validate_nul): new function to check all-nul
5398 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename
5399 get_arg_end_pos and remove all validation
5400 (_dbus_marshal_validate_arg): actually do validation here.
5402 2003-01-29 Havoc Pennington <hp@pobox.com>
5404 * dbus/dbus-message.c (check_message_handling): fix assertion
5405 failure on set_client_serial
5407 2003-01-28 Havoc Pennington <hp@pobox.com>
5409 * dbus/dbus-server-debug.c: Add doc section comments
5411 * dbus/dbus-transport-debug.c: add doc section comments
5413 2003-01-28 Havoc Pennington <hp@redhat.com>
5415 * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
5416 the reverse order from how I had it
5417 (_dbus_string_base64_encode): reverse encoding order. I was
5418 basically byteswapping everything during encoding.
5420 2003-01-28 Anders Carlsson <andersca@codefactory.se>
5422 * dbus/dbus-connection-internal.h:
5423 * dbus/dbus-connection.c: (_dbus_connection_add_timeout),
5424 (_dbus_connection_remove_timeout):
5425 Add functions for adding and removing timeouts.
5427 * dbus/dbus-message.c: (dbus_message_new_from_message):
5428 Add new function that takes a message and creates an exact
5429 copy of it, but with the refcount set to 1.
5430 (check_message_handling):
5433 * dbus/dbus-server-protected.h:
5434 * dbus/dbus-server.c: (_dbus_server_init_base),
5435 (_dbus_server_finalize_base), (_dbus_server_add_timeout),
5436 (dbus_server_set_timeout_functions):
5437 (_dbus_server_remove_timeout):
5438 New functions so that a server can add and remove timeouts.
5440 (dbus_server_listen):
5441 Add commented out call to dbus_server_debug_new.
5443 * dbus/dbus-timeout.c: (_dbus_timeout_new):
5444 Actually set the handler, doh.
5446 * dbus/dbus-transport.c: (_dbus_transport_open):
5447 Add commented out call to dbus_transport_debug_client_new.
5450 Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
5452 2003-01-28 Havoc Pennington <hp@pobox.com>
5454 * dbus/dbus-message.c (check_message_handling): function to check
5455 on the loaded message, iterates over it etc.
5457 2003-01-28 Havoc Pennington <hp@pobox.com>
5459 * test/Makefile.am (dist-hook): fix make distdir
5461 * dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
5463 2003-01-27 Havoc Pennington <hp@pobox.com>
5465 * dbus/dbus-mempool.c (time_for_size): replace printf with
5468 * dbus/dbus-message-builder.c (_dbus_message_data_load): allow
5469 empty lines; fix the SAVE_LENGTH stuff to be
5470 START_LENGTH/END_LENGTH so it actually works; couple other
5473 * test/Makefile.am (dist-hook): add dist-hook for .message files
5475 * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
5476 can be constant or locked.
5477 (_dbus_string_free): allow freeing a const string as
5480 * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
5482 * dbus/dbus-test-main.c (main): take an argument which is the
5483 directory containing test data
5485 * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
5486 argument to this and load all the messages in test/data/
5487 checking that they can be loaded or not loaded as appropriate.
5489 2003-01-27 Anders Carlsson <andersca@codefactory.se>
5491 * bus/dispatch.c: (bus_dispatch_message_handler):
5492 Dispatch messages sent to services.
5494 * bus/driver.c: (bus_driver_send_service_deleted),
5495 (bus_driver_send_service_created), (bus_driver_send_service_lost),
5496 (bus_driver_send_service_acquired):
5497 Add helper functions for sending service related messages.
5499 (bus_driver_send_welcome_message):
5500 Send HELLO_REPLY instead of WELCOME.
5502 (bus_driver_handle_list_services):
5503 Send LIST_SERVICES_REPLY instead of SERVICES.
5505 (bus_driver_handle_own_service),
5506 (bus_driver_handle_service_exists):
5507 New message handlers.
5509 (bus_driver_handle_message):
5510 Invoke new message handlers.
5512 (bus_driver_remove_connection):
5513 Don't remove any services here since that's done automatically
5514 by bus_service_remove_owner now.
5517 New function signatures.
5519 * bus/services.c: (bus_service_add_owner):
5520 Send ServiceAcquired message if we're the only primary owner.
5522 (bus_service_remove_owner):
5523 Send ServiceAcquired/ServiceLost messages.
5525 (bus_service_set_prohibit_replacement),
5526 (bus_service_get_prohibit_replacement):
5527 Functions for setting prohibit replacement.
5529 (bus_service_has_owner):
5530 New function that checks if a connection is in the owner queue of
5534 Add new function signatures.
5536 * dbus/dbus-list.c: (_dbus_list_test):
5537 Add tests for _dbus_list_remove_last and traversing the list backwards.
5540 Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
5541 go any further, so return NULL then.
5543 * dbus/dbus-protocol.h:
5544 Add new messages, service flags and service replies.
5546 2003-01-26 Havoc Pennington <hp@pobox.com>
5548 * dbus/dbus-message-builder.c: implement, completely untested.
5550 * test/data/*: add data to be used in testing.
5551 ".message" files are our simple loadable text format.
5552 ".message-raw" will be binary dumps of messages.
5554 * dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
5556 2003-01-26 Havoc Pennington <hp@pobox.com>
5558 * dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
5560 * dbus/dbus-errors.c (dbus_result_to_string): add
5563 * dbus/dbus-message-builder.c: new file, will contain code to load
5564 up messages from files. Not implemented yet.
5566 2003-01-26 Havoc Pennington <hp@pobox.com>
5568 * dbus/dbus-message.c (dbus_message_set_sender): support deleting
5569 the sender by setting to NULL
5571 2003-01-26 Havoc Pennington <hp@pobox.com>
5573 The unit tests pass, but otherwise untested. If it breaks, the
5574 tests should have been better. ;-)
5576 * bus/driver.c (bus_driver_handle_hello): return if we disconnect
5579 * dbus/dbus-message.c: redo everything so we maintain
5580 message->header as the only copy of the various fields.
5581 This avoids the possibility of out-of-memory in some cases,
5582 for example dbus_message_lock() can't run out of memory anymore,
5583 and avoids extra copying. Figured I may as well go ahead and do
5584 this since it was busted for dbus_message_lock to not return
5585 failure on OOM, and dbus_message_write_header was totally
5586 unchecked for OOM. Also fixed some random other bugs.
5588 * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
5589 that strings are nul-terminated. Also, end_pos can be equal
5590 to string length just not greater than, I think.
5591 (_dbus_marshal_set_int32): new function
5592 (_dbus_marshal_set_uint32): new function
5593 (_dbus_marshal_set_string): new function
5595 * dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
5596 a warning, init timeout_list to NULL
5597 (dbus_connection_send_message): don't use uninitialized variable
5600 * dbus/dbus-string.c (_dbus_string_replace_len): new function
5602 2003-01-26 Anders Carlsson <andersca@codefactory.se>
5604 * bus/driver.c: (bus_driver_handle_hello),
5605 (bus_driver_send_welcome_message):
5608 2003-01-26 Anders Carlsson <andersca@codefactory.se>
5610 * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
5611 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
5612 (dbus_connection_unref):
5613 * dbus/dbus-marshal.c: (_dbus_marshal_test):
5614 * dbus/dbus-message.c: (dbus_message_unref),
5617 (dbus_message_get_fields):
5618 Remove debugging printout.
5620 (_dbus_message_loader_return_buffer):
5621 Don't store the header string.
5623 (_dbus_message_test):
5626 2003-01-26 Richard Hult <rhult@codefactory.se>
5628 * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
5629 the file descriptor list, since it can change under us.
5631 2003-01-25 Anders Carlsson <andersca@codefactory.se>
5633 * glib/dbus-gmain.c: (dbus_connection_prepare),
5634 (dbus_connection_check), (dbus_connection_dispatch), (add_watch),
5635 (remove_watch), (dbus_connection_hookup_with_g_main):
5636 Rewrite the glib handling to use its own GSource instead of a
5637 GIOChannel so we can catch messages put in the queue while waiting
5640 2003-01-25 Anders Carlsson <andersca@codefactory.se>
5643 * bus/connection.c: (connection_disconnect_handler),
5644 (connection_watch_callback), (bus_connection_setup):
5645 * bus/dispatch.c: (send_one_message),
5646 (bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
5647 (bus_dispatch_add_connection), (bus_dispatch_remove_connection):
5649 * bus/driver.c: (bus_driver_send_service_deleted),
5650 (bus_driver_send_service_created), (bus_driver_handle_hello),
5651 (bus_driver_send_welcome_message),
5652 (bus_driver_handle_list_services), (bus_driver_remove_connection),
5653 (bus_driver_handle_message):
5655 Refactor code, put the message dispatching in its own file. Use
5656 _DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
5659 2003-01-25 Anders Carlsson <andersca@codefactory.se>
5661 * dbus/dbus-internals.h:
5662 Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
5664 * dbus/dbus-message.c: (dbus_message_get_sender):
5665 * dbus/dbus-message.h:
5666 Implement dbus_message_get_sender.
5668 * dbus/dbus-protocol.h:
5669 Add message and service defines.
5671 2003-01-25 Anders Carlsson <andersca@codefactory.se>
5673 * dbus/dbus-connection.c: (dbus_connection_send_message):
5674 * dbus/dbus-message-internal.h:
5675 * dbus/dbus-message.c: (_dbus_message_get_client_serial),
5676 (dbus_message_write_header):
5677 Remove _dbus_messag_unlock and don't set the client serial on a
5678 message if one already exists.
5680 2003-01-24 Havoc Pennington <hp@pobox.com>
5682 * dbus/dbus-list.c (alloc_link): put a thread lock on the global
5685 * bus/driver.c (bus_driver_handle_list_services): fix a leak
5688 2003-01-25 Anders Carlsson <andersca@codefactory.se>
5690 * dbus/dbus-list.c: (alloc_link), (free_link):
5691 Use a memory pool for the links.
5693 2003-01-25 Anders Carlsson <andersca@codefactory.se>
5695 * bus/connection.c: (bus_connection_foreach):
5697 Add new bus_connection_foreach function.
5699 * bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
5700 Add function that broadcasts a message to all clients.
5702 (bus_driver_send_service_created), (bus_driver_handle_hello),
5703 (bus_driver_send_welcome_message),
5704 (bus_driver_handle_list_services), (bus_driver_message_handler):
5705 Implement functions that take care of listing services, and notifying
5706 clients when new services are created.
5708 * bus/services.c: (bus_services_list):
5710 Add new function that returns an array of strings with the currently
5711 registered services.
5714 * glib/dbus-gmain.c:
5715 Update copyright year.
5717 2003-01-25 Anders Carlsson <andersca@codefactory.se>
5719 * dbus/dbus-connection.c: (dbus_connection_send_message):
5720 Unlock the message in case it was sent earlier.
5722 (dbus_connection_send_message_with_reply_and_block):
5723 Remove the reply message from the list.
5725 * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
5726 Set array_len and new_pos correctly.
5728 (_dbus_marshal_test):
5729 Remove debug output.
5731 * dbus/dbus-message-internal.h:
5732 * dbus/dbus-message.c: (_dbus_message_get_reply_serial):
5733 New function that returns the reply serial.
5735 (_dbus_message_unlock):
5736 New function that unlocks a message and resets its header.
5738 (dbus_message_append_string_array),
5739 (dbus_message_get_fields_valist),
5740 (dbus_message_iter_get_field_type),
5741 (dbus_message_iter_get_string_array),
5742 (dbus_message_get_fields),
5743 (dbus_message_append_fields_valist):
5744 Handle string arrays.
5746 (dbus_message_set_sender):
5747 Make this function public since the bus daemon needs it.
5749 (decode_header_data):
5750 Set the reply serial to -1 initially.
5752 * dbus/dbus-message.h:
5753 Add dbus_message_set_sender.
5755 2003-01-24 Havoc Pennington <hp@pobox.com>
5757 * doc/dbus-specification.sgml: add some stuff
5759 2003-01-22 Havoc Pennington <hp@pobox.com>
5761 * doc/dbus-specification.sgml: Start to document the protocol.
5763 2003-01-22 Havoc Pennington <hp@pobox.com>
5765 * dbus/dbus-connection.c
5766 (dbus_connection_send_message_with_reply_and_block): add some @todo
5768 * bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
5770 2003-01-21 Havoc Pennington <hp@pobox.com>
5772 (patch untested because can't compile)
5774 * bus/driver.c (create_unique_client_name): make this function
5775 never recycle client names. Also, caller should initialize
5778 * dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
5780 2003-01-21 Anders Carlsson <andersca@codefactory.se>
5782 * dbus/dbus-marshal.c: (_dbus_marshal_double),
5783 (_dbus_marshal_int32), (_dbus_marshal_uint32),
5784 (_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
5785 (_dbus_marshal_double_array), (_dbus_marshal_string_array),
5786 (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
5787 (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
5788 (_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
5789 * dbus/dbus-marshal.h:
5790 * dbus/dbus-protocol.h:
5791 Add support for marshalling and demarshalling integer, double
5794 2003-01-21 Anders Carlsson <andersca@codefactory.se>
5799 * bus/connection.c: (connection_disconnect_handler):
5800 Remove the connection from the bus driver's list.
5802 (connection_watch_callback): Dispatch messages.
5804 (free_connection_data): Free connection name.
5806 (bus_connection_setup): Add connection to the bus driver's list.
5807 (bus_connection_remove_owned_service):
5808 (bus_connection_set_name), (bus_connection_get_name):
5809 Add functions for setting and getting the connection's name.
5812 Add function headers.
5814 * bus/driver.c: (create_unique_client_name),
5815 (bus_driver_handle_hello_message),
5816 (bus_driver_send_welcome_message), (bus_driver_message_handler),
5817 (bus_driver_add_connection), (bus_driver_remove_connection):
5820 * bus/services.c: (bus_service_free):
5822 New file that handles communication and registreation with the bus
5825 2003-01-21 Anders Carlsson <andersca@codefactory.se>
5827 * dbus/dbus-connection.c: (dbus_connection_send_message):
5828 Add a new client_serial parameter.
5830 (dbus_connection_send_message_with_reply):
5831 Remove a @todo since we've implemented the blocking function.
5833 (dbus_connection_send_message_with_reply_and_block):
5834 New function that sends a message and waits for a reply and
5835 then returns the reply.
5837 * dbus/dbus-connection.h:
5840 * dbus/dbus-errors.c: (dbus_result_to_string):
5841 * dbus/dbus-errors.h:
5842 Add new DBUS_RESULT.
5844 * dbus/dbus-message-internal.h:
5845 * dbus/dbus-message.c: (_dbus_message_get_reply_serial),
5846 (_dbus_message_set_sender), (dbus_message_write_header),
5847 (dbus_message_new_reply), (decode_header_data),
5848 (_dbus_message_loader_return_buffer), (_dbus_message_test):
5849 * dbus/dbus-message.h:
5850 Add new functions that set the reply serial and sender.
5851 Also marshal and demarshal them correctly and add test.
5853 * dbus/dbus-protocol.h:
5854 Add new DBUS_MESSAGE_TYPE_SENDER.
5857 * glib/dbus-gmain.c: (watch_callback), (free_callback_data),
5858 (add_watch), (remove_watch), (add_timeout), (remove_timeout),
5859 (dbus_connection_hookup_with_g_main):
5860 * glib/test-dbus-glib.c: (main):
5861 Rewrite to use GIOChannel and remove the GSource crack.
5863 * test/echo-client.c: (main):
5864 * test/watch.c: (check_messages):
5865 Update for changed APIs
5867 2003-01-19 Anders Carlsson <andersca@codefactory.se>
5869 * dbus/Makefile.am: Add dbus-timeout.[cħ]
5871 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
5872 Create a DBusTimeoutList.
5873 (dbus_connection_set_timeout_functions): Add new function to
5874 set timeout callbacks
5876 * dbus/dbus-connection.h: Add public DBusTimeout API.
5878 * dbus/dbus-message.c: (dbus_message_get_service):
5879 * dbus/dbus-message.h: New function.
5881 * dbus/dbus-server.c: Fix small doc typo.
5883 * dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
5885 2003-01-19 Anders Carlsson <andersca@codefactory.se>
5887 * dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
5888 of the string, just as long as specified.
5890 2003-01-19 Havoc Pennington <hp@pobox.com>
5892 * dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
5895 * dbus/dbus-server.c (dbus_server_set_max_connections)
5896 (dbus_server_get_max_connections, dbus_server_get_n_connections):
5897 keep track of current number of connections, and add API for
5898 setting a max (but haven't implemented enforcing the max yet)
5900 2003-01-18 Havoc Pennington <hp@pobox.com>
5902 * dbus/dbus-transport-unix.c (unix_do_iteration): only do the
5903 reading/writing if read_watch != NULL or write_watch != NULL.
5905 * dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
5906 the message loader code to actually load message->header and
5907 message->body into the newly-created message.
5909 * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
5912 * dbus/dbus-connection.c (dbus_connection_set_max_message_size)
5913 (dbus_connection_get_max_message_size)
5914 (dbus_connection_set_max_live_messages_size)
5915 (dbus_connection_get_max_live_messages_size): implement some
5916 resource limitation functions
5918 * dbus/dbus-resources.c: new file implementing some of the
5919 resource limits stuff
5921 * dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
5922 missing docs, add @todo to handle OOM etc.
5924 * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
5927 2003-01-18 Havoc Pennington <hp@pobox.com>
5929 * dbus/dbus-connection.c (dbus_connection_unref): disconnect the
5930 connection if it hasn't been already.
5932 * dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
5933 replace with DisconnectFunction.
5935 2003-01-18 Havoc Pennington <hp@pobox.com>
5937 Building --disable-verbose-mode --disable-asserts --disable-tests
5938 cuts the library from 112K to 45K or so
5940 * configure.in: check for varargs macro support,
5941 add --enable-verbose-mode, --enable-asserts.
5943 * dbus/dbus-internals.h (_dbus_assert): support
5945 (_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
5947 2003-01-18 Havoc Pennington <hp@pobox.com>
5949 * dbus/dbus-test.c: include config.h so that tests actually run
5951 * dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
5952 so the failure mode when that assumption fails will be plenty
5955 2003-01-18 Havoc Pennington <hp@pobox.com>
5957 * configure.in: default --enable-tests to $USE_MAINTAINER_MODE
5959 * dbus/Makefile.am: fix it up so dubs-test-main.c is included in
5962 * test/Makefile.am: don't use special variable "TESTS" for echo-*
5963 since we don't want to use those in make check
5965 2003-01-15 Havoc Pennington <hp@redhat.com>
5971 2003-01-15 Havoc Pennington <hp@redhat.com>
5973 * test/Makefile.am: fix so that test source code ends up in the
5974 distribution on make distcheck
5976 2003-01-15 Havoc Pennington <hp@redhat.com>
5982 2003-01-15 Havoc Pennington <hp@redhat.com>
5984 * dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
5985 fix build when --disable-tests
5987 * Makefile.am (EXTRA_DIST): put HACKING in here
5989 * HACKING: document procedure for making a tarball release.
5991 2003-01-14 Anders Carlsson <andersca@codefactory.se>
5993 * bus/connection.c: (connection_error_handler),
5994 (bus_connection_setup):
5995 * bus/main.c: (main):
5996 Make sure that the DBusConnectionData struct is NULLed
5997 out to prevent a segfault.
5999 * dbus/dbus-errors.c: (dbus_result_to_string):
6000 * dbus/dbus-errors.h:
6001 * dbus/dbus-message.c: (dbus_message_get_fields),
6002 (dbus_message_get_fields_valist), (_dbus_message_test):
6003 * dbus/dbus-message.h:
6004 Make dbus_message_get_fields return a result code so we can
6005 track invalid fields as well as oom.
6007 2003-01-11 Havoc Pennington <hp@pobox.com>
6009 * configure.in: change --enable-test/--enable-ansi action-if-given
6010 to enable_foo=$enableval instead of enable_foo=yes
6012 2003-01-08 Havoc Pennington <hp@pobox.com>
6014 * dbus/dbus-string.c (_dbus_string_align_length): new function
6016 * dbus/dbus-test-main.c: move main() for test app here
6018 (dbus_internal_symbol_do_not_use_run_tests): we have to export a
6019 symbol to run tests, because dbus-test isn't in the main
6022 Code review nitpicks.
6024 * dbus/dbus-message.c (dbus_message_write_header): add newlines
6025 for people with narrow emacs ;-). Assert client_serial was filled
6026 in. Assert message->name != NULL.
6027 (dbus_message_append_fields): have "first_field_type" arg separate
6028 from va list, needed for C++ binding that also uses varargs IIRC
6029 and helps with type safety
6030 (dbus_message_new): add @todo about using DBusString to store
6031 service/name internally
6032 (dbus_message_new): don't leak ->service and ->name on OOM later
6034 (dbus_message_unref): free the service name
6035 (dbus_message_get_fields): same change to varargs
6036 i.e. first_field_type
6037 (_dbus_message_loader_return_buffer): assert that the message data
6038 is aligned (if not it's a bug in our code). Put in verbose griping
6039 about why we set corrupted = TRUE.
6040 (decode_header_data): add FIXME that char* is evil. Was going to
6041 add FIXME about evil locale-specific string.h strncmp, but just
6042 switched to wacky string-as-uint32 optimization. Move check for
6043 "no room for field name" above get_const_data_len() to avoid
6044 assertion failure in get_const_data_len if we have trailing 2
6045 bytes or the like. Check for service and name fields being
6046 provided twice. Don't leak service/name on error. Require field
6047 names to be aligned to 4 bytes.
6049 * dbus/dbus-marshal.c: move byte swap stuff to header
6050 (_dbus_pack_int32): uscore-prefix
6051 (_dbus_unpack_int32): uscore-prefix
6052 (_dbus_unpack_uint32): export
6053 (_dbus_demarshal_string): add @todo complaining about use of
6055 (_dbus_marshal_get_field_end_pos): add @todo about bad error
6056 handling allowing corrupt data to go unchecked
6058 2003-01-08 Havoc Pennington <hp@redhat.com>
6060 * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write
6061 to the select() as needed for authentication. (should be using
6062 _dbus_poll() not select, but for another day)
6064 * dbus/dbus.h: include dbus/dbus-protocol.h
6066 2003-01-08 Anders Carlsson <andersca@codefactory.se>
6068 * dbus/Makefile.am (dbusinclude_HEADERS): Install
6071 2003-01-08 Anders Carlsson <andersca@codefactory.se>
6073 * dbus/dbus-internals.c: (_dbus_type_to_string):
6074 New function that returns a string describing a type.
6076 * dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
6077 * dbus/dbus-marshal.h:
6078 * dbus/dbus-message.c: (dbus_message_get_fields_valist),
6079 (dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
6080 (dbus_message_iter_get_byte_array):
6081 * dbus/dbus-message.h:
6082 Add new convenience functions for appending and getting message fields.
6083 Also add demarshalling routines for byte arrays.
6085 2003-01-07 Anders Carlsson <andersca@codefactory.se>
6087 * dbus/dbus-connection-internal.h:
6088 * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
6089 (_dbus_connection_get_next_client_serial),
6090 (dbus_connection_send_message):
6091 * dbus/dbus-internals.h:
6092 * dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
6093 (dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
6094 (_dbus_marshal_uint32), (_dbus_demarshal_double),
6095 (_dbus_demarshal_int32), (_dbus_demarshal_uint32),
6096 (_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
6097 (_dbus_verbose_bytes), (_dbus_marshal_test):
6098 * dbus/dbus-marshal.h:
6099 * dbus/dbus-message-internal.h:
6100 * dbus/dbus-message.c: (_dbus_message_set_client_serial),
6101 (dbus_message_write_header), (_dbus_message_lock),
6102 (dbus_message_new), (dbus_message_ref), (dbus_message_unref),
6103 (dbus_message_get_name), (dbus_message_append_int32),
6104 (dbus_message_append_uint32), (dbus_message_append_double),
6105 (dbus_message_append_string), (dbus_message_append_byte_array),
6106 (dbus_message_get_fields_iter), (dbus_message_iter_ref),
6107 (dbus_message_iter_unref), (dbus_message_iter_has_next),
6108 (dbus_message_iter_next), (dbus_message_iter_get_field_type),
6109 (dbus_message_iter_get_string), (dbus_message_iter_get_int32),
6110 (dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
6111 (decode_header_data), (_dbus_message_loader_return_buffer),
6112 (message_iter_test), (_dbus_message_test):
6113 * dbus/dbus-message.h:
6114 * dbus/dbus-protocol.h:
6115 * dbus/dbus-test.c: (main):
6117 * glib/test-dbus-glib.c: (message_handler), (main):
6118 * test/echo-client.c: (main):
6119 * test/watch.c: (check_messages):
6120 Make messages sendable and receivable for real.
6122 2003-01-07 Anders Carlsson <andersca@codefactory.se>
6124 * dbus/dbus-marshal.c: (_dbus_marshal_double),
6125 (_dbus_marshal_string), (_dbus_marshal_byte_array):
6126 * dbus/dbus-message.c: (dbus_message_append_int32),
6127 (dbus_message_append_uint32), (dbus_message_append_double),
6128 (dbus_message_append_string), (dbus_message_append_byte_array):
6129 Handle OOM restoration.
6131 2003-01-07 Anders Carlsson <andersca@codefactory.se>
6133 * dbus/dbus-marshal.c: (_dbus_marshal_string),
6134 (_dbus_demarshal_string), (_dbus_marshal_test):
6135 * dbus/dbus-marshal.h:
6136 * dbus/dbus-message.c: (dbus_message_get_name),
6137 Document these functions.
6139 (dbus_message_append_int32), (dbus_message_append_uint32),
6140 (dbus_message_append_double), (dbus_message_append_string),
6141 (dbus_message_append_byte_array):
6142 * dbus/dbus-message.h:
6143 Add functions for adding message fields of different types.
6145 * dbus/dbus-protocol.h:
6146 Add the different types.
6148 2003-01-05 Havoc Pennington <hp@pobox.com>
6150 * bus/connection.c: implement routines for handling connections,
6151 first thing is keeping a list of owned services on each connection
6152 and setting up watches etc.
6154 * bus/services.c: implement a mapping from service names to lists
6157 * dbus/dbus-hash.c: add DBUS_HASH_POINTER
6159 * dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
6160 to use static mutexes for global data
6162 * dbus/dbus-connection.c (dbus_connection_set_data): add new
6163 collection of functions to set/get application-specific data
6164 on the DBusConnection.
6166 2003-01-04 Havoc Pennington <hp@pobox.com>
6168 * dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
6169 (_dbus_poll): new function
6171 * dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
6174 * bus/loop.c: initial code for the daemon main loop
6176 2003-01-04 Havoc Pennington <hp@pobox.com>
6178 * test/watch.c (error_handler): make it safe if the error handler
6179 is called multiple times (if we s/error handler/disconnect
6180 handler/ we should just guarantee it's called only once)
6182 * dbus/dbus-transport.c (_dbus_transport_disconnect): call the
6183 error handler on disconnect (it's quite possible we should
6184 just change the error handler to a "disconnect handler," I'm
6185 not sure we have any other meaningful errors)
6187 * configure.in: check for getpwnam_r
6189 * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
6190 dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
6191 mechanism as in SASL spec, using socket credentials
6193 * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
6194 (_dbus_send_credentials_unix_socket): new function
6196 * dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
6198 (_dbus_write): only check errno if <0 returned
6199 (_dbus_write_two): ditto
6201 2003-01-02 Anders Carlsson <andersca@codefactory.se>
6203 * dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
6204 (_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
6205 (_dbus_marshal_test):
6206 * dbus/dbus-marshal.h:
6207 Add _dbus_marshal_byte_array and rename _dbus_marshal_string
6208 to _dbus_marshal_utf8_string. Also fix some tests.
6210 2002-12-28 Harri Porten <porten@kde.org>
6212 * configure.in: added check for C++ compiler and a very cheesy
6213 check for the Qt integration
6215 * Makefile.am (SUBDIRS): compile qt subdir if support is enabled
6217 * qt/Makefile.am: added
6219 * qt/.cvsignore: added
6221 * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
6222 latter, added #ifdef QT_THREAD_SUPPORT guard.
6224 * dbus/Makefile.am: added missing headers for make dist
6226 2002-12-28 Kristian Rietveld <kris@gtk.org>
6228 * dbus/Makefile.am: fixup export-symbols-regex.
6230 2002-12-27 Anders Carlsson <andersca@codefactory.se>
6232 * acinclude.m4: Add this file and put the
6233 PKG_CHECK_MODULE macro in it.
6235 2002-12-27 Anders Carlsson <andersca@codefactory.se>
6237 * dbus/dbus-marshal.c: (_dbus_marshal_string),
6238 (_dbus_demarshal_double), (_dbus_demarshal_int32),
6239 (_dbus_demarshal_uint32), (_dbus_demarshal_string),
6240 (_dbus_marshal_test):
6241 Make the demarshalling routines align the pos argument.
6242 Add string marshalling tests and fix the obvious bugs
6245 2002-12-26 Havoc Pennington <hp@pobox.com>
6247 * dbus/dbus-auth.c: fixes fixes fixes
6249 * dbus/dbus-transport-unix.c: wire up support for
6250 encoding/decoding data on the wire
6252 * dbus/dbus-auth.c (_dbus_auth_encode_data)
6253 (_dbus_auth_decode_data): append to target string
6254 instead of nuking it.
6256 2002-12-26 Havoc Pennington <hp@pobox.com>
6258 * dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
6259 WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
6262 * dbus/dbus-marshal.c: Add macros to do int swapping in-place and
6263 avoid swap_bytes() overhead (ignoring possible assembly stuff for
6264 now). Main point is because I wanted unpack_uint32 to implement
6266 (_dbus_verbose_bytes): new function
6268 * dbus/dbus-string.c (_dbus_string_validate_ascii): new function
6270 * dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
6271 mechanism to handle a corrupt message stream
6272 (_dbus_message_loader_new): fix preallocation to only prealloc,
6275 * dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
6276 (_dbus_string_test): enhance tests for copy/move and fix the
6279 * dbus/dbus-transport-unix.c: Hold references in more places to
6280 avoid reentrancy problems
6282 * dbus/dbus-transport.c: ditto
6284 * dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
6285 leak reference count in no-message case
6287 * test/watch.c (do_mainloop): handle adding/removing watches
6288 during iteration over the watches. Also, ref the connection/server
6289 stored on a watch, so we don't try to mangle a destroyed one.
6291 * dbus/dbus-transport-unix.c (do_authentication): perform
6294 * dbus/dbus-auth.c (get_state): add a state
6295 AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
6296 (_dbus_auth_get_unused_bytes): append the unused bytes
6297 to the passed in string, rather than prepend
6299 * dbus/dbus-transport.c (_dbus_transport_init_base): create
6300 the auth conversation DBusAuth
6302 * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
6303 (_dbus_transport_new_for_domain_socket): when creating a
6304 transport, pass in whether it's a client-side or server-side
6305 transport so we know which DBusAuth to create
6307 2002-12-03 Havoc Pennington <hp@pobox.com>
6309 * dbus/dbus-transport-unix.c (unix_finalize): finalize base
6310 _after_ finalizing the derived members
6311 (unix_connection_set): unref watch if we fail to add it
6313 * dbus/dbus-connection.c (dbus_connection_unref): delete the
6314 transport first, so that the connection owned by the
6315 transport will be valid as the transport finalizes.
6317 * dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
6318 if necessary, and remove watches from the connection.
6320 * dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
6322 2002-12-26 Anders Carlsson <andersca@codefactory.se>
6324 * dbus/dbus-marshal.c: (_dbus_marshal_string),
6325 (_dbus_demarshal_double), (_dbus_demarshal_int32),
6326 (_dbus_demarshal_uint32), (_dbus_demarshal_string),
6327 (_dbus_marshal_test):
6328 * dbus/dbus-marshal.h:
6329 Add string marshal functions and have the demarshal functions
6330 return the new position.
6332 2002-12-25 Havoc Pennington <hp@pobox.com>
6334 * doc/dbus-sasl-profile.txt: docs on the authentication protocol,
6335 it is a simple protocol that just maps directly to SASL.
6337 * dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
6338 initial implementation, not actually used yet.
6340 * dbus/dbus-string.c (_dbus_string_find): new function
6341 (_dbus_string_equal): new function
6342 (_dbus_string_base64_encode): new function
6343 (_dbus_string_base64_decode): new function
6345 2002-12-25 Anders Carlsson <andersca@codefactory.se>
6348 * dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
6349 (_dbus_marshal_int32), (_dbus_marshal_uint32),
6350 (_dbus_demarshal_double), (_dbus_demarshal_int32),
6351 (_dbus_demarshal_uint32), (_dbus_marshal_test):
6352 * dbus/dbus-marshal.h:
6353 * dbus/dbus-protocol.h:
6354 * dbus/dbus-test.c: (main):
6356 Add un-optimized marshalling/demarshalling routines.
6358 2002-12-25 Harri Porten <porten@kde.org>
6360 * qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
6362 2002-12-24 Zack Rusin <zack@kde.org>
6364 * qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
6365 * qt/dbus-qt.h: skeleton with two sample implemenatation of the
6368 2002-12-24 Havoc Pennington <hp@pobox.com>
6370 * glib/dbus-gthread.c: fix include
6372 * glib/dbus-glib.h: rename DBusMessageHandler for now.
6373 I think glib API needs to change, though, as you don't
6374 want to use DBusMessageFunction, you want to use the
6375 DBusMessageHandler object. Probably
6376 dbus_connection_open_with_g_main_loop()
6377 and dbus_connection_setup_g_main_loop() or something like that
6378 (but think of better names...) that just create a connection
6379 that has watch/timeout functions etc. already set up.
6381 * dbus/dbus-connection.c
6382 (dbus_connection_send_message_with_reply): new function just to
6383 show how the message handler helps us deal with replies.
6385 * dbus/dbus-list.c (_dbus_list_remove_last): new function
6387 * dbus/dbus-string.c (_dbus_string_test): free a string that
6390 * dbus/dbus-hash.c: use memory pools for the hash entries
6391 (rebuild_table): be more paranoid about overflow, and
6392 shrink table when we can
6393 (_dbus_hash_test): reduce number of sprintfs and write
6394 valid C89. Add tests for case where we grow and then
6395 shrink the hash table.
6397 * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
6399 * dbus/dbus-connection.c (dbus_connection_register_handler)
6400 (dbus_connection_unregister_handler): new functions
6402 * dbus/dbus-message.c (dbus_message_get_name): new
6404 * dbus/dbus-list.c: fix docs typo
6406 * dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
6407 an object representing a handler for messages.
6409 2002-12-16 Anders Carlsson <andersca@codefactory.se>
6412 * glib/dbus-gthread.c: (dbus_gthread_init):
6413 Don't use the gdbus prefix for public functions.
6415 2002-12-16 Anders Carlsson <andersca@codefactory.se>
6419 Add GLib checks and fixup .pc files
6423 * glib/dbus-gmain.c: (gdbus_connection_prepare),
6424 (gdbus_connection_check), (gdbus_connection_dispatch),
6425 (gdbus_add_connection_watch), (gdbus_remove_connection_watch),
6426 (dbus_connection_gsource_new):
6427 * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
6428 (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
6429 * glib/test-dbus-glib.c: (message_handler), (main):
6432 2002-12-15 Harri Porten <porten@kde.org>
6434 * autogen.sh: check for libtoolize before attempting to use it
6436 * dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
6439 * .cvsignore: ignore more stamp files
6441 * dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
6443 * test/Makefile.am: added -I$(top_srcdir) to be able to compile
6444 without make install.
6446 2002-12-15 Havoc Pennington <hp@pobox.com>
6448 * dbus/dbus-threads.c: add thread stubs that a higher library
6449 layer can fill in. e.g. the GLib wrapper might fill them in with
6450 GThread stuff. We still need to use this thread API to
6451 thread-safe-ize the library.
6453 2002-12-12 Havoc Pennington <hp@pobox.com>
6455 * dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
6456 below new interfaces and include fewer system headers.
6458 * dbus/dbus-sysdeps.c (_dbus_read): new function
6459 (_dbus_write): new function
6460 (_dbus_write_two): new function
6461 (_dbus_connect_unix_socket): new function
6462 (_dbus_listen_unix_socket): new function
6464 * dbus/dbus-message-internal.h: change interfaces to use
6467 2002-12-11 Havoc Pennington <hp@pobox.com>
6469 * dbus/dbus-types.h: add dbus_unichar
6471 * dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
6473 * dbus/dbus-connection.c (dbus_connection_send_message): return
6476 * dbus/dbus-transport.c: include dbus-watch.h
6478 * dbus/dbus-connection.c: include dbus-message-internal.h
6480 * HACKING: add file with coding guidelines stuff.
6482 * dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
6483 handling here, for security purposes (as in vsftpd). Not actually
6484 using this class yet.
6486 * dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
6487 system/libc usage here, as in vsftpd, for ease of auditing (and
6488 should also simplify portability). Haven't actually moved all the
6489 system/libc usage into here yet.
6491 2002-11-25 Havoc Pennington <hp@pobox.com>
6493 * dbus/dbus-internals.c (_dbus_verbose): fix to not
6494 always print the first verbose message.
6496 2002-11-24 Havoc Pennington <hp@pobox.com>
6498 * test/echo-client.c, test/echo-server.c: cheesy test
6501 * configure.in (AC_CHECK_FUNCS): check for writev
6503 * dbus/dbus-message.c (_dbus_message_get_network_data): new
6506 * dbus/dbus-list.c (_dbus_list_foreach): new function
6508 * dbus/dbus-internals.c (_dbus_verbose): new function
6510 * dbus/dbus-server.c, dbus/dbus-server.h: public object
6511 representing a server that listens for connections.
6513 * dbus/.cvsignore: create
6515 * dbus/dbus-errors.h, dbus/dbus-errors.c:
6516 public API for reporting errors
6518 * dbus/dbus-connection.h, dbus/dbus-connection.c:
6519 public object representing a connection that
6520 sends/receives messages. (Same object used for
6521 both client and server.)
6523 * dbus/dbus-transport.h, dbus/dbus-transport.c:
6524 Basic abstraction for different kinds of stream
6525 that we might read/write messages from.
6527 2002-11-23 Havoc Pennington <hp@pobox.com>
6529 * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN
6532 * dbus/dbus-test.c (main): add list test, and include
6533 dbus-test.h as intended
6535 * dbus/dbus-hash.c (_dbus_hash_table_remove_string)
6536 (_dbus_hash_table_remove_int): return value indicates
6537 whether the entry existed to remove
6539 * dbus/dbus-list.c: add linked list utility class,
6542 * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket
6545 2002-11-23 Havoc Pennington <hp@pobox.com>
6547 * Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
6548 DBUS_END_DECLS to nothing, that should fix this once and for all
6550 * Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
6552 * dbus/dbus-message.c, dbus/dbus-hash.c:
6553 add some missing @brief
6555 2002-11-23 Havoc Pennington <hp@pobox.com>
6557 * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS
6558 to avoid confusing Doxygen
6560 * dbus/dbus-hash.c: @} not }@
6562 * dbus/dbus-message.c (struct DBusMessage): split out
6565 2002-11-23 Havoc Pennington <hp@pobox.com>
6567 * configure.in: pile on more warning flags if using gcc
6569 * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have
6570 to document static functions
6572 * configure.in: add summary to end of configure so it
6573 looks nice and attractive
6575 * dbus/dbus-hash.c: finish implementation and write unit
6578 * configure.in: add --enable-tests to enable unit tests
6580 * dbus/dbus-test.c: test program to run unit tests
6581 for all files in dbus/*, initially runs a test for
6584 * dbus/dbus-internals.h: file to hold some internal utility stuff
6586 2002-11-22 Havoc Pennington <hp@redhat.com>
6588 * dbus/dbus-hash.c: copy in Tcl hash table, not yet
6589 "ported" away from Tcl
6591 * dbus/dbus-types.h: header for types such as dbus_bool_t
6593 2002-11-22 Havoc Pennington <hp@redhat.com>
6595 * dbus/dbus.h: fixups for doc warnings
6597 * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up
6599 (QUIET): make it quiet so we can see warnings
6601 * dbus/dbus-memory.c: teach D-BUS to allocate and free memory
6603 2002-11-22 Havoc Pennington <hp@redhat.com>
6605 * Makefile.am: include "Doxyfile" target in all-local
6607 * configure.in: generate the Doxyfile
6609 * Doxyfile.in: move Doxyfile here, so we can use
6610 configure to generate a Doxyfile with the right
6613 2002-11-22 Havoc Pennington <hp@redhat.com>
6615 * dbus/dbus-message.c: move inline docs into .c file
6617 * Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
6618 so all docs are under doc/
6619 (MAN_EXTENSION): generate man pages. Use extension
6620 ".3dbus" which matches ".3qt" on my system,
6621 I guess this is OK, I don't know really.
6622 (FILE_PATTERNS): look for .c files not .h, makes sense
6625 2002-11-22 Havoc Pennington <hp@pobox.com>
6627 * Makefile.am (SUBDIRS): rename subdir "server" to "bus"
6628 because any app can be a server, and any app can be a client,
6629 the bus is a special kind of server.
6631 Thu Nov 21 23:35:31 2002 Zack Rusin <zack@kde.org>
6633 * Doxyfile : adding. Still needs Makefile rules to be generated
6634 automatically (just run "doxygen" in the toplevel dir for now to
6637 * dbus/dbus-message.h : Adding sample docs (javadoc since
6638 resembles gtk-doc a little more)
6640 * dbus/dbus.h : Adding sample docs
6642 2002-11-21 Havoc Pennington <hp@redhat.com>
6644 * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION
6645 so we can allow ourselves to include files directly,
6646 instead of having to use dbus.h
6648 * dbus/dbus.h: fill in
6650 * dbus/dbus-message.h: sketch out a sample header file.
6651 Include griping if you include it directly instead of
6654 * dbus/dbus-macros.h: new file with macros for extern "C",
6655 TRUE/FALSE, NULL, etc.
6657 * doc/file-boilerplate.c: put include guards in here
6659 2002-11-21 Havoc Pennington <hp@redhat.com>
6661 * doc/file-boilerplate.c: include both AFL and GPL boilerplate.
6663 * COPYING: include the GPL as well, and license code
6664 under both AFL and GPL.
6666 2002-11-21 Havoc Pennington <hp@redhat.com>
6668 * acconfig.h: get rid of this
6670 * autogen.sh (run_configure): add --no-configure option
6672 * configure.in: remove AC_ARG_PROGRAM to make
6673 autoconf complain less. add AC_PREREQ.
6674 add AC_DEFINE third arg.
6676 2002-11-21 Anders Carlsson <andersca@codefactory.se>
6679 Fix references so we can distcheck.
6681 2002-11-21 Havoc Pennington <hp@redhat.com>
6683 * Initial module creation