From 58b8a1b97ed17d32bf7b0051ac8fa39206930879 Mon Sep 17 00:00:00 2001 From: salo Date: Thu, 13 Apr 2006 16:08:25 +0000 Subject: Pullup ticket 1364 - requested by jlam NetBSD tap(4) support for openvpn Revisions pulled up: - pkgsrc/net/openvpn/Makefile 1.17 - pkgsrc/net/openvpn/distinfo 1.8 - pkgsrc/net/openvpn/patches/patch-ab 1.4 - pkgsrc/net/openvpn/patches/patch-ac 1.3 - pkgsrc/net/openvpn/patches/patch-ad 1.1 - pkgsrc/net/openvpn/patches/patch-ae 1.1 - pkgsrc/net/openvpn/patches/patch-af 1.1 Module Name: pkgsrc Committed By: jlam Date: Tue Apr 11 20:09:52 UTC 2006 Modified Files: pkgsrc/net/openvpn: Makefile distinfo Added Files: pkgsrc/net/openvpn/patches: patch-ab patch-ac patch-ad patch-ae patch-af Log Message: Add support for NetBSD's cloning tap device to support "device tap" configurations. Changes supplied in PR pkg/32929 by Alan Barrett. Bump PKGREVISION to 1. --- net/openvpn/Makefile | 3 ++- net/openvpn/distinfo | 7 ++++++- net/openvpn/patches/patch-ab | 15 +++++++++++++++ net/openvpn/patches/patch-ac | 43 +++++++++++++++++++++++++++++++++++++++++++ net/openvpn/patches/patch-ad | 14 ++++++++++++++ net/openvpn/patches/patch-ae | 13 +++++++++++++ net/openvpn/patches/patch-af | 13 +++++++++++++ 7 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 net/openvpn/patches/patch-ab create mode 100644 net/openvpn/patches/patch-ac create mode 100644 net/openvpn/patches/patch-ad create mode 100644 net/openvpn/patches/patch-ae create mode 100644 net/openvpn/patches/patch-af diff --git a/net/openvpn/Makefile b/net/openvpn/Makefile index accb74c8c2c..1c410bbefd8 100644 --- a/net/openvpn/Makefile +++ b/net/openvpn/Makefile @@ -1,7 +1,8 @@ -# $NetBSD: Makefile,v 1.15.2.1 2006/04/05 14:09:36 salo Exp $ +# $NetBSD: Makefile,v 1.15.2.2 2006/04/13 16:08:25 salo Exp $ # DISTNAME= openvpn-2.0.6 +PKGREVISION= 1 CATEGORIES= net MASTER_SITES= http://openvpn.net/release/ \ http://openvpn.net/release/old/ diff --git a/net/openvpn/distinfo b/net/openvpn/distinfo index e89f4ca4e4a..93e36dab09e 100644 --- a/net/openvpn/distinfo +++ b/net/openvpn/distinfo @@ -1,5 +1,10 @@ -$NetBSD: distinfo,v 1.6.4.1 2006/04/05 14:09:36 salo Exp $ +$NetBSD: distinfo,v 1.6.4.2 2006/04/13 16:08:25 salo Exp $ SHA1 (openvpn-2.0.6.tar.gz) = 046f3811831a06e4fbc9c64544faaecf04547ae5 RMD160 (openvpn-2.0.6.tar.gz) = cf3cd807bb657baf317e896b57900958cf442a63 Size (openvpn-2.0.6.tar.gz) = 664816 bytes +SHA1 (patch-ab) = 05c9df0a7a71cb1cfa4a2f132df02cac822ba3ba +SHA1 (patch-ac) = 7a225a0b88dcf0039cd40f72a10564c72f41b2f1 +SHA1 (patch-ad) = ee577ad5c5621bbfa05d522e85e467e937929f6e +SHA1 (patch-ae) = b6f8f869b5c727120df8dd433e54ffe3537e0006 +SHA1 (patch-af) = ae697790e648c4d351c8c99e21ff79a56c572ddf diff --git a/net/openvpn/patches/patch-ab b/net/openvpn/patches/patch-ab new file mode 100644 index 00000000000..387ffe1d411 --- /dev/null +++ b/net/openvpn/patches/patch-ab @@ -0,0 +1,15 @@ +$NetBSD: patch-ab,v 1.3.6.1 2006/04/13 16:08:25 salo Exp $ + +--- syshead.h.orig 2005-12-08 15:57:49.000000000 -0500 ++++ syshead.h +@@ -254,6 +254,10 @@ + + #ifdef TARGET_NETBSD + ++#ifdef HAVE_NET_IF_TAP_H ++#include ++#endif ++ + #ifdef HAVE_NET_IF_TUN_H + #include + #endif diff --git a/net/openvpn/patches/patch-ac b/net/openvpn/patches/patch-ac new file mode 100644 index 00000000000..5ab054d37e2 --- /dev/null +++ b/net/openvpn/patches/patch-ac @@ -0,0 +1,43 @@ +$NetBSD: patch-ac,v 1.2.6.1 2006/04/13 16:08:25 salo Exp $ + +--- tun.c.orig 2006-04-05 02:29:24.000000000 -0400 ++++ tun.c +@@ -877,7 +877,37 @@ open_tun_generic (const char *dev, const + if (dynamic && !has_digit(dev)) + { + int i; +- for (i = 0; i < 256; ++i) ++#if defined(TAPGIFNAME) ++ /* ++ * Perhaps we have a cloning device. Try opening ++ * the device without any appended digits, ++ * and use ioctl(,TAPGIFNAME,) to get the resulting ++ * interface name. ++ */ ++ openvpn_snprintf (tunname, sizeof (tunname), "/dev/%s", dev); ++ if ((tt->fd = open (tunname, O_RDWR)) > 0) ++ { ++ struct ifreq ifr; ++ if (ioctl (tt->fd, TAPGIFNAME, (void*)&ifr) < 0) ++ { ++ msg (D_READ_WRITE | M_ERRNO, ++ "ioctl(,TAPGIFNAME,) failed for %s", tunname); ++ close(tt->fd); ++ } ++ else ++ { ++ strlcpy (dynamic_name, ifr.ifr_name, ++ sizeof (dynamic_name)); ++ dynamic_opened = true; ++ msg (M_INFO, "TUN/TAP dynamic interface %s opened", ++ dynamic_name); ++ } ++ } ++ if (!dynamic_opened) ++ msg (D_READ_WRITE | M_ERRNO, "Tried opening %s (failed)", ++ tunname); ++#endif /* TAPGIFNAME */ ++ for (i = 0; i < 256 && !dynamic_opened; ++i) + { + openvpn_snprintf (tunname, sizeof (tunname), + "/dev/%s%d", dev, i); diff --git a/net/openvpn/patches/patch-ad b/net/openvpn/patches/patch-ad new file mode 100644 index 00000000000..3d335d1b04d --- /dev/null +++ b/net/openvpn/patches/patch-ad @@ -0,0 +1,14 @@ +$NetBSD: patch-ad,v 1.1.2.2 2006/04/13 16:08:25 salo Exp $ + +--- config.h.in.orig 2006-04-05 04:03:07.000000000 -0400 ++++ config.h.in +@@ -201,6 +201,9 @@ + /* Define to 1 if you have the header file. */ + #undef HAVE_NET_IF_H + ++/* Define to 1 if you have the header file. */ ++#undef HAVE_NET_IF_TAP_H ++ + /* Define to 1 if you have the header file. */ + #undef HAVE_NET_IF_TUN_H + diff --git a/net/openvpn/patches/patch-ae b/net/openvpn/patches/patch-ae new file mode 100644 index 00000000000..0c0999c0ae6 --- /dev/null +++ b/net/openvpn/patches/patch-ae @@ -0,0 +1,13 @@ +$NetBSD: patch-ae,v 1.1.2.2 2006/04/13 16:08:25 salo Exp $ + +--- configure.ac.orig 2006-04-05 04:02:59.000000000 -0400 ++++ configure.ac +@@ -266,7 +266,7 @@ AC_CHECK_HEADERS(sys/time.h sys/socket.h + sys/mman.h fcntl.h sys/file.h stdlib.h stdint.h dnl + stdarg.h unistd.h signal.h stdio.h string.h dnl + strings.h ctype.h errno.h syslog.h pwd.h grp.h dnl +- net/if_tun.h net/if.h stropts.h sys/sockio.h dnl ++ net/if_tap.h net/if_tun.h net/if.h stropts.h sys/sockio.h dnl + netinet/in.h netinet/in_systm.h netinet/ip.h dnl + netinet/if_ether.h netinet/tcp.h resolv.h arpa/inet.h dnl + netdb.h sys/uio.h linux/if_tun.h linux/sockios.h dnl diff --git a/net/openvpn/patches/patch-af b/net/openvpn/patches/patch-af new file mode 100644 index 00000000000..61d1b454ced --- /dev/null +++ b/net/openvpn/patches/patch-af @@ -0,0 +1,13 @@ +$NetBSD: patch-af,v 1.1.2.2 2006/04/13 16:08:25 salo Exp $ + +--- configure.orig 2006-04-05 04:03:06.000000000 -0400 ++++ configure +@@ -4881,7 +4881,7 @@ fi + + + +-for ac_header in sys/time.h sys/socket.h sys/ioctl.h sys/stat.h sys/mman.h fcntl.h sys/file.h stdlib.h stdint.h stdarg.h unistd.h signal.h stdio.h string.h strings.h ctype.h errno.h syslog.h pwd.h grp.h net/if_tun.h net/if.h stropts.h sys/sockio.h netinet/in.h netinet/in_systm.h netinet/ip.h netinet/if_ether.h netinet/tcp.h resolv.h arpa/inet.h netdb.h sys/uio.h linux/if_tun.h linux/sockios.h linux/types.h sys/poll.h sys/epoll.h ++for ac_header in sys/time.h sys/socket.h sys/ioctl.h sys/stat.h sys/mman.h fcntl.h sys/file.h stdlib.h stdint.h stdarg.h unistd.h signal.h stdio.h string.h strings.h ctype.h errno.h syslog.h pwd.h grp.h net/if_tap.h net/if_tun.h net/if.h stropts.h sys/sockio.h netinet/in.h netinet/in_systm.h netinet/ip.h netinet/if_ether.h netinet/tcp.h resolv.h arpa/inet.h netdb.h sys/uio.h linux/if_tun.h linux/sockios.h linux/types.h sys/poll.h sys/epoll.h + do + as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` + if eval "test \"\${$as_ac_Header+set}\" = set"; then -- cgit v1.2.3