Skip to content

Commit cfc5efc

Browse files
committed
Formats: Colorize warnings and/or use _ONCE macros
1 parent c579fd4 commit cfc5efc

27 files changed

+148
-225
lines changed

src/7z_common_plug.c

Lines changed: 28 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -101,9 +101,6 @@ struct fmt_tests sevenzip_tests[] = {
101101

102102
sevenzip_salt_t *sevenzip_salt;
103103

104-
#define YEL "\x1b[0;33m"
105-
#define NRM "\x1b[0m"
106-
107104
int sevenzip_trust_padding;
108105

109106
static char *comp_type[16] = { "stored", "LZMA1", "LZMA2", "PPMD", NULL, NULL, "BZIP2", "DEFLATE" };
@@ -140,23 +137,23 @@ int sevenzip_valid(char *ciphertext, struct fmt_main *self)
140137
&& type != 128) {
141138
if (john_main_process && !warned[type]) {
142139
warned[type] = 1;
143-
fprintf(stderr, YEL "Warning: Not loading files with unsupported compression type %s (0x%02x)\n" NRM,
140+
fprintf_color(color_warning, stderr, "Warning: Not loading files with unsupported compression type %s (0x%02x)\n",
144141
comp_type[c_type] ? comp_type[c_type] : "(unknown)", type);
145142
#if !HAVE_LIBBZ2
146143
if (type == 6)
147-
fprintf(stderr, YEL "Rebuild with libbz2 to get support for that type.\n" NRM);
144+
fprintf_color(color_warning, stderr, "Rebuild with libbz2 to get support for that type.\n");
148145
#endif
149146
#if !HAVE_LIBZ
150147
if (type == 7)
151-
fprintf(stderr, YEL "Rebuild with libz (zlib) to get support for that type.\n" NRM);
148+
fprintf_color(color_warning, stderr, "Rebuild with libz (zlib) to get support for that type.\n");
152149
#endif
153150
}
154151
goto err;
155152
}
156153
if (john_main_process && !ldr_in_pot && !self_test_running &&
157154
options.verbosity > VERB_DEFAULT && !warned[type]) {
158155
warned[type] = 1;
159-
fprintf(stderr, YEL "Saw file(s) with compression type %s%s%s (0x%02x)\n" NRM,
156+
fprintf_color(color_notice, stderr, "Saw file(s) with compression type %s%s%s (0x%02x)\n",
160157
precomp_type[p_type], p_type ? "+" : "", comp_type[c_type], type);
161158
}
162159
if ((p = strtokm(NULL, "$")) == NULL) /* NumCyclesPower */
@@ -174,11 +171,8 @@ int sevenzip_valid(char *ciphertext, struct fmt_main *self)
174171
goto err;
175172
len = atoi(p);
176173
if (len > 0 && strstr(self->params.label, "-opencl")) {
177-
static int warned;
178-
179-
if (!warned++)
180-
fprintf(stderr, YEL "%s: Warning: Not loading hashes with salt due to optimizations. Please report!\n" NRM,
181-
self->params.label);
174+
if (!ldr_in_pot && john_main_process)
175+
WARN_ONCE(color_warning, stderr, "%s: Warning: Not loading hashes with salt due to optimizations. Please report!\n", self->params.label);
182176
goto err;
183177
}
184178
if (len > 16)
@@ -355,7 +349,7 @@ int sevenzip_decrypt(unsigned char *derived_key)
355349

356350
#if DEBUG
357351
if (!benchmark_running && options.verbosity >= VERB_DEBUG)
358-
fprintf(stderr, "\nType %02x (%s%s%s) AES length %zu, packed len %zu, pad size %d, crc len %zu\n",
352+
fprintf_color(color_notice, stderr, "\nType %02x (%s%s%s) AES length %zu, packed len %zu, pad size %d, crc len %zu\n",
359353
sevenzip_salt->type, precomp_type[p_type] ? precomp_type[p_type] : "",
360354
p_type ? "+" : "",
361355
comp_type[c_type] ? comp_type[c_type] : "(unknown)",
@@ -379,12 +373,11 @@ int sevenzip_decrypt(unsigned char *derived_key)
379373
if (buf[i] != 0) {
380374
#if DEBUG
381375
if (!benchmark_running && options.verbosity >= VERB_DEBUG) {
382-
fprintf(stderr, YEL "Early padding check failed, ");
376+
fprintf_color(color_warning, stderr, "Early padding check failed, ");
383377
dump_stderr_msg("padding", buf + 16 - pad_size, pad_size);
384-
fprintf(stderr, NRM);
385378
}
386379
if (sevenzip_salt->type == 0x80)
387-
fprintf(stderr, YEL "We don't have data for complete decryption\n");
380+
WARN_ONCE(color_warning, stderr, "We don't have data for complete decryption\n");
388381
break;
389382
#else
390383
return 0;
@@ -395,13 +388,13 @@ int sevenzip_decrypt(unsigned char *derived_key)
395388
}
396389
#if DEBUG
397390
if (!nbytes && !benchmark_running && options.verbosity >= VERB_DEBUG)
398-
fprintf(stderr, "Early padding check passed\n");
391+
fprintf_color(color_notice, stderr, "Early padding check passed\n");
399392
else
400393
nbytes = 0;
401-
#else
394+
if (self_test_running)
395+
#endif
402396
if (sevenzip_salt->type == 0x80) /* We only have truncated data */
403397
return 1;
404-
#endif
405398
}
406399

407400
/* Complete decryption */
@@ -417,9 +410,8 @@ int sevenzip_decrypt(unsigned char *derived_key)
417410
if (out[i] != 0) {
418411
#if DEBUG
419412
if (!benchmark_running && options.verbosity >= VERB_DEBUG) {
420-
fprintf(stderr, YEL "Full data padding check failed, ");
413+
fprintf_color(color_warning, stderr, "Full data padding check failed, ");
421414
dump_stderr_msg("padding", out + sevenzip_salt->aes_length - pad_size, pad_size);
422-
fprintf(stderr, NRM);
423415
}
424416
break;
425417
#else
@@ -431,7 +423,7 @@ int sevenzip_decrypt(unsigned char *derived_key)
431423
}
432424
#if DEBUG
433425
if (!nbytes && !benchmark_running && options.verbosity >= VERB_DEBUG)
434-
fprintf(stderr, "Padding check passed\n");
426+
fprintf_color(color_notice, stderr, "Padding check passed\n");
435427
#endif
436428
}
437429

@@ -456,7 +448,7 @@ int sevenzip_decrypt(unsigned char *derived_key)
456448
out_size == crc_len) {
457449
#if DEBUG
458450
if (!benchmark_running && options.verbosity >= VERB_DEBUG)
459-
fprintf(stderr, "LZMA decoding passed, %zu/%zu -> %zu/%zu, props %02x%02x%02x%02x\n",
451+
fprintf_color(color_notice, stderr, "LZMA decoding passed, %zu/%zu -> %zu/%zu, props %02x%02x%02x%02x\n",
460452
in_size, sevenzip_salt->packed_size, out_size, crc_len, sevenzip_salt->decoder_props[0],
461453
sevenzip_salt->decoder_props[1], sevenzip_salt->decoder_props[2], sevenzip_salt->decoder_props[3]);
462454
#endif
@@ -465,7 +457,7 @@ int sevenzip_decrypt(unsigned char *derived_key)
465457
} else {
466458
#if DEBUG
467459
if (!benchmark_running && options.verbosity >= VERB_DEBUG)
468-
fprintf(stderr, YEL "LZMA decoding failed, %zu/%zu -> %zu/%zu, props %02x%02x%02x%02x\n" NRM,
460+
fprintf_color(color_warning, stderr, "LZMA decoding failed, %zu/%zu -> %zu/%zu, props %02x%02x%02x%02x\n",
469461
in_size, sevenzip_salt->packed_size, out_size, crc_len, sevenzip_salt->decoder_props[0],
470462
sevenzip_salt->decoder_props[1], sevenzip_salt->decoder_props[2], sevenzip_salt->decoder_props[3]);
471463
#endif
@@ -488,15 +480,15 @@ int sevenzip_decrypt(unsigned char *derived_key)
488480
out_size == crc_len) {
489481
#if DEBUG
490482
if (!benchmark_running && options.verbosity >= VERB_DEBUG)
491-
fprintf(stderr, "LZMA2 decoding passed, %zu/%zu -> %zu/%zu, props %02x\n",
483+
fprintf_color(color_notice, stderr, "LZMA2 decoding passed, %zu/%zu -> %zu/%zu, props %02x\n",
492484
in_size, sevenzip_salt->packed_size, out_size, crc_len, sevenzip_salt->decoder_props[0]);
493485
#endif
494486
MEM_FREE(out);
495487
out = new_out;
496488
} else {
497489
#if DEBUG
498490
if (!benchmark_running && options.verbosity >= VERB_DEBUG)
499-
fprintf(stderr, YEL "LZMA2 decoding failed, %zu/%zu -> %zu/%zu, props %02x\n" NRM,
491+
fprintf_color(color_warning, stderr, "LZMA2 decoding failed, %zu/%zu -> %zu/%zu, props %02x\n",
500492
in_size, sevenzip_salt->packed_size, out_size, crc_len, sevenzip_salt->decoder_props[0]);
501493
#endif
502494
MEM_FREE(new_out);
@@ -526,7 +518,7 @@ int sevenzip_decrypt(unsigned char *derived_key)
526518
if (ret == BZ_STREAM_END) {
527519
#if DEBUG
528520
if (!benchmark_running && options.verbosity >= VERB_DEBUG)
529-
fprintf(stderr, "BZIP2 decoding passed, %zu/%zu -> %zu/%zu\n",
521+
fprintf_color(color_notice, stderr, "BZIP2 decoding passed, %zu/%zu -> %zu/%zu\n",
530522
sevenzip_salt->packed_size - inf_stream.avail_in, sevenzip_salt->packed_size,
531523
crc_len - inf_stream.avail_out, crc_len);
532524
#endif
@@ -535,7 +527,7 @@ int sevenzip_decrypt(unsigned char *derived_key)
535527
} else {
536528
#if DEBUG
537529
if (!benchmark_running && options.verbosity >= VERB_DEBUG)
538-
fprintf(stderr, YEL "BZIP2 decoding failed, %zu/%zu -> %zu/%zu\n" NRM,
530+
fprintf_color(color_warning, stderr, "BZIP2 decoding failed, %zu/%zu -> %zu/%zu\n",
539531
sevenzip_salt->packed_size - inf_stream.avail_in, sevenzip_salt->packed_size,
540532
crc_len - inf_stream.avail_out, crc_len);
541533
#endif
@@ -564,7 +556,7 @@ int sevenzip_decrypt(unsigned char *derived_key)
564556
if (ret == Z_STREAM_END) {
565557
#if DEBUG
566558
if (!benchmark_running && options.verbosity >= VERB_DEBUG)
567-
fprintf(stderr, "DEFLATE decoding passed, %zu/%zu -> %zu/%zu\n",
559+
fprintf_color(color_notice, stderr, "DEFLATE decoding passed, %zu/%zu -> %zu/%zu\n",
568560
sevenzip_salt->packed_size - inf_stream.avail_in, sevenzip_salt->packed_size,
569561
crc_len - inf_stream.avail_out, crc_len);
570562
#endif
@@ -573,7 +565,7 @@ int sevenzip_decrypt(unsigned char *derived_key)
573565
} else {
574566
#if DEBUG
575567
if (!benchmark_running && options.verbosity >= VERB_DEBUG)
576-
fprintf(stderr, YEL "DEFLATE decoding failed, %zu/%zu -> %zu/%zu\n" NRM,
568+
fprintf_color(color_warning, stderr, "DEFLATE decoding failed, %zu/%zu -> %zu/%zu\n",
577569
sevenzip_salt->packed_size - inf_stream.avail_in, sevenzip_salt->packed_size,
578570
crc_len - inf_stream.avail_out, crc_len);
579571
#endif
@@ -586,7 +578,7 @@ int sevenzip_decrypt(unsigned char *derived_key)
586578
if (p_type) {
587579
#if DEBUG
588580
if (!benchmark_running && options.verbosity >= VERB_DEBUG)
589-
fprintf(stderr, "Decoding %s, props %02x\n", precomp_type[p_type], sevenzip_salt->preproc_props);
581+
fprintf_color(color_notice, stderr, "Decoding %s, props %02x\n", precomp_type[p_type], sevenzip_salt->preproc_props);
590582
#endif
591583
if (p_type == 1) {
592584
uint32_t state;
@@ -595,12 +587,8 @@ int sevenzip_decrypt(unsigned char *derived_key)
595587
x86_Convert(out, crc_len, 0, &state, 0);
596588
}
597589
else if (p_type == 2) {
598-
if (!benchmark_running && options.verbosity >= VERB_DEFAULT) {
599-
static int warned;
600-
601-
if (!warned++)
602-
fprintf(stderr, YEL "Can't decode BCJ2, so skipping CRC check" NRM);
603-
}
590+
if (!benchmark_running && options.verbosity >= VERB_DEFAULT)
591+
WARN_ONCE(color_warning, stderr, "Can't decode BCJ2, so skipping CRC check");
604592
goto exit_good;
605593
}
606594
else if (p_type == 3)
@@ -620,7 +608,7 @@ int sevenzip_decrypt(unsigned char *derived_key)
620608
Delta_Decode(state, sevenzip_salt->preproc_props + 1, out, crc_len);
621609
#if DEBUG
622610
if (!benchmark_running && options.verbosity >= VERB_DEBUG)
623-
fprintf(stderr, YEL "DELTA decoding can't fail so result unknown\n" NRM);
611+
fprintf_color(color_notice, stderr, "DELTA decoding can't fail so result unknown\n");
624612
#endif
625613
}
626614
}
@@ -636,13 +624,13 @@ int sevenzip_decrypt(unsigned char *derived_key)
636624
if (ccrc == sevenzip_salt->crc) {
637625
#if DEBUG
638626
if (!benchmark_running && options.verbosity >= VERB_DEBUG)
639-
fprintf(stderr, "CRC check passed (%08x)\n", ccrc);
627+
fprintf_color(color_notice, stderr, "CRC check passed (%08x)\n", ccrc);
640628
#endif
641629
goto exit_good;
642630
}
643631
#if DEBUG
644632
if (!benchmark_running && options.verbosity >= VERB_DEBUG)
645-
fprintf(stderr, YEL "CRC failed, %08x vs %08x\n" NRM, ccrc, sevenzip_salt->crc);
633+
fprintf_color(color_warning, stderr, "CRC failed, %08x vs %08x\n", ccrc, sevenzip_salt->crc);
646634
#endif
647635

648636
exit_bad:

src/LM_fmt.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,14 +124,12 @@ static void init(struct fmt_main *self)
124124
fmt_LM.params.max_keys_per_crypt = DES_bs_max_kpc;
125125
#endif
126126

127-
static int warned;
128-
if (!warned && options.target_enc > CP_DOS_HI && !options.listconf &&
127+
if (options.target_enc > CP_DOS_HI && !options.listconf &&
129128
sizeof(tests) / sizeof(tests[0]) > 16) {
130-
fprintf_color(color_warning, stderr,
129+
WARN_ONCE(color_warning, stderr,
131130
"Warning: LM formats incompatible with %s encoding, disabling some tests\n",
132131
cp_id2name(options.target_enc));
133132
tests[16].ciphertext = NULL; // Truncates the array after 16 entries
134-
warned = 1;
135133
}
136134
}
137135

src/bestcrypt_ve_fmt_plug.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ john_register_one(&fmt_bestcrypt_ve);
3131
#endif
3232

3333
#include "arch.h"
34+
#include "john.h"
3435
#include "misc.h"
3536
#include "common.h"
3637
#include "formats.h"
@@ -229,7 +230,8 @@ static int valid(char *ciphertext, struct fmt_main *self)
229230
if (atoi(p) != 8 && atoi(p) != 9 && atoi(p) != 10 && atoi(p) != 11 && atoi(p) != 15)
230231
goto err;
231232
if (atoi(p) == 11) {
232-
fprintf(stderr, "Warning: " FORMAT_LABEL ": RC6 encryption not supported yet!\n");
233+
if (john_main_process && !ldr_in_pot)
234+
fprintf_color(color_warning, stderr, "Warning: " FORMAT_LABEL ": RC6 encryption not supported yet!\n");
233235
goto err;
234236
}
235237
if ((p = strtokm(NULL, "$")) == NULL) // salt

src/bitshares_fmt_plug.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,8 +300,9 @@ static int crypt_all(int *pcount, struct db_salt *salt)
300300
any_cracked |= 1;
301301

302302
if (memcmp(km, out_full, 4) != 0) {
303-
fprintf(stderr, "Warning: " FORMAT_LABEL ": Good padding, but bad checksum"
304-
" (corrupted data or false positive?) - will keep guessing\n");
303+
fprintf_color(color_warning, stderr,
304+
"Warning: " FORMAT_LABEL ": Good padding, but bad checksum"
305+
" (corrupted data or false positive?) - will keep guessing\n");
305306
fmt_bitshares.params.flags |= FMT_NOT_EXACT;
306307
}
307308
}

src/c3_fmt.c

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -141,15 +141,11 @@ static void init(struct fmt_main *self)
141141
*
142142
* That's why, don't require FLG_TEST_CHK to be set.
143143
*/
144-
if (options.flags & FLG_PASSWD) {
145-
fprintf(stderr,
146-
"\n%s: --subformat option is only for --test or --list=format-tests\n", FORMAT_LABEL);
147-
error();
148-
}
144+
if (options.flags & FLG_PASSWD)
145+
error_msg("\n%s: --subformat option is only for --test or --list=format-tests\n", FORMAT_LABEL);
149146

150147
if (!strcmp(options.subformat, "?")) {
151-
fprintf(stderr, "Subformat may either be a verbatim salt, or: descrypt, md5crypt, bcrypt, sha256crypt, sha512crypt, sunmd5, scrypt, yescrypt, gost-yescrypt\n\n");
152-
error();
148+
error_msg("Subformat may either be a verbatim salt, or: descrypt, md5crypt, bcrypt, sha256crypt, sha512crypt, sunmd5, scrypt, yescrypt, gost-yescrypt\n\n");
153149
} else if (!strcasecmp(options.subformat, "md5crypt") ||
154150
!strcasecmp(options.subformat, "md5")) {
155151
static struct fmt_tests tests[] = {
@@ -262,22 +258,18 @@ static void init(struct fmt_main *self)
262258
#endif
263259
if (c && strlen(c) >= 13)
264260
tests[i].ciphertext = xstrdup(c);
265-
else {
266-
fprintf(stderr, "%s not supported on this system\n",
261+
else
262+
error_msg("%s not supported on this system\n",
267263
options.subformat);
268-
error();
269-
}
270264

271265
/* No need to replace tests that we're not going to use */
272266
if (tests != self->params.tests)
273267
break;
274268
}
275269

276-
if (strlen(tests[0].ciphertext) == 13) {
277-
fprintf(stderr, "%s not supported on this system\n",
270+
if (strlen(tests[0].ciphertext) == 13)
271+
error_msg("%s not supported on this system\n",
278272
options.subformat);
279-
error();
280-
}
281273
}
282274
}
283275

@@ -371,11 +363,12 @@ static int valid(char *ciphertext, struct fmt_main *self)
371363

372364
if (id != 10 && !ldr_in_pot)
373365
if (john_main_process)
374-
fprintf(stderr, "Warning: "
375-
"hash encoding string length %d, type id %c%c\n"
376-
"appears to be unsupported on this system; "
377-
"will not load such hashes.\n",
378-
length, id > 0x20 ? '$' : '#', id > 0x20 ? id : '0' + id);
366+
fprintf_color(color_warning, stderr,
367+
"Warning: "
368+
"hash encoding string length %d, type id %c%c\n"
369+
"appears to be unsupported on this system; "
370+
"will not load such hashes.\n",
371+
length, id > 0x20 ? '$' : '#', id > 0x20 ? id : '0' + id);
379372

380373
if (!sup_length[length])
381374
sup_length[length] = -1;
@@ -607,7 +600,7 @@ static int crypt_all(int *pcount, struct db_salt *salt)
607600
if (!hash) {
608601
#pragma omp critical
609602
if (!warned) {
610-
fprintf(stderr,
603+
fprintf_color(color_warning, stderr,
611604
"Warning: crypt_r() returned NULL\n");
612605
warned = 1;
613606
}
@@ -638,7 +631,7 @@ static int crypt_all(int *pcount, struct db_salt *salt)
638631
#pragma omp critical
639632
#endif
640633
if (!warned) {
641-
fprintf(stderr,
634+
fprintf_color(color_warning, stderr,
642635
"Warning: crypt() returned NULL\n");
643636
warned = 1;
644637
}

0 commit comments

Comments
 (0)