2 o Use a proper wait condition for synchronization when detaching the network
3 interface. The old code would crash if the if_detached() handler was called
4 from a different thread than unregister_interface().
7 o Work around an issue in the Darwin kernel. When unregistering an interface,
8 addresses are not properly removed from the interface. This leads to
9 crashes and other problems when reusing the interface. Introduce an ugly
10 hack that tries to remove all interface addresses when shutting the
12 o Fix a small mbuf leak that could occur when the output queue was full.
13 Thanks to Olge Dolgov for reporting this.
16 o Fix paths in the startup item postflight scripts
17 o Check if_ioctl arguments more defensively after a report of a panic after
21 o I have done a complete rework of the installer package generation. The
22 package is now edited in PackageMaker. The distribution package can still
23 be built from the commandline though.
24 o Fix incorrect permission & ownership of the installed files.
27 o Fix the permissions of the postflight scripts. Installer packages should work
29 o Drop the kmod and kmodc++ in the linker command, they seem to be unneeded
33 o Initial Leopard port, it's basically the latest Tiger version with some
34 Leopard-related fixes and s/Tiger/Leopard/g
35 o I have switched to a proper version management system (git) and could
36 remove some of the CVS hacks subsequently.
37 o The installation packages have been reworked a bit, they now install into
38 /System/Extensions and /System/StartupItems directly by using
42 o This version is not stable, it may crash, sorry.
43 o Universal binaries that run on ppc and intel macs.
44 o Adds tap MAC address randomization
46 o Better multicast support
47 o mDNSResponder workaround, so that the tap interfaces should get picked up
48 now. Note that we are fixing ifconfig/kernel behaviour here.
49 o All tapX and tunX devices are visible in /dev at all times, network
50 interfaces still created dynamically, though.
51 o Startup items moved to /Library/StartupItems
54 o Initial Tiger port. We now have KPI-style interfaces. I guess the Tiger
55 version is little slower than the Panther version because of all the
56 wrapping and hiding in the kernel.
57 o The kernel extensions moved to /Library/Extensions. That is the place where
58 non-Apple kexts are supposed to live.
61 o I added support in tun for AF prepending like some BSDs do. Thanks to Dennis
62 kSchneider for mailing the initial patch. You can also set the value of
64 o I finally found that major bug causing crashes (especially on multiprocessor
65 machines). It also caused a memory leak (lost mbufs), and might have caused
66 performance/througput/data-loss problems. Everyone is recommended to upgrade.
69 o I rewrote the common part concerning the tun and tap initialization and
70 cleanup. This should make the code more maintainable (less duplication).
71 o The devices now reinitialize to the state they were started in when they
72 are closed by an application. This concerns IP addresses for example.
73 o I changed the package building system to use PackageMaker.app in batch
74 mode. The packages also check for version 10.3 now, so nobody should be
75 able to install tun/tap on 10.2 using installer packages. Furthermore I
76 have sprinkled some warnings telling you not to use tun/tap on SMP machines
77 over the installation process ;-)
78 o Some minor locking fixes.
81 o Jamie Wood reported that the packet queue in the driver could be considered
82 empty even if there were packets in it. This was probably caused by a
83 synchronization problem that should be fixed now. People encountering
84 timeouts etc. should try the new version.
85 o I finally implemented support for changing the interface MTU. The driver
86 enforces the MTU when writing packets to the character device now. However,
87 packets coming from the kernel are not checked.
90 o Marcello Teodori told me that the tun driver wasn't working with openvpn.
91 The problem was the fcntl call, fixed that. Should work now. Thanks
93 o changed the tun driver not to prepend the address family field before each
94 and every packet (which is the behaviour of OpenBSD). As there is currently
95 only IPv4 and IPv6 support there is no problem with the standard tun
96 approach used on other OSes. This should make the driver much more
98 o Did a script and makefile support so that the installer packages can now be
99 built from the command prompt. Unfortunately this might break things
100 someday as I am not using the 'official' way to build the packages
101 o Cleaned up installer packages a little.
104 o initial version put online
105 o basic tun/tap support, tap working with qemu