Hello.

In article <[EMAIL PROTECTED]> (at Thu, 10 Aug 2006 00:37:14 +0300), Ville 
Nuorvala <[EMAIL PROTECTED]> says:

> >> commit e0ad64d5b44179ea1296d737dec23279c72c9636
> >> Author: YOSHIFUJI Hideaki <[EMAIL PROTECTED]>
> >> Date:   Wed Aug 9 17:08:33 2006 +0900
> >>
> >>     [IPV6] NDISC: Allow redirects from other interfaces if it is not 
> >> strict.
> >>     
> >>     Signed-off-by: YOSHIFUJI Hideaki <[EMAIL PROTECTED]>
> >>
> >> diff --git a/net/ipv6/route.c b/net/ipv6/route.c
> >> index 4650787..1698fec 100644
> >> --- a/net/ipv6/route.c
> >> +++ b/net/ipv6/route.c
> >> @@ -1322,7 +1322,7 @@ restart:
> >>                    continue;
> >>            if (!(rt->rt6i_flags & RTF_GATEWAY))
> >>                    continue;
> >> -          if (fl->oif != rt->rt6i_dev->ifindex)
> >> +          if ((flags & RT6_F_STRICT) && fl->oif != rt->rt6i_dev->ifindex)
> >>                    continue;
> >>            if (!ipv6_addr_equal(&rdfl->gateway, &rt->rt6i_gateway))
> >>                    continue;
> >>
> > 
> > Is this absolutely safe? Doesn't this enable a malicious node on another
> > link to make a bogus redirect if it uses same link-local source address
> > as the real router on the other link. Keep in mind that the RT6_F_STRICT
> > flag is set based on the destination of the original redirected packet
> > and doesn't in any way depend on the router or source address.
:

Ah, you're right.  I'll drop this.

As a result of original lookup (with possible ambiguous outout interface),
one interface for original output is selected.
Which means, we have a route for the (original) destination through that
interface.

Redirects shall come from that interface.
So, it is enough to lookup routes on that interface.

Thanks.

--yoshfuji
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to