[Date Prev][Date Next] [Chronological] [Thread] [Top]

(ITS#6457) hiding remote attribute with rwm-map in relay context crashes server



Full_Name: Guillaume Rousse
Version: 2.4.21
OS: Linux
URL: ftp://ftp.openldap.org/incoming/
Submission from: (NULL) (193.55.250.67)


The following configuration is supposed to map remote 'homePhone' attribute to
'telephoneNumber', and hide remote 'telephoneNumber' attribute:

database          relay
suffix            ou=telephony,dc=test
overlay           rwm
rwm-suffixmassage ou=users,dc=test

rwm-map attribute telephoneNumber homePhone
rwm-map attribute telephoneNumber

However, the server crashes as soon as it has to handle an entry with a
telephoneNumber attribute, as demonstrated with the simple ldif below:

dn: dc=test
dc: test
objectClass: top
objectClass: domain

dn: ou=users,dc=test
ou: users
objectClass: top
objectClass: organizationalUnit

dn: cn=user1,ou=users,dc=test
objectClass: inetOrgPerson
cn: user1
sn: user1

dn: cn=user2,ou=users,dc=test
objectClass: inetOrgPerson
cn: user2
sn: user2
telephoneNumber: +33123456789

Here is the relevant part of server log, with debugLevel set to trace:
Jan 18 13:29:58  slapd[12035]: >>> dnPrettyNormal: <ou=telephony,dc=test>
Jan 18 13:29:58  slapd[12035]: <<< dnPrettyNormal: <ou=telephony,dc=test>,
<ou=telephony,dc=test>
Jan 18 13:29:58  slapd[12035]: ==> limits_get: conn=1001 op=1 self="[anonymous]"
this="ou=telephony,dc=test"
Jan 18 13:29:58  slapd[12035]: >>> dnPrettyNormal: <ou=users,dc=test>
Jan 18 13:29:58  slapd[12035]: <<< dnPrettyNormal: <ou=users,dc=test>,
<ou=users,dc=test>
Jan 18 13:29:58  slapd[12035]: => bdb_search
Jan 18 13:29:58  slapd[12035]: bdb_dn2entry("ou=users,dc=test")
Jan 18 13:29:58  slapd[12035]: search_candidates: base="ou=users,dc=test"
(0x00000002) scope=2
Jan 18 13:29:58  slapd[12035]: => bdb_dn2idl("ou=users,dc=test")
Jan 18 13:29:58  slapd[12035]: <= bdb_dn2idl: id=3 first=2 last=4
Jan 18 13:29:58  slapd[12035]: => bdb_presence_candidates (objectClass)
Jan 18 13:29:58  slapd[12035]: bdb_search_candidates: id=-1 first=2 last=4
Jan 18 13:29:58  slapd[12035]: >>> dnPrettyNormal: <ou=telephony,dc=test>
Jan 18 13:29:58  slapd[12035]: <<< dnPrettyNormal: <ou=telephony,dc=test>,
<ou=telephony,dc=test>
Jan 18 13:29:58  slapd[12035]: => send_search_entry: conn 1001
dn="ou=telephony,dc=test"
Jan 18 13:29:58  slapd[12035]: <= send_search_entry: conn 1001 exit.
Jan 18 13:29:58  slapd[12035]: >>> dnPrettyNormal:
<cn=user1,ou=telephony,dc=test>
Jan 18 13:29:58  slapd[12035]: <<< dnPrettyNormal:
<cn=user1,ou=telephony,dc=test>, <cn=user1,ou=telephony,dc=test>
Jan 18 13:29:58  slapd[12035]: => send_search_entry: conn 1001
dn="cn=user1,ou=telephony,dc=test"
Jan 18 13:29:58  slapd[12035]: <= send_search_entry: conn 1001 exit.
Jan 18 13:29:58  slapd[12035]: >>> dnPrettyNormal:
<cn=user2,ou=telephony,dc=test>
Jan 18 13:29:58  slapd[12035]: <<< dnPrettyNormal:
<cn=user2,ou=telephony,dc=test>, <cn=user2,ou=telephony,dc=test>
Jan 18 13:29:58  slapd[12035]: => send_search_entry: conn 1001 dn="(null)"