DJabberd 0.84.01
DJabberd 0.84.01 Ranking & Summary
DJabberd 0.84.01 description
DJabberd is a high-performance, scalable, extensible Jabber/XMPP server framework. While it comes with an example server, its really a set of classes for you to build your own Jabber server without understanding Jabber.
Instead of working with XML and protocol-specific details, you subclass parts and work with sane objects and data structures and let DJabberd do all the ugly work.
Consider DJabberd the mod_perl/qpsmtpd/Perlbal/Plagger of the XMPP world. Everything is a plugin. The framework lets you override the behavior of:
- Authentication
- Authorization
- Roster Storage
- Automatic roster population
- Presence lookup
- Message delivery
- Internode communication
- ...
- everything else
Or you can just choose mix and match behaviors from other CPAN modules: mix LDAP auth with SQLite storage with Spread inter-node communication with LDAP roster-population.
You can even have multiple plugins per hook, in any order. Also, rather than implementing the hooks directly, the framework comes with simple objects you can subclass which further eases the use of the async plugin system.
Internode-communication lets you just scale out, providing both load balancing and high availability in your Jabber farm. Because good Jabber clients will quietly reconnect on TCP connection failure, you can even do rolling code upgrades without users noticing.
As an admin, youre free to choose which internode communication method to use or you can write your own, specific to your application (assuming youre integrating this into an application).
The DJabberd core aims to be fully XMPP 1.0 compliant, as well as supporting common pre-XMPP standards. To name the obvious ones, DJabberd supports:
- s2s (Server to Server), but may be optionally disabled
- XMPP StartTLS support
- Pre-XMPP SSL-on-separate-port support
Enhancements:
- SARTAK caught a typo in BotContext.pm where a qr was used in a place that obviously should have been qq.
- "use bytes" in Connection.pm, which reportedl fixes UTF-8 corruption in rosters (Aleksey Luzin )
- If an explicit configuration file location is given to djabberd, dont fall back on the built-in default locations. If the user wanted the defaults, he wouldnt have used the --conffile option.
- Allow the location of the log4perl configuration file to be set via a command-line argument to djabberd. (Jakob Burkhart )
- Correct support for re-using an S2S connection for multiple source domains. (Adrian Ulrich )
- Jacob Burkhart : Fix memory leak when using SSL
- Michael Scherer : more helpful error messages in logs after dialback failure (shows hosts in question)
- Piers Harding : Fix bug where server wasnt including a "from" attribute in IQ responses.
- Multiple resources of the same local JID are now made aware of one another via presence stanzas as required by the spec.
- dont leak UDP sockets on DNS SRV lookup timeouts
- handle improper SSL disconnects without spinning CPU
- Updated DJabberd::Component::Example which uses the correct API. The previous example didnt actually work anymore.
- Add POD for DJabberd::Agent, DJabberd::Component and a bunch of other related modules.
- Make bots automatically accept roster subscription requests.
DJabberd 0.84.01 Screenshot
DJabberd 0.84.01 Keywords
Bookmark DJabberd 0.84.01
DJabberd 0.84.01 Copyright
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com