summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorCy Schubert <cy@FreeBSD.org>2016-09-20 03:14:36 +0000
committerCy Schubert <cy@FreeBSD.org>2016-09-20 03:14:36 +0000
commitaeb7d1f6fedbcf6994ef829e7ae5cd5655b41217 (patch)
treece2084c13463cb8e504724afd7cba7e6fd3636c4 /net
parentMake vtun-v6 EXTENDED_MODE patch an option. (diff)
Replace the vtun-v6 extra patch from
http://home.jp.FreeBSD.org/~simokawa/vtun-v6.html with a -e option on the command line.
Diffstat (limited to 'net')
-rw-r--r--net/vtun/Makefile10
-rw-r--r--net/vtun/files/extra-tun_dev.c13
-rw-r--r--net/vtun/files/patch-freebsd__tun_dev.c24
-rw-r--r--net/vtun/files/patch-main.c19
4 files changed, 42 insertions, 24 deletions
diff --git a/net/vtun/Makefile b/net/vtun/Makefile
index 86dafb8885d9..4e2286051c6a 100644
--- a/net/vtun/Makefile
+++ b/net/vtun/Makefile
@@ -3,7 +3,7 @@
PORTNAME= vtun
PORTVERSION= 3.0.4
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= net
MASTER_SITES= SF
@@ -30,11 +30,11 @@ ALL_TARGET= vtund
DOCS= ChangeLog Credits FAQ README README.LZO README.Setup \
README.Shaper TODO
-OPTIONS_DEFINE= DOCS EXTENDED_MODE
-EXTENDED_MODE_DESC= Use vtun-v6 EXTENDED_MODE patch
+OPTIONS_DEFINE= DOCS
-# Obtained from http://home.jp.FreeBSD.org/~simokawa/vtun-v6.html
-EXTENDED_MODE_EXTRA_PATCHES= ${FILESDIR}/extra-tun_dev.c
+# Extended mode patches, obtained from
+# http://home.jp.FreeBSD.org/~simokawa/vtun-v6.html
+# are now dynamically enabled using the -e option.
.include <bsd.port.options.mk>
diff --git a/net/vtun/files/extra-tun_dev.c b/net/vtun/files/extra-tun_dev.c
deleted file mode 100644
index d0f18a1c337d..000000000000
--- a/net/vtun/files/extra-tun_dev.c
+++ /dev/null
@@ -1,13 +0,0 @@
---- freebsd/tun_dev.c.orig Thu Aug 26 16:45:24 2004
-+++ freebsd/tun_dev.c Thu Aug 26 16:45:42 2004
-@@ -58,8 +58,8 @@
- }
- }
- if( fd > -1 ){
-- i=0;
-- /* Disable extended modes */
-+ i=1;
-+ /* Enable extended modes */
- ioctl(fd, TUNSLMODE, &i);
- ioctl(fd, TUNSIFHEAD, &i);
- }
diff --git a/net/vtun/files/patch-freebsd__tun_dev.c b/net/vtun/files/patch-freebsd__tun_dev.c
new file mode 100644
index 000000000000..537d3e03a1cd
--- /dev/null
+++ b/net/vtun/files/patch-freebsd__tun_dev.c
@@ -0,0 +1,24 @@
+--- freebsd/tun_dev.c.orig 2008-01-07 14:36:10.000000000 -0800
++++ freebsd/tun_dev.c 2016-09-19 20:06:49.919502000 -0700
+@@ -35,6 +35,8 @@
+ #include "vtun.h"
+ #include "lib.h"
+
++extern int extended_mode;
++
+ /*
+ * Allocate TUN device, returns opened fd.
+ * Stores dev name in the first arg(must be large enough).
+@@ -58,10 +60,8 @@
+ }
+ }
+ if( fd > -1 ){
+- i=0;
+- /* Disable extended modes */
+- ioctl(fd, TUNSLMODE, &i);
+- ioctl(fd, TUNSIFHEAD, &i);
++ ioctl(fd, TUNSLMODE, &extended_mode);
++ ioctl(fd, TUNSIFHEAD, &extended_mode);
+ }
+ return fd;
+ }
diff --git a/net/vtun/files/patch-main.c b/net/vtun/files/patch-main.c
index 2596ad1de7e8..409d85e427f9 100644
--- a/net/vtun/files/patch-main.c
+++ b/net/vtun/files/patch-main.c
@@ -1,24 +1,28 @@
--- main.c.orig 2013-07-07 13:31:22.000000000 -0700
-+++ main.c 2016-09-19 18:44:42.369746000 -0700
-@@ -41,7 +41,7 @@
++++ main.c 2016-09-19 20:05:37.120740000 -0700
+@@ -39,9 +39,9 @@
+ #include "lib.h"
+ #include "compat.h"
- #define OPTSTRING "mif:P:L:t:npq"
+-#define OPTSTRING "mif:P:L:t:npq"
++#define OPTSTRING "mif:P:L:t:npqe"
#ifdef HAVE_WORKING_FORK
-# define SERVOPT_STRING "s"
+# define SERVOPT_STRING "sz:"
#else
# define SERVOPT_STRING ""
#endif
-@@ -57,6 +57,8 @@
+@@ -57,6 +57,9 @@
extern int optind,opterr,optopt;
extern char *optarg;
+static char* pidfile = VTUN_PID_FILE;
++int extended_mode = 0;
+
/* for the NATHack bit. Is our UDP session connected? */
int is_rmt_fd_connected=1;
-@@ -141,6 +143,11 @@
+@@ -141,6 +144,14 @@
case 'q':
vtun.quiet = 1;
break;
@@ -27,10 +31,13 @@
+ pidfile = strdup(optarg);
+ break;
+#endif
++ case 'e':
++ extended_mode = 1;
++ break;
default:
usage();
exit(1);
-@@ -250,7 +257,7 @@
+@@ -250,7 +261,7 @@
{
FILE *f;