By Harry Coin:
authorWilfried Goesgens <dothebart@citadel.org>
Mon, 30 Mar 2015 14:29:58 +0000 (16:29 +0200)
committerWilfried Goesgens <dothebart@citadel.org>
Mon, 30 Mar 2015 14:29:58 +0000 (16:29 +0200)
commit7ae9feb654f41173f99e96ba617d018e990da80c
tree7a4b2a95ec042f5bbce85b2633d9db1eef390dcb
parent3c56420d6f7066dd0d09cd404617dee3c429ab18
By Harry Coin:

1)  The problem long discussed upstream to do with LDAP auth wanting the user name offered after the PASS command to stick around for later vcard use.  The approach is to have vcard related searches use the citserver username to search against the ldap CN, while login searches behave as in the release version.

2) The vcard has a field uid, which citserver uses to tag vcards  for uniqueness.  LDAP also has a uuid for each of its records, most aptly saved also in the vcard as uuid.  These collided causing the vcard to be reloaded every check owing to the overwriting the LDAP written uid over the citserver use of the same field. The patches below use the RFC approved 2.1 X- extension to support the field X-UUID for the ldap uuid.  There's also small code cleanup to avoid setting the UID twice.
citadel/citadel_ldap.h
citadel/ldap.c
citadel/modules/vcard/serv_vcard.c
citadel/user_ops.c