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