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

(ITS#7935) fails to convert slapd.conf including schema with "+" in name



Full_Name: Ryan Tandy
Version: master, RE24
OS: Debian
URL: 
Submission from: (NULL) (24.68.121.206)


Hi,

Debian bug report: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=603544

Steps to reproduce:

ln -s /usr/local/etc/openldap/schema/core.schema core+test.schema
echo 'include ./core+test.schema' > slapd.confA0Amkdir slapd.d
slaptest -f slapd.conf -F slapd.d

Before commit d1b38bd ("ITS#6967 normalize schema RDN"), this fails with:

config_build_entry: build "cn={0}core+test" failed: "(null)"
backend_startup_one (type=config, suffix="cn=config"): bi_db_open failed! (-1)

but slapd still works if running with slapd.conf only (-F omitted).

After that commit, slaptest and slapd both crash shortly after rdnNormalize at
bconfig.c:6841. rdnNormalize() fails because the constructed DN is not valid,
but its return value is not checked.

It would be really nice if it would automatically escape or replace
inappropriate characters in the filename, but I'll understand if that's asking
too much. :)

(Alternatively, if there are restrictions on what is considered a valid schema
filename, please document them.)