Description | Trying to keep address book in LDAP with the following configuration:
{
type = ldap;
CNFieldName = cn;
UIDFieldName = uid;
IDFieldName = uid;
baseDN = "ou=peoples,dc=domain,dc=tld";
bindDN = "cn=admin,dc=domain,dc=tld";
bindPassword = pass;
canAuthenticate = YES;
displayName = "Global Adressbook";
hostname = ldap://127.0.0.1:389;
id = public;
isAddressBook = YES;
listRequiresDot = NO;
mapping = {
photo = ("jpegPhoto");
};
abOU = "addressbook";
objectClasses = (inetOrgPerson); // CAN BE ANY
}
After login in web-UI SOGo create ou=addressbook and ou=personal in LDAP.
But if I try to create new card (filled in form "Display", "First" and "Last") it fail:
Aug 14 23:20:49 domain slapd[19702]: conn=2531 op=1 do_add: dn (cn=73a6-59920600-5-56454280,ou=personal,ou=addressbook,uid=alise,ou=peoples,dc=domain,dc=tld)
Aug 14 23:20:49 domain slapd[19702]: ==> mdb_add: cn=73a6-59920600-5-56454280,ou=personal,ou=addressbook,uid=alise,ou=peoples,dc=domain,dc=tld
Aug 14 23:20:49 domain slapd[19702]: Entry (cn=73a6-59920600-5-56454280,ou=personal,ou=addressbook,uid=alise,ou=peoples,dc=domain,dc=tld): object class 'inetOrgPerson' requires attribute 'sn'
Aug 14 23:20:49 domain slapd[19702]: send_ldap_result: err=65 matched="" text="object class 'inetOrgPerson' requires attribute 'sn'"
If I change objectClasses = (inetOrgPerson); to any (ex objectClasses = (applicationProcess) it's required only CN attribute) it fail with same error 'inetOrgPerson' requires attribute 'sn'"
If I manually create record:
dn: cn=Test,ou=personal,ou=addressbook,uid=alise,ou=peoples,dc=domain,dc=tld
cn: Test
displayName: Test
objectClass: inetOrgPerson
objectClass: top
sn: Testerov
It shows up in Web-UI but if I try to edit card, SOGo didn't try to modify record in LDAP:
Aug 14 23:42:22 domain slapd[19702]: connection_get(14)
Aug 14 23:42:22 domain slapd[19702]: ==> mdb_bind: dn: cn=admin,dc=domain,dc=ltd
Aug 14 23:42:22 domain slapd[19702]: send_ldap_result: err=0 matched="" text=""
Aug 14 23:42:22 domain slapd[19702]: connection_get(14)
Aug 14 23:42:22 domain slapd[19702]: SRCH "ou=addressbook,uid=alise,ou=peoples,dc=domain,dc=ltd" 0 0
Aug 14 23:42:22 domain slapd[19702]: 0 0 0
Aug 14 23:42:22 domain slapd[19702]: filter: (objectClass=)
Aug 14 23:42:22 domain slapd[19702]: attrs:
Aug 14 23:42:22 domain slapd[19702]:
Aug 14 23:42:22 domain slapd[19702]:
Aug 14 23:42:22 domain slapd[19702]: base_candidates: base: "ou=addressbook,uid=alise,ou=peoples,dc=domain,dc=ltd" (0x00000019)
Aug 14 23:42:22 domain slapd[19702]: send_ldap_result: err=0 matched="" text=""
Aug 14 23:42:22 domain slapd[19702]: connection_get(14)
Aug 14 23:42:22 domain slapd[19702]: SRCH "ou=addressbook,uid=alise,ou=peoples,dc=domain,dc=tld" 1 0
Aug 14 23:42:22 domain slapd[19702]: 0 0 0
Aug 14 23:42:22 domain slapd[19702]: filter: (objectClass=)
Aug 14 23:42:22 domain slapd[19702]: attrs:
Aug 14 23:42:22 domain slapd[19702]: ou
Aug 14 23:42:22 domain slapd[19702]: description
Aug 14 23:42:22 domain slapd[19702]:
Aug 14 23:42:22 domain slapd[19702]: send_ldap_result: err=0 matched="" text=""
Aug 14 23:42:22 domain slapd[19702]: connection_get(17)
Aug 14 23:42:22 domain slapd[19702]: ==> mdb_bind: dn: cn=admin,dc=domain,dc=ltd
Aug 14 23:42:22 domain slapd[19702]: send_ldap_result: err=0 matched="" text=""
Aug 14 23:42:22 domain slapd[19702]: connection_get(17)
Aug 14 23:42:22 domain slapd[19702]: SRCH "" 0 0
Aug 14 23:42:22 domain slapd[19702]: 0 0 0
Aug 14 23:42:22 domain slapd[19702]: filter: (objectClass=)
Aug 14 23:42:22 domain slapd[19702]: attrs:
Aug 14 23:42:22 domain slapd[19702]: subschemaSubentry
Aug 14 23:42:22 domain slapd[19702]:
Aug 14 23:42:22 domain slapd[19702]: send_ldap_result: err=0 matched="" text=""
Aug 14 23:42:22 domain slapd[19702]: connection_get(17)
Aug 14 23:42:22 domain slapd[19702]: SRCH "cn=Subschema" 0 0
Aug 14 23:42:22 domain slapd[19702]: 0 0 0
Aug 14 23:42:22 domain slapd[19702]: filter: (objectClass=)
Aug 14 23:42:22 domain slapd[19702]: attrs:
Aug 14 23:42:22 domain slapd[19702]: objectclasses
Aug 14 23:42:22 domain slapd[19702]:
Aug 14 23:42:22 domain slapd[19702]: send_ldap_result: err=0 matched="" text=""
Aug 14 23:42:22 domain slapd[19702]: connection_get(17)
Aug 14 23:42:22 domain slapd[19702]: SRCH "ou=personal,ou=addressbook,uid=alise,ou=peoples,dc=domain,dc=ltd" 2 0
Aug 14 23:42:22 domain slapd[19702]: 0 0 0
Aug 14 23:42:22 domain slapd[19702]: filter: (cn=test)
Aug 14 23:42:22 domain slapd[19702]: attrs:
Aug 14 23:42:22 domain slapd[19702]:
Aug 14 23:42:22 domain slapd[19702]:
Aug 14 23:42:22 domain slapd[19702]: mdb_idl_fetch_key: [b49d1940]
Aug 14 23:42:22 domain slapd[19702]: mdb_idl_fetch_key: [6ccf3565]
Aug 14 23:42:22 domain slapd[19702]: send_ldap_result: err=0 matched="" text=""
Aug 14 23:42:22 domain slapd[19702]: connection_get(14)
Aug 14 23:42:22 domain slapd[19702]: connection_get(17)
Aug 14 23:42:22 domain slapd[19702]: connection_get(14)
Aug 14 23:42:22 domain slapd[19702]: ==> mdb_bind: dn: cn=admin,dc=domain,dc=ltd
Aug 14 23:42:22 domain slapd[19702]: send_ldap_result: err=0 matched="" text=""
Aug 14 23:42:22 domain slapd[19702]: connection_get(14)
Aug 14 23:42:22 domain slapd[19702]: SRCH "cn=test,ou=personal,ou=addressbook,uid=alise,ou=peoples,dc=domain,dc=ltd" 0 0
Aug 14 23:42:22 domain slapd[19702]: 0 0 0
Aug 14 23:42:22 domain slapd[19702]: filter: (objectClass=)
Aug 14 23:42:22 domain slapd[19702]: attrs:
Aug 14 23:42:22 domain slapd[19702]:
Aug 14 23:42:22 domain slapd[19702]:
Aug 14 23:42:22 domain slapd[19702]: base_candidates: base: "cn=test,ou=personal,ou=addressbook,uid=alise,ou=peoples,dc=domain,dc=ltd" (0x0000001b)
Aug 14 23:42:22 domain slapd[19702]: send_ldap_result: err=0 matched="" text=""
Aug 14 23:42:22 domain slapd[19702]: connection_get(14)
So it's looks like "objectClasses" parameter - ignored. And none of fields send to LDAP. |
---|
Steps To Reproduce |
- LDAP with:
dn: ou=peoples,dc=domain,dc=tld
objectClass: organizationalUnit
objectClass: top
ou: peoples
dn: uid=alise,ou=peoples,dc=domain,dc=tld
cn: alise
objectClass: inetOrgPerson
objectClass: top
userPassword:: {SSHA}pass
sn: alise
uid: alise
mail: alise@domain.tld
-
LDAP part in SOGo config:
{
type = ldap;
CNFieldName = cn;
UIDFieldName = uid;
IDFieldName = uid;
baseDN = "ou=peoples,dc=domain,dc=tld";
bindDN = "cn=admin,dc=domain,dc=tld";
bindPassword = pass;
canAuthenticate = YES;
displayName = "Global Adressbook";
hostname = ldap://127.0.0.1:389;
id = public;
isAddressBook = YES;
listRequiresDot = NO;
mapping = {
photo = ("jpegPhoto");
};
abOU = "addressbook";
objectClasses = (inetOrgPerson); // CAN BE ANY
}
-
Login in Web-UI and field form Display, Lastname
-
After page refresh Address book empty.
-
Look in slapd log:
domain slapd[19702]: Entry (cn=73a6-59920600-5-56454280,ou=personal,ou=addressbook,uid=alise,ou=peoples,dc=domain,dc=tld): object class 'inetOrgPerson' requires attribute 'sn'
|
---|