Browse Source

Make tap build on OSX 10.9, though not in a way that is easy for users. Instead package binaries.

pull/1/head
Adam Ierymenko 13 years ago
parent
commit
148619f0ba
  1. 16
      Makefile.mac
  2. 36
      ext/bin/tap-mac/tap.kext/Contents/Info.plist
  3. BIN
      ext/bin/tap-mac/tap.kext/Contents/MacOS/tap
  4. 0
      tap-mac/README.txt
  5. 0
      tap-mac/tuntap/Changelog
  6. 0
      tap-mac/tuntap/INSTALL
  7. 0
      tap-mac/tuntap/Makefile
  8. 0
      tap-mac/tuntap/README
  9. 0
      tap-mac/tuntap/README.installer
  10. 18
      tap-mac/tuntap/README.zerotier-build
  11. 0
      tap-mac/tuntap/pkg/res/License.rtfd/TXT.rtf
  12. 0
      tap-mac/tuntap/pkg/res/Welcome.rtfd/TXT.rtf
  13. 0
      tap-mac/tuntap/pkg/res/Welcome.rtfd/paypal_button.gif
  14. 0
      tap-mac/tuntap/pkg/scripts/startup_item_tap/postflight
  15. 0
      tap-mac/tuntap/pkg/scripts/startup_item_tun/postflight
  16. 0
      tap-mac/tuntap/pkg/scripts/tap/postflight
  17. 0
      tap-mac/tuntap/pkg/scripts/tun/postflight
  18. 0
      tap-mac/tuntap/pkg/tuntap.pmdoc/01tun-contents.xml
  19. 0
      tap-mac/tuntap/pkg/tuntap.pmdoc/01tun.xml
  20. 0
      tap-mac/tuntap/pkg/tuntap.pmdoc/02tap-contents.xml
  21. 0
      tap-mac/tuntap/pkg/tuntap.pmdoc/02tap.xml
  22. 0
      tap-mac/tuntap/pkg/tuntap.pmdoc/03tap-contents.xml
  23. 0
      tap-mac/tuntap/pkg/tuntap.pmdoc/03tap.xml
  24. 0
      tap-mac/tuntap/pkg/tuntap.pmdoc/04tun-contents.xml
  25. 0
      tap-mac/tuntap/pkg/tuntap.pmdoc/04tun.xml
  26. 0
      tap-mac/tuntap/pkg/tuntap.pmdoc/index.xml
  27. 0
      tap-mac/tuntap/src/lock.cc
  28. 0
      tap-mac/tuntap/src/lock.h
  29. 0
      tap-mac/tuntap/src/mem.cc
  30. 0
      tap-mac/tuntap/src/mem.h
  31. 0
      tap-mac/tuntap/src/tap/Info.plist
  32. 6
      tap-mac/tuntap/src/tap/Makefile
  33. 0
      tap-mac/tuntap/src/tap/kmod.cc
  34. 0
      tap-mac/tuntap/src/tap/tap.cc
  35. 3
      tap-mac/tuntap/src/tap/tap.h
  36. 0
      tap-mac/tuntap/src/tun/Info.plist
  37. 0
      tap-mac/tuntap/src/tun/Makefile
  38. 0
      tap-mac/tuntap/src/tun/kmod.cc
  39. 0
      tap-mac/tuntap/src/tun/tun.cc
  40. 0
      tap-mac/tuntap/src/tun/tun.h
  41. 0
      tap-mac/tuntap/src/tun/tun_inet6_proto.c
  42. 0
      tap-mac/tuntap/src/tun/tun_inet_proto.c
  43. 0
      tap-mac/tuntap/src/tun/tun_ioctls.h
  44. 0
      tap-mac/tuntap/src/tuntap.cc
  45. 0
      tap-mac/tuntap/src/tuntap.h
  46. 0
      tap-mac/tuntap/src/tuntap_mgr.cc
  47. 0
      tap-mac/tuntap/src/util.h
  48. 0
      tap-mac/tuntap/startup_item/tap/Resources/English.lproj/Localizable.strings
  49. 0
      tap-mac/tuntap/startup_item/tap/StartupParameters.plist
  50. 0
      tap-mac/tuntap/startup_item/tap/tap
  51. 0
      tap-mac/tuntap/startup_item/tun/Resources/English.lproj/Localizable.strings
  52. 0
      tap-mac/tuntap/startup_item/tun/StartupParameters.plist
  53. 0
      tap-mac/tuntap/startup_item/tun/tun
  54. 0
      tap-mac/tuntap/test/tuntap/__init__.py
  55. 0
      tap-mac/tuntap/test/tuntap/char_dev_harness.py
  56. 0
      tap-mac/tuntap/test/tuntap/interface_harness.py
  57. 0
      tap-mac/tuntap/test/tuntap/ioctl.py
  58. 0
      tap-mac/tuntap/test/tuntap/packet.py
  59. 0
      tap-mac/tuntap/test/tuntap/packet_codec.py
  60. 0
      tap-mac/tuntap/test/tuntap/packet_reader.py
  61. 0
      tap-mac/tuntap/test/tuntap/route.py
  62. 0
      tap-mac/tuntap/test/tuntap/sockaddr.py
  63. 0
      tap-mac/tuntap/test/tuntap/test_char_dev.py
  64. 0
      tap-mac/tuntap/test/tuntap/test_interface.py
  65. 0
      tap-mac/tuntap/test/tuntap/test_ip.py
  66. 0
      tap-mac/tuntap/test/tuntap/tun_tap_harness.py
  67. 0
      tap-mac/tuntap/test/tuntap/tun_tap_test_case.py
  68. 0
      tap-mac/tuntap/test/tuntap/tuntap_tests.py

