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