$ cat djabberd.conf OldSSL enable # defaults: ClientPort 5222 ServerPort 5269 #PerlModule DJabberd::SixApart <VHost jabber.bradfitz.com> S2S enable RequireSSL no <Plugin DJabberd::Authen::AllowedUsers> Policy accept AllowedUsers brad crucially test </Plugin> <Plugin DJabberd::Authen::StaticPassword> Password password </Plugin> <Plugin DJabberd::PresenceChecker::Local /> <Plugin DJabberd::Delivery::Local /> <Plugin DJabberd::Delivery::S2S /> <Plugin DJabberd::RosterStorage::SQLite> Database roster.sqlite </Plugin> </VHost> $ ./djabberd --conf=djabberd.confNext step is removing the need for the must-have plugins and making them automatic. That means adding plugin-declared before/after dependencies so DJabberd can do the hook ordering. Should be easy. Then DJabberd should be getting ready for usability by the masses. :-)
Update: the as_bool function was fun:
sub as_bool { my $val = shift; return 1 if $val =~ /^1|yes|true|t|on|enabled?$/; return 0 if $val =~ /^0|no|false|f|off|disabled?$/; die "Can't determine booleanness of '$val'\n"; }