On login gabble retrieves its own vcard to grab some information out of it, unfortunately it still always sets it's own vcard too even though nothing changed. Wasting bandwidth and potentially causing openfire to oom...
see http://www.igniterealtime.org/issues/browse/OF-82 for information about the openfire issue.
Added patch that attempts to fix the bug.
Note that some servers (gmail for example) do not store the full vcard, only some subset of it, so this patch may not work in this case.
gmail for example only store FN and PHOTO vcard fields, but empathy tries to set the NICKNAME field every time it logs in, so the vcard will be set on login when using gmail servers
Pointing URL at complete branch.
Ideally there'd be a test for this... but it looks like it should work.
Added a test and merged to master and 0.8; will be in 0.9.3 and 0.8.10.