At 01:06 PM 5/31/2002 -0400, Alan DeKok wrote:
>"eric " <[EMAIL PROTECTED]> wrote:
> > I searched through the CVS and probably overlooked the mod.  Could
> > you send me the oneliner?
>
>
>                 if (request->proxy_reply->vps) {
>                         request->reply->vps = request->proxy_reply->vps;
>+                       pairdelete(&request->reply->vps, PW_PROXY_STATE);
>                         request->reply->code = request->proxy_reply->code;
>                         request->proxy_reply->vps = NULL;
>                 }

This assumes we are sending to a NAS, which we can't.  Consider a two
stage proxy:

NAS -> ISP1 -> ISP2  [ -> ISP3 ]    ( we are ISP2 )

ISP1 *must* receive back the Proxy-State that it added, if it added one.

pairdelete() removes all instances it finds ( including ISP1's ).

IE, ISP1 adds proxy-state = "foo"
     ISP2 adds Proxy-State = "bar"

Reply from ISP3 looks like:

     Blah = "blah",
     Proxy-State = "foo",
     Proxy-State = "bar",
     Blah = "blah"

The reply going back to ISP1 should be:

     Blah = "blah",
     Proxy-State = "foo"
     Blah = "blah"

I'm working on a patch to do this, unless you want to take a stab
at it.  :)

-Chris
--
    \\\|||///  \          StarNet Inc.      \         Chris Parker
    \ ~   ~ /   \       WX *is* Wireless!    \   Director, Engineering
    | @   @ |    \   http://www.starnetwx.net \      (847) 963-0116
oOo---(_)---oOo--\------------------------------------------------------
                   \ Wholesale Internet Services - http://www.megapop.net



- 
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to