From 9df7f65dd591c8ee641f9bd66977b92456be9ed9 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Thu, 16 Jan 2014 13:53:31 -0800 Subject: [PATCH] Mac installation, and dump pre10.8 stuff because it turns out that 10.6 loads the existing kext fine. --- ZeroTierUI/installdialog.cpp | 8 ++++ .../pre10.8/tap.kext/Contents/Info.plist | 36 ------------------ .../pre10.8/tap.kext/Contents/MacOS/tap | Bin 81240 -> 0 bytes 3 files changed, 8 insertions(+), 36 deletions(-) delete mode 100644 ext/bin/tap-mac/pre10.8/tap.kext/Contents/Info.plist delete mode 100755 ext/bin/tap-mac/pre10.8/tap.kext/Contents/MacOS/tap diff --git a/ZeroTierUI/installdialog.cpp b/ZeroTierUI/installdialog.cpp index 14ad5b6a2..29bc0ec7e 100644 --- a/ZeroTierUI/installdialog.cpp +++ b/ZeroTierUI/installdialog.cpp @@ -161,6 +161,14 @@ void InstallDialog::on_networkReply(QNetworkReply *reply) unlink(tmpPath.c_str()); unlink(instPath.c_str()); + // Restart the binary with whatever updates may have occurred + std::string appPath(QCoreApplication::applicationFilePath().toStdString()); + execl(appPath.c_str(),appPath.c_str(),(const char *)0); + + // We only make it here if execl() fails + QMessageBox::critical(this,"Re-Launch Failed","An error occurred re-launching ZeroTier One.app. Try launching it manually.",QMessageBox::Ok,QMessageBox::NoButton); + QApplication::exit(1); + return; } #endif diff --git a/ext/bin/tap-mac/pre10.8/tap.kext/Contents/Info.plist b/ext/bin/tap-mac/pre10.8/tap.kext/Contents/Info.plist deleted file mode 100644 index 45c2839ad..000000000 --- a/ext/bin/tap-mac/pre10.8/tap.kext/Contents/Info.plist +++ /dev/null @@ -1,36 +0,0 @@ - - - - - CFBundleDevelopmentRegion - English - CFBundleExecutable - tap - CFBundleIdentifier - com.zerotier.tap - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - tap - CFBundlePackageType - KEXT - CFBundleShortVersionString - 20131028 - CFBundleSignature - ???? - CFBundleVersion - 1.0 - OSBundleLibraries - - com.apple.kpi.mach - 8.0 - com.apple.kpi.bsd - 8.0 - com.apple.kpi.libkern - 8.0 - com.apple.kpi.unsupported - 8.0 - - - - diff --git a/ext/bin/tap-mac/pre10.8/tap.kext/Contents/MacOS/tap b/ext/bin/tap-mac/pre10.8/tap.kext/Contents/MacOS/tap deleted file mode 100755 index 6a9021a74a74119b23f03eddab261cc59fdf3c00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 81240 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