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

Fwd: Re: (ITS#7905) rwm_attrs: Assertion failed

We should probably check for syntax compatibility of mapped attributes at configure time, and avoid this runtime assert. But this opens up a whole question of how strict should the config check be? Should it just require that the two syntaxes are the same? E.g., what if one attribute's equality matching rule is caseIgnore and the other is caseExact?

Or what if one attribute's syntax is PrintableString and the other is IA5String? (IA5String allows empty values, PrintableString does not.)

-------- Original Message --------
Subject: Re: (ITS#7905) rwm_attrs: Assertion failed
Date: Fri, 25 Jul 2014 19:33:03 GMT
From: hyc@symas.com
To: openldap-its@openldap.org

andreas.schoe@gfz-potsdam.de wrote:
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;


you could reproduce it on a Single instance with the following ldif =

ldapadd -h localhost -D "cn=3Dldapadmin,ou=3Dconf,dc=3Dexample,dc=3Dde" =
-w 'test' -f ldif.ldif
dn: dc=3Dexample,dc=3Dde
dc: example
objectClass: top
objectClass: organization
objectClass: dcObject

dn: ou=3DPeople,dc=3Dexample,dc=3Dde
objectClass: top
objectClass: organizationalUnit
ou: People

dn: uid=3Dandi,ou=3DPeople,dc=3Dexample,dc=3Dde
uid: andi
uidNumber: 12
gidNumber: 20
homeDirectory: /home/andi
loginShell: /bin/tcsh
objectClass: exPassword
objectClass: top
objectClass: posixAccount
objectClass: person
sn: Schoe
cn: Andreas Schoe
gfzNisPassword: {CRYPT}i.hBxh9rngIPE

schema for Attribute:
{0}( NAME 'nisPassword' DESC 'Password for NIS' =
EQUALITY caseIgnoreIA5Match SYNTAX =
X-ORIGIN 'user defined' )

The schema of your nisPassword attribute is incompatible with userPassword.
Your configuration is invalid. Closing this ITS.

{0}( NAME 'exPassword' DESC 'additional attributes =
for accounts' SUP top AUXILIARY MAY ( nisPassword  ) X-ORIGIN 'user =
defined=91 )

rwm config:
olcRwmMap: {0}attribute gfzNisPassword userPassword

ldapsearch -h rzc37 -D "uid=3Dandi,ou=3DPeople,dc=3Dexample,dc=3Dde" -w =
'te' -b "dc=3Dexample,dc=3Dde" -x -LLL '(uid=3Dandi)'=20
Still the same Error: slapd: rwm.c:1286: rwm_attrs: Assertion =
`(*ap)->a_nvals =3D=3D (*ap)->a_vals' failed.

   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/