From 0335d7ecf9160327e62b6e12d5507c52e30085a2 Mon Sep 17 00:00:00 2001 From: alfiecg24 Date: Wed, 8 Nov 2023 09:35:54 +0000 Subject: [PATCH 1/4] Add -t flag for specifying team ID --- ldid.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ldid.cpp b/ldid.cpp index 273ed90..abf0dab 100644 --- a/ldid.cpp +++ b/ldid.cpp @@ -119,6 +119,7 @@ bool flag_U(false); std::string password = ""; std::vector cleanup; bool flag_H(false); +const char *flag_t(NULL); template struct Iterator_ { @@ -2268,6 +2269,10 @@ Hash Sign(const void *idata, size_t isize, std::streambuf &output, const std::st get(common, name, NID_commonName); } + if (flag_t != NULL) { + printf("ldid: Using team ID %s\n", flag_t); + team = flag_t; + } std::stringbuf backing; @@ -3579,6 +3584,10 @@ int main(int argc, char *argv[]) { flag_u = true; } break; + case 't': { + flag_t = argv[argi] + 2; + } break; + case 'I': { flag_I = argv[argi] + 2; } break; From ac889d6ea283ce2f2f82de3ef7751126a117dd67 Mon Sep 17 00:00:00 2001 From: alfiecg24 Date: Wed, 8 Nov 2023 09:42:11 +0000 Subject: [PATCH 2/4] Add -t flag to usage output --- ldid.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ldid.cpp b/ldid.cpp index abf0dab..0f0a9fd 100644 --- a/ldid.cpp +++ b/ldid.cpp @@ -3307,7 +3307,7 @@ static void usage(const char *argv0) { fprintf(stderr, " host | kill | library-validation | restrict | runtime | linker-signed]] [-D] [-d]\n"); fprintf(stderr, " [-Enum:file] [-e] [-H[sha1 | sha256]] [-h] [-Iname]\n"); fprintf(stderr, " [-Kkey.p12 [-Upassword]] [-M] [-P[num]] [-Qrequirements.xml] [-q]\n"); - fprintf(stderr, " [-r | -Sfile.xml | -s] [-w] [-u] [-arch arch_type] file ...\n"); + fprintf(stderr, " [-r | -Sfile.xml | -s] [-w] [-u] [-tTeamID] [-arch arch_type] file ...\n"); fprintf(stderr, "Common Options:\n"); fprintf(stderr, " -S[file.xml] Pseudo-sign using the entitlements in file.xml\n"); fprintf(stderr, " -w Shallow sign\n"); From 8bc54222986ced5829a93b074470057c6a1b73eb Mon Sep 17 00:00:00 2001 From: alfiecg24 Date: Wed, 13 Dec 2023 20:52:53 +0000 Subject: [PATCH 3/4] Remove unnecessary print statement and update _ldid --- _ldid | 1 + ldid.cpp | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/_ldid b/_ldid index 3aeb9ea..ba22754 100644 --- a/_ldid +++ b/_ldid @@ -15,4 +15,5 @@ _arguments \ '-K-[Signing private key]:key:_files' \ '-P-[Set as platform]:number' \ '-U-[Password for -K]' \ + '-T-[Set team identifier]:identifier' \ '*: :_files' diff --git a/ldid.cpp b/ldid.cpp index 0f0a9fd..fb6a766 100644 --- a/ldid.cpp +++ b/ldid.cpp @@ -2270,7 +2270,6 @@ Hash Sign(const void *idata, size_t isize, std::streambuf &output, const std::st } if (flag_t != NULL) { - printf("ldid: Using team ID %s\n", flag_t); team = flag_t; } From aad7b7197534c1f0a355538b23387587d01e853d Mon Sep 17 00:00:00 2001 From: alfiecg24 Date: Fri, 15 Dec 2023 09:41:50 +0000 Subject: [PATCH 4/4] Make sure Team ID is 10 characters --- ldid.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ldid.cpp b/ldid.cpp index fb6a766..acad3c7 100644 --- a/ldid.cpp +++ b/ldid.cpp @@ -2270,6 +2270,10 @@ Hash Sign(const void *idata, size_t isize, std::streambuf &output, const std::st } if (flag_t != NULL) { + if (strlen(flag_t) != 10) { + fprintf(stderr, "ldid: Team ID must be 10 characters long\n"); + exit(1); + } team = flag_t; }