16
Makefile.mac

@ -35,18 +35,18 @@ idtool: $(OBJS)
$(CXX) $(CXXFLAGS) -o zerotier-idtool idtool.cpp $(OBJS) $(LIBS)
$(STRIP) zerotier-idtool
mac-tap: FORCE
cd mac-tap/tuntap ; make tap.kext
#mac-tap: FORCE
# cd mac-tap/tuntap ; make tap.kext
install-mac-tap: FORCE
mkdir -p /Library/Application\ Support/ZeroTier/One
rm -rf /Library/Application\ Support/ZeroTier/One/tap.kext
cp -R mac-tap/tuntap/tap.kext /Library/Application\ Support/ZeroTier/One
chown -R root:wheel /Library/Application\ Support/ZeroTier/One/tap.kext
#install-mac-tap: FORCE
# mkdir -p /Library/Application\ Support/ZeroTier/One
# rm -rf /Library/Application\ Support/ZeroTier/One/tap.kext
# cp -R mac-tap/tuntap/tap.kext /Library/Application\ Support/ZeroTier/One
# chown -R root:wheel /Library/Application\ Support/ZeroTier/One/tap.kext
clean:
rm -rf *.dSYM
rm -f $(OBJS) zerotier-*
cd mac-tap/tuntap ; make clean
cd tap-mac/tuntap ; make clean
FORCE:

36
ext/bin/tap-mac/tap.kext/Contents/Info.plist

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>tap</string>
<key>CFBundleIdentifier</key>
<string>com.zerotier.tap</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>tap</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>20111101</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.kpi.mach</key>
<string>8.0</string>
<key>com.apple.kpi.bsd</key>
<string>8.0</string>
<key>com.apple.kpi.libkern</key>
<string>8.0</string>
<key>com.apple.kpi.unsupported</key>
<string>8.0</string>
</dict>
</dict>
</plist>

BIN
ext/bin/tap-mac/tap.kext/Contents/MacOS/tap

Binary file not shown.

0
mac-tap/README.txt → tap-mac/README.txt

0
mac-tap/tuntap/Changelog → tap-mac/tuntap/Changelog

0
mac-tap/tuntap/INSTALL → tap-mac/tuntap/INSTALL

0
mac-tap/tuntap/Makefile → tap-mac/tuntap/Makefile

0
mac-tap/tuntap/README → tap-mac/tuntap/README

0
mac-tap/tuntap/README.installer → tap-mac/tuntap/README.installer

18
tap-mac/tuntap/README.zerotier-build

@ -0,0 +1,18 @@
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:
https://developer.apple.com/downloads
It requires a bit of a dance to unpack the package and obtain an unpacked
tree, but once it's there you can change the line in tap/Makefile and
build for both architectures.
This will go on until i386 is thoroughly legacy, at which point we'll
probably start just supporting x86_64. But that might be a while. We want
to support old Macs through their entire useful life.
Since this build is irritating, a pre-built copy is packaged in ext/ and
is installed by 'make install'. So users shouldn't have to build this.

0
mac-tap/tuntap/pkg/res/License.rtfd/TXT.rtf → tap-mac/tuntap/pkg/res/License.rtfd/TXT.rtf

0
mac-tap/tuntap/pkg/res/Welcome.rtfd/TXT.rtf → tap-mac/tuntap/pkg/res/Welcome.rtfd/TXT.rtf

0
mac-tap/tuntap/pkg/res/Welcome.rtfd/paypal_button.gif → tap-mac/tuntap/pkg/res/Welcome.rtfd/paypal_button.gif

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

