summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2014-08-31 14:30:56 +0200
committerAmaury Pouly <amaury.pouly@gmail.com>2017-01-16 19:50:25 +0100
commita5950c69af6663895eb158027489e703a2da284f (patch)
tree3d9e5355879ac833c17a7858a4acaaee2a03b2c7
parent2df6b1fc43ab3cc7b07688a7c8d18f377a754c82 (diff)
downloadrockbox-a5950c69af6663895eb158027489e703a2da284f.tar.gz
rockbox-a5950c69af6663895eb158027489e703a2da284f.zip
imxtools: rework key/IV overriding logic
The overriding of the IV and real key should be the exception, there is no need to manually set them to false. Change-Id: Id66754f20a79aa5c1a991839345d1242e0aa587d
-rw-r--r--rbutil/mkimxboot/mkimxboot.c4
-rw-r--r--utils/imxtools/sbtools/sb.c2
-rw-r--r--utils/imxtools/sbtools/sbtoelf.c7
3 files changed, 0 insertions, 13 deletions
diff --git a/rbutil/mkimxboot/mkimxboot.c b/rbutil/mkimxboot/mkimxboot.c
index d10ad9cb01..db18c769fb 100644
--- a/rbutil/mkimxboot/mkimxboot.c
+++ b/rbutil/mkimxboot/mkimxboot.c
@@ -275,10 +275,6 @@ static enum imx_error_t patch_std_zero_host_play(int jump_before,
275 * call in the ____ section and get rid of everything else. In recovery mode, 275 * call in the ____ section and get rid of everything else. In recovery mode,
276 * we give 0xfee1dead as argument */ 276 * we give 0xfee1dead as argument */
277 277
278 /* Do not override real key and IV */
279 sb_file->override_crypto_iv = false;
280 sb_file->override_real_key = false;
281
282 /* used to manipulate entries */ 278 /* used to manipulate entries */
283 int nr_boot_inst = rb_fw_get_sb_inst_count(&boot_fw); 279 int nr_boot_inst = rb_fw_get_sb_inst_count(&boot_fw);
284 280
diff --git a/utils/imxtools/sbtools/sb.c b/utils/imxtools/sbtools/sb.c
index 183434efad..c005b07ff7 100644
--- a/utils/imxtools/sbtools/sb.c
+++ b/utils/imxtools/sbtools/sb.c
@@ -935,9 +935,7 @@ struct sb_file_t *sb_read_memory(void *_buf, size_t filesize, unsigned flags, vo
935 printf(GREEN, " IV : "); 935 printf(GREEN, " IV : ");
936 print_hex(YELLOW, buf, 16, true); 936 print_hex(YELLOW, buf, 16, true);
937 937
938 sb_file->override_real_key = true;
939 memcpy(sb_file->real_key, real_key, 16); 938 memcpy(sb_file->real_key, real_key, 16);
940 sb_file->override_crypto_iv = true;
941 memcpy(sb_file->crypto_iv, buf, 16); 939 memcpy(sb_file->crypto_iv, buf, 16);
942 } 940 }
943 941
diff --git a/utils/imxtools/sbtools/sbtoelf.c b/utils/imxtools/sbtools/sbtoelf.c
index 86c37f3e4c..ac8db068aa 100644
--- a/utils/imxtools/sbtools/sbtoelf.c
+++ b/utils/imxtools/sbtools/sbtoelf.c
@@ -413,14 +413,7 @@ int main(int argc, char **argv)
413 sb_dump(file, NULL, generic_std_printf); 413 sb_dump(file, NULL, generic_std_printf);
414 } 414 }
415 if(loopback) 415 if(loopback)
416 {
417 /* sb_read_file will fill real key and IV but we don't want to override
418 * them when looping back otherwise the output will be inconsistent and
419 * garbage */
420 file->override_real_key = false;
421 file->override_crypto_iv = false;
422 sb_write_file(file, loopback, 0, generic_std_printf); 416 sb_write_file(file, loopback, 0, generic_std_printf);
423 }
424 sb_free(file); 417 sb_free(file);
425 } 418 }
426 else if(force_sb1 || ver == SB_VERSION_1) 419 else if(force_sb1 || ver == SB_VERSION_1)