On 25. mars 2015 00:56, Emmanuel Lécharny wrote:
Le 24/03/15 23:56, Howard Chu a écrit :
> Hallvard Breien Furuseth wrote:
>> I'd like a slap tool which verifies an LDIF before I try to
>> ldapadd/slapadd it.
>> "slapadd -u -o value-check=yes" is fairly close. What does it fail
>> to catch?
>> I can think of:
- An attribute should not occur several times in an entry with
other attributes in between. E.g. "cn", "title", then
That gives broken entries at least with slapadd -q.
>> - Duplicate entries.
> Quite an unrealistic requirement. You need to store the set of
> entryDNs to achieve this, and for a large LDIF you may need an actual
> database to manage this. Might as well just do a normal slapadd.
No, I want it to be faster than that. Also I might do someting else
with the verified LDIF anyway. Generate a diff against the current DB
and feed it to ldapmodify.
DN checking would need to be an option, which could just document
"you asked for unbounded memory usage, you got it". Though I suppose
it could slapadd to a DB with just the DNs, not any attributes.
Let me disagree. A simple merge sort will do the trick. No need of a
database to deal with that, even for a large LDIF. We have done some
tests with the tool we use to handle bulkloads at ApacheDS, and that
works quite fine, and quite fast enough.
A reliable sorter would still need to link slapd or something else
knowing the schema though, so it'll normalize the DNs correctly. Not
quite sure if I'll bother to worry about that. Don't need it with
LDIFs we generate ourselves, but LDIFs from elsewhere are less fun.