Ambrosia is an XMPP/Jabber server that functions as a proof of concept.
To use Ambrosia, you will need OpenSSL 0.9.6+ and Cyrus SASL 2. It is important to note that even though Iris is based on Qt, Ambrosia does not depend on Qt externally since the necessary Qt sources are included in the Ambrosia package.
Key features of Ambrosia XMPP Server include client connections using SASL or iq:auth methods, server to server connectivity, message delivery, roster, subscriptions, presence, vCards, as well as SSL/TLS and SASL-based encryption for clients. However, it is also important to note that Ambrosia XMPP Server has limitations, including no offline stored events such as messages or subscription packets, suboptimal support for unsubscribing, and potential bugs and memory leaks.
To use Ambrosia, you will need to follow the usual ./configure, make, make install procedure. After building it, run " ./ambrosia hostname " where "hostname" is the domain you want to service. Ensure that you can accept connections on ports 5222, 5223, and 5269. If you plan to use SASL auth, you will have to run as root. Editing the included plaintext userdb file will enable you to use non-SASL auth.
Version 0.1 of Ambrosia was made in three days, while the current version (version 0.2) was made in three more days. Since the current featureset makes the server almost usable, this says a lot about the strength of Iris and Qt. To create Ambrosia, the developer took a snapshot of Qt 4 and stripped it down to just the core/network classes, set it up to be bundled, and then ported QCA v1 and Iris over to Qt 4. After missing Iris features were added, such as mapping the public API to a lot of the server stuff, a basic server was written. The Ambrosia-specific code is quite small, totaling approximately 1000 lines.
Version 0.2: N/A