ebb48867a5b0235d851b0bae1399e55aee2d58e4
[platform/upstream/dbus.git] / ChangeLog
1 2003-04-05  Havoc Pennington  <hp@pobox.com>
2
3         * NEWS: update
4
5         * configure.in: 0.8
6
7 2003-04-05  Havoc Pennington  <hp@pobox.com>
8
9         * bus/bus.c (setup_server): fix this so dbus-daemon-1 doesn't 
10         crash on startup. Need to get "try starting the daemon" 
11         in the test suite I guess. ;-)
12
13         * dbus/dbus-server.h, dbus/dbus-server.c: remove the stuff that
14         tracked the number of open connections; it's better done in 
15         application-specific code as you want it to span all servers etc.
16
17 2003-04-05  Havoc Pennington  <hp@pobox.com>
18
19         * bus/Makefile.am (install-data-hook): add missing DESTDIR, 
20         patch from Colin Walters
21
22 2003-04-05  Havoc Pennington  <hp@pobox.com>
23
24         * doc/config-file.txt (Elements): fix docs of <auth> to reflect 
25         reality; in fact multiple mechanisms are allowed.
26
27         * dbus/dbus-internals.c (_dbus_real_assert)
28         (_dbus_real_assert_not_reached): move guts of _dbus_assert() and
29         _dbus_assert_not_reached() into functions, so that they don't show
30         up in basic block counts for test coverage, and don't use up as
31         much disk space. Does mean slower execution speed though, so
32         assumes --disable-asserts is the normal production case.
33
34 2003-04-05  Havoc Pennington  <hp@pobox.com>
35
36         * test/Makefile.am (dist-hook): also dist *.in files
37
38         * NEWS: update
39
40         * configure.in: 0.7
41         
42 2003-04-05  Havoc Pennington  <hp@pobox.com>
43
44         * dbus/dbus-string.c: docs warning
45         
46         * dbus/dbus-spawn.c: missing docs
47
48         * dbus/dbus-memory.c (struct ShutdownClosure): missing docs
49
50 2003-04-05  Havoc Pennington  <hp@pobox.com>
51
52         * bus/loop.c (bus_loop_iterate): fix the timeout code, using 
53         magic from GLib
54
55         * dbus/dbus-spawn.c (_dbus_babysitter_unref): set sitter_pid 
56         to -1 once we've reaped the babysitter
57         (_dbus_babysitter_handle_watch): do as much work as we can, not
58         just one go of it
59
60         * bus/activation.c: add code using DBusBabysitter so that we
61         handle it when a service fails to start up properly.
62         (bus_activation_service_created): don't remove the activation
63         entries as we go, just let them get removed when we free the pending
64         activation. Unref reply messages after sending them.
65
66 2003-04-05  Havoc Pennington  <hp@pobox.com>
67
68         * test/decode-gcov.c (main): print per-directory stats in the report
69
70         * Makefile.am (coverage-report.txt): don't include test/* in gcov stats
71
72 2003-04-05  Havoc Pennington  <hp@pobox.com>
73
74         * Makefile.am (coverage-report.txt): add target "coverage-report.txt"
75
76         * test/decode-gcov.c: hack up a little program to suck data 
77         out of gcov files. Yes this is sort of silly.
78
79         * configure.in: define something in config.h and do an
80         AM_CONDITIONAL when gcov is enabled
81
82 2003-04-04  Havoc Pennington  <hp@redhat.com>
83
84         * dbus/dbus-spawn.c, dbus/dbus-spawn.h: Change dbus_spawn to
85         return a "babysitter" object that is used to monitor the status of
86         the spawned process and reap it when required.
87
88         * test/test-segfault.c, test/test-exit.c,
89         test/test-sleep-forever.c: binaries that do various lame things, 
90         used in the test suite.
91
92         * dbus/dbus-sysdeps.c: kill _dbus_errno_to_string()
93         
94 2003-04-03  Havoc Pennington  <hp@pobox.com>
95
96         * dbus/dbus-spawn.c: Move dbus-spawn into a separate file 
97         in preparation for modifying it, dbus-sysdeps is getting 
98         a bit unmanageable.
99
100 2003-04-03  Havoc Pennington  <hp@redhat.com>
101
102         * bus/loop.h, bus/loop.c: make the mainloop an object so we can
103         have multiple ones
104
105         * bus/*.[hc]: adapt to mainloop change
106
107 2003-04-03  Havoc Pennington  <hp@redhat.com>
108
109         * bus/activation.c (load_directory): fix up memleaks
110         (bus_activation_entry_free): free the entry
111
112         * dbus/dbus-bus.c (dbus_bus_acquire_service): return an error if
113         we get one from the message bus; fix memleaks.
114
115         * dbus/dbus-message.c (dbus_set_error_from_message): new function
116
117 2003-04-03  Havoc Pennington  <hp@pobox.com>
118
119         * bus/config-parser.c (bus_config_parser_unref): free 
120         list of mechanisms, bug discovered by test suite enhancements
121         (putting system.conf and session.conf into suite)
122
123         * test/Makefile.am, test/test-service.c: add placeholder for a
124         test service that we'll activate as part of test suite. Doesn't 
125         do anything yet.
126
127         * dbus/dbus-sysdeps.c (_dbus_setenv): support unsetenv by 
128         setting NULL value, and use system malloc not dbus_malloc() 
129         when we have unavoidable memleakage.
130
131         * dbus/dbus-bus.c (dbus_bus_get): fix bug where bus type of 0
132         didn't work, and support DBUS_BUS_ACTIVATION.
133         
134         * bus/activation.c (child_setup): pass our well-known bus type to
135         the child
136
137         * bus/config-parser.c: support <type> to specify well-known type
138
139         * doc/dbus-specification.sgml: document the env variables to 
140         locate well-known buses and find service activator
141
142 2003-04-02  Havoc Pennington  <hp@redhat.com>
143
144         * test/Makefile.am (all-local): add a rule to copy tests to
145         builddir, so we can have generated tests. Use this to remove the
146         silly hack for testing system.conf and session.conf. Will use this 
147         shortly to generate .service files pointing to test binaries.
148
149 2003-04-02  Havoc Pennington  <hp@redhat.com>
150
151         * dbus/dbus-string.c (set_length): fix a bug - we allocated max of
152         current alloc and needed new length, not max of the doubled
153         allocation and needed new length. Also, when building tests, 
154         don't do the double-allocation stuff, just realloc every time.
155
156 2003-04-02  Havoc Pennington  <hp@redhat.com>
157
158         * dbus/dbus-sysdeps.c (_dbus_file_get_contents): include filenames
159         in error messages
160         (_dbus_string_get_dirname): new
161         (_dbus_sysdeps_test): new
162         (_dbus_directory_open): include dirnames in error messages
163
164         * bus/config-parser.c: interpret <include> and <includedir> and
165         <servicedir> relative to config file location if the given
166         filename is not absolute.
167
168         * dbus/dbus-string.c (_dbus_string_find_byte_backward): new
169
170 2003-04-02  Havoc Pennington  <hp@redhat.com>
171
172         * bus/connection.c (bus_transaction_send_error_reply): set sender
173         service for the error, and unref the reply on success
174
175         * bus/activation.c: convert to use BusTransaction so OOM can be
176         handled correctly
177         (bus_activation_service_created): set sender of the message
178
179 2003-04-01  Havoc Pennington  <hp@redhat.com>
180
181         * bus/config-parser.c, bus/bus.c: implement <servicedir> and
182         <includedir> (at least mostly)
183
184         * dbus/dbus-sysdeps.c (_dbus_change_identity): set the group ID
185         first, then the user ID
186
187 2003-04-01  Havoc Pennington  <hp@pobox.com>
188
189         * dbus/dbus-server.c (dbus_server_set_auth_mechanisms): new
190         function
191
192         * dbus/dbus-auth.c (_dbus_auth_set_mechanisms): new
193
194         * dbus/dbus-internals.c (_dbus_dup_string_array): new function
195
196         * dbus/dbus-sysdeps.c (_dbus_listen_unix_socket): chmod the
197         socket 0777, and unlink any existing socket.
198
199         * bus/bus.c (bus_context_new): change our UID/GID and fork if
200         the configuration file so specifies; set up auth mechanism 
201         restrictions
202
203         * bus/config-parser.c (bus_config_parser_content): add support
204         for <fork> option and fill in code for <auth> 
205
206         * bus/system.conf.in: add <fork/> to default configuration, 
207         and limit auth mechanisms to EXTERNAL
208
209         * doc/config-file.txt (Elements): add <fork>
210
211         * dbus/dbus-sysdeps.c (_dbus_become_daemon): new function
212         (_dbus_change_identity): new function
213
214 2003-03-31  Havoc Pennington  <hp@redhat.com>
215
216         * dbus/dbus-sysdeps.c (_dbus_connect_unix_socket) 
217         (_dbus_listen_unix_socket): fix off-by-one error in null
218         termination spotted by Nalin
219
220 2003-03-31  Havoc Pennington  <hp@redhat.com>
221
222         * dbus/dbus-keyring.c (_dbus_keyring_new_homedir): allow setting
223         DBUS_TEST_HOMEDIR when tests are enabled, so we can test without
224         having a real home directory available.
225
226 2003-03-31  Havoc Pennington  <hp@redhat.com>
227
228         * bus/Makefile.am (install-data-hook): create /var/run/dbus
229
230         * bus/messagebus.in: add init script for Red Hat /etc/init.d
231
232         * configure.in: add support for specifying a style of init script
233         to install
234
235 2003-03-31  Havoc Pennington  <hp@redhat.com>
236
237         Fix some annoying DBusString API and fix all affected code.
238         
239         * dbus/dbus-string.c (_dbus_string_init): get rid of annoying
240         max_length argument
241         (_dbus_string_get_data): change to return string instead of using 
242         an out param
243         (_dbus_string_get_const_data): ditto
244         (_dbus_string_get_data_len): ditto
245         (_dbus_string_get_const_data_len): ditto
246
247 2003-03-31  Havoc Pennington  <hp@redhat.com>
248
249         * bus/main.c (main): fix up the command line arguments to be nicer
250
251 2003-03-31  Havoc Pennington  <hp@redhat.com>
252
253         * dbus/Makefile.am (INCLUDES): use EXPANDED_LOCALSTATEDIR to
254         define DBUS_SYSTEM_BUS_PATH as we want to compile in the same 
255         final location that lands in the config file
256
257         * bus/config-loader-expat.c (bus_config_load): fix type of
258         XML_Parser variable
259
260         * doc/TODO: remove TODO item for dbus_bus_get()
261
262         * dbus/dbus-bus.c (bus_data_free): add missing lock/unlock
263
264 2003-03-31  Havoc Pennington  <hp@pobox.com>
265
266         * dbus/dbus-transport-unix.c (_dbus_transport_new_for_domain_socket)
267         (_dbus_transport_new_for_tcp_socket): these didn't need the "server"
268         argument since they are always client side
269
270         * dbus/dbus-server.c (dbus_server_get_address): new function
271
272         * bus/main.c (main): take the configuration file as an argument.
273
274         * test/data/valid-config-files/debug-allow-all.conf: new file to 
275         use with dispatch.c tests for example
276
277         * bus/test-main.c (main): require test data dir
278
279         * bus/bus.c (bus_context_new): change this to take a
280         configuration file name as argument
281
282         * doc/config-file.txt (Elements): add <servicedir>
283
284         * bus/system.conf, bus/session.conf: new files
285         
286         * dbus/dbus-bus.c (dbus_bus_get): look for system bus on
287         well-known socket if none set
288
289         * configure.in: create system.conf and session.conf
290
291 2003-03-30  Havoc Pennington  <hp@pobox.com>
292
293         * bus/config-parser.c: hacking
294         
295         * dbus/dbus-memory.c: don't use DBusList for the list of stuff 
296         to shut down, since it could cause weirdness with the DBusList
297         lock
298
299         * dbus/dbus-list.c (_dbus_list_test): add tests for the
300         link-oriented stack routines
301         (alloc_link): free the mempool if the first alloc from it fails
302
303         * dbus/dbus-mempool.c (struct DBusMemBlock): fix alignment issue
304
305         * dbus/dbus-string.c (UNICODE_VALID): sync new version of this
306         from GLib
307         (_dbus_string_skip_white): new
308
309         * doc/config-file.txt (Elements): add <includedir>
310
311 2003-03-28  Havoc Pennington  <hp@pobox.com>
312
313         * dbus/dbus-string.c (_dbus_string_copy_data_len)
314         (_dbus_string_copy_data): new functions
315
316 2003-03-28  Anders Carlsson  <andersca@codefactory.se>
317
318         * dbus/dbus-bus.c: (bus_data_free), (dbus_bus_get):
319         * dbus/dbus-bus.h:
320         Add dbus_bus_get.
321         
322         * dbus/dbus-memory.c:
323         Fix a doc comment.
324         
325 2003-03-28  Havoc Pennington  <hp@pobox.com>
326
327         * bus/test.c (bus_test_flush_bus): remove the sleep from here, 
328         I think it may have just been superstition. Not sure.
329
330         * dbus/dbus-string.c (_dbus_string_base64_decode): catch some OOM
331         failures that were not being handled.
332
333         * dbus/dbus-auth.c (process_auth): fix a memleak in OOM handling
334
335         * dbus/dbus-memory.c: add ability to set number of mallocs in a
336         row that will fail on out-of-memory.
337
338         * dbus/dbus-internals.c (_dbus_test_oom_handling): convenience
339         function for testing out-of-memory handling.
340
341         * bus/config-loader-expat.c (memsuite): don't wrap the dbus
342         allocation functions, they do map exactly to the expat ones.
343
344 2003-03-27  Havoc Pennington  <hp@redhat.com>
345
346         * bus/config-loader-libxml.c (bus_config_load): add another error
347         check
348
349 2003-03-26  Anders Carlsson  <andersca@codefactory.se>
350
351         * doc/TODO:
352         Add note about automatic service activation.
353         
354         * doc/dbus-specification.sgml:
355         Rename the specification and clarify a few things.
356         
357 2003-03-26  Anders Carlsson  <andersca@codefactory.se>
358
359         * Doxyfile.in:
360         * dbus/dbus-address.c:
361         * dbus/dbus-dict.c:
362         * dbus/dbus-marshal.c:
363         * dbus/dbus-server-debug-pipe.c:
364         * dbus/dbus-transport-unix.c:
365         Fix documentation warnings.
366         
367 2003-03-26  Havoc Pennington  <hp@pobox.com>
368
369         * bus/test-main.c, dbus/dbus-test.c (main): check memleaks
370         after every test so it's quick and easy to see which leaked, and
371         so we test multiple dbus_shutdown() calls
372
373         * configure.in: change configure.in XML stuff to also support
374         expat
375
376         * config-loader-libxml.c: some hacking
377
378         * config-loader-expat.c: some hacking
379
380         * config-parser.c: some hacking, plus tests
381
382 2003-03-25  Havoc Pennington  <hp@redhat.com>
383
384         * throughout - add more _DBUS_ASSERT_ERROR_IS_CLEAR
385         
386         * configure.in: add --with-xml option to specify XML library,
387         right now only libxml is supported.
388
389         * bus/config-loader-libxml.c, config-parser.c: sync some minor 
390         nonworking code between home and work, still just stubs
391
392 2003-03-24  Havoc Pennington  <hp@redhat.com>
393
394         * dbus/dbus-sysdeps.c (_dbus_set_fd_nonblocking): move to this
395         file
396
397         * dbus/dbus-errors.c (dbus_set_error, dbus_set_error_const): allow 
398         NULL argument for "message" if the error is a well-known one, 
399         fill in a generic message in this case.
400
401         * dbus/dbus-errors.h (DBusResultCode): Kill DBusResultCode in
402         favor of DBusError
403
404         * bus/test.c (bus_test_flush_bus): add
405
406         * bus/policy.c (bus_policy_test): test code stub
407
408 2003-03-24  Havoc Pennington  <hp@pobox.com>
409
410         * bus/connection.c (bus_connections_setup_connection): set up 
411         the "can this user connect" function, but it always returns 
412         TRUE until we have a config file parser so we can have a config
413         file that allows connections.
414
415 2003-03-23  Havoc Pennington  <hp@pobox.com>
416
417         * dbus/dbus-threads.c (dbus_mutex_new, dbus_condvar_new): with 
418         DBUS_BUILD_TESTS, actually alloc/free a block of memory for 
419         the mutex, so we can check for proper memory management 
420         and OOM handling.
421
422         * dbus/dbus-dataslot.c: remove the mutex from
423         DBusDataSlotAllocator and lock it manually when using it, 
424         to simplify fitting it into the global slots framework.
425
426         * dbus/dbus-threads.c (init_static_locks): rework how we're
427         handling global locks so they are easily shut down.
428
429         * bus/policy.c (bus_policy_append_rule): fix
430
431         * bus/test-main.c (main): check for memleaks
432
433         * dbus/dbus-test.c (dbus_internal_do_not_use_run_tests): make 
434         test suite check for memleaks
435
436         * dbus/dbus-memory.c: add support in test mode for tracking 
437         number of outstanding blocks
438
439 2003-03-23  Havoc Pennington  <hp@pobox.com>
440
441         * bus/policy.c, bus/bus.c, bus/connection.c: implement allow/deny
442         policies code
443         
444         * dbus/dbus-hash.h: add ULONG hash keys
445
446         * dbus/dbus-sysdeps.c (_dbus_get_groups): new
447         (_dbus_get_group_id): new function
448
449 2003-03-20  Havoc Pennington  <hp@redhat.com>
450
451         * dbus/dbus-connection.c (dbus_connection_set_unix_user_function):
452         new function
453         (dbus_connection_get_unix_user): new function
454
455 2003-03-20  Havoc Pennington  <hp@pobox.com>
456
457         * bus/connection.c (bus_connection_send_oom_error): assert that
458         message has a sender
459         (connection_execute_transaction): ditto
460         (bus_connection_preallocate_oom_error): fix to set the sender, and
461         set recipient to the destination service, not the bus driver
462
463         * bus/policy.c: hacking
464
465         * dbus/dbus-message.c (dbus_message_service_is): new function
466         (dbus_message_sender_is): new
467
468 2003-03-19  Havoc Pennington  <hp@redhat.com>
469
470         * bus/policy.c: start sketching code for policy restrictions on 
471         what connections can do.
472
473 2003-03-18  Havoc Pennington  <hp@redhat.com>
474
475         * doc/TODO: some notes on high-level todo items. Little nitpick
476         stuff is all in @todo, so no need to add it here.
477
478         * doc/config-file.txt: some notes on how config file might look
479
480 2003-03-18  Anders Carlsson  <andersca@codefactory.se>
481
482         * configure.in: 0.6
483
484         * NEWS: Update.
485         
486 2003-03-17  Havoc Pennington  <hp@redhat.com>
487
488         * dbus/dbus-internals.h: add gcc attributes so that 
489         our printf-style functions warn on bad arguments to 
490         format
491         
492         * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): fix printf 
493         format bug
494
495         * dbus/dbus-message.c (_dbus_message_loader_queue_messages): fix
496         printf format bug
497
498 2003-03-17  Havoc Pennington  <hp@redhat.com>
499
500         * bus/test-main.c (main): make it print something as it runs 
501         so make check doesn't look stuck
502
503         * doc/negotiation.txt, doc/dbus-sasl-profile.txt: remove 
504         from CVS, now obsolete
505
506 2003-03-17  Anders Carlsson  <andersca@codefactory.se>
507
508         * bus/dispatch.c: (bus_dispatch):
509         Refetch the service name since it may have been reallocated
510         when dbus_message_set_sender was called.
511         
512         * dbus/dbus-sysdeps.c: (_dbus_accept):
513         Add address and address length variables and use them to stop
514         valgrind from complaining.
515         
516 2003-03-17  Havoc Pennington  <hp@pobox.com>
517
518         All tests pass, no memleaks, no valgrind complaints.
519         
520         * bus/test.c: refcount handler_slot
521
522         * bus/connection.c (bus_connections_new): refcount
523         connection_data_slot
524
525         * dbus/dbus-auth-script.c (_dbus_auth_script_run): delete unused
526         bytes so that auth scripts pass.
527
528         * bus/dispatch.c: init message_handler_slot so it gets allocated
529         properly
530
531         * bus/dispatch.c (message_handler_slot_ref): fix memleak
532
533         * dbus/dbus-server-debug-pipe.c (_dbus_server_debug_pipe_new):
534         dealloc server_pipe_hash when no longer used for benefit of
535         leak checking
536
537         * dbus/dbus-auth.c (process_command): memleak fix
538
539         * bus/dispatch.c (check_hello_message): memleak fix
540
541 2003-03-16  Havoc Pennington  <hp@pobox.com>
542
543         * dbus/dbus-bus.c (ensure_bus_data): fix double-unref of the data slot
544
545 2003-03-17  Anders Carlsson  <andersca@codefactory.se>
546
547         * bus/activation.c (bus_activation_activate_service): Append
548         the pending activation entry to the list of pending activations.
549
550 2003-03-16  Havoc Pennington  <hp@pobox.com>
551
552         * bus/dispatch.c (bus_dispatch_test): remove double-unrefs of
553         connections
554
555         * dbus/dbus-address.c (create_entry): fix OOM handling when
556         failing to alloc entry->method
557
558 2003-03-16  Havoc Pennington  <hp@pobox.com>
559
560         * dbus/dbus-watch.c (_dbus_watch_new): handle failure to malloc
561         the watch
562
563         * dbus/dbus-server-debug-pipe.c (_dbus_transport_debug_pipe_new):
564         add some missing dbus_set_result
565
566         * bus/dispatch.c (bus_dispatch_add_connection): handle failure to 
567         alloc the DBusMessageHandler
568
569         * dbus/dbus-transport.c (_dbus_transport_disconnect): don't ref
570         the transport here, since we call this from the finalizer; it 
571         resulted in a double-finalize.
572
573         * dbus/dbus-transport.c (_dbus_transport_disconnect): fix a bug 
574         where we tried to use transport->connection that was NULL, 
575         happened when transport was disconnected early on due to OOM
576
577         * bus/*.c: adapt to handle OOM for watches/timeouts
578
579         * dbus/dbus-transport-unix.c: port to handle OOM during 
580         watch handling
581         
582         * dbus/dbus-auth.c (_dbus_auth_get_unused_bytes): return a
583         reference to unused bytes instead of a copy
584
585         * dbus/dbus-server.c (dbus_server_handle_watch): return FALSE for
586         out of memory
587
588         * dbus/dbus-connection.c (dbus_connection_handle_watch): return
589         FALSE on OOM
590
591         * dbus/dbus-timeout.c (dbus_timeout_handle): return FALSE for out
592         of memory
593
594 2003-03-16  Anders Carlsson  <andersca@codefactory.se>
595
596         * doc/dbus-specification.sgml:
597         Document reply message for ActivateService.
598         
599 2003-03-16  Anders Carlsson  <andersca@codefactory.se>
600
601         * bus/activation.c: (bus_pending_activation_entry_free),
602         (bus_pending_activation_free), (bus_activation_new),
603         (bus_activation_unref), (bus_activation_service_created),
604         (bus_activation_activate_service):
605         * bus/activation.h:
606         * bus/bus.c: (bus_context_new):
607         * bus/desktop-file.c: (new_section):
608         * bus/driver.c: (bus_driver_send_service_deleted),
609         (bus_driver_handle_activate_service):
610         * bus/services.c: (bus_registry_new), (bus_registry_ensure):
611         * bus/services.h:
612         * dbus/dbus-connection.c:
613         (dbus_connection_send_with_reply_and_block):
614         * dbus/dbus-message.c: (dbus_message_append_args_valist):
615         * dbus/dbus-protocol.h:
616         Make activation work better. Now pending activations will be queued
617         and the daemon won't try to activate services that are already registered.
618         
619 2003-03-16  Havoc Pennington  <hp@pobox.com>
620
621         * dbus/dbus-bus.c (ensure_bus_data): handle failure to set
622         connection data
623
624         * dbus/dbus-memory.c (_dbus_initialize_malloc_debug): support
625         DBUS_MALLOC_BACKTRACES to print trace when failing an alloc
626
627 2003-03-16  Havoc Pennington  <hp@pobox.com>
628
629         * dbus/dbus-string.c (_dbus_string_validate_utf8): oops, unbreak
630         this. always run the test suite before commit...
631
632         * bus/*: adapt to DBusConnection API changes
633
634         * glib/dbus-gmain.c: adapt to DBusConnection API changes, 
635         requires renaming stuff to avoid dbus_connection_dispatch name 
636         conflict.
637
638         * dbus/dbus-transport.c (_dbus_transport_queue_messages): new
639         function
640
641         * dbus/dbus-message.c (_dbus_message_loader_queue_messages):
642         separate from _dbus_message_loader_return_buffer()
643
644         * dbus/dbus-connection.c (dbus_connection_get_n_messages): remove
645         this, because it's now always broken to use; the number of
646         messages in queue vs. the number still buffered by the message
647         loader is undefined/meaningless. Should use
648         dbus_connection_get_dispatch_state().
649         (dbus_connection_dispatch): rename from
650         dbus_connection_dispatch_message
651
652 2003-03-16  Havoc Pennington  <hp@pobox.com>
653
654         * dbus/dbus-string.c (_dbus_string_validate_utf8): copy in a real
655         implementation
656
657 2003-03-16  Anders Carlsson  <andersca@codefactory.se>
658
659         * dbus/dbus-connection.c:
660         (dbus_connection_send_with_reply_and_block):
661         Decrease connection->n_incoming when removing an entry 
662         from the list.
663         * dbus/dbus-dict.c: (dbus_dict_entry_free),
664         (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
665         (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
666         (dbus_dict_set_byte_array), (dbus_dict_set_string_array),
667         (dbus_dict_get_boolean_array), (dbus_dict_get_double_array),
668         (dbus_dict_get_byte_array):
669         Handle NULL arrays and strings. Also add support for byte arrays.
670         
671         * dbus/dbus-marshal.c: (_dbus_marshal_byte_array),
672         (_dbus_marshal_dict), (_dbus_demarshal_byte_array),
673         (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
674         (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
675         (_dbus_demarshal_dict), (demarshal_and_validate_len),
676         (_dbus_marshal_validate_arg), (_dbus_marshal_test):
677         * dbus/dbus-marshal.h:
678         Add support for marshalling and demarshalling empty arrays and strings.
679         
680         * dbus/dbus-message.c: (dbus_message_append_args_valist),
681         (dbus_message_append_string_array),
682         (dbus_message_iter_get_boolean),
683         (dbus_message_iter_get_boolean_array),
684         (dbus_message_iter_get_int32_array),
685         (dbus_message_iter_get_uint32_array),
686         (dbus_message_iter_get_double_array),
687         (dbus_message_iter_get_byte_array),
688         (dbus_message_iter_get_string_array), (dbus_message_iter_get_dict),
689         (check_message_handling):
690         Add support for getting empty arrays and dicts.
691         
692         * dbus/dbus-string.c: (_dbus_string_validate_utf8):
693         Don't do any validation at all for now, that's better than just checking
694         for ASCII.
695         
696         * test/data/valid-messages/emptiness.message:
697         New test message with lots of empty arrays.
698         
699 2003-03-16  Havoc Pennington  <hp@pobox.com>
700
701         * dbus/dbus-connection.c
702         (_dbus_connection_queue_received_message_link): new function that
703         can't fail due to OOM
704
705         * dbus/dbus-message.c (_dbus_message_loader_pop_message_link):
706         new function pops a message together with a list link 
707         containing it.
708
709         * dbus/dbus-transport-unix.c (queue_messages): use new link-based
710         message queuing functions to avoid needing to alloc memory
711
712 2003-03-16  Havoc Pennington  <hp@pobox.com>
713
714         Oops - test code was only testing failure of around 30 of the
715         mallocs in the test path, but it turns out there are 500+
716         mallocs. I believe this was due to misguided linking setup such
717         that there was one copy of dbus_malloc etc. in the daemon and one
718         in the shared lib, and only daemon mallocs were tested. In any
719         case, the test case now tests all 500+ mallocs, and doesn't pass
720         yet, though there are lots of fixes in this patch.
721         
722         * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
723         this so that it doesn't need to allocate memory, since it 
724         has no way of indicating failure due to OOM (and would be 
725         annoying if it did).
726
727         * dbus/dbus-list.c (_dbus_list_pop_first_link): new function
728
729         * bus/Makefile.am: rearrange to create two self-contained
730         libraries, to avoid having libraries with overlapping symbols. 
731         that was resulting in weirdness, e.g. I'm pretty sure there 
732         were two copies of global static variables.
733
734         * dbus/dbus-internals.c: move the malloc debug stuff to 
735         dbus-memory.c
736
737         * dbus/dbus-list.c (free_link): free list mempool if it becomes
738         empty.
739
740         * dbus/dbus-memory.c (_dbus_disable_mem_pools): new function
741
742         * dbus/dbus-address.c (dbus_parse_address): free list nodes
743         on failure.
744
745         * bus/dispatch.c (bus_dispatch_add_connection): free
746         message_handler_slot when no longer using it, so 
747         memory leak checkers are happy for the test suite.
748
749         * dbus/dbus-server-debug-pipe.c (debug_finalize): free server name
750
751         * bus/bus.c (new_connection_callback): disconnect in here if 
752         bus_connections_setup_connection fails.
753
754         * bus/connection.c (bus_connections_unref): fix to free the 
755         connections
756         (bus_connections_setup_connection): if this fails, don't
757         disconnect the connection, just be sure there are no side
758         effects.
759
760         * dbus/dbus-string.c (undo_alignment): unbreak this
761
762         * dbus/dbus-auth.c (_dbus_auth_unref): free some stuff we were
763         leaking
764         (_dbus_auth_new): fix the order in which we free strings 
765         on OOM failure
766
767         * bus/connection.c (bus_connection_disconnected): fix to 
768         not send ServiceDeleted multiple times in case of memory 
769         allocation failure
770
771         * dbus/dbus-bus.c (dbus_bus_get_base_service): new function to
772         get the base service name
773         (dbus_bus_register_client): don't return base service name,
774         instead store it on the DBusConnection and have an accessor
775         function for it.
776         (dbus_bus_register_client): rename dbus_bus_register()
777
778         * bus/dispatch.c (check_hello_message): verify that other 
779         connections on the bus also got the correct results, not 
780         just the one sending hello
781
782 2003-03-15  Havoc Pennington  <hp@pobox.com>
783
784         Make it pass the Hello handling test including all OOM codepaths.
785         Now to do other messages...
786         
787         * bus/services.c (bus_service_remove_owner): fix crash when
788         removing owner from an empty list of owners
789         (bus_registry_ensure): don't leave service in the list of 
790         a connection's owned services if we fail to put the service
791         in the hash table.
792
793         * bus/connection.c (bus_connection_preallocate_oom_error): set
794         error flag on the OOM error.
795
796         * dbus/dbus-connection.c (_dbus_connection_new_for_transport):
797         handle _dbus_transport_set_connection failure
798
799         * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd): modify
800         to create watches up front and simply enable/disable them as
801         needed.
802         (unix_connection_set): this can now fail on OOM
803
804         * dbus/dbus-timeout.c, dbus/dbus-watch.c: add concept 
805         of enabling/disabling a watch or timeout.
806
807         * bus/loop.c (bus_loop_iterate): don't touch disabled
808         watches/timeouts
809
810         * glib/dbus-gmain.c: adapt to enable/disable watches and timeouts
811
812 2003-03-15  Havoc Pennington  <hp@pobox.com>
813
814         * bus/dispatch.c (bus_dispatch_test): OK, now finally actually
815         write useful test code, after all that futzing around ;-)
816
817         Test does not yet pass because we can't handle OOM in
818         _dbus_transport_messages_pending (basically,
819         dbus_connection_preallocate_send() does not prealloc the write
820         watch). To fix this, I think we need to add new stuff to
821         set_watch_functions, namely a SetEnabled function so we can alloc
822         the watch earlier, then enable it later.
823         
824         * dbus/Makefile.am (libdbus_convenience_la_SOURCES): move
825         dbus-memory.c to the convenience lib
826
827         * bus/test.c: rename some static functions to keep them clearly 
828         distinct from stuff in connection.c. Handle client disconnection.
829
830 2003-03-14  Havoc Pennington  <hp@pobox.com>
831
832         * bus/dispatch.c (bus_dispatch_test): do test using debug-pipe 
833         transport, tests more of the real codepath. Set up clients 
834         with bus_setup_debug_client.
835
836         * bus/test.c (bus_setup_debug_client): function to set up debug 
837         "clients" on the main loop
838
839         * dbus/dbus-transport.c (_dbus_transport_open): add debug-pipe 
840         support
841
842         * dbus/dbus-server.c (dbus_server_listen): add debug-pipe 
843         server type
844
845         * dbus/dbus-server-debug.c: support a debug server based on pipes
846
847         * dbus/dbus-sysdeps.c (_dbus_full_duplex_pipe): new function
848         (_dbus_close): new function
849         
850         * configure.in: check for socketpair
851
852 2003-03-14  Havoc Pennington  <hp@redhat.com>
853
854         * dbus/dbus-memory.c: add a "detect buffer overwrites on free" 
855         cheesy hack
856
857         * dbus/dbus-transport-debug.c: rework this a good bit to be 
858         less complicated. hopefully still works.
859
860         * dbus/dbus-server-debug.c (handle_new_client): remove timeout
861         manually
862
863         * glib/dbus-gmain.c (timeout_handler): don't remove timeout 
864         after running it
865
866         * dbus/dbus-message.c (dbus_message_copy): rename from 
867         dbus_message_new_from_message, fix it up to copy 
868         all the message fields, add test case
869
870         * bus/dispatch.c (bus_dispatch_test): add some more test code, 
871         not quite passing yet
872
873 2003-03-14  Havoc Pennington  <hp@pobox.com>
874
875         * bus/loop.c (bus_loop_iterate): add this so we can "run loop
876         until no work remains" in test code. (the large diff here 
877         is just code movement, no actual changes)
878
879         * dbus/dbus-server-debug.c (DEFAULT_INTERVAL): change interval to
880         1, no point waiting around for test code.
881         (_dbus_server_debug_accept_transport): unref the timeout 
882         after adding it (right?)
883
884         * dbus/dbus-transport-debug.c (DEFAULT_INTERVAL): ditto
885         
886 2003-03-13  Havoc Pennington  <hp@redhat.com>
887
888         * dbus/dbus-timeout.c (_dbus_timeout_list_set_functions): handle
889         out of memory
890
891         * dbus/dbus-watch.c (_dbus_watch_list_set_functions): handle out
892         of memory
893
894         * dbus/dbus-connection.h: Make AddWatchFunction and
895         AddTimeoutFunction return a bool so they can fail on out-of-memory
896
897         * bus/bus.c (bus_context_new): set up timeout handlers
898
899         * bus/connection.c (bus_connections_setup_connection): set up
900         timeout handlers
901
902         * glib/dbus-gmain.c: adapt to the fact that set_functions stuff
903         can fail
904
905         * bus/bus.c (bus_context_new): adapt to changes
906
907         * bus/connection.c: adapt to changes
908
909         * test/watch.c: adapt to DBusWatch changes
910
911         * bus/dispatch.c (bus_dispatch_test): started adding this but
912         didn't finish
913         
914 2003-03-14  Anders Carlsson  <andersca@codefactory.se>
915
916         * bus/dispatch.c (send_service_nonexistent_error): Fix typo.
917
918 2003-03-13  Havoc Pennington  <hp@pobox.com>
919
920         * bus/test.c, bus/test.h, bus/Makefile.am, bus/test-main.c: 
921         set up a test framework as for the library
922
923 2003-03-12  Havoc Pennington  <hp@pobox.com>
924
925         Throughout: purge global variables, introduce BusActivation, 
926         BusConnections, BusRegistry, etc. objects instead.
927         
928         * bus/bus.h, bus/bus.c: introduce BusContext as a global 
929         message bus object
930
931         * test/Makefile.am (TEST_BINARIES): disable bus-test for now, 
932         going to redo this a bit differently I think
933         
934 2003-03-12  Havoc Pennington  <hp@redhat.com>
935
936         Mega-patch that gets the message bus daemon initially handling 
937         out-of-memory. Work still needed. Also lots of random 
938         moving stuff to DBusError instead of ResultCode.
939         
940         * dbus/dbus-list.c (_dbus_list_length_is_one): new function
941
942         * dbus/dbus-connection.c
943         (dbus_connection_send_with_reply_and_block): use DBusError
944
945         * dbus/dbus-bus.c: adapt to API changes, make it use DBusError not
946         DBusResultCode
947
948         * dbus/dbus-connection.c (dbus_connection_send): drop the result
949         code here, as the only failure possible is OOM.
950
951         * bus/connection.c (bus_connection_disconnect):
952         rename bus_connection_disconnected as it's a notification only
953
954         * bus/driver.c (bus_driver_handle_acquire_service): don't free
955         "name" on get_args failure, should be done by get_args; 
956         don't disconnect client for bad args, just return an error.
957         (bus_driver_handle_service_exists): ditto
958
959         * bus/services.c (bus_services_list): NULL-terminate returned array
960
961         * bus/driver.c (bus_driver_send_service_lost)
962         (bus_driver_send_service_acquired): send messages from driver to a
963         specific client to the client's unique name, not to the broadcast
964         service.
965
966         * dbus/dbus-message.c (decode_header_data): reject messages that
967         contain no name field
968         (_dbus_message_get_client_serial): rename to
969         dbus_message_get_serial and make public
970         (_dbus_message_set_serial): rename from set_client_serial
971         (_dbus_message_set_reply_serial): make public
972         (_dbus_message_get_reply_serial): make public
973
974         * bus/connection.c (bus_connection_foreach): allow stopping
975         iteration by returning FALSE from foreach function.
976
977         * dbus/dbus-connection.c (dbus_connection_send_preallocated) 
978         (dbus_connection_free_preallocated_send) 
979         (dbus_connection_preallocate_send): new API for sending a message
980         without possibility of malloc failure.
981         (dbus_connection_send_message): rename to just
982         dbus_connection_send (and same for whole function family)
983
984         * dbus/dbus-errors.c (dbus_error_free): make this reinit the error
985
986         * dbus/dbus-sysdeps.c (_dbus_exit): new function
987
988         * bus/activation.c: handle/return errors
989
990         * dbus/dbus-errors.h: add more DBUS_ERROR #define
991
992         * dbus/dbus-sysdeps.c (_dbus_directory_open) (_dbus_file_get_contents)
993         (_dbus_directory_get_next_file): use DBusError instead of DBusResultCode
994         (_dbus_result_from_errno): move to this file
995
996 2003-03-10  Anders Carlsson  <andersca@codefactory.se>
997
998         * dbus/dbus-marshal.c: 
999         (_dbus_marshal_set_string):
1000         Take a length argument so we can marshal the correct string
1001         length.
1002         
1003         (_dbus_marshal_dict), (_dbus_demarshal_dict),
1004         (_dbus_marshal_get_arg_end_pos), (_dbus_marshal_validate_arg),
1005         (_dbus_marshal_test):
1006         * dbus/dbus-marshal.h:  
1007         Add support for marshalling and demarshalling dicts.
1008         
1009         * dbus/dbus-message-builder.c: (_dbus_message_data_load):
1010         Add support for TYPE DICT.
1011         
1012         * dbus/dbus-message.c: (set_string_field):
1013         Adjust header padding.
1014         
1015         (dbus_message_append_args_valist), (dbus_message_append_dict),
1016         (dbus_message_get_args_valist), (dbus_message_iter_get_arg_type),
1017         (dbus_message_iter_get_dict), (_dbus_message_loader_return_buffer),
1018         (check_message_handling), (check_have_valid_message):
1019         * dbus/dbus-message.h:
1020         Add functions for setting and getting dicts.
1021
1022         * dbus/dbus-protocol.h:
1023         Add DBUS_TYPE_DICT.
1024         
1025         * dbus/dbus.h:
1026         Add dbus-dict.h
1027         
1028         * doc/dbus-specification.sgml:
1029         Add information about how dicts are marshalled.
1030         
1031         * test/data/invalid-messages/dict-with-nil-value.message:
1032         * test/data/invalid-messages/too-short-dict.message:
1033         * test/data/valid-messages/dict-simple.message:
1034         * test/data/valid-messages/dict.message:
1035         Add sample messages containing dicts.
1036
1037 2003-03-08  Anders Carlsson  <andersca@codefactory.se>
1038
1039         * dbus/dbus-dict.h: Add DBUS_END_DECLS.
1040
1041 2003-03-07  Anders Carlsson  <andersca@codefactory.se>
1042
1043         * dbus/Makefile.am:
1044         * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
1045         (dbus_dict_get_keys), (insert_entry), (dbus_dict_set_boolean),
1046         (dbus_dict_set_int32), (dbus_dict_set_uint32),
1047         (dbus_dict_set_double), (dbus_dict_set_string),
1048         (dbus_dict_set_boolean_array), (dbus_dict_set_int32_array),
1049         (dbus_dict_set_uint32_array), (dbus_dict_set_double_array),
1050         (dbus_dict_set_string_array), (_dbus_dict_test):
1051         * dbus/dbus-dict.h:
1052         Fix according to comments from Havoc.
1053         
1054 2003-03-06  Michael Meeks  <michael@server.home>
1055
1056         * configure.in: if we don't have kde-config, disable have_qt.
1057
1058 2003-03-07  Anders Carlsson  <andersca@codefactory.se>
1059
1060         * dbus/Makefile.am:
1061         Add dbus-dict.[ch]
1062         
1063         * dbus/dbus-dict.c: (dbus_dict_entry_free), (dbus_dict_new),
1064         (dbus_dict_ref), (dbus_dict_unref), (dbus_dict_contains),
1065         (dbus_dict_remove), (dbus_dict_get_value_type),
1066         (dbus_dict_get_keys), (dbus_dict_put_boolean),
1067         (dbus_dict_put_int32), (dbus_dict_put_uint32),
1068         (dbus_dict_put_double), (dbus_dict_put_string),
1069         (dbus_dict_put_boolean_array), (dbus_dict_put_int32_array),
1070         (dbus_dict_put_uint32_array), (dbus_dict_put_double_array),
1071         (dbus_dict_put_string_array), (dbus_dict_get_boolean),
1072         (dbus_dict_get_int32), (dbus_dict_get_uint32),
1073         (dbus_dict_get_double), (dbus_dict_get_string),
1074         (dbus_dict_get_boolean_array), (dbus_dict_get_int32_array),
1075         (dbus_dict_get_uint32_array), (dbus_dict_get_double_array),
1076         (dbus_dict_get_string_array), (_dbus_dict_test):
1077         * dbus/dbus-dict.h:
1078         Add DBusDict implementation
1079         
1080         * dbus/dbus-test.c: (dbus_internal_do_not_use_run_tests):
1081         * dbus/dbus-test.h:
1082         Add _dbus_dict_test
1083         
1084 2003-03-04  Havoc Pennington  <hp@pobox.com>
1085
1086         * test/data/auth/*: adapt to changes
1087
1088         * dbus/dbus-auth-script.c (_dbus_auth_script_run): add
1089         USERID_BASE64 and change USERNAME_BASE64 to put in username not
1090         userid
1091
1092         * dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
1093         more stuff from being in a context name, to make the protocol 
1094         simpler to deal with
1095
1096         * dbus/dbus-errors.c (dbus_error_has_name): new function
1097         (dbus_error_is_set): new function
1098
1099         * dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth 
1100         with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
1101         
1102         * dbus/dbus-connection.c (dbus_connection_flush): also read
1103         messages during a flush operation
1104
1105         * dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
1106
1107 2003-03-05  Anders Carlsson  <andersca@codefactory.se>
1108
1109         * configure.in: Check for gethostbyname on Solaris.
1110
1111         * dbus/dbus-transport.c: (_dbus_transport_open):
1112         Remove duplicate "tcp" entry.
1113         
1114         * doc/dbus-specification.sgml:
1115         Clarify some things.
1116         
1117 2003-03-05  Anders Carlsson  <andersca@codefactory.se>
1118
1119         * dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
1120         * dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
1121         (_dbus_keyring_test):
1122         * dbus/dbus-md5.c: (_dbus_md5_compute):
1123         * dbus/dbus-sha.c: (_dbus_sha_compute):
1124         Plug memory leaks.
1125
1126 2003-03-05  Anders Carlsson  <andersca@codefactory.se>
1127
1128         * README: Add some things.
1129
1130 2003-03-04  Anders Carlsson  <andersca@codefactory.se>
1131
1132         * dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
1133         after case DBUS_TYPE_BOOELAN.
1134
1135 2003-03-02  Havoc Pennington  <hp@pobox.com>
1136
1137         * test/break-loader.c (randomly_set_extreme_ints): add test that
1138         sets really huge and small integers
1139
1140         * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
1141         that length of boolean array fits in the string, and that 
1142         string has room for boolean value in single-bool case.
1143
1144         * dbus/dbus-message-builder.c (_dbus_message_data_load): add
1145         optional value to "ALIGN" command which is what to fill the
1146         alignment with.
1147
1148         * test/data/valid-messages/no-padding.message: add regression
1149         test for the message padding problem
1150
1151 2003-03-02  Havoc Pennington  <hp@pobox.com>
1152
1153         * dbus/dbus-message.c (decode_header_data): fix to always init
1154         message_padding, from Benjamin Dauvergne
1155
1156 2003-03-02  Havoc Pennington  <hp@pobox.com>
1157
1158         * configure.in: 0.5
1159
1160         * NEWS: Update.
1161
1162 2003-03-01  Joe Shaw  <joe@assbarn.com>
1163
1164         * configure.in: Check for "struct cmsgcred" and try to access its
1165         members for BSD-like unices.
1166
1167         * dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
1168         _dbus_read_credentials_unix_socket().
1169         (_dbus_read_credentials_unix_socket): Use recvmsg() instead of
1170         read() for reading the credential byte off the unix socket.  Use
1171         struct cmsgcred on systems that support it.
1172
1173 2003-02-27  Alexander Larsson  <alexl@redhat.com>
1174
1175         * glib/Makefile.am: 
1176         * configure.in:
1177         Make gthreads-2.0 dependency optional. Don't build thread test if
1178         its not found.
1179
1180 2003-02-27  Havoc Pennington  <hp@pobox.com>
1181
1182         * dbus/dbus-connection.c
1183         (dbus_connection_send_message_with_reply_and_block): fix doh!
1184         doh! doh! bug that resulted in never removing a reply from the
1185         queue, no wonder we called get_reply_serial so much ;-)
1186         
1187         * dbus/dbus-message.c (struct DBusMessage): cache reply serial
1188         and client serial instead of demarshaling them every time
1189
1190 2003-02-27  Havoc Pennington  <hp@pobox.com>
1191
1192         * dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
1193         more inlined, using dbus-string-private.h, speeds things up 
1194         substantially
1195
1196         * dbus/dbus-string.c (_dbus_string_free): apply align offset
1197         when freeing the string
1198         (_dbus_string_steal_data): fix for align offset
1199         (undo_alignment): new function
1200
1201 2003-02-26  Havoc Pennington  <hp@redhat.com>
1202
1203         All kinds of audit fixes from Owen, plus initial attempt to 
1204         handle unaligned memory returned from malloc.
1205         
1206         * dbus/dbus-string.c (_dbus_string_init): clamp max length to 
1207         leave room for align_offset and nul byte
1208         (fixup_alignment): function to track an align_offset and 
1209         ensure real->str is aligned
1210         (DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated, 
1211         to allow a nul byte plus align offset
1212         (_dbus_string_lock): fix overflow issue
1213         (_dbus_string_init_const_len): add assertions on sanity of len, 
1214         assign allocated to be ALLOCATION_PADDING larger than len
1215         (set_length): fixup the overflow handling
1216         (_dbus_string_get_data_len): fix overflow in assertion
1217         (open_gap): detect overflow in size of gap to be opened
1218         (_dbus_string_lengthen): add overflow check
1219         (_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
1220         (_dbus_string_append): add overflow check
1221         (_dbus_string_append_unichar): overflow
1222         (_dbus_string_delete): fix overflow in assertion
1223         (_dbus_string_copy_len): overflow in assertion
1224         (_dbus_string_replace_len): overflows in assertions
1225         (_dbus_string_find): change to implement in terms of 
1226         _dbus_string_find_to
1227         (_dbus_string_find_to): assorted fixage
1228         (_dbus_string_equal_c_str): assert c_str != NULL, 
1229         fix logic so the function works
1230         (_dbus_string_ends_with_c_str): fix overflow thingy
1231         (_dbus_string_base64_encode): overflow fix
1232         (_dbus_string_validate_ascii): overflow
1233         (_dbus_string_validate_nul): overflow
1234         
1235 2003-02-26  Havoc Pennington  <hp@redhat.com>
1236
1237         * dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
1238
1239 2003-02-26  Alexander Larsson  <alexl@redhat.com>
1240
1241         * configure.in:
1242         Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
1243         
1244         * dbus/dbus-connection.c:
1245         * dbus/dbus-connection.h:
1246         Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
1247         Add dbus_connection_set_wakeup_main_function and use it when queueing
1248         incoming and outgoing messages.
1249         
1250         
1251         * dbus/dbus-dataslot.c:
1252         Threadsafe usage of DBusDataSlotAllocator
1253         
1254         * dbus/dbus-message.c: (dbus_message_get_args_iter):
1255         dbus_new can fail.
1256         
1257         * dbus/dbus-server-unix.c:
1258         Add todo comment
1259         
1260         * glib/dbus-gmain.c:
1261         Implement the new wakeup functions for glib.
1262         
1263         * glib/Makefile.am:
1264         * glib/test-thread-client.c: 
1265         * glib/test-thread-server.c: 
1266         * glib/test-thread.h:
1267         Initial cut at some thread test code. Not really done yet.
1268
1269 2003-02-26  Havoc Pennington  <hp@pobox.com>
1270
1271         * dbus/dbus-connection.c
1272         (dbus_connection_send_message_with_reply_and_block): fix crash
1273         where we ref'd the outgoing message instead of the returned reply
1274
1275         * dbus/dbus-transport-unix.c (do_authentication): check read watch
1276         at the end of this function, so if we didn't need to read for
1277         authentication, we reinstall it for receiving messages
1278
1279         * dbus/dbus-message.c (dbus_message_new_reply): allow replies to 
1280         a NULL sender for peer-to-peer case
1281
1282         * dbus/dbus-transport-unix.c (check_read_watch): handle
1283         !authenticated case correctly
1284
1285         * glib/dbus-gmain.c: add support for DBusServer
1286
1287         * dbus/dbus-server.c: add data slot support
1288
1289         * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
1290         return values and handle errors
1291
1292         * dbus/dbus-dataslot.c: factor out the data slot stuff from
1293         DBusConnection
1294
1295         * Doxyfile.in (INPUT): add glib subdir
1296
1297         * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename 
1298         setup_with_g_main instead of hookup_with_g_main; write docs
1299         
1300 2003-02-24  Anders Carlsson  <andersca@codefactory.se>
1301
1302         * dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
1303         * dbus/dbus-message-builder.c: (_dbus_message_data_load):
1304         * dbus/dbus-message.c: (dbus_message_append_boolean),
1305         (dbus_message_append_boolean_array),
1306         (dbus_message_get_args_valist), (_dbus_message_test):
1307         * dbus/dbus-message.h:
1308         * doc/dbus-specification.sgml:
1309         Various fixes as pointed out by Havoc.
1310         
1311         * test/data/invalid-messages/bad-boolean-array.message:
1312         * test/data/invalid-messages/bad-boolean.message:
1313         Add invalid boolean value test cases.
1314         
1315 2003-02-24  Anders Carlsson  <andersca@codefactory.se>
1316
1317         * dbus/dbus-internals.c: (_dbus_type_to_string):
1318         * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
1319         (_dbus_marshal_validate_arg):
1320         * dbus/dbus-message-builder.c: (_dbus_message_data_load):
1321         * dbus/dbus-message.c: (dbus_message_append_args_valist),
1322         (dbus_message_append_boolean), (dbus_message_append_boolean_array),
1323         (dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
1324         (dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
1325         (dbus_message_iter_get_double),
1326         (dbus_message_iter_get_boolean_array), (message_iter_test):
1327         * dbus/dbus-message.h:
1328         * dbus/dbus-protocol.h:
1329         * doc/dbus-specification.sgml:
1330         * test/data/valid-messages/lots-of-arguments.message:
1331         Add support for boolean and boolean array types.
1332         
1333 2003-02-23  Havoc Pennington  <hp@pobox.com>
1334
1335         * dbus/dbus-keyring.c: finish most of this implementation and 
1336         simple unit test
1337
1338         * dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
1339         these barf if the error isn't cleared to NULL
1340
1341         * dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
1342         (_dbus_create_directory): new function
1343
1344         * dbus/dbus-errors.c (dbus_set_error): fix warning
1345
1346         * dbus/dbus-string.c (_dbus_string_hex_encode): new function
1347         (_dbus_string_hex_decode): new function
1348         (test_hex_roundtrip): test code
1349
1350         * dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
1351
1352         * dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
1353
1354         * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use 
1355         the save-to-temp/rename trick to atomically write the new file
1356         (_dbus_string_parse_uint): new function
1357
1358 2003-02-22  Havoc Pennington  <hp@pobox.com>
1359
1360         * test/Makefile.am (dist-hook): fix dist for test/data/sha-1
1361
1362 2003-02-22  Havoc Pennington  <hp@pobox.com>
1363
1364         * dbus/dbus-message.c (dbus_message_iter_get_string_array):
1365         (dbus_message_iter_get_byte_array): Fix up doxygen warnings
1366
1367         * dbus/dbus-sha.c: add implementation of SHA-1 algorithm
1368
1369         * dbus/test/data/sha-1: add US government test suite for SHA-1
1370
1371 2003-02-21  Anders Carlsson  <andersca@codefactory.se>
1372
1373         * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
1374         Make string arrays NULL-terminated.
1375         
1376         * dbus/dbus-memory.c: (dbus_free_string_array):
1377         * dbus/dbus-memory.h:
1378         New function for freeing NULL-terminated string arrays.
1379         
1380         * dbus/dbus-message-builder.c: (append_quoted_string),
1381         (_dbus_message_data_load):
1382         Add support for array types.
1383         
1384         * dbus/dbus-message.c: (check_message_handling):
1385         Add more types as test cases.
1386         
1387         * dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
1388         (_dbus_string_parse_double):
1389         Add the start offset to the end offset.
1390         
1391         * test/data/valid-messages/lots-of-arguments.message:
1392         New test message with lots of arguments.
1393         
1394 2003-02-21  Anders Carlsson  <andersca@codefactory.se>
1395
1396         * dbus/dbus-message.c: (dbus_message_append_nil),
1397         (dbus_message_append_int32), (dbus_message_append_uint32),
1398         (dbus_message_append_double), (dbus_message_append_string),
1399         (dbus_message_append_int32_array),
1400         (dbus_message_append_uint32_array),
1401         (dbus_message_append_double_array),
1402         (dbus_message_append_byte_array),
1403         (dbus_message_append_string_array):
1404         Fix all out-of-memory handling in these functions.
1405
1406 2003-02-21  Anders Carlsson  <andersca@codefactory.se>
1407
1408         * dbus/dbus-message.c: (dbus_message_append_nil):
1409         Fix a silly.
1410         
1411 2003-02-21  Anders Carlsson  <andersca@codefactory.se>
1412
1413         * dbus/dbus-message.c: (dbus_message_append_args_valist),
1414         (dbus_message_append_nil), (dbus_message_append_int32_array),
1415         (dbus_message_append_uint32_array),
1416         (dbus_message_append_double_array),
1417         (dbus_message_append_byte_array),
1418         (dbus_message_append_string_array), (dbus_message_get_args_valist),
1419         (dbus_message_iter_get_int32_array),
1420         (dbus_message_iter_get_uint32_array),
1421         (dbus_message_iter_get_double_array),
1422         (dbus_message_iter_get_byte_array),
1423         (dbus_message_iter_get_string_array):
1424
1425         * dbus/dbus-message.h:
1426         Add functions for appending and getting arrays.
1427         
1428 2003-02-21  Anders Carlsson  <andersca@codefactory.se>
1429
1430         * dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
1431         element size at least 8 bytes, fixes mempool tests on
1432         64-bit machines.
1433
1434 2003-02-20  Alexander Larsson  <alexl@redhat.com>
1435
1436         * dbus/dbus-transport-unix.c (unix_do_iteration):
1437         Unlock the connection mutex during a blocking select call.
1438         Add todo about how we need a way to wake up the select.
1439
1440         * dbus/dbus-connection-internal.h: 
1441         * dbus/dbus-connection.c:
1442         Add _dbus_connection_lock and _dbus_connection_unlock.
1443
1444 2003-02-19  Havoc Pennington  <hp@pobox.com>
1445
1446         * Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
1447         Doxyfile.in, not Doxyfile
1448
1449         * dbus/dbus-keyring.c: do some hacking on this
1450
1451         * dbus/dbus-sysdeps.c (_dbus_delete_file): new
1452
1453         * dbus/dbus-errors.c (dbus_set_error_const): do not call
1454         dbus_error_init
1455         (dbus_set_error): remove dbus_error_init, check for message ==
1456         NULL *before* we sprintf into it, and add @todo about including 
1457         system headers in this file
1458
1459         * dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
1460
1461         * dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
1462
1463         * dbus/dbus-sysdeps.c (get_user_info): break this function out to
1464         get various bits of user information based on either username 
1465         or user ID
1466         (_dbus_homedir_from_username): new function
1467
1468 2003-02-19  Anders Carlsson  <andersca@codefactory.se>
1469
1470         * configure.in:
1471         Add check for nonposix getpwnam_r
1472         
1473         * dbus/dbus-mempool.c: (_dbus_mem_pool_new):
1474         Align the pool element size to a sizeof (void *) boundary.
1475         
1476         * dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
1477         (_dbus_listen_unix_socket), (_dbus_credentials_from_username):
1478         General Solaris fixes.
1479         
1480         * test/data/valid-messages/simplest-manual.message:
1481         Explicitly state that we want little-endian packing.
1482         
1483 2003-02-19  Mikael Hallendal  <micke@codefactory.se>
1484
1485         * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
1486
1487         * dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket): 
1488         Added to create a transport connecting using a tcp/ip socket.
1489
1490         * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
1491         to a tcp socket at given host and port.
1492         (_dbus_listen_tcp_socket): added to listen on tcp socket for given
1493         hostname and port.
1494
1495         * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
1496
1497         * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket): 
1498         Added to create a server listening on a TCP/IP socket.
1499
1500 2003-02-19  Havoc Pennington  <hp@pobox.com>
1501
1502         Throughout: mop up all the Doxygen warnings and undocumented
1503         stuff.
1504         
1505         * dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
1506         to search any paths.
1507
1508         * dbus/dbus-threads.c: move global mutex initializers to
1509         dbus-internals.h, multiple prototypes was confusing doxygen
1510         besides being kind of ugly
1511
1512         * Doxyfile (PREDEFINED): have Doxygen define
1513         DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from 
1514         docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
1515         (do not abuse the feature! it's for stuff like the autogenerated 
1516         macros in dbus-md5.c, not just for things you don't feel like 
1517         documenting...)
1518
1519 2003-02-18  Havoc Pennington  <hp@pobox.com>
1520
1521         * dbus/dbus-string.c (_dbus_string_zero): new function
1522
1523         * dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
1524         wrap it in some dbus-friendly API
1525
1526         * dbus/dbus-types.h: add 16-bit types
1527
1528 2003-02-18  Joe Shaw  <joe@assbarn.com>
1529
1530         * dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
1531         credentials from our currently running process.
1532         (get_word): Fix a buglet where we were copying the entire length
1533         instead of relative to our position.
1534
1535         * dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
1536         keys on the stack... it's 640k of data.
1537
1538         * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
1539         read the credentials byte off the socket, even if we don't have
1540         SO_PEERCRED.
1541         (_dbus_poll): Implement poll() using select() for systems which
1542         don't have it.
1543
1544         * glib/test-dbus-glib.c (main): Print out an error if no
1545         parameters are given.
1546
1547         * test/data/auth/fallback.auth-script: Added.  Tests that a client
1548         can fallback to a secondary auth mechanism if the first fails.
1549
1550 2003-02-18  Havoc Pennington  <hp@pobox.com>
1551
1552         * AUTHORS: add Alex
1553
1554 2003-02-17  Havoc Pennington  <hp@pobox.com>
1555
1556         * doc/dbus-specification.sgml: lots of cosmetic
1557         cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
1558         env variable to DBUS_BUS_ADDRESS, s/client/application/,
1559         s/server/bus/ (except in authentication section). Add a section
1560         "Message Bus Message Routing"
1561
1562 2003-02-17  Anders Carlsson  <andersca@codefactory.se.>
1563
1564         Release 0.4
1565         
1566         * NEWS: Update
1567
1568 2003-02-17  Anders Carlsson  <andersca@codefactory.se>
1569
1570         * doc/dbus-specification.sgml:
1571         Specification updates.
1572         
1573 2003-02-17  Anders Carlsson  <andersca@codefactory.se>
1574
1575         * bus/activation.c: (bus_activation_init), (child_setup),
1576         (bus_activation_activate_service):
1577         * bus/activation.h:
1578         * bus/main.c: (main):
1579         Set DBUS_ADDRESS environment variable.
1580         
1581         * dbus/dbus-errors.c: (dbus_set_error):
1582         Don't use va_copy since that's a C99 feature.
1583         
1584         * dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
1585         (_dbus_spawn_async):
1586         * dbus/dbus-sysdeps.h:
1587         Add child_setup_func to _dbus_spawn_async.
1588         
1589         * doc/dbus-specification.sgml:
1590         Update specification.
1591         
1592         * test/spawn-test.c: (setup_func), (main):
1593         Fix test.
1594         
1595 2003-02-17  Alexander Larsson  <alexl@redhat.com>
1596
1597         * dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
1598         Added todo.
1599
1600 2003-02-17  Anders Carlsson  <andersca@codefactory.se>
1601
1602         * doc/.cvsignore:
1603         * doc/Makefile.am:
1604         * doc/dbus-test-plan.sgml:
1605         Add test plan document.
1606         
1607         * test/Makefile.am:
1608         Fix distcheck.
1609         
1610 2003-02-17  Anders Carlsson  <andersca@codefactory.se>
1611
1612         * dbus/dbus-message.c: (decode_header_data),
1613         (_dbus_message_loader_return_buffer):
1614         Set the header padding amount when loading a message.
1615
1616 2003-02-16  Anders Carlsson  <andersca@codefactory.se>
1617
1618         * bus/dispatch.c: (send_one_message):
1619         Only send broadcast messages to registered connections.
1620         
1621         * dbus/dbus-message.c: (dbus_message_name_is):
1622         * dbus/dbus-message.h:
1623         New convenience function.
1624         
1625         * dbus/dbus-transport-debug.c: (do_reading):
1626         Only dispatch one message per run.
1627
1628         * test/Makefile.am:
1629         * test/bus-test.c: (new_connection_callback), (die),
1630         (test_hello_client1_handler), (test_hello_client2_handler),
1631         (test_hello_replies), (main):
1632
1633         * test/bus-test-loop.[ch]:
1634         Add these.
1635         
1636 2003-02-16  Havoc Pennington  <hp@pobox.com>
1637
1638         * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
1639         backward conditional
1640
1641 2003-02-16  Alexander Larsson  <alexl@redhat.com>
1642
1643         * dbus/dbus-connection.c:
1644         Implement sent_message_with_reply. (with_reply_and block is still
1645         busted).
1646         Made dispatch_message not lose message if OOM.
1647         
1648         * dbus/dbus-errors.h:
1649         Add NoReply error (for reply timeouts).
1650
1651 2003-02-16  Alexander Larsson  <alexl@redhat.com>
1652
1653         * dbus/dbus-hash.c (_dbus_hash_table_unref):
1654         Actually free keys and values when destroying hashtable.
1655
1656 2003-02-16  Anders Carlsson  <andersca@codefactory.se>
1657
1658         * dbus/dbus-auth.c: (client_try_next_mechanism):
1659         Plug a leak.
1660         
1661         * dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
1662         Return TRUE if there's no thread implementation around.
1663         
1664         * glib/dbus-gmain.c: (free_source),
1665         (dbus_connection_hookup_with_g_main):
1666         Make sure to remove the GSource when the connection is finalized.
1667         
1668 2003-02-16  Anders Carlsson  <andersca@codefactory.se>
1669
1670         * bus/dispatch.c: (bus_dispatch_message_handler):
1671         * dbus/dbus-errors.h:
1672         Return an error if someone tries to send a message to a service
1673         that doesn't exist.
1674         
1675 2003-02-16  Anders Carlsson  <andersca@codefactory.se>
1676
1677         * bus/activation.c: (load_directory), (bus_activation_init),
1678         (bus_activation_activate_service):
1679         * bus/activation.h:
1680         * bus/driver.c: 
1681         (bus_driver_handle_activate_service), (bus_driver_handle_message):
1682         More work on the activation handling.
1683         
1684         * dbus/dbus-errors.h:
1685         Add some error messages
1686         
1687         * dbus/dbus-message.c: (dbus_message_new_error_reply):
1688         * dbus/dbus-message.h:
1689         New function that creates an error message.
1690         
1691         * dbus/dbus-protocol.h:
1692         Add ACTIVATE_SERVER message.
1693         
1694         * dbus/dbus-server-unix.c: (unix_handle_watch),
1695         (_dbus_server_new_for_domain_socket):
1696         Call _dbus_fd_set_close_on_exec.
1697         
1698         * dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
1699         (_dbus_spawn_async), (_dbus_disable_sigpipe),
1700         (_dbus_fd_set_close_on_exec):
1701         * dbus/dbus-sysdeps.h:
1702         Add _dbus_fd_set_close_on exec function. Also add function that checks
1703         that all open fds are set to close-on-exec and warns otherwise.
1704         
1705         * dbus/dbus-transport-unix.c:
1706         (_dbus_transport_new_for_domain_socket):
1707         Call _dbus_fd_set_close_on_exec.
1708
1709 2003-02-16  Havoc Pennington  <hp@pobox.com>
1710
1711         * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
1712         allow people to avoid setting SIGPIPE to SIG_IGN
1713         (_dbus_connection_new_for_transport): disable SIGPIPE unless 
1714         we've been asked not to
1715
1716 2003-02-15  Anders Carlsson  <andersca@codefactory.se>
1717
1718         * dbus/dbus-list.c: (_dbus_list_append_link),
1719         (_dbus_list_prepend_link):
1720         * dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
1721         (dbus_realloc):
1722         Warning fixes.
1723
1724 2003-02-15  Anders Carlsson  <andersca@codefactory.se>
1725
1726         * bus/Makefile.am:
1727         * bus/activation.c: (bus_activation_entry_free),
1728         (add_desktop_file_entry), (load_directory), (bus_activation_init):
1729         * bus/activation.h:
1730         * bus/main.c: (main):
1731         Add simple activation support, doesn't work yet though.
1732
1733 2003-02-15   Zack Rusin  <zack@kde.org>
1734
1735         * qt/dbus-qthread.cpp:  small casting fix
1736
1737 2003-02-15  Anders Carlsson  <andersca@codefactory.se>
1738
1739         * dbus/dbus-errors.c: (dbus_set_error):
1740         * dbus/dbus-errors.h:
1741         Add a few errors and make dbus_set_error void.
1742         
1743         * dbus/dbus-sysdeps.c: 
1744         (_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
1745         (write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
1746         * dbus/dbus-sysdeps.h:
1747         Add _dbus_spawn_async.
1748         
1749         * test/spawn-test.c: (main):
1750         Test for _dbus_spawn_async.
1751         
1752 2003-02-15  Anders Carlsson  <andersca@codefactory.se>
1753
1754         * dbus/dbus-internals.h:
1755         Fix build without tests.
1756         
1757         * dbus/dbus-list.c: (alloc_link):
1758         Fix a segfault when a malloc fails.
1759         
1760         * dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
1761         (dbus_malloc0), (dbus_realloc):
1762         Add support for malloc debugging.
1763
1764 2003-02-15  Alexander Larsson  <alexl@redhat.com>
1765
1766         * dbus/dbus-threads.c:
1767         * dbus/dbus-threads.h:
1768         Add condvars. Remove static mutext from API.
1769         Implement static mutexes by initializing them from threads_init.
1770         
1771         * glib/dbus-gthread.c:
1772         * qt/dbus-qthread.cpp:
1773         Update with the thread api changes.
1774
1775                 
1776         * dbus/dbus-list.c:
1777         * dbus/dbus-list.h:
1778         Turn StaticMutex into normal mutex + init function.
1779         Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
1780         _dbus_list_append_link, _dbus_list_prepend_link
1781
1782
1783         * dbus/dbus-sysdeps.c: 
1784         * dbus/dbus-sysdeps.h:
1785         New type dbus_atomic_t, and new functions _dbus_atomic_inc,
1786         _dbus_atomic_dec. Only slow fallback implementation at the moment.
1787         
1788         * dbus/dbus-protocol.h:
1789         Add DBUS_MESSAGE_LOCAL_DISCONNECT define
1790         
1791         * dbus/dbus-message.c:
1792         Make ref/unref atomic.
1793         Fix some docs.
1794         
1795         * dbus/dbus-connection-internal.h:
1796         * dbus/dbus-connection.c:
1797         * dbus/dbus-connection.h:
1798         Make threadsafe.
1799         Change _peek to _borrow,_return & _steal_borrowed.
1800         Change disconnect callback to event.
1801         Make dbus_connection_dispatch_messages reentrant.
1802         
1803         * dbus/dbus-transport.c:
1804         Don't ref the connection on calls to the transport
1805         implementation.
1806         
1807         * dbus/dbus-message-handler.c:
1808         Make threadsafe.
1809         
1810         * glib/dbus-gmain.c:
1811         Don't use peek_message anymore
1812         
1813         * test/Makefile.am:
1814         * test/debug-thread.c:
1815         * test/debug-thread.h:
1816         Simple thread implementation that asserts() on deadlocks in
1817         single-threaded code.
1818         
1819         * test/bus-test.c:
1820         (main) Call debug_threads_init.
1821
1822         * test/watch.c:
1823         Use disconnect message instead of disconnect callback.
1824
1825         * bus/connection.c:
1826         * bus/connection.h:
1827         Don't call dbus_connection_set_disconnect_function. Instead export
1828         bus_connection_disconnect.
1829         
1830         * bus/dispatch.c:
1831         Call bus_connection_disconnect when we get a disconnected message.
1832         
1833 2003-02-15  Havoc Pennington  <hp@pobox.com>
1834
1835         * dbus/dbus-message.c (dbus_message_new): fool around with the
1836         docs
1837
1838 2003-02-14  Havoc Pennington  <hp@pobox.com>
1839
1840         * dbus/dbus-mempool.c: fail if the debug functions so indicate
1841
1842         * dbus/dbus-memory.c: fail if the debug functions indicate we
1843         should
1844
1845         * dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
1846         (_dbus_decrement_fail_alloc_counter): debug functions to 
1847         simulate memory allocation failures
1848
1849 2003-02-14  Havoc Pennington  <hp@pobox.com>
1850
1851         * dbus/dbus-errors.h (struct DBusError): add a word of padding 
1852         to DBusError
1853
1854 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
1855
1856         * bus/driver.c: (bus_driver_handle_hello):
1857         * bus/driver.h:
1858         * bus/services.c: (bus_service_lookup):
1859         Reorder message sending so we get a more sane order.
1860         
1861         * test/bus-test.c: (message_handler):
1862         Fix tyop.
1863         
1864 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
1865
1866         * bus/driver.c: (bus_driver_send_service_deleted),
1867         (bus_driver_send_service_created), (bus_driver_send_service_lost),
1868         (bus_driver_send_service_acquired), (bus_driver_handle_hello),
1869         (bus_driver_send_welcome_message),
1870         (bus_driver_handle_list_services),
1871         (bus_driver_handle_acquire_service),
1872         (bus_driver_handle_service_exists):
1873         * dbus/dbus-bus.c: (dbus_bus_register_client),
1874         (dbus_bus_acquire_service), (dbus_bus_service_exists):
1875         * dbus/dbus-errors.c: (dbus_result_to_string):
1876         * dbus/dbus-errors.h:
1877         * dbus/dbus-message.c: (dbus_message_append_args),
1878         (dbus_message_append_args_valist), (dbus_message_get_args),
1879         (dbus_message_get_args_valist), (dbus_message_get_args_iter),
1880         (dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
1881         (dbus_message_iter_get_byte_array),
1882         (dbus_message_iter_get_string_array), (message_iter_test),
1883         (check_message_handling), (_dbus_message_test):
1884         * dbus/dbus-message.h:
1885         * test/bus-test.c: (main):
1886         Change fields to arguments in messages, so that they won't be
1887         confused with header fields.
1888         
1889         * glib/test-dbus-glib.c: (main):
1890         Remove append_fields from hello message.
1891         
1892 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
1893
1894         * dbus/dbus-errors.c:
1895         * dbus/dbus-message.c:
1896         * dbus/dbus-string.c:
1897         Documentation fixes.
1898
1899 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
1900
1901         * glib/dbus-gmain.c: (timeout_handler), (add_timeout),
1902         (remove_timeout):
1903         Implement support for timeouts in dbus-glib.
1904         
1905 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
1906
1907         * dbus/dbus-message-builder.c: (_dbus_message_data_load):
1908         * dbus/dbus-message.c: (process_test_subdir):
1909         * test/break-loader.c: (find_breaks_based_on):
1910         Plug some memory leaks.
1911         
1912 2003-02-13  Richard Hult  <rhult@codefactory.se>
1913
1914         * bus/main.c: Fix build.
1915
1916         * dbus/dbus-errors.h: 
1917         * dbus/dbus-errors.c: Fix copyright for Anders.
1918
1919 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
1920
1921         * bus/Makefile.am:
1922         Add utils.[ch]
1923         
1924         * bus/connection.c: (bus_connection_foreach):
1925         Fix a warning.
1926         
1927         * bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
1928         (unescape_string), (new_section), (parse_section_start),
1929         (parse_key_value), (report_error), (bus_desktop_file_load),
1930         (bus_desktop_file_get_string):
1931         * bus/desktop-file.h:
1932         Use DBusError for error reporting.
1933         
1934         * bus/dispatch.c: (send_one_message),
1935         (bus_dispatch_message_handler):
1936         * bus/driver.c: (bus_driver_send_service_deleted),
1937         (bus_driver_send_service_created), (bus_driver_send_service_lost),
1938         (bus_driver_send_service_acquired), (bus_driver_handle_hello),
1939         (bus_driver_send_welcome_message),
1940         (bus_driver_handle_list_services),
1941         (bus_driver_handle_acquire_service),
1942         (bus_driver_handle_service_exists):
1943         * bus/loop.c: (bus_loop_run):
1944         * bus/main.c:
1945         Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
1946         
1947         * bus/utils.c: (bus_wait_for_memory):
1948         * bus/utils.h:
1949         New files with general utility functions.
1950         
1951         * dbus/dbus-internals.h:
1952         Remove _DBUS_HANDLE_OOM.
1953         
1954 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
1955
1956         * dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
1957         (dbus_error_free), (dbus_set_error_const), (dbus_set_error):
1958         * dbus/dbus-errors.h:
1959         Add DBusError structure.
1960         
1961 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
1962
1963         * test/data/valid-messages/standard-acquire-service.message:
1964         * test/data/valid-messages/standard-hello.message:
1965         * test/data/valid-messages/standard-list-services.message:
1966         * test/data/valid-messages/standard-service-exists.message:
1967         Add some standard messages.
1968         
1969 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
1970
1971         * bus/driver.c: (bus_driver_send_welcome_message),
1972         (bus_driver_handle_list_services),
1973         (bus_driver_handle_acquire_service),
1974         (bus_driver_handle_service_exists), (bus_driver_handle_message):
1975         Update for API changes in libdbus.
1976         
1977         * dbus/dbus-message.c: (dbus_message_new_reply):
1978         * dbus/dbus-message.h:
1979         Remove the name argument. The spec states that replies shouldn't
1980         have a name.
1981
1982 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
1983
1984         * bus/desktop-file.c: (parse_section_start), (parse_key_value),
1985         (report_error), (bus_desktop_file_load), (lookup_section),
1986         (lookup_line), (bus_desktop_file_get_raw),
1987         (bus_desktop_file_get_string):
1988         * bus/desktop-file.h:
1989         Some fixes, and new functions for getting a key value from a section.
1990         
1991 2003-02-13  Havoc Pennington  <hp@pobox.com>
1992
1993         * test/data/auth/fail-after-n-attempts.auth-script: new test
1994
1995         * dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
1996         reject the client.
1997
1998 2003-02-13  Havoc Pennington  <hp@pobox.com>
1999
2000         * dbus/dbus-auth.c (handle_server_data_external_mech): args to
2001         dbus_credentials_match were backward
2002
2003         * dbus/dbus-auth-script.c (_dbus_auth_script_run): support
2004         NO_CREDENTIALS and ROOT_CREDENTIALS
2005
2006         * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine 
2007         into here. Never process more commands after we've reached an 
2008         end state; store further data as unused bytes.
2009
2010         * test/data/auth/*: add more auth tests
2011         
2012         * dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
2013         command to match exact string and EXPECT_UNUSED to match unused
2014         bytes
2015
2016         * test/Makefile.am (dist-hook): fix to dist all the test stuff
2017
2018 2003-02-12  Havoc Pennington  <hp@pobox.com>
2019
2020         * dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
2021         \r off of popped lines
2022
2023         * dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
2024         scripts
2025
2026         * dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
2027         SEND, append \r\n
2028
2029 2003-02-12  Havoc Pennington  <hp@pobox.com>
2030
2031         * dbus/Makefile.am: remove break-loader from the build, since it
2032         moved.
2033
2034         * configure.in: add --enable-gcov to turn on coverage profiling
2035         flags and disable optimization
2036
2037 2003-02-10  Havoc Pennington  <hp@pobox.com>
2038
2039         * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync 
2040         initial cut at test framework for DBusAuth from laptop.
2041         Doesn't quite work yet but it compiles and I need to get 
2042         it off the 266mhz laptop. ;-)
2043         
2044         * dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
2045         fix a memleak in error case
2046
2047 2003-02-12  Anders Carlsson  <andersca@codefactory.se>
2048
2049         * bus/Makefile.am:
2050         * bus/desktop-file.c:
2051         * bus/desktop-file.h:
2052         Add a desktop file parser.
2053
2054 2003-02-11  Zack Rusin  <zack@kde.org>
2055
2056         * qt/message.[h|cpp]: sample implementation
2057         of the KDE wrapper for DBusMessage
2058
2059 2003-02-09  Zack Rusin  <zack@kde.org>
2060
2061         * test/bus-test.c: make_it_compile
2062         * doc/dbus-specification.sgml: minimal semantic fix
2063
2064 2003-02-06  Anders Carlsson  <andersca@codefactory.se>
2065
2066         Release 0.3
2067         
2068         * NEWS: Update
2069
2070 2003-02-06  Anders Carlsson  <andersca@codefactory.se>
2071
2072         * dbus/Makefile.am:
2073         * dbus/dbus-break-loader.c:
2074         * test/Makefile.am:
2075         * test/break-loader.c:
2076         Move dbus-break-loader to test/ and rename it to break-loader.
2077
2078 2003-02-02  Havoc Pennington  <hp@pobox.com>
2079
2080         * dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files 
2081         for code to manage cookies in your home directory
2082
2083         * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
2084
2085         * dbus/dbus-auth.c (get_state): impose a maximum number of tries
2086         to authenticate, then disconnect the client.
2087
2088 2003-02-03  Alexander Larsson  <alexl@redhat.com>
2089
2090         * dbus/dbus-message.c (dbus_message_append_fields):
2091         Correct docs.
2092
2093 2003-02-02  Anders Carlsson  <andersca@codefactory.se>
2094
2095         * doc/dbus-specification.sgml:
2096         Update address format section.
2097         
2098 2003-02-02  Anders Carlsson  <andersca@codefactory.se>
2099
2100         * test/Makefile.am:
2101         * test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
2102         (message_handler), (new_connection_callback), (loop_quit),
2103         (loop_run), (main):
2104         Add bus test.
2105         
2106 2003-02-02  Anders Carlsson  <andersca@codefactory.se>
2107
2108         * bus/driver.c: (bus_driver_handle_service_exists):
2109         Simplify the code a bit.
2110         
2111         * dbus/dbus-bus.c: (dbus_bus_service_exists):
2112         Fix a silly. 
2113         
2114 2003-02-02  Anders Carlsson  <andersca@codefactory.se>
2115
2116         * bus/Makefile.am:
2117         Add libdbus-daemon.la and link to it.
2118
2119 2003-02-01  James Willcox  <jwillcox@gnome.org>
2120
2121         * bus/driver.c: (bus_driver_handle_own_service):
2122         Actually include the service reply code in the message.
2123
2124 2003-02-02  Anders Carlsson  <andersca@codefactory.se>
2125
2126         * bus/driver.c: (bus_driver_handle_service_exists):
2127         Don't unref the incoming message.
2128         
2129 2003-02-02  Anders Carlsson  <andersca@codefactory.se>
2130
2131         * dbus/dbus.h: Add dbus-address.h and dbus-bus.h
2132
2133 2003-02-02  Anders Carlsson  <andersca@codefactory.se>
2134
2135         * dbus/dbus-server.c: (dbus_server_listen):
2136         * dbus/dbus-transport.c: (_dbus_transport_open):
2137         ifdef out the calls to the debug transport and server.
2138         
2139 2003-02-02  Alexander Larsson  <alexl@redhat.com>
2140
2141         * dbus/dbus-watch.c (dbus_watch_get_flags):
2142         Add note in the docs that ERROR or HANGUP won't be returned
2143         and are assumed always on.
2144
2145         * glib/dbus-gmain.c (add_watch):
2146         Always add IO_ERR | IO_HUP
2147
2148         * dbus/dbus-message.h:
2149         Add semicolon after dbus_message_iter_get_string_array().
2150         Makes qt code build again
2151
2152 2003-02-01  Anders Carlsson  <andersca@codefactory.se>
2153
2154         * bus/driver.c: (create_unique_client_name),
2155         (bus_driver_handle_hello):
2156         Don't take a name, just use a numeric id to identify
2157         each client.
2158         
2159         * dbus/Makefile.am:
2160         * dbus/dbus-bus.c: (dbus_bus_register_client),
2161         (dbus_bus_acquire_service), (dbus_bus_service_exists):
2162         * dbus/dbus-bus.h:
2163         Add new convenience functions for communicating with the bus.
2164         
2165         * dbus/dbus-message.h:
2166         
2167         * dbus/dbus-protocol.h:
2168         Fix a typo.
2169         
2170 2003-02-01  Alexander Larsson  <alexl@redhat.com>
2171
2172         * dbus/dbus-message.c (dbus_message_append_fields):
2173         Add some more doc comments.
2174
2175 2003-02-01  Havoc Pennington  <hp@pobox.com>
2176
2177         * dbus/dbus-break-loader.c (randomly_modify_length): change 
2178         a 4-byte value in the message as if it were a length
2179
2180         * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
2181         execute bit on saved files
2182
2183 2003-02-01  Havoc Pennington  <hp@pobox.com>
2184
2185         * dbus/dbus-break-loader.c (main): new program to find messages
2186         that break the loader.
2187
2188         * dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
2189         * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
2190
2191         * dbus/dbus-string.c (_dbus_string_set_byte): new
2192         
2193 2003-01-31  Havoc Pennington  <hp@pobox.com>
2194
2195         * dbus/dbus-message.c: refactor the test code to be more general, 
2196         in preparation for writing a "randomly permute test cases to 
2197         try to break the loader" program.
2198
2199 2003-01-31  Havoc Pennington  <hp@pobox.com>
2200         
2201         * doc/dbus-specification.sgml: work on the specification
2202
2203         * dbus/dbus-message.c (_dbus_message_loader_return_buffer): check 
2204         the protocol version of the message.
2205
2206         * dbus/dbus-protocol.h: drop special _REPLY names, the spec 
2207         no longer specifies that.
2208         (DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not 
2209         1/2/3/4)
2210
2211         * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
2212         "break" for DBUS_TYPE_NIL, remove @todo
2213
2214 2003-01-31  Havoc Pennington  <hp@pobox.com>
2215
2216         * dbus/dbus-message.c (dbus_message_set_is_error_reply): rename 
2217         just set_is_error/get_is_error as this is a commonly-used
2218         function, and write docs.
2219
2220 2003-01-31  Anders Carlsson  <andersca@codefactory.se>
2221
2222         * dbus/dbus-address.c: (dbus_address_entry_free):
2223         Free key and value lists.
2224         
2225         * dbus/dbus-internals.c: (_dbus_type_to_string):
2226         Add the types we didn't have.
2227         
2228         * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
2229         (_dbus_marshal_validate_arg):
2230         Add NIL types.
2231         
2232         * dbus/dbus-message.c: (dbus_message_set_sender):
2233         Remove todo about being able to set sender to NULL.
2234         
2235         (dbus_message_set_is_error_reply),
2236         (dbus_message_get_is_error_reply):
2237         * dbus/dbus-message.h:
2238         New functions.
2239         
2240         * dbus/dbus-protocol.h:
2241         Add error reply flag.
2242         
2243         * test/data/valid-messages/opposite-endian.message:
2244         Add NIL type to test.
2245         
2246 2003-01-31  Havoc Pennington  <hp@pobox.com>
2247
2248         * doc/dbus-specification.sgml: fully specify the header.  Add
2249         flags and major protocol version, and change header/body len to
2250         unsigned.
2251
2252         * dbus/dbus-message-builder.c (append_saved_length): append length
2253         as uint32
2254
2255         * dbus/dbus-message.c (dbus_message_create_header): change header
2256         length and body length to unsigned. Add the new fields from the
2257         spec
2258         (_dbus_message_loader_return_buffer): unsigned header/body len
2259
2260 2003-01-30  Havoc Pennington  <hp@pobox.com>
2261
2262         * dbus/dbus-auth.c: rework to use only REJECTED, no 
2263         MECHANISMS
2264
2265         * doc/dbus-sasl-profile.txt: drop MECHANISMS and just 
2266         use REJECTED, suggested by Mark McLoughlin
2267
2268 2003-01-30  Havoc Pennington  <hp@pobox.com>
2269
2270         * dbus/dbus-server.c (dbus_server_listen): @todo about how we need
2271         a better way to report errors here. e.g.  "unix address lacks
2272         path" or something. also "no such file" when the path doesn't
2273         exist, etc.
2274
2275         * dbus/dbus-address.c (dbus_address_entries_free): add @todo about
2276         leaking list nodes
2277         (dbus_parse_address): add @todo about documenting address format, 
2278         and allowing , and ; to be escaped
2279
2280 2003-01-30  Anders Carlsson  <andersca@codefactory.se>
2281
2282         * dbus/Makefile.am:
2283         Add dbus-address.[ch]
2284         
2285         * dbus/dbus-address.c: (dbus_address_entry_free),
2286         (dbus_address_entries_free), (create_entry),
2287         (dbus_address_entry_get_method), (dbus_address_entry_get_value),
2288         (dbus_parse_address), (_dbus_address_test):
2289         * dbus/dbus-address.h:
2290         New files for dealing with address parsing.
2291         
2292         * dbus/dbus-connection.c:
2293         Document timeout functions.
2294         
2295         * dbus/dbus-message.c:
2296         Document dbus_message_new_from_message.
2297         
2298         * dbus/dbus-server-debug.c:
2299         Document.
2300         
2301         * dbus/dbus-server.c: (dbus_server_listen):
2302         Parse address and use correct server implementation.
2303         
2304         * dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
2305         * dbus/dbus-string.h:
2306         New function with test.
2307         
2308         * dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
2309         * dbus/dbus-test.h:
2310         Add address tests.
2311         
2312         * dbus/dbus-transport-debug.c:
2313         Document.
2314         
2315         * dbus/dbus-transport.c: (_dbus_transport_open):
2316         Parse address and use correct transport implementation. 
2317
2318 2003-01-30  Havoc Pennington  <hp@pobox.com>
2319
2320         * dbus/dbus-message.c: use message->byte_order instead of 
2321         DBUS_COMPILER_BYTE_ORDER throughout.
2322         (dbus_message_create_header): pad header to align the 
2323         start of the body of the message to 8-byte boundary
2324
2325         * dbus/dbus-marshal.h: make all the demarshalers take const 
2326         DBusString arguments.
2327
2328         * dbus/dbus-message.c (_dbus_message_loader_return_buffer):
2329         validate message args here, so we don't have to do slow validation
2330         later, and so we catch bad messages as they are incoming. Also add
2331         better checks on header_len and body_len. Also fill in
2332         message->byte_order
2333
2334         * dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
2335         implemented properly)
2336         (_dbus_string_validate_nul): new function to check all-nul
2337
2338         * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename 
2339         get_arg_end_pos and remove all validation
2340         (_dbus_marshal_validate_arg): actually do validation here.
2341
2342 2003-01-29  Havoc Pennington  <hp@pobox.com>
2343
2344         * dbus/dbus-message.c (check_message_handling): fix assertion
2345         failure on set_client_serial
2346
2347 2003-01-28  Havoc Pennington  <hp@pobox.com>
2348
2349         * dbus/dbus-server-debug.c: Add doc section comments
2350         
2351         * dbus/dbus-transport-debug.c: add doc section comments
2352         
2353 2003-01-28  Havoc Pennington  <hp@redhat.com>
2354
2355         * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
2356         the reverse order from how I had it
2357         (_dbus_string_base64_encode): reverse encoding order. I was
2358         basically byteswapping everything during encoding.
2359
2360 2003-01-28  Anders Carlsson  <andersca@codefactory.se>
2361
2362         * dbus/dbus-connection-internal.h:
2363         * dbus/dbus-connection.c: (_dbus_connection_add_timeout),
2364         (_dbus_connection_remove_timeout):
2365         Add functions for adding and removing timeouts.
2366         
2367         * dbus/dbus-message.c: (dbus_message_new_from_message):
2368         Add new function that takes a message and creates an exact
2369         copy of it, but with the refcount set to 1.
2370         (check_message_handling):
2371         Fix build error.
2372         
2373         * dbus/dbus-server-protected.h:
2374         * dbus/dbus-server.c: (_dbus_server_init_base),
2375         (_dbus_server_finalize_base), (_dbus_server_add_timeout),
2376         (dbus_server_set_timeout_functions):
2377         (_dbus_server_remove_timeout):
2378         New functions so that a server can add and remove timeouts.
2379
2380         (dbus_server_listen):
2381         Add commented out call to dbus_server_debug_new.
2382
2383         * dbus/dbus-timeout.c: (_dbus_timeout_new):
2384         Actually set the handler, doh.
2385         
2386         * dbus/dbus-transport.c: (_dbus_transport_open):
2387         Add commented out call to dbus_transport_debug_client_new.
2388         
2389         * dbus/Makefile.am:
2390         Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
2391         
2392 2003-01-28  Havoc Pennington  <hp@pobox.com>
2393
2394         * dbus/dbus-message.c (check_message_handling): function to check 
2395         on the loaded message, iterates over it etc.
2396
2397 2003-01-28  Havoc Pennington  <hp@pobox.com>
2398
2399         * test/Makefile.am (dist-hook): fix make distdir
2400
2401         * dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
2402
2403 2003-01-27  Havoc Pennington  <hp@pobox.com>
2404
2405         * dbus/dbus-mempool.c (time_for_size): replace printf with 
2406         _dbus_verbose
2407
2408         * dbus/dbus-message-builder.c (_dbus_message_data_load): allow
2409         empty lines; fix the SAVE_LENGTH stuff to be
2410         START_LENGTH/END_LENGTH so it actually works; couple other 
2411         bugfixes
2412         
2413         * test/Makefile.am (dist-hook): add dist-hook for .message files
2414
2415         * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
2416         can be constant or locked.
2417         (_dbus_string_free): allow freeing a const string as
2418         documented/intended
2419
2420         * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
2421
2422         * dbus/dbus-test-main.c (main): take an argument which is the 
2423         directory containing test data
2424
2425         * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
2426         argument to this and load all the messages in test/data/
2427         checking that they can be loaded or not loaded as appropriate.
2428
2429 2003-01-27  Anders Carlsson  <andersca@codefactory.se>
2430
2431         * bus/dispatch.c: (bus_dispatch_message_handler):
2432         Dispatch messages sent to services.
2433         
2434         * bus/driver.c: (bus_driver_send_service_deleted),
2435         (bus_driver_send_service_created), (bus_driver_send_service_lost),
2436         (bus_driver_send_service_acquired):
2437         Add helper functions for sending service related messages.
2438
2439         (bus_driver_send_welcome_message):
2440         Send HELLO_REPLY instead of WELCOME.
2441         
2442         (bus_driver_handle_list_services):
2443         Send LIST_SERVICES_REPLY instead of SERVICES.
2444         
2445         (bus_driver_handle_own_service),
2446         (bus_driver_handle_service_exists):
2447         New message handlers.
2448         
2449         (bus_driver_handle_message):
2450         Invoke new message handlers.
2451         
2452         (bus_driver_remove_connection):
2453         Don't remove any services here since that's done automatically
2454         by bus_service_remove_owner now.
2455         
2456         * bus/driver.h:
2457         New function signatures.
2458         
2459         * bus/services.c: (bus_service_add_owner):
2460         Send ServiceAcquired message if we're the only primary owner.
2461         
2462         (bus_service_remove_owner):
2463         Send ServiceAcquired/ServiceLost messages.
2464         
2465         (bus_service_set_prohibit_replacement),
2466         (bus_service_get_prohibit_replacement):
2467         Functions for setting prohibit replacement.
2468         
2469         (bus_service_has_owner):
2470         New function that checks if a connection is in the owner queue of 
2471         a certain service.
2472         
2473         * bus/services.h:
2474         Add new function signatures.
2475         
2476         * dbus/dbus-list.c: (_dbus_list_test):
2477         Add tests for _dbus_list_remove_last and traversing the list backwards.
2478         
2479         * dbus/dbus-list.h:
2480         Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
2481         go any further, so return NULL then.
2482         
2483         * dbus/dbus-protocol.h:
2484         Add new messages, service flags and service replies.
2485         
2486 2003-01-26  Havoc Pennington  <hp@pobox.com>
2487
2488         * dbus/dbus-message-builder.c: implement, completely untested.
2489
2490         * test/data/*: add data to be used in testing. 
2491         ".message" files are our simple loadable text format.
2492         ".message-raw" will be binary dumps of messages.
2493
2494         * dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
2495
2496 2003-01-26  Havoc Pennington  <hp@pobox.com>
2497
2498         * dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
2499
2500         * dbus/dbus-errors.c (dbus_result_to_string): add
2501         file errors
2502
2503         * dbus/dbus-message-builder.c: new file, will contain code to load
2504         up messages from files. Not implemented yet.
2505
2506 2003-01-26  Havoc Pennington  <hp@pobox.com>
2507
2508         * dbus/dbus-message.c (dbus_message_set_sender): support deleting
2509         the sender by setting to NULL
2510
2511 2003-01-26  Havoc Pennington  <hp@pobox.com>
2512
2513         The unit tests pass, but otherwise untested.  If it breaks, the
2514         tests should have been better. ;-)
2515         
2516         * bus/driver.c (bus_driver_handle_hello): return if we disconnect
2517         the connection.
2518
2519         * dbus/dbus-message.c: redo everything so we maintain 
2520         message->header as the only copy of the various fields.
2521         This avoids the possibility of out-of-memory in some cases,
2522         for example dbus_message_lock() can't run out of memory anymore,
2523         and avoids extra copying. Figured I may as well go ahead and do 
2524         this since it was busted for dbus_message_lock to not return 
2525         failure on OOM, and dbus_message_write_header was totally
2526         unchecked for OOM. Also fixed some random other bugs.
2527
2528         * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
2529         that strings are nul-terminated. Also, end_pos can be equal 
2530         to string length just not greater than, I think.
2531         (_dbus_marshal_set_int32): new function
2532         (_dbus_marshal_set_uint32): new function
2533         (_dbus_marshal_set_string): new function
2534
2535         * dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
2536         a warning, init timeout_list to NULL
2537         (dbus_connection_send_message): don't use uninitialized variable
2538         "serial"
2539
2540         * dbus/dbus-string.c (_dbus_string_replace_len): new function
2541
2542 2003-01-26  Anders Carlsson  <andersca@codefactory.se>
2543
2544         * bus/driver.c: (bus_driver_handle_hello),
2545         (bus_driver_send_welcome_message):
2546         Plug leaks
2547         
2548 2003-01-26  Anders Carlsson  <andersca@codefactory.se>
2549
2550         * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
2551         * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
2552         (dbus_connection_unref):
2553         * dbus/dbus-marshal.c: (_dbus_marshal_test):
2554         * dbus/dbus-message.c: (dbus_message_unref),
2555         Plug memory leaks.
2556         
2557         (dbus_message_get_fields): 
2558         Remove debugging printout.
2559
2560         (_dbus_message_loader_return_buffer):
2561         Don't store the header string.
2562         
2563         (_dbus_message_test):
2564         Plug leaks.
2565
2566 2003-01-26  Richard Hult  <rhult@codefactory.se>
2567
2568         * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
2569         the file descriptor list, since it can change under us.
2570
2571 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
2572
2573         * glib/dbus-gmain.c: (dbus_connection_prepare),
2574         (dbus_connection_check), (dbus_connection_dispatch), (add_watch),
2575         (remove_watch), (dbus_connection_hookup_with_g_main):
2576         Rewrite the glib handling to use its own GSource instead of a 
2577         GIOChannel so we can catch messages put in the queue while waiting
2578         for a reply.
2579         
2580 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
2581
2582         * bus/Makefile.am:
2583         * bus/connection.c: (connection_disconnect_handler),
2584         (connection_watch_callback), (bus_connection_setup):
2585         * bus/dispatch.c: (send_one_message),
2586         (bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
2587         (bus_dispatch_add_connection), (bus_dispatch_remove_connection):
2588         * bus/dispatch.h:
2589         * bus/driver.c: (bus_driver_send_service_deleted),
2590         (bus_driver_send_service_created), (bus_driver_handle_hello),
2591         (bus_driver_send_welcome_message),
2592         (bus_driver_handle_list_services), (bus_driver_remove_connection),
2593         (bus_driver_handle_message):
2594         * bus/driver.h:
2595         Refactor code, put the message dispatching in its own file. Use 
2596         _DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
2597         is disconnected.
2598         
2599 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
2600
2601         * dbus/dbus-internals.h:
2602         Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
2603         
2604         * dbus/dbus-message.c: (dbus_message_get_sender):
2605         * dbus/dbus-message.h:
2606         Implement dbus_message_get_sender.
2607         
2608         * dbus/dbus-protocol.h:
2609         Add message and service defines.
2610         
2611 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
2612
2613         * dbus/dbus-connection.c: (dbus_connection_send_message):
2614         * dbus/dbus-message-internal.h:
2615         * dbus/dbus-message.c: (_dbus_message_get_client_serial),
2616         (dbus_message_write_header):
2617         Remove _dbus_messag_unlock and don't set the client serial on a 
2618         message if one already exists.
2619         
2620 2003-01-24  Havoc Pennington  <hp@pobox.com>
2621
2622         * dbus/dbus-list.c (alloc_link): put a thread lock on the global
2623         list_pool
2624
2625         * bus/driver.c (bus_driver_handle_list_services): fix a leak 
2626         on OOM
2627
2628 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
2629
2630         * dbus/dbus-list.c: (alloc_link), (free_link):
2631         Use a memory pool for the links.
2632         
2633 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
2634
2635         * bus/connection.c: (bus_connection_foreach):
2636         * bus/connection.h:
2637         Add new bus_connection_foreach function.
2638         
2639         * bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
2640         Add function that broadcasts a message to all clients.
2641         
2642         (bus_driver_send_service_created), (bus_driver_handle_hello),
2643         (bus_driver_send_welcome_message),
2644         (bus_driver_handle_list_services), (bus_driver_message_handler):
2645         Implement functions that take care of listing services, and notifying
2646         clients when new services are created.
2647         
2648         * bus/services.c: (bus_services_list):
2649         * bus/services.h:
2650         Add new function that returns an array of strings with the currently
2651         registered services.
2652         
2653         * glib/dbus-glib.h:
2654         * glib/dbus-gmain.c:
2655         Update copyright year.
2656         
2657 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
2658
2659         * dbus/dbus-connection.c: (dbus_connection_send_message):
2660         Unlock the message in case it was sent earlier.
2661         
2662         (dbus_connection_send_message_with_reply_and_block):
2663         Remove the reply message from the list.
2664         
2665         * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
2666         Set array_len and new_pos correctly.
2667         
2668         (_dbus_marshal_test):
2669         Remove debug output.
2670         
2671         * dbus/dbus-message-internal.h:
2672         * dbus/dbus-message.c: (_dbus_message_get_reply_serial):
2673         New function that returns the reply serial.
2674         
2675         (_dbus_message_unlock):
2676         New function that unlocks a message and resets its header.
2677
2678         (dbus_message_append_string_array), 
2679         (dbus_message_get_fields_valist),
2680         (dbus_message_iter_get_field_type),
2681         (dbus_message_iter_get_string_array),   
2682         (dbus_message_get_fields),      
2683         (dbus_message_append_fields_valist):
2684         Handle string arrays.
2685         
2686         (dbus_message_set_sender):
2687         Make this function public since the bus daemon needs it.
2688         
2689         (decode_header_data):
2690         Set the reply serial to -1 initially.
2691
2692         * dbus/dbus-message.h:
2693         Add dbus_message_set_sender.    
2694
2695 2003-01-24  Havoc Pennington  <hp@pobox.com>
2696
2697         * doc/dbus-specification.sgml: add some stuff
2698
2699 2003-01-22  Havoc Pennington  <hp@pobox.com>
2700
2701         * doc/dbus-specification.sgml: Start to document the protocol.
2702
2703 2003-01-22  Havoc Pennington  <hp@pobox.com>
2704
2705         * dbus/dbus-connection.c
2706         (dbus_connection_send_message_with_reply_and_block): add some @todo
2707
2708         * bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
2709
2710 2003-01-21  Havoc Pennington  <hp@pobox.com>
2711
2712         (patch untested because can't compile)
2713         
2714         * bus/driver.c (create_unique_client_name): make this function
2715         never recycle client names. Also, caller should initialize 
2716         the DBusString.
2717
2718         * dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
2719
2720 2003-01-21  Anders Carlsson  <andersca@codefactory.se>
2721
2722         * dbus/dbus-marshal.c: (_dbus_marshal_double),
2723         (_dbus_marshal_int32), (_dbus_marshal_uint32),
2724         (_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
2725         (_dbus_marshal_double_array), (_dbus_marshal_string_array),
2726         (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
2727         (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
2728         (_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
2729         * dbus/dbus-marshal.h:
2730         * dbus/dbus-protocol.h:
2731         Add support for marshalling and demarshalling integer, double
2732         and string arrays.
2733         
2734 2003-01-21  Anders Carlsson  <andersca@codefactory.se>
2735
2736         * bus/Makefile.am:
2737         Add driver.[ch]
2738         
2739         * bus/connection.c: (connection_disconnect_handler):
2740         Remove the connection from the bus driver's list.
2741         
2742         (connection_watch_callback): Dispatch messages.
2743
2744         (free_connection_data): Free connection name.
2745         
2746         (bus_connection_setup): Add connection to the bus driver's list.
2747         (bus_connection_remove_owned_service): 
2748         (bus_connection_set_name), (bus_connection_get_name):
2749         Add functions for setting and getting the connection's name.
2750         
2751         * bus/connection.h:
2752         Add function headers.
2753         
2754         * bus/driver.c: (create_unique_client_name),
2755         (bus_driver_handle_hello_message),
2756         (bus_driver_send_welcome_message), (bus_driver_message_handler),
2757         (bus_driver_add_connection), (bus_driver_remove_connection):
2758         * bus/driver.h:
2759         * bus/main.c:
2760         * bus/services.c: (bus_service_free):
2761         * bus/services.h:
2762         New file that handles communication and registreation with the bus
2763         itself. 
2764         
2765 2003-01-21  Anders Carlsson  <andersca@codefactory.se>
2766
2767         * dbus/dbus-connection.c: (dbus_connection_send_message):
2768         Add a new client_serial parameter.
2769         
2770         (dbus_connection_send_message_with_reply):
2771         Remove a @todo since we've implemented the blocking function.
2772         
2773         (dbus_connection_send_message_with_reply_and_block):
2774         New function that sends a message and waits for a reply and
2775         then returns the reply.
2776         
2777         * dbus/dbus-connection.h:
2778         Add new functions.
2779         
2780         * dbus/dbus-errors.c: (dbus_result_to_string):
2781         * dbus/dbus-errors.h:
2782         Add new DBUS_RESULT.
2783         
2784         * dbus/dbus-message-internal.h:
2785         * dbus/dbus-message.c: (_dbus_message_get_reply_serial),
2786         (_dbus_message_set_sender), (dbus_message_write_header),
2787         (dbus_message_new_reply), (decode_header_data),
2788         (_dbus_message_loader_return_buffer), (_dbus_message_test):
2789         * dbus/dbus-message.h:
2790         Add new functions that set the reply serial and sender.
2791         Also marshal and demarshal them correctly and add test.
2792         
2793         * dbus/dbus-protocol.h:
2794         Add new DBUS_MESSAGE_TYPE_SENDER.
2795         
2796         * glib/dbus-glib.h:
2797         * glib/dbus-gmain.c: (watch_callback), (free_callback_data),
2798         (add_watch), (remove_watch), (add_timeout), (remove_timeout),
2799         (dbus_connection_hookup_with_g_main):
2800         * glib/test-dbus-glib.c: (main):
2801         Rewrite to use GIOChannel and remove the GSource crack.
2802         
2803         * test/echo-client.c: (main):
2804         * test/watch.c: (check_messages):
2805         Update for changed APIs
2806         
2807 2003-01-19  Anders Carlsson  <andersca@codefactory.se>
2808
2809         * dbus/Makefile.am: Add dbus-timeout.[cħ]
2810         
2811         * dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
2812         Create a DBusTimeoutList.       
2813         (dbus_connection_set_timeout_functions): Add new function to
2814         set timeout callbacks
2815         
2816         * dbus/dbus-connection.h: Add public DBusTimeout API.
2817         
2818         * dbus/dbus-message.c: (dbus_message_get_service):
2819         * dbus/dbus-message.h:  New function.
2820
2821         * dbus/dbus-server.c: Fix small doc typo.
2822         
2823         * dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
2824
2825 2003-01-19  Anders Carlsson  <andersca@codefactory.se>
2826
2827         * dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
2828         of the string, just as long as specified.
2829
2830 2003-01-19  Havoc Pennington  <hp@pobox.com>
2831
2832         * dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
2833         new function
2834
2835         * dbus/dbus-server.c (dbus_server_set_max_connections)
2836         (dbus_server_get_max_connections, dbus_server_get_n_connections):
2837         keep track of current number of connections, and add API for
2838         setting a max (but haven't implemented enforcing the max yet)
2839
2840 2003-01-18  Havoc Pennington  <hp@pobox.com>
2841
2842         * dbus/dbus-transport-unix.c (unix_do_iteration): only do the
2843         reading/writing if read_watch != NULL or write_watch != NULL.
2844
2845         * dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
2846         the message loader code to actually load message->header and
2847         message->body into the newly-created message.
2848
2849         * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
2850         in OOM case
2851
2852         * dbus/dbus-connection.c (dbus_connection_set_max_message_size) 
2853         (dbus_connection_get_max_message_size) 
2854         (dbus_connection_set_max_live_messages_size) 
2855         (dbus_connection_get_max_live_messages_size): implement some
2856         resource limitation functions
2857
2858         * dbus/dbus-resources.c: new file implementing some of the
2859         resource limits stuff
2860
2861         * dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
2862         missing docs, add @todo to handle OOM etc.
2863
2864         * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
2865         docs
2866         
2867 2003-01-18  Havoc Pennington  <hp@pobox.com>
2868
2869         * dbus/dbus-connection.c (dbus_connection_unref): disconnect the 
2870         connection if it hasn't been already.
2871
2872         * dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
2873         replace with DisconnectFunction.
2874
2875 2003-01-18  Havoc Pennington  <hp@pobox.com>
2876
2877         Building --disable-verbose-mode --disable-asserts --disable-tests
2878         cuts the library from 112K to 45K or so
2879         
2880         * configure.in: check for varargs macro support, 
2881         add --enable-verbose-mode, --enable-asserts. 
2882
2883         * dbus/dbus-internals.h (_dbus_assert): support
2884         DBUS_DISABLE_ASSERT
2885         (_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
2886
2887 2003-01-18  Havoc Pennington  <hp@pobox.com>
2888
2889         * dbus/dbus-test.c: include config.h so that tests actually run
2890
2891         * dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
2892         so the failure mode when that assumption fails will be plenty
2893         obvious.
2894
2895 2003-01-18  Havoc Pennington  <hp@pobox.com>
2896
2897         * configure.in: default --enable-tests to $USE_MAINTAINER_MODE
2898
2899         * dbus/Makefile.am: fix it up so dubs-test-main.c is included in
2900         the distribution
2901
2902         * test/Makefile.am: don't use special variable "TESTS" for echo-*
2903         since we don't want to use those in make check
2904
2905 2003-01-15  Havoc Pennington  <hp@redhat.com>
2906
2907         Release 0.2
2908         
2909         * NEWS: update
2910
2911 2003-01-15  Havoc Pennington  <hp@redhat.com>
2912
2913         * test/Makefile.am: fix so that test source code ends up in the
2914         distribution on make distcheck
2915
2916 2003-01-15  Havoc Pennington  <hp@redhat.com>
2917
2918         Release 0.1.
2919         
2920         * NEWS: update  
2921
2922 2003-01-15  Havoc Pennington  <hp@redhat.com>
2923
2924         * dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
2925         fix build when --disable-tests
2926
2927         * Makefile.am (EXTRA_DIST): put HACKING in here
2928
2929         * HACKING: document procedure for making a tarball release.
2930
2931 2003-01-14  Anders Carlsson  <andersca@codefactory.se>
2932
2933         * bus/connection.c: (connection_error_handler),
2934         (bus_connection_setup):
2935         * bus/main.c: (main):
2936         Make sure that the DBusConnectionData struct is NULLed
2937         out to prevent a segfault.
2938         
2939         * dbus/dbus-errors.c: (dbus_result_to_string):
2940         * dbus/dbus-errors.h:
2941         * dbus/dbus-message.c: (dbus_message_get_fields),
2942         (dbus_message_get_fields_valist), (_dbus_message_test):
2943         * dbus/dbus-message.h:
2944         Make dbus_message_get_fields return a result code so we can
2945         track invalid fields as well as oom.
2946         
2947 2003-01-11  Havoc Pennington  <hp@pobox.com>
2948
2949         * configure.in: change --enable-test/--enable-ansi action-if-given
2950         to enable_foo=$enableval instead of enable_foo=yes
2951
2952 2003-01-08  Havoc Pennington  <hp@pobox.com>
2953
2954         * dbus/dbus-string.c (_dbus_string_align_length): new function
2955
2956         * dbus/dbus-test-main.c: move main() for test app here
2957         * dbus/dbus-test.c
2958         (dbus_internal_symbol_do_not_use_run_tests): we have to export a
2959         symbol to run tests, because dbus-test isn't in the main 
2960         library
2961
2962         Code review nitpicks.
2963         
2964         * dbus/dbus-message.c (dbus_message_write_header): add newlines
2965         for people with narrow emacs ;-). Assert client_serial was filled
2966         in. Assert message->name != NULL.
2967         (dbus_message_append_fields): have "first_field_type" arg separate
2968         from va list, needed for C++ binding that also uses varargs IIRC
2969         and helps with type safety
2970         (dbus_message_new): add @todo about using DBusString to store
2971         service/name internally
2972         (dbus_message_new): don't leak ->service and ->name on OOM later
2973         in the function
2974         (dbus_message_unref): free the service name
2975         (dbus_message_get_fields): same change to varargs
2976         i.e. first_field_type
2977         (_dbus_message_loader_return_buffer): assert that the message data
2978         is aligned (if not it's a bug in our code). Put in verbose griping
2979         about why we set corrupted = TRUE.
2980         (decode_header_data): add FIXME that char* is evil.  Was going to
2981         add FIXME about evil locale-specific string.h strncmp, but just
2982         switched to wacky string-as-uint32 optimization. Move check for
2983         "no room for field name" above get_const_data_len() to avoid
2984         assertion failure in get_const_data_len if we have trailing 2
2985         bytes or the like. Check for service and name fields being
2986         provided twice. Don't leak service/name on error. Require field
2987         names to be aligned to 4 bytes.
2988
2989         * dbus/dbus-marshal.c: move byte swap stuff to header
2990         (_dbus_pack_int32): uscore-prefix
2991         (_dbus_unpack_int32): uscore-prefix
2992         (_dbus_unpack_uint32): export
2993         (_dbus_demarshal_string): add @todo complaining about use of
2994         memcpy()
2995         (_dbus_marshal_get_field_end_pos): add @todo about bad error
2996         handling allowing corrupt data to go unchecked
2997
2998 2003-01-08  Havoc Pennington  <hp@redhat.com>
2999
3000         * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write 
3001         to the select() as needed for authentication. (should be using
3002         _dbus_poll() not select, but for another day)
3003
3004         * dbus/dbus.h: include dbus/dbus-protocol.h
3005
3006 2003-01-08  Anders Carlsson  <andersca@codefactory.se>
3007
3008         * dbus/Makefile.am (dbusinclude_HEADERS): Install
3009         dbus-connection.h
3010
3011 2003-01-08  Anders Carlsson  <andersca@codefactory.se>
3012
3013         * dbus/dbus-internals.c: (_dbus_type_to_string):
3014         New function that returns a string describing a type.
3015         
3016         * dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
3017         * dbus/dbus-marshal.h:
3018         * dbus/dbus-message.c: (dbus_message_get_fields_valist),
3019         (dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
3020         (dbus_message_iter_get_byte_array):
3021         * dbus/dbus-message.h:
3022         Add new convenience functions for appending and getting message fields.
3023         Also add demarshalling routines for byte arrays.
3024
3025 2003-01-07  Anders Carlsson  <andersca@codefactory.se>
3026
3027         * dbus/dbus-connection-internal.h:
3028         * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
3029         (_dbus_connection_get_next_client_serial),
3030         (dbus_connection_send_message):
3031         * dbus/dbus-internals.h:
3032         * dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
3033         (dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
3034         (_dbus_marshal_uint32), (_dbus_demarshal_double),
3035         (_dbus_demarshal_int32), (_dbus_demarshal_uint32),
3036         (_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
3037         (_dbus_verbose_bytes), (_dbus_marshal_test):
3038         * dbus/dbus-marshal.h:
3039         * dbus/dbus-message-internal.h:
3040         * dbus/dbus-message.c: (_dbus_message_set_client_serial),
3041         (dbus_message_write_header), (_dbus_message_lock),
3042         (dbus_message_new), (dbus_message_ref), (dbus_message_unref),
3043         (dbus_message_get_name), (dbus_message_append_int32),
3044         (dbus_message_append_uint32), (dbus_message_append_double),
3045         (dbus_message_append_string), (dbus_message_append_byte_array),
3046         (dbus_message_get_fields_iter), (dbus_message_iter_ref),
3047         (dbus_message_iter_unref), (dbus_message_iter_has_next),
3048         (dbus_message_iter_next), (dbus_message_iter_get_field_type),
3049         (dbus_message_iter_get_string), (dbus_message_iter_get_int32),
3050         (dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
3051         (decode_header_data), (_dbus_message_loader_return_buffer),
3052         (message_iter_test), (_dbus_message_test):
3053         * dbus/dbus-message.h:
3054         * dbus/dbus-protocol.h:
3055         * dbus/dbus-test.c: (main):
3056         * dbus/dbus-test.h:
3057         * glib/test-dbus-glib.c: (message_handler), (main):
3058         * test/echo-client.c: (main):
3059         * test/watch.c: (check_messages):
3060         Make messages sendable and receivable for real.
3061         
3062 2003-01-07  Anders Carlsson  <andersca@codefactory.se>
3063
3064         * dbus/dbus-marshal.c: (_dbus_marshal_double),
3065         (_dbus_marshal_string), (_dbus_marshal_byte_array):
3066         * dbus/dbus-message.c: (dbus_message_append_int32),
3067         (dbus_message_append_uint32), (dbus_message_append_double),
3068         (dbus_message_append_string), (dbus_message_append_byte_array):
3069         Handle OOM restoration.
3070         
3071 2003-01-07  Anders Carlsson  <andersca@codefactory.se>
3072
3073         * dbus/dbus-marshal.c: (_dbus_marshal_string),
3074         (_dbus_demarshal_string), (_dbus_marshal_test):
3075         * dbus/dbus-marshal.h:
3076         * dbus/dbus-message.c: (dbus_message_get_name),
3077         Document these functions.
3078         
3079         (dbus_message_append_int32), (dbus_message_append_uint32),
3080         (dbus_message_append_double), (dbus_message_append_string),
3081         (dbus_message_append_byte_array):
3082         * dbus/dbus-message.h:
3083         Add functions for adding message fields of different types.
3084         
3085         * dbus/dbus-protocol.h:
3086         Add the different types.
3087
3088 2003-01-05  Havoc Pennington  <hp@pobox.com>
3089
3090         * bus/connection.c: implement routines for handling connections,
3091         first thing is keeping a list of owned services on each connection
3092         and setting up watches etc.
3093
3094         * bus/services.c: implement a mapping from service names to lists
3095         of connections
3096
3097         * dbus/dbus-hash.c: add DBUS_HASH_POINTER
3098
3099         * dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
3100         to use static mutexes for global data
3101
3102         * dbus/dbus-connection.c (dbus_connection_set_data): add new
3103         collection of functions to set/get application-specific data
3104         on the DBusConnection.
3105
3106 2003-01-04  Havoc Pennington  <hp@pobox.com>
3107
3108         * dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
3109         (_dbus_poll): new function
3110
3111         * dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
3112         copied from GLib
3113
3114         * bus/loop.c: initial code for the daemon main loop
3115
3116 2003-01-04  Havoc Pennington  <hp@pobox.com>
3117
3118         * test/watch.c (error_handler): make it safe if the error handler 
3119         is called multiple times (if we s/error handler/disconnect
3120         handler/ we should just guarantee it's called only once)
3121
3122         * dbus/dbus-transport.c (_dbus_transport_disconnect): call the
3123         error handler on disconnect (it's quite possible we should
3124         just change the error handler to a "disconnect handler," I'm 
3125         not sure we have any other meaningful errors)
3126
3127         * configure.in: check for getpwnam_r
3128
3129         * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
3130         dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
3131         mechanism as in SASL spec, using socket credentials
3132
3133         * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
3134         (_dbus_send_credentials_unix_socket): new function
3135
3136         * dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
3137         dbus_accept()
3138         (_dbus_write): only check errno if <0 returned
3139         (_dbus_write_two): ditto
3140
3141 2003-01-02  Anders Carlsson  <andersca@codefactory.se>
3142
3143         * dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
3144         (_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
3145         (_dbus_marshal_test):
3146         * dbus/dbus-marshal.h:
3147         Add _dbus_marshal_byte_array and rename _dbus_marshal_string
3148         to _dbus_marshal_utf8_string. Also fix some tests.
3149         
3150 2002-12-28  Harri Porten  <porten@kde.org>
3151
3152         * configure.in: added check for C++ compiler and a very cheesy
3153         check for the Qt integration
3154
3155         * Makefile.am (SUBDIRS): compile qt subdir if support is enabled
3156
3157         * qt/Makefile.am: added 
3158
3159         * qt/.cvsignore: added  
3160
3161         * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
3162         latter, added #ifdef QT_THREAD_SUPPORT guard.
3163
3164         * dbus/Makefile.am: added missing headers for make dist
3165
3166 2002-12-28  Kristian Rietveld  <kris@gtk.org>
3167
3168         * dbus/Makefile.am: fixup export-symbols-regex.
3169
3170 2002-12-27  Anders Carlsson  <andersca@codefactory.se>
3171
3172         * acinclude.m4: Add this file and put the 
3173         PKG_CHECK_MODULE macro in it.
3174
3175 2002-12-27  Anders Carlsson  <andersca@codefactory.se>
3176
3177         * dbus/dbus-marshal.c: (_dbus_marshal_string),
3178         (_dbus_demarshal_double), (_dbus_demarshal_int32),
3179         (_dbus_demarshal_uint32), (_dbus_demarshal_string),
3180         (_dbus_marshal_test):
3181         Make the demarshalling routines align the pos argument.
3182         Add string marshalling tests and fix the obvious bugs 
3183         discovered.
3184         
3185 2002-12-26  Havoc Pennington  <hp@pobox.com>
3186
3187         * dbus/dbus-auth.c: fixes fixes fixes
3188
3189         * dbus/dbus-transport-unix.c: wire up support for
3190         encoding/decoding data on the wire
3191
3192         * dbus/dbus-auth.c (_dbus_auth_encode_data) 
3193         (_dbus_auth_decode_data): append to target string 
3194         instead of nuking it.
3195
3196 2002-12-26  Havoc Pennington  <hp@pobox.com>
3197
3198         * dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
3199         WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
3200         doh
3201
3202         * dbus/dbus-marshal.c: Add macros to do int swapping in-place and
3203         avoid swap_bytes() overhead (ignoring possible assembly stuff for 
3204         now). Main point is because I wanted unpack_uint32 to implement
3205         _dbus_verbose_bytes
3206         (_dbus_verbose_bytes): new function
3207
3208         * dbus/dbus-string.c (_dbus_string_validate_ascii): new function
3209
3210         * dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
3211         mechanism to handle a corrupt message stream
3212         (_dbus_message_loader_new): fix preallocation to only prealloc, 
3213         not prelengthen
3214         
3215         * dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
3216         (_dbus_string_test): enhance tests for copy/move and fix the
3217         functions
3218
3219         * dbus/dbus-transport-unix.c: Hold references in more places to 
3220         avoid reentrancy problems
3221
3222         * dbus/dbus-transport.c: ditto
3223
3224         * dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
3225         leak reference count in no-message case
3226
3227         * test/watch.c (do_mainloop): handle adding/removing watches
3228         during iteration over the watches. Also, ref the connection/server
3229         stored on a watch, so we don't try to mangle a destroyed one.
3230
3231         * dbus/dbus-transport-unix.c (do_authentication): perform
3232         authentication
3233
3234         * dbus/dbus-auth.c (get_state): add a state
3235         AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
3236         (_dbus_auth_get_unused_bytes): append the unused bytes
3237         to the passed in string, rather than prepend
3238
3239         * dbus/dbus-transport.c (_dbus_transport_init_base): create 
3240         the auth conversation DBusAuth
3241
3242         * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
3243         (_dbus_transport_new_for_domain_socket): when creating a
3244         transport, pass in whether it's a client-side or server-side
3245         transport so we know which DBusAuth to create
3246
3247 2002-12-03  Havoc Pennington  <hp@pobox.com>
3248
3249         * dbus/dbus-transport-unix.c (unix_finalize): finalize base
3250         _after_ finalizing the derived members
3251         (unix_connection_set): unref watch if we fail to add it
3252
3253         * dbus/dbus-connection.c (dbus_connection_unref): delete the
3254         transport first, so that the connection owned by the 
3255         transport will be valid as the transport finalizes.
3256
3257         * dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
3258         if necessary, and remove watches from the connection.
3259         
3260         * dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
3261         
3262 2002-12-26  Anders Carlsson  <andersca@codefactory.se>
3263
3264         * dbus/dbus-marshal.c: (_dbus_marshal_string),
3265         (_dbus_demarshal_double), (_dbus_demarshal_int32),
3266         (_dbus_demarshal_uint32), (_dbus_demarshal_string),
3267         (_dbus_marshal_test):
3268         * dbus/dbus-marshal.h:
3269         Add string marshal functions and have the demarshal functions
3270         return the new position.
3271         
3272 2002-12-25  Havoc Pennington  <hp@pobox.com>
3273
3274         * doc/dbus-sasl-profile.txt: docs on the authentication protocol, 
3275         it is a simple protocol that just maps directly to SASL.
3276
3277         * dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
3278         initial implementation, not actually used yet.
3279         
3280         * dbus/dbus-string.c (_dbus_string_find): new function
3281         (_dbus_string_equal): new function
3282         (_dbus_string_base64_encode): new function
3283         (_dbus_string_base64_decode): new function
3284
3285 2002-12-25  Anders Carlsson  <andersca@codefactory.se>
3286
3287         * dbus/Makefile.am:
3288         * dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
3289         (_dbus_marshal_int32), (_dbus_marshal_uint32),
3290         (_dbus_demarshal_double), (_dbus_demarshal_int32),
3291         (_dbus_demarshal_uint32), (_dbus_marshal_test):
3292         * dbus/dbus-marshal.h:
3293         * dbus/dbus-protocol.h:
3294         * dbus/dbus-test.c: (main):
3295         * dbus/dbus-test.h:
3296         Add un-optimized marshalling/demarshalling routines.
3297         
3298 2002-12-25  Harri Porten  <porten@kde.org>
3299
3300         * qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
3301
3302 2002-12-24  Zack Rusin  <zack@kde.org>
3303
3304         * qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
3305         * qt/dbus-qt.h: skeleton with two sample implemenatation of the
3306         main loop stuff
3307
3308 2002-12-24  Havoc Pennington  <hp@pobox.com>
3309
3310         * glib/dbus-gthread.c: fix include
3311
3312         * glib/dbus-glib.h: rename DBusMessageHandler for now. 
3313         I think glib API needs to change, though, as you don't 
3314         want to use DBusMessageFunction, you want to use the 
3315         DBusMessageHandler object. Probably 
3316         dbus_connection_open_with_g_main_loop()
3317         and dbus_connection_setup_g_main_loop() or something like that
3318         (but think of better names...) that just create a connection 
3319         that has watch/timeout functions etc. already set up.
3320
3321         * dbus/dbus-connection.c
3322         (dbus_connection_send_message_with_reply): new function just to 
3323         show how the message handler helps us deal with replies.
3324
3325         * dbus/dbus-list.c (_dbus_list_remove_last): new function
3326
3327         * dbus/dbus-string.c (_dbus_string_test): free a string that
3328         wasn't
3329
3330         * dbus/dbus-hash.c: use memory pools for the hash entries
3331         (rebuild_table): be more paranoid about overflow, and 
3332         shrink table when we can
3333         (_dbus_hash_test): reduce number of sprintfs and write
3334         valid C89. Add tests for case where we grow and then 
3335         shrink the hash table.
3336
3337         * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
3338
3339         * dbus/dbus-connection.c (dbus_connection_register_handler) 
3340         (dbus_connection_unregister_handler): new functions
3341
3342         * dbus/dbus-message.c (dbus_message_get_name): new
3343
3344         * dbus/dbus-list.c: fix docs typo
3345
3346         * dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
3347         an object representing a handler for messages.
3348
3349 2002-12-16  Anders Carlsson  <andersca@codefactory.se>
3350
3351         * glib/dbus-glib.h:
3352         * glib/dbus-gthread.c: (dbus_gthread_init):
3353         Don't use the gdbus prefix for public functions.
3354         
3355 2002-12-16  Anders Carlsson  <andersca@codefactory.se>
3356
3357         * Makefile.am:
3358         * configure.in:
3359         Add GLib checks and fixup .pc files
3360         
3361         * glib/Makefile.am:
3362         * glib/dbus-glib.h:
3363         * glib/dbus-gmain.c: (gdbus_connection_prepare),
3364         (gdbus_connection_check), (gdbus_connection_dispatch),
3365         (gdbus_add_connection_watch), (gdbus_remove_connection_watch),
3366         (dbus_connection_gsource_new):
3367         * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
3368         (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
3369         * glib/test-dbus-glib.c: (message_handler), (main):
3370         Add GLib support.
3371         
3372 2002-12-15  Harri Porten  <porten@kde.org>
3373
3374         * autogen.sh: check for libtoolize before attempting to use it 
3375         
3376         * dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
3377         struct.
3378         
3379         * .cvsignore: ignore more stamp files
3380
3381         * dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
3382
3383         * test/Makefile.am: added -I$(top_srcdir) to be able to compile
3384         without make install.
3385
3386 2002-12-15  Havoc Pennington  <hp@pobox.com>
3387
3388         * dbus/dbus-threads.c: add thread stubs that a higher library
3389         layer can fill in. e.g. the GLib wrapper might fill them in with
3390         GThread stuff. We still need to use this thread API to
3391         thread-safe-ize the library.
3392
3393 2002-12-12  Havoc Pennington  <hp@pobox.com>
3394
3395         * dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
3396         below new interfaces and include fewer system headers.
3397
3398         * dbus/dbus-sysdeps.c (_dbus_read): new function
3399         (_dbus_write): new function
3400         (_dbus_write_two): new function
3401         (_dbus_connect_unix_socket): new function
3402         (_dbus_listen_unix_socket): new function
3403
3404         * dbus/dbus-message-internal.h: change interfaces to use
3405         DBusString
3406
3407 2002-12-11  Havoc Pennington  <hp@pobox.com>
3408
3409         * dbus/dbus-types.h: add dbus_unichar
3410
3411         * dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
3412
3413         * dbus/dbus-connection.c (dbus_connection_send_message): return
3414         TRUE on success
3415
3416         * dbus/dbus-transport.c: include dbus-watch.h   
3417
3418         * dbus/dbus-connection.c: include dbus-message-internal.h
3419
3420         * HACKING: add file with coding guidelines stuff.
3421
3422         * dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
3423         handling here, for security purposes (as in vsftpd). Not actually
3424         using this class yet.
3425
3426         * dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
3427         system/libc usage here, as in vsftpd, for ease of auditing (and
3428         should also simplify portability). Haven't actually moved all the
3429         system/libc usage into here yet.
3430         
3431 2002-11-25  Havoc Pennington  <hp@pobox.com>
3432
3433         * dbus/dbus-internals.c (_dbus_verbose): fix to not 
3434         always print the first verbose message.
3435
3436 2002-11-24  Havoc Pennington  <hp@pobox.com>
3437
3438         * test/echo-client.c, test/echo-server.c: cheesy test 
3439         clients.
3440         
3441         * configure.in (AC_CHECK_FUNCS): check for writev
3442
3443         * dbus/dbus-message.c (_dbus_message_get_network_data): new
3444         function
3445
3446         * dbus/dbus-list.c (_dbus_list_foreach): new function
3447
3448         * dbus/dbus-internals.c (_dbus_verbose): new function
3449
3450         * dbus/dbus-server.c, dbus/dbus-server.h: public object
3451         representing a server that listens for connections.
3452
3453         * dbus/.cvsignore: create
3454
3455         * dbus/dbus-errors.h, dbus/dbus-errors.c:
3456         public API for reporting errors
3457
3458         * dbus/dbus-connection.h, dbus/dbus-connection.c:
3459         public object representing a connection that 
3460         sends/receives messages. (Same object used for 
3461         both client and server.)
3462
3463         * dbus/dbus-transport.h, dbus/dbus-transport.c:
3464         Basic abstraction for different kinds of stream
3465         that we might read/write messages from.
3466
3467 2002-11-23  Havoc Pennington  <hp@pobox.com>
3468
3469         * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN 
3470         _DBUS_INT_MAX
3471
3472         * dbus/dbus-test.c (main): add list test, and include 
3473         dbus-test.h as intended
3474
3475         * dbus/dbus-hash.c (_dbus_hash_table_remove_string) 
3476         (_dbus_hash_table_remove_int): return value indicates 
3477         whether the entry existed to remove
3478
3479         * dbus/dbus-list.c: add linked list utility class, 
3480         with docs and tests
3481
3482         * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket 
3483         array sometimes.
3484
3485 2002-11-23  Havoc Pennington  <hp@pobox.com>
3486
3487         * Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
3488         DBUS_END_DECLS to nothing, that should fix this once and for all
3489
3490         * Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
3491
3492         * dbus/dbus-message.c, dbus/dbus-hash.c: 
3493         add some missing @brief
3494
3495 2002-11-23  Havoc Pennington  <hp@pobox.com>
3496
3497         * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS 
3498         to avoid confusing Doxygen
3499
3500         * dbus/dbus-hash.c: @} not }@
3501
3502         * dbus/dbus-message.c (struct DBusMessage): split out 
3503         internals docs
3504
3505 2002-11-23  Havoc Pennington  <hp@pobox.com>
3506
3507         * configure.in: pile on more warning flags if using gcc
3508
3509         * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have 
3510         to document static functions
3511
3512         * configure.in: add summary to end of configure so it 
3513         looks nice and attractive
3514
3515         * dbus/dbus-hash.c: finish implementation and write unit 
3516         tests and docs
3517
3518         * configure.in: add --enable-tests to enable unit tests
3519
3520         * dbus/dbus-test.c: test program to run unit tests 
3521         for all files in dbus/*, initially runs a test for 
3522         dbus-hash.c
3523         
3524         * dbus/dbus-internals.h: file to hold some internal utility stuff
3525
3526 2002-11-22  Havoc Pennington  <hp@redhat.com>
3527
3528         * dbus/dbus-hash.c: copy in Tcl hash table, not yet 
3529         "ported" away from Tcl
3530
3531         * dbus/dbus-types.h: header for types such as dbus_bool_t
3532
3533 2002-11-22  Havoc Pennington  <hp@redhat.com>
3534
3535         * dbus/dbus.h: fixups for doc warnings
3536
3537         * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up 
3538         macros
3539         (QUIET): make it quiet so we can see warnings
3540
3541         * dbus/dbus-memory.c: teach D-BUS to allocate and free memory
3542
3543 2002-11-22  Havoc Pennington  <hp@redhat.com>
3544
3545         * Makefile.am: include "Doxyfile" target in all-local
3546
3547         * configure.in: generate the Doxyfile
3548
3549         * Doxyfile.in: move Doxyfile here, so we can use 
3550         configure to generate a Doxyfile with the right 
3551         version number etc.
3552
3553 2002-11-22  Havoc Pennington  <hp@redhat.com>
3554
3555         * dbus/dbus-message.c: move inline docs into .c file
3556
3557         * Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
3558         so all docs are under doc/
3559         (MAN_EXTENSION): generate man pages. Use extension 
3560         ".3dbus" which matches ".3qt" on my system, 
3561         I guess this is OK, I don't know really.
3562         (FILE_PATTERNS): look for .c files not .h, makes sense
3563         for plain C I think
3564
3565 2002-11-22  Havoc Pennington  <hp@pobox.com>
3566
3567         * Makefile.am (SUBDIRS): rename subdir "server" to "bus" 
3568         because any app can be a server, and any app can be a client, 
3569         the bus is a special kind of server.
3570
3571 Thu Nov 21 23:35:31 2002  Zack Rusin  <zack@kde.org>
3572
3573         * Doxyfile : adding. Still needs Makefile rules to be generated
3574         automatically (just run "doxygen" in the toplevel dir for now to
3575         generate docs)
3576         
3577         * dbus/dbus-message.h : Adding sample docs (javadoc since
3578         resembles gtk-doc a little more)
3579
3580         * dbus/dbus.h : Adding sample docs
3581
3582 2002-11-21  Havoc Pennington  <hp@redhat.com>
3583
3584         * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION 
3585         so we can allow ourselves to include files directly, 
3586         instead of having to use dbus.h
3587
3588         * dbus/dbus.h: fill in
3589
3590         * dbus/dbus-message.h: sketch out a sample header file.
3591         Include griping if you include it directly instead of 
3592         via dbus.h
3593
3594         * dbus/dbus-macros.h: new file with macros for extern "C", 
3595         TRUE/FALSE, NULL, etc.
3596
3597         * doc/file-boilerplate.c: put include guards in here
3598
3599 2002-11-21  Havoc Pennington  <hp@redhat.com>
3600
3601         * doc/file-boilerplate.c: include both AFL and GPL boilerplate.
3602
3603         * COPYING: include the GPL as well, and license code 
3604         under both AFL and GPL.
3605
3606 2002-11-21  Havoc Pennington  <hp@redhat.com>
3607
3608         * acconfig.h: get rid of this
3609
3610         * autogen.sh (run_configure): add --no-configure option
3611
3612         * configure.in: remove AC_ARG_PROGRAM to make
3613         autoconf complain less. add AC_PREREQ. 
3614         add AC_DEFINE third arg.
3615         
3616 2002-11-21  Anders Carlsson  <andersca@codefactory.se>
3617
3618         * doc/Makefile.am:
3619         Fix references so we can distcheck.
3620
3621 2002-11-21  Havoc Pennington  <hp@redhat.com>
3622
3623         * Initial module creation
3624