From bb7f206090649933ad616baa1b9497ee978052c8 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Sun, 25 Sep 2022 13:15:44 +0200 Subject: tss: Add preliminary code to set UID_MODE --- src/tss.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/tss.c b/src/tss.c index f162a82..da4cf17 100644 --- a/src/tss.c +++ b/src/tss.c @@ -245,6 +245,11 @@ int tss_parameters_add_from_manifest(plist_t parameters, plist_t build_identity, _plist_dict_copy_item(parameters, build_identity, "Cryptex1,MobileAssetBrainVolume", NULL); _plist_dict_copy_item(parameters, build_identity, "Cryptex1,MobileAssetBrainTrustCache", NULL); + node = plist_dict_get_item(build_identity, "Info"); + if (node) { + _plist_dict_copy_bool(parameters, node, "RequiresUIDMode", NULL); + } + if (include_manifest) { /* add build identity manifest dictionary */ node = plist_dict_get_item(build_identity, "Manifest"); @@ -293,6 +298,13 @@ int tss_request_add_ap_img4_tags(plist_t request, plist_t parameters) _plist_dict_copy_uint(request, parameters, "NeRDEpoch", NULL); _plist_dict_copy_data(request, parameters, "PearlCertificationRootPub", NULL); + if (plist_dict_get_item(parameters, "UID_MODE")) { + _plist_dict_copy_item(request, parameters, "UID_MODE", NULL); + } else if (_plist_dict_get_bool(parameters, "RequiresUIDMode")) { + // The logic here is missing why this value is expected to be 'false' + plist_dict_set_item(request, "UID_MODE", plist_new_bool(0)); + } + return 0; } -- cgit v1.1-32-gdbae