Description: Improve kFreeBSD support Author: Gonéri Le Bouder Bug-Debian: http://bugs.debian.org/626062 Index: openvpn/src/openvpn/route.c =================================================================== --- openvpn.orig/src/openvpn/route.c 2016-12-12 20:53:45.298787355 +0100 +++ openvpn/src/openvpn/route.c 2016-12-12 21:03:48.380240093 +0100 @@ -1532,7 +1532,7 @@ argv_msg (D_ROUTE, &argv); status = openvpn_execve_check (&argv, es, 0, "ERROR: Solaris route add command failed"); -#elif defined(TARGET_FREEBSD) +#elif defined(TARGET_FREEBSD) || defined(__FreeBSD_kernel__) argv_printf (&argv, "%s add", ROUTE_PATH); @@ -1698,7 +1698,7 @@ network = print_in6_addr( r6->network, 0, &gc); gateway = print_in6_addr( r6->gateway, 0, &gc); -#if defined(TARGET_DARWIN) || \ +#if defined(TARGET_DARWIN) || defined(__FreeBSD_kernel__) || \ defined(TARGET_FREEBSD) || defined(TARGET_DRAGONFLY) || \ defined(TARGET_OPENBSD) || defined(TARGET_NETBSD) @@ -1856,7 +1856,7 @@ argv_msg (D_ROUTE, &argv); status = openvpn_execve_check (&argv, es, 0, "ERROR: Solaris route add -inet6 command failed"); -#elif defined(TARGET_FREEBSD) || defined(TARGET_DRAGONFLY) +#elif defined(TARGET_FREEBSD) || defined(TARGET_DRAGONFLY) || defined(__FreeBSD_kernel__) argv_printf (&argv, "%s add -inet6 %s/%d", ROUTE_PATH, @@ -2022,7 +2022,7 @@ argv_msg (D_ROUTE, &argv); openvpn_execve_check (&argv, es, 0, "ERROR: Solaris route delete command failed"); -#elif defined(TARGET_FREEBSD) +#elif defined(TARGET_FREEBSD) || defined(__FreeBSD_kernel__) argv_printf (&argv, "%s delete -net %s %s %s", ROUTE_PATH, @@ -2127,7 +2127,7 @@ network = print_in6_addr( r6->network, 0, &gc); gateway = print_in6_addr( r6->gateway, 0, &gc); -#if defined(TARGET_DARWIN) || \ +#if defined(TARGET_DARWIN) || defined(__FreeBSD_kernel__) || \ defined(TARGET_FREEBSD) || defined(TARGET_DRAGONFLY) || \ defined(TARGET_OPENBSD) || defined(TARGET_NETBSD) @@ -2248,7 +2248,7 @@ argv_msg (D_ROUTE, &argv); openvpn_execve_check (&argv, es, 0, "ERROR: Solaris route delete -inet6 command failed"); -#elif defined(TARGET_FREEBSD) || defined(TARGET_DRAGONFLY) +#elif defined(TARGET_FREEBSD) || defined(TARGET_DRAGONFLY) || defined(__FreeBSD_kernel__) argv_printf (&argv, "%s delete -inet6 %s/%d", ROUTE_PATH, @@ -3206,7 +3206,8 @@ #elif defined(TARGET_DARWIN) || defined(TARGET_SOLARIS) || \ defined(TARGET_FREEBSD) || defined(TARGET_DRAGONFLY) || \ - defined(TARGET_OPENBSD) || defined(TARGET_NETBSD) + defined(TARGET_OPENBSD) || defined(TARGET_NETBSD) || \ + defined(__FreeBSD_kernel__) #include #include Index: openvpn/src/openvpn/tun.c =================================================================== --- openvpn.orig/src/openvpn/tun.c 2016-12-12 20:53:45.298787355 +0100 +++ openvpn/src/openvpn/tun.c 2016-12-12 21:04:41.156373771 +0100 @@ -783,7 +783,7 @@ #endif #if defined(TARGET_FREEBSD)||defined(TARGET_DRAGONFLY)||\ - defined(TARGET_OPENBSD) + defined(TARGET_OPENBSD)||defined(__FreeBSD_kernel__) /* we can't use true subnet mode on tun on all platforms, as that * conflicts with IPv6 (wants to use ND then, which we don't do), * but the OSes want "a remote address that is different from ours" @@ -1314,7 +1314,7 @@ add_route_connected_v6_net(tt, es); } -#elif defined(TARGET_FREEBSD)||defined(TARGET_DRAGONFLY) +#elif defined(TARGET_FREEBSD)||defined(TARGET_DRAGONFLY)||defined(__FreeBSD_kernel__) in_addr_t remote_end; /* for "virtual" subnet topology */ @@ -2548,7 +2548,7 @@ return read (tt->fd, buf, len); } -#elif defined(TARGET_FREEBSD) +#elif defined(TARGET_FREEBSD)||defined(__FreeBSD_kernel__) static inline int freebsd_modify_read_write_return (int len) Index: openvpn/src/openvpn/lladdr.c =================================================================== --- openvpn.orig/src/openvpn/lladdr.c 2012-11-05 16:29:30.000000000 +0100 +++ openvpn/src/openvpn/lladdr.c 2016-12-12 21:06:38.372672863 +0100 @@ -47,7 +47,7 @@ "%s %s lladdr %s", IFCONFIG_PATH, ifname, lladdr); -#elif defined(TARGET_FREEBSD) +#elif defined(TARGET_FREEBSD) || defined(__FreeBSD_kernel__) argv_printf (&argv, "%s %s ether %s", IFCONFIG_PATH, Index: openvpn/src/openvpn/syshead.h =================================================================== --- openvpn.orig/src/openvpn/syshead.h 2016-12-07 13:14:25.348506036 +0100 +++ openvpn/src/openvpn/syshead.h 2016-12-12 21:12:20.413558149 +0100 @@ -294,7 +294,7 @@ #endif /* TARGET_OPENBSD */ -#ifdef TARGET_FREEBSD +#if defined(TARGET_FREEBSD) || defined(__FreeBSD_kernel__) #ifdef HAVE_SYS_UIO_H #include Index: openvpn/src/openvpn/ssl.c =================================================================== --- openvpn.orig/src/openvpn/ssl.c 2016-12-07 13:14:25.348506036 +0100 +++ openvpn/src/openvpn/ssl.c 2016-12-12 21:13:44.989779071 +0100 @@ -2108,7 +2108,7 @@ buf_printf (&out, "IV_PLAT=mac\n"); #elif defined(TARGET_NETBSD) buf_printf (&out, "IV_PLAT=netbsd\n"); -#elif defined(TARGET_FREEBSD) +#elif defined(TARGET_FREEBSD) || defined(__FreeBSD_kernel__) buf_printf (&out, "IV_PLAT=freebsd\n"); #elif defined(TARGET_ANDROID) buf_printf (&out, "IV_PLAT=android\n");