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

Re: (ITS#4218) back-config broken in HEAD

On Fri, 2005-11-25 at 22:36 -0800, Howard Chu wrote:
> Right, basically back-relay is unsupported here.

unsupported yet :)

> re: the hack - I was looking at this overlay_access code and I'd much 
> prefer a different solution. Part of the problem is that the op->o_bd is 
> being set to frontendDB to invoke things from the global perspective, on 
> the assumption that the current o_bd can be recovered again via 
> select_backend(). Unfortunately that assumption is False for many of the 
> overlays as well as for back-config. Besides which, this results in far 
> too many extra calls to select_backend over the course of a single 
> operation.

I applied that change under the assumption it occurs only during

> The frontend access() function should be called directly, not through 
> the frontendDB pointer. It should just know if it needs to invoke an 
> overlay (by virtue of the SLAP_DBFLAG_GLOBAL_OVERLAY flag) and then 
> invoke the overlay structure as needed, otherwise fallthrough to its 
> normal processing, without disturbing the current op->o_bd pointer.
> I'm a bit skeptical about what a global ACL overlay can do, without 
> knowledge of the underlying real DB...

Remember that it was put in place essentially to allow SLAPI access
checking; when no access is checked by any global overlay, it's supposed
to behave as before.

>  Again, since we know we're 
> working from the global perspective, we should just access 
> frontendDB->bd_info directly without modifying op->o_bd. (Aside from 
> dup'ing it into a local copy.) So basically over_access_allowed and 
> fe_op_acl need to merge together. Similar fixes are probably needed for 
> _acl_group and _acl_attribute, I haven't looked that far.

I'm not following you on this ground; I've learned your changes are
usually dependable... :)


Ing. Pierangelo Masarati
Responsabile Open Solution

SysNet s.n.c.
Via Dossi, 8 - 27100 Pavia - ITALIA
Office:   +39.02.23998309          
Mobile:   +39.333.4963172
Email:    pierangelo.masarati@sys-net.it