Hi,
adding a photo to an ldap address works great, but then it's no longer possible to update the entry.
The error on the server side is:
slapd[30027]: conn=30 op=2 modifications: slapd[30027]: delete: l slapd[30027]: one value, length 7 slapd[30027]: delete: jpegphoto slapd[30027]: one value, length 72296 slapd[30027]: bdb_modify: uid=mustermann.id,dc=xxx,dc=xxx,dc=de slapd[30027]: bdb_modify_internal: delete l slapd[30027]: bdb_modify_internal: delete jpegPhoto slapd[30027]: bdb_modify_internal: 18 modify/delete: jpegPhoto: no equality matching rule slapd[30027]: send_ldap_result: err=18 matched="" text="modify/delete: jpegPhoto: no equality matching rule"
The following thread may give a hint how to fix this:
http://www.openldap.org/lists/openldap-software/200106/msg00356.html
We've noticed that it's impossible to perform entry modification for jpegPhoto attribute. Its schema definition has no EQUALITY specification (...)
You can use LDAP_MOD_REPLACE which deletes the old value and inserts the new one. This does not need an equaltiy matching rule.
One can also remove the whole attribute with LDAP_MOD_DELETE by specifying attribute type (without specifying certain attribute value) and re-add the whole attribute with all updated attribute values using LDAP_MOD_ADD, all in one ModifyRequest.
What I've learned this seems to be more robust in general with many LDAP servers than using LDAP_MOD_REPLACE (e.g. when updating sub schema sub entry of Netscape 4.x directory server).
Thanks, Manfred