Fixed pass-by-reference inconsistency in asr_send().

Signed-off-by: Martin Szulecki <m.szulecki@libimobiledevice.org>
Fixed misuse of free() instead of plist_free().

Signed-off-by: Martin Szulecki <m.szulecki@libimobiledevice.org>
Fall back to ‘RestoreKernelCaches’ if ‘KernelCachesByTarget’ not in Restore.plist.

Signed-off-by: Martin Szulecki <m.szulecki@libimobiledevice.org>
Return ‘DeviceTree’ instead of ‘RestoreDeviceTree’ from get_component_name().

Returning ‘RestoreDeviceTree’ is inconsistent with other component names, and the caller
apparently handles the need for it. Also, the API doc for plist_dictionary_insert_item states
that it asserts if the key to be inserted already exists. if plist_dictionary_insert_item actually
does assert as described, the caller of get_component_name triggers that assertion if
‘RestoreDeviceTree’ is returned.

Signed-off-by: Martin Szulecki <m.szulecki@libimobiledevice.org>
Added test for limera1n compatibility before attempting to inject it.

Signed-off-by: Martin Szulecki <m.szulecki@libimobiledevice.org>
Prefer the WTF file in the restore IPSW, fallback to downloading the WTF IPSW.

Signed-off-by: Martin Szulecki <m.szulecki@libimobiledevice.org>
Added warning about missing ‘SupportedProductTypes’ key in iPhoneOS 2.x IPSWs.

Signed-off-by: Martin Szulecki <m.szulecki@libimobiledevice.org>
Update limera1n_is_supported() for changes to libirecovery project.

Signed-off-by: Martin Szulecki <m.szulecki@libimobiledevice.org>