diff options
| author | Roy Marples <roy@marples.name> | 2016-11-23 21:08:30 +0000 |
|---|---|---|
| committer | Roy Marples <roy@marples.name> | 2016-11-23 21:08:30 +0000 |
| commit | e26d96a8a1adf4f935b898ba80baedc781ac7fe0 (patch) | |
| tree | 4161f1c1dd7f8656c62d9c2999aaa354db8a9ccb | |
| parent | 962f18248e835ab6a9f90c282ff7ff74faa4a87b (diff) | |
| download | dhcpcd-e26d96a8a1adf4f935b898ba80baedc781ac7fe0.tar.xz | |
Backout prior, added stuff by mistake.
| -rw-r--r-- | if-bsd.c | 25 | ||||
| -rw-r--r-- | ipv6.c | 2 | ||||
| -rw-r--r-- | ipv6.h | 10 |
3 files changed, 15 insertions, 22 deletions
@@ -1345,24 +1345,23 @@ inet6_sysctl(int code, int val, int action) #endif #ifdef IPV6_MANAGETEMPADDR -#if !defined(IPV6CTL_TEMPVLTIME) +#ifndef IPV6CTL_TEMPVLTIME +#define get_inet6_sysctlbyname(code) inet6_sysctlbyname(code, 0, 0) +#define set_inet6_sysctlbyname(code, val) inet6_sysctlbyname(code, val, 1) static int -get_sysctlbyname(const char *name) +inet6_sysctlbyname(const char *name, int val, int action) { -#ifdef __OpenBSD__ - /* OpenBSD seems to have it enabled by default .... */ - - UNUSED(name); - return -1; -#else - int val; size_t size; size = sizeof(val); + if (action) { + if (sysctlbyname(name, NULL, 0, &val, size) == -1) + return -1; + return 0; + } if (sysctlbyname(name, &val, &size, NULL, 0) == -1) return -1; return val; -#endif } #endif @@ -1374,7 +1373,7 @@ ip6_use_tempaddr(__unused const char *ifname) #ifdef IPV6CTL_USETEMPADDR val = get_inet6_sysctl(IPV6CTL_USETEMPADDR); #else - val = get_sysctlbyname("net.inet6.ip6.use_tempaddr"); + val = get_inet6_sysctlbyname("net.inet6.ip6.use_tempaddr"); #endif return val == -1 ? 0 : val; } @@ -1387,7 +1386,7 @@ ip6_temp_preferred_lifetime(__unused const char *ifname) #ifdef IPV6CTL_TEMPPLTIME val = get_inet6_sysctl(IPV6CTL_TEMPPLTIME); #else - val = get_sysctlbyname("net.inet6.ip6.temppltime"); + val = get_inet6_sysctlbyname("net.inet6.ip6.temppltime"); #endif return val < 0 ? TEMP_PREFERRED_LIFETIME : val; } @@ -1400,7 +1399,7 @@ ip6_temp_valid_lifetime(__unused const char *ifname) #ifdef IPV6CTL_TEMPVLTIME val = get_inet6_sysctl(IPV6CTL_TEMPVLTIME); #else - val = get_sysctlbyname("net.inet6.ip6.tempvltime"); + val = get_inet6_sysctlbyname("net.inet6.ip6.tempvltime"); #endif return val < 0 ? TEMP_VALID_LIFETIME : val; } @@ -566,7 +566,7 @@ ipv6_checkaddrflags(void *arg) return; } - if (!(flags & IN6_IFF_TENTATIVE)) { + if (!(ia->addr_flags & IN6_IFF_TENTATIVE)) { /* Simulate the kernel announcing the new address. */ ipv6_handleifa(ia->iface->ctx, RTM_NEWADDR, ia->iface->ctx->ifaces, ia->iface->name, @@ -104,14 +104,8 @@ * Some BSDs do not allow userland to set temporary addresses. * Linux-3.18 allows the marking of addresses from which to manage temp addrs. */ -#if defined(BSD) -# if !defined(IN6_IFF_TEMPORARY) && defined(IN6_IFF_PRIVACY) - /* OpenBSD just has to be different... */ -# define IN6_IFF_TEMPORARY IN6_IFF_PRIVACY -# endif -# if defined(IN6_IFF_TEMPORARY) -# define IPV6_MANAGETEMPADDR -# endif +#if defined(BSD) && defined(IN6_IFF_TEMPORARY) +#define IPV6_MANAGETEMPADDR #endif /* |
