I have updated and modified Nikita Smirnov's jabberd2 LDAP rosters/vCards patch for my own use, and thought some other people might be interested in it as well. This patch only includes the sm rosters and vCards modifications, and not the c2s ldapfull authentication method. It has been updated to patch cleanly with jabberd2-2.0s3. I have modified the roster publication for people using normal LDAP authentication, so the "@servername" text is appended automatically to the supplied LDAP uid before storing it in the roster (so you don't have to maintain seperate uid's and jid's). I have also modified the sm.xml.dist.in example to be a little more clear. If you use a Debian-style distribution, you should be able to "apt-get source jabberd2", put this in debian/patches, and run "debian/rules binary" to get a modified package.
All of this information is now being pulled from our LDAP server, which is pretty snazzy. You can get the patch here. So now, I have LDAP working for:
All in all, kind of a hassle to get going, but definitely worth it. There should be a free Linux distro that assumes you want to do this kind of stuff by default. Novell OES may come close, but it's non-free in both the monetary sense and in that it relies on the closed-source eDirectory.