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
CC:
andreas.schoe@gfz-potsdam.de wrote:
--Apple-Mail=_C218ED3F-A76E-4570-8833-063C70827424
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
charset=windows-1252
Hello,
you could reproduce it on a Single instance with the following ldif =
file:
ldapadd -h localhost -D "cn=3Dldapadmin,ou=3Dconf,dc=3Dexample,dc=3Dde" =
-w 'test' -f ldif.ldif
<ldif.ldif>
dn: dc=3Dexample,dc=3Dde
dc: example
objectClass: top
objectClass: organization
objectClass: dcObject
o: EXAMPLE
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
<ldif>
schema for Attribute:
{0}( 1.3.6.1.4.1.25398.511 NAME 'nisPassword' DESC 'Password for NIS' =
EQUALITY caseIgnoreIA5Match SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 =
X-ORIGIN 'user defined' )
The schema of your nisPassword attribute is incompatible with userPassword.
Your configuration is invalid. Closing this ITS.
{0}( 1.3.6.1.4.1.25398.500 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.