aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac5
-rw-r--r--tun.c21
-rw-r--r--version.m42
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"],
diff --git a/tun.c b/tun.c
index 11c4204..8c94f89 100644
--- a/tun.c
+++ b/tun.c
@@ -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)
diff --git a/version.m4 b/version.m4
index cd7ba56..f8b3b8d 100644
--- a/version.m4
+++ b/version.m4
@@ -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])