Skip to content

Commit 6e7d20a

Browse files
committed
Fix #951
1 parent 28db25f commit 6e7d20a

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

restore.sh

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3349,6 +3349,7 @@ ipsw_prepare_keys() {
33493349
fw_key="$device_fw_key_base"
33503350
fi
33513351
local name=$(echo $fw_key | $jq -j '.keys[] | select(.image == "'$getcomp'") | .filename')
3352+
[[ $name == *".dmg" ]] && name="${name%%.dmg*}.dmg"
33523353
local iv=$(echo $fw_key | $jq -j '.keys[] | select(.image == "'$getcomp'") | .iv')
33533354
local key=$(echo $fw_key | $jq -j '.keys[] | select(.image == "'$getcomp'") | .key')
33543355
if [[ -z $name && $device_proc != 1 ]]; then
@@ -3360,7 +3361,10 @@ ipsw_prepare_keys() {
33603361
if [[ -z $name ]]; then
33613362
name="$getcomp.${device_model}ap.RELEASE.dfu"
33623363
fi
3363-
echo "<key>$comp</key><dict><key>File</key><string>Firmware/dfu/$name</string><key>IV</key><string>$iv</string><key>Key</key><string>$key</string>" >> $NewPlist
3364+
echo "<key>$comp</key><dict><key>File</key><string>Firmware/dfu/$name</string>" >> $NewPlist
3365+
if [[ -n $iv && -n $key ]]; then
3366+
echo "<key>IV</key><string>$iv</string><key>Key</key><string>$key</string>" >> $NewPlist
3367+
fi
33643368
if [[ $ipsw_prepare_usepowder == 1 ]]; then
33653369
echo "<key>Patch</key><true/>" >> $NewPlist
33663370
elif [[ -s $FirmwareBundle/$comp.${device_model}ap.RELEASE.patch ]]; then
@@ -3583,6 +3587,7 @@ ipsw_prepare_bundle() {
35833587
file_extract_from_archive "$ipsw_p.ipsw" $all_flash/manifest
35843588
mv manifest $FirmwareBundle/
35853589
local ramdisk_name=$(echo "$key" | $jq -j '.keys[] | select(.image == "RestoreRamdisk") | .filename')
3590+
ramdisk_name="${ramdisk_name%%.dmg*}.dmg"
35863591
local RamdiskIV=$(echo "$key" | $jq -j '.keys[] | select(.image == "RestoreRamdisk") | .iv')
35873592
local RamdiskKey=$(echo "$key" | $jq -j '.keys[] | select(.image == "RestoreRamdisk") | .key')
35883593
if [[ -z $ramdisk_name ]]; then
@@ -3616,6 +3621,7 @@ ipsw_prepare_bundle() {
36163621
fi
36173622
RootSize=$((RootSize+30))
36183623
local rootfs_name="$(echo "$key" | $jq -j '.keys[] | select(.image == "RootFS") | .filename')"
3624+
rootfs_name="${rootfs_name%%.dmg*}.dmg"
36193625
local rootfs_key="$(echo "$key" | $jq -j '.keys[] | select(.image == "RootFS") | .key')"
36203626
if [[ -z $rootfs_name ]]; then
36213627
error "Issue with firmware keys: Failed getting RootFS. Check The Apple Wiki or your wikiproxy"
@@ -9389,14 +9395,18 @@ menu_ipsw_browse() {
93899395
local picker
93909396

93919397
ipsw_latest_set
9392-
local menu_items=($(ls ../$device_type*Restore.ipsw 2>/dev/null))
9398+
local menu_items=($(ls ../$(echo "$device_type" | tr '[:upper:]' '[:lower:]')*restore.ipsw 2>/dev/null))
9399+
menu_items+=($(ls ../$device_type*Restore.ipsw 2>/dev/null))
93939400
[[ $ipsw_prefix != "$device_type" ]] && menu_items+=($(ls ../${ipsw_prefix}_1*Restore.ipsw 2>/dev/null))
93949401
if [[ $1 == "base" ]]; then
93959402
text="Base"
93969403
menu_items=()
93979404
case $device_proc in
93989405
4 ) menu_items=($(ls ../${device_type}_${device_base_vers}_${device_base_build}_Restore.ipsw 2>/dev/null));;
9399-
6 ) menu_items=($(ls ../${device_type}_7.*Restore.ipsw 2>/dev/null));;
9406+
6 )
9407+
menu_items=($(ls ../$(echo "$device_type" | tr '[:upper:]' '[:lower:]')_7.*restore.ipsw 2>/dev/null))
9408+
menu_items+=($(ls ../${device_type}_7.*Restore.ipsw 2>/dev/null))
9409+
;;
94009410
* ) menu_items=($(ls ../${device_type}_7.1*Restore.ipsw 2>/dev/null));;
94019411
esac
94029412
elif [[ $1 == "special" ]]; then

0 commit comments

Comments
 (0)