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

Re: Run-time registered controls



> I've updated controls.c/backends.c with a kludge which provide
> proper criticality handling.
>
> For password proxy control, which specification should allow the
> control to be ignored (in contexts where its not available),
> the control can be registered with the flag SLAP_CTRL_FRONTEND.

Well, this helps a lot; however I note that with my lates commit it is no
longer necessary, except for global overlays, like "chain".  I think the
point is that the control is served at response, if necessary, but the
overlay doesn't do anything when serving operations.

I guess a solution would be to strip the control stuff while serving the
operation, and put it back when serving the response, but, apart from
sounding screwed it would be a bit too much of a work.  The "correct"
solution would be for backend_check_restrictions() to check not only the
database (and its specific overlays) but the whole chain top to bottom and
back thru the response chain until it gets someone willing to serve the
control.

I'm currently struggling to find out a reliable manner to determine, from
inside an overlay's bi_db_open(), if it is hooked on top of the frontendDB
or not.  As a last resort, OR-ing a SLAP_DBFLAG_GLOBAL_OVERLAY should do
the trick,and the kludge can remain there a bit more.

p.

-- 
Pierangelo Masarati
mailto:pierangelo.masarati@sys-net.it


    SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497