浏览代码

Go ahead and load kext so MacOS High Sierra users will see kext auth dialog right away.

Adam Ierymenko 7 年之前
父节点
当前提交
ada611d597
共有 4 个文件被更改,包括 33 次插入11 次删除
  1. 21 1
      ext/installfiles/mac/ZeroTier One.pkgproj
  2. 1 5
      ext/installfiles/mac/launch.sh
  3. 10 4
      ext/installfiles/mac/postinst.sh
  4. 1 1
      make-mac.mk

+ 21 - 1
ext/installfiles/mac/ZeroTier One.pkgproj

@@ -613,6 +613,12 @@
 			</dict>
 			<key>PAYLOAD_TYPE</key>
 			<integer>0</integer>
+			<key>SHOW_INVISIBLE</key>
+			<false/>
+			<key>SPLIT_FORKS</key>
+			<true/>
+			<key>TREAT_MISSING_FILES_AS_WARNING</key>
+			<false/>
 			<key>VERSION</key>
 			<integer>3</integer>
 		</dict>
@@ -641,12 +647,24 @@
 			<integer>1</integer>
 			<key>CONCLUSION_ACTION</key>
 			<integer>0</integer>
+			<key>FOLLOW_SYMBOLIC_LINKS</key>
+			<false/>
 			<key>IDENTIFIER</key>
 			<string>com.zerotier.pkg.ZeroTierOne</string>
+			<key>LOCATION</key>
+			<integer>0</integer>
+			<key>NAME</key>
+			<string></string>
 			<key>OVERWRITE_PERMISSIONS</key>
 			<false/>
+			<key>PAYLOAD_SIZE</key>
+			<integer>-1</integer>
+			<key>RELOCATABLE</key>
+			<false/>
+			<key>USE_HFS+_COMPRESSION</key>
+			<false/>
 			<key>VERSION</key>
-			<string>1.2.4</string>
+			<string>1.2.6</string>
 		</dict>
 		<key>PROJECT_COMMENTS</key>
 		<dict>
@@ -862,6 +880,8 @@
 			</array>
 			<key>NAME</key>
 			<string>ZeroTier One</string>
+			<key>PAYLOAD_ONLY</key>
+			<false/>
 		</dict>
 	</dict>
 	<key>TYPE</key>

+ 1 - 5
ext/installfiles/mac/launch.sh

@@ -1,7 +1,3 @@
 #!/bin/bash
-
-zthome="/Library/Application Support/ZeroTier/One"
-export PATH="$zthome:/bin:/usr/bin:/sbin:/usr/sbin"
-
-# Launch ZeroTier One (not as daemon... launchd monitors it)
+export PATH="/Library/Application Support/ZeroTier/One:/bin:/usr/bin:/sbin:/usr/sbin"
 exec zerotier-one

+ 10 - 4
ext/installfiles/mac/postinst.sh

@@ -5,7 +5,7 @@ export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
 OSX_RELEASE=`sw_vers -productVersion | cut -d . -f 1,2`
 
 launchctl unload /Library/LaunchDaemons/com.zerotier.one.plist >>/dev/null 2>&1
-sleep 1
+sleep 0.5
 
 cd "/Library/Application Support/ZeroTier/One"
 
@@ -23,29 +23,35 @@ if [ "$OSX_RELEASE" = "10.7" ]; then
 fi
 
 rm -rf node.log node.log.old root-topology shutdownIfUnreadable autoupdate.log updates.d ui peers.save
+
 chown -R 0 tap.kext
 chgrp -R 0 tap.kext
+
 if [ ! -f authtoken.secret ]; then
-	head -c 4096 /dev/urandom | md5 | head -c 24 >authtoken.secret
+	head -c 1024 /dev/urandom | md5 | head -c 24 >authtoken.secret
 	chown 0 authtoken.secret
 	chgrp 0 authtoken.secret
 	chmod 0600 authtoken.secret
 fi
+
 rm -f zerotier-cli zerotier-idtool
 ln -sf zerotier-one zerotier-cli
 ln -sf zerotier-one zerotier-idtool
-
 mkdir -p /usr/local/bin
 cd /usr/local/bin
 rm -f zerotier-cli zerotier-idtool
 ln -sf "/Library/Application Support/ZeroTier/One/zerotier-one" zerotier-cli
 ln -sf "/Library/Application Support/ZeroTier/One/zerotier-one" zerotier-idtool
 
+cd "/Library/Application Support/ZeroTier/One"
+kextload -r . tap.kext >>/dev/null 2>&1 &
+disown %1
+
 launchctl load /Library/LaunchDaemons/com.zerotier.one.plist >>/dev/null 2>&1
 
 sleep 1
 
-if [ -f /tmp/zt1-gui-restart.tmp ];
+if [ -f /tmp/zt1-gui-restart.tmp ]; then
 	for u in `cat /tmp/zt1-gui-restart.tmp`; do
 		su $u -c '/Applications/ZeroTier\ One.app/Contents/MacOS/ZeroTier\ One &' >>/dev/null 2>&1 &
 	done

+ 1 - 1
make-mac.mk

@@ -111,7 +111,7 @@ mac-dist-pkg: FORCE
 # For ZeroTier, Inc. to build official signed packages
 official: FORCE
 	make clean
-	make ZT_OFFICIAL_RELEASE=1 -j 4 one
+	make ZT_OFFICIAL_RELEASE=1 -j 8 one
 	make ZT_OFFICIAL_RELEASE=1 macui
 	make ZT_OFFICIAL_RELEASE=1 mac-dist-pkg