>From d6eff53a87c7324fb3cc7c365ba2fe830d438157 Mon Sep 17 00:00:00 2001 From: Frank Dittrich Date: Thu, 19 Jul 2012 09:37:52 +0200 Subject: [PATCH 1/2] Fix salt size of dynamic formats in --list=format-details The change commit a96222f03eb153ae56d8480ca243e4d5d07b7a5e Author: Frank Dittrich Date: Sun Jul 8 18:49:14 2012 +0200 Fix salt size of dynamic formats in --list=format-details For the new logic of dynamic formats, the --list=format-details output needed to be changed in a similar way as the output of --list=format-all-details has been changed The --list=format-all-details logic has also been changed to use one printf with ? : instead of if ... printf() else ... printf() had accidentally been reverted by commit 61cea42f979eb07284afc099550f90ae50bb858a Author: JimF Date: Mon Jul 9 11:56:31 2012 +0200 Jumbo-7RC-JimF-fixes.diff These changes are needed for --list=format-details to show the correct salt size for dynamic formats. --- src/john.c | 16 +++++++++------- 1 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/john.c b/src/john.c index d6ae92d..e756e3f 100644 --- a/src/john.c +++ b/src/john.c @@ -818,7 +818,10 @@ static void john_init(char *name, int argc, char **argv) format->params.benchmark_comment, format->params.benchmark_length, format->params.binary_size, - format->params.salt_size); + ((format->params.flags & FMT_DYNAMIC) && format->params.salt_size) ? + // salts are handled internally within the format. We want to know the 'real' salt size + // dynamic will alway set params.salt_size to 0 or sizeof a pointer. + dynamic_real_salt_length(format) : format->params.salt_size); } while ((format = format->next)); exit(0); } @@ -859,12 +862,11 @@ static void john_init(char *name, int argc, char **argv) printf("Benchmark comment \t%s\n", format->params.benchmark_comment); printf("Benchmark length \t%d\n", format->params.benchmark_length); printf("Binary size \t%d\n", format->params.binary_size); - if ( (format->params.flags & FMT_DYNAMIC) && format->params.salt_size) { - // salts are handled internally within the format. We want to know the 'real' salt size/ - // dynamic will alway set params.salt_size to 0 or sizeof a pointer. - printf("Salt size \t%d\n", dynamic_real_salt_length(format)); - } else - printf("Salt size \t%d\n", format->params.salt_size); + printf("Salt size \t%d\n", + ((format->params.flags & FMT_DYNAMIC) && format->params.salt_size) ? + // salts are handled internally within the format. We want to know the 'real' salt size/ + // dynamic will alway set params.salt_size to 0 or sizeof a pointer. + dynamic_real_salt_length(format) : format->params.salt_size); printf("\n"); } while ((format = format->next)); exit(0); -- 1.7.7.6