From 357ebbf7a5c1f724caa9e62af12b14eda8f0ee59 Mon Sep 17 00:00:00 2001 From: SCG82 Date: Mon, 20 Dec 2021 12:52:11 -0800 Subject: Add option to disable ad-hoc codesigning --- src/Settings.cpp | 3 +++ src/Settings.h | 3 +++ src/Utils.cpp | 2 ++ src/main.cpp | 8 +++++++- 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Settings.cpp b/src/Settings.cpp index 0ace811..1d9674b 100644 --- a/src/Settings.cpp +++ b/src/Settings.cpp @@ -31,14 +31,17 @@ namespace Settings bool overwrite_files = false; bool overwrite_dir = false; bool create_dir = false; +bool codesign = true; bool canOverwriteFiles(){ return overwrite_files; } bool canOverwriteDir(){ return overwrite_dir; } bool canCreateDir(){ return create_dir; } +bool canCodesign(){ return codesign; } void canOverwriteFiles(bool permission){ overwrite_files = permission; } void canOverwriteDir(bool permission){ overwrite_dir = permission; } void canCreateDir(bool permission){ create_dir = permission; } +void canCodesign(bool permission){ codesign = permission; } bool bundleLibs_bool = false; diff --git a/src/Settings.h b/src/Settings.h index 1b1cb27..c03afc5 100644 --- a/src/Settings.h +++ b/src/Settings.h @@ -44,6 +44,9 @@ void canOverwriteDir(bool permission); bool canCreateDir(); void canCreateDir(bool permission); +bool canCodesign(); +void canCodesign(bool permission); + bool bundleLibs(); void bundleLibs(bool on); diff --git a/src/Utils.cpp b/src/Utils.cpp index fc2b990..168f659 100644 --- a/src/Utils.cpp +++ b/src/Utils.cpp @@ -220,6 +220,8 @@ std::string getUserInputDirForFile(const std::string& filename) void adhocCodeSign(const std::string& file) { + if( Settings::canCodesign() == false ) return; + // Add ad-hoc signature for ARM (Apple Silicon) binaries std::string signCommand = std::string("codesign --force --deep --preserve-metadata=entitlements,requirements,flags,runtime --sign - \"") + file + "\""; if( systemp( signCommand ) != 0 ) diff --git a/src/main.cpp b/src/main.cpp index 02416d4..d114875 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -41,7 +41,7 @@ THE SOFTWARE. */ -const std::string VERSION = "1.0.2"; +const std::string VERSION = "1.0.3"; // FIXME - no memory management is done at all (anyway the program closes immediately so who cares?) @@ -62,6 +62,7 @@ void showHelp() std::cout << "-of, --overwrite-files (allow overwriting files in output directory)" << std::endl; std::cout << "-od, --overwrite-dir (totally overwrite output directory if it already exists. implies --create-dir)" << std::endl; std::cout << "-cd, --create-dir (creates output directory if necessary)" << std::endl; + std::cout << "-ns, --no-codesign (disables ad-hoc codesigning)" << std::endl; std::cout << "-i, --ignore (will ignore libraries in this directory)" << std::endl; std::cout << "-h, --help" << std::endl; } @@ -117,6 +118,11 @@ int main (int argc, char * const argv[]) Settings::canCreateDir(true); continue; } + else if(strcmp(argv[i],"-ns")==0 or strcmp(argv[i],"--no-codesign")==0) + { + Settings::canCodesign(false); + continue; + } else if(strcmp(argv[i],"-h")==0 or strcmp(argv[i],"--help")==0) { showHelp(); -- cgit v1.2.3