Hi,
ndp uses an int expire_time for time calculations. This should be
time_t.
The routing messages and IPv6 prefixes and default router also have
wrong expire time type. But this has to wait until ABI unlock.
ok?
bluhm
Index: usr.sbin/ndp/ndp.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/usr.sbin/ndp/ndp.c,v
retrieving revision 1.47
diff -u -p -u -p -r1.47 ndp.c
--- usr.sbin/ndp/ndp.c 21 Mar 2013 04:43:17 -0000 1.47
+++ usr.sbin/ndp/ndp.c 18 Jul 2013 22:49:26 -0000
@@ -335,7 +335,8 @@ getsocket(void)
struct sockaddr_in6 so_mask = {sizeof(so_mask), AF_INET6 };
struct sockaddr_in6 blank_sin = {sizeof(blank_sin), AF_INET6 }, sin_m;
struct sockaddr_dl blank_sdl = {sizeof(blank_sdl), AF_LINK }, sdl_m;
-int expire_time, flags, found_entry;
+time_t expire_time;
+int flags, found_entry;
struct {
struct rt_msghdr m_rtm;
char m_space[512];
@@ -379,7 +380,8 @@ set(int argc, char **argv)
ea = (u_char *)LLADDR(&sdl_m);
if (ndp_ether_aton(eaddr, ea) == 0)
sdl_m.sdl_alen = 6;
- flags = expire_time = 0;
+ expire_time = 0;
+ flags = 0;
while (argc-- > 0) {
if (strncmp(argv[0], "temp", 4) == 0) {
struct timeval time;