0
mac-tap/tuntap/pkg/scripts/startup_item_tap/postflight → tap-mac/tuntap/pkg/scripts/startup_item_tap/postflight

0
mac-tap/tuntap/pkg/scripts/startup_item_tun/postflight → tap-mac/tuntap/pkg/scripts/startup_item_tun/postflight

0
mac-tap/tuntap/pkg/scripts/tap/postflight → tap-mac/tuntap/pkg/scripts/tap/postflight

0
mac-tap/tuntap/pkg/scripts/tun/postflight → tap-mac/tuntap/pkg/scripts/tun/postflight

0
mac-tap/tuntap/pkg/tuntap.pmdoc/01tun-contents.xml → tap-mac/tuntap/pkg/tuntap.pmdoc/01tun-contents.xml

0
mac-tap/tuntap/pkg/tuntap.pmdoc/01tun.xml → tap-mac/tuntap/pkg/tuntap.pmdoc/01tun.xml

0
mac-tap/tuntap/pkg/tuntap.pmdoc/02tap-contents.xml → tap-mac/tuntap/pkg/tuntap.pmdoc/02tap-contents.xml

0
mac-tap/tuntap/pkg/tuntap.pmdoc/02tap.xml → tap-mac/tuntap/pkg/tuntap.pmdoc/02tap.xml

0
mac-tap/tuntap/pkg/tuntap.pmdoc/03tap-contents.xml → tap-mac/tuntap/pkg/tuntap.pmdoc/03tap-contents.xml

0
mac-tap/tuntap/pkg/tuntap.pmdoc/03tap.xml → tap-mac/tuntap/pkg/tuntap.pmdoc/03tap.xml

0
mac-tap/tuntap/pkg/tuntap.pmdoc/04tun-contents.xml → tap-mac/tuntap/pkg/tuntap.pmdoc/04tun-contents.xml

0
mac-tap/tuntap/pkg/tuntap.pmdoc/04tun.xml → tap-mac/tuntap/pkg/tuntap.pmdoc/04tun.xml

0
mac-tap/tuntap/pkg/tuntap.pmdoc/index.xml → tap-mac/tuntap/pkg/tuntap.pmdoc/index.xml

0
mac-tap/tuntap/src/lock.cc → tap-mac/tuntap/src/lock.cc

0
mac-tap/tuntap/src/lock.h → tap-mac/tuntap/src/lock.h

0
mac-tap/tuntap/src/mem.cc → tap-mac/tuntap/src/mem.cc

0
mac-tap/tuntap/src/mem.h → tap-mac/tuntap/src/mem.h

0
mac-tap/tuntap/src/tap/Info.plist → tap-mac/tuntap/src/tap/Info.plist

6
mac-tap/tuntap/src/tap/Makefile → tap-mac/tuntap/src/tap/Makefile

@ -19,7 +19,7 @@ BUNDLE_SIGNATURE = ????
BUNDLE_PACKAGETYPE = KEXT
BUNDLE_VERSION = $(TAP_KEXT_VERSION)
INCLUDE = -I.. -I/System/Library/Frameworks/Kernel.framework/Headers
INCLUDE = -I.. -I/System/Library/Frameworks/Kernel.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/System/Library/Frameworks/Kernel.framework/Headers
CFLAGS = -Wall -mkernel -force_cpusubtype_ALL \
-fno-builtin -fno-stack-protector -arch i386 -arch x86_64 \
-DKERNEL -D__APPLE__ -DKERNEL_PRIVATE -DTUNTAP_VERSION=\"$(TUNTAP_VERSION)\" \
@ -27,7 +27,9 @@ CFLAGS = -Wall -mkernel -force_cpusubtype_ALL \
CCFLAGS = $(CFLAGS)
LDFLAGS = -Wall -mkernel -nostdlib -r -lcc_kext -arch i386 -arch x86_64 -Xlinker -kext
CCP = $(shell if [ -f /usr/bin/llvm-g++ ]; then echo llvm-g++; else echo g++; fi)
#CCP = g++
CCP = $(HOME)/Code/llvm-g++-Xcode4.6.2/bin/llvm-g++
CC = gcc
all: $(KMOD_BIN) bundle

0
mac-tap/tuntap/src/tap/kmod.cc → tap-mac/tuntap/src/tap/kmod.cc

0
mac-tap/tuntap/src/tap/tap.cc → tap-mac/tuntap/src/tap/tap.cc

3
mac-tap/tuntap/src/tap/tap.h → tap-mac/tuntap/src/tap/tap.h

