Iris XMPP Library
What is it?
Iris is a Qt/C++ library for working with the XMPP protocol. Currently it is still under development, but already supports many important features. The design goal of Iris is to be written from the ground-up to fully support the official XMPP drafts. The library is powerful and easy-to-use, due to the heavy use of Qt constructs and data types. It should be useful for creating clients, servers, and other components.
What do I need to be able to use it?
What features are supported?
- Full support for draft-ietf-xmpp-core-21, including:
- SRV DNS lookups
- SSL/TLS security (both old way and ‘STARTTLS’ variations)
- SASL authentication/encryption
- Older jabber:iq:auth login
- Resource binding
- HTTP Connect, SOCKS5, and HTTP Polling proxy support
- High-level objects for dealing with Stanzas and Streams
- Parts of xmpp-im:
- Message exchange
- Presence broadcast / reciept
- Roster management
- JEP extensions:
- Version/Time requests
- Service Discovery (disco, browse, and older ‘agents’ modes)
- Account registration
- Password changing
- Agent/Transport registration
- Basic Groupchat
- OpenPGP capable
- S5B Direct Connections
- File Transfer
- And probably more things I forgot to mention…
How does it work?
What is the development plan?
1) Finish basic server support for xmpp-core
2) Ensure xmpp-core fully matches the draft
3) Write API docs for xmpp-core
4) Write full xmpp-im API
5) Additional important specs: x:data, MUC, etc
Where can I get it?
There are no official releases of the library yet. The latest source can be found in the ‘iris’ module of the Psi Git.
There is also conntest, a simple command-line tool (it is bundled with the Iris source and built as one mass, so you don’t need to download anything else).
What’s up with the name ‘Iris’?
Iris is the Greek goddess of messaging and the rainbow. She works part-time delivering XML.
Last updated November 5th, 2004.
Angel image by Patara.