mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2025-02-21 10:01:46 +00:00
Remove some more junk from tap driver tree.
This commit is contained in:
parent
03ea06fa84
commit
117e6fb356
@ -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
|
|
||||||
|
|
@ -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
|
Xcode tools than what now ships for Mavericks (10.9). The newer version
|
||||||
does not support creating i386 kernel images.
|
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
|
https://developer.apple.com/downloads
|
||||||
|
|
||||||
|
@ -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>
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
Description = "ethertap device kernel extension";
|
|
||||||
Provides = ("ethertap");
|
|
||||||
Requires = ("Network Configuration");
|
|
||||||
OrderPreference = "None";
|
|
||||||
}
|
|
@ -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"
|
|
@ -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>
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
Description = "ip tunnel device kernel extension";
|
|
||||||
Provides = ("tun");
|
|
||||||
Requires = ("Network Configuration");
|
|
||||||
OrderPreference = "None";
|
|
||||||
}
|
|
@ -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"
|
|
Loading…
x
Reference in New Issue
Block a user