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

schema with large objects -> slapd dies (possible bug?)



Good morning :)

I'm trying to store apache configuration directives in ldap.
This configuration is fed to apache on startup using mod_perl
(which, i believe, is the "standard" way of doing so)
To accomplish this I've created a schema ("apache.schema") which
defines a couple of objects which cover all aspects of apache config
for example "ApacheMainConfig".
Every apache configuration file directive has a corresponding
attribute in this object, a short version of this object might look
like this:
objectclass ( 2.16.666.1.666.0.0 NAME 'ApacheMainConfig'
              STRUCTURAL
              MAY ( ErrorDocument $ ErrorLog $ MaxClients )
            )
The actual object has a lot more attributes of course, this is
just to give an impression.

The first question is: Am I way off a good practice of using LDAP?
The next and BIG question is:
Apache has approx 230 configurution directives, all being mapped
to attributes and most of them are in the MAY() part of the object
definitions.
If, however, the object hast too many (more than ~70) attributes,
slapd dies on startup. Just removing one or two attributes and
it will run happily.
The error message is:

slapd in free(): error: junk pointer, too high to make sense

which looks like a problem with string lenghts/buffer sizes/allocation.

Is this a bug or a feature? As I said I'm somewhat new to ldap
and maybe it simply wasn't meant to have such huge objects.

Any hints? :)

regards,
Sven Brandenburg