List Info

Thread: ANNOUNCE: Loudmouth 1.3.2




ANNOUNCE: Loudmouth 1.3.2
country flaguser name
United Kingdom
2007-10-31 10:56:52
What is Loudmouth?

Loudmouth is a small C library for writing Jabber clients
written using
GLib. It's designed to be extensible while maintaining ease
of use.

Loudmouth 1.3.2 is a release on the unstable 1.3 branch. It
contains of added
features and bug fixes.

Fixed bugs:

 - LM-085: Asynchronous DNS requests
 - LM-106: Don't call ID handler if the message is not error
or result
 - LM-110: On server hangup, the last few messages from the
server sometimes
           aren't processed - LM-107: SSL cert checking
never works with GNUTls
 - LM-111: Add a pointer to check in the README file
 - LM-055: Check disconnect error reasons like conflicting
resource and invalid
           xml (fix forward ported from 1.2)
 - LM-088: Segfault in _lm_ssl_begin for openssl (fix
forward ported from 1.2)

Other changes since 1.3.1:

 - Add support for STARTTLS. This allows upgrading to an
encrypted connection
   when connecting on port 5222.
 - Add support for XMPP 1.0 SASL authentication.
 - Add support for SRV record lookups. This means that for
e.g. gmail.com, the
   server to connect to doens't have to be explicitly
configured.
 - Use TCP keepalives where available, instead of
periodically sending
   whitespace to the server.
 - Forward-port lm_connection_get_full_jid() and
lm_connection_get_local_host()
   from the 1.2 branch. If XMPP resource binding allocates
us a JID other than
   the one we authenticated with, lm_connection_get_full_jid
() returns the
   former.
 - Perform name resolution asynchronously.

Much of the work for this release was done by Senko Rasic.
Sjoerd Simons
contributed the GnuTLS patch. This work was sponsored by
Nokia corporation.

You can download Loudmouth 1.3.2 here:

  http://ftp.imendio.com/pub/imendio/loudm
outh/src/loudmouth-1.3.2.tar.bz2

The git repository for the 1.3 branch is located on
freedesktop.org:

  git://people.freedesktop.org/~daf/loudmouth

You can browse it online here:

  http://gitweb.freedesktop.org/?p=users/daf/lou
dmouth.git;a=summary

The Loudmouth project page:

  http://www.loudmout
h-project.org/

-- 
Dafydd
_______________________________________________
Loudmouth mailing list
Loudmouthlists.imendio.com
h
ttp://lists.imendio.com/mailman/listinfo/loudmouth

Re: ANNOUNCE: Loudmouth 1.3.2
user name
2007-10-31 13:04:13
Hi,

as Daf mentioned, some of the new features included in
Loudmouth 1.3.2
release are support for StartTLS, and SRV record lookup.

We've been careful to stay API/ABI compatible with the
previous
releases of LM, but tried to nicely integrate the new
features so
you can use them with minimal modification to existing
apps.

To enable SRV lookups, just don't specify the server, either
in
lm_connection_new() or lm_connection_set_server(). Previous
versions
of LM gave a warning when you tried to call
lm_connection_open()
without specifying a server, while 1.3.2 will attempt to do
a SRV
lookup. Failing that, it will use the domain portion of JID
as
the server name.

So, for example, you don't need to set up server for GTalk
(because
Google Talk servers have SRV records set up), or Jabber.org
(which
doesn't have SRV, but JIDs like 'userjabber.org' will fall-back
to
server 'jabber.org', which is correct).

To use StartTLS, you do need a few extra steps. First, you
have to
create LmSSL object, regardless of whether you're using
old-style
SSL (to port 5223) or StartTLS. The only change is, if you
want
to use StartTLS, after creating the LmSSL object, you should
call:

lm_ssl_use_starttls(gboolean use, gboolean require);

The 'require' param specifies whether you want to *require*
StartTLS,
that is, fail on servers which don't support it, or just
continue
using plaintext on those servers. Note that once Loudmouth
detects
StartTLS support on server and tries to negotiate it, if it
doesn't
succeed, the connection will always fail.

To provide a working example, I've made a quick patch for
Gossip
(0.27) to make use of these features. As I'm not a gossip
dev, please
forgive me on any source code atrocities I might have
commited
in the process 

You can find the patch here:
http://projects.collabora.co.uk/~pt
lo/lemur/output/gossip0.27-lm1.3.diff.html

Regards,
Senko

-- 
Senko Rasic at Collabora <senko.rasiccollabora.co.uk>
_______________________________________________
Loudmouth mailing list
Loudmouthlists.imendio.com
h
ttp://lists.imendio.com/mailman/listinfo/loudmouth

[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )