An asynchronous XMPP library
Clone or download
Pull request Compare This branch is 119 commits ahead of engineyard:master.
McKael Merge pull request #31 from tmp170422/patch-2
An apparent typo in lm-sasl.c:532
Latest commit 812f930 May 14, 2017



Loudmouth is a lightweight and easy-to-use C library for programming with the
Jabber protocol. It's designed to be easy to get started with and yet
extensible to let you do anything the Jabber protocol allows.

The goal is to fully support Linux, *BSD, Mac OSX and Windows. It has
currently only been tested on Linux (Red Hat 8.0, Debian Unstable) and FreeBSD
that I know of. If someone with access to other machines can provide
feedback I would be most grateful.


Glib >= 2.12.4:

gtk-doc (optional, if you want documentation built):

If you want our unit tests through the g_test framework:
Glib >= 2.16.0

If you want SSL-support you'll also need:
GnuTLS >= 3.0.20 with libtasn support.


make install

SSL Support:
You can choose between using GnuTLS (recommended) and OpenSSL to enable SSL
support in Loudmouth. You choose which backend to use by passing the
--with-ssl= flag to configure. GnuTLS is the default and will be used unless
you pass the flag, use "openssl" for OpenSSL.


You can get debug information printed to STDOUT by using the environment
variable LM_DEBUG.

export LM_DEBUG=<keyword>

Where keyword is one or more (separated by :) of the following:

* "NET": Shows all the data sent over the network.
* "PARSER": Shows debug output from the parser.
* "VERBOSE": Shows various verbose output.
* "ALL": Enables all output.

Questions, remarks, bug reports:

This fork of loudmouth is lazily maintained by MCabber community, members
of which can be found in official mcabber chatroom: <>.

New releases from the MCabber team are available at

Bugs can be also reported (to not lose track of them) to github bugtracker:

Official loudmouth project is no more maintained - both
<> and