Skip to content
This repository has been archived by the owner on Oct 29, 2021. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Important notice

libmesode is deprecated. Please use libstrophe (>= 0.11.0). The major functionality that distinguished it from libstrophe was the manual verification of a certificate. This has now been implemented in libstrophe 0.11.0.

The other reasons for the fork are listed below. And none is worth keeping this fork around.


libmesode is a fork of libstrophe ( for use in Profanity (

Reasons for forking:

  • Remove Windows support
  • Support only one XML Parser implementation (expat)
  • Support only one SSL implementation (OpenSSL)

This simplifies maintenance of the library when used in Profanity.

Whilst Profanity will run against libstrophe, libmesode provides extra TLS functionality such as manual SSL certificate verification.

Build Instructions

If you are building from a source control checkout, run:


to generate the configure script.

From the top-level directory, run the following commands:


The public API is defined in mesode.h which is in the top-level directory.

The examples directory contains some examples of how to use the library; these may be helpful in addition to the API documentation

To install on your system, as root (or using sudo):

make install

Note, the default install path is /usr/local/, to specify another path use the --prefix option during configure, e.g.:

./configure --prefix=/usr