2003-01-30 Havoc Pennington <hp@pobox.com>
[platform/upstream/dbus.git] / ChangeLog
1 2003-01-30  Havoc Pennington  <hp@pobox.com>
2
3         * dbus/dbus-server.c (dbus_server_listen): @todo about how we need
4         a better way to report errors here. e.g.  "unix address lacks
5         path" or something. also "no such file" when the path doesn't
6         exist, etc.
7
8         * dbus/dbus-address.c (dbus_address_entries_free): add @todo about
9         leaking list nodes
10         (dbus_parse_address): add @todo about documenting address format, 
11         and allowing , and ; to be escaped
12
13 2003-01-30  Anders Carlsson  <andersca@codefactory.se>
14
15         * dbus/Makefile.am:
16         Add dbus-address.[ch]
17         
18         * dbus/dbus-address.c: (dbus_address_entry_free),
19         (dbus_address_entries_free), (create_entry),
20         (dbus_address_entry_get_method), (dbus_address_entry_get_value),
21         (dbus_parse_address), (_dbus_address_test):
22         * dbus/dbus-address.h:
23         New files for dealing with address parsing.
24         
25         * dbus/dbus-connection.c:
26         Document timeout functions.
27         
28         * dbus/dbus-message.c:
29         Document dbus_message_new_from_message.
30         
31         * dbus/dbus-server-debug.c:
32         Document.
33         
34         * dbus/dbus-server.c: (dbus_server_listen):
35         Parse address and use correct server implementation.
36         
37         * dbus/dbus-string.c: (_dbus_string_find_to), (_dbus_string_test):
38         * dbus/dbus-string.h:
39         New function with test.
40         
41         * dbus/dbus-test.c: (dbus_internal_symbol_do_not_use_run_tests):
42         * dbus/dbus-test.h:
43         Add address tests.
44         
45         * dbus/dbus-transport-debug.c:
46         Document.
47         
48         * dbus/dbus-transport.c: (_dbus_transport_open):
49         Parse address and use correct transport implementation. 
50
51 2003-01-30  Havoc Pennington  <hp@pobox.com>
52
53         * dbus/dbus-message.c: use message->byte_order instead of 
54         DBUS_COMPILER_BYTE_ORDER throughout.
55         (dbus_message_create_header): pad header to align the 
56         start of the body of the message to 8-byte boundary
57
58         * dbus/dbus-marshal.h: make all the demarshalers take const 
59         DBusString arguments.
60
61         * dbus/dbus-message.c (_dbus_message_loader_return_buffer):
62         validate message args here, so we don't have to do slow validation
63         later, and so we catch bad messages as they are incoming. Also add
64         better checks on header_len and body_len. Also fill in
65         message->byte_order
66
67         * dbus/dbus-string.c (_dbus_string_validate_utf8): new (not
68         implemented properly)
69         (_dbus_string_validate_nul): new function to check all-nul
70
71         * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): rename 
72         get_arg_end_pos and remove all validation
73         (_dbus_marshal_validate_arg): actually do validation here.
74
75 2003-01-29  Havoc Pennington  <hp@pobox.com>
76
77         * dbus/dbus-message.c (check_message_handling): fix assertion
78         failure on set_client_serial
79
80 2003-01-28  Havoc Pennington  <hp@pobox.com>
81
82         * dbus/dbus-server-debug.c: Add doc section comments
83         
84         * dbus/dbus-transport-debug.c: add doc section comments
85         
86 2003-01-28  Havoc Pennington  <hp@redhat.com>
87
88         * dbus/dbus-string.c (_dbus_string_base64_decode): append bytes in
89         the reverse order from how I had it
90         (_dbus_string_base64_encode): reverse encoding order. I was
91         basically byteswapping everything during encoding.
92
93 2003-01-28  Anders Carlsson  <andersca@codefactory.se>
94
95         * dbus/dbus-connection-internal.h:
96         * dbus/dbus-connection.c: (_dbus_connection_add_timeout),
97         (_dbus_connection_remove_timeout):
98         Add functions for adding and removing timeouts.
99         
100         * dbus/dbus-message.c: (dbus_message_new_from_message):
101         Add new function that takes a message and creates an exact
102         copy of it, but with the refcount set to 1.
103         (check_message_handling):
104         Fix build error.
105         
106         * dbus/dbus-server-protected.h:
107         * dbus/dbus-server.c: (_dbus_server_init_base),
108         (_dbus_server_finalize_base), (_dbus_server_add_timeout),
109         (dbus_server_set_timeout_functions):
110         (_dbus_server_remove_timeout):
111         New functions so that a server can add and remove timeouts.
112
113         (dbus_server_listen):
114         Add commented out call to dbus_server_debug_new.
115
116         * dbus/dbus-timeout.c: (_dbus_timeout_new):
117         Actually set the handler, doh.
118         
119         * dbus/dbus-transport.c: (_dbus_transport_open):
120         Add commented out call to dbus_transport_debug_client_new.
121         
122         * dbus/Makefile.am:
123         Add dbus-transport-debug.[ch] and dbus-server-debug.[ch]
124         
125 2003-01-28  Havoc Pennington  <hp@pobox.com>
126
127         * dbus/dbus-message.c (check_message_handling): function to check 
128         on the loaded message, iterates over it etc.
129
130 2003-01-28  Havoc Pennington  <hp@pobox.com>
131
132         * test/Makefile.am (dist-hook): fix make distdir
133
134         * dbus/Makefile.am (TESTS_ENVIRONMENT): fix make check
135
136 2003-01-27  Havoc Pennington  <hp@pobox.com>
137
138         * dbus/dbus-mempool.c (time_for_size): replace printf with 
139         _dbus_verbose
140
141         * dbus/dbus-message-builder.c (_dbus_message_data_load): allow
142         empty lines; fix the SAVE_LENGTH stuff to be
143         START_LENGTH/END_LENGTH so it actually works; couple other 
144         bugfixes
145         
146         * test/Makefile.am (dist-hook): add dist-hook for .message files
147
148         * dbus/dbus-string.c (DBUS_STRING_COPY_PREAMBLE): source of a copy
149         can be constant or locked.
150         (_dbus_string_free): allow freeing a const string as
151         documented/intended
152
153         * dbus/dbus-sysdeps.c (_dbus_concat_dir_and_file): utility
154
155         * dbus/dbus-test-main.c (main): take an argument which is the 
156         directory containing test data
157
158         * dbus/dbus-message.c (_dbus_message_test): pass a test_data_dir
159         argument to this and load all the messages in test/data/
160         checking that they can be loaded or not loaded as appropriate.
161
162 2003-01-27  Anders Carlsson  <andersca@codefactory.se>
163
164         * bus/dispatch.c: (bus_dispatch_message_handler):
165         Dispatch messages sent to services.
166         
167         * bus/driver.c: (bus_driver_send_service_deleted),
168         (bus_driver_send_service_created), (bus_driver_send_service_lost),
169         (bus_driver_send_service_acquired):
170         Add helper functions for sending service related messages.
171
172         (bus_driver_send_welcome_message):
173         Send HELLO_REPLY instead of WELCOME.
174         
175         (bus_driver_handle_list_services):
176         Send LIST_SERVICES_REPLY instead of SERVICES.
177         
178         (bus_driver_handle_own_service),
179         (bus_driver_handle_service_exists):
180         New message handlers.
181         
182         (bus_driver_handle_message):
183         Invoke new message handlers.
184         
185         (bus_driver_remove_connection):
186         Don't remove any services here since that's done automatically
187         by bus_service_remove_owner now.
188         
189         * bus/driver.h:
190         New function signatures.
191         
192         * bus/services.c: (bus_service_add_owner):
193         Send ServiceAcquired message if we're the only primary owner.
194         
195         (bus_service_remove_owner):
196         Send ServiceAcquired/ServiceLost messages.
197         
198         (bus_service_set_prohibit_replacement),
199         (bus_service_get_prohibit_replacement):
200         Functions for setting prohibit replacement.
201         
202         (bus_service_has_owner):
203         New function that checks if a connection is in the owner queue of 
204         a certain service.
205         
206         * bus/services.h:
207         Add new function signatures.
208         
209         * dbus/dbus-list.c: (_dbus_list_test):
210         Add tests for _dbus_list_remove_last and traversing the list backwards.
211         
212         * dbus/dbus-list.h:
213         Fix a typo in _dbus_list_get_prev_link, if we're at the first element we can't
214         go any further, so return NULL then.
215         
216         * dbus/dbus-protocol.h:
217         Add new messages, service flags and service replies.
218         
219 2003-01-26  Havoc Pennington  <hp@pobox.com>
220
221         * dbus/dbus-message-builder.c: implement, completely untested.
222
223         * test/data/*: add data to be used in testing. 
224         ".message" files are our simple loadable text format.
225         ".message-raw" will be binary dumps of messages.
226
227         * dbus/dbus-string.c (_dbus_string_starts_with_c_str): new
228
229 2003-01-26  Havoc Pennington  <hp@pobox.com>
230
231         * dbus/dbus-sysdeps.c (_dbus_file_get_contents): new function
232
233         * dbus/dbus-errors.c (dbus_result_to_string): add
234         file errors
235
236         * dbus/dbus-message-builder.c: new file, will contain code to load
237         up messages from files. Not implemented yet.
238
239 2003-01-26  Havoc Pennington  <hp@pobox.com>
240
241         * dbus/dbus-message.c (dbus_message_set_sender): support deleting
242         the sender by setting to NULL
243
244 2003-01-26  Havoc Pennington  <hp@pobox.com>
245
246         The unit tests pass, but otherwise untested.  If it breaks, the
247         tests should have been better. ;-)
248         
249         * bus/driver.c (bus_driver_handle_hello): return if we disconnect
250         the connection.
251
252         * dbus/dbus-message.c: redo everything so we maintain 
253         message->header as the only copy of the various fields.
254         This avoids the possibility of out-of-memory in some cases,
255         for example dbus_message_lock() can't run out of memory anymore,
256         and avoids extra copying. Figured I may as well go ahead and do 
257         this since it was busted for dbus_message_lock to not return 
258         failure on OOM, and dbus_message_write_header was totally
259         unchecked for OOM. Also fixed some random other bugs.
260
261         * dbus/dbus-marshal.c (_dbus_marshal_get_field_end_pos): verify
262         that strings are nul-terminated. Also, end_pos can be equal 
263         to string length just not greater than, I think.
264         (_dbus_marshal_set_int32): new function
265         (_dbus_marshal_set_uint32): new function
266         (_dbus_marshal_set_string): new function
267
268         * dbus/dbus-connection.c (_dbus_connection_new_for_transport): fix
269         a warning, init timeout_list to NULL
270         (dbus_connection_send_message): don't use uninitialized variable
271         "serial"
272
273         * dbus/dbus-string.c (_dbus_string_replace_len): new function
274
275 2003-01-26  Anders Carlsson  <andersca@codefactory.se>
276
277         * bus/driver.c: (bus_driver_handle_hello),
278         (bus_driver_send_welcome_message):
279         Plug leaks
280         
281 2003-01-26  Anders Carlsson  <andersca@codefactory.se>
282
283         * dbus/dbus-auth.c: (process_auth), (_dbus_auth_unref):
284         * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
285         (dbus_connection_unref):
286         * dbus/dbus-marshal.c: (_dbus_marshal_test):
287         * dbus/dbus-message.c: (dbus_message_unref),
288         Plug memory leaks.
289         
290         (dbus_message_get_fields): 
291         Remove debugging printout.
292
293         (_dbus_message_loader_return_buffer):
294         Don't store the header string.
295         
296         (_dbus_message_test):
297         Plug leaks.
298
299 2003-01-26  Richard Hult  <rhult@codefactory.se>
300
301         * glib/dbus-gmain.c (dbus_connection_dispatch): Traverse a copy of
302         the file descriptor list, since it can change under us.
303
304 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
305
306         * glib/dbus-gmain.c: (dbus_connection_prepare),
307         (dbus_connection_check), (dbus_connection_dispatch), (add_watch),
308         (remove_watch), (dbus_connection_hookup_with_g_main):
309         Rewrite the glib handling to use its own GSource instead of a 
310         GIOChannel so we can catch messages put in the queue while waiting
311         for a reply.
312         
313 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
314
315         * bus/Makefile.am:
316         * bus/connection.c: (connection_disconnect_handler),
317         (connection_watch_callback), (bus_connection_setup):
318         * bus/dispatch.c: (send_one_message),
319         (bus_dispatch_broadcast_message), (bus_dispatch_message_handler),
320         (bus_dispatch_add_connection), (bus_dispatch_remove_connection):
321         * bus/dispatch.h:
322         * bus/driver.c: (bus_driver_send_service_deleted),
323         (bus_driver_send_service_created), (bus_driver_handle_hello),
324         (bus_driver_send_welcome_message),
325         (bus_driver_handle_list_services), (bus_driver_remove_connection),
326         (bus_driver_handle_message):
327         * bus/driver.h:
328         Refactor code, put the message dispatching in its own file. Use 
329         _DBUS_HANDLE_OOM. Also send ServiceDeleted messages when a client
330         is disconnected.
331         
332 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
333
334         * dbus/dbus-internals.h:
335         Add _DBUS_HANDLE_OOM macro, it doesn't do anything currently.
336         
337         * dbus/dbus-message.c: (dbus_message_get_sender):
338         * dbus/dbus-message.h:
339         Implement dbus_message_get_sender.
340         
341         * dbus/dbus-protocol.h:
342         Add message and service defines.
343         
344 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
345
346         * dbus/dbus-connection.c: (dbus_connection_send_message):
347         * dbus/dbus-message-internal.h:
348         * dbus/dbus-message.c: (_dbus_message_get_client_serial),
349         (dbus_message_write_header):
350         Remove _dbus_messag_unlock and don't set the client serial on a 
351         message if one already exists.
352         
353 2003-01-24  Havoc Pennington  <hp@pobox.com>
354
355         * dbus/dbus-list.c (alloc_link): put a thread lock on the global
356         list_pool
357
358         * bus/driver.c (bus_driver_handle_list_services): fix a leak 
359         on OOM
360
361 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
362
363         * dbus/dbus-list.c: (alloc_link), (free_link):
364         Use a memory pool for the links.
365         
366 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
367
368         * bus/connection.c: (bus_connection_foreach):
369         * bus/connection.h:
370         Add new bus_connection_foreach function.
371         
372         * bus/driver.c: (send_one_message), (bus_driver_broadcast_message):
373         Add function that broadcasts a message to all clients.
374         
375         (bus_driver_send_service_created), (bus_driver_handle_hello),
376         (bus_driver_send_welcome_message),
377         (bus_driver_handle_list_services), (bus_driver_message_handler):
378         Implement functions that take care of listing services, and notifying
379         clients when new services are created.
380         
381         * bus/services.c: (bus_services_list):
382         * bus/services.h:
383         Add new function that returns an array of strings with the currently
384         registered services.
385         
386         * glib/dbus-glib.h:
387         * glib/dbus-gmain.c:
388         Update copyright year.
389         
390 2003-01-25  Anders Carlsson  <andersca@codefactory.se>
391
392         * dbus/dbus-connection.c: (dbus_connection_send_message):
393         Unlock the message in case it was sent earlier.
394         
395         (dbus_connection_send_message_with_reply_and_block):
396         Remove the reply message from the list.
397         
398         * dbus/dbus-marshal.c: (_dbus_demarshal_string_array):
399         Set array_len and new_pos correctly.
400         
401         (_dbus_marshal_test):
402         Remove debug output.
403         
404         * dbus/dbus-message-internal.h:
405         * dbus/dbus-message.c: (_dbus_message_get_reply_serial):
406         New function that returns the reply serial.
407         
408         (_dbus_message_unlock):
409         New function that unlocks a message and resets its header.
410
411         (dbus_message_append_string_array), 
412         (dbus_message_get_fields_valist),
413         (dbus_message_iter_get_field_type),
414         (dbus_message_iter_get_string_array),   
415         (dbus_message_get_fields),      
416         (dbus_message_append_fields_valist):
417         Handle string arrays.
418         
419         (dbus_message_set_sender):
420         Make this function public since the bus daemon needs it.
421         
422         (decode_header_data):
423         Set the reply serial to -1 initially.
424
425         * dbus/dbus-message.h:
426         Add dbus_message_set_sender.    
427
428 2003-01-24  Havoc Pennington  <hp@pobox.com>
429
430         * doc/dbus-specification.sgml: add some stuff
431
432 2003-01-22  Havoc Pennington  <hp@pobox.com>
433
434         * doc/dbus-specification.sgml: Start to document the protocol.
435
436 2003-01-22  Havoc Pennington  <hp@pobox.com>
437
438         * dbus/dbus-connection.c
439         (dbus_connection_send_message_with_reply_and_block): add some @todo
440
441         * bus/driver.c (bus_driver_add_connection): add a FIXME about memleak
442
443 2003-01-21  Havoc Pennington  <hp@pobox.com>
444
445         (patch untested because can't compile)
446         
447         * bus/driver.c (create_unique_client_name): make this function
448         never recycle client names. Also, caller should initialize 
449         the DBusString.
450
451         * dbus/dbus-sysdeps.c (_dbus_get_current_time): new function
452
453 2003-01-21  Anders Carlsson  <andersca@codefactory.se>
454
455         * dbus/dbus-marshal.c: (_dbus_marshal_double),
456         (_dbus_marshal_int32), (_dbus_marshal_uint32),
457         (_dbus_marshal_int32_array), (_dbus_marshal_uint32_array),
458         (_dbus_marshal_double_array), (_dbus_marshal_string_array),
459         (_dbus_demarshal_int32_array), (_dbus_demarshal_uint32_array),
460         (_dbus_demarshal_double_array), (_dbus_demarshal_string_array),
461         (_dbus_marshal_get_field_end_pos), (_dbus_marshal_test):
462         * dbus/dbus-marshal.h:
463         * dbus/dbus-protocol.h:
464         Add support for marshalling and demarshalling integer, double
465         and string arrays.
466         
467 2003-01-21  Anders Carlsson  <andersca@codefactory.se>
468
469         * bus/Makefile.am:
470         Add driver.[ch]
471         
472         * bus/connection.c: (connection_disconnect_handler):
473         Remove the connection from the bus driver's list.
474         
475         (connection_watch_callback): Dispatch messages.
476
477         (free_connection_data): Free connection name.
478         
479         (bus_connection_setup): Add connection to the bus driver's list.
480         (bus_connection_remove_owned_service): 
481         (bus_connection_set_name), (bus_connection_get_name):
482         Add functions for setting and getting the connection's name.
483         
484         * bus/connection.h:
485         Add function headers.
486         
487         * bus/driver.c: (create_unique_client_name),
488         (bus_driver_handle_hello_message),
489         (bus_driver_send_welcome_message), (bus_driver_message_handler),
490         (bus_driver_add_connection), (bus_driver_remove_connection):
491         * bus/driver.h:
492         * bus/main.c:
493         * bus/services.c: (bus_service_free):
494         * bus/services.h:
495         New file that handles communication and registreation with the bus
496         itself. 
497         
498 2003-01-21  Anders Carlsson  <andersca@codefactory.se>
499
500         * dbus/dbus-connection.c: (dbus_connection_send_message):
501         Add a new client_serial parameter.
502         
503         (dbus_connection_send_message_with_reply):
504         Remove a @todo since we've implemented the blocking function.
505         
506         (dbus_connection_send_message_with_reply_and_block):
507         New function that sends a message and waits for a reply and
508         then returns the reply.
509         
510         * dbus/dbus-connection.h:
511         Add new functions.
512         
513         * dbus/dbus-errors.c: (dbus_result_to_string):
514         * dbus/dbus-errors.h:
515         Add new DBUS_RESULT.
516         
517         * dbus/dbus-message-internal.h:
518         * dbus/dbus-message.c: (_dbus_message_get_reply_serial),
519         (_dbus_message_set_sender), (dbus_message_write_header),
520         (dbus_message_new_reply), (decode_header_data),
521         (_dbus_message_loader_return_buffer), (_dbus_message_test):
522         * dbus/dbus-message.h:
523         Add new functions that set the reply serial and sender.
524         Also marshal and demarshal them correctly and add test.
525         
526         * dbus/dbus-protocol.h:
527         Add new DBUS_MESSAGE_TYPE_SENDER.
528         
529         * glib/dbus-glib.h:
530         * glib/dbus-gmain.c: (watch_callback), (free_callback_data),
531         (add_watch), (remove_watch), (add_timeout), (remove_timeout),
532         (dbus_connection_hookup_with_g_main):
533         * glib/test-dbus-glib.c: (main):
534         Rewrite to use GIOChannel and remove the GSource crack.
535         
536         * test/echo-client.c: (main):
537         * test/watch.c: (check_messages):
538         Update for changed APIs
539         
540 2003-01-19  Anders Carlsson  <andersca@codefactory.se>
541
542         * dbus/Makefile.am: Add dbus-timeout.[cħ]
543         
544         * dbus/dbus-connection.c: (_dbus_connection_new_for_transport):
545         Create a DBusTimeoutList.       
546         (dbus_connection_set_timeout_functions): Add new function to
547         set timeout callbacks
548         
549         * dbus/dbus-connection.h: Add public DBusTimeout API.
550         
551         * dbus/dbus-message.c: (dbus_message_get_service):
552         * dbus/dbus-message.h:  New function.
553
554         * dbus/dbus-server.c: Fix small doc typo.
555         
556         * dbus/dbus-timeout.[ch]: New files for mainloop timeouts.
557
558 2003-01-19  Anders Carlsson  <andersca@codefactory.se>
559
560         * dbus/dbus-string.c (_dbus_string_move_len): Don't delete all
561         of the string, just as long as specified.
562
563 2003-01-19  Havoc Pennington  <hp@pobox.com>
564
565         * dbus/dbus-connection.c (dbus_connection_get_is_authenticated):
566         new function
567
568         * dbus/dbus-server.c (dbus_server_set_max_connections)
569         (dbus_server_get_max_connections, dbus_server_get_n_connections):
570         keep track of current number of connections, and add API for
571         setting a max (but haven't implemented enforcing the max yet)
572
573 2003-01-18  Havoc Pennington  <hp@pobox.com>
574
575         * dbus/dbus-transport-unix.c (unix_do_iteration): only do the
576         reading/writing if read_watch != NULL or write_watch != NULL.
577
578         * dbus/dbus-message.c (_dbus_message_loader_return_buffer): fix
579         the message loader code to actually load message->header and
580         message->body into the newly-created message.
581
582         * dbus/dbus-transport-unix.c (check_write_watch): fix a mem leak
583         in OOM case
584
585         * dbus/dbus-connection.c (dbus_connection_set_max_message_size) 
586         (dbus_connection_get_max_message_size) 
587         (dbus_connection_set_max_live_messages_size) 
588         (dbus_connection_get_max_live_messages_size): implement some
589         resource limitation functions
590
591         * dbus/dbus-resources.c: new file implementing some of the
592         resource limits stuff
593
594         * dbus/dbus-message.c (dbus_message_iter_get_byte_array): add
595         missing docs, add @todo to handle OOM etc.
596
597         * dbus/dbus-marshal.c (_dbus_demarshal_byte_array): add missing
598         docs
599         
600 2003-01-18  Havoc Pennington  <hp@pobox.com>
601
602         * dbus/dbus-connection.c (dbus_connection_unref): disconnect the 
603         connection if it hasn't been already.
604
605         * dbus/dbus-connection.h: kill off the idea of an ErrorFunction,
606         replace with DisconnectFunction.
607
608 2003-01-18  Havoc Pennington  <hp@pobox.com>
609
610         Building --disable-verbose-mode --disable-asserts --disable-tests
611         cuts the library from 112K to 45K or so
612         
613         * configure.in: check for varargs macro support, 
614         add --enable-verbose-mode, --enable-asserts. 
615
616         * dbus/dbus-internals.h (_dbus_assert): support
617         DBUS_DISABLE_ASSERT
618         (_dbus_verbose): support DBUS_ENABLE_VERBOSE_MODE
619
620 2003-01-18  Havoc Pennington  <hp@pobox.com>
621
622         * dbus/dbus-test.c: include config.h so that tests actually run
623
624         * dbus/dbus-string.c: add assertions that stuff is 8-byte aligned,
625         so the failure mode when that assumption fails will be plenty
626         obvious.
627
628 2003-01-18  Havoc Pennington  <hp@pobox.com>
629
630         * configure.in: default --enable-tests to $USE_MAINTAINER_MODE
631
632         * dbus/Makefile.am: fix it up so dubs-test-main.c is included in
633         the distribution
634
635         * test/Makefile.am: don't use special variable "TESTS" for echo-*
636         since we don't want to use those in make check
637
638 2003-01-15  Havoc Pennington  <hp@redhat.com>
639
640         Release 0.2
641         
642         * NEWS: update
643
644 2003-01-15  Havoc Pennington  <hp@redhat.com>
645
646         * test/Makefile.am: fix so that test source code ends up in the
647         distribution on make distcheck
648
649 2003-01-15  Havoc Pennington  <hp@redhat.com>
650
651         Release 0.1.
652         
653         * NEWS: update  
654
655 2003-01-15  Havoc Pennington  <hp@redhat.com>
656
657         * dbus/dbus-test.c (dbus_internal_symbol_do_not_use_run_tests):
658         fix build when --disable-tests
659
660         * Makefile.am (EXTRA_DIST): put HACKING in here
661
662         * HACKING: document procedure for making a tarball release.
663
664 2003-01-14  Anders Carlsson  <andersca@codefactory.se>
665
666         * bus/connection.c: (connection_error_handler),
667         (bus_connection_setup):
668         * bus/main.c: (main):
669         Make sure that the DBusConnectionData struct is NULLed
670         out to prevent a segfault.
671         
672         * dbus/dbus-errors.c: (dbus_result_to_string):
673         * dbus/dbus-errors.h:
674         * dbus/dbus-message.c: (dbus_message_get_fields),
675         (dbus_message_get_fields_valist), (_dbus_message_test):
676         * dbus/dbus-message.h:
677         Make dbus_message_get_fields return a result code so we can
678         track invalid fields as well as oom.
679         
680 2003-01-11  Havoc Pennington  <hp@pobox.com>
681
682         * configure.in: change --enable-test/--enable-ansi action-if-given
683         to enable_foo=$enableval instead of enable_foo=yes
684
685 2003-01-08  Havoc Pennington  <hp@pobox.com>
686
687         * dbus/dbus-string.c (_dbus_string_align_length): new function
688
689         * dbus/dbus-test-main.c: move main() for test app here
690         * dbus/dbus-test.c
691         (dbus_internal_symbol_do_not_use_run_tests): we have to export a
692         symbol to run tests, because dbus-test isn't in the main 
693         library
694
695         Code review nitpicks.
696         
697         * dbus/dbus-message.c (dbus_message_write_header): add newlines
698         for people with narrow emacs ;-). Assert client_serial was filled
699         in. Assert message->name != NULL.
700         (dbus_message_append_fields): have "first_field_type" arg separate
701         from va list, needed for C++ binding that also uses varargs IIRC
702         and helps with type safety
703         (dbus_message_new): add @todo about using DBusString to store
704         service/name internally
705         (dbus_message_new): don't leak ->service and ->name on OOM later
706         in the function
707         (dbus_message_unref): free the service name
708         (dbus_message_get_fields): same change to varargs
709         i.e. first_field_type
710         (_dbus_message_loader_return_buffer): assert that the message data
711         is aligned (if not it's a bug in our code). Put in verbose griping
712         about why we set corrupted = TRUE.
713         (decode_header_data): add FIXME that char* is evil.  Was going to
714         add FIXME about evil locale-specific string.h strncmp, but just
715         switched to wacky string-as-uint32 optimization. Move check for
716         "no room for field name" above get_const_data_len() to avoid
717         assertion failure in get_const_data_len if we have trailing 2
718         bytes or the like. Check for service and name fields being
719         provided twice. Don't leak service/name on error. Require field
720         names to be aligned to 4 bytes.
721
722         * dbus/dbus-marshal.c: move byte swap stuff to header
723         (_dbus_pack_int32): uscore-prefix
724         (_dbus_unpack_int32): uscore-prefix
725         (_dbus_unpack_uint32): export
726         (_dbus_demarshal_string): add @todo complaining about use of
727         memcpy()
728         (_dbus_marshal_get_field_end_pos): add @todo about bad error
729         handling allowing corrupt data to go unchecked
730
731 2003-01-08  Havoc Pennington  <hp@redhat.com>
732
733         * dbus/dbus-transport-unix.c (unix_do_iteration): add read/write 
734         to the select() as needed for authentication. (should be using
735         _dbus_poll() not select, but for another day)
736
737         * dbus/dbus.h: include dbus/dbus-protocol.h
738
739 2003-01-08  Anders Carlsson  <andersca@codefactory.se>
740
741         * dbus/Makefile.am (dbusinclude_HEADERS): Install
742         dbus-connection.h
743
744 2003-01-08  Anders Carlsson  <andersca@codefactory.se>
745
746         * dbus/dbus-internals.c: (_dbus_type_to_string):
747         New function that returns a string describing a type.
748         
749         * dbus/dbus-marshal.c: (_dbus_demarshal_byte_array):
750         * dbus/dbus-marshal.h:
751         * dbus/dbus-message.c: (dbus_message_get_fields_valist),
752         (dbus_message_iter_get_field_type), (dbus_message_iter_get_double),
753         (dbus_message_iter_get_byte_array):
754         * dbus/dbus-message.h:
755         Add new convenience functions for appending and getting message fields.
756         Also add demarshalling routines for byte arrays.
757
758 2003-01-07  Anders Carlsson  <andersca@codefactory.se>
759
760         * dbus/dbus-connection-internal.h:
761         * dbus/dbus-connection.c: (_dbus_connection_new_for_transport),
762         (_dbus_connection_get_next_client_serial),
763         (dbus_connection_send_message):
764         * dbus/dbus-internals.h:
765         * dbus/dbus-marshal.c: (unpack_uint32), (dbus_unpack_int32),
766         (dbus_pack_int32), (_dbus_marshal_double), (_dbus_marshal_int32),
767         (_dbus_marshal_uint32), (_dbus_demarshal_double),
768         (_dbus_demarshal_int32), (_dbus_demarshal_uint32),
769         (_dbus_demarshal_string), (_dbus_marshal_get_field_end_pos),
770         (_dbus_verbose_bytes), (_dbus_marshal_test):
771         * dbus/dbus-marshal.h:
772         * dbus/dbus-message-internal.h:
773         * dbus/dbus-message.c: (_dbus_message_set_client_serial),
774         (dbus_message_write_header), (_dbus_message_lock),
775         (dbus_message_new), (dbus_message_ref), (dbus_message_unref),
776         (dbus_message_get_name), (dbus_message_append_int32),
777         (dbus_message_append_uint32), (dbus_message_append_double),
778         (dbus_message_append_string), (dbus_message_append_byte_array),
779         (dbus_message_get_fields_iter), (dbus_message_iter_ref),
780         (dbus_message_iter_unref), (dbus_message_iter_has_next),
781         (dbus_message_iter_next), (dbus_message_iter_get_field_type),
782         (dbus_message_iter_get_string), (dbus_message_iter_get_int32),
783         (dbus_message_iter_get_uint32), (dbus_message_iter_get_double),
784         (decode_header_data), (_dbus_message_loader_return_buffer),
785         (message_iter_test), (_dbus_message_test):
786         * dbus/dbus-message.h:
787         * dbus/dbus-protocol.h:
788         * dbus/dbus-test.c: (main):
789         * dbus/dbus-test.h:
790         * glib/test-dbus-glib.c: (message_handler), (main):
791         * test/echo-client.c: (main):
792         * test/watch.c: (check_messages):
793         Make messages sendable and receivable for real.
794         
795 2003-01-07  Anders Carlsson  <andersca@codefactory.se>
796
797         * dbus/dbus-marshal.c: (_dbus_marshal_double),
798         (_dbus_marshal_string), (_dbus_marshal_byte_array):
799         * dbus/dbus-message.c: (dbus_message_append_int32),
800         (dbus_message_append_uint32), (dbus_message_append_double),
801         (dbus_message_append_string), (dbus_message_append_byte_array):
802         Handle OOM restoration.
803         
804 2003-01-07  Anders Carlsson  <andersca@codefactory.se>
805
806         * dbus/dbus-marshal.c: (_dbus_marshal_string),
807         (_dbus_demarshal_string), (_dbus_marshal_test):
808         * dbus/dbus-marshal.h:
809         * dbus/dbus-message.c: (dbus_message_get_name),
810         Document these functions.
811         
812         (dbus_message_append_int32), (dbus_message_append_uint32),
813         (dbus_message_append_double), (dbus_message_append_string),
814         (dbus_message_append_byte_array):
815         * dbus/dbus-message.h:
816         Add functions for adding message fields of different types.
817         
818         * dbus/dbus-protocol.h:
819         Add the different types.
820
821 2003-01-05  Havoc Pennington  <hp@pobox.com>
822
823         * bus/connection.c: implement routines for handling connections,
824         first thing is keeping a list of owned services on each connection
825         and setting up watches etc.
826
827         * bus/services.c: implement a mapping from service names to lists
828         of connections
829
830         * dbus/dbus-hash.c: add DBUS_HASH_POINTER
831
832         * dbus/dbus-threads.c (dbus_static_mutex_lock): add functions
833         to use static mutexes for global data
834
835         * dbus/dbus-connection.c (dbus_connection_set_data): add new
836         collection of functions to set/get application-specific data
837         on the DBusConnection.
838
839 2003-01-04  Havoc Pennington  <hp@pobox.com>
840
841         * dbus/dbus-sysdeps.c (_dbus_sleep_milliseconds): new function
842         (_dbus_poll): new function
843
844         * dbus/dbus-internals.h (_DBUS_STRUCT_OFFSET): new macro
845         copied from GLib
846
847         * bus/loop.c: initial code for the daemon main loop
848
849 2003-01-04  Havoc Pennington  <hp@pobox.com>
850
851         * test/watch.c (error_handler): make it safe if the error handler 
852         is called multiple times (if we s/error handler/disconnect
853         handler/ we should just guarantee it's called only once)
854
855         * dbus/dbus-transport.c (_dbus_transport_disconnect): call the
856         error handler on disconnect (it's quite possible we should
857         just change the error handler to a "disconnect handler," I'm 
858         not sure we have any other meaningful errors)
859
860         * configure.in: check for getpwnam_r
861
862         * dbus/dbus-transport.c, dbus/dbus-transport-unix.c,
863         dbus/dbus-auth.c: add credentials support, add EXTERNAL auth
864         mechanism as in SASL spec, using socket credentials
865
866         * dbus/dbus-sysdeps.c (_dbus_read_credentials_unix_socket): new function
867         (_dbus_send_credentials_unix_socket): new function
868
869         * dbus/dbus-sysdeps.c (_dbus_accept_unix_socket): rename just
870         dbus_accept()
871         (_dbus_write): only check errno if <0 returned
872         (_dbus_write_two): ditto
873
874 2003-01-02  Anders Carlsson  <andersca@codefactory.se>
875
876         * dbus/dbus-marshal.c: (_dbus_marshal_utf8_string),
877         (_dbus_marshal_byte_array), (_dbus_demarshal_utf8_string),
878         (_dbus_marshal_test):
879         * dbus/dbus-marshal.h:
880         Add _dbus_marshal_byte_array and rename _dbus_marshal_string
881         to _dbus_marshal_utf8_string. Also fix some tests.
882         
883 2002-12-28  Harri Porten  <porten@kde.org>
884
885         * configure.in: added check for C++ compiler and a very cheesy
886         check for the Qt integration
887
888         * Makefile.am (SUBDIRS): compile qt subdir if support is enabled
889
890         * qt/Makefile.am: added 
891
892         * qt/.cvsignore: added  
893
894         * qt/dbus-qthread.cc, qt/dbus-qthread.cpp: renamed former to
895         latter, added #ifdef QT_THREAD_SUPPORT guard.
896
897         * dbus/Makefile.am: added missing headers for make dist
898
899 2002-12-28  Kristian Rietveld  <kris@gtk.org>
900
901         * dbus/Makefile.am: fixup export-symbols-regex.
902
903 2002-12-27  Anders Carlsson  <andersca@codefactory.se>
904
905         * acinclude.m4: Add this file and put the 
906         PKG_CHECK_MODULE macro in it.
907
908 2002-12-27  Anders Carlsson  <andersca@codefactory.se>
909
910         * dbus/dbus-marshal.c: (_dbus_marshal_string),
911         (_dbus_demarshal_double), (_dbus_demarshal_int32),
912         (_dbus_demarshal_uint32), (_dbus_demarshal_string),
913         (_dbus_marshal_test):
914         Make the demarshalling routines align the pos argument.
915         Add string marshalling tests and fix the obvious bugs 
916         discovered.
917         
918 2002-12-26  Havoc Pennington  <hp@pobox.com>
919
920         * dbus/dbus-auth.c: fixes fixes fixes
921
922         * dbus/dbus-transport-unix.c: wire up support for
923         encoding/decoding data on the wire
924
925         * dbus/dbus-auth.c (_dbus_auth_encode_data) 
926         (_dbus_auth_decode_data): append to target string 
927         instead of nuking it.
928
929 2002-12-26  Havoc Pennington  <hp@pobox.com>
930
931         * dbus/dbus-marshal.h (DBUS_COMPILER_BYTE_ORDER): #ifdef
932         WORDS_BIGENDIAN then compiler byte order is DBUS_BIG_ENDIAN,
933         doh
934
935         * dbus/dbus-marshal.c: Add macros to do int swapping in-place and
936         avoid swap_bytes() overhead (ignoring possible assembly stuff for 
937         now). Main point is because I wanted unpack_uint32 to implement
938         _dbus_verbose_bytes
939         (_dbus_verbose_bytes): new function
940
941         * dbus/dbus-string.c (_dbus_string_validate_ascii): new function
942
943         * dbus/dbus-message.c (_dbus_message_loader_get_is_corrupted): add
944         mechanism to handle a corrupt message stream
945         (_dbus_message_loader_new): fix preallocation to only prealloc, 
946         not prelengthen
947         
948         * dbus/dbus-string.c (_dbus_string_skip_blank): fix this function
949         (_dbus_string_test): enhance tests for copy/move and fix the
950         functions
951
952         * dbus/dbus-transport-unix.c: Hold references in more places to 
953         avoid reentrancy problems
954
955         * dbus/dbus-transport.c: ditto
956
957         * dbus/dbus-connection.c (dbus_connection_dispatch_message): don't
958         leak reference count in no-message case
959
960         * test/watch.c (do_mainloop): handle adding/removing watches
961         during iteration over the watches. Also, ref the connection/server
962         stored on a watch, so we don't try to mangle a destroyed one.
963
964         * dbus/dbus-transport-unix.c (do_authentication): perform
965         authentication
966
967         * dbus/dbus-auth.c (get_state): add a state
968         AUTHENTICATED_WITH_UNUSED_BYTES and return it if required
969         (_dbus_auth_get_unused_bytes): append the unused bytes
970         to the passed in string, rather than prepend
971
972         * dbus/dbus-transport.c (_dbus_transport_init_base): create 
973         the auth conversation DBusAuth
974
975         * dbus/dbus-transport-unix.c (_dbus_transport_new_for_fd)
976         (_dbus_transport_new_for_domain_socket): when creating a
977         transport, pass in whether it's a client-side or server-side
978         transport so we know which DBusAuth to create
979
980 2002-12-03  Havoc Pennington  <hp@pobox.com>
981
982         * dbus/dbus-transport-unix.c (unix_finalize): finalize base
983         _after_ finalizing the derived members
984         (unix_connection_set): unref watch if we fail to add it
985
986         * dbus/dbus-connection.c (dbus_connection_unref): delete the
987         transport first, so that the connection owned by the 
988         transport will be valid as the transport finalizes.
989
990         * dbus/dbus-transport-unix.c (unix_finalize): free the write_watch
991         if necessary, and remove watches from the connection.
992         
993         * dbus/dbus-watch.c (_dbus_watch_list_free): improve a comment
994         
995 2002-12-26  Anders Carlsson  <andersca@codefactory.se>
996
997         * dbus/dbus-marshal.c: (_dbus_marshal_string),
998         (_dbus_demarshal_double), (_dbus_demarshal_int32),
999         (_dbus_demarshal_uint32), (_dbus_demarshal_string),
1000         (_dbus_marshal_test):
1001         * dbus/dbus-marshal.h:
1002         Add string marshal functions and have the demarshal functions
1003         return the new position.
1004         
1005 2002-12-25  Havoc Pennington  <hp@pobox.com>
1006
1007         * doc/dbus-sasl-profile.txt: docs on the authentication protocol, 
1008         it is a simple protocol that just maps directly to SASL.
1009
1010         * dbus/dbus-auth.h, dbus/dbus-auth.c: authentication protocol
1011         initial implementation, not actually used yet.
1012         
1013         * dbus/dbus-string.c (_dbus_string_find): new function
1014         (_dbus_string_equal): new function
1015         (_dbus_string_base64_encode): new function
1016         (_dbus_string_base64_decode): new function
1017
1018 2002-12-25  Anders Carlsson  <andersca@codefactory.se>
1019
1020         * dbus/Makefile.am:
1021         * dbus/dbus-marshal.c: (swap_bytes), (_dbus_marshal_double),
1022         (_dbus_marshal_int32), (_dbus_marshal_uint32),
1023         (_dbus_demarshal_double), (_dbus_demarshal_int32),
1024         (_dbus_demarshal_uint32), (_dbus_marshal_test):
1025         * dbus/dbus-marshal.h:
1026         * dbus/dbus-protocol.h:
1027         * dbus/dbus-test.c: (main):
1028         * dbus/dbus-test.h:
1029         Add un-optimized marshalling/demarshalling routines.
1030         
1031 2002-12-25  Harri Porten  <porten@kde.org>
1032
1033         * qt/dbus-qt.h: adjusted ctor and getter to KDE/Qt conventions
1034
1035 2002-12-24  Zack Rusin  <zack@kde.org>
1036
1037         * qt/dbus-qthread.cc: adding - integrates QMutex into Dbus
1038         * qt/dbus-qt.h: skeleton with two sample implemenatation of the
1039         main loop stuff
1040
1041 2002-12-24  Havoc Pennington  <hp@pobox.com>
1042
1043         * glib/dbus-gthread.c: fix include
1044
1045         * glib/dbus-glib.h: rename DBusMessageHandler for now. 
1046         I think glib API needs to change, though, as you don't 
1047         want to use DBusMessageFunction, you want to use the 
1048         DBusMessageHandler object. Probably 
1049         dbus_connection_open_with_g_main_loop()
1050         and dbus_connection_setup_g_main_loop() or something like that
1051         (but think of better names...) that just create a connection 
1052         that has watch/timeout functions etc. already set up.
1053
1054         * dbus/dbus-connection.c
1055         (dbus_connection_send_message_with_reply): new function just to 
1056         show how the message handler helps us deal with replies.
1057
1058         * dbus/dbus-list.c (_dbus_list_remove_last): new function
1059
1060         * dbus/dbus-string.c (_dbus_string_test): free a string that
1061         wasn't
1062
1063         * dbus/dbus-hash.c: use memory pools for the hash entries
1064         (rebuild_table): be more paranoid about overflow, and 
1065         shrink table when we can
1066         (_dbus_hash_test): reduce number of sprintfs and write
1067         valid C89. Add tests for case where we grow and then 
1068         shrink the hash table.
1069
1070         * dbus/dbus-mempool.h, dbus/dbus-mempool.c: memory pools
1071
1072         * dbus/dbus-connection.c (dbus_connection_register_handler) 
1073         (dbus_connection_unregister_handler): new functions
1074
1075         * dbus/dbus-message.c (dbus_message_get_name): new
1076
1077         * dbus/dbus-list.c: fix docs typo
1078
1079         * dbus/dbus-message-handler.h, dbus/dbus-message-handler.c:
1080         an object representing a handler for messages.
1081
1082 2002-12-16  Anders Carlsson  <andersca@codefactory.se>
1083
1084         * glib/dbus-glib.h:
1085         * glib/dbus-gthread.c: (dbus_gthread_init):
1086         Don't use the gdbus prefix for public functions.
1087         
1088 2002-12-16  Anders Carlsson  <andersca@codefactory.se>
1089
1090         * Makefile.am:
1091         * configure.in:
1092         Add GLib checks and fixup .pc files
1093         
1094         * glib/Makefile.am:
1095         * glib/dbus-glib.h:
1096         * glib/dbus-gmain.c: (gdbus_connection_prepare),
1097         (gdbus_connection_check), (gdbus_connection_dispatch),
1098         (gdbus_add_connection_watch), (gdbus_remove_connection_watch),
1099         (dbus_connection_gsource_new):
1100         * glib/dbus-gthread.c: (dbus_gmutex_new), (dbus_gmutex_free),
1101         (dbus_gmutex_lock), (dbus_gmutex_unlock), (dbus_gthread_init):
1102         * glib/test-dbus-glib.c: (message_handler), (main):
1103         Add GLib support.
1104         
1105 2002-12-15  Harri Porten  <porten@kde.org>
1106
1107         * autogen.sh: check for libtoolize before attempting to use it 
1108         
1109         * dbus/dbus-transport-unix.c: include <sys/time.h> for timeval
1110         struct.
1111         
1112         * .cvsignore: ignore more stamp files
1113
1114         * dbus/dbus-watch.c (_dbus_watch_list_new): fixed doc error
1115
1116         * test/Makefile.am: added -I$(top_srcdir) to be able to compile
1117         without make install.
1118
1119 2002-12-15  Havoc Pennington  <hp@pobox.com>
1120
1121         * dbus/dbus-threads.c: add thread stubs that a higher library
1122         layer can fill in. e.g. the GLib wrapper might fill them in with
1123         GThread stuff. We still need to use this thread API to
1124         thread-safe-ize the library.
1125
1126 2002-12-12  Havoc Pennington  <hp@pobox.com>
1127
1128         * dbus/dbus-transport-unix.c, dbus/dbus-server-unix.c: use the
1129         below new interfaces and include fewer system headers.
1130
1131         * dbus/dbus-sysdeps.c (_dbus_read): new function
1132         (_dbus_write): new function
1133         (_dbus_write_two): new function
1134         (_dbus_connect_unix_socket): new function
1135         (_dbus_listen_unix_socket): new function
1136
1137         * dbus/dbus-message-internal.h: change interfaces to use
1138         DBusString
1139
1140 2002-12-11  Havoc Pennington  <hp@pobox.com>
1141
1142         * dbus/dbus-types.h: add dbus_unichar
1143
1144         * dbus/dbus-internals.c (_dbus_verbose): use _dbus_getenv
1145
1146         * dbus/dbus-connection.c (dbus_connection_send_message): return
1147         TRUE on success
1148
1149         * dbus/dbus-transport.c: include dbus-watch.h   
1150
1151         * dbus/dbus-connection.c: include dbus-message-internal.h
1152
1153         * HACKING: add file with coding guidelines stuff.
1154
1155         * dbus/dbus-string.h, dbus/dbus-string.c: Encapsulate all string
1156         handling here, for security purposes (as in vsftpd). Not actually
1157         using this class yet.
1158
1159         * dbus/dbus-sysdeps.h, dbus/dbus-sysdeps.c: Encapsulate all
1160         system/libc usage here, as in vsftpd, for ease of auditing (and
1161         should also simplify portability). Haven't actually moved all the
1162         system/libc usage into here yet.
1163         
1164 2002-11-25  Havoc Pennington  <hp@pobox.com>
1165
1166         * dbus/dbus-internals.c (_dbus_verbose): fix to not 
1167         always print the first verbose message.
1168
1169 2002-11-24  Havoc Pennington  <hp@pobox.com>
1170
1171         * test/echo-client.c, test/echo-server.c: cheesy test 
1172         clients.
1173         
1174         * configure.in (AC_CHECK_FUNCS): check for writev
1175
1176         * dbus/dbus-message.c (_dbus_message_get_network_data): new
1177         function
1178
1179         * dbus/dbus-list.c (_dbus_list_foreach): new function
1180
1181         * dbus/dbus-internals.c (_dbus_verbose): new function
1182
1183         * dbus/dbus-server.c, dbus/dbus-server.h: public object
1184         representing a server that listens for connections.
1185
1186         * dbus/.cvsignore: create
1187
1188         * dbus/dbus-errors.h, dbus/dbus-errors.c:
1189         public API for reporting errors
1190
1191         * dbus/dbus-connection.h, dbus/dbus-connection.c:
1192         public object representing a connection that 
1193         sends/receives messages. (Same object used for 
1194         both client and server.)
1195
1196         * dbus/dbus-transport.h, dbus/dbus-transport.c:
1197         Basic abstraction for different kinds of stream
1198         that we might read/write messages from.
1199
1200 2002-11-23  Havoc Pennington  <hp@pobox.com>
1201
1202         * dbus/dbus-internals.h (_DBUS_INT_MAX): add _DBUS_INT_MIN 
1203         _DBUS_INT_MAX
1204
1205         * dbus/dbus-test.c (main): add list test, and include 
1206         dbus-test.h as intended
1207
1208         * dbus/dbus-hash.c (_dbus_hash_table_remove_string) 
1209         (_dbus_hash_table_remove_int): return value indicates 
1210         whether the entry existed to remove
1211
1212         * dbus/dbus-list.c: add linked list utility class, 
1213         with docs and tests
1214
1215         * dbus/dbus-hash.c: add TODO item about shrinking the hash bucket 
1216         array sometimes.
1217
1218 2002-11-23  Havoc Pennington  <hp@pobox.com>
1219
1220         * Doxyfile.in (INCLUDE_FILE_PATTERNS): expand DBUS_BEGIN_DECLS/
1221         DBUS_END_DECLS to nothing, that should fix this once and for all
1222
1223         * Doxyfile.in (JAVADOC_AUTOBRIEF): set to YES
1224
1225         * dbus/dbus-message.c, dbus/dbus-hash.c: 
1226         add some missing @brief
1227
1228 2002-11-23  Havoc Pennington  <hp@pobox.com>
1229
1230         * dbus/dbus-message.h: put semicolons after DEBUG_BEGIN_DECLS 
1231         to avoid confusing Doxygen
1232
1233         * dbus/dbus-hash.c: @} not }@
1234
1235         * dbus/dbus-message.c (struct DBusMessage): split out 
1236         internals docs
1237
1238 2002-11-23  Havoc Pennington  <hp@pobox.com>
1239
1240         * configure.in: pile on more warning flags if using gcc
1241
1242         * Doxyfile.in (EXTRACT_STATIC): set to NO, so we don't have 
1243         to document static functions
1244
1245         * configure.in: add summary to end of configure so it 
1246         looks nice and attractive
1247
1248         * dbus/dbus-hash.c: finish implementation and write unit 
1249         tests and docs
1250
1251         * configure.in: add --enable-tests to enable unit tests
1252
1253         * dbus/dbus-test.c: test program to run unit tests 
1254         for all files in dbus/*, initially runs a test for 
1255         dbus-hash.c
1256         
1257         * dbus/dbus-internals.h: file to hold some internal utility stuff
1258
1259 2002-11-22  Havoc Pennington  <hp@redhat.com>
1260
1261         * dbus/dbus-hash.c: copy in Tcl hash table, not yet 
1262         "ported" away from Tcl
1263
1264         * dbus/dbus-types.h: header for types such as dbus_bool_t
1265
1266 2002-11-22  Havoc Pennington  <hp@redhat.com>
1267
1268         * dbus/dbus.h: fixups for doc warnings
1269
1270         * Doxyfile.in (FILE_PATTERNS): we need to scan .h to pick up 
1271         macros
1272         (QUIET): make it quiet so we can see warnings
1273
1274         * dbus/dbus-memory.c: teach D-BUS to allocate and free memory
1275
1276 2002-11-22  Havoc Pennington  <hp@redhat.com>
1277
1278         * Makefile.am: include "Doxyfile" target in all-local
1279
1280         * configure.in: generate the Doxyfile
1281
1282         * Doxyfile.in: move Doxyfile here, so we can use 
1283         configure to generate a Doxyfile with the right 
1284         version number etc.
1285
1286 2002-11-22  Havoc Pennington  <hp@redhat.com>
1287
1288         * dbus/dbus-message.c: move inline docs into .c file
1289
1290         * Doxyfile (OUTPUT_DIRECTORY): move output to doc/api
1291         so all docs are under doc/
1292         (MAN_EXTENSION): generate man pages. Use extension 
1293         ".3dbus" which matches ".3qt" on my system, 
1294         I guess this is OK, I don't know really.
1295         (FILE_PATTERNS): look for .c files not .h, makes sense
1296         for plain C I think
1297
1298 2002-11-22  Havoc Pennington  <hp@pobox.com>
1299
1300         * Makefile.am (SUBDIRS): rename subdir "server" to "bus" 
1301         because any app can be a server, and any app can be a client, 
1302         the bus is a special kind of server.
1303
1304 Thu Nov 21 23:35:31 2002  Zack Rusin  <zack@kde.org>
1305
1306         * Doxyfile : adding. Still needs Makefile rules to be generated
1307         automatically (just run "doxygen" in the toplevel dir for now to
1308         generate docs)
1309         
1310         * dbus/dbus-message.h : Adding sample docs (javadoc since
1311         resembles gtk-doc a little more)
1312
1313         * dbus/dbus.h : Adding sample docs
1314
1315 2002-11-21  Havoc Pennington  <hp@redhat.com>
1316
1317         * dbus/Makefile.am (INCLUDES): define DBUS_COMPILATION 
1318         so we can allow ourselves to include files directly, 
1319         instead of having to use dbus.h
1320
1321         * dbus/dbus.h: fill in
1322
1323         * dbus/dbus-message.h: sketch out a sample header file.
1324         Include griping if you include it directly instead of 
1325         via dbus.h
1326
1327         * dbus/dbus-macros.h: new file with macros for extern "C", 
1328         TRUE/FALSE, NULL, etc.
1329
1330         * doc/file-boilerplate.c: put include guards in here
1331
1332 2002-11-21  Havoc Pennington  <hp@redhat.com>
1333
1334         * doc/file-boilerplate.c: include both AFL and GPL boilerplate.
1335
1336         * COPYING: include the GPL as well, and license code 
1337         under both AFL and GPL.
1338
1339 2002-11-21  Havoc Pennington  <hp@redhat.com>
1340
1341         * acconfig.h: get rid of this
1342
1343         * autogen.sh (run_configure): add --no-configure option
1344
1345         * configure.in: remove AC_ARG_PROGRAM to make
1346         autoconf complain less. add AC_PREREQ. 
1347         add AC_DEFINE third arg.
1348         
1349 2002-11-21  Anders Carlsson  <andersca@codefactory.se>
1350
1351         * doc/Makefile.am:
1352         Fix references so we can distcheck.
1353
1354 2002-11-21  Havoc Pennington  <hp@redhat.com>
1355
1356         * Initial module creation
1357