lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <BECE1C148A85274EB554378A3E0EDF490642ED58@USA0300MS02.na.xerox.net>
Date:	Wed, 14 May 2008 16:05:08 -0400
From:	"Bonitch, Joseph" <Joseph.Bonitch@...ox.com>
To:	YOSHIFUJI Hideaki / 吉藤英明 
	<yoshfuji@...ux-ipv6.org>
Cc:	<davem@...emloft.net>, <netdev@...r.kernel.org>
Subject: RE: IPV6 stateless address autoconfiguration

YOSHIFUJI Hideaki / 吉藤英明 wrote:
> In article
> <BECE1C148A85274EB554378A3E0EDF4906388E17@...0300MS02.na.xerox.net>
> (at Mon, 12 May 2008 15:36:57 -0400), "Bonitch, Joseph"
> <Joseph.Bonitch@...ox.com> says:   
> 
>> I did some testing with the second patch.  My router is still
>> configured to send RA's with prefix information valid_lft =
>> preferred_lft = 0xffffffff. It works except for one thing: the
>> initial prefix route (after the 
>> first RA) shows an expire time when using
>>    ip -6 route list
>> If I keep checking I can see the expires time counting down.  After
>> some minutes the expires field disappeares from the ip -6 route list
>> output. 
>> I tracked it down and it looks like when a subsequent RA is received
>> with the same prefix is when the expires time stops showing up.
> 
> Thanks.  I had missed sevral other users of addrconf_prefix_route().
> Please try this.
> 

Yoshfuji,

I tested your latest patch to addrconf.c.  It worked but I still had the
problem that the prefix routes had an expiry time until the second
RA was received.

I tracked it down to ip6_route_add() inside route.c: lifetime passed
in was not checked for 0.  I made a minor change (see below) and
now it is working as expected.

Regards,

Joe

diff --git a/route.c.orig b/route.c
index 5f0043c..2c23d67 100644
--- a/route.c.orig
+++ b/route.c
@@ -1069,7 +1069,7 @@ int ip6_route_add(struct fib6_config *cfg)
        }

        rt->u.dst.obsolete = -1;
-       rt->rt6i_expires = jiffies + clock_t_to_jiffies(cfg->fc_expires);
+       rt->rt6i_expires = (cfg->fc_expires) ? jiffies + clock_t_to_jiffies(cfg->fc_expires) : 0;

        if (cfg->fc_protocol == RTPROT_UNSPEC)
                cfg->fc_protocol = RTPROT_BOOT;
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