The flags are exposed using a multivalued parameter so that other
connection flags (like back-meta's) could be exported without needing
additional code.
Letting back-monitor create the subsystem entries is much more readable
than doing this manually.
Only the database is registered if needed (chain overlay has to be
updated to cope with this), the cn=Connection entry is removed in this
patch to be reinstated in the following one as part of the correct
subsystem.
The owner (overlay mostly) should already know the target subtree DN,
therefore the filter machinery can go away too.
Currently ldap_back_default_rebind cannot access the ldapinfo structure.
Being a configurable callback, not letting it monitor when a change
might be disruptive feels safer.
During initialization (and elsewhere), the subsystems have no way of
storing local data. While embedding them inside a larger strusture and
breaking out when needed (like the current back-ldap monitoring code
currently does) works, it certainly does not add to readability.
Notice that there is still no way to unregister an active subsystem.
This patch does not attempt to include such functionality while it might
actually be needed with the advent of SLAP_CONFIG_DELETE.
For all other ce_types it holds that each is represented by one
attribute, making ce_type matching for X-ORDERED siblings equivalent to
how back-ldif handles them. Cft_misc is means "all other types", however
no overlay/backend so far has used different attributes as siblings,
triggering the difference in handling between bconfig.c and back-ldif.
Delay (MDB_txninfo*) cast to after comparing mmap() with MAP_FAILED.
Otherwise, if MAP_FAILED = (void*)-1 but MDB_txninfo requires stricter
alignment, the compiler could assume the result is never MAP_FAILED.
Also store NULL in env->(me_map, me_txns) after mmap failure.