ChangeLog
changeset 1 50e230cf7818
child 3 5c632650c603
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ChangeLog	Mon May 19 18:27:00 2003 +0000
@@ -0,0 +1,573 @@
+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.
+