@ -34,8 +34,7 @@
#define TAP_IF_COUNT 16 /* max number of tap interfaces */
// ZeroTier default MTU, see Constants.hpp
#define TAP_MTU 2800
#define TAP_MTU 4000
#define TAP_LLADDR tap_lladdr

0
mac-tap/tuntap/src/tun/Info.plist → tap-mac/tuntap/src/tun/Info.plist

0
mac-tap/tuntap/src/tun/Makefile → tap-mac/tuntap/src/tun/Makefile

0
mac-tap/tuntap/src/tun/kmod.cc → tap-mac/tuntap/src/tun/kmod.cc

0
mac-tap/tuntap/src/tun/tun.cc → tap-mac/tuntap/src/tun/tun.cc

0
mac-tap/tuntap/src/tun/tun.h → tap-mac/tuntap/src/tun/tun.h

0
mac-tap/tuntap/src/tun/tun_inet6_proto.c → tap-mac/tuntap/src/tun/tun_inet6_proto.c

0
mac-tap/tuntap/src/tun/tun_inet_proto.c → tap-mac/tuntap/src/tun/tun_inet_proto.c

0
mac-tap/tuntap/src/tun/tun_ioctls.h → tap-mac/tuntap/src/tun/tun_ioctls.h

0
mac-tap/tuntap/src/tuntap.cc → tap-mac/tuntap/src/tuntap.cc

0
mac-tap/tuntap/src/tuntap.h → tap-mac/tuntap/src/tuntap.h

0
mac-tap/tuntap/src/tuntap_mgr.cc → tap-mac/tuntap/src/tuntap_mgr.cc

0
mac-tap/tuntap/src/util.h → tap-mac/tuntap/src/util.h

0
mac-tap/tuntap/startup_item/tap/Resources/English.lproj/Localizable.strings → tap-mac/tuntap/startup_item/tap/Resources/English.lproj/Localizable.strings

0
mac-tap/tuntap/startup_item/tap/StartupParameters.plist → tap-mac/tuntap/startup_item/tap/StartupParameters.plist

0
mac-tap/tuntap/startup_item/tap/tap → tap-mac/tuntap/startup_item/tap/tap

0
mac-tap/tuntap/startup_item/tun/Resources/English.lproj/Localizable.strings → tap-mac/tuntap/startup_item/tun/Resources/English.lproj/Localizable.strings

0
mac-tap/tuntap/startup_item/tun/StartupParameters.plist → tap-mac/tuntap/startup_item/tun/StartupParameters.plist

0
mac-tap/tuntap/startup_item/tun/tun → tap-mac/tuntap/startup_item/tun/tun

0
mac-tap/tuntap/test/tuntap/__init__.py → tap-mac/tuntap/test/tuntap/__init__.py

0
mac-tap/tuntap/test/tuntap/char_dev_harness.py → tap-mac/tuntap/test/tuntap/char_dev_harness.py

0
mac-tap/tuntap/test/tuntap/interface_harness.py → tap-mac/tuntap/test/tuntap/interface_harness.py

0
mac-tap/tuntap/test/tuntap/ioctl.py → tap-mac/tuntap/test/tuntap/ioctl.py

0
mac-tap/tuntap/test/tuntap/packet.py → tap-mac/tuntap/test/tuntap/packet.py

0
mac-tap/tuntap/test/tuntap/packet_codec.py → tap-mac/tuntap/test/tuntap/packet_codec.py

0
mac-tap/tuntap/test/tuntap/packet_reader.py → tap-mac/tuntap/test/tuntap/packet_reader.py

0
mac-tap/tuntap/test/tuntap/route.py → tap-mac/tuntap/test/tuntap/route.py

0
mac-tap/tuntap/test/tuntap/sockaddr.py → tap-mac/tuntap/test/tuntap/sockaddr.py

0
mac-tap/tuntap/test/tuntap/test_char_dev.py → tap-mac/tuntap/test/tuntap/test_char_dev.py

0
mac-tap/tuntap/test/tuntap/test_interface.py → tap-mac/tuntap/test/tuntap/test_interface.py

0
mac-tap/tuntap/test/tuntap/test_ip.py → tap-mac/tuntap/test/tuntap/test_ip.py

0
mac-tap/tuntap/test/tuntap/tun_tap_harness.py → tap-mac/tuntap/test/tuntap/tun_tap_harness.py

0
mac-tap/tuntap/test/tuntap/tun_tap_test_case.py → tap-mac/tuntap/test/tuntap/tun_tap_test_case.py

0
mac-tap/tuntap/test/tuntap/tuntap_tests.py → tap-mac/tuntap/test/tuntap/tuntap_tests.py

Loading…
Cancel
Save