2003-08-05 Mikael Hallendal <micke@imendio.com>
* Release 0.13.1
* NEWS: Updated for 0.13.1
* configure.in: Bumped to 0.13.1
2003-08-05 Mikael Hallendal <micke@imendio.com>
* Release 0.13.1
* NEWS: Updated for 0.13.1
* configure.in: Bumped to 0.13.1
2003-08-05 Mikael Hallendal <micke@imendio.com>
* acinclude.m4: Added GnuTLS-macro from GnuTLS-distribution.
* configure.in: Added comment if SSL support disabled.
* loudmouth.spec.in: Added Build-requirment on gtk-doc.
* Release 0.13
* NEWS: Updated for 0.13
* configure.in: Bumped to 0.13
2003-08-04 Mikael Hallendal <micke@imendio.com>
* README:
- Added comment about GnuTLS and --with-included-libtasn1.
- Fixes LM-7 and bug #117801
2003-08-04 Mikael Hallendal <micke@imendio.com>
* loudmouth/lm-connection.c: (connection_in_event):
- Disconnect and report that we are disconnected if read doesn't work.
This solved the problem when Gossip eats 100% CPU because the server
got disconnected. Fixes LM-9.
* loudmouth/Makefile.am: Use -DRUNTIME_ENDIAN, fixes LM-8, bug #118502.
* loudmouth/lm-connection.c:
- Modifed patch from Mikhail Zabaluev, fixes LM-5.
* (connection_free): close connection if it's still open.
* (connection_do_open): Store away the GSource handlers.
* (connection_do_close): Remove the GSources from the IOChannel.
* (connection_in_event, connection_error_event, connection_hup_event):
- Return FALSE if io_channel = NULL.
* configure.in:
- Submitted patch for Loudmouth from Mikhail Zabaluev to
make configure.in use the aclocal-stuff from gnutls instead of
selfmade hack. Fixes LM-6.
2003-07-29 Mikael Hallendal <micke@imendio.com>
* loudmouth/lm-message.[ch]:
- Added LM_MESSAGE_SUB_TYPE_NORMAL to be a sub type that can actually
be set.
- If type is not set in a <message/>-node it won't be reported to be
LM_MESSAGE_SUB_TYPE_NORMAL but rather LM_MESSAGE_SUB_TYPE_NOT_SET.
2003-07-17 Mikael Hallendal <micke@imendio.com>
* Release 0.12
* NEWS: Updated for 0.12
* configure.in: Bumped to 0.12
2003-07-17 Mikael Hallendal <micke@imendio.com>
* loudmouth/lm-connection.c:
(auth_req_data_free): Added, free's auth data
(connection_create_auth_req_msg):
- Added, generates an auth request message
(connection_create_auth_msg):
- Added, generates an auth message
(connection_auth_req_reply): Added
(connection_check_auth_type): Added
(lm_connection_authenticate): Modified
(lm_connection_authenticate_and_block): Modified
- Fixes cf-bug #509
2003-07-17 Mikael Hallendal <micke@imendio.com>
* configure.in: Added GNUTLS_REQUIRED
* loudmouth.spec.in: Added gnutls dependency in RPM's.
2003-07-17 Mikael Hallendal <micke@imendio.com>
* docs/reference/loudmouth-sections.txt: Added new functions
* docs/reference/tmpl/lm-error.sgml: Documented undocumented references.
* docs/reference/tmpl/lm-message-handler.sgml: Same.
* docs/reference/tmpl/loudmouth-unused.sgml: Same
* loudmouth/lm-debug.c: Same
* loudmouth/lm-message-handler.c:
* loudmouth/lm-message-handler.h:
(_lm_message_handler_handle_message):
- Check if handler is valid before trying to handle message.
(lm_message_handler_new): Set handler to be valid.
(lm_message_handler_invalidate): Added. Fixes cf-bug #677
(lm_message_handler_is_valid): Added
2003-07-14 Mikael Hallendal <micke@imendio.com>
* Release 0.11
* configure.in: Bumped to 0.11
* NEWS: Updated for 0.11
2003-07-12 Mikael Hallendal <micke@imendio.com>
* configure.in:
- Added SSL support, patch from Bartosz Zapalowski. THIS GUY ROCKS!
* docs/reference/loudmouth-sections.txt:
- added lm_connection_supports_ssl.
* loudmouth/lm-connection.c: Added support for SSL.
* loudmouth/test-lm.c: (main): Use SSL if it's compiled in.
2003-07-07 Mikael Hallendal <micke@imendio.com>
* Release 0.10.1
* NEWS: Updated for 0.10.1
* configure.in: Bumped version to 0.10.1
2003-07-07 Mikael Hallendal <micke@imendio.com>
* loudmouth/lm-connection.c: moved the includes around a bit so that
it builds on FreeBSD without problems.
2003-06-26 Mikael Hallendal <micke@imendio.com>
* Released 0.10
* configure.in: Changed version to 0.10
* NEWS: Added 0.10 news.
2003-06-25 Mikael Hallendal <micke@imendio.com>
* configure.in: Bumped to 0.9.1
* loudmouth.spec.in: Changed the URL to the project site.
2003-06-24 Mikael Hallendal <micke@imendio.com>
* loudmouth/lm-connection.c:
* loudmouth/lm-sha.c:
* loudmouth/test-lm.c:
- Submitted patch that makes Loudmouth work and build on Win32.
Patch sent by Vince Negri, thanks a lot.
2003-06-15 Mikael Hallendal <micke@imendio.com>
* loudmouth/lm-message.c:
* loudmouth/lm-message.h:
(lm_message_get_sub_type): Return LmMessageSubType.
Found by Alexander Saltanov
2003-06-13 Mikael Hallendal <micke@imendio.com>
* AUTHORS: updated contact information
* README: updated contact information
* loudmouth/*.[ch]: updated email address
* loudmouth/lm-message-node.c: don't lower case the XML
* loudmouth/lm-message.c:
(message_type_from_string): use strcmp rather than strcasecmp
* loudmouth/lm-parser.c:
(parser_start_node_cb),
(parser_end_node_cb),
(lm_parser_new): use strcmp instead of strcasecmp
2003-06-11 Mikael Hallendal <micke@codefactory.se>
* docs/reference/loudmouth-sections.txt: Added new functions
* loudmouth/lm-message-node.c:
(_lm_message_node_new): Set node->raw_mode = FALSE.
(lm_message_node_get_raw_mode): Added
(lm_message_node_set_raw_mode): Added
(lm_message_node_to_string): Don't escape if raw_mode == TRUE
* loudmouth/lm-message-node.h: Added new functions.
2003-04-26 Mikael Hallendal <micke@codefactory.se>
* loudmouth.spec.in: Enable gtk-doc
* Released 0.9.1
2003-04-17 Mikael Hallendal <micke@codefactory.se>
* docs/reference/Makefile.am: Make --disable-gtk-doc not try to
install the documents :) Fixes #633, patch by Kevin Dougherty.
* loudmouth/lm-debug.c: Make build work with --disable-debug,
fixes #634, patch by Kevin Dougherty.
2003-04-11 Mikael Hallendal <micke@codefactory.se>
* NEWS: More updates
* configure.in: Bumped version to 0.9
* loudmouth.spec.in: Fixed
* loudmouth/lm-connection.c:
(lm_connection_send_with_reply_and_block): Removed debug output.
2003-04-10 Mikael Hallendal <micke@codefactory.se>
* NEWS: Updated for upcoming 0.9 release.
2003-04-07 Mikael Hallendal <micke@codefactory.se>
* README: Added information about debug output.
* loudmouth/lm-connection.c:
(connection_in_event): Use a define for IN_BUFFER_SIZE
2003-04-07 Mikael Hallendal <micke@codefactory.se>
* README:
* loudmouth/lm-connection.c: (connection_in_event):
2003-04-07 Mikael Hallendal <micke@codefactory.se>
* configure.in:
- Added debug flag.
* loudmouth/Makefile.am:
- Added lm-debug.[ch]
* loudmouth/lm-internals.h: Added debug-stuff
* loudmouth/lm-connection.c: Use debug-stuff instead of d()-macro.
* loudmouth/lm-message.c: Same
* loudmouth/lm-parser.c: Same
2003-04-05 Mikael Hallendal <micke@codefactory.se>
* Makefile.am: Added .spec and .spec.in to EXTRA_DIST
* configure.in: Set GLIB2_REQUIRED, will be used in the spec-file.
* loudmouth/lm-message.c:
* loudmouth/lm-message.h:
- fixed the support for message and presence elements without type
attribute.
2003-04-01 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-message.c:
(lm_message_get_node): added, using for bindings.
* loudmouth/lm-message-node.c:
(lm_message_node_get_value): added, makes binding easier.
(lm_message_node_set_attribute): splitted out to just set one
attribute. using just this one to bind for C#.
2003-03-24 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-connection.c:
(connection_incoming_dispatch):
- don't call handle_message if message is NULL.
(connection_do_open):
- set error, don't send any messages, just open the socket and
send the xml-document starter.
(connection_do_block): Removed.
(connection_create_source): added
(lm_connection_open_and_block): implemented.
(lm_connection_authenticate_and_block): implemented.
(lm_connection_send_with_reply_and_block): implemented.
2003-03-23 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-connection.c:
- Now uses a queue for all incoming messages and a source that
polls the queue.
(connection_do_close): added, unrefs
io_channel and sets connection to be disconnected.
(connection_do_open): renamed from connection_connect
2003-03-14 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-connection.c:
(lm_connection_get_server): added
(lm_connection_set_server): added
(lm_connection_get_port): added
(lm_connection_set_port): added
(lm_connection_get_use_ssl): added
(lm_connection_set_use_ssl): added
(lm_connection_new): Don't take port and use_ssl arguments. Make
server-attribute optional (passing NULL).
* configure.in: bumped to 0.8.99
2003-03-13 Mikael Hallendal <micke@codefactory.se>
* autogen.sh (need_configure_in):
- fix to autogen on solaris. Reported by stric.
* configure.in:
- Added check for -lnsl and -lsocket needed to link on solaris.
* Released 0.8
* configure.in: bumped version to 0.8
* README (Introduction): added some information before the 0.8
release.
* loudmouth/lm-connection.c:
(connection_error_event): call disconnect callback.
(connection_hup_event): same.
(lm_connection_set_disconnect_function): added.
2003-03-05 Mikael Hallendal <micke@codefactory.se>
* loudmouth/*.h: prettified headers.
* docs/reference/*: Updating docs. Now at 100%!
2003-03-03 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-message-node.h:
- removed LmMessageNodeFunc, wasn't used anywhere.
* docs/reference/*: Updating docs. At 88% now... sooon!
* Changed license (again), this time back to LGPL. And it'll stay
there :)
2003-02-27 Mikael Hallendal <micke@codefactory.se>
* Worked alot on documenting.
2003-02-25 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-connection.c (connection_in_event):
- Try to solve #553
2003-02-24 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-sha.c: don't use stdint.h, instead use the g*
versions of different int lengths. Fixes #536
2003-02-08 Mikael Hallendal <micke@codefactory.se>
* src/*.c: Started to document
* src/lm-result.h: Removed
* src/lm-error.[ch]: Added
* src/lm-connection.[ch]:
- Use GErrors for reporting errors.
- Fixes #510
* docs/reference/Makefile.am: Don't link against GObject.
2003-02-06 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-connection.c (connection_connect): send the opening
xml tag stating that we'll use encoding utf-8.
2003-02-02 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-message.c:
- fixes #504
(lm_message_new): take to-argument
(lm_message_new_with_sub_type): take to-argument
* loudmouth/test-lm.c (main): don't init GType, not used anymore..
* lm-message-handler.c:
- include files we actually need :)
* loudmouth/lm-connection.c: don't include removed files.
* loudmouth/Makefile.am:
- Removed all the stuff that generated the marshallers.
* configure.in:
- removed gobject deps
- removed glib-genmarshal deps
* loudmouth-1.0.pc.in (Requires): removed all deps except glib.
* loudmouth/lm-connection.c:
- Is no more a GObject, this means that loudmouth now only depends
on GLib which makes it minimal and perfect for embedded systems.
* configure.in: Don't require libgtcpsocket
* loudmouth/lm-connection.c: Don't use libgtcpsocket for
communication. Now uses a GIOChannel.
* loudmouth/*.c:
- Use GDestroyNotify instead of LmFreeFunction.
- Added LmCallback which is a struct with callback,
user_data and a notify function.
- Changed LmConnectionOpenFunction and LmAuthenticateFunction to
be LmResultFunction.
2003-02-01 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-sha.c (lm_sha_hash): don't print the digest.
2003-01-31 Mikael Hallendal <micke@codefactory.se>
* *: changed the license to the same one used in RoadRunner.
* loudmouth/lm-sha.c:
- switched the SHA implementation for one with BSD license.
* loudmouth/lm-connection.c (lm_connection_authenticate):
- lm_sha_hash now returns a const gchar *
2003-01-30 Mikael Hallendal <micke@codefactory.se>
* docs/*: Added gtk-doc support. Now I just have to write API docs
for everything :)
* loudmouth/lm-helper.[ch]: Removed.
2003-01-30 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-message-node.c:
(lm_message_node_to_string): made public since it's really useful
for debugging your client.
(lm_message_node_find_child): readded this function from the old
LmNode. It traverses the tree to see if it can find the child
and returns at the first it finds. lm_message_node_get_child
only looks at the direct children.
2003-01-29 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-connection.c:
(lm_connection_send): don't set ID here. we set it in
send_with_reply if it's not set (since it's needed there to find
the correct handler).
(connection_connection_recv_cb):
- not sure if this helps any, return if length <= 0 instead of
feeding it to the parser.
* loudmouth/lm-message.[ch]:
- Added LmMessageSubType that can be used to set and check a
message's sub type <node type="sub type">.
(message_sub_type_from_string): added
(message_sub_type_to_string): added
(lm_message_new_with_sub_type): added
(lm_message_get_sub_type): added
* loudmouth/lm-message-node.c (lm_message_node_get_child):
- remove variable that caused warning.
* configure.in: updated version to 0.2
2003-01-27 Mikael Hallendal <micke@codefactory.se>
* src/*:
- LmClient -> LmConnection
- Use Message Handlers on LmConnection instead of signals
- LmElement, LmPresence and LmIQ removed
- LmMessage used for all kinds of messages now
- LmMessageHandler added as a generic message handler for all
kinds of messages.
- send_with_reply added to give a callback when waiting for an
answer to a request.
- LmResult added to most calls. Used to get some feedback on what
might have gone wrong.
2003-01-27 Anders Carlsson <andersca@codefactory.se>
* autogen.sh (FILE): Use lm-message.c for testing.
2003-01-26 Mikael Hallendal <micke@codefactory.se>
* loudmouth/*: Added lm-helper which will create elements to send
through client.
2003-01-25 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-marshal.list (VOID): cleaned up old marshallers.
* loudmouth/lm-element.c (lm_element_get_type_string): added.
* loudmouth/lm-client.c:
- Changed message, presence and iq received back into signals
- Added default handlers to class
- Calling default handlers only if none of the connected callbacks
returned TRUE.
2003-01-21 Mikael Hallendal <micke@codefactory.se>
* configure.in: don't use libgtcpsocket 1.0, use 0.1.0
2002-12-10 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-util.c:
(lm_util_get_localtime): Added
(lm_util_case_strstr): Removed
* loudmouth/lm-x.h: Removed.
* loudmouth/lm-element.c:
- Added support for an iter for iterating over all x elements.
- Needed to resolve #347
(lm_element_get_x_iter): Added
(lm_x_iter_next): Added
(x_iter_next): Added
(lm_x_iter_free): Added
* loudmouth/Makefile.am (libloudmouthinclude_HEADERS):
- install lm_util.h
2002-12-03 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-presence.c:
- Fixed show-array indexing, Fixes #341 and #342
(lm_presence_set_show): don't set
<show/> to "normal", just leave it out.
(presence_show_from_string): don't strcmp for "normal".
(presence_string_from_show): don't return "normal".
2002-11-29 Richard Hult <rhult@codefactory.se>
* loudmouth/lm-client.c (lm_client_subscribe_jid): Wrap g_print
with debug macro.
(lm_client_unsubscribe_jid): Likewise.
(lm_client_connect): Add debug print.
(client_connect_done_cb): Add debug print.
* loudmouth/lm-element.c (lm_element_new): When creating a stream
element, use "stream:stream" instead of just "stream". This fixes
the "Invalid XML" error we were getting from the server at the end
of the stream.
* loudmouth/lm-client.c (lm_client_authenticate): Don't free the
digest, it's static memory. This fixes a couple of very weird
crashes.
(lm_client_disconnect): Revert the fix I did here earlier, we
don't want to set is_connected until we really get a disconnect
callback from the connection. The problem is somewhere else.
(lm_client_send): Compare against </stream:stream> instead of just
</stream>.
2002-11-29 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-node.c (node_free): don't free directly, use
ref-counts.
(lm_node_add_child_node): ref the child node.
* loudmouth/lm-element.c:
(lm_element_unref): implemented
(lm_element_set_tree): ref the tree.
2002-11-29 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-client.c: Changed default_foo_handler to
foo_handler.
2002-11-27 Richard Hult <rhult@codefactory.se>
* loudmouth/lm-client.c (client_handle_iq): Fix warning by making
id const.
2002-11-26 Richard Hult <rhult@codefactory.se>
* loudmouth/lm-client.c (client_connection_closed_cb):
- Set is_connected to FALSE.
2002-11-26 Mikael Hallendal <micke@codefactory.se>
* loudmouth/*: Changed so that LmElement and subclasses are no
longer objects. Just structs. You need to use get/set-functions
instead of properties.
2002-11-25 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-element.c (element_get_property): fixed error
causing object_get ("from") trying to get "to" value.
2002-11-24 Richard Hult <rhult@codefactory.se>
* loudmouth/lm-client.c (client_handle_presence):
- Try to implement subscription requests.
* loudmouth/test-lm.c (main): Fix more callback types.
* loudmouth/lm-client.h:
- Remove lm_client_set_subscription_request_handler, unused.
* loudmouth/test-lm.c (main): Don't cast callbacks with (Type*).
* loudmouth/lm-client.c:
- Change function prototypes from *callback to callback.
* loudmouth/lm-client.h: Remove signal entry from object struct
and change function prototypes to match the definitions.
2002-11-23 Richard Hult <rhult@codefactory.se>
* loudmouth/lm-client.h: Add lm_client_get_agents.
* configure.in: Add compiler warnings logic but leave it disabled
since the sha stuff is not very warning free.
* loudmouth/lm-node.c (lm_node_get_string): Escape the body string
so we generate valid xml when sending things like '<', '>', and
'&'.
2002-11-23 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-node.c (lm_node_unlink): added
* loudmouth/lm-presence.c (presence_set_property): don't set
<show>normal</show>
* loudmouth/lm-iq.c:
(lm_iq_get_query_node):
(lm_iq_set_query_node): removed, use lm_element_find_child and
lm_element_add_child_node instead.
* loudmouth/lm-element.c:
(lm_element_add_child): added :)
(lm_element_find_child): added
* loudmouth/lm-client.c (client_connection_closed_cb): call
disconnect callback.
* loudmouth/lm-sha.[ch]: added, found in jabberd2, remember to
check license issues with this.
* loudmouth/lm-client.c:
(lm_client_authenticate): use digest for sending password instead
of clear text.
* loudmouth/lm-client.c:
(client_handle_iq): handle register reply
(lm_client_register): added
(lm_client_authenticate): moved stuff from iq-helper, easy enough
now with the changes earlier today.
* loudmouth/lm-iq-helper.[ch]: removed, not needed anymore.
* loudmouth/lm-element.c (lm_element_add_child_node): added, this
can be used to add any node to any element.
* loudmouth/lm-presence.c (presence_set_property): priority is an
int, not string.
* loudmouth/lm-node.c (lm_node_add_child_node): rethinking, don't
ref.
2002-11-22 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-node.c:
(lm_node_add_child): changed to take a name
and a value, very handy when adding key/value pair nodes.
(lm_node_add_child_node): added a _node to the old
lm_node_add_child. Also ref's the child so the user should unref
it after he's finished with it.
* loudmouth/lm-iq.c (lm_iq_new): take the type as argument.
* loudmouth/lm-client.c: added a default iq handler attribute and
use it in handle_iq if the incoming IQ isn't handled by the
library. This way a user of the library can now do anything with
it, even use it's own namespaces and such.
* loudmouth/*: Changes LmXMLNode -> LmNode
* loudmouth/*:
- Using LmXMLNode internally in all elements
- Use lm_message_new, lm_iq_new, lm_presence new instead of
g_object_new
* loudmouth/lm-presence.c:
(presence_get_xml_string): set to='' if it exists
* loudmouth/lm-xml-node.c:
(lm_xml_node_ref): added
(lm_xml_node_unref): added
(lm_xml_node_free): made private
* loudmouth/lm-parser.c:
(parser_end_element_cb): just unref the node, don't free it.
* loudmouth/lm-client.c:
- added "name", "version" and "os" proprties.
(lm_client_register_default_message_handler):
(lm_client_register_default_presence_handler): removed, unused
* loudmouth/lm-element.[ch]:
(lm_element_get_tree): Added, returns the XML tree for the
element.
(ilm_element_setup_from_xml): ref the node.
2002-11-20 Richard Hult <rhult@codefactory.se>
* loudmouth/lm-parser.c (lm_parser_parse): Try to convert the xml
input to from ISO-8859-1 to UTF-8 if it's not valid UTF-8. Not
the perfect fix but it makes a common case work.
2002-11-16 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-client.c (lm_client_disconnect): send end of
stream.
2002-11-15 Richard Hult <rhult@codefactory.se>
* loudmouth/lm-roster.c (lm_roster_new_from_query_node): Get the
group from the child of the query node.
2002-11-15 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-client.c: no more signals. You now register message
and presence handlers.
* loudmouth/lm-presence.c (presence_get_property): implemented
* loudmouth/lm-client.c:
- removed the disconnected and connected signals. Now callbacks
passed to lm_client_connect.
2002-11-14 Mikael Hallendal <micke@codefactory.se>
* loudmouth/lm-presence.c:
(presence_class_init): type and show to be int's.
(presence_set_property): same.
* configure.in: bumped version to 0.1.1
* loudmouth/lm-presence.c (lm_presence_set_status): added.
* loudmouth/lm-element.c (element_class_init): not sure if we want
this but readded the PROP_ERROR.
* loudmouth/lm-client.c (lm_client_authenticate): silent warnings
* loudmouth/lm-iq.c (iq_set_attribute): chain up.
* loudmouth/lm-element.c (element_get_property): implement.
* loudmouth/lm-client.c:
- use callbacks for auth and roster instead of signals.
(client_handle_iq): handle auth and roster
(client_add_callback): added
(client_find_callback): added
(client_remove_callback): added
(lm_client_send): take an extra id argument. If passed the message
id will be copied to this argument.
(lm_client_authenticate): take callback+userdata as arguments.
(lm_client_request_roster): same
2002-10-21 Richard Hult <rhult@codefactory.se>
* loudmouth/lm-message.c (message_get_xml_string): Escape the
body, fixes server disconnecting on messages containing <>.
2002-10-02 Richard Hult <rhult@codefactory.se>
* loudmouth/lm-xml-node.c (lm_xml_node_set_value): Don't run
strdown on the node value.