2003-03-04 Havoc Pennington <hp@pobox.com>
[platform/upstream/dbus.git] / ChangeLog
1 2003-03-04  Havoc Pennington  <hp@pobox.com>
2
3         * test/data/auth/*: adapt to changes
4
5         * dbus/dbus-auth-script.c (_dbus_auth_script_run): add
6         USERID_BASE64 and change USERNAME_BASE64 to put in username not
7         userid
8
9         * dbus/dbus-keyring.c (_dbus_keyring_validate_context): prevent
10         more stuff from being in a context name, to make the protocol 
11         simpler to deal with
12
13         * dbus/dbus-errors.c (dbus_error_has_name): new function
14         (dbus_error_is_set): new function
15
16         * dbus/dbus-auth.c: replace DBUS_STUPID_TEST_MECH auth 
17         with DBUS_COOKIE_SHA1, implement DBUS_COOKIE_SHA1
18         
19         * dbus/dbus-connection.c (dbus_connection_flush): also read
20         messages during a flush operation
21
22         * dbus/Makefile.am: remove dbus-md5 since it isn't currently used.
23
24 2003-03-05  Anders Carlsson  <andersca@codefactory.se>
25
26         * configure.in: Check for gethostbyname on Solaris.
27
28         * dbus/dbus-transport.c: (_dbus_transport_open):
29         Remove duplicate "tcp" entry.
30         
31         * doc/dbus-specification.sgml:
32         Clarify some things.
33         
34 2003-03-05  Anders Carlsson  <andersca@codefactory.se>
35
36         * dbus/dbus-auth.c: (send_rejected), (process_test_subdir):
37         * dbus/dbus-keyring.c: (_dbus_keyring_new_homedir),
38         (_dbus_keyring_test):
39         * dbus/dbus-md5.c: (_dbus_md5_compute):
40         * dbus/dbus-sha.c: (_dbus_sha_compute):
41         Plug memory leaks.
42
43 2003-03-05  Anders Carlsson  <andersca@codefactory.se>
44
45         * README: Add some things.
46
47 2003-03-04  Anders Carlsson  <andersca@codefactory.se>
48
49         * dbus/dbus-message.c (dbus_message_append_args_valist): Add a break;
50         after case DBUS_TYPE_BOOELAN.
51
52 2003-03-02  Havoc Pennington  <hp@pobox.com>
53
54         * test/break-loader.c (randomly_set_extreme_ints): add test that
55         sets really huge and small integers
56
57         * dbus/dbus-marshal.c (_dbus_marshal_validate_arg): add check
58         that length of boolean array fits in the string, and that 
59         string has room for boolean value in single-bool case.
60
61         * dbus/dbus-message-builder.c (_dbus_message_data_load): add
62         optional value to "ALIGN" command which is what to fill the
63         alignment with.
64
65         * test/data/valid-messages/no-padding.message: add regression
66         test for the message padding problem
67
68 2003-03-02  Havoc Pennington  <hp@pobox.com>
69
70         * dbus/dbus-message.c (decode_header_data): fix to always init
71         message_padding, from Benjamin Dauvergne
72
73 2003-03-02  Havoc Pennington  <hp@pobox.com>
74
75         * configure.in: 0.5
76
77         * NEWS: Update.
78
79 2003-03-01  Joe Shaw  <joe@assbarn.com>
80
81         * configure.in: Check for "struct cmsgcred" and try to access its
82         members for BSD-like unices.
83
84         * dbus/dbus-sysdeps.c (read_credentials_byte): Fold this back into
85         _dbus_read_credentials_unix_socket().
86         (_dbus_read_credentials_unix_socket): Use recvmsg() instead of
87         read() for reading the credential byte off the unix socket.  Use
88         struct cmsgcred on systems that support it.
89
90 2003-02-27  Alexander Larsson  <alexl@redhat.com>
91
92         * glib/Makefile.am: 
93         * configure.in:
94         Make gthreads-2.0 dependency optional. Don't build thread test if
95         its not found.
96
97 2003-02-27  Havoc Pennington  <hp@pobox.com>
98
99         * dbus/dbus-connection.c
100         (dbus_connection_send_message_with_reply_and_block): fix doh!
101         doh! doh! bug that resulted in never removing a reply from the
102         queue, no wonder we called get_reply_serial so much ;-)
103         
104         * dbus/dbus-message.c (struct DBusMessage): cache reply serial
105         and client serial instead of demarshaling them every time
106
107 2003-02-27  Havoc Pennington  <hp@pobox.com>
108
109         * dbus/dbus-marshal.c (_dbus_demarshal_int32): rewrite to be much
110         more inlined, using dbus-string-private.h, speeds things up 
111         substantially
112
113         * dbus/dbus-string.c (_dbus_string_free): apply align offset
114         when freeing the string
115         (_dbus_string_steal_data): fix for align offset
116         (undo_alignment): new function
117
118 2003-02-26  Havoc Pennington  <hp@redhat.com>
119
120         All kinds of audit fixes from Owen, plus initial attempt to 
121         handle unaligned memory returned from malloc.
122         
123         * dbus/dbus-string.c (_dbus_string_init): clamp max length to 
124         leave room for align_offset and nul byte
125         (fixup_alignment): function to track an align_offset and 
126         ensure real->str is aligned
127         (DBUS_GENERIC_STRING_PREAMBLE): len must be less than allocated, 
128         to allow a nul byte plus align offset
129         (_dbus_string_lock): fix overflow issue
130         (_dbus_string_init_const_len): add assertions on sanity of len, 
131         assign allocated to be ALLOCATION_PADDING larger than len
132         (set_length): fixup the overflow handling
133         (_dbus_string_get_data_len): fix overflow in assertion
134         (open_gap): detect overflow in size of gap to be opened
135         (_dbus_string_lengthen): add overflow check
136         (_dbus_string_align_length): fix overflow with _DBUS_ALIGN_VALUE
137         (_dbus_string_append): add overflow check
138         (_dbus_string_append_unichar): overflow
139         (_dbus_string_delete): fix overflow in assertion
140         (_dbus_string_copy_len): overflow in assertion
141         (_dbus_string_replace_len): overflows in assertions
142         (_dbus_string_find): change to implement in terms of 
143         _dbus_string_find_to
144         (_dbus_string_find_to): assorted fixage
145         (_dbus_string_equal_c_str): assert c_str != NULL, 
146         fix logic so the function works
147         (_dbus_string_ends_with_c_str): fix overflow thingy
148         (_dbus_string_base64_encode): overflow fix
149         (_dbus_string_validate_ascii): overflow
150         (_dbus_string_validate_nul): overflow
151         
152 2003-02-26  Havoc Pennington  <hp@redhat.com>
153
154         * dbus/dbus-marshal.c (_dbus_marshal_test): fix to work with DISABLE_ASSERTS
155
156 2003-02-26  Alexander Larsson  <alexl@redhat.com>
157
158         * configure.in:
159         Set DBUS_GLIB_THREADS_LIBS for apps using gthread-2.0
160         
161         * dbus/dbus-connection.c:
162         * dbus/dbus-connection.h:
163         Fix _dbus_connection_acquire_io_path and _dbus_connection_acquire_dispatch.
164         Add dbus_connection_set_wakeup_main_function and use it when queueing
165         incoming and outgoing messages.
166         
167         
168         * dbus/dbus-dataslot.c:
169         Threadsafe usage of DBusDataSlotAllocator
170         
171         * dbus/dbus-message.c: (dbus_message_get_args_iter):
172         dbus_new can fail.
173         
174         * dbus/dbus-server-unix.c:
175         Add todo comment
176         
177         * glib/dbus-gmain.c:
178         Implement the new wakeup functions for glib.
179         
180         * glib/Makefile.am:
181         * glib/test-thread-client.c: 
182         * glib/test-thread-server.c: 
183         * glib/test-thread.h:
184         Initial cut at some thread test code. Not really done yet.
185
186 2003-02-26  Havoc Pennington  <hp@pobox.com>
187
188         * dbus/dbus-connection.c
189         (dbus_connection_send_message_with_reply_and_block): fix crash
190         where we ref'd the outgoing message instead of the returned reply
191
192         * dbus/dbus-transport-unix.c (do_authentication): check read watch
193         at the end of this function, so if we didn't need to read for
194         authentication, we reinstall it for receiving messages
195
196         * dbus/dbus-message.c (dbus_message_new_reply): allow replies to 
197         a NULL sender for peer-to-peer case
198
199         * dbus/dbus-transport-unix.c (check_read_watch): handle
200         !authenticated case correctly
201
202         * glib/dbus-gmain.c: add support for DBusServer
203
204         * dbus/dbus-server.c: add data slot support
205
206         * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): check
207         return values and handle errors
208
209         * dbus/dbus-dataslot.c: factor out the data slot stuff from
210         DBusConnection
211
212         * Doxyfile.in (INPUT): add glib subdir
213
214         * glib/dbus-gmain.c (dbus_connection_setup_with_g_main): rename 
215         setup_with_g_main instead of hookup_with_g_main; write docs
216         
217 2003-02-24  Anders Carlsson  <andersca@codefactory.se>
218
219         * dbus/dbus-marshal.c: (_dbus_marshal_validate_arg):
220         * dbus/dbus-message-builder.c: (_dbus_message_data_load):
221         * dbus/dbus-message.c: (dbus_message_append_boolean),
222         (dbus_message_append_boolean_array),
223         (dbus_message_get_args_valist), (_dbus_message_test):
224         * dbus/dbus-message.h:
225         * doc/dbus-specification.sgml:
226         Various fixes as pointed out by Havoc.
227         
228         * test/data/invalid-messages/bad-boolean-array.message:
229         * test/data/invalid-messages/bad-boolean.message:
230         Add invalid boolean value test cases.
231         
232 2003-02-24  Anders Carlsson  <andersca@codefactory.se>
233
234         * dbus/dbus-internals.c: (_dbus_type_to_string):
235         * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
236         (_dbus_marshal_validate_arg):
237         * dbus/dbus-message-builder.c: (_dbus_message_data_load):
238         * dbus/dbus-message.c: (dbus_message_append_args_valist),
239         (dbus_message_append_boolean), (dbus_message_append_boolean_array),
240         (dbus_message_get_args_valist), (dbus_message_iter_get_boolean),
241         (dbus_message_iter_get_int32), (dbus_message_iter_get_uint32),
242         (dbus_message_iter_get_double),
243         (dbus_message_iter_get_boolean_array), (message_iter_test):
244         * dbus/dbus-message.h:
245         * dbus/dbus-protocol.h:
246         * doc/dbus-specification.sgml:
247         * test/data/valid-messages/lots-of-arguments.message:
248         Add support for boolean and boolean array types.
249         
250 2003-02-23  Havoc Pennington  <hp@pobox.com>
251
252         * dbus/dbus-keyring.c: finish most of this implementation and 
253         simple unit test
254
255         * dbus/dbus-errors.c (dbus_set_error_const, dbus_set_error): make
256         these barf if the error isn't cleared to NULL
257
258         * dbus/dbus-sysdeps.c (_dbus_delete_file): set error on failure
259         (_dbus_create_directory): new function
260
261         * dbus/dbus-errors.c (dbus_set_error): fix warning
262
263         * dbus/dbus-string.c (_dbus_string_hex_encode): new function
264         (_dbus_string_hex_decode): new function
265         (test_hex_roundtrip): test code
266
267         * dbus/dbus-sha.c (_dbus_sha_compute): use dbus_string_hex_encode
268
269         * dbus/dbus-md5.c (_dbus_md5_compute): use dbus_string_hex_encode
270
271         * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): make this use 
272         the save-to-temp/rename trick to atomically write the new file
273         (_dbus_string_parse_uint): new function
274
275 2003-02-22  Havoc Pennington  <hp@pobox.com>
276
277         * test/Makefile.am (dist-hook): fix dist for test/data/sha-1
278
279 2003-02-22  Havoc Pennington  <hp@pobox.com>
280
281         * dbus/dbus-message.c (dbus_message_iter_get_string_array):
282         (dbus_message_iter_get_byte_array): Fix up doxygen warnings
283
284         * dbus/dbus-sha.c: add implementation of SHA-1 algorithm
285
286         * dbus/test/data/sha-1: add US government test suite for SHA-1
287
288 2003-02-21  Anders Carlsson  <andersca@codefactory.se>
289
290         * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
291         Make string arrays NULL-terminated.
292         
293         * dbus/dbus-memory.c: (dbus_free_string_array):
294         * dbus/dbus-memory.h:
295         New function for freeing NULL-terminated string arrays.
296         
297         * dbus/dbus-message-builder.c: (append_quoted_string),
298         (_dbus_message_data_load):
299         Add support for array types.
300         
301         * dbus/dbus-message.c: (check_message_handling):
302         Add more types as test cases.
303         
304         * dbus/dbus-sysdeps.c: (_dbus_string_parse_int),
305         (_dbus_string_parse_double):
306         Add the start offset to the end offset.
307         
308         * test/data/valid-messages/lots-of-arguments.message:
309         New test message with lots of arguments.
310         
311 2003-02-21  Anders Carlsson  <andersca@codefactory.se>
312
313         * dbus/dbus-message.c: (dbus_message_append_nil),
314         (dbus_message_append_int32), (dbus_message_append_uint32),
315         (dbus_message_append_double), (dbus_message_append_string),
316         (dbus_message_append_int32_array),
317         (dbus_message_append_uint32_array),
318         (dbus_message_append_double_array),
319         (dbus_message_append_byte_array),
320         (dbus_message_append_string_array):
321         Fix all out-of-memory handling in these functions.
322
323 2003-02-21  Anders Carlsson  <andersca@codefactory.se>
324
325         * dbus/dbus-message.c: (dbus_message_append_nil):
326         Fix a silly.
327         
328 2003-02-21  Anders Carlsson  <andersca@codefactory.se>
329
330         * dbus/dbus-message.c: (dbus_message_append_args_valist),
331         (dbus_message_append_nil), (dbus_message_append_int32_array),
332         (dbus_message_append_uint32_array),
333         (dbus_message_append_double_array),
334         (dbus_message_append_byte_array),
335         (dbus_message_append_string_array), (dbus_message_get_args_valist),
336         (dbus_message_iter_get_int32_array),
337         (dbus_message_iter_get_uint32_array),
338         (dbus_message_iter_get_double_array),
339         (dbus_message_iter_get_byte_array),
340         (dbus_message_iter_get_string_array):
341
342         * dbus/dbus-message.h:
343         Add functions for appending and getting arrays.
344         
345 2003-02-21  Anders Carlsson  <andersca@codefactory.se>
346
347         * dbus/dbus-mempool.c (_dbus_mem_pool_new): Make the
348         element size at least 8 bytes, fixes mempool tests on
349         64-bit machines.
350
351 2003-02-20  Alexander Larsson  <alexl@redhat.com>
352
353         * dbus/dbus-transport-unix.c (unix_do_iteration):
354         Unlock the connection mutex during a blocking select call.
355         Add todo about how we need a way to wake up the select.
356
357         * dbus/dbus-connection-internal.h: 
358         * dbus/dbus-connection.c:
359         Add _dbus_connection_lock and _dbus_connection_unlock.
360
361 2003-02-19  Havoc Pennington  <hp@pobox.com>
362
363         * Doxyfile.in (PREDEFINED): put DOXYGEN_SHOULD_SKIP_THIS in
364         Doxyfile.in, not Doxyfile
365
366         * dbus/dbus-keyring.c: do some hacking on this
367
368         * dbus/dbus-sysdeps.c (_dbus_delete_file): new
369
370         * dbus/dbus-errors.c (dbus_set_error_const): do not call
371         dbus_error_init
372         (dbus_set_error): remove dbus_error_init, check for message ==
373         NULL *before* we sprintf into it, and add @todo about including 
374         system headers in this file
375
376         * dbus/dbus-sysdeps.c (_dbus_create_file_exclusively): new
377
378         * dbus/dbus-errors.h (DBUS_ERROR_FAILED): add
379
380         * dbus/dbus-sysdeps.c (get_user_info): break this function out to
381         get various bits of user information based on either username 
382         or user ID
383         (_dbus_homedir_from_username): new function
384
385 2003-02-19  Anders Carlsson  <andersca@codefactory.se>
386
387         * configure.in:
388         Add check for nonposix getpwnam_r
389         
390         * dbus/dbus-mempool.c: (_dbus_mem_pool_new):
391         Align the pool element size to a sizeof (void *) boundary.
392         
393         * dbus/dbus-sysdeps.c: (_dbus_setenv), (_dbus_connect_unix_socket),
394         (_dbus_listen_unix_socket), (_dbus_credentials_from_username):
395         General Solaris fixes.
396         
397         * test/data/valid-messages/simplest-manual.message:
398         Explicitly state that we want little-endian packing.
399         
400 2003-02-19  Mikael Hallendal  <micke@codefactory.se>
401
402         * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
403
404         * dbus/dbus-transport-unix.c (_dbus_transport_new_for_tcp_socket): 
405         Added to create a transport connecting using a tcp/ip socket.
406
407         * dbus/dbus-sysdeps.c (_dbus_connect_tcp_socket): Added to connect
408         to a tcp socket at given host and port.
409         (_dbus_listen_tcp_socket): added to listen on tcp socket for given
410         hostname and port.
411
412         * dbus/dbus-server.c (dbus_server_listen): Support tcp: addresses.
413
414         * dbus/dbus-server-unix.c (_dbus_server_new_for_tcp_socket): 
415         Added to create a server listening on a TCP/IP socket.
416
417 2003-02-19  Havoc Pennington  <hp@pobox.com>
418
419         Throughout: mop up all the Doxygen warnings and undocumented
420         stuff.
421         
422         * dbus/dbus-sysdeps.c (do_exec): do not use execvp, we don't want
423         to search any paths.
424
425         * dbus/dbus-threads.c: move global mutex initializers to
426         dbus-internals.h, multiple prototypes was confusing doxygen
427         besides being kind of ugly
428
429         * Doxyfile (PREDEFINED): have Doxygen define
430         DOXYGEN_SHOULD_SKIP_THIS so we can exclude things from 
431         docs with #ifndef DOXYGEN_SHOULD_SKIP_THIS
432         (do not abuse the feature! it's for stuff like the autogenerated 
433         macros in dbus-md5.c, not just for things you don't feel like 
434         documenting...)
435
436 2003-02-18  Havoc Pennington  <hp@pobox.com>
437
438         * dbus/dbus-string.c (_dbus_string_zero): new function
439
440         * dbus/dbus-md5.c: include MD5 implementation by L. Peter Deutsch,
441         wrap it in some dbus-friendly API
442
443         * dbus/dbus-types.h: add 16-bit types
444
445 2003-02-18  Joe Shaw  <joe@assbarn.com>
446
447         * dbus/dbus-auth.c (handle_server_data_stupid_test_mech): Just get
448         credentials from our currently running process.
449         (get_word): Fix a buglet where we were copying the entire length
450         instead of relative to our position.
451
452         * dbus/dbus-hash.c (_dbus_hash_test): Don't try to allocate the
453         keys on the stack... it's 640k of data.
454
455         * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): Always
456         read the credentials byte off the socket, even if we don't have
457         SO_PEERCRED.
458         (_dbus_poll): Implement poll() using select() for systems which
459         don't have it.
460
461         * glib/test-dbus-glib.c (main): Print out an error if no
462         parameters are given.
463
464         * test/data/auth/fallback.auth-script: Added.  Tests that a client
465         can fallback to a secondary auth mechanism if the first fails.
466
467 2003-02-18  Havoc Pennington  <hp@pobox.com>
468
469         * AUTHORS: add Alex
470
471 2003-02-17  Havoc Pennington  <hp@pobox.com>
472
473         * doc/dbus-specification.sgml: lots of cosmetic
474         cleanups/rearrangement, add assorted FIXME, change DBUS_ADDRESS
475         env variable to DBUS_BUS_ADDRESS, s/client/application/,
476         s/server/bus/ (except in authentication section). Add a section
477         "Message Bus Message Routing"
478
479 2003-02-17  Anders Carlsson  <andersca@codefactory.se.>
480
481         Release 0.4
482         
483         * NEWS: Update
484
485 2003-02-17  Anders Carlsson  <andersca@codefactory.se>
486
487         * doc/dbus-specification.sgml:
488         Specification updates.
489         
490 2003-02-17  Anders Carlsson  <andersca@codefactory.se>
491
492         * bus/activation.c: (bus_activation_init), (child_setup),
493         (bus_activation_activate_service):
494         * bus/activation.h:
495         * bus/main.c: (main):
496         Set DBUS_ADDRESS environment variable.
497         
498         * dbus/dbus-errors.c: (dbus_set_error):
499         Don't use va_copy since that's a C99 feature.
500         
501         * dbus/dbus-sysdeps.c: (_dbus_setenv), (do_exec),
502         (_dbus_spawn_async):
503         * dbus/dbus-sysdeps.h:
504         Add child_setup_func to _dbus_spawn_async.
505         
506         * doc/dbus-specification.sgml:
507         Update specification.
508         
509         * test/spawn-test.c: (setup_func), (main):
510         Fix test.
511         
512 2003-02-17  Alexander Larsson  <alexl@redhat.com>
513
514         * dbus/dbus-connection.c (_dbus_connection_handler_destroyed_locked):
515         Added todo.
516
517 2003-02-17  Anders Carlsson  <andersca@codefactory.se>
518
519         * doc/.cvsignore:
520         * doc/Makefile.am:
521         * doc/dbus-test-plan.sgml:
522         Add test plan document.
523         
524         * test/Makefile.am:
525         Fix distcheck.
526         
527 2003-02-17  Anders Carlsson  <andersca@codefactory.se>
528
529         * dbus/dbus-message.c: (decode_header_data),
530         (_dbus_message_loader_return_buffer):
531         Set the header padding amount when loading a message.
532
533 2003-02-16  Anders Carlsson  <andersca@codefactory.se>
534
535         * bus/dispatch.c: (send_one_message):
536         Only send broadcast messages to registered connections.
537         
538         * dbus/dbus-message.c: (dbus_message_name_is):
539         * dbus/dbus-message.h:
540         New convenience function.
541         
542         * dbus/dbus-transport-debug.c: (do_reading):
543         Only dispatch one message per run.
544
545         * test/Makefile.am:
546         * test/bus-test.c: (new_connection_callback), (die),
547         (test_hello_client1_handler), (test_hello_client2_handler),
548         (test_hello_replies), (main):
549
550         * test/bus-test-loop.[ch]:
551         Add these.
552         
553 2003-02-16  Havoc Pennington  <hp@pobox.com>
554
555         * dbus/dbus-connection.c (dbus_connection_dispatch_message): fix
556         backward conditional
557
558 2003-02-16  Alexander Larsson  <alexl@redhat.com>
559
560         * dbus/dbus-connection.c:
561         Implement sent_message_with_reply. (with_reply_and block is still
562         busted).
563         Made dispatch_message not lose message if OOM.
564         
565         * dbus/dbus-errors.h:
566         Add NoReply error (for reply timeouts).
567
568 2003-02-16  Alexander Larsson  <alexl@redhat.com>
569
570         * dbus/dbus-hash.c (_dbus_hash_table_unref):
571         Actually free keys and values when destroying hashtable.
572
573 2003-02-16  Anders Carlsson  <andersca@codefactory.se>
574
575         * dbus/dbus-auth.c: (client_try_next_mechanism):
576         Plug a leak.
577         
578         * dbus/dbus-threads.c: (dbus_condvar_wait_timeout):
579         Return TRUE if there's no thread implementation around.
580         
581         * glib/dbus-gmain.c: (free_source),
582         (dbus_connection_hookup_with_g_main):
583         Make sure to remove the GSource when the connection is finalized.
584         
585 2003-02-16  Anders Carlsson  <andersca@codefactory.se>
586
587         * bus/dispatch.c: (bus_dispatch_message_handler):
588         * dbus/dbus-errors.h:
589         Return an error if someone tries to send a message to a service
590         that doesn't exist.
591         
592 2003-02-16  Anders Carlsson  <andersca@codefactory.se>
593
594         * bus/activation.c: (load_directory), (bus_activation_init),
595         (bus_activation_activate_service):
596         * bus/activation.h:
597         * bus/driver.c: 
598         (bus_driver_handle_activate_service), (bus_driver_handle_message):
599         More work on the activation handling.
600         
601         * dbus/dbus-errors.h:
602         Add some error messages
603         
604         * dbus/dbus-message.c: (dbus_message_new_error_reply):
605         * dbus/dbus-message.h:
606         New function that creates an error message.
607         
608         * dbus/dbus-protocol.h:
609         Add ACTIVATE_SERVER message.
610         
611         * dbus/dbus-server-unix.c: (unix_handle_watch),
612         (_dbus_server_new_for_domain_socket):
613         Call _dbus_fd_set_close_on_exec.
614         
615         * dbus/dbus-sysdeps.c: (make_pipe), (do_exec),
616         (_dbus_spawn_async), (_dbus_disable_sigpipe),
617         (_dbus_fd_set_close_on_exec):
618         * dbus/dbus-sysdeps.h:
619         Add _dbus_fd_set_close_on exec function. Also add function that checks
620         that all open fds are set to close-on-exec and warns otherwise.
621         
622         * dbus/dbus-transport-unix.c:
623         (_dbus_transport_new_for_domain_socket):
624         Call _dbus_fd_set_close_on_exec.
625
626 2003-02-16  Havoc Pennington  <hp@pobox.com>
627
628         * dbus/dbus-connection.c (dbus_connection_set_change_sigpipe):
629         allow people to avoid setting SIGPIPE to SIG_IGN
630         (_dbus_connection_new_for_transport): disable SIGPIPE unless 
631         we've been asked not to
632
633 2003-02-15  Anders Carlsson  <andersca@codefactory.se>
634
635         * dbus/dbus-list.c: (_dbus_list_append_link),
636         (_dbus_list_prepend_link):
637         * dbus/dbus-memory.c: (dbus_malloc), (dbus_malloc0),
638         (dbus_realloc):
639         Warning fixes.
640
641 2003-02-15  Anders Carlsson  <andersca@codefactory.se>
642
643         * bus/Makefile.am:
644         * bus/activation.c: (bus_activation_entry_free),
645         (add_desktop_file_entry), (load_directory), (bus_activation_init):
646         * bus/activation.h:
647         * bus/main.c: (main):
648         Add simple activation support, doesn't work yet though.
649
650 2003-02-15   Zack Rusin  <zack@kde.org>
651
652         * qt/dbus-qthread.cpp:  small casting fix
653
654 2003-02-15  Anders Carlsson  <andersca@codefactory.se>
655
656         * dbus/dbus-errors.c: (dbus_set_error):
657         * dbus/dbus-errors.h:
658         Add a few errors and make dbus_set_error void.
659         
660         * dbus/dbus-sysdeps.c: 
661         (_dbus_errno_to_string), (close_and_invalidate), (make_pipe),
662         (write_err_and_exit), (read_ints), (do_exec), (_dbus_spawn_async):
663         * dbus/dbus-sysdeps.h:
664         Add _dbus_spawn_async.
665         
666         * test/spawn-test.c: (main):
667         Test for _dbus_spawn_async.
668         
669 2003-02-15  Anders Carlsson  <andersca@codefactory.se>
670
671         * dbus/dbus-internals.h:
672         Fix build without tests.
673         
674         * dbus/dbus-list.c: (alloc_link):
675         Fix a segfault when a malloc fails.
676         
677         * dbus/dbus-memory.c: (initialize_malloc_debug), (dbus_malloc),
678         (dbus_malloc0), (dbus_realloc):
679         Add support for malloc debugging.
680
681 2003-02-15  Alexander Larsson  <alexl@redhat.com>
682
683         * dbus/dbus-threads.c:
684         * dbus/dbus-threads.h:
685         Add condvars. Remove static mutext from API.
686         Implement static mutexes by initializing them from threads_init.
687         
688         * glib/dbus-gthread.c:
689         * qt/dbus-qthread.cpp:
690         Update with the thread api changes.
691
692                 
693         * dbus/dbus-list.c:
694         * dbus/dbus-list.h:
695         Turn StaticMutex into normal mutex + init function.
696         Export new functions _dbus_list_alloc_link, _dbus_list_free_link,
697         _dbus_list_append_link, _dbus_list_prepend_link
698
699
700         * dbus/dbus-sysdeps.c: 
701         * dbus/dbus-sysdeps.h:
702         New type dbus_atomic_t, and new functions _dbus_atomic_inc,
703         _dbus_atomic_dec. Only slow fallback implementation at the moment.
704         
705         * dbus/dbus-protocol.h:
706         Add DBUS_MESSAGE_LOCAL_DISCONNECT define
707         
708         * dbus/dbus-message.c:
709         Make ref/unref atomic.
710         Fix some docs.
711         
712         * dbus/dbus-connection-internal.h:
713         * dbus/dbus-connection.c:
714         * dbus/dbus-connection.h:
715         Make threadsafe.
716         Change _peek to _borrow,_return & _steal_borrowed.
717         Change disconnect callback to event.
718         Make dbus_connection_dispatch_messages reentrant.
719         
720         * dbus/dbus-transport.c:
721         Don't ref the connection on calls to the transport
722         implementation.
723         
724         * dbus/dbus-message-handler.c:
725         Make threadsafe.
726         
727         * glib/dbus-gmain.c:
728         Don't use peek_message anymore
729         
730         * test/Makefile.am:
731         * test/debug-thread.c:
732         * test/debug-thread.h:
733         Simple thread implementation that asserts() on deadlocks in
734         single-threaded code.
735         
736         * test/bus-test.c:
737         (main) Call debug_threads_init.
738
739         * test/watch.c:
740         Use disconnect message instead of disconnect callback.
741
742         * bus/connection.c:
743         * bus/connection.h:
744         Don't call dbus_connection_set_disconnect_function. Instead export
745         bus_connection_disconnect.
746         
747         * bus/dispatch.c:
748         Call bus_connection_disconnect when we get a disconnected message.
749         
750 2003-02-15  Havoc Pennington  <hp@pobox.com>
751
752         * dbus/dbus-message.c (dbus_message_new): fool around with the
753         docs
754
755 2003-02-14  Havoc Pennington  <hp@pobox.com>
756
757         * dbus/dbus-mempool.c: fail if the debug functions so indicate
758
759         * dbus/dbus-memory.c: fail if the debug functions indicate we
760         should
761
762         * dbus/dbus-internals.c (_dbus_set_fail_alloc_counter)
763         (_dbus_decrement_fail_alloc_counter): debug functions to 
764         simulate memory allocation failures
765
766 2003-02-14  Havoc Pennington  <hp@pobox.com>
767
768         * dbus/dbus-errors.h (struct DBusError): add a word of padding 
769         to DBusError
770
771 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
772
773         * bus/driver.c: (bus_driver_handle_hello):
774         * bus/driver.h:
775         * bus/services.c: (bus_service_lookup):
776         Reorder message sending so we get a more sane order.
777         
778         * test/bus-test.c: (message_handler):
779         Fix tyop.
780         
781 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
782
783         * bus/driver.c: (bus_driver_send_service_deleted),
784         (bus_driver_send_service_created), (bus_driver_send_service_lost),
785         (bus_driver_send_service_acquired), (bus_driver_handle_hello),
786         (bus_driver_send_welcome_message),
787         (bus_driver_handle_list_services),
788         (bus_driver_handle_acquire_service),
789         (bus_driver_handle_service_exists):
790         * dbus/dbus-bus.c: (dbus_bus_register_client),
791         (dbus_bus_acquire_service), (dbus_bus_service_exists):
792         * dbus/dbus-errors.c: (dbus_result_to_string):
793         * dbus/dbus-errors.h:
794         * dbus/dbus-message.c: (dbus_message_append_args),
795         (dbus_message_append_args_valist), (dbus_message_get_args),
796         (dbus_message_get_args_valist), (dbus_message_get_args_iter),
797         (dbus_message_iter_get_arg_type), (dbus_message_iter_get_string),
798         (dbus_message_iter_get_byte_array),
799         (dbus_message_iter_get_string_array), (message_iter_test),
800         (check_message_handling), (_dbus_message_test):
801         * dbus/dbus-message.h:
802         * test/bus-test.c: (main):
803         Change fields to arguments in messages, so that they won't be
804         confused with header fields.
805         
806         * glib/test-dbus-glib.c: (main):
807         Remove append_fields from hello message.
808         
809 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
810
811         * dbus/dbus-errors.c:
812         * dbus/dbus-message.c:
813         * dbus/dbus-string.c:
814         Documentation fixes.
815
816 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
817
818         * glib/dbus-gmain.c: (timeout_handler), (add_timeout),
819         (remove_timeout):
820         Implement support for timeouts in dbus-glib.
821         
822 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
823
824         * dbus/dbus-message-builder.c: (_dbus_message_data_load):
825         * dbus/dbus-message.c: (process_test_subdir):
826         * test/break-loader.c: (find_breaks_based_on):
827         Plug some memory leaks.
828         
829 2003-02-13  Richard Hult  <rhult@codefactory.se>
830
831         * bus/main.c: Fix build.
832
833         * dbus/dbus-errors.h: 
834         * dbus/dbus-errors.c: Fix copyright for Anders.
835
836 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
837
838         * bus/Makefile.am:
839         Add utils.[ch]
840         
841         * bus/connection.c: (bus_connection_foreach):
842         Fix a warning.
843         
844         * bus/desktop-file.c: (grow_lines_in_section), (grow_sections),
845         (unescape_string), (new_section), (parse_section_start),
846         (parse_key_value), (report_error), (bus_desktop_file_load),
847         (bus_desktop_file_get_string):
848         * bus/desktop-file.h:
849         Use DBusError for error reporting.
850         
851         * bus/dispatch.c: (send_one_message),
852         (bus_dispatch_message_handler):
853         * bus/driver.c: (bus_driver_send_service_deleted),
854         (bus_driver_send_service_created), (bus_driver_send_service_lost),
855         (bus_driver_send_service_acquired), (bus_driver_handle_hello),
856         (bus_driver_send_welcome_message),
857         (bus_driver_handle_list_services),
858         (bus_driver_handle_acquire_service),
859         (bus_driver_handle_service_exists):
860         * bus/loop.c: (bus_loop_run):
861         * bus/main.c:
862         Use BUS_HANDLE_OOM instead of _DBUS_HANDLE_OOM.
863         
864         * bus/utils.c: (bus_wait_for_memory):
865         * bus/utils.h:
866         New files with general utility functions.
867         
868         * dbus/dbus-internals.h:
869         Remove _DBUS_HANDLE_OOM.
870         
871 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
872
873         * dbus/dbus-errors.c: (dbus_result_to_string), (dbus_error_init),
874         (dbus_error_free), (dbus_set_error_const), (dbus_set_error):
875         * dbus/dbus-errors.h:
876         Add DBusError structure.
877         
878 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
879
880         * test/data/valid-messages/standard-acquire-service.message:
881         * test/data/valid-messages/standard-hello.message:
882         * test/data/valid-messages/standard-list-services.message:
883         * test/data/valid-messages/standard-service-exists.message:
884         Add some standard messages.
885         
886 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
887
888         * bus/driver.c: (bus_driver_send_welcome_message),
889         (bus_driver_handle_list_services),
890         (bus_driver_handle_acquire_service),
891         (bus_driver_handle_service_exists), (bus_driver_handle_message):
892         Update for API changes in libdbus.
893         
894         * dbus/dbus-message.c: (dbus_message_new_reply):
895         * dbus/dbus-message.h:
896         Remove the name argument. The spec states that replies shouldn't
897         have a name.
898
899 2003-02-13  Anders Carlsson  <andersca@codefactory.se>
900
901         * bus/desktop-file.c: (parse_section_start), (parse_key_value),
902         (report_error), (bus_desktop_file_load), (lookup_section),
903         (lookup_line), (bus_desktop_file_get_raw),
904         (bus_desktop_file_get_string):
905         * bus/desktop-file.h:
906         Some fixes, and new functions for getting a key value from a section.
907         
908 2003-02-13  Havoc Pennington  <hp@pobox.com>
909
910         * test/data/auth/fail-after-n-attempts.auth-script: new test
911
912         * dbus/dbus-auth.c (send_rejected): shutdown_mech() when we
913         reject the client.
914
915 2003-02-13  Havoc Pennington  <hp@pobox.com>
916
917         * dbus/dbus-auth.c (handle_server_data_external_mech): args to
918         dbus_credentials_match were backward
919
920         * dbus/dbus-auth-script.c (_dbus_auth_script_run): support
921         NO_CREDENTIALS and ROOT_CREDENTIALS
922
923         * dbus/dbus-auth.c (_dbus_auth_do_work): move get_state() routine 
924         into here. Never process more commands after we've reached an 
925         end state; store further data as unused bytes.
926
927         * test/data/auth/*: add more auth tests
928         
929         * dbus/dbus-auth-script.c (_dbus_auth_script_run): support EXPECT
930         command to match exact string and EXPECT_UNUSED to match unused
931         bytes
932
933         * test/Makefile.am (dist-hook): fix to dist all the test stuff
934
935 2003-02-12  Havoc Pennington  <hp@pobox.com>
936
937         * dbus/dbus-string.c (_dbus_string_pop_line): fix to also strip
938         \r off of popped lines
939
940         * dbus/dbus-auth.c (_dbus_auth_test): write code to run auth
941         scripts
942
943         * dbus/dbus-auth-script.c (_dbus_auth_script_run): when doing a
944         SEND, append \r\n
945
946 2003-02-12  Havoc Pennington  <hp@pobox.com>
947
948         * dbus/Makefile.am: remove break-loader from the build, since it
949         moved.
950
951         * configure.in: add --enable-gcov to turn on coverage profiling
952         flags and disable optimization
953
954 2003-02-10  Havoc Pennington  <hp@pobox.com>
955
956         * dbus/dbus-auth-script.c, dbus/dbus-auth-script.h: sync 
957         initial cut at test framework for DBusAuth from laptop.
958         Doesn't quite work yet but it compiles and I need to get 
959         it off the 266mhz laptop. ;-)
960         
961         * dbus/dbus-server-debug.c (_dbus_server_debug_accept_transport):
962         fix a memleak in error case
963
964 2003-02-12  Anders Carlsson  <andersca@codefactory.se>
965
966         * bus/Makefile.am:
967         * bus/desktop-file.c:
968         * bus/desktop-file.h:
969         Add a desktop file parser.
970
971 2003-02-11  Zack Rusin  <zack@kde.org>
972
973         * qt/message.[h|cpp]: sample implementation
974         of the KDE wrapper for DBusMessage
975
976 2003-02-09  Zack Rusin  <zack@kde.org>
977
978         * test/bus-test.c: make_it_compile
979         * doc/dbus-specification.sgml: minimal semantic fix
980
981 2003-02-06  Anders Carlsson  <andersca@codefactory.se>
982
983         Release 0.3
984         
985         * NEWS: Update
986
987 2003-02-06  Anders Carlsson  <andersca@codefactory.se>
988
989         * dbus/Makefile.am:
990         * dbus/dbus-break-loader.c:
991         * test/Makefile.am:
992         * test/break-loader.c:
993         Move dbus-break-loader to test/ and rename it to break-loader.
994
995 2003-02-02  Havoc Pennington  <hp@pobox.com>
996
997         * dbus/dbus-keyring.c, dbus/dbus-keyring.h: template files 
998         for code to manage cookies in your home directory
999
1000         * dbus/dbus-sysdeps.c (_dbus_generate_random_bytes): new function
1001
1002         * dbus/dbus-auth.c (get_state): impose a maximum number of tries
1003         to authenticate, then disconnect the client.
1004
1005 2003-02-03  Alexander Larsson  <alexl@redhat.com>
1006
1007         * dbus/dbus-message.c (dbus_message_append_fields):
1008         Correct docs.
1009
1010 2003-02-02  Anders Carlsson  <andersca@codefactory.se>
1011
1012         * doc/dbus-specification.sgml:
1013         Update address format section.
1014         
1015 2003-02-02  Anders Carlsson  <andersca@codefactory.se>
1016
1017         * test/Makefile.am:
1018         * test/bus-test.c: (get_time), (add_timeout), (remove_timeout),
1019         (message_handler), (new_connection_callback), (loop_quit),
1020         (loop_run), (main):
1021         Add bus test.
1022         
1023 2003-02-02  Anders Carlsson  <andersca@codefactory.se>
1024
1025         * bus/driver.c: (bus_driver_handle_service_exists):
1026         Simplify the code a bit.
1027         
1028         * dbus/dbus-bus.c: (dbus_bus_service_exists):
1029         Fix a silly. 
1030         
1031 2003-02-02  Anders Carlsson  <andersca@codefactory.se>
1032
1033         * bus/Makefile.am:
1034         Add libdbus-daemon.la and link to it.
1035
1036 2003-02-01  James Willcox  <jwillcox@gnome.org>
1037
1038         * bus/driver.c: (bus_driver_handle_own_service):
1039         Actually include the service reply code in the message.
1040
1041 2003-02-02  Anders Carlsson  <andersca@codefactory.se>
1042
1043         * bus/driver.c: (bus_driver_handle_service_exists):
1044         Don't unref the incoming message.
1045         
1046 2003-02-02  Anders Carlsson  <andersca@codefactory.se>
1047
1048         * dbus/dbus.h: Add dbus-address.h and dbus-bus.h
1049
1050 2003-02-02  Anders Carlsson  <andersca@codefactory.se>
1051
1052         * dbus/dbus-server.c: (dbus_server_listen):
1053         * dbus/dbus-transport.c: (_dbus_transport_open):
1054         ifdef out the calls to the debug transport and server.
1055         
1056 2003-02-02  Alexander Larsson  <alexl@redhat.com>
1057
1058         * dbus/dbus-watch.c (dbus_watch_get_flags):
1059         Add note in the docs that ERROR or HANGUP won't be returned
1060         and are assumed always on.
1061
1062         * glib/dbus-gmain.c (add_watch):
1063         Always add IO_ERR | IO_HUP
1064
1065         * dbus/dbus-message.h:
1066         Add semicolon after dbus_message_iter_get_string_array().
1067         Makes qt code build again
1068
1069 2003-02-01  Anders Carlsson  <andersca@codefactory.se>
1070
1071         * bus/driver.c: (create_unique_client_name),
1072         (bus_driver_handle_hello):
1073         Don't take a name, just use a numeric id to identify
1074         each client.
1075         
1076         * dbus/Makefile.am:
1077         * dbus/dbus-bus.c: (dbus_bus_register_client),
1078         (dbus_bus_acquire_service), (dbus_bus_service_exists):
1079         * dbus/dbus-bus.h:
1080         Add new convenience functions for communicating with the bus.
1081         
1082         * dbus/dbus-message.h:
1083         
1084         * dbus/dbus-protocol.h:
1085         Fix a typo.
1086         
1087 2003-02-01  Alexander Larsson  <alexl@redhat.com>
1088
1089         * dbus/dbus-message.c (dbus_message_append_fields):
1090         Add some more doc comments.
1091
1092 2003-02-01  Havoc Pennington  <hp@pobox.com>
1093
1094         * dbus/dbus-break-loader.c (randomly_modify_length): change 
1095         a 4-byte value in the message as if it were a length
1096
1097         * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): don't set
1098         execute bit on saved files
1099
1100 2003-02-01  Havoc Pennington  <hp@pobox.com>
1101
1102         * dbus/dbus-break-loader.c (main): new program to find messages
1103         that break the loader.
1104
1105         * dbus/dbus-sysdeps.c (_dbus_string_append_uint): new function
1106         * dbus/dbus-sysdeps.c (_dbus_string_save_to_file): new function
1107
1108         * dbus/dbus-string.c (_dbus_string_set_byte): new
1109         
1110 2003-01-31  Havoc Pennington  <hp@pobox.com>
1111
1112         * dbus/dbus-message.c: refactor the test code to be more general, 
1113         in preparation for writing a "randomly permute test cases to 
1114         try to break the loader" program.
1115
1116 2003-01-31  Havoc Pennington  <hp@pobox.com>
1117         
1118         * doc/dbus-specification.sgml: work on the specification
1119
1120         * dbus/dbus-message.c (_dbus_message_loader_return_buffer): check 
1121         the protocol version of the message.
1122
1123         * dbus/dbus-protocol.h: drop special _REPLY names, the spec 
1124         no longer specifies that.
1125         (DBUS_SERVICE_REPLY_SERVICE_EXISTS): fix flags (1/2/4/8 not 
1126         1/2/3/4)
1127
1128         * dbus/dbus-marshal.c (_dbus_marshal_get_arg_end_pos): add missing
1129         "break" for DBUS_TYPE_NIL, remove @todo
1130
1131 2003-01-31  Havoc Pennington  <hp@pobox.com>
1132
1133         * dbus/dbus-message.c (dbus_message_set_is_error_reply): rename 
1134         just set_is_error/get_is_error as this is a commonly-used
1135         function, and write docs.
1136
1137 2003-01-31  Anders Carlsson  <andersca@codefactory.se>
1138
1139         * dbus/dbus-address.c: (dbus_address_entry_free):
1140         Free key and value lists.
1141         
1142         * dbus/dbus-internals.c: (_dbus_type_to_string):
1143         Add the types we didn't have.
1144         
1145         * dbus/dbus-marshal.c: (_dbus_marshal_get_arg_end_pos),
1146         (_dbus_marshal_validate_arg):
1147         Add NIL types.
1148         
1149         * dbus/dbus-message.c: (dbus_message_set_sender):
1150         Remove todo about being able to set sender to NULL.
1151         
1152         (dbus_message_set_is_error_reply),
1153         (dbus_message_get_is_error_reply):
1154         * dbus/dbus-message.h:
1155         New functions.
1156         
1157         * dbus/dbus-protocol.h:
1158         Add error reply flag.
1159         
1160         * test/data/valid-messages/opposite-endian.message:
1161         Add NIL type to test.
1162         
1163 2003-01-31  Havoc Pennington  <hp@pobox.com>
1164
1165         * doc/dbus-specification.sgml: fully specify the header.  Add
1166         flags and major protocol version, and change header/body len to
1167         unsigned.
1168
1169         * dbus/dbus-message-builder.c (append_saved_length): append length
1170         as uint32
1171
1172         * dbus/dbus-message.c (dbus_message_create_header): change header
1173         length and body length to unsigned. Add the new fields from the
1174         spec
1175         (_dbus_message_loader_return_buffer): unsigned header/body len
1176
1177 2003-01-30  Havoc Pennington  <hp@pobox.com>
1178
1179         * dbus/dbus-auth.c: rework to use only REJECTED, no 
1180         MECHANISMS
1181
1182         * doc/dbus-sasl-profile.txt: drop MECHANISMS and just 
1183         use REJECTED, suggested by Mark McLoughlin
1184
1185 2003-01-30  Havoc Pennington  <hp@pobox.com>
1186
1187         * dbus/dbus-server.c (dbus_server_listen): @todo about how we need
1188         a better way to report errors here. e.g.  "unix address lacks
1189         path" or something. also "no such file" when the path doesn't
1190         exist, etc.
1191
1192         * dbus/dbus-address.c (dbus_address_entries_free): add @todo about
1193         leaking list nodes
1194         (dbus_parse_address): add @todo about documenting address format, 
1195         and allowing , and ; to be escaped
1196
1197 2003-01-30  Anders Carlsson  <andersca@codefactory.se>
1198
1199         * dbus/Makefile.am:
1200         Add dbus-address.[ch]
1201         
1202         * dbus/dbus-address.c: (dbus_address_entry_free),
1203         (dbus_address_entries_free), (create_entry),
1204         (dbus_address_entry_get_method), (dbus_address_entry_get_value),
1205         (dbus_parse_address), (_dbus_address_test):
1206         * dbus/dbus-address.h:
1207         New files for dealing with address parsing.
1208         
1209         * dbus/dbus-connection.c:
1210         Document timeout functions.
1211         
1212         * dbus/dbus-message.c:
1213         Document dbus_message_new_from_message.
1214         
1215         * dbus/dbus-server-debug.c:
1216         Document.
1217         
1218         * dbus/dbus-server.c: (dbus_server_listen):
1219         Parse address and use correct server implementation.
1220         
1221         * dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
1222         * dbus/dbus-string.h:
1223         New function with test.
1224         
1225         * dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
1226         * dbus/dbus-test.h:
1227         Add address tests.
1228         
1229         * dbus/dbus-transport-debug.c:
1230         Document.
1231         
1232         * dbus/dbus-transport.c: (_dbus_transport_open):
1233         Parse address and use correct transport implementation. 
1234
1235 2003-01-30  Havoc Pennington  <hp@pobox.com>
1236
1237         * dbus/dbus-message.c: use message->byte_order instead of 
1238         DBUS_COMPILER_BYTE_ORDER throughout.
1239         (dbus_message_create_header): pad header to align the 
1240         start of the body of the message to 8-byte boundary
1241
1242         * dbus/dbus-marshal.h: make all the demarshalers take const 
1243         DBusString arguments.
1244
1245         * dbus/dbus-message.c (_dbus_message_loader_return_buffer):
1246         validate message args here, so we don't have to do slow validation
1247         later, and so we catch bad messages as they are incoming. Also add
1248         better checks on header_len and body_len. Also fill in
1249         message->byte_order
1250
1251         * dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
1252         implemented properly)
1253         (_dbus_string_validate_nul): new function to check all-nul
1254
1255         * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename 
1256         get_arg_end_pos and remove all validation
1257         (_dbus_marshal_validate_arg): actually do validation here.
1258
1259 2003-01-29  Havoc Pennington  <hp@pobox.com>
1260
1261         * dbus/dbus-message.c (check_message_handling): fix assertion
1262         failure on set_client_serial
1263
1264 2003-01-28  Havoc Pennington  <hp@pobox.com>
1265
1266         * dbus/dbus-server-debug.c: Add doc section comments
1267         
1268         * dbus/dbus-transport-debug.c: add doc section comments
1269         
1270 2003-01-28  Havoc Pennington  <hp@redhat.com>
1271
1272         * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
1273         the reverse order from how I had it
1274         (_dbus_string_base64_encode): reverse encoding order. I was
1275         basically byteswapping everything during encoding.
1276
1277 2003-01-28  Anders Carlsson  <andersca@codefactory.se>
1278
1279         * dbus/dbus-connection-internal.h:
1280         * dbus/dbus-connection.c: (_dbus_connection_add_timeout),
1281         (_dbus_connection_remove_timeout):
1282         Add functions for adding and removing timeouts.
1283         
1284         * dbus/dbus-message.c: (dbus_message_new_from_message):
1285         Add new function that takes a message and creates an exact
1286         copy of it, but with the refcount set to 1.
1287         (check_message_handling):
1288         Fix build error.
1289         
1290         * dbus/dbus-server-protected.h:
1291         * dbus/dbus-server.c: (_dbus_server_init_base),
1292         (_dbus_server_finalize_base), (_dbus_server_add_timeout),
1293         (dbus_server_set_timeout_functions):
1294         (_dbus_server_remove_timeout):
1295         New functions so that a server can add and remove timeouts.
1296
1297         (dbus_server_listen):
1298         Add commented out call to dbus_server_debug_new.
1299
1300         * dbus/dbus-timeout.c: (_dbus_timeout_new):
1301         Actually set the handler, doh.
1302         
1303         * dbus/dbus-transport.c: (_dbus_transport_open):
1304         Add commented out call to dbus_transport_debug_client_new.
1305         
1306         * dbus/Makefile.am:
1307         Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
1308         
1309 2003-01-28  Havoc Pennington  <hp@pobox.com>
1310
1311         * dbus/dbus-message.c (check_message_handling): function to check 
1312         on the loaded message, iterates over it etc.
1313
1314 2003-01-28  Havoc Pennington  <hp@pobox.com>
1315
1316         * test/Makefile.am (dist-hook): fix make distdir
1317
1318         * dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
1319
1320 2003-01-27  Havoc Pennington  <hp@pobox.com>
1321
1322         * dbus/dbus-mempool.c (time_for_size): replace printf with 
1323         _dbus_verbose
1324
1325         * dbus/dbus-message-builder.c (_dbus_message_data_load): allow
1326         empty lines; fix the SAVE_LENGTH stuff to be
1327         START_LENGTH/END_LENGTH so it actually works; couple other 
1328         bugfixes
1329         
1330         * test/Makefile.am (dist-hook): add dist-hook for .message files
1331
1332         * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
1333         can be constant or locked.
1334         (_dbus_string_free): allow freeing a const string as
1335         documented/intended
1336
1337         * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
1338
1339         * dbus/dbus-test-main.c (main): take an argument which is the 
1340         directory containing test data
1341
1342         * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
1343         argument to this and load all the messages in test/data/
1344         checking that they can be loaded or not loaded as appropriate.
1345
1346 2003-01-27  Anders Carlsson  <andersca@codefactory.se>
1347
1348         * bus/dispatch.c: (bus_dispatch_message_handler):
1349         Dispatch messages sent to services.
1350         
1351         * bus/driver.c: (bus_driver_send_service_deleted),
1352         (bus_driver_send_service_created), (bus_driver_send_service_lost),
1353         (bus_driver_send_service_acquired):
1354         Add helper functions for sending service related messages.
1355
1356         (bus_driver_send_welcome_message):
1357         Send HELLO_REPLY instead of WELCOME.
1358         
1359         (bus_driver_handle_list_services):
1360         Send LIST_SERVICES_REPLY instead of SERVICES.
1361         
1362         (bus_driver_handle_own_service),
1363         (bus_driver_handle_service_exists):
1364         New message handlers.
1365         
1366         (bus_driver_handle_message):
1367         Invoke new message handlers.
1368         
1369         (bus_driver_remove_connection):
1370         Don't remove any services here since that's done automatically
1371         by bus_service_remove_owner now.
1372         
1373         * bus/driver.h:
1374         New function signatures.
1375         
1376         * bus/services.c: (bus_service_add_owner):
1377         Send ServiceAcquired message if we're the only primary owner.
1378         
1379         (bus_service_remove_owner):
1380         Send ServiceAcquired/ServiceLost messages.
1381         
1382         (bus_service_set_prohibit_replacement),
1383         (bus_service_get_prohibit_replacement):
1384         Functions for setting prohibit replacement.
1385         
1386         (bus_service_has_owner):
1387         New function that checks if a connection is in the owner queue of 
1388         a certain service.
1389         
1390         * bus/services.h:
1391         Add new function signatures.
1392         
1393         * dbus/dbus-list.c: (_dbus_list_test):
1394         Add tests for _dbus_list_remove_last and traversing the list backwards.
1395         
1396         * dbus/dbus-list.h:
1397         Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
1398         go any further, so return NULL then.
1399         
1400         * dbus/dbus-protocol.h:
1401         Add new messages, service flags and service replies.
1402         
1403 2003-01-26  Havoc Pennington  <hp@pobox.com>
1404
1405         * dbus/dbus-message-builder.c: implement, completely untested.
1406
1407         * test/data/*: add data to be used in testing. 
1408         ".message" files are our simple loadable text format.
1409         ".message-raw" will be binary dumps of messages.
1410
1411         * dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
1412
1413 2003-01-26  Havoc Pennington  <hp@pobox.com>
1414
1415         * dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
1416
1417         * dbus/dbus-errors.c (dbus_result_to_string): add
1418         file errors
1419
1420         * dbus/dbus-message-builder.c: new file, will contain code to load
1421         up messages from files. Not implemented yet.
1422
1423 2003-01-26  Havoc Pennington  <hp@pobox.com>
1424
1425         * dbus/dbus-message.c (dbus_message_set_sender): support deleting
1426         the sender by setting to NULL
1427
1428 2003-01-26  Havoc Pennington  <hp@pobox.com>
1429
1430         The unit tests pass, but otherwise untested.  If it breaks, the
1431         tests should have been better. ;-)
1432         
1433         * bus/driver.c (bus_driver_handle_hello): return if we disconnect
1434         the connection.
1435
1436         * dbus/dbus-message.c: redo everything so we maintain 
1437         message->header as the only copy of the various fields.
1438         This avoids the possibility of out-of-memory in some cases,
1439         for example dbus_message_lock() can't run out of memory anymore,
1440         and avoids extra copying. Figured I may as well go ahead and do 
1441         this since it was busted for dbus_message_lock to not return 
1442         failure on OOM, and dbus_message_write_header was totally
1443         unchecked for OOM. Also fixed some random other bugs.
1444
1445         * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
1446         that strings are nul-terminated. Also, end_pos can be equal 
1447         to string length just not greater than, I think.
1448         (_dbus_marshal_set_int32): new function
1449         (_dbus_marshal_set_uint32): new function
1450         (_dbus_marshal_set_string): new function
1451
1452         * dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
1453         a warning, init timeout_list to NULL
1454         (dbus_connection_send_message): don't use uninitialized variable
1455         "serial"
1456
1457         * dbus/dbus-string.c (_dbus_string_replace_len): new function
1458
1459 2003-01-26  Anders Carlsson  <andersca@codefactory.se>
1460
1461         * bus/driver.c: (bus_driver_handle_hello),
1462         (bus_driver_send_welcome_message):
1463         Plug leaks
1464         
1465 2003-01-26  Anders Carlsson  <andersca@codefactory.se>
1466
1467         * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
1468         * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
1469         (dbus_connection_unref):
1470         * dbus/dbus-marshal.c: (_dbus_marshal_test):
1471         * dbus/dbus-message.c: (dbus_message_unref),
1472         Plug memory leaks.
1473         
1474         (dbus_message_get_fields): 
1475         Remove debugging printout.
1476
1477         (_dbus_message_loader_return_buffer):
1478         Don't store the header string.
1479         
1480         (_dbus_message_test):
1481         Plug leaks.
1482
1483 2003-01-26  Richard Hult  <rhult@codefactory.se>
1484
1485         * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
1486         the file descriptor list, since it can change under us.
1487
1488 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
1489
1490         * glib/dbus-gmain.c: (dbus_connection_prepare),
1491         (dbus_connection_check), (dbus_connection_dispatch), (add_watch),
1492         (remove_watch), (dbus_connection_hookup_with_g_main):
1493         Rewrite the glib handling to use its own GSource instead of a 
1494         GIOChannel so we can catch messages put in the queue while waiting
1495         for a reply.
1496         
1497 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
1498
1499         * bus/Makefile.am:
1500         * bus/connection.c: (connection_disconnect_handler),
1501         (connection_watch_callback), (bus_connection_setup):
1502         * bus/dispatch.c: (send_one_message),
1503         (bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
1504         (bus_dispatch_add_connection), (bus_dispatch_remove_connection):
1505         * bus/dispatch.h:
1506         * bus/driver.c: (bus_driver_send_service_deleted),
1507         (bus_driver_send_service_created), (bus_driver_handle_hello),
1508         (bus_driver_send_welcome_message),
1509         (bus_driver_handle_list_services), (bus_driver_remove_connection),
1510         (bus_driver_handle_message):
1511         * bus/driver.h:
1512         Refactor code, put the message dispatching in its own file. Use 
1513         _DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
1514         is disconnected.
1515         
1516 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
1517
1518         * dbus/dbus-internals.h:
1519         Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
1520         
1521         * dbus/dbus-message.c: (dbus_message_get_sender):
1522         * dbus/dbus-message.h:
1523         Implement dbus_message_get_sender.
1524         
1525         * dbus/dbus-protocol.h:
1526         Add message and service defines.
1527         
1528 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
1529
1530         * dbus/dbus-connection.c: (dbus_connection_send_message):
1531         * dbus/dbus-message-internal.h:
1532         * dbus/dbus-message.c: (_dbus_message_get_client_serial),
1533         (dbus_message_write_header):
1534         Remove _dbus_messag_unlock and don't set the client serial on a 
1535         message if one already exists.
1536         
1537 2003-01-24  Havoc Pennington  <hp@pobox.com>
1538
1539         * dbus/dbus-list.c (alloc_link): put a thread lock on the global
1540         list_pool
1541
1542         * bus/driver.c (bus_driver_handle_list_services): fix a leak 
1543         on OOM
1544
1545 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
1546
1547         * dbus/dbus-list.c: (alloc_link), (free_link):
1548         Use a memory pool for the links.
1549         
1550 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
1551
1552         * bus/connection.c: (bus_connection_foreach):
1553         * bus/connection.h:
1554         Add new bus_connection_foreach function.
1555         
1556         * bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
1557         Add function that broadcasts a message to all clients.
1558         
1559         (bus_driver_send_service_created), (bus_driver_handle_hello),
1560         (bus_driver_send_welcome_message),
1561         (bus_driver_handle_list_services), (bus_driver_message_handler):
1562         Implement functions that take care of listing services, and notifying
1563         clients when new services are created.
1564         
1565         * bus/services.c: (bus_services_list):
1566         * bus/services.h:
1567         Add new function that returns an array of strings with the currently
1568         registered services.
1569         
1570         * glib/dbus-glib.h:
1571         * glib/dbus-gmain.c:
1572         Update copyright year.
1573         
1574 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
1575
1576         * dbus/dbus-connection.c: (dbus_connection_send_message):
1577         Unlock the message in case it was sent earlier.
1578         
1579         (dbus_connection_send_message_with_reply_and_block):
1580         Remove the reply message from the list.
1581         
1582         * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
1583         Set array_len and new_pos correctly.
1584         
1585         (_dbus_marshal_test):
1586         Remove debug output.
1587         
1588         * dbus/dbus-message-internal.h:
1589         * dbus/dbus-message.c: (_dbus_message_get_reply_serial):
1590         New function that returns the reply serial.
1591         
1592         (_dbus_message_unlock):
1593         New function that unlocks a message and resets its header.
1594
1595         (dbus_message_append_string_array), 
1596         (dbus_message_get_fields_valist),
1597         (dbus_message_iter_get_field_type),
1598         (dbus_message_iter_get_string_array),   
1599         (dbus_message_get_fields),      
1600         (dbus_message_append_fields_valist):
1601         Handle string arrays.
1602         
1603         (dbus_message_set_sender):
1604         Make this function public since the bus daemon needs it.
1605         
1606         (decode_header_data):
1607         Set the reply serial to -1 initially.
1608
1609         * dbus/dbus-message.h:
1610         Add dbus_message_set_sender.    
1611
1612 2003-01-24  Havoc Pennington  <hp@pobox.com>
1613
1614         * doc/dbus-specification.sgml: add some stuff
1615
1616 2003-01-22  Havoc Pennington  <hp@pobox.com>
1617
1618         * doc/dbus-specification.sgml: Start to document the protocol.
1619
1620 2003-01-22  Havoc Pennington  <hp@pobox.com>
1621
1622         * dbus/dbus-connection.c
1623         (dbus_connection_send_message_with_reply_and_block): add some @todo
1624
1625         * bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
1626
1627 2003-01-21  Havoc Pennington  <hp@pobox.com>
1628
1629         (patch untested because can't compile)
1630         
1631         * bus/driver.c (create_unique_client_name): make this function
1632         never recycle client names. Also, caller should initialize 
1633         the DBusString.
1634
1635         * dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
1636
1637 2003-01-21  Anders Carlsson  <andersca@codefactory.se>
1638
1639         * dbus/dbus-marshal.c: (_dbus_marshal_double),
1640         (_dbus_marshal_int32), (_dbus_marshal_uint32),
1641         (_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
1642         (_dbus_marshal_double_array), (_dbus_marshal_string_array),
1643         (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
1644         (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
1645         (_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
1646         * dbus/dbus-marshal.h:
1647         * dbus/dbus-protocol.h:
1648         Add support for marshalling and demarshalling integer, double
1649         and string arrays.
1650         
1651 2003-01-21  Anders Carlsson  <andersca@codefactory.se>
1652
1653         * bus/Makefile.am:
1654         Add driver.[ch]
1655         
1656         * bus/connection.c: (connection_disconnect_handler):
1657         Remove the connection from the bus driver's list.
1658         
1659         (connection_watch_callback): Dispatch messages.
1660
1661         (free_connection_data): Free connection name.
1662         
1663         (bus_connection_setup): Add connection to the bus driver's list.
1664         (bus_connection_remove_owned_service): 
1665         (bus_connection_set_name), (bus_connection_get_name):
1666         Add functions for setting and getting the connection's name.
1667         
1668         * bus/connection.h:
1669         Add function headers.
1670         
1671         * bus/driver.c: (create_unique_client_name),
1672         (bus_driver_handle_hello_message),
1673         (bus_driver_send_welcome_message), (bus_driver_message_handler),
1674         (bus_driver_add_connection), (bus_driver_remove_connection):
1675         * bus/driver.h:
1676         * bus/main.c:
1677         * bus/services.c: (bus_service_free):
1678         * bus/services.h:
1679         New file that handles communication and registreation with the bus
1680         itself. 
1681         
1682 2003-01-21  Anders Carlsson  <andersca@codefactory.se>
1683
1684         * dbus/dbus-connection.c: (dbus_connection_send_message):
1685         Add a new client_serial parameter.
1686         
1687         (dbus_connection_send_message_with_reply):
1688         Remove a @todo since we've implemented the blocking function.
1689         
1690         (dbus_connection_send_message_with_reply_and_block):
1691         New function that sends a message and waits for a reply and
1692         then returns the reply.
1693         
1694         * dbus/dbus-connection.h:
1695         Add new functions.
1696         
1697         * dbus/dbus-errors.c: (dbus_result_to_string):
1698         * dbus/dbus-errors.h:
1699         Add new DBUS_RESULT.
1700         
1701         * dbus/dbus-message-internal.h:
1702         * dbus/dbus-message.c: (_dbus_message_get_reply_serial),
1703         (_dbus_message_set_sender), (dbus_message_write_header),
1704         (dbus_message_new_reply), (decode_header_data),
1705         (_dbus_message_loader_return_buffer), (_dbus_message_test):
1706         * dbus/dbus-message.h:
1707         Add new functions that set the reply serial and sender.
1708         Also marshal and demarshal them correctly and add test.
1709         
1710         * dbus/dbus-protocol.h:
1711         Add new DBUS_MESSAGE_TYPE_SENDER.
1712         
1713         * glib/dbus-glib.h:
1714         * glib/dbus-gmain.c: (watch_callback), (free_callback_data),
1715         (add_watch), (remove_watch), (add_timeout), (remove_timeout),
1716         (dbus_connection_hookup_with_g_main):
1717         * glib/test-dbus-glib.c: (main):
1718         Rewrite to use GIOChannel and remove the GSource crack.
1719         
1720         * test/echo-client.c: (main):
1721         * test/watch.c: (check_messages):
1722         Update for changed APIs
1723         
1724 2003-01-19  Anders Carlsson  <andersca@codefactory.se>
1725
1726         * dbus/Makefile.am: Add dbus-timeout.[cħ]
1727         
1728         * dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
1729         Create a DBusTimeoutList.       
1730         (dbus_connection_set_timeout_functions): Add new function to
1731         set timeout callbacks
1732         
1733         * dbus/dbus-connection.h: Add public DBusTimeout API.
1734         
1735         * dbus/dbus-message.c: (dbus_message_get_service):
1736         * dbus/dbus-message.h:  New function.
1737
1738         * dbus/dbus-server.c: Fix small doc typo.
1739         
1740         * dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
1741
1742 2003-01-19  Anders Carlsson  <andersca@codefactory.se>
1743
1744         * dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
1745         of the string, just as long as specified.
1746
1747 2003-01-19  Havoc Pennington  <hp@pobox.com>
1748
1749         * dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
1750         new function
1751
1752         * dbus/dbus-server.c (dbus_server_set_max_connections)
1753         (dbus_server_get_max_connections, dbus_server_get_n_connections):
1754         keep track of current number of connections, and add API for
1755         setting a max (but haven't implemented enforcing the max yet)
1756
1757 2003-01-18  Havoc Pennington  <hp@pobox.com>
1758
1759         * dbus/dbus-transport-unix.c (unix_do_iteration): only do the
1760         reading/writing if read_watch != NULL or write_watch != NULL.
1761
1762         * dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
1763         the message loader code to actually load message->header and
1764         message->body into the newly-created message.
1765
1766         * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
1767         in OOM case
1768
1769         * dbus/dbus-connection.c (dbus_connection_set_max_message_size) 
1770         (dbus_connection_get_max_message_size) 
1771         (dbus_connection_set_max_live_messages_size) 
1772         (dbus_connection_get_max_live_messages_size): implement some
1773         resource limitation functions
1774
1775         * dbus/dbus-resources.c: new file implementing some of the
1776         resource limits stuff
1777
1778         * dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
1779         missing docs, add @todo to handle OOM etc.
1780
1781         * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
1782         docs
1783         
1784 2003-01-18  Havoc Pennington  <hp@pobox.com>
1785
1786         * dbus/dbus-connection.c (dbus_connection_unref): disconnect the 
1787         connection if it hasn't been already.
1788
1789         * dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
1790         replace with DisconnectFunction.
1791
1792 2003-01-18  Havoc Pennington  <hp@pobox.com>
1793
1794         Building --disable-verbose-mode --disable-asserts --disable-tests
1795         cuts the library from 112K to 45K or so
1796         
1797         * configure.in: check for varargs macro support, 
1798         add --enable-verbose-mode, --enable-asserts. 
1799
1800         * dbus/dbus-internals.h (_dbus_assert): support
1801         DBUS_DISABLE_ASSERT
1802         (_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
1803
1804 2003-01-18  Havoc Pennington  <hp@pobox.com>
1805
1806         * dbus/dbus-test.c: include config.h so that tests actually run
1807
1808         * dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
1809         so the failure mode when that assumption fails will be plenty
1810         obvious.
1811
1812 2003-01-18  Havoc Pennington  <hp@pobox.com>
1813
1814         * configure.in: default --enable-tests to $USE_MAINTAINER_MODE
1815
1816         * dbus/Makefile.am: fix it up so dubs-test-main.c is included in
1817         the distribution
1818
1819         * test/Makefile.am: don't use special variable "TESTS" for echo-*
1820         since we don't want to use those in make check
1821
1822 2003-01-15  Havoc Pennington  <hp@redhat.com>
1823
1824         Release 0.2
1825         
1826         * NEWS: update
1827
1828 2003-01-15  Havoc Pennington  <hp@redhat.com>
1829
1830         * test/Makefile.am: fix so that test source code ends up in the
1831         distribution on make distcheck
1832
1833 2003-01-15  Havoc Pennington  <hp@redhat.com>
1834
1835         Release 0.1.
1836         
1837         * NEWS: update  
1838
1839 2003-01-15  Havoc Pennington  <hp@redhat.com>
1840
1841         * dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
1842         fix build when --disable-tests
1843
1844         * Makefile.am (EXTRA_DIST): put HACKING in here
1845
1846         * HACKING: document procedure for making a tarball release.
1847
1848 2003-01-14  Anders Carlsson  <andersca@codefactory.se>
1849
1850         * bus/connection.c: (connection_error_handler),
1851         (bus_connection_setup):
1852         * bus/main.c: (main):
1853         Make sure that the DBusConnectionData struct is NULLed
1854         out to prevent a segfault.
1855         
1856         * dbus/dbus-errors.c: (dbus_result_to_string):
1857         * dbus/dbus-errors.h:
1858         * dbus/dbus-message.c: (dbus_message_get_fields),
1859         (dbus_message_get_fields_valist), (_dbus_message_test):
1860         * dbus/dbus-message.h:
1861         Make dbus_message_get_fields return a result code so we can
1862         track invalid fields as well as oom.
1863         
1864 2003-01-11  Havoc Pennington  <hp@pobox.com>
1865
1866         * configure.in: change --enable-test/--enable-ansi action-if-given
1867         to enable_foo=$enableval instead of enable_foo=yes
1868
1869 2003-01-08  Havoc Pennington  <hp@pobox.com>
1870
1871         * dbus/dbus-string.c (_dbus_string_align_length): new function
1872
1873         * dbus/dbus-test-main.c: move main() for test app here
1874         * dbus/dbus-test.c
1875         (dbus_internal_symbol_do_not_use_run_tests): we have to export a
1876         symbol to run tests, because dbus-test isn't in the main 
1877         library
1878
1879         Code review nitpicks.
1880         
1881         * dbus/dbus-message.c (dbus_message_write_header): add newlines
1882         for people with narrow emacs ;-). Assert client_serial was filled
1883         in. Assert message->name != NULL.
1884         (dbus_message_append_fields): have "first_field_type" arg separate
1885         from va list, needed for C++ binding that also uses varargs IIRC
1886         and helps with type safety
1887         (dbus_message_new): add @todo about using DBusString to store
1888         service/name internally
1889         (dbus_message_new): don't leak ->service and ->name on OOM later
1890         in the function
1891         (dbus_message_unref): free the service name
1892         (dbus_message_get_fields): same change to varargs
1893         i.e. first_field_type
1894         (_dbus_message_loader_return_buffer): assert that the message data
1895         is aligned (if not it's a bug in our code). Put in verbose griping
1896         about why we set corrupted = TRUE.
1897         (decode_header_data): add FIXME that char* is evil.  Was going to
1898         add FIXME about evil locale-specific string.h strncmp, but just
1899         switched to wacky string-as-uint32 optimization. Move check for
1900         "no room for field name" above get_const_data_len() to avoid
1901         assertion failure in get_const_data_len if we have trailing 2
1902         bytes or the like. Check for service and name fields being
1903         provided twice. Don't leak service/name on error. Require field
1904         names to be aligned to 4 bytes.
1905
1906         * dbus/dbus-marshal.c: move byte swap stuff to header
1907         (_dbus_pack_int32): uscore-prefix
1908         (_dbus_unpack_int32): uscore-prefix
1909         (_dbus_unpack_uint32): export
1910         (_dbus_demarshal_string): add @todo complaining about use of
1911         memcpy()
1912         (_dbus_marshal_get_field_end_pos): add @todo about bad error
1913         handling allowing corrupt data to go unchecked
1914
1915 2003-01-08  Havoc Pennington  <hp@redhat.com>
1916
1917         * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write 
1918         to the select() as needed for authentication. (should be using
1919         _dbus_poll() not select, but for another day)
1920
1921         * dbus/dbus.h: include dbus/dbus-protocol.h
1922
1923 2003-01-08  Anders Carlsson  <andersca@codefactory.se>
1924
1925         * dbus/Makefile.am (dbusinclude_HEADERS): Install
1926         dbus-connection.h
1927
1928 2003-01-08  Anders Carlsson  <andersca@codefactory.se>
1929
1930         * dbus/dbus-internals.c: (_dbus_type_to_string):
1931         New function that returns a string describing a type.
1932         
1933         * dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
1934         * dbus/dbus-marshal.h:
1935         * dbus/dbus-message.c: (dbus_message_get_fields_valist),
1936         (dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
1937         (dbus_message_iter_get_byte_array):
1938         * dbus/dbus-message.h:
1939         Add new convenience functions for appending and getting message fields.
1940         Also add demarshalling routines for byte arrays.
1941
1942 2003-01-07  Anders Carlsson  <andersca@codefactory.se>
1943
1944         * dbus/dbus-connection-internal.h:
1945         * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
1946         (_dbus_connection_get_next_client_serial),
1947         (dbus_connection_send_message):
1948         * dbus/dbus-internals.h:
1949         * dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
1950         (dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
1951         (_dbus_marshal_uint32), (_dbus_demarshal_double),
1952         (_dbus_demarshal_int32), (_dbus_demarshal_uint32),
1953         (_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
1954         (_dbus_verbose_bytes), (_dbus_marshal_test):
1955         * dbus/dbus-marshal.h:
1956         * dbus/dbus-message-internal.h:
1957         * dbus/dbus-message.c: (_dbus_message_set_client_serial),
1958         (dbus_message_write_header), (_dbus_message_lock),
1959         (dbus_message_new), (dbus_message_ref), (dbus_message_unref),
1960         (dbus_message_get_name), (dbus_message_append_int32),
1961         (dbus_message_append_uint32), (dbus_message_append_double),
1962         (dbus_message_append_string), (dbus_message_append_byte_array),
1963         (dbus_message_get_fields_iter), (dbus_message_iter_ref),
1964         (dbus_message_iter_unref), (dbus_message_iter_has_next),
1965         (dbus_message_iter_next), (dbus_message_iter_get_field_type),
1966         (dbus_message_iter_get_string), (dbus_message_iter_get_int32),
1967         (dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
1968         (decode_header_data), (_dbus_message_loader_return_buffer),
1969         (message_iter_test), (_dbus_message_test):
1970         * dbus/dbus-message.h:
1971         * dbus/dbus-protocol.h:
1972         * dbus/dbus-test.c: (main):
1973         * dbus/dbus-test.h:
1974         * glib/test-dbus-glib.c: (message_handler), (main):
1975         * test/echo-client.c: (main):
1976         * test/watch.c: (check_messages):
1977         Make messages sendable and receivable for real.
1978         
1979 2003-01-07  Anders Carlsson  <andersca@codefactory.se>
1980
1981         * dbus/dbus-marshal.c: (_dbus_marshal_double),
1982         (_dbus_marshal_string), (_dbus_marshal_byte_array):
1983         * dbus/dbus-message.c: (dbus_message_append_int32),
1984         (dbus_message_append_uint32), (dbus_message_append_double),
1985         (dbus_message_append_string), (dbus_message_append_byte_array):
1986         Handle OOM restoration.
1987         
1988 2003-01-07  Anders Carlsson  <andersca@codefactory.se>
1989
1990         * dbus/dbus-marshal.c: (_dbus_marshal_string),
1991         (_dbus_demarshal_string), (_dbus_marshal_test):
1992         * dbus/dbus-marshal.h:
1993         * dbus/dbus-message.c: (dbus_message_get_name),
1994         Document these functions.
1995         
1996         (dbus_message_append_int32), (dbus_message_append_uint32),
1997         (dbus_message_append_double), (dbus_message_append_string),
1998         (dbus_message_append_byte_array):
1999         * dbus/dbus-message.h:
2000         Add functions for adding message fields of different types.
2001         
2002         * dbus/dbus-protocol.h:
2003         Add the different types.
2004
2005 2003-01-05  Havoc Pennington  <hp@pobox.com>
2006
2007         * bus/connection.c: implement routines for handling connections,
2008         first thing is keeping a list of owned services on each connection
2009         and setting up watches etc.
2010
2011         * bus/services.c: implement a mapping from service names to lists
2012         of connections
2013
2014         * dbus/dbus-hash.c: add DBUS_HASH_POINTER
2015
2016         * dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
2017         to use static mutexes for global data
2018
2019         * dbus/dbus-connection.c (dbus_connection_set_data): add new
2020         collection of functions to set/get application-specific data
2021         on the DBusConnection.
2022
2023 2003-01-04  Havoc Pennington  <hp@pobox.com>
2024
2025         * dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
2026         (_dbus_poll): new function
2027
2028         * dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
2029         copied from GLib
2030
2031         * bus/loop.c: initial code for the daemon main loop
2032
2033 2003-01-04  Havoc Pennington  <hp@pobox.com>
2034
2035         * test/watch.c (error_handler): make it safe if the error handler 
2036         is called multiple times (if we s/error handler/disconnect
2037         handler/ we should just guarantee it's called only once)
2038
2039         * dbus/dbus-transport.c (_dbus_transport_disconnect): call the
2040         error handler on disconnect (it's quite possible we should
2041         just change the error handler to a "disconnect handler," I'm 
2042         not sure we have any other meaningful errors)
2043
2044         * configure.in: check for getpwnam_r
2045
2046         * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
2047         dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
2048         mechanism as in SASL spec, using socket credentials
2049
2050         * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
2051         (_dbus_send_credentials_unix_socket): new function
2052
2053         * dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
2054         dbus_accept()
2055         (_dbus_write): only check errno if <0 returned
2056         (_dbus_write_two): ditto
2057
2058 2003-01-02  Anders Carlsson  <andersca@codefactory.se>
2059
2060         * dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
2061         (_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
2062         (_dbus_marshal_test):
2063         * dbus/dbus-marshal.h:
2064         Add _dbus_marshal_byte_array and rename _dbus_marshal_string
2065         to _dbus_marshal_utf8_string. Also fix some tests.
2066         
2067 2002-12-28  Harri Porten  <porten@kde.org>
2068
2069         * configure.in: added check for C++ compiler and a very cheesy
2070         check for the Qt integration
2071
2072         * Makefile.am (SUBDIRS): compile qt subdir if support is enabled
2073
2074         * qt/Makefile.am: added 
2075
2076         * qt/.cvsignore: added  
2077
2078         * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
2079         latter, added #ifdef QT_THREAD_SUPPORT guard.
2080
2081         * dbus/Makefile.am: added missing headers for make dist
2082
2083 2002-12-28  Kristian Rietveld  <kris@gtk.org>
2084
2085         * dbus/Makefile.am: fixup export-symbols-regex.
2086
2087 2002-12-27  Anders Carlsson  <andersca@codefactory.se>
2088
2089         * acinclude.m4: Add this file and put the 
2090         PKG_CHECK_MODULE macro in it.
2091
2092 2002-12-27  Anders Carlsson  <andersca@codefactory.se>
2093
2094         * dbus/dbus-marshal.c: (_dbus_marshal_string),
2095         (_dbus_demarshal_double), (_dbus_demarshal_int32),
2096         (_dbus_demarshal_uint32), (_dbus_demarshal_string),
2097         (_dbus_marshal_test):
2098         Make the demarshalling routines align the pos argument.
2099         Add string marshalling tests and fix the obvious bugs 
2100         discovered.
2101         
2102 2002-12-26  Havoc Pennington  <hp@pobox.com>
2103
2104         * dbus/dbus-auth.c: fixes fixes fixes
2105
2106         * dbus/dbus-transport-unix.c: wire up support for
2107         encoding/decoding data on the wire
2108
2109         * dbus/dbus-auth.c (_dbus_auth_encode_data) 
2110         (_dbus_auth_decode_data): append to target string 
2111         instead of nuking it.
2112
2113 2002-12-26  Havoc Pennington  <hp@pobox.com>
2114
2115         * dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
2116         WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
2117         doh
2118
2119         * dbus/dbus-marshal.c: Add macros to do int swapping in-place and
2120         avoid swap_bytes() overhead (ignoring possible assembly stuff for 
2121         now). Main point is because I wanted unpack_uint32 to implement
2122         _dbus_verbose_bytes
2123         (_dbus_verbose_bytes): new function
2124
2125         * dbus/dbus-string.c (_dbus_string_validate_ascii): new function
2126
2127         * dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
2128         mechanism to handle a corrupt message stream
2129         (_dbus_message_loader_new): fix preallocation to only prealloc, 
2130         not prelengthen
2131         
2132         * dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
2133         (_dbus_string_test): enhance tests for copy/move and fix the
2134         functions
2135
2136         * dbus/dbus-transport-unix.c: Hold references in more places to 
2137         avoid reentrancy problems
2138
2139         * dbus/dbus-transport.c: ditto
2140
2141         * dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
2142         leak reference count in no-message case
2143
2144         * test/watch.c (do_mainloop): handle adding/removing watches
2145         during iteration over the watches. Also, ref the connection/server
2146         stored on a watch, so we don't try to mangle a destroyed one.
2147
2148         * dbus/dbus-transport-unix.c (do_authentication): perform
2149         authentication
2150
2151         * dbus/dbus-auth.c (get_state): add a state
2152         AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
2153         (_dbus_auth_get_unused_bytes): append the unused bytes
2154         to the passed in string, rather than prepend
2155
2156         * dbus/dbus-transport.c (_dbus_transport_init_base): create 
2157         the auth conversation DBusAuth
2158
2159         * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
2160         (_dbus_transport_new_for_domain_socket): when creating a
2161         transport, pass in whether it's a client-side or server-side
2162         transport so we know which DBusAuth to create
2163
2164 2002-12-03  Havoc Pennington  <hp@pobox.com>
2165
2166         * dbus/dbus-transport-unix.c (unix_finalize): finalize base
2167         _after_ finalizing the derived members
2168         (unix_connection_set): unref watch if we fail to add it
2169
2170         * dbus/dbus-connection.c (dbus_connection_unref): delete the
2171         transport first, so that the connection owned by the 
2172         transport will be valid as the transport finalizes.
2173
2174         * dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
2175         if necessary, and remove watches from the connection.
2176         
2177         * dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
2178         
2179 2002-12-26  Anders Carlsson  <andersca@codefactory.se>
2180
2181         * dbus/dbus-marshal.c: (_dbus_marshal_string),
2182         (_dbus_demarshal_double), (_dbus_demarshal_int32),
2183         (_dbus_demarshal_uint32), (_dbus_demarshal_string),
2184         (_dbus_marshal_test):
2185         * dbus/dbus-marshal.h:
2186         Add string marshal functions and have the demarshal functions
2187         return the new position.
2188         
2189 2002-12-25  Havoc Pennington  <hp@pobox.com>
2190
2191         * doc/dbus-sasl-profile.txt: docs on the authentication protocol, 
2192         it is a simple protocol that just maps directly to SASL.
2193
2194         * dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
2195         initial implementation, not actually used yet.
2196         
2197         * dbus/dbus-string.c (_dbus_string_find): new function
2198         (_dbus_string_equal): new function
2199         (_dbus_string_base64_encode): new function
2200         (_dbus_string_base64_decode): new function
2201
2202 2002-12-25  Anders Carlsson  <andersca@codefactory.se>
2203
2204         * dbus/Makefile.am:
2205         * dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
2206         (_dbus_marshal_int32), (_dbus_marshal_uint32),
2207         (_dbus_demarshal_double), (_dbus_demarshal_int32),
2208         (_dbus_demarshal_uint32), (_dbus_marshal_test):
2209         * dbus/dbus-marshal.h:
2210         * dbus/dbus-protocol.h:
2211         * dbus/dbus-test.c: (main):
2212         * dbus/dbus-test.h:
2213         Add un-optimized marshalling/demarshalling routines.
2214         
2215 2002-12-25  Harri Porten  <porten@kde.org>
2216
2217         * qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
2218
2219 2002-12-24  Zack Rusin  <zack@kde.org>
2220
2221         * qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
2222         * qt/dbus-qt.h: skeleton with two sample implemenatation of the
2223         main loop stuff
2224
2225 2002-12-24  Havoc Pennington  <hp@pobox.com>
2226
2227         * glib/dbus-gthread.c: fix include
2228
2229         * glib/dbus-glib.h: rename DBusMessageHandler for now. 
2230         I think glib API needs to change, though, as you don't 
2231         want to use DBusMessageFunction, you want to use the 
2232         DBusMessageHandler object. Probably 
2233         dbus_connection_open_with_g_main_loop()
2234         and dbus_connection_setup_g_main_loop() or something like that
2235         (but think of better names...) that just create a connection 
2236         that has watch/timeout functions etc. already set up.
2237
2238         * dbus/dbus-connection.c
2239         (dbus_connection_send_message_with_reply): new function just to 
2240         show how the message handler helps us deal with replies.
2241
2242         * dbus/dbus-list.c (_dbus_list_remove_last): new function
2243
2244         * dbus/dbus-string.c (_dbus_string_test): free a string that
2245         wasn't
2246
2247         * dbus/dbus-hash.c: use memory pools for the hash entries
2248         (rebuild_table): be more paranoid about overflow, and 
2249         shrink table when we can
2250         (_dbus_hash_test): reduce number of sprintfs and write
2251         valid C89. Add tests for case where we grow and then 
2252         shrink the hash table.
2253
2254         * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
2255
2256         * dbus/dbus-connection.c (dbus_connection_register_handler) 
2257         (dbus_connection_unregister_handler): new functions
2258
2259         * dbus/dbus-message.c (dbus_message_get_name): new
2260
2261         * dbus/dbus-list.c: fix docs typo
2262
2263         * dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
2264         an object representing a handler for messages.
2265
2266 2002-12-16  Anders Carlsson  <andersca@codefactory.se>
2267
2268         * glib/dbus-glib.h:
2269         * glib/dbus-gthread.c: (dbus_gthread_init):
2270         Don't use the gdbus prefix for public functions.
2271         
2272 2002-12-16  Anders Carlsson  <andersca@codefactory.se>
2273
2274         * Makefile.am:
2275         * configure.in:
2276         Add GLib checks and fixup .pc files
2277         
2278         * glib/Makefile.am:
2279         * glib/dbus-glib.h:
2280         * glib/dbus-gmain.c: (gdbus_connection_prepare),
2281         (gdbus_connection_check), (gdbus_connection_dispatch),
2282         (gdbus_add_connection_watch), (gdbus_remove_connection_watch),
2283         (dbus_connection_gsource_new):
2284         * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
2285         (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
2286         * glib/test-dbus-glib.c: (message_handler), (main):
2287         Add GLib support.
2288         
2289 2002-12-15  Harri Porten  <porten@kde.org>
2290
2291         * autogen.sh: check for libtoolize before attempting to use it 
2292         
2293         * dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
2294         struct.
2295         
2296         * .cvsignore: ignore more stamp files
2297
2298         * dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
2299
2300         * test/Makefile.am: added -I$(top_srcdir) to be able to compile
2301         without make install.
2302
2303 2002-12-15  Havoc Pennington  <hp@pobox.com>
2304
2305         * dbus/dbus-threads.c: add thread stubs that a higher library
2306         layer can fill in. e.g. the GLib wrapper might fill them in with
2307         GThread stuff. We still need to use this thread API to
2308         thread-safe-ize the library.
2309
2310 2002-12-12  Havoc Pennington  <hp@pobox.com>
2311
2312         * dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
2313         below new interfaces and include fewer system headers.
2314
2315         * dbus/dbus-sysdeps.c (_dbus_read): new function
2316         (_dbus_write): new function
2317         (_dbus_write_two): new function
2318         (_dbus_connect_unix_socket): new function
2319         (_dbus_listen_unix_socket): new function
2320
2321         * dbus/dbus-message-internal.h: change interfaces to use
2322         DBusString
2323
2324 2002-12-11  Havoc Pennington  <hp@pobox.com>
2325
2326         * dbus/dbus-types.h: add dbus_unichar
2327
2328         * dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
2329
2330         * dbus/dbus-connection.c (dbus_connection_send_message): return
2331         TRUE on success
2332
2333         * dbus/dbus-transport.c: include dbus-watch.h   
2334
2335         * dbus/dbus-connection.c: include dbus-message-internal.h
2336
2337         * HACKING: add file with coding guidelines stuff.
2338
2339         * dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
2340         handling here, for security purposes (as in vsftpd). Not actually
2341         using this class yet.
2342
2343         * dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
2344         system/libc usage here, as in vsftpd, for ease of auditing (and
2345         should also simplify portability). Haven't actually moved all the
2346         system/libc usage into here yet.
2347         
2348 2002-11-25  Havoc Pennington  <hp@pobox.com>
2349
2350         * dbus/dbus-internals.c (_dbus_verbose): fix to not 
2351         always print the first verbose message.
2352
2353 2002-11-24  Havoc Pennington  <hp@pobox.com>
2354
2355         * test/echo-client.c, test/echo-server.c: cheesy test 
2356         clients.
2357         
2358         * configure.in (AC_CHECK_FUNCS): check for writev
2359
2360         * dbus/dbus-message.c (_dbus_message_get_network_data): new
2361         function
2362
2363         * dbus/dbus-list.c (_dbus_list_foreach): new function
2364
2365         * dbus/dbus-internals.c (_dbus_verbose): new function
2366
2367         * dbus/dbus-server.c, dbus/dbus-server.h: public object
2368         representing a server that listens for connections.
2369
2370         * dbus/.cvsignore: create
2371
2372         * dbus/dbus-errors.h, dbus/dbus-errors.c:
2373         public API for reporting errors
2374
2375         * dbus/dbus-connection.h, dbus/dbus-connection.c:
2376         public object representing a connection that 
2377         sends/receives messages. (Same object used for 
2378         both client and server.)
2379
2380         * dbus/dbus-transport.h, dbus/dbus-transport.c:
2381         Basic abstraction for different kinds of stream
2382         that we might read/write messages from.
2383
2384 2002-11-23  Havoc Pennington  <hp@pobox.com>
2385
2386         * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN 
2387         _DBUS_INT_MAX
2388
2389         * dbus/dbus-test.c (main): add list test, and include 
2390         dbus-test.h as intended
2391
2392         * dbus/dbus-hash.c (_dbus_hash_table_remove_string) 
2393         (_dbus_hash_table_remove_int): return value indicates 
2394         whether the entry existed to remove
2395
2396         * dbus/dbus-list.c: add linked list utility class, 
2397         with docs and tests
2398
2399         * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket 
2400         array sometimes.
2401
2402 2002-11-23  Havoc Pennington  <hp@pobox.com>
2403
2404         * Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
2405         DBUS_END_DECLS to nothing, that should fix this once and for all
2406
2407         * Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
2408
2409         * dbus/dbus-message.c, dbus/dbus-hash.c: 
2410         add some missing @brief
2411
2412 2002-11-23  Havoc Pennington  <hp@pobox.com>
2413
2414         * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS 
2415         to avoid confusing Doxygen
2416
2417         * dbus/dbus-hash.c: @} not }@
2418
2419         * dbus/dbus-message.c (struct DBusMessage): split out 
2420         internals docs
2421
2422 2002-11-23  Havoc Pennington  <hp@pobox.com>
2423
2424         * configure.in: pile on more warning flags if using gcc
2425
2426         * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have 
2427         to document static functions
2428
2429         * configure.in: add summary to end of configure so it 
2430         looks nice and attractive
2431
2432         * dbus/dbus-hash.c: finish implementation and write unit 
2433         tests and docs
2434
2435         * configure.in: add --enable-tests to enable unit tests
2436
2437         * dbus/dbus-test.c: test program to run unit tests 
2438         for all files in dbus/*, initially runs a test for 
2439         dbus-hash.c
2440         
2441         * dbus/dbus-internals.h: file to hold some internal utility stuff
2442
2443 2002-11-22  Havoc Pennington  <hp@redhat.com>
2444
2445         * dbus/dbus-hash.c: copy in Tcl hash table, not yet 
2446         "ported" away from Tcl
2447
2448         * dbus/dbus-types.h: header for types such as dbus_bool_t
2449
2450 2002-11-22  Havoc Pennington  <hp@redhat.com>
2451
2452         * dbus/dbus.h: fixups for doc warnings
2453
2454         * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up 
2455         macros
2456         (QUIET): make it quiet so we can see warnings
2457
2458         * dbus/dbus-memory.c: teach D-BUS to allocate and free memory
2459
2460 2002-11-22  Havoc Pennington  <hp@redhat.com>
2461
2462         * Makefile.am: include "Doxyfile" target in all-local
2463
2464         * configure.in: generate the Doxyfile
2465
2466         * Doxyfile.in: move Doxyfile here, so we can use 
2467         configure to generate a Doxyfile with the right 
2468         version number etc.
2469
2470 2002-11-22  Havoc Pennington  <hp@redhat.com>
2471
2472         * dbus/dbus-message.c: move inline docs into .c file
2473
2474         * Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
2475         so all docs are under doc/
2476         (MAN_EXTENSION): generate man pages. Use extension 
2477         ".3dbus" which matches ".3qt" on my system, 
2478         I guess this is OK, I don't know really.
2479         (FILE_PATTERNS): look for .c files not .h, makes sense
2480         for plain C I think
2481
2482 2002-11-22  Havoc Pennington  <hp@pobox.com>
2483
2484         * Makefile.am (SUBDIRS): rename subdir "server" to "bus" 
2485         because any app can be a server, and any app can be a client, 
2486         the bus is a special kind of server.
2487
2488 Thu Nov 21 23:35:31 2002  Zack Rusin  <zack@kde.org>
2489
2490         * Doxyfile : adding. Still needs Makefile rules to be generated
2491         automatically (just run "doxygen" in the toplevel dir for now to
2492         generate docs)
2493         
2494         * dbus/dbus-message.h : Adding sample docs (javadoc since
2495         resembles gtk-doc a little more)
2496
2497         * dbus/dbus.h : Adding sample docs
2498
2499 2002-11-21  Havoc Pennington  <hp@redhat.com>
2500
2501         * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION 
2502         so we can allow ourselves to include files directly, 
2503         instead of having to use dbus.h
2504
2505         * dbus/dbus.h: fill in
2506
2507         * dbus/dbus-message.h: sketch out a sample header file.
2508         Include griping if you include it directly instead of 
2509         via dbus.h
2510
2511         * dbus/dbus-macros.h: new file with macros for extern "C", 
2512         TRUE/FALSE, NULL, etc.
2513
2514         * doc/file-boilerplate.c: put include guards in here
2515
2516 2002-11-21  Havoc Pennington  <hp@redhat.com>
2517
2518         * doc/file-boilerplate.c: include both AFL and GPL boilerplate.
2519
2520         * COPYING: include the GPL as well, and license code 
2521         under both AFL and GPL.
2522
2523 2002-11-21  Havoc Pennington  <hp@redhat.com>
2524
2525         * acconfig.h: get rid of this
2526
2527         * autogen.sh (run_configure): add --no-configure option
2528
2529         * configure.in: remove AC_ARG_PROGRAM to make
2530         autoconf complain less. add AC_PREREQ. 
2531         add AC_DEFINE third arg.
2532         
2533 2002-11-21  Anders Carlsson  <andersca@codefactory.se>
2534
2535         * doc/Makefile.am:
2536         Fix references so we can distcheck.
2537
2538 2002-11-21  Havoc Pennington  <hp@redhat.com>
2539
2540         * Initial module creation
2541