From 9181cd5eed8c5046133d2f2fe9cee59e52a30ccf Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Fri, 27 Sep 2019 08:27:40 +0200 Subject: tss: Fix Baseband TSS request for iPhone XS --- src/tss.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/tss.c b/src/tss.c index 8888ea4..05535d9 100644 --- a/src/tss.c +++ b/src/tss.c @@ -679,11 +679,10 @@ int tss_request_add_baseband_tags(plist_t request, plist_t parameters, plist_t o plist_t node = NULL; /* BbChipID */ - node = plist_dict_get_item(parameters, "BbChipID"); - if (node) { - plist_dict_set_item(request, "BbChipID", plist_copy(node)); + uint64_t bb_chip_id = _plist_dict_get_uint(parameters, "BbChipID"); + if (bb_chip_id) { + plist_dict_set_item(request, "BbChipID", plist_new_uint(bb_chip_id)); } - node = NULL; /* BbProvisioningManifestKeyHash */ node = plist_dict_get_item(parameters, "BbProvisioningManifestKeyHash"); @@ -770,13 +769,16 @@ int tss_request_add_baseband_tags(plist_t request, plist_t parameters, plist_t o if (plist_dict_get_item(bbfwdict, "Info")) { plist_dict_remove_item(bbfwdict, "Info"); } - /* depending on the BasebandCertId remove certain nodes */ - if (bb_cert_id == 0x26F3FACC || bb_cert_id == 0x5CF2EC4E || bb_cert_id == 0x8399785A) { - plist_dict_remove_item(bbfwdict, "PSI2-PartialDigest"); - plist_dict_remove_item(bbfwdict, "RestorePSI2-PartialDigest"); - } else { - plist_dict_remove_item(bbfwdict, "PSI-PartialDigest"); - plist_dict_remove_item(bbfwdict, "RestorePSI-PartialDigest"); + + if (bb_chip_id == 0x68) { + /* depending on the BasebandCertId remove certain nodes */ + if (bb_cert_id == 0x26F3FACC || bb_cert_id == 0x5CF2EC4E || bb_cert_id == 0x8399785A) { + plist_dict_remove_item(bbfwdict, "PSI2-PartialDigest"); + plist_dict_remove_item(bbfwdict, "RestorePSI2-PartialDigest"); + } else { + plist_dict_remove_item(bbfwdict, "PSI-PartialDigest"); + plist_dict_remove_item(bbfwdict, "RestorePSI-PartialDigest"); + } } plist_dict_set_item(request, "BasebandFirmware", bbfwdict); -- cgit v1.1-32-gdbae