summaryrefslogtreecommitdiff
path: root/Changelog
diff options
context:
space:
mode:
Diffstat (limited to 'Changelog')
-rw-r--r--Changelog158
1 files changed, 158 insertions, 0 deletions
diff --git a/Changelog b/Changelog
new file mode 100644
index 0000000..264bcc0
--- /dev/null
+++ b/Changelog
@@ -0,0 +1,158 @@
+
+January 18, 2015:
+ o Update documentation to reflect removal of startup items.
+
+November 4, 2014:
+ o Generate a LINK_ON event on MAC address changes. This works around a problem
+ with the DHCP client implementation using a stale MAC address after updating
+ the network interface's address.
+ o Update compilation to only produce 64 bit binaries, which is appropriate for
+ Mavericks and onwards.
+ o Modernize package generation to use pkgbuild and productbuild.
+ o Replace the startup items with launchd jobs.
+ o Code signatures for the kernel extensions as well as the installer, the
+ signed extensions now work on Mavericks and Yosemite.
+ o Add extra synchronization in tap.kext to avoid a kernel crash triggered by
+ quickly re-attaching an interface.
+ o Fix MTU enforcement calculation when writing to the character device.
+
+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
+