|DJabberd: vhosts, s2s improvements...
||[May. 4th, 2006|12:37 am]
Artur and I made some nice progress in DJabberd tonight. We split the server class into server and vhost classes, so a server can now have multiple vhosts. We were going to write an inter-server delivery plugin for messages sent between vhosts (and probably still will) because the local-node delivery plugin is actually local-vhost-node only, but the normal s2s delivery plugin worked... it just connected to itself. Cute.
Also removed a number of FIXME/TODOs, which is always nice. I need to graph counts of FIXMEs and TODOs as a function of time and/or svn revision number. :-)
A notable fix was removing the hard-coded server-secret used for dialback verifications. It now, in the single-node case, can auto-generate a server secret but it's setup in such a way that we can easily add in a new plugin hook phase for a cluster-wide server secret with minimal work. That way we can hook into LJ's get_secret stuff.
Also did some stuff that wasn't in the spec as far as we can see, about sending gratuitous directed presence after an inbound subscribe when the server is supposed to automatically reply with "subscribed" without bugging the user. In that case (servers getting out of sync wrt rosters), you also need to let the other party know the presence of the user, at least it feels that way.
Point is: almost time for a CPAN release and getting more people using it.
It's pretty fun using it at work, hooked up to LDAP. Don't have to use AIM anymore.