OK. You'll need to scan through with something like this:
slap_overinst *on, *o2;
slap_overinfo *oi;
int foundit = 0;
on = (slap_overinst *)op->o_bd->bd_info;
if (!op->o_conn->c_authz_backend ||
strcmp(op->o_conn->c_authz_backend->be_type, "over")) {
/* Not ours */
return -1;
}
oi = op->o_conn->c_authz_backend->bd_info;
for (o2 = oi->oi_list; o2; o2=o2->on_next) {
if (o2 == on) {
foundit = 1;
break;
}
}
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
http://www.symas.com http://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support
> -----Original Message-----
> From: owner-openldap-devel@OpenLDAP.org
> [mailto:owner-openldap-devel@OpenLDAP.org]On Behalf Of David Parker
> Sent: Thursday, April 08, 2004 1:07 PM
> To: openldap-devel@OpenLDAP.org
> Subject: RE: checking for bound user
>
>
> I tried checking op->o_conn->c_authz_backend->be_type, but the value
> is "over", the value of overtype[] in backover.c.
>
> I know I should be able to figure this out by looking at the
> code, but trying to sort out between BackendInfo, BackendDB,
> the #define short-cuts in between them, and then the overlay
> structure makes me feel like I'm on drugs. Or, maybe, drugs
> are the answer....
>
> Where can I get to the value that was specified on
> slap_overinst.on_bi.bi_type for the slap_overinst originally
> passed to overlay_register?
>
> I'm using 2.2.6 currently, with a patched backover.c (for the
> multiple overlay fix).
>
> Thanks!
>
> - DAP
>
> > -----Original Message-----
> > From: Howard Chu [mailto:hyc@highlandsun.com]
> > Sent: Monday, April 05, 2004 4:27 PM
> > To: David Parker; openldap-devel@OpenLDAP.org
> > Subject: RE: checking for bound user
> >
> >
> > > -----Original Message-----
> > > From: owner-openldap-devel@OpenLDAP.org
> > > [mailto:owner-openldap-devel@OpenLDAP.org]On Behalf Of
> David Parker
> >
> > > A follow-up question on the bound user:
> > >
> > > Once my overlay has bound a user, I want subsequent
> > > operations (add,modify,etc) to be verify that the op->o_ndn
> > > was bound with my overlay's method, i.e., I don't want a user
> > > bound by another backend to be able to perform operations in
> > > my overlay. I might be able to achieve the functionality I
> > > want with ACLs, as well, but I wanted to check the
> > > feasibility of this other approach.
> >
> > The backend that performed the authentication for the current
> > session is recorded in conn->c_authz_backend. All you have to
> > do is compare that against your backend.
> >
> > -- Howard Chu
> > Chief Architect, Symas Corp. Director, Highland Sun
> > http://www.symas.com http://highlandsun.com/hyc
> > Symas: Premier OpenSource Development and Support
> >
>
>
>
<<attachment: winmail.dat>>