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

This commit is contained in:
Adam Ierymenko 2017-12-07 08:56:15 -08:00
parent f13886d343
commit ada611d597
4 changed files with 33 additions and 11 deletions

View file

@ -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>

View file

@ -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

View file

@ -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

View file

@ -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