diff options
Diffstat (limited to 'ext/tap-mac')
-rw-r--r-- | ext/tap-mac/tuntap/Changelog | 141 | ||||
-rw-r--r-- | ext/tap-mac/tuntap/README.orig (renamed from ext/tap-mac/tuntap/README) | 0 | ||||
-rw-r--r-- | ext/tap-mac/tuntap/README.zerotier-build | 7 | ||||
-rw-r--r-- | ext/tap-mac/tuntap/startup_item/tap/Resources/English.lproj/Localizable.strings | 11 | ||||
-rw-r--r-- | ext/tap-mac/tuntap/startup_item/tap/StartupParameters.plist | 6 | ||||
-rwxr-xr-x | ext/tap-mac/tuntap/startup_item/tap/tap | 33 | ||||
-rw-r--r-- | ext/tap-mac/tuntap/startup_item/tun/Resources/English.lproj/Localizable.strings | 11 | ||||
-rw-r--r-- | ext/tap-mac/tuntap/startup_item/tun/StartupParameters.plist | 6 | ||||
-rwxr-xr-x | ext/tap-mac/tuntap/startup_item/tun/tun | 33 |
9 files changed, 6 insertions, 242 deletions
diff --git a/ext/tap-mac/tuntap/Changelog b/ext/tap-mac/tuntap/Changelog deleted file mode 100644 index 4599a132..00000000 --- a/ext/tap-mac/tuntap/Changelog +++ /dev/null @@ -1,141 +0,0 @@ - -November 1, 2011: - o Make the netmask address family fix work without knowledge of the struct - ifaddr definition. This fixes a crash on Lion, where the layout of the - structure has been changed, but at the cost of the fix no longer working for - IPv6. I think this is OK though, since mDNSResponder has been fixed on - Leopard and beyond to no longer require the hack. - o Proper multicast address checking for tun; multicast should now work reliably - with IP and IPv6 on tun also. - o A quite comprehensive test suite has been added that allows for quick release - testing. - o PPC support has been dropped due to XCode 4 no longer supporting PPC arch. - -September 13, 2009: - o Change linker options to produce 64 bit kext bundle for Snow Leopard. - o Switch from kmem_alloc and friends to OSAlloc for memory allocation and - avoid the delay() call. Respective symbols are not available on 64 bit - kernels anymore. - -September 5, 2009: - o Initial Snow Leopard port. Thanks to various people contributing patches in - the bugtracker. The new official version can only be compiled on Snow - Leopard but has been tested to work on all Tiger, Leopard and Snow Leopard - o Clean up unused locking code and switch to rwlocks even for simple mutexes, - which avoids a symbol incompatibility for Tiger and Leopard. - o Clean up compilation flags in the Makefiles. - -July 4, 2008: - o Adapt the former Leopard package to also be installable on Tiger systems. - This obsoletes the Tiger version, both Leopard and Tiger are now supported - by a single package. - -June 7, 2008: - o Protect the selwakeup() call by the lock. This fixes incorrect select() - behaviour, thanks to Roland Wendelin for reporting this. - o Fix tuntap_mbuf_queue::size initialization - o Use a proper wait condition for synchronization when detaching the network - interface. The old code would crash if the if_detached() handler was called - from a different thread than unregister_interface(). - -January 21, 2008: - o Work around an issue in the Darwin kernel. When unregistering an interface, - addresses are not properly removed from the interface. This leads to - crashes and other problems when reusing the interface. Introduce an ugly - hack that tries to remove all interface addresses when shutting the - interface down. - o Fix a small mbuf leak that could occur when the output queue was full. - Thanks to Oleg Dolgov for reporting this. - -December 21, 2007: - o Fix paths in the startup item postflight scripts - o Check if_ioctl arguments more defensively after a report of a panic after - receiving a NULL arg. - -November 14, 2007: - o I have done a complete rework of the installer package generation. The - package is now edited in PackageMaker. The distribution package can still - be built from the commandline though. - o Fix incorrect permission & ownership of the installed files. - -Oktober 11, 2007: - o Fix the permissions of the postflight scripts. Installer packages should work - again. - o Drop the kmod and kmodc++ in the linker command, they seem to be unneeded - with Leopard. - -September 20, 2007: - o Initial Leopard port, it's basically the latest Tiger version with some - Leopard-related fixes and s/Tiger/Leopard/g - o I have switched to a proper version management system (git) and could - remove some of the CVS hacks subsequently. - o The installation packages have been reworked a bit, they now install into - /System/Extensions and /System/StartupItems directly by using - DestinationPaths. - -May 13, 2006: - o This version is not stable, it may crash, sorry. - o Universal binaries that run on ppc and intel macs. - o Adds tap MAC address randomization - o Redesigned locking. - o Better multicast support - o mDNSResponder workaround, so that the tap interfaces should get picked up - now. Note that we are fixing ifconfig/kernel behaviour here. - o All tapX and tunX devices are visible in /dev at all times, network - interfaces still created dynamically, though. - o Startup items moved to /Library/StartupItems - -May 17, 2005: - o Initial Tiger port. We now have KPI-style interfaces. I guess the Tiger - version is little slower than the Panther version because of all the - wrapping and hiding in the kernel. - o The kernel extensions moved to /Library/Extensions. That is the place where - non-Apple kexts are supposed to live. - -April 21, 2005: - o I added support in tun for AF prepending like some BSDs do. Thanks to Dennis - kSchneider for mailing the initial patch. You can also set the value of - AF_INET6 to be used. - o I finally found that major bug causing crashes (especially on multiprocessor - machines). It also caused a memory leak (lost mbufs), and might have caused - performance/througput/data-loss problems. Everyone is recommended to upgrade. - -April 6, 2005: - o I rewrote the common part concerning the tun and tap initialization and - cleanup. This should make the code more maintainable (less duplication). - o The devices now reinitialize to the state they were started in when they - are closed by an application. This concerns IP addresses for example. - o I changed the package building system to use PackageMaker.app in batch - mode. The packages also check for version 10.3 now, so nobody should be - able to install tun/tap on 10.2 using installer packages. Furthermore I - have sprinkled some warnings telling you not to use tun/tap on SMP machines - over the installation process ;-) - o Some minor locking fixes. - -November 19, 2004: - o Jamie Wood reported that the packet queue in the driver could be considered - empty even if there were packets in it. This was probably caused by a - synchronization problem that should be fixed now. People encountering - timeouts etc. should try the new version. - o I finally implemented support for changing the interface MTU. The driver - enforces the MTU when writing packets to the character device now. However, - packets coming from the kernel are not checked. - -September 9, 2004: - o Marcello Teodori told me that the tun driver wasn't working with openvpn. - The problem was the fcntl call, fixed that. Should work now. Thanks - Marcello! - o changed the tun driver not to prepend the address family field before each - and every packet (which is the behaviour of OpenBSD). As there is currently - only IPv4 and IPv6 support there is no problem with the standard tun - approach used on other OSes. This should make the driver much more - compatible. - o Did a script and makefile support so that the installer packages can now be - built from the command prompt. Unfortunately this might break things - someday as I am not using the 'official' way to build the packages - o Cleaned up installer packages a little. - -August 24, 2004: - o initial version put online - o basic tun/tap support, tap working with qemu - diff --git a/ext/tap-mac/tuntap/README b/ext/tap-mac/tuntap/README.orig index 6a9e526b..6a9e526b 100644 --- a/ext/tap-mac/tuntap/README +++ b/ext/tap-mac/tuntap/README.orig diff --git a/ext/tap-mac/tuntap/README.zerotier-build b/ext/tap-mac/tuntap/README.zerotier-build index 20d6d461..550e0378 100644 --- a/ext/tap-mac/tuntap/README.zerotier-build +++ b/ext/tap-mac/tuntap/README.zerotier-build @@ -2,7 +2,12 @@ Building the tap for both x86_64 and i386 requires an older version of the Xcode tools than what now ships for Mavericks (10.9). The newer version does not support creating i386 kernel images. -These can be obtained from: +At the moment this is done on an OSX 10.6 virtual image that is used for +building. (It doesn't have to be done often.) Then the kext is signed on +the regular build system. That's because images built on newer OSX don't +seem to load on 10.6 but 10.6 built kexts seem fine on 10.9. Go figure. + +Older Xcode can also be found at: https://developer.apple.com/downloads diff --git a/ext/tap-mac/tuntap/startup_item/tap/Resources/English.lproj/Localizable.strings b/ext/tap-mac/tuntap/startup_item/tap/Resources/English.lproj/Localizable.strings deleted file mode 100644 index 4d3b29ca..00000000 --- a/ext/tap-mac/tuntap/startup_item/tap/Resources/English.lproj/Localizable.strings +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd"> -<plist version="0.9"> -<dict> - <key>ethertap device kernel extension</key> - <string>ethertap kernel extension</string> - <key>Initializing tap devices</key> - <string>Initializing tap devices</string> -</dict> -</plist> - diff --git a/ext/tap-mac/tuntap/startup_item/tap/StartupParameters.plist b/ext/tap-mac/tuntap/startup_item/tap/StartupParameters.plist deleted file mode 100644 index fe9cf001..00000000 --- a/ext/tap-mac/tuntap/startup_item/tap/StartupParameters.plist +++ /dev/null @@ -1,6 +0,0 @@ -{ - Description = "ethertap device kernel extension"; - Provides = ("ethertap"); - Requires = ("Network Configuration"); - OrderPreference = "None"; -} diff --git a/ext/tap-mac/tuntap/startup_item/tap/tap b/ext/tap-mac/tuntap/startup_item/tap/tap deleted file mode 100755 index d7600991..00000000 --- a/ext/tap-mac/tuntap/startup_item/tap/tap +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -## -# load the tap kext -## - -. /etc/rc.common - -StartService () -{ - ConsoleMessage "Initializing tap devices" - - if [ -d /Library/Extensions/tap.kext ]; then - kextload /Library/Extensions/tap.kext - fi -} - -StopService () -{ - if [ -d /Library/Extensions/tap.kext ]; then - kextunload /Library/Extensions/tap.kext - fi -} - -RestartService () -{ - if [ -d /Library/Extensions/tap.kext ]; then - kextunload /Library/Extensions/tap.kext - kextload /Library/Extensions/tap.kext - fi -} - -RunService "$1" diff --git a/ext/tap-mac/tuntap/startup_item/tun/Resources/English.lproj/Localizable.strings b/ext/tap-mac/tuntap/startup_item/tun/Resources/English.lproj/Localizable.strings deleted file mode 100644 index 054790e7..00000000 --- a/ext/tap-mac/tuntap/startup_item/tun/Resources/English.lproj/Localizable.strings +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd"> -<plist version="0.9"> -<dict> - <key>ip tunnel device kernel extension</key> - <string>ip tunnel kernel extension</string> - <key>Initializing tun devices</key> - <string>Initializing tun devices</string> -</dict> -</plist> - diff --git a/ext/tap-mac/tuntap/startup_item/tun/StartupParameters.plist b/ext/tap-mac/tuntap/startup_item/tun/StartupParameters.plist deleted file mode 100644 index 71a92626..00000000 --- a/ext/tap-mac/tuntap/startup_item/tun/StartupParameters.plist +++ /dev/null @@ -1,6 +0,0 @@ -{ - Description = "ip tunnel device kernel extension"; - Provides = ("tun"); - Requires = ("Network Configuration"); - OrderPreference = "None"; -} diff --git a/ext/tap-mac/tuntap/startup_item/tun/tun b/ext/tap-mac/tuntap/startup_item/tun/tun deleted file mode 100755 index 40b1b411..00000000 --- a/ext/tap-mac/tuntap/startup_item/tun/tun +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -## -# load the tun kext -## - -. /etc/rc.common - -StartService () -{ - ConsoleMessage "Initializing tun devices" - - if [ -d /Library/Extensions/tun.kext ]; then - kextload /Library/Extensions/tun.kext - fi -} - -StopService () -{ - if [ -d /Library/Extensions/tun.kext ]; then - kextunload /Library/Extensions/tun.kext - fi -} - -RestartService () -{ - if [ -d /Library/Extensions/tun.kext ]; then - kextunload /Library/Extensions/tun.kext - kextload /Library/Extensions/tun.kext - fi -} - -RunService "$1" |