Changelog 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. November 1, 2011:
  2. o Make the netmask address family fix work without knowledge of the struct
  3. ifaddr definition. This fixes a crash on Lion, where the layout of the
  4. structure has been changed, but at the cost of the fix no longer working for
  5. IPv6. I think this is OK though, since mDNSResponder has been fixed on
  6. Leopard and beyond to no longer require the hack.
  7. o Proper multicast address checking for tun; multicast should now work reliably
  8. with IP and IPv6 on tun also.
  9. o A quite comprehensive test suite has been added that allows for quick release
  10. testing.
  11. o PPC support has been dropped due to XCode 4 no longer supporting PPC arch.
  12. September 13, 2009:
  13. o Change linker options to produce 64 bit kext bundle for Snow Leopard.
  14. o Switch from kmem_alloc and friends to OSAlloc for memory allocation and
  15. avoid the delay() call. Respective symbols are not available on 64 bit
  16. kernels anymore.
  17. September 5, 2009:
  18. o Initial Snow Leopard port. Thanks to various people contributing patches in
  19. the bugtracker. The new official version can only be compiled on Snow
  20. Leopard but has been tested to work on all Tiger, Leopard and Snow Leopard
  21. o Clean up unused locking code and switch to rwlocks even for simple mutexes,
  22. which avoids a symbol incompatibility for Tiger and Leopard.
  23. o Clean up compilation flags in the Makefiles.
  24. July 4, 2008:
  25. o Adapt the former Leopard package to also be installable on Tiger systems.
  26. This obsoletes the Tiger version, both Leopard and Tiger are now supported
  27. by a single package.
  28. June 7, 2008:
  29. o Protect the selwakeup() call by the lock. This fixes incorrect select()
  30. behaviour, thanks to Roland Wendelin for reporting this.
  31. o Fix tuntap_mbuf_queue::size initialization
  32. o Use a proper wait condition for synchronization when detaching the network
  33. interface. The old code would crash if the if_detached() handler was called
  34. from a different thread than unregister_interface().
  35. January 21, 2008:
  36. o Work around an issue in the Darwin kernel. When unregistering an interface,
  37. addresses are not properly removed from the interface. This leads to
  38. crashes and other problems when reusing the interface. Introduce an ugly
  39. hack that tries to remove all interface addresses when shutting the
  40. interface down.
  41. o Fix a small mbuf leak that could occur when the output queue was full.
  42. Thanks to Oleg Dolgov for reporting this.
  43. December 21, 2007:
  44. o Fix paths in the startup item postflight scripts
  45. o Check if_ioctl arguments more defensively after a report of a panic after
  46. receiving a NULL arg.
  47. November 14, 2007:
  48. o I have done a complete rework of the installer package generation. The
  49. package is now edited in PackageMaker. The distribution package can still
  50. be built from the commandline though.
  51. o Fix incorrect permission & ownership of the installed files.
  52. Oktober 11, 2007:
  53. o Fix the permissions of the postflight scripts. Installer packages should work
  54. again.
  55. o Drop the kmod and kmodc++ in the linker command, they seem to be unneeded
  56. with Leopard.
  57. September 20, 2007:
  58. o Initial Leopard port, it's basically the latest Tiger version with some
  59. Leopard-related fixes and s/Tiger/Leopard/g
  60. o I have switched to a proper version management system (git) and could
  61. remove some of the CVS hacks subsequently.
  62. o The installation packages have been reworked a bit, they now install into
  63. /System/Extensions and /System/StartupItems directly by using
  64. DestinationPaths.
  65. May 13, 2006:
  66. o This version is not stable, it may crash, sorry.
  67. o Universal binaries that run on ppc and intel macs.
  68. o Adds tap MAC address randomization
  69. o Redesigned locking.
  70. o Better multicast support
  71. o mDNSResponder workaround, so that the tap interfaces should get picked up
  72. now. Note that we are fixing ifconfig/kernel behaviour here.
  73. o All tapX and tunX devices are visible in /dev at all times, network
  74. interfaces still created dynamically, though.
  75. o Startup items moved to /Library/StartupItems
  76. May 17, 2005:
  77. o Initial Tiger port. We now have KPI-style interfaces. I guess the Tiger
  78. version is little slower than the Panther version because of all the
  79. wrapping and hiding in the kernel.
  80. o The kernel extensions moved to /Library/Extensions. That is the place where
  81. non-Apple kexts are supposed to live.
  82. April 21, 2005:
  83. o I added support in tun for AF prepending like some BSDs do. Thanks to Dennis
  84. kSchneider for mailing the initial patch. You can also set the value of
  85. AF_INET6 to be used.
  86. o I finally found that major bug causing crashes (especially on multiprocessor
  87. machines). It also caused a memory leak (lost mbufs), and might have caused
  88. performance/througput/data-loss problems. Everyone is recommended to upgrade.
  89. April 6, 2005:
  90. o I rewrote the common part concerning the tun and tap initialization and
  91. cleanup. This should make the code more maintainable (less duplication).
  92. o The devices now reinitialize to the state they were started in when they
  93. are closed by an application. This concerns IP addresses for example.
  94. o I changed the package building system to use PackageMaker.app in batch
  95. mode. The packages also check for version 10.3 now, so nobody should be
  96. able to install tun/tap on 10.2 using installer packages. Furthermore I
  97. have sprinkled some warnings telling you not to use tun/tap on SMP machines
  98. over the installation process ;-)
  99. o Some minor locking fixes.
  100. November 19, 2004:
  101. o Jamie Wood reported that the packet queue in the driver could be considered
  102. empty even if there were packets in it. This was probably caused by a
  103. synchronization problem that should be fixed now. People encountering
  104. timeouts etc. should try the new version.
  105. o I finally implemented support for changing the interface MTU. The driver
  106. enforces the MTU when writing packets to the character device now. However,
  107. packets coming from the kernel are not checked.
  108. September 9, 2004:
  109. o Marcello Teodori told me that the tun driver wasn't working with openvpn.
  110. The problem was the fcntl call, fixed that. Should work now. Thanks
  111. Marcello!
  112. o changed the tun driver not to prepend the address family field before each
  113. and every packet (which is the behaviour of OpenBSD). As there is currently
  114. only IPv4 and IPv6 support there is no problem with the standard tun
  115. approach used on other OSes. This should make the driver much more
  116. compatible.
  117. o Did a script and makefile support so that the installer packages can now be
  118. built from the command prompt. Unfortunately this might break things
  119. someday as I am not using the 'official' way to build the packages
  120. o Cleaned up installer packages a little.
  121. August 24, 2004:
  122. o initial version put online
  123. o basic tun/tap support, tap working with qemu