@@ -1225,10 +1225,42 @@ int isManifestBufSignedForDevice(char *buildManifestBuffer, t_devicevals *devVal
12251225 devVals -> parsedApnonceLen = 0 ;
12261226 devVals -> apnonce = (char * )0x1337 ;
12271227 devVals -> installType = kInstallTypeErase ;
1228- if (strcmp (devVals -> deviceBoard , "d73ap" ) && strcmp (devVals -> deviceBoard , "d74ap" ) /* Apple Tatsu moment */
1229- && !tssrequest (& tssreq2 , buildManifestBuffer , devVals , kBasebandModeWithoutBaseband )){
1228+ bool save_apticket3 = true;
1229+ /*
1230+ * Apple Tatsu moment
1231+ * The apple Tatsu servers are wack
1232+ */
1233+ if (devVals -> deviceBoard && (!strcmp (devVals -> deviceBoard , "d73ap" ) || !strcmp (devVals -> deviceBoard , "d74ap" )
1234+ || !strcmp (devVals -> deviceBoard , "n51ap" ) || !strcmp (devVals -> deviceBoard , "n53ap" )
1235+ || !strcmp (devVals -> deviceBoard , "n56ap" ) || !strcmp (devVals -> deviceBoard , "n61ap" )
1236+ || !strcmp (devVals -> deviceBoard , "j71ap" ) || !strcmp (devVals -> deviceBoard , "j72ap" )
1237+ || !strcmp (devVals -> deviceBoard , "j73ap" ) || !strcmp (devVals -> deviceBoard , "j81ap" )
1238+ || !strcmp (devVals -> deviceBoard , "j82ap" ) || !strcmp (devVals -> deviceBoard , "n102ap" )
1239+ || !strcmp (devVals -> deviceBoard , "j85ap" ) || !strcmp (devVals -> deviceBoard , "j86ap" )
1240+ || !strcmp (devVals -> deviceBoard , "j87ap" ) || !strcmp (devVals -> deviceBoard , "j85map" )
1241+ || !strcmp (devVals -> deviceBoard , "j86map" ) || !strcmp (devVals -> deviceBoard , "j87map" )
1242+ || !strcmp (devVals -> deviceBoard , "j96ap" ) || !strcmp (devVals -> deviceBoard , "j97ap" )
1243+ || !strcmp (devVals -> deviceBoard , "n112ap" ))) {
1244+ save_apticket3 = false;
1245+ }
1246+ if (devVals -> deviceModel && (!strcmp (devVals -> deviceModel , "iPhone15,2" ) || !strcmp (devVals -> deviceModel , "iPhone15,3" )
1247+ || !strcmp (devVals -> deviceModel , "iPhone6,1" ) || !strcmp (devVals -> deviceModel , "iPhone6,2" )
1248+ || !strcmp (devVals -> deviceModel , "iPhone7,1" ) || !strcmp (devVals -> deviceModel , "iPhone7,2" )
1249+ || !strcmp (devVals -> deviceModel , "iPad4,1" ) || !strcmp (devVals -> deviceModel , "iPad4,2" )
1250+ || !strcmp (devVals -> deviceModel , "iPad4,3" ) || !strcmp (devVals -> deviceModel , "iPad5,3" )
1251+ || !strcmp (devVals -> deviceModel , "iPad5,4" ) || !strcmp (devVals -> deviceModel , "iPod7,1" )
1252+ || !strcmp (devVals -> deviceModel , "iPad4,4" ) || !strcmp (devVals -> deviceModel , "iPad4,5" )
1253+ || !strcmp (devVals -> deviceModel , "iPad4,6" ) || !strcmp (devVals -> deviceModel , "iPad4,7" )
1254+ || !strcmp (devVals -> deviceModel , "iPad4,8" ) || !strcmp (devVals -> deviceModel , "iPad4,9" )
1255+ || !strcmp (devVals -> deviceModel , "iPad5,1" ) || !strcmp (devVals -> deviceModel , "iPad5,2" )
1256+ || !strcmp (devVals -> deviceModel , "iPad9,1" ))) {
1257+ save_apticket3 = false;
1258+ }
1259+ if (save_apticket3 && !tssrequest (& tssreq2 , buildManifestBuffer , devVals , kBasebandModeWithoutBaseband )) {
12301260 apticket3 = tss_request_send (tssreq2 , server_url_string );
1231- if (print_tss_response ) debug_plist2 (apticket3 );
1261+ if (print_tss_response ) {
1262+ debug_plist2 (apticket3 );
1263+ }
12321264 }
12331265 devVals -> parsedApnonceLen = apnonceLen ;
12341266 devVals -> apnonce = apnonce ;
0 commit comments