Hello list:
Some additional insights on my original points:
On 08/04/2012 00:41, Achim wrote:
1) Changing the cn, sn, givenname, o, and phone (mobile, home, work)
fields works and updates the contact as expected: the new input is
updated on the server, and existing data are preserved. However, an
"Object class violation" is raised
And here are the slightly redacted LDAP log entries:
Apr 8 01:20:59 mail slapd[25146]: hdb_modify: updated id=00000316
dn="cn=Testuser,ou=public,ou=rcabook,dc=calserver,dc=tld"Apr 8 01:20:59
mail slapd[25146]: send_ldap_result: conn=1014 op=2 p=3
Apr 8 01:20:59 mail slapd[25146]: send_ldap_result: err=0 matched=""
text=""
Apr 8 01:20:59 mail slapd[25146]: send_ldap_response: msgid=3 tag=103
err=0Apr 8 01:20:59 mail slapd[25146]: connection_get(21)Apr 8
01:20:59 mail slapd[25146]: connection_get(21): got connid=1014
Apr 8 01:20:59 mail slapd[25146]: connection_read(21): checking for
input on id=1014Apr 8 01:20:59 mail slapd[25146]: op tag 0x6c, time
1333840859
Apr 8 01:20:59 mail slapd[25146]: conn=1014 op=3 do_modrdn
Apr 8 01:20:59 mail slapd[25146]: do_modrdn: dn
(cn=Testuser,ou=public,ou=rcabook,dc=calserver,dc=tld) newrdn
([email protected]) newsuperior ()
Apr 8 01:20:59 mail slapd[25146]: >>> dnPrettyNormal:
<cn=Testuser,ou=public,ou=rcabook,dc=calserver,dc=tld>
Apr 8 01:20:59 mail slapd[25146]: <<< dnPrettyNormal:
<cn=Testuser,ou=public,ou=rcabook,dc=calserver,dc=tld>,
<cn=Testuser,ou=public,ou=rcabook,dc=calserver,dc=tld>
Apr 8 01:20:59 mail slapd[25146]: >>> dnPrettyNormal:
<[email protected]>
Apr 8 01:20:59 mail slapd[25146]: <<< dnPrettyNormal:
<[email protected]>, <[email protected]>
Apr 8 01:20:59 mail slapd[25146]:
bdb_dn2entry("cn=Testuser,ou=public,ou=rcabook,dc=calserver,dc=tld")
Apr 8 01:20:59 mail slapd[25146]:
==>hdb_modrdn(cn=Testuser,ou=public,ou=rcabook,dc=calserver,dc=tld,[email protected],NULL)
Apr 8 01:20:59 mail slapd[25146]:
bdb_dn2entry("cn=Testuser,ou=public,ou=rcabook,dc=calserver,dc=tld")
Apr 8 01:20:59 mail slapd[25146]: hdb_modrdn: wr to children of entry
ou=public,ou=rcabook,dc=calserver,dc=tld OK
Apr 8 01:20:59 mail slapd[25146]: hdb_modrdn: parent
dn=ou=public,ou=rcabook,dc=calserver,dc=tld
Apr 8 01:20:59 mail slapd[25146]: >>> dnNormalize:
<[email protected],ou=public,ou=rcabook,dc=calserver,dc=tld>
Apr 8 01:20:59 mail slapd[25146]: <<< dnNormalize:
<[email protected],ou=public,ou=rcabook,dc=calserver,dc=tld>
Apr 8 01:20:59 mail slapd[25146]: hdb_modrdn: new
[email protected],ou=public,ou=rcabook,dc=calserver,dc=tld
Apr 8 01:20:59 mail slapd[25146]: =>
hdb_dn2id("[email protected],ou=public,ou=rcabook,dc=calserver,dc=tld")
Apr 8 01:20:59 mail slapd[25146]: <= hdb_dn2id: get failed:
DB_NOTFOUND: No matching key/data pair found (-30988)
Apr 8 01:20:59 mail slapd[25146]: => hdb_dn2id_delete 0x316:
"cn=Testuser,ou=public,ou=rcabook,dc=calserver,dc=tld"
Apr 8 01:20:59 mail slapd[25146]: <= hdb_dn2id_delete 0x316: 0
Apr 8 01:20:59 mail slapd[25146]: => hdb_dn2id_add 0x316:
"[email protected],ou=public,ou=rcabook,dc=calserver,dc=tld"
Apr 8 01:20:59 mail slapd[25146]: <= hdb_dn2id_add 0x316: 0
Apr 8 01:20:59 mail slapd[25146]: bdb_modify_internal: 0x00000316:
[email protected],ou=public,ou=rcabook,dc=calserver,dc=tld
Apr 8 01:20:59 mail slapd[25146]: bdb_modify_internal: delete cn
Apr 8 01:20:59 mail slapd[25146]: bdb_modify_internal: softadd mail
Apr 8 01:20:59 mail slapd[25146]: bdb_modify_internal: replace
entryCSN
Apr 8 01:20:59 mail slapd[25146]: bdb_modify_internal: replace
modifiersName
Apr 8 01:20:59 mail slapd[25146]: bdb_modify_internal: replace
modifyTimestamp
Apr 8 01:20:59 mail slapd[25146]: oc_check_required entry
([email protected],ou=public,ou=rcabook,dc=calserver,dc=tld),
objectClass "inetOrgPerson"
Apr 8 01:20:59 mail slapd[25146]: Entry
([email protected],ou=public,ou=rcabook,dc=calserver,dc=tld): object
class 'inetOrgPerson' requires attribute 'cn'
Apr 8 01:20:59 mail slapd[25146]: entry failed schema check: object
class 'inetOrgPerson' requires attribute 'cn'
Apr 8 01:20:59 mail slapd[25146]: <=- hdb_modrdn: modify failed:
Package not installed (65)
Apr 8 01:20:59 mail slapd[25146]: send_ldap_result: conn=1014 op=3 p=3
Apr 8 01:20:59 mail slapd[25146]: send_ldap_result: err=65 matched=""
text="object class 'inetOrgPerson' requires attribute 'cn'"
Apr 8 01:20:59 mail slapd[25146]: send_ldap_response: msgid=4 tag=109
err=65
For some reason, "bdb_modify_internal: delete cn" is issued, which of
course in turns causes the violation of the inetOrgPerson schema
requirements.
The question is: why is the existing CN deleted during an update
operation?
BTW, when I try to change that CN via the UI, I get:
Warning: ldap_mod_replace(): Modify: Naming violation in
program/include/rcube_ldap.php on line 1105
And what does the error "hdb_modrdn: modify failed: Package not
installed (65)" mean? Is this from sladp or from RC?
3) Adding an address does not work:
After adding the region=>st mapping outlined in my other message, I
used the UI to set the 6 address fields.
Submitting a new address that way, the following happens:
Apr 8 01:11:03 mail slapd[25146]: Entry
([email protected],ou=public,ou=rcabook,dc=hostname,dc=tld),
attribute 'c' not allowed
Apr 8 01:11:03 mail slapd[25146]: entry failed schema check: attribute
'c' not allowed
Apr 8 01:11:03 mail slapd[25146]: hdb_modify: modify failed (65)
Apr 8 01:11:03 mail slapd[25146]: send_ldap_result: conn=1003 op=3 p=3
Apr 8 01:11:03 mail slapd[25146]: send_ldap_result: err=65 matched=""
text="attribute 'c' not allowed"
And indeed, using the web UI to only fill out street, postalCode, l and
st fields (ie. leaving c[ountry] empty) seems to work!
Turns out that 'c' is actually NOT part of the inetOrgPerson schema
[1], wheras other really important fields like "Pager", "Teletex Id", or
"X.121 Address" are... Why on earth no country field is part of this
schema is beyond me. Perhaps somebody was already envisioning a future
without borders :-)
Any idea on how to add 'c' to the existing public/private directories
with standard inetOrgPerson schema without having to re-import the
existing data? And one we are at it, a field for birthdays, etc would
also be nice ;-)
As a work-around, I removed "country" from fieldmap and
address_template for the time being.
4) Adding groups under the LDAP directory fails:
slapd says:
Apr 8 01:40:03 mail slapd[25146]: send_ldap_result: conn=1022 op=1 p=3
Apr 8 01:40:03 mail slapd[25146]: send_ldap_result: err=17 matched=""
text=": empty AttributeDescription"
Apr 8 01:40:03 mail slapd[25146]: send_ldap_response: msgid=2 tag=105
err=17
Could this be related to how I set up the LDAP repos (as described in
<http://trac.roundcube.net/wiki/Howto_Ldap>): perhaps there is a
limitation that groups are not allowed in that setup? Or RC is not
sending a required attribute? Or that this is a specific right (apart
from "write") that I need to give to the LDAP user that tries to create
the group? Or is this functionality not supported yet, as described
here: <http://trac.roundcube.net/ticket/1487837>
5) Contact photos that show fine in iOS and jxplorer don't show at
all
in the web UI. No need to be able to update the photo here, but
showing
the already existing contact photo would be awesome ;-)
It appears that there have been some efforts in the past (2006!) about
this [2], and even some recent success [3]. I cannot find any reference
to jpegPhoto in the current code though.
Thank you in advance, Achim
[1] <http://arstechnica.com/civis/viewtopic.php?f=16&t=47451>
[2] <http://www.mail-archive.com/[email protected]/msg02382.html>
[3]
<http://thread.gmane.org/gmane.mail.roundcube.devel/9713/focus=9714>
_______________________________________________
Roundcube Users mailing list
[email protected]
http://lists.roundcube.net/mailman/listinfo/users