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

Re: Circular referral (Was: (ITS#4055) back-ldap hangs)

On Sat, 2005-10-01 at 03:01 -0700, Howard Chu wrote:
> Actually I don't see this as a problem for referral processing, though 
> we have to change how we handle it. That is, the back-ldap proxy needs 
> to check when it receives a referral, and see if the referral points to 
> itself, before chasing it.

well, this can now be easily done by setting an appropriate
ldap_nextref_proc; one issue I see is how to determine if a request will
be satisfied locally: compare the referral to the listeners?  what about
aliases and/or IP vs. DNS names and so?  Then, even if we get to
deciding a request will be satisfied locally, I'm not sure a
select_backend() call would suffice, because of the same old problem of
comparing BackendDB pointers, or comparing the be_private field; for
example, the BackendDB is typically a temporary when dealing with
overlays, but, inside the chain overlay (and inside many of our custom
overlays), also the be_private can be a temporary when the URI is
obtained from the referral...

> In the case of chaining, where the remote 
> server progresses the request itself, the chaining control would be 
> used. Unfortunately the Sermersheim draft has expired, and anyway that 
> control doesn't carry enough information to solve this problem. Someone 
> needs to go back to the X.518 ChainingArguments and at least bring the 
> traceInformation into the LDAP chaining control spec.

In this case, unless we intend to revitaalize it, I think we should
remove the code related to that draft, because it was making chaining a
bit hairy without being of much use.


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