From: Jay Freeman (saurik) Date: Mon, 21 Sep 2015 07:05:11 +0000 (-0700) Subject: Reimplement requirements using newer abstractions. X-Git-Tag: v2.1.0~98 X-Git-Url: https://git.saurik.com/ldid.git/commitdiff_plain/bb591e2b22d2c30a0f6e45d4f3a827e90d5d9f7b?ds=inline Reimplement requirements using newer abstractions. --- diff --git a/ldid.cpp b/ldid.cpp index e0e38d1..102c33b 100644 --- a/ldid.cpp +++ b/ldid.cpp @@ -1128,6 +1128,11 @@ void resign(void *idata, size_t isize, std::streambuf &output, const Functor Blobs; +static void insert(Blobs &blobs, uint32_t slot, const std::stringbuf &buffer) { + auto value(buffer.str()); + std::swap(blobs[slot], value); +} + static void insert(Blobs &blobs, uint32_t slot, uint32_t magic, const std::stringbuf &buffer) { auto value(buffer.str()); Blob blob; @@ -1199,11 +1204,10 @@ void resign(void *idata, size_t isize, std::streambuf &output, const std::string if (true) { std::stringbuf data; - uint32_t requirements; - requirements = Swap(0); - put(data, &requirements, sizeof(requirements)); + Blobs requirements; + put(data, CSMAGIC_REQUIREMENTS, requirements); - insert(blobs, CSSLOT_REQUIREMENTS, CSMAGIC_REQUIREMENTS, data); + insert(blobs, CSSLOT_REQUIREMENTS, data); } if (entitlements.size() != 0) {