summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Sommerseth <davids@redhat.com>2011-06-15 12:00:57 +0200
committerDavid Sommerseth <davids@redhat.com>2011-06-15 12:00:57 +0200
commit22c7d4699b4aaaa4d8512dd841564ac1606c0556 (patch)
treea21c213dea72a01d2ffaf61b5e1fbf5ef519e9bc
parenta599b7f62998de9502e23b3ca79e88d12089486b (diff)
downloadopenvpn-22c7d4699b4aaaa4d8512dd841564ac1606c0556.tar.gz
openvpn-22c7d4699b4aaaa4d8512dd841564ac1606c0556.tar.xz
openvpn-22c7d4699b4aaaa4d8512dd841564ac1606c0556.zip
Remove support for Linux 2.2 configuration fallback
When configuring OpenVPN nowadays, the TUN/TAP configuration can sometimes jump into the Linux 2.2 fallback code paths, which will also fails. The reason it jumps into fallback mode is that the tun/tap device already exists or that /dev/net/tun does not exist. This can be very confusing, as /dev/tunX which the fallback mode tries to use, does not exist on Linux 2.4 and newer. Considering that the last Linux 2.2 update was released 25-Feb-2004 and the first Linux 2.4 release came 04-Jan-2001, there are no reasonable reasons to help users to stay on outdated kernels. I consider this extra code path just waste of bytes ... so lets make the world simpler. Signed-off-by: David Sommerseth <davids@redhat.com> Acked-by: Gert Doering <gert@greenie.muc.de> (cherry picked from commit ce637abdafdc19547fc97192033a4d1703ecaf23)
-rw-r--r--openvpn.810
-rw-r--r--tun.c13
2 files changed, 3 insertions, 20 deletions
diff --git a/openvpn.8 b/openvpn.8
index 428233f..67a9779 100644
--- a/openvpn.8
+++ b/openvpn.8
@@ -5603,11 +5603,6 @@ Make device:
Load driver:
.B modprobe tun
-
-If you have Linux 2.2 or earlier, you should obtain version 1.1 of the
-TUN/TAP driver from
-.I http://vtun.sourceforge.net/tun/
-and follow the installation instructions.
.\"*********************************************************
.SH EXAMPLES
Prior to running these examples, you should have OpenVPN installed on two
@@ -5628,10 +5623,7 @@ If you installed from RPM, the
.B mknod
step may be omitted, because the RPM install does that for you.
-If you have Linux 2.2, you should obtain version 1.1 of the
-TUN/TAP driver from
-.I http://vtun.sourceforge.net/tun/
-and follow the installation instructions.
+Only Linux 2.4 and newer are supported.
For other platforms, consult the INSTALL file at
.I http://openvpn.net/install.html
diff --git a/tun.c b/tun.c
index 59e87dc..28aa368 100644
--- a/tun.c
+++ b/tun.c
@@ -1127,7 +1127,7 @@ open_tun (const char *dev, const char *dev_type, const char *dev_node, bool ipv6
if ((tt->fd = open (node, O_RDWR)) < 0)
{
msg (M_WARN | M_ERRNO, "Note: Cannot open TUN/TAP dev %s", node);
- goto linux_2_2_fallback;
+ return;
}
/*
@@ -1171,7 +1171,7 @@ open_tun (const char *dev, const char *dev_type, const char *dev_node, bool ipv6
if (ioctl (tt->fd, TUNSETIFF, (void *) &ifr) < 0)
{
msg (M_WARN | M_ERRNO, "Note: Cannot ioctl TUNSETIFF %s", dev);
- goto linux_2_2_fallback;
+ return;
}
msg (M_INFO, "TUN/TAP device %s opened", ifr.ifr_name);
@@ -1207,15 +1207,6 @@ open_tun (const char *dev, const char *dev_type, const char *dev_node, bool ipv6
tt->actual_name = string_alloc (ifr.ifr_name, NULL);
}
return;
-
- linux_2_2_fallback:
- msg (M_INFO, "Note: Attempting fallback to kernel 2.2 TUN/TAP interface");
- if (tt->fd >= 0)
- {
- close (tt->fd);
- tt->fd = -1;
- }
- open_tun_generic (dev, dev_type, dev_node, ipv6, false, true, tt);
}
#else