diff options
author | Jay Freeman (saurik) <saurik@saurik.com> | 2015-09-21 00:05:11 -0700 |
---|---|---|
committer | Jay Freeman (saurik) <saurik@saurik.com> | 2015-09-21 00:05:11 -0700 |
commit | bb591e2b22d2c30a0f6e45d4f3a827e90d5d9f7b (patch) | |
tree | f776c1f3c727db8f9cc73b5fdbda51a98bd160b4 /ldid.cpp | |
parent | 8f310b9112e5776ea16e795cb18bc8e02c9a96f7 (diff) | |
download | ldid-bb591e2b22d2c30a0f6e45d4f3a827e90d5d9f7b.tar.gz ldid-bb591e2b22d2c30a0f6e45d4f3a827e90d5d9f7b.tar.zst ldid-bb591e2b22d2c30a0f6e45d4f3a827e90d5d9f7b.zip |
Reimplement requirements using newer abstractions.
Diffstat (limited to 'ldid.cpp')
-rw-r--r-- | ldid.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -1128,6 +1128,11 @@ void resign(void *idata, size_t isize, std::streambuf &output, const Functor<siz typedef std::map<uint32_t, std::string> 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) { |