diff options
author | Amaury Pouly <amaury.pouly@gmail.com> | 2014-09-07 12:12:09 +0200 |
---|---|---|
committer | Amaury Pouly <amaury.pouly@gmail.com> | 2014-09-07 17:47:00 +0200 |
commit | 3c558127b83d162636fb27d2ded1f02c88413e37 (patch) | |
tree | 06440e649a657da8821f0e01de1a514bba2326b6 /utils/imxtools/sbtools/sbtoelf.c | |
parent | 6957966c861498861008b27349dfbe209973a02f (diff) | |
download | rockbox-3c558127b83d162636fb27d2ded1f02c88413e37.tar.gz rockbox-3c558127b83d162636fb27d2ded1f02c88413e37.zip |
sbtools: add option to ignore sha1 errors
Change-Id: I6bf9e4671e57f8ff3f436660e8ecb561027a036c
Diffstat (limited to 'utils/imxtools/sbtools/sbtoelf.c')
-rw-r--r-- | utils/imxtools/sbtools/sbtoelf.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/utils/imxtools/sbtools/sbtoelf.c b/utils/imxtools/sbtools/sbtoelf.c index 578135d7ca..86c37f3e4c 100644 --- a/utils/imxtools/sbtools/sbtoelf.c +++ b/utils/imxtools/sbtools/sbtoelf.c | |||
@@ -263,13 +263,14 @@ static void usage(void) | |||
263 | printf(" -s/--no-simpl Prevent elf files from being simplified*\n"); | 263 | printf(" -s/--no-simpl Prevent elf files from being simplified*\n"); |
264 | printf(" -x Use default sb1 key\n"); | 264 | printf(" -x Use default sb1 key\n"); |
265 | printf(" -b Brute force key\n"); | 265 | printf(" -b Brute force key\n"); |
266 | printf(" --ignore-sha1 Ignore SHA-1 mismatch*\n"); | ||
266 | printf("Options marked with a * are for debug purpose only\n"); | 267 | printf("Options marked with a * are for debug purpose only\n"); |
267 | exit(1); | 268 | exit(1); |
268 | } | 269 | } |
269 | 270 | ||
270 | int main(int argc, char **argv) | 271 | int main(int argc, char **argv) |
271 | { | 272 | { |
272 | bool raw_mode = false; | 273 | unsigned flags = 0; |
273 | const char *loopback = NULL; | 274 | const char *loopback = NULL; |
274 | bool force_sb1 = false; | 275 | bool force_sb1 = false; |
275 | bool force_sb2 = false; | 276 | bool force_sb2 = false; |
@@ -288,6 +289,7 @@ int main(int argc, char **argv) | |||
288 | {"v1", no_argument, 0, '1'}, | 289 | {"v1", no_argument, 0, '1'}, |
289 | {"v2", no_argument, 0, '2'}, | 290 | {"v2", no_argument, 0, '2'}, |
290 | {"no-simpl", no_argument, 0, 's'}, | 291 | {"no-simpl", no_argument, 0, 's'}, |
292 | {"ignore-sha1", no_argument, 0, 254}, | ||
291 | {0, 0, 0, 0} | 293 | {0, 0, 0, 0} |
292 | }; | 294 | }; |
293 | 295 | ||
@@ -339,7 +341,7 @@ int main(int argc, char **argv) | |||
339 | break; | 341 | break; |
340 | } | 342 | } |
341 | case 'r': | 343 | case 'r': |
342 | raw_mode = true; | 344 | flags |= SB_RAW_MODE; |
343 | break; | 345 | break; |
344 | case 'a': | 346 | case 'a': |
345 | { | 347 | { |
@@ -364,6 +366,9 @@ int main(int argc, char **argv) | |||
364 | case 'b': | 366 | case 'b': |
365 | brute_force = true; | 367 | brute_force = true; |
366 | break; | 368 | break; |
369 | case 254: | ||
370 | flags |= SB_IGNORE_SHA1; | ||
371 | break; | ||
367 | default: | 372 | default: |
368 | bug("Internal error: unknown option '%c'\n", c); | 373 | bug("Internal error: unknown option '%c'\n", c); |
369 | } | 374 | } |
@@ -390,7 +395,7 @@ int main(int argc, char **argv) | |||
390 | if(force_sb2 || ver == SB_VERSION_2) | 395 | if(force_sb2 || ver == SB_VERSION_2) |
391 | { | 396 | { |
392 | enum sb_error_t err; | 397 | enum sb_error_t err; |
393 | struct sb_file_t *file = sb_read_file(sb_filename, raw_mode, NULL, generic_std_printf, &err); | 398 | struct sb_file_t *file = sb_read_file(sb_filename, flags, NULL, generic_std_printf, &err); |
394 | if(file == NULL) | 399 | if(file == NULL) |
395 | { | 400 | { |
396 | color(OFF); | 401 | color(OFF); |