If the above is the way your LDIF is formatted, then back-perl (actually, str2entry, a helper function in the core of slapd) is working as intended. There's supposed to be no space between attribute names or "dn" and the colon ":". Please fix you PERL and report.
I did several tests :
one too less, I fear.
- No space between attribute and data :
...
Still getting no results.
But there is an interressing error : "ldif_parse_line: missing ':' after"
So it seems that "old way" I used in OpenLDAP 2.2.xx branch doesn't seems to be bad.
...
Note that this "simpified" back-perl backend what working very well on OpenLDAP 2.2.xx branch... And the documentation doesn't seems to show some big changes in this part...
The question is: have you ever read RFC2849 (LDIF specs)? I know the answer: NO. The point is: you're developing code (back-perl scripting is considered code development) and you don't even care to find out what the specs say for a minimal detail like code interoperability! Have you even looked at an LDIF example? How can you pretend to guess, by trial and error, when your LDIF formatting will be finally accepted by a (decent) LDIF parser? The syntax (made easy) is clear:
<attribute name> (no space) : (space) <value>
that's it. Apparently you tried all combinations __except__ the one that works, but looking, e.g., to the output of ldapsearch would have put you in the right direction even without reading RFC 2849.
Unless you can prove that back-perl LDIF parser doesn't work with decently formatted LDIF, I'll consider this ITS closed.
p.
Ing. Pierangelo Masarati OpenLDAP Core Team
SysNet s.n.c. Via Dossi, 8 - 27100 Pavia - ITALIA http://www.sys-net.it ------------------------------------------ Office: +39.02.23998309 Mobile: +39.333.4963172 Email: pierangelo.masarati@sys-net.it ------------------------------------------