2006-06-06 Mikael Hallendal <micke@imendio.com>
[jelmer/loudmouth.git] / ChangeLog
1 2006-06-06  Mikael Hallendal  <micke@imendio.com>
2
3         * loudmouth/lm-connection.c: (connection_free):
4         - Call lm_parser_free to actually free it.
5         * loudmouth/lm-parser.c: (lm_parser_free):
6         - Free up memory used by the parser.
7         - Fixes LM-39
8
9 2006-05-27  Mikael Hallendal  <micke@imendio.com>
10
11         * loudmouth/lm-ssl-gnutls.c: (ssl_verify_certificate):
12         - Fixed an error with an uninitialized value.
13         - Fixes LM-35.
14
15 2006-05-26  Mikael Hallendal  <micke@imendio.com>
16
17         * loudmouth/lm-connection.c: (connection_free),
18         (connection_handle_message), (_lm_connection_failed_with_error),
19         (connection_auth_reply), (connection_stream_received),
20         (lm_connection_set_disconnect_function):
21         - Patch from Owen Taylor fixes two reentrancy problems.
22         - Fixes LM-37.
23
24 2006-04-19  Mikael Hallendal  <micke@imendio.com>
25
26         * Release 1.1.1
27
28         * Makefile.am: Added DISTCHECK_CONFIGURE_FLAGS
29         * configure.ac: Removed old gtk-doc cruft, only use GTK_DOC_CHECK now.
30         * loudmouth/Makefile.am: Added EXTRA_DIST.
31
32 2006-04-19  Mikael Hallendal  <micke@imendio.com>
33
34         * configure.ac:
35         - Move back to use the GTK_DOC_CHECK() macro.
36         * docs/reference/Makefile.am:
37         - Updated to newer format from gtk-doc (old one failed distcheck with
38           new auto*).
39
40 2006-04-19  Mikael Hallendal  <micke@imendio.com>
41
42         * Landing a patch by Martyn Russell for Win32.
43
44         * configure.ac: Updated for Win32 work
45         * examples/*: Updated and improved.
46         * loudmouth/Makefile.am:
47         * loudmouth/lm-connection.c:
48         - Abstracted out the low level socket handling to lm-sock.[ch] to make
49           this file clean from OS dependant socket code.
50         * loudmouth/lm-internals.h:
51         * loudmouth/lm-parser.c:
52         * loudmouth/lm-proxy.c:
53         * loudmouth/lm-sha.c: 
54         * loudmouth/lm-utils.c:
55         - Win32 work
56         * loudmouth/lm-sock.[ch]: 
57         - Network abstraction layer.
58
59 2006-04-18  Mikael Hallendal  <micke@imendio.com>
60
61         * loudmouth/lm-ssl-openssl.c: (_lm_ssl_begin):
62         - Fixed an issue reported by Martyn when using non-blocking sockets.
63
64 2006-04-12  Mikael Hallendal  <micke@imendio.com>
65
66         * autogen.sh:
67         * configure.ac:
68         * configure.in:
69         - Bumped the autoconf and automake requirements.
70         - Added support to compile with --with-ssl=gnutls|openssl|no. The
71           default is to build against gnutls and you must explicitely tell that
72           you don't want SSL support or configure will fail if you don't have
73           GnuTLS (or building with --with-ssl=openssl).
74         * loudmouth/Makefile.am:
75         * loudmouth/lm-ssl-openssl.c:
76         - Added an OpenSSL backend. Currently doesn't verify certificates.
77
78 2006-04-05  Mikael Hallendal  <micke@imendio.com>
79
80         * configure.in: Define HAVE_SSL which will be set if GnuTLS or OpenSSL
81           is supported.
82         * loudmouth/Makefile.am:
83         * loudmouth/lm-connection.c:
84         * loudmouth/lm-internals.h:
85         * loudmouth/lm-ssl-base.[ch]:
86         * loudmouth/lm-ssl-generic.c:
87         * loudmouth/lm-ssl-gnutls.c:
88         * loudmouth/lm-ssl-internals.h: Took out the SSL functions from
89           lm-internals.h
90         * loudmouth/lm-ssl.[ch]:
91         - Refactored the SSL stuff to make room for an OpenSSL implementation.
92         - lm-ssl-generic and lm-ssl-base contains the shared parts between the
93           GnuTLS and the OpenSSL implementations. lm-ssl-gnutls.c will contain
94           GnuTLS specifics and lm-ssl-openssl.c will contain OpenSSL.
95
96 2006-04-05  Mikael Hallendal  <micke@imendio.com>
97
98         * Speed release of 1.0.3
99         * NEWS: Updated
100         * configure.in: Bumped to 1.0.3
101         * loudmouth/lm-ssl.c: (ssl_free), (ssl_func_always_continue):
102         - Build fix for building without SSL, thanks foser, LM-25.
103
104 2006-04-05  Mikael Hallendal  <micke@imendio.com>
105
106         * Release 1.0.2
107         * NEWS: Updated for 1.0.2
108         * configure.in: Bumped version to 1.0.2
109
110 2006-04-03  Mikael Hallendal  <micke@imendio.com>
111
112         * loudmouth/lm-connection.c: (connection_free),
113         (_lm_connection_succeeded), (connection_buffered_write_cb),
114         (connection_output_is_buffered), (connection_setup_output_buffer),
115         (connection_do_close), (connection_do_write), (connection_send),
116         (lm_connection_new), (lm_connection_authenticate):
117         - Added an output buffer that will be enabled if the nonblocking write
118           cannot be performed in one go (for large messages).
119         - Fixes LM-17.
120         * loudmouth/lm-internals.h:
121         * loudmouth/lm-ssl.c: (ssl_func_always_continue), (_lm_ssl_send),
122         (lm_ssl_new):
123         - Added a default SSL function that will always continue, this will 
124           be used if NULL is passed in as SSL function to lm_ssl_new.
125
126 2006-03-20  Mikael Hallendal  <micke@imendio.com>
127
128         * loudmouth/lm-connection.c: 
129         (connection_do_open): Fixed up some of the error codes replied.
130         (lm_connection_open_and_block):
131         - Set the error if connection fails. 
132         - Fixes LM-15.
133
134 2006-03-20  Mikael Hallendal  <micke@imendio.com>
135
136         * Makefile.am:
137         * acinclude.m4:
138         * configure.in:
139         * tests/.cvsignore:
140         * tests/Makefile.am:
141         * tests/test-objects.[ch]:
142         - Started to add support for the Check unit test framework.
143
144 2006-03-20  Mikael Hallendal  <micke@imendio.com>
145
146         * loudmouth/lm-connection.c: Fixes LM-16.
147         (_lm_connection_failed_with_error): 
148         - Call connection_do_close to remove sources.
149         (connection_do_close): Always set the connection state to CLOSED.
150
151 2006-01-02  Mikael Hallendal  <micke@imendio.com>
152
153         * MAINTAINERS: Added
154
155 2005-08-16  Mikael Hallendal  <micke@imendio.com>
156
157         * NEWS:
158         * configure.in:
159         - Release 1.0.1
160
161         * loudmouth/lm-connection.c: (connection_free):
162         - Unref context if it is set.
163
164 2005-08-14  Mikael Hallendal  <micke@imendio.com>
165
166         * NEWS:
167         * configure.in:
168         - Version 1.0, yiiiha!
169
170 2005-08-12  Mikael Hallendal  <micke@imendio.com>
171
172         * loudmouth/lm-connection.c: (_lm_connection_failed_with_error):
173         - Set state to LM_CONNECTION_STATE_CLOSED if we failed to connect.
174         - Fixes LM-8.
175
176 2005-08-12  Mikael Hallendal  <micke@imendio.com>
177
178         * loudmouth/lm-connection.c:
179         (lm_connection_authenticate_and_block):
180         - Set state correctly.
181         - Fixes LM-7.
182         (lm_connection_send_with_reply_and_block):
183         - Check that connection is open before using it.
184         - Fixes LM-6.
185
186 2005-07-30  Mikael Hallendal  <micke@imendio.com>
187
188         * autogen.sh:
189         * configure.in:
190         * loudmouth/lm-connection.c: (connection_add_watch):
191         - Gtk-doc fixes.
192
193 2005-07-09  Martyn Russell  <mr@gnome.org>
194
195         * loudmouth/lm-connection.c (lm_connection_set_ssl): 
196         - Error when trying to set up SSL knowing it is not supported.
197
198 2005-05-17  Mikael Hallendal  <micke@imendio.com>
199
200         * loudmouth/lm-ssl.c: 
201         * loudmouth/lm-connection.c:
202         * loudmouth/lm-proxy.c:
203         - Fixed some gcc 4.0 warnings.
204         * loudmouth/lm-ssl.[ch]: Made the API more consistent.
205         * examples/test-lm.c: Fixed some gcc 4.0 warnings.
206         
207 2005-05-13  Mikael Hallendal  <micke@imendio.com>
208
209         * loudmouth/lm-ssl.c: (_lm_ssl_read):
210         - Try to fix LM-3 for real this time.
211
212 2005-05-08  Mikael Hallendal  <micke@imendio.com>
213
214         * Release 0.90
215
216         * NEWS:
217         * configure.in:
218         - Updated for 0.90
219
220 2005-05-05  Mikael Hallendal  <micke@imendio.com>
221
222         * loudmouth/lm-connection.c: 
223         (_lm_connection_succeeded):
224         - Don't unref io_channel here as well, already done in do_close.
225         - Fixes LM-5, reported by Daniel Lavalliere.
226         (connection_do_close):
227         - Set fd to -1 to be sure it's not used again.
228
229 2005-05-05  Mikael Hallendal  <micke@imendio.com>
230
231         * loudmouth/lm-ssl.c: (_lm_ssl_read):
232         - Don't accidently return a negative bytes_read.
233         - Fixes LM-3, reported by Daniel Lavalliere.
234
235 2005-05-05  Mikael Hallendal  <micke@imendio.com>
236
237         * loudmouth/lm-connection.c: (connection_free):
238         - Unref LmSSL when freeing connection. Reported by Daniel Lavalliere.
239         - Fixes LM-4.
240
241 2005-04-24  Mikael Hallendal  <micke@imendio.com>
242
243         * loudmouth/lm-connection.c: (connection_free):
244         - Free the incoming message queue, reported by Daniel Lavalliere.
245
246 2005-04-24  Mikael Hallendal  <micke@imendio.com>
247
248         * loudmouth/lm-connection.c: (_lm_connection_succeeded),
249         (_lm_connection_failed_with_error), (connection_connect_cb),
250         (connection_do_connect), (connection_do_close):
251         - Disconnect from the connect io-watch when connect is done.
252         - Based on a patch from Daniel Lavalliere.
253
254 2005-04-18  Mikael Hallendal  <micke@imendio.com>
255
256         * loudmouth/lm-connection.c: (connection_free):
257         - Check if connection is opening as well and close it if it is.
258         - Fix suggested by Daniel Lavalliere.
259
260 2005-03-31  Mikael Hallendal  <micke@imendio.com>
261
262         * Makefile.am:
263         * CONTRIBUTORS: 
264         * loudmouth/lm-connection.c:
265         * loudmouth/lm-ssl.c:
266         - More release work. 
267         - Adding CONTRIBUTORS file.
268
269 2005-03-31  Mikael Hallendal  <micke@imendio.com>
270
271         * Makefile.am:
272         * configure.in:
273         - Removed the mono directory from the release tarball, never finished
274           and should probably be redone from scratch if to be done now.
275
276 2005-03-31  Mikael Hallendal  <micke@imendio.com>
277
278         * loudmouth/lm-debug.h: Correct log domain
279         * loudmouth/lm-ssl.c: (ssl_verify_certificate):
280         - Removed GNUTLS_CERT_NOT_TRUSTED which has been removed from GnuTLS.
281         - Patch from foser@gentoo.org
282
283 2005-02-02  Mikael Hallendal  <micke@imendio.com>
284
285         * examples/lm-change-password.c: (print_usage), (main):
286         - Support sending --host which would be the host part of the jid if
287           the connect server is different.
288
289 2005-01-27  Martyn Russell  <mr@gnome.org>
290
291         * loudmouth/lm-connection.c (_lm_connection_failed_with_error): 
292         - Added fix to call the open callback when all connection attempts
293         fail to the destination server.
294
295 2005-01-19  Mikael Hallendal  <micke@imendio.com>
296
297         * loudmouth/lm-connection.c: (connection_in_event):
298         * loudmouth/lm-ssl.c: (_lm_ssl_read):
299         - Seems GnuTLS returns a huge size as read bytes when the server is
300           disconnected. Check if returned read size is larger than asked for
301           if so, set the connection to be hung up.
302         - Fixes bug #164592
303
304 2004-11-08  Mikael Hallendal  <micke@imendio.com>
305
306         * examples/lm-change-password.c: Added SSL support
307         * examples/lm-register.c: Added SSL support
308
309 2004-10-31  Mikael Hallendal  <micke@imendio.com>
310
311         * Release 0.17.2
312
313         * NEWS: Updated for 0.17.2
314         * configure.in: Bumped version to 0.17.2
315
316 2004-10-30  Mikael Hallendal  <micke@imendio.com>
317
318         * loudmouth/lm-parser.c: (lm_parser_parse):
319         - Removed that hack to try to convert to utf8, the stream should be 
320           utf8 according to the Jabber specs. This hack caused a lot of weird
321           problems.
322         - Solves bug #154228
323
324 2004-10-22  Mikael Hallendal  <micke@imendio.com>
325
326         reviewed by: <delete if not using a buddy>
327
328         * loudmouth/lm-connection.h:
329         * loudmouth/lm-error.h:
330         * loudmouth/lm-message-handler.h:
331         * loudmouth/lm-message-node.h:
332         * loudmouth/lm-message.h:
333         * loudmouth/lm-proxy.h:
334         * loudmouth/lm-utils.h:
335         * loudmouth/lm-ssl.h:
336         - G_BEGIN_DECLS and G_END_DECLS
337         * loudmouth/loudmouth.h:
338         - Include lm-ssl.h
339
340 2004-10-08  Mikael Hallendal  <micke@imendio.com>
341
342         * loudmouth/lm-connection.c: (connection_new_message_cb):
343         - Fix crash on Solaris when running in verbose mode.
344
345 2004-10-05  Mikael Hallendal  <micke@imendio.com>
346
347         * examples/*.c
348         * loudmouth/*.[ch]
349         - s/Imendio HB/Imendio AB/
350
351 2004-10-05  Mikael Hallendal  <micke@imendio.com>
352
353         * docs/reference/loudmouth-sections.txt:
354         - Added missing function
355
356 2004-09-24  Tim Robbins  <tim@teragen.com.au>
357
358         * loudmouth/lm-connection.c: (connection_do_close):
359         - Use g_source_destroy instead of g_source_remove since we might not
360           use the default main context.
361
362 2004-09-20  Tollef Fog Heen  <tfheen@raw.no>
363
364         * loudmouth/lm-connection.c:
365           (connection_in_event): Use gsize and not gint, they have
366           different sizes on 64 bit architectures.
367
368         * loudmouth/lm-ssl.c, loudmouth/lm-internals.h:
369           Adjust prototype of _lm_ssl_read to match.
370
371 2004-09-03  Mikael Hallendal  <micke@imendio.com>
372
373         * examples/Makefile.am:
374         * examples/lm-register.c:
375         - Added small tool to register an account
376
377 2004-09-02  Mikael Hallendal  <micke@imendio.com>
378
379         * loudmouth/lm-connection.c: (lm_connection_set_proxy):
380         - Use NULL to unset the proxy settings
381         * docs/reference/tmp/lm-proxy.sgml: Updated LmProxyType docs
382
383 2004-08-30  Mikael Hallendal  <micke@imendio.com>
384
385         * Released 0.17.1
386         
387         * NEWS: Updated for 0.17.1
388         * configure.in: Bumped version to 0.17.1
389         * loudmouth/lm-connection.c: 
390         (connection_start_keep_alive):
391         - Don't add idle if keep alive rate is 0.
392         - Patch from Marcin Krzyżanowski <krzak@hakore.com>
393         (lm_connection_new): initialize keep alive rate
394
395 2004-08-27  Mikael Hallendal  <micke@imendio.com>
396
397         * Released 0.17
398         
399         * NEWS: Updated for 0.17
400         * configure.in: Don't try to output mono Makefiles
401         * docs/reference/tmpl/lm-connection.sgml: Updated
402         * loudmouth/lm-connection.[ch]:
403         - Changed the LmConnectionState enum to follow the rest of the API 
404           better.
405
406 2004-08-25  Mikael Hallendal  <micke@imendio.com>
407
408         * loudmouth/lm-connection.[ch]: 
409         (connection_send_keep_alive),
410         (connection_start_keep_alive), 
411         (connection_stop_keep_alive): Added
412         (lm_connection_set_keep_alive_rate): 
413         - Added support to have Loudmouth send keep alive packages, a single 
414           space, at regular intervals.
415
416 2004-08-09  Mikael Hallendal  <micke@imendio.com>
417
418         * examples/test-tunnel.c: Updated.
419         * loudmouth/lm-connection.[ch]:
420         (lm_connection_get_jid), (lm_connection_set_jid): 
421         - Replaced the _host functions with these. These makes much more sense.
422
423 2004-08-08  Mikael Hallendal  <micke@imendio.com>
424
425         * configure.in: Bumped version to 0.17
426
427 2004-08-08  Mikael Hallendal  <micke@imendio.com>
428
429         * docs/reference/tmpl/lm-proxy.sgml: Updated docs
430         * examples/test-tunnel.c: Use the new API for connecting to other host
431           than the actual server name (host part of jid).
432         * loudmouth/lm-connection.[ch]:
433         (lm_connection_set_host), (lm_connection_get_host): Added
434         - Use lm_connection_get_host internally when connecting.
435         - Make LM_PROXY_TYPE_NONE reset the proxy settings on a connection.
436         * loudmouth/lm-proxy.c: (_lm_proxy_connect_cb): Don't connect when 
437           proxy is of type LM_PROXY_TYPE_NONE.
438
439 2004-08-08  Mikael Hallendal  <micke@imendio.com>
440
441         * docs/reference/tmpl/lm-proxy.sgml: Added LM_PROXY_TYPE_NONE
442         * examples/Makefile.am: Added test-tunnel.c
443         * examples/test-tunnel.c: 
444         - Added test that uses LM_PROXY_TYPE_NONE.
445         * loudmouth/lm-internals.h: Cleaning
446         * loudmouth/lm-proxy.c: 
447         - Support using LM_PROXY_TYPE_NONE for direct 
448           (for example an ssh-tunnel) "proxy".
449
450 2004-08-03  Mikael Hallendal  <micke@imendio.com>
451
452         * Synced from SVN. Going to continue working on it here.
453
454 2004-06-15  Mikael Hallendal  <micke@imendio.com>
455
456         * README: Updated GnuTLS dependency.
457         * mono/*: Some work on the mono bindings.
458
459 2004-05-28  Mikael Hallendal  <micke@imendio.com>
460
461         * configure.in: 
462         - Correctly inform whether SSL support was enabled or not.
463
464 2004-05-28  Mikael Hallendal  <micke@imendio.com>
465
466         * src/lm-sha.c: Fixed lvalue cast that wasn't approved by newer GCC.
467
468 2004-05-10  Mikael Hallendal  <micke@imendio.com>
469
470         * configure.in: Enable Mono on request
471         
472         * mono/*: 
473         - Updated the bindings some.
474         - Removed the autogenerated, it's such a small API that I figured
475           it was easier to wrap it manually.
476
477 2004-04-30  Mikael Hallendal  <micke@imendio.com>
478
479         * loudmouth/lm-parser.c (parser_end_node_cb): Unref the message node.
480
481 2004-04-29  Mikael Hallendal  <micke@imendio.com>
482
483         * examples/lm-change-password.c:
484         * examples/Makefile.am:
485         - Added a small tool to change the password on a jabber account.
486
487 2004-04-27  Mikael Hallendal  <micke@imendio.com>
488
489         * Ignore on autogenerated files.
490
491 2004-04-20  Mikael Hallendal  <micke@imendio.com>
492
493         * loudmouth/*.[ch]: Updated copyright information
494
495 2004-04-20  Mikael Hallendal  <micke@imendio.com>
496
497         * configure.in: Now depend on Glib 2.4
498         * loudmouth/lm-queue.[ch]: Removed, use the new GQueue in Glib 2.4
499         * loudmouth/lm-connection.[ch]: Use GQueue instead of LmQueue.
500
501 2004-04-16  Mikael Hallendal  <micke@imendio.com>
502
503         * configure.in: Added libtasn1 requirement
504         * loudmouth.spec.in: Added requirement on libtasn if built with SSL.
505
506 2004-04-04  Mikael Hallendal  <micke@imendio.com>
507
508         * loudmouth/lm-sha.c: Commited compile fix from Sjoerd.
509
510 2004-03-20  Mikael Hallendal  <micke@imendio.com>
511
512         * docs/reference/loudmouth-sections.txt:
513         - Added lm_connection_get_state
514         - Added LmConnectionState
515
516 2004-03-17  Mikael Hallendal  <micke@imendio.com>
517
518         * Synced from SVN.
519
520         * Released 0.16
521         
522         * configure.in: Bumped to 0.16 
523         * NEWS: Updated for 0.16
524  
525 2004-03-17  Mikael Hallendal  <micke@imendio.com>
526
527         * docs/reference/*: Updated documentation.
528         * loudmouth/*: Fixed the documentation in a couple of places. 
529
530 2004-03-17  Mikael Hallendal  <micke@imendio.com>
531
532         * loudmouth/lm-connection.[ch]
533         (lm_connection_new_with_context): 
534         - Added to be able to give what context the connection should be 
535           running in. 
536         - All internal functions are updated to use the context or NULL if 
537           lm_connection_new was called.
538         - Should make it possible to use several LmConnections in various 
539           threads.
540
541 2004-03-17  Mikael Hallendal  <micke@imendio.com>
542
543         * loudmouth/lm-connection.c: 
544         * loudmouth/lm-internal.h:
545         * loudmouth/lm-proxy.c: 
546         - Make the HTTP proxy support asynchronous. Patch from Josh Beam.
547         - Re-enable the HTTP proxy support.
548         * examples/lm-send-sync.c: 
549         * examples/lm-send-async.c:
550         * examples/test-http-proxy.c:
551         - Added two of the old examples and a new one to test out the HTTP 
552           proxy support.
553
554 2004-03-17  Mikael Hallendal  <micke@imendio.com>
555
556         * configure.in: Generate examples/Makefile
557         * loudmouth/test-jid.c: Removed
558         * loudmouth/test-lm.c: Moved to examples/
559         * exmples/*: Moved out from loudmouth/
560
561 2004-02-05  Mikael Hallendal  <micke@imendio.com>
562
563         * README: Updated information about website and bug reporting
564
565 2004-01-29  Richard Hult  <richard@imendio.com>
566
567         * loudmouth/lm-message-node.c: (lm_message_node_to_string):
568         * loudmouth/lm-message.c: (lm_message_new):
569         (lm_message_new_with_sub_type), (lm_message_unref): 
570         - Plug leaks and fix two small coding style issues.
571
572 2004-01-23  Mikael Hallendal  <micke@imendio.com>
573         
574         * Release 0.15.1
575
576         * NEWS: 
577         * configure.in:
578         - Updated to 0.15.1
579
580 2004-01-22  Frederic Crozat  <fcrozat@mandrakesoft.com>
581
582         * configure.in:
583         * loudmouth/lm-ssl.c: (ssl_verify_certificate):
584         Don't use deprecated function of gnutls.
585         Now requires gnutls >= 1.0.0
586
587 2004-01-21  Mikael Hallendal  <micke@imendio.com>
588
589         * Release 0.15.
590
591 2004-01-21  Mikael Hallendal  <micke@imendio.com>
592
593         * Makefile.am:
594         * configure.in:
595         - Removed the mono bindings for now.
596
597 2004-01-21  Richard Hult  <richard@imendio.com>
598
599         * loudmouth.spec.in: 
600         - The library changed name, update to libloudmouth-1.la.
601         
602 2004-01-21  Mikael Hallendal  <micke@imendio.com>
603
604         * docs/reference/tmpl/lm-ssl.sgml:
605         * loudmouth/lm-ssl.c:
606         - Added API documentation
607
608 2004-01-21  Mikael Hallendal  <micke@imendio.com>
609
610         * docs/reference/loudmouth-docs.sgml:
611         * docs/reference/loudmouth-sections.txt:
612         * docs/reference/tmpl/lm-connection.sgml:
613         * docs/reference/tmpl/loudmouth-unused.sgml:
614         * docs/reference/tmpl/lm-ssl.sgml:
615         * loudmouth/lm-ssl.h:
616         - Added new file to documentation
617
618 2004-01-21  Mikael Hallendal  <micke@imendio.com>
619
620         * Makefile.am:
621         * configure.in: Work on the C# bindings
622         * NEWS: Preparing for 0.15
623         * loudmouth-1.0.pc.in: Versioned the library
624         * loudmouth/Makefile.am: ditto
625         * loudmouth/lm-connection.c: 
626         * loudmouth/lm-connection.h: Disabled the proxy support.
627         * mono/Makefile:
628         * mono/Makefile.am:
629         * mono/loudmouth/Makefile.am:
630         * mono/loudmouth/loudmouth-api.xml:
631         * mono/loudmouth/loudmouth.metadata:
632         * mono/sources/loudmouth-sources.xml:
633         - WIP on the bindings, first cut of generated bindings.
634
635 2004-01-16  Mikael Hallendal  <micke@imendio.com>
636
637         * loudmouth/lm-connection.c:
638         (connection_failed_with_error),
639         (connection_connect_cb): 
640         (connection_do_connect):
641         - Don't fall through after calling connection_failed.
642         - Fixed bug #130449
643
644 2004-01-15  Mikael Hallendal  <micke@imendio.com>
645
646         * loudmouth/Makefile.am:
647         - Added lm-ssl.[ch]
648         * loudmouth/lm-connection.c:
649         * loudmouth/lm-connection.h:
650         - Splitted out the SSL parts
651         - No longer contains loads of #ifdefs around tls parts
652         - Added lm_connection_[set|get]_ssl instead.
653         * loudmouth/lm-internals.h:
654         - Added _lm_ssl*
655         * loudmouth/lm-ssl.c:
656         * loudmouth/lm-ssl.h:
657         - New files, the SSL parts from LmConnection.
658         - Declares no-ops for SSL functions if compiled without support for it.
659         * loudmouth/test-lm.c:
660         - Updated for new SSL API.
661
662 2004-01-15  Mikael Hallendal  <micke@imendio.com>
663
664         * loudmouth/lm-connection.c:
665         - Added Sjoerd Simons to copyright list.
666
667 2004-01-15  Mikael Hallendal  <micke@imendio.com>
668
669         * loudmouth/Makefile.am:
670         - Added lm-proxy.[ch]
671         * loudmouth/lm-connection.c:
672         * loudmouth/lm-connection.h:
673         - Commited patch from Sjoerd Simons to make async connect work better.
674         - Cleaned out the proxy support to it's own file.
675         - Made sure all public functions user g_return_(val)_if_fail.
676         * loudmouth/lm-internals.h:
677         - cleaned up a bit and added proxy function and base64 encoding
678         * loudmouth/lm-message-handler.c:
679         - include config.h
680         * loudmouth/lm-proxy.c:
681         * loudmouth/lm-proxy.h:
682         - Added, broken out of LmConnection
683         - Commited patch from Josh Beam
684         * loudmouth/lm-utils.c:
685         (_lm_utils_base64_encode): Added.
686
687 2004-01-08  Richard Hult  <richard@imendio.com>
688
689         * loudmouth/lm-connection.c (connection_timeout_check_open):
690         Remove debug output.
691
692         * acinclude.m4: Add gmtoff check.
693
694         * loudmouth/lm-utils.c (lm_utils_get_localtime): Use tm_gmtoff if
695         available.
696
697 2004-01-06  Mikael Hallendal  <micke@imendio.com>
698
699         * loudmouth/lm-connection.c:
700         - Now works with sync open again.
701         * loudmouth/lm-utils.c: (_lm_utils_free_callback):
702         - Work with NULL
703
704 2004-01-05  Mikael Hallendal  <micke@imendio.com>
705
706         * loudmouth/lm-connection.c: 
707         - Work in progress of making the lm_connection_open really async.
708         - Currently broken for lm_connection_open_block.
709
710 2003-12-27  Mikael Hallendal  <micke@imendio.com>
711
712         * loudmouth/lm-connection.[ch]: 
713         (connection_verify_certificate),
714         (connection_do_open), 
715         (connection_do_close), 
716         (connection_in_event),
717         (connection_send),
718         (lm_connection_new): Updated to not pass SSL function everywhere.
719         (lm_connection_open): Removed the _ssl function
720         (lm_connection_open_and_block): Removed the _ssl function
721         (lm_connection_set_use_ssl): Added, set LmSSLFunction here instead.
722         (lm_connection_get_use_ssl): Internal update
723
724 2003-12-27  Mikael Hallendal  <micke@imendio.com>
725
726         * docs/reference/tmpl/lm-error.sgml:
727         * loudmouth/lm-connection.c:
728         * loudmouth/lm-connection.h:
729         (connection_connect_nonblocking),
730         (connection_do_open),
731         (connection_http_proxy_negotiate),
732         (lm_connection_new),
733         (lm_connection_get_proxy_type),
734         (lm_connection_set_proxy_type),
735         (lm_connection_get_proxy_server),
736         (lm_connection_set_proxy_server),
737         (lm_connection_get_proxy_port),
738         (lm_connection_set_proxy_port):
739         - Add support for HTTP proxy
740         - Patch from Josh Beam <josh@3ddrome.com>
741         - Needed changes to Loudmouth to fix bug #117757 in Gossip.
742
743 2003-12-19  Mikael Hallendal  <micke@imendio.com>
744
745         * loudmouth/lm-connection.c: 
746         (connection_free): cleaned up a bit.
747         (connection_connect_nonblocking): added, nonblocking connect
748         (connection_do_open):
749         - Use the nonblocking connect
750         - set state
751         (connection_do_close): cleaned up 
752         (connection_auth_reply): set state
753         (lm_connection_cancel_open): added
754         (lm_connection_authenticate): set state
755         (lm_connection_is_open): use state
756         (lm_connection_is_authenticated): use state
757         (lm_connection_get_state): added
758         - Part fixes bug #122326
759
760 2003-12-15  Mikael Hallendal  <micke@imendio.com>
761
762         * README: Updated information about bug reporting
763
764 2003-12-15  Mikael Hallendal  <micke@imendio.com>
765
766         * loudmouth/lm-connection.c:
767         - Fixed issue with the SSL parts. Patch from Colin Walters
768
769 2003-11-20  Ross Burton  <ross@burtonini.com>
770
771         * loudmouth/lm-message-node.h:
772         - Mark the private members how gtk-doc wants it.
773
774         * loudmouth/lm-message-node.c:
775         - Fix comment typos and document more parameters.
776
777         * loudmouth/lm-connection.c: Fix comment typos.
778
779         * docs/reference/loudmouth-sections.txt: 
780         - Removed a non-existent function.
781
782         * docs/reference/tmpl/lm-connection.sgml: Fix some typos.
783
784         * docs/reference/tmpl/lm-message-node.sgml:
785         - Document raw_node, and remove private fields.
786
787         * docs/reference/tmpl/lm-message.sgml: gtk-doc did this itself...
788
789 2003-11-16  Mikael Hallendal  <micke@imendio.com>
790
791         * loudmouth/lm-connection.c: 
792         (lm_connection_new): Don't create and attach source here
793         (lm_connection_open): Do it here, 
794         (lm_connection_open_and_block): and here. Fixes #126983.
795
796 2003-11-11  Mikael Hallendal  <micke@imendio.com>
797
798         * loudmouth/lm-connection.c:
799         (connection_do_close): Remove the incoming source. Reported and fix
800           proposed by Christopher G. Abiad
801         (lm_connection_authenticate_and_block):
802         - Set error message on auth failed (should be more explicit). Fixes
803           problem when you try to read the error message on fail.
804
805 2003-11-11  Mikael Hallendal  <micke@imendio.com>
806
807         * Makefile.am: 
808         - Added README.WIN32 so it will be distributed next release.
809
810 2003-10-13  Mikael Hallendal  <micke@imendio.com>
811
812         * configure.in: Bumped version to 0.14.1.99
813
814         * loudmouth/lm-message.c: 
815         (lm_message_new): Always set an ID on the message.
816
817 2003-10-13  Mikael Hallendal  <micke@imendio.com>
818  
819         * mono/*: Added first cut at C-sharp bindings that I hacked up a while
820           ago. Can't continue development at the moment since the mono compiler
821           segfaults on my machine at the moment.
822
823         * python/*: Johan Dahlin added a first cut of python bindings, yay him!
824
825 2003-10-13  Mikael Hallendal  <micke@imendio.com>
826
827         * NEWS: Updated for 0.14.1
828         
829         * configure.in: Bumped to 0.14.1
830         
831         * loudmouth/lm-connection.c: (connection_in_event): check if bytes_read
832           equals GNUTLS_E_AGAIN, fixes crash. Patch by Marinus Schraal.
833
834 2003-10-03  Mikael Hallendal  <micke@imendio.com>
835
836         * Release 0.14
837         
838         * NEWS: Updated for 0.14
839         
840         * configure.in: Bumped to 0.14
841         
842 2003-10-02  Mikael Hallendal  <micke@imendio.com>
843
844         * loudmouth/lm-connection.c: (connection_free):
845         - Free the message handlers and message handler list when free'ing 
846           the connection.
847
848 2003-10-01  Mikael Hallendal  <micke@imendio.com>
849
850         * configure.in: Tweaked the --with-ssl option a bit.
851         
852         * loudmouth.spec.in: 
853         - Added a with_ssl to be able to easily turn of GNU Tls support.
854         - Fixes LM-14
855
856 2003-10-01  Mikael Hallendal  <micke@imendio.com>
857
858         * loudmouth/lm-connection.c: (connection_do_open):
859         - Added a patch for IPv6-support submitted by Sjoerd Simons.
860         - Sjoerd also seems to know this stuff better than me since his 
861           connection code looked more sane than mine. Thanks alot!
862
863 2003-10-01  Mikael Hallendal  <micke@imendio.com>
864
865         * loudmouth/Makefile.am: 
866         - added lm-queue.[ch]
867           
868         * loudmouth/lm-queue.[ch]: copied and extended from GQueue.
869         
870         * loudmouth/lm-connection.c: 
871         - Use LmQueue instead of GQueue
872         (lm_connection_open_and_block): Better handling of the queue.
873         
874         (lm_connection_send_with_reply_and_block): 
875         - Fixed a bug causing replies to be over looked.
876
877 2003-10-01  Mikael Hallendal  <micke@imendio.com>
878
879         * README.WIN32, win32-config.h: 
880         - Added information about how to build on Windows. Fixes LM-12
881           
882 2003-08-24  Martyn Russell  <ginxd@btopenworld.com>
883
884         * loudmouth/lm-connection.c:
885         (connection_in_event): Use an int for bytes_read. Since bytes_read is
886           now also used for gnutls return value (which can be < 0) a gsize
887           (unsigned) is not a good idea...
888         
889 2003-08-15  Mikael Hallendal  <micke@imendio.com>
890
891         * Release 0.13.2
892
893         * configure.in: Bumped to 0.13.2
894         * NEWS: Updated for 0.13.2
895
896         * loudmouth/lm-parser.c: (parser_end_node_cb):
897         - Don't crash on </stream:stream>. Fixes bug #117952
898
899 2003-08-05  Mikael Hallendal  <micke@imendio.com>
900
901         * Release 0.13.1
902
903         * NEWS: Updated for 0.13.1
904         * configure.in: Bumped to 0.13.1
905
906 2003-08-05  Mikael Hallendal  <micke@imendio.com>
907
908         * acinclude.m4: Added GnuTLS-macro from GnuTLS-distribution.
909  
910         * configure.in: Added comment if SSL support disabled.
911
912         * loudmouth.spec.in: Added Build-requirment on gtk-doc.
913
914         * Release 0.13
915         
916         * NEWS: Updated for 0.13  
917         * configure.in: Bumped to 0.13
918
919 2003-08-04  Mikael Hallendal  <micke@imendio.com>
920
921         * README: 
922         - Added comment about GnuTLS and --with-included-libtasn1.
923         - Fixes LM-7 and bug #117801
924
925 2003-08-04  Mikael Hallendal  <micke@imendio.com>
926
927         * loudmouth/lm-connection.c: (connection_in_event): 
928         - Disconnect and report that we are disconnected if read doesn't work.
929           This solved the problem when Gossip eats 100% CPU because the server
930           got disconnected. Fixes LM-9.
931
932         * loudmouth/Makefile.am: Use -DRUNTIME_ENDIAN, fixes LM-8, bug #118502.
933
934         * loudmouth/lm-connection.c: 
935         - Modifed patch from Mikhail Zabaluev, fixes LM-5.
936         * (connection_free): close connection if it's still open.
937         * (connection_do_open): Store away the GSource handlers.
938         * (connection_do_close): Remove the GSources from the IOChannel.
939         * (connection_in_event, connection_error_event, connection_hup_event):
940         - Return FALSE if io_channel = NULL.
941
942         * configure.in:
943         - Submitted patch for Loudmouth from Mikhail Zabaluev to
944           make configure.in use the aclocal-stuff from gnutls instead of
945           selfmade hack. Fixes LM-6. 
946
947 2003-07-29  Mikael Hallendal  <micke@imendio.com>
948
949         * loudmouth/lm-message.[ch]:
950         - Added LM_MESSAGE_SUB_TYPE_NORMAL to be a sub type that can actually 
951           be set.
952         - If type is not set in a <message/>-node it won't be reported to be 
953           LM_MESSAGE_SUB_TYPE_NORMAL but rather LM_MESSAGE_SUB_TYPE_NOT_SET.
954
955 2003-07-17  Mikael Hallendal  <micke@imendio.com>
956
957         * Release 0.12
958
959         * NEWS: Updated for 0.12
960         * configure.in: Bumped to 0.12
961
962 2003-07-17  Mikael Hallendal  <micke@imendio.com>
963
964         * loudmouth/lm-connection.c:
965         (auth_req_data_free): Added, free's auth data
966         (connection_create_auth_req_msg): 
967         - Added, generates an auth request message
968         (connection_create_auth_msg):
969         - Added, generates an auth message
970         (connection_auth_req_reply): Added
971         (connection_check_auth_type): Added
972         (lm_connection_authenticate): Modified
973         (lm_connection_authenticate_and_block): Modified
974         - Fixes cf-bug #509
975
976 2003-07-17  Mikael Hallendal  <micke@imendio.com>
977
978         * configure.in: Added GNUTLS_REQUIRED
979         * loudmouth.spec.in: Added gnutls dependency in RPM's.
980
981 2003-07-17  Mikael Hallendal  <micke@imendio.com>
982
983         * docs/reference/loudmouth-sections.txt: Added new functions
984         * docs/reference/tmpl/lm-error.sgml: Documented undocumented references.
985         * docs/reference/tmpl/lm-message-handler.sgml: Same.
986         * docs/reference/tmpl/loudmouth-unused.sgml: Same
987         * loudmouth/lm-debug.c: Same
988         
989         * loudmouth/lm-message-handler.c:
990         * loudmouth/lm-message-handler.h:
991         (_lm_message_handler_handle_message): 
992         - Check if handler is valid before trying to handle message.
993         (lm_message_handler_new): Set handler to be valid.
994         (lm_message_handler_invalidate): Added. Fixes cf-bug #677
995         (lm_message_handler_is_valid): Added
996
997 2003-07-14  Mikael Hallendal  <micke@imendio.com>
998
999         * Release 0.11
1000
1001         * configure.in: Bumped to 0.11
1002         * NEWS: Updated for 0.11
1003         
1004 2003-07-12  Mikael Hallendal  <micke@imendio.com>
1005
1006         * configure.in: 
1007         - Added SSL support, patch from Bartosz Zapalowski. THIS GUY ROCKS!
1008         * docs/reference/loudmouth-sections.txt: 
1009         - added lm_connection_supports_ssl.
1010         * loudmouth/lm-connection.c: Added support for SSL.
1011         * loudmouth/test-lm.c: (main): Use SSL if it's compiled in.
1012
1013 2003-07-07  Mikael Hallendal  <micke@imendio.com>
1014
1015         * Release 0.10.1
1016
1017         * NEWS: Updated for 0.10.1
1018         * configure.in: Bumped version to 0.10.1
1019
1020 2003-07-07  Mikael Hallendal  <micke@imendio.com>
1021
1022         * loudmouth/lm-connection.c: moved the includes around a bit so that 
1023           it builds on FreeBSD without problems.
1024
1025 2003-06-26  Mikael Hallendal  <micke@imendio.com>
1026
1027         * Released 0.10
1028         * configure.in: Changed version to 0.10
1029         * NEWS: Added 0.10 news.
1030         
1031 2003-06-25  Mikael Hallendal  <micke@imendio.com>
1032
1033         * configure.in: Bumped to 0.9.1
1034         * loudmouth.spec.in: Changed the URL to the project site.
1035
1036 2003-06-24  Mikael Hallendal  <micke@imendio.com>
1037
1038         * loudmouth/lm-connection.c:
1039         * loudmouth/lm-sha.c: 
1040         * loudmouth/test-lm.c:
1041         - Submitted patch that makes Loudmouth work and build on Win32.
1042           Patch sent by Vince Negri, thanks a lot.
1043
1044 2003-06-15  Mikael Hallendal  <micke@imendio.com>
1045
1046         * loudmouth/lm-message.c:
1047         * loudmouth/lm-message.h:
1048         (lm_message_get_sub_type): Return LmMessageSubType.
1049           Found by Alexander Saltanov
1050
1051 2003-06-13  Mikael Hallendal  <micke@imendio.com>
1052
1053         * AUTHORS: updated contact information
1054         * README: updated contact information
1055         * loudmouth/*.[ch]: updated email address
1056         * loudmouth/lm-message-node.c: don't lower case the XML
1057         * loudmouth/lm-message.c:
1058         (message_type_from_string): use strcmp rather than strcasecmp
1059         * loudmouth/lm-parser.c: 
1060         (parser_start_node_cb),
1061         (parser_end_node_cb), 
1062         (lm_parser_new): use strcmp instead of strcasecmp
1063
1064 2003-06-11  Mikael Hallendal  <micke@codefactory.se>
1065
1066         * docs/reference/loudmouth-sections.txt: Added new functions
1067
1068         * loudmouth/lm-message-node.c: 
1069         (_lm_message_node_new): Set node->raw_mode = FALSE.
1070         (lm_message_node_get_raw_mode): Added
1071         (lm_message_node_set_raw_mode): Added
1072         (lm_message_node_to_string): Don't escape if raw_mode == TRUE
1073         
1074         * loudmouth/lm-message-node.h: Added new functions.
1075
1076 2003-04-26  Mikael Hallendal  <micke@codefactory.se>
1077
1078         * loudmouth.spec.in: Enable gtk-doc
1079  
1080         * Released 0.9.1
1081
1082 2003-04-17  Mikael Hallendal  <micke@codefactory.se>
1083
1084         * docs/reference/Makefile.am: Make --disable-gtk-doc not try to 
1085           install the documents :) Fixes #633, patch by Kevin Dougherty.
1086         
1087         * loudmouth/lm-debug.c: Make build work with --disable-debug, 
1088           fixes #634, patch by Kevin Dougherty.
1089
1090 2003-04-11  Mikael Hallendal  <micke@codefactory.se>
1091
1092         * NEWS: More updates
1093         
1094         * configure.in: Bumped version to 0.9
1095         
1096         * loudmouth.spec.in: Fixed
1097         
1098         * loudmouth/lm-connection.c:
1099         (lm_connection_send_with_reply_and_block): Removed debug output.
1100         
1101 2003-04-10  Mikael Hallendal  <micke@codefactory.se>
1102
1103         * NEWS: Updated for upcoming 0.9 release.
1104         
1105 2003-04-07  Mikael Hallendal  <micke@codefactory.se>
1106
1107         * README: Added information about debug output.
1108         
1109         * loudmouth/lm-connection.c: 
1110         (connection_in_event): Use a define for IN_BUFFER_SIZE
1111
1112 2003-04-07  Mikael Hallendal  <micke@codefactory.se>
1113
1114         * README:
1115         * loudmouth/lm-connection.c: (connection_in_event):
1116
1117 2003-04-07  Mikael Hallendal  <micke@codefactory.se>
1118
1119         * configure.in:
1120         - Added debug flag.
1121         * loudmouth/Makefile.am:
1122         - Added lm-debug.[ch]
1123         * loudmouth/lm-internals.h: Added debug-stuff
1124         * loudmouth/lm-connection.c: Use debug-stuff instead of d()-macro.
1125         * loudmouth/lm-message.c: Same
1126         * loudmouth/lm-parser.c: Same
1127
1128 2003-04-05  Mikael Hallendal  <micke@codefactory.se>
1129
1130         * Makefile.am: Added .spec and .spec.in to EXTRA_DIST
1131         * configure.in: Set GLIB2_REQUIRED, will be used in the spec-file.
1132         * loudmouth/lm-message.c:
1133         * loudmouth/lm-message.h:
1134         - fixed the support for message and presence elements without type 
1135           attribute.
1136
1137 2003-04-01  Mikael Hallendal  <micke@codefactory.se>
1138
1139         * loudmouth/lm-message.c:
1140         (lm_message_get_node): added, using for bindings.
1141
1142         * loudmouth/lm-message-node.c:
1143         (lm_message_node_get_value): added, makes binding easier.
1144         (lm_message_node_set_attribute): splitted out to just set one
1145           attribute. using just this one to bind for C#.
1146
1147 2003-03-24  Mikael Hallendal  <micke@codefactory.se>
1148
1149         * loudmouth/lm-connection.c:
1150         (connection_incoming_dispatch):
1151         - don't call handle_message if message is NULL.
1152         (connection_do_open): 
1153         - set error, don't send any messages, just open the socket and
1154           send the xml-document starter.
1155         (connection_do_block): Removed.
1156         (connection_create_source): added
1157         (lm_connection_open_and_block): implemented.
1158         (lm_connection_authenticate_and_block): implemented.
1159         (lm_connection_send_with_reply_and_block): implemented.
1160
1161 2003-03-23  Mikael Hallendal  <micke@codefactory.se>
1162
1163         * loudmouth/lm-connection.c:
1164         - Now uses a queue for all incoming messages and a source that
1165           polls the queue.
1166         (connection_do_close): added, unrefs
1167           io_channel and sets connection to be disconnected.
1168         (connection_do_open): renamed from connection_connect
1169
1170 2003-03-14  Mikael Hallendal  <micke@codefactory.se>
1171
1172         * loudmouth/lm-connection.c:
1173         (lm_connection_get_server): added
1174         (lm_connection_set_server): added
1175         (lm_connection_get_port): added
1176         (lm_connection_set_port): added
1177         (lm_connection_get_use_ssl): added
1178         (lm_connection_set_use_ssl): added
1179         (lm_connection_new): Don't take port and use_ssl arguments. Make
1180           server-attribute optional (passing NULL).
1181
1182         * configure.in: bumped to 0.8.99
1183         
1184 2003-03-13  Mikael Hallendal  <micke@codefactory.se>
1185
1186         * autogen.sh (need_configure_in):
1187         - fix to autogen on solaris. Reported by stric.
1188
1189         * configure.in: 
1190         - Added check for -lnsl and -lsocket needed to link on solaris.
1191
1192         * Released 0.8
1193
1194         * configure.in: bumped version to 0.8
1195
1196         * README (Introduction): added some information before the 0.8
1197           release.
1198
1199         * loudmouth/lm-connection.c:
1200         (connection_error_event): call disconnect callback.
1201         (connection_hup_event): same.
1202         (lm_connection_set_disconnect_function): added.
1203
1204 2003-03-05  Mikael Hallendal  <micke@codefactory.se>
1205
1206         * loudmouth/*.h: prettified headers.
1207         
1208         * docs/reference/*: Updating docs. Now at 100%!
1209
1210 2003-03-03  Mikael Hallendal  <micke@codefactory.se>
1211
1212         * loudmouth/lm-message-node.h:
1213         - removed LmMessageNodeFunc, wasn't used anywhere.
1214
1215         * docs/reference/*: Updating docs. At 88% now... sooon!
1216
1217         * Changed license (again), this time back to LGPL. And it'll stay
1218           there :)
1219         
1220 2003-02-27  Mikael Hallendal  <micke@codefactory.se>
1221
1222         * Worked alot on documenting.
1223         
1224 2003-02-25  Mikael Hallendal  <micke@codefactory.se>
1225
1226         * loudmouth/lm-connection.c (connection_in_event): 
1227         - Try to solve #553
1228
1229 2003-02-24  Mikael Hallendal  <micke@codefactory.se>
1230
1231         * loudmouth/lm-sha.c: don't use stdint.h, instead use the g*
1232           versions of different int lengths. Fixes #536
1233
1234 2003-02-08  Mikael Hallendal  <micke@codefactory.se>
1235
1236         * src/*.c: Started to document
1237
1238         * src/lm-result.h: Removed
1239
1240         * src/lm-error.[ch]: Added
1241
1242         * src/lm-connection.[ch]: 
1243         - Use GErrors for reporting errors.
1244         - Fixes #510
1245
1246         * docs/reference/Makefile.am: Don't link against GObject.
1247
1248 2003-02-06  Mikael Hallendal  <micke@codefactory.se>
1249
1250         * loudmouth/lm-connection.c (connection_connect): send the opening
1251           xml tag stating that we'll use encoding utf-8.
1252
1253 2003-02-02  Mikael Hallendal  <micke@codefactory.se>
1254
1255         * loudmouth/lm-message.c:
1256         - fixes #504
1257         (lm_message_new): take to-argument
1258         (lm_message_new_with_sub_type): take to-argument
1259
1260         * loudmouth/test-lm.c (main): don't init GType, not used anymore..
1261
1262         * lm-message-handler.c:
1263         - include files we actually need :)
1264
1265         * loudmouth/lm-connection.c: don't include removed files.
1266
1267         * loudmouth/Makefile.am:
1268         - Removed all the stuff that generated the marshallers.
1269
1270         * configure.in: 
1271         - removed gobject deps
1272         - removed glib-genmarshal deps
1273
1274         * loudmouth-1.0.pc.in (Requires): removed all deps except glib.
1275
1276         * loudmouth/lm-connection.c: 
1277         - Is no more a GObject, this means that loudmouth now only depends
1278           on GLib which makes it minimal and perfect for embedded systems.
1279
1280         * configure.in: Don't require libgtcpsocket
1281
1282         * loudmouth/lm-connection.c: Don't use libgtcpsocket for
1283           communication. Now uses a GIOChannel.
1284
1285         * loudmouth/*.c:
1286         - Use GDestroyNotify instead of LmFreeFunction.
1287         - Added LmCallback which is a struct with callback, 
1288           user_data and a notify function.
1289         - Changed LmConnectionOpenFunction and LmAuthenticateFunction to
1290           be LmResultFunction.
1291
1292 2003-02-01  Mikael Hallendal  <micke@codefactory.se>
1293
1294         * loudmouth/lm-sha.c (lm_sha_hash): don't print the digest.
1295
1296 2003-01-31  Mikael Hallendal  <micke@codefactory.se>
1297
1298         * *: changed the license to the same one used in RoadRunner.
1299
1300         * loudmouth/lm-sha.c:
1301         - switched the SHA implementation for one with BSD license.
1302
1303         * loudmouth/lm-connection.c (lm_connection_authenticate): 
1304         - lm_sha_hash now returns a const gchar *
1305
1306
1307 2003-01-30  Mikael Hallendal  <micke@codefactory.se>
1308
1309         * docs/*: Added gtk-doc support. Now I just have to write API docs
1310           for everything :)
1311
1312         * loudmouth/lm-helper.[ch]: Removed.
1313         
1314 2003-01-30  Mikael Hallendal  <micke@codefactory.se>
1315
1316         * loudmouth/lm-message-node.c:
1317         (lm_message_node_to_string): made public since it's really useful
1318           for debugging your client.
1319         (lm_message_node_find_child): readded this function from the old
1320           LmNode. It traverses the tree to see if it can find the child
1321           and returns at the first it finds. lm_message_node_get_child
1322           only looks at the direct children.
1323
1324 2003-01-29  Mikael Hallendal  <micke@codefactory.se>
1325
1326         * loudmouth/lm-connection.c:
1327         (lm_connection_send): don't set ID here. we set it in
1328           send_with_reply if it's not set (since it's needed there to find
1329           the correct handler).
1330         (connection_connection_recv_cb): 
1331         - not sure if this helps any, return if length <= 0 instead of
1332           feeding it to the parser.
1333         
1334         * loudmouth/lm-message.[ch]: 
1335         - Added LmMessageSubType that can be used to set and check a
1336           message's sub type <node type="sub type">.
1337         (message_sub_type_from_string): added
1338         (message_sub_type_to_string): added
1339         (lm_message_new_with_sub_type): added
1340         (lm_message_get_sub_type): added
1341
1342         * loudmouth/lm-message-node.c (lm_message_node_get_child): 
1343         - remove variable that caused warning.
1344
1345         * configure.in: updated version to 0.2
1346
1347 2003-01-27  Mikael Hallendal <micke@codefactory.se>
1348
1349         * src/*: 
1350         - LmClient -> LmConnection
1351         - Use Message Handlers on LmConnection instead of signals
1352         - LmElement, LmPresence and LmIQ removed
1353         - LmMessage used for all kinds of messages now
1354         - LmMessageHandler added as a generic message handler for all
1355           kinds of messages.
1356         - send_with_reply added to give a callback when waiting for an
1357           answer to a request.
1358         - LmResult added to most calls. Used to get some feedback on what
1359           might have gone wrong.
1360                 
1361 2003-01-27  Anders Carlsson  <andersca@codefactory.se>
1362
1363         * autogen.sh (FILE): Use lm-message.c for testing.
1364
1365 2003-01-26  Mikael Hallendal  <micke@codefactory.se>
1366
1367         * loudmouth/*: Added lm-helper which will create elements to send
1368           through client.
1369         
1370 2003-01-25  Mikael Hallendal  <micke@codefactory.se>
1371
1372         * loudmouth/lm-marshal.list (VOID): cleaned up old marshallers.
1373
1374         * loudmouth/lm-element.c (lm_element_get_type_string): added.
1375
1376         * loudmouth/lm-client.c: 
1377         - Changed message, presence and iq received back into signals
1378         - Added default handlers to class
1379         - Calling default handlers only if none of the connected callbacks
1380           returned TRUE.
1381
1382 2003-01-21  Mikael Hallendal  <micke@codefactory.se>
1383
1384         * configure.in: don't use libgtcpsocket 1.0, use 0.1.0
1385
1386 2002-12-10  Mikael Hallendal  <micke@codefactory.se>
1387
1388         * loudmouth/lm-util.c:
1389         (lm_util_get_localtime): Added
1390         (lm_util_case_strstr): Removed
1391
1392         * loudmouth/lm-x.h: Removed.
1393
1394         * loudmouth/lm-element.c:
1395         - Added support for an iter for iterating over all x elements.
1396         - Needed to resolve #347
1397         (lm_element_get_x_iter): Added
1398         (lm_x_iter_next): Added
1399         (x_iter_next): Added
1400         (lm_x_iter_free): Added
1401
1402         * loudmouth/Makefile.am (libloudmouthinclude_HEADERS): 
1403         - install lm_util.h
1404
1405 2002-12-03  Mikael Hallendal  <micke@codefactory.se>
1406
1407         * loudmouth/lm-presence.c:
1408         - Fixed show-array indexing, Fixes #341 and #342
1409         (lm_presence_set_show): don't set
1410           <show/> to "normal", just leave it out.
1411         (presence_show_from_string): don't strcmp for "normal".
1412         (presence_string_from_show): don't return "normal".
1413
1414 2002-11-29  Richard Hult  <rhult@codefactory.se>
1415
1416         * loudmouth/lm-client.c (lm_client_subscribe_jid): Wrap g_print
1417         with debug macro.
1418         (lm_client_unsubscribe_jid): Likewise.
1419         (lm_client_connect): Add debug print.
1420         (client_connect_done_cb): Add debug print.
1421
1422         * loudmouth/lm-element.c (lm_element_new): When creating a stream
1423         element, use "stream:stream" instead of just "stream". This fixes
1424         the "Invalid XML" error we were getting from the server at the end
1425         of the stream.
1426
1427         * loudmouth/lm-client.c (lm_client_authenticate): Don't free the
1428         digest, it's static memory. This fixes a couple of very weird
1429         crashes.
1430         (lm_client_disconnect): Revert the fix I did here earlier, we
1431         don't want to set is_connected until we really get a disconnect
1432         callback from the connection. The problem is somewhere else.
1433         (lm_client_send): Compare against </stream:stream> instead of just
1434         </stream>.
1435
1436 2002-11-29  Mikael Hallendal  <micke@codefactory.se>
1437
1438         * loudmouth/lm-node.c (node_free): don't free directly, use
1439         ref-counts.
1440         (lm_node_add_child_node): ref the child node.
1441
1442         * loudmouth/lm-element.c:
1443         (lm_element_unref): implemented
1444         (lm_element_set_tree): ref the tree.
1445
1446 2002-11-29  Mikael Hallendal <micke@codefactory.se>
1447
1448         * loudmouth/lm-client.c: Changed default_foo_handler to
1449           foo_handler.
1450         
1451 2002-11-27  Richard Hult  <rhult@codefactory.se>
1452
1453         * loudmouth/lm-client.c (client_handle_iq): Fix warning by making
1454         id const.
1455
1456 2002-11-26  Richard Hult  <rhult@codefactory.se>
1457
1458         * loudmouth/lm-client.c (client_connection_closed_cb): 
1459         - Set is_connected to FALSE.
1460
1461 2002-11-26  Mikael Hallendal  <micke@codefactory.se>
1462
1463         * loudmouth/*: Changed so that LmElement and subclasses are no
1464           longer objects. Just structs. You need to use get/set-functions
1465           instead of properties.
1466         
1467 2002-11-25  Mikael Hallendal  <micke@codefactory.se>
1468
1469         * loudmouth/lm-element.c (element_get_property): fixed error
1470           causing object_get ("from") trying to get "to" value.
1471
1472 2002-11-24  Richard Hult  <rhult@codefactory.se>
1473
1474         * loudmouth/lm-client.c (client_handle_presence): 
1475         - Try to implement subscription requests.
1476
1477         * loudmouth/test-lm.c (main): Fix more callback types.
1478
1479         * loudmouth/lm-client.h: 
1480         - Remove lm_client_set_subscription_request_handler, unused.
1481
1482         * loudmouth/test-lm.c (main): Don't cast callbacks with (Type*).
1483
1484         * loudmouth/lm-client.c: 
1485         - Change function prototypes from *callback to callback.
1486
1487         * loudmouth/lm-client.h: Remove signal entry from object struct 
1488           and change function prototypes to match the definitions.
1489         
1490 2002-11-23  Richard Hult  <rhult@codefactory.se>
1491
1492         * loudmouth/lm-client.h: Add lm_client_get_agents.
1493
1494         * configure.in: Add compiler warnings logic but leave it disabled
1495           since the sha stuff is not very warning free.
1496
1497         * loudmouth/lm-node.c (lm_node_get_string): Escape the body string
1498           so we generate valid xml when sending things like '<', '>', and 
1499           '&'.
1500
1501 2002-11-23  Mikael Hallendal  <micke@codefactory.se>
1502
1503         * loudmouth/lm-node.c (lm_node_unlink): added
1504
1505         * loudmouth/lm-presence.c (presence_set_property): don't set
1506           <show>normal</show>
1507
1508         * loudmouth/lm-iq.c:
1509         (lm_iq_get_query_node):
1510         (lm_iq_set_query_node): removed, use lm_element_find_child and
1511           lm_element_add_child_node instead.
1512
1513         * loudmouth/lm-element.c:
1514         (lm_element_add_child): added :)
1515         (lm_element_find_child): added
1516
1517         * loudmouth/lm-client.c (client_connection_closed_cb): call
1518           disconnect callback.
1519
1520         * loudmouth/lm-sha.[ch]: added, found in jabberd2, remember to
1521           check license issues with this.
1522
1523         * loudmouth/lm-client.c:
1524         (lm_client_authenticate): use digest for sending password instead
1525           of clear text.
1526
1527         * loudmouth/lm-client.c:
1528         (client_handle_iq): handle register reply
1529         (lm_client_register): added
1530         (lm_client_authenticate): moved stuff from iq-helper, easy enough
1531           now with the changes earlier today.
1532
1533         * loudmouth/lm-iq-helper.[ch]: removed, not needed anymore.
1534
1535         * loudmouth/lm-element.c (lm_element_add_child_node): added, this
1536           can be used to add any node to any element.
1537
1538         * loudmouth/lm-presence.c (presence_set_property): priority is an
1539           int, not string.
1540
1541         * loudmouth/lm-node.c (lm_node_add_child_node): rethinking, don't
1542           ref.
1543         
1544 2002-11-22  Mikael Hallendal  <micke@codefactory.se>
1545
1546         * loudmouth/lm-node.c:
1547         (lm_node_add_child): changed to take a name
1548           and a value, very handy when adding key/value pair nodes.
1549         (lm_node_add_child_node): added a _node to the old
1550           lm_node_add_child. Also ref's the child so the user should unref
1551           it after he's finished with it.
1552
1553         * loudmouth/lm-iq.c (lm_iq_new): take the type as argument.
1554
1555         * loudmouth/lm-client.c: added a default iq handler attribute and
1556           use it in handle_iq if the incoming IQ isn't handled by the
1557           library. This way a user of the library can now do anything with
1558           it, even use it's own namespaces and such.
1559
1560         * loudmouth/*: Changes LmXMLNode -> LmNode
1561
1562         * loudmouth/*:
1563         - Using LmXMLNode internally in all elements
1564         - Use lm_message_new, lm_iq_new, lm_presence new instead of
1565           g_object_new
1566         
1567         * loudmouth/lm-presence.c:
1568         (presence_get_xml_string): set to='' if it exists
1569
1570         * loudmouth/lm-xml-node.c:
1571         (lm_xml_node_ref): added
1572         (lm_xml_node_unref): added
1573         (lm_xml_node_free): made private
1574
1575         * loudmouth/lm-parser.c:
1576         (parser_end_element_cb): just unref the node, don't free it.
1577
1578         * loudmouth/lm-client.c: 
1579         - added "name", "version" and "os" proprties.
1580         (lm_client_register_default_message_handler):
1581         (lm_client_register_default_presence_handler): removed, unused
1582
1583         * loudmouth/lm-element.[ch]: 
1584         (lm_element_get_tree): Added, returns the XML tree for the
1585           element.
1586         (ilm_element_setup_from_xml): ref the node.
1587
1588 2002-11-20  Richard Hult  <rhult@codefactory.se>
1589
1590         * loudmouth/lm-parser.c (lm_parser_parse): Try to convert the xml
1591           input to from ISO-8859-1 to UTF-8 if it's not valid UTF-8. Not
1592           the perfect fix but it makes a common case work.
1593
1594 2002-11-16  Mikael Hallendal  <micke@codefactory.se>
1595
1596         * loudmouth/lm-client.c (lm_client_disconnect): send end of
1597           stream.
1598
1599 2002-11-15  Richard Hult  <rhult@codefactory.se>
1600
1601         * loudmouth/lm-roster.c (lm_roster_new_from_query_node): Get the
1602           group from the child of the query node.
1603
1604 2002-11-15  Mikael Hallendal  <micke@codefactory.se>
1605
1606         * loudmouth/lm-client.c: no more signals. You now register message
1607           and presence handlers.
1608
1609         * loudmouth/lm-presence.c (presence_get_property): implemented
1610
1611         * loudmouth/lm-client.c: 
1612         - removed the disconnected and connected signals. Now callbacks
1613           passed to lm_client_connect.
1614
1615 2002-11-14  Mikael Hallendal  <micke@codefactory.se>
1616
1617         * loudmouth/lm-presence.c:
1618         (presence_class_init): type and show to be int's.
1619         (presence_set_property): same.
1620
1621         * configure.in: bumped version to 0.1.1
1622
1623         * loudmouth/lm-presence.c (lm_presence_set_status): added.
1624
1625         * loudmouth/lm-element.c (element_class_init): not sure if we want
1626           this but readded the PROP_ERROR.
1627
1628         * loudmouth/lm-client.c (lm_client_authenticate): silent warnings
1629
1630         * loudmouth/lm-iq.c (iq_set_attribute): chain up.
1631
1632         * loudmouth/lm-element.c (element_get_property): implement.
1633
1634         * loudmouth/lm-client.c:
1635         - use callbacks for auth and roster instead of signals.
1636         (client_handle_iq): handle auth and roster
1637         (client_add_callback): added
1638         (client_find_callback): added
1639         (client_remove_callback): added
1640         (lm_client_send): take an extra id argument. If passed the message
1641           id will be copied to this argument.
1642         (lm_client_authenticate): take callback+userdata as arguments.
1643         (lm_client_request_roster): same
1644
1645 2002-10-21  Richard Hult  <rhult@codefactory.se>
1646
1647         * loudmouth/lm-message.c (message_get_xml_string): Escape the
1648           body, fixes server disconnecting on messages containing <>.
1649
1650 2002-10-02  Richard Hult  <rhult@codefactory.se>
1651
1652         * loudmouth/lm-xml-node.c (lm_xml_node_set_value): Don't run
1653           strdown on the node value.
1654