libstrophe is a minimal XMPP library written in C. It has almost no external dependencies, only an XML parsing library (expat or libxml are both supported). It is designed for both POSIX and Windows systems.
libstrophe was originally created by Jack Moffitt and has been maintained by him until 2014. After that Dmitry Podgorny was the major maintainer until 2022, when he passed the maintainer hat over to Steffen Jaeckel.
Authentication with RFC4422
Supported methods are:
Legacy authentication via
_xmpp_auth1can be enabled if required (disabled by default).
Supported mechanisms are:
5222and legacy mode on port
- TLS client authentication with XEP-0178
SASL EXTERNAL(only with GnuTLS, LibreSSL or OpenSSL).
- Stream Management with XEP-0198.
- DNS resolution via an internal implementation or c-ares.
Older versions of the documentation can be found here