diff options
Diffstat (limited to '')
-rw-r--r-- | configure.ac | 5 | ||||
-rw-r--r-- | tun.c | 21 | ||||
-rw-r--r-- | version.m4 | 2 |
3 files changed, 26 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 729ce40..342074f 100644 --- a/configure.ac +++ b/configure.ac @@ -176,6 +176,11 @@ AC_ARG_ENABLE(iproute2, test $enableval = "yes" && AC_DEFINE(CONFIG_FEATURE_IPROUTE, 1, [enable iproute2 support]) ) +AC_ARG_ENABLE(osxipconfig, + [ --enable-osxipconfig Enable support for ipconfig on OS X], + test $enableval = "yes" && AC_DEFINE(DARWIN_USE_IPCONFIG, 1, [Enable support for ipconfig on OS X]) +) + AC_ARG_ENABLE(def-auth, [ --disable-def-auth Disable deferred authentication], [DEF_AUTH="$enableval"], @@ -786,7 +786,24 @@ do_ifconfig (struct tuntap *tt, tt->did_ifconfig = true; #elif defined(TARGET_DARWIN) - +#ifdef DARWIN_USE_IPCONFIG + if (tun) + { + msg (M_FATAL, "Error: tun point-to-point mode not supported on Darwin when DARWIN_USE_IPCONFIG is defined"); + } + else + { + argv_printf (&argv, + "/usr/sbin/ipconfig set %s MANUAL %s %s", + actual, + ifconfig_local, + ifconfig_remote_netmask + ); + } + argv_msg (M_INFO, &argv); + openvpn_execve_check (&argv, es, S_FATAL, "Mac OS X ipconfig failed"); + tt->did_ifconfig = true; +#else /* * Darwin (i.e. Mac OS X) seems to exhibit similar behaviour to OpenBSD... */ @@ -832,9 +849,11 @@ do_ifconfig (struct tuntap *tt, tun_mtu ); } + argv_msg (M_INFO, &argv); openvpn_execve_check (&argv, es, S_FATAL, "Mac OS X ifconfig failed"); tt->did_ifconfig = true; +#endif /* Add a network route for the local tun interface */ if (!tun && tt->topology == TOP_SUBNET) @@ -1,5 +1,5 @@ dnl define the OpenVPN version -define(PRODUCT_VERSION,[2.1.3o]) +define(PRODUCT_VERSION,[2.1.3p]) dnl define the TAP version define(PRODUCT_TAP_ID,[tap0901]) define(PRODUCT_TAP_WIN32_MIN_MAJOR,[9]) |