[Date Prev][Date Next]
I have a BIG change almost ready for commit: global overlays.
- I separated operation code in ber decoding and essential sanity check
plus database selection and database specific checks and more.
- the first part remains in the do_* functions; the others go in
separate functions hooked into a global BackendInfo structure.
- there's a global BackendDB structure that contain global data
an points to the global BackendInfo structure.
- ovelays are allowed also in the global scope; they get stacked
in the BackendInfo of the global BackendDB struct.
- one caveat is that currently the data that is usually passed to
databases (and to overlays, if defined) in some cases is in an
incomplete state; I'll try to clean this up a bit, but in any case
there might be need to specialize overlays to the global or the
database scope; this could be useful in any case. I'd add a flags
field to the overlay stucture, with a SLAP_OVERLAY_GLOBAL flag
that, if set, allows to use that overlay in the global scope.
The rationale for this is streamline the overlay mechanism to make
it available also BEFORE database selection occurs. It currently
passes all the test suite also with harmless overlays inserted (e.g.
a (modified) lastmod overlay rooted to the global scope, i.e. to "").
I'm a bit scaredof committing this, because it's likely to break
many things (about everything you have in your build tree and you
didn't commit yet ;). If there's interest, I'd like to commit it
as soon as possible (not elarlier than tonight, anyway).