diff -urpN john-1.7.8.orig//src/john.c john-1.7.8/src/john.c --- john-1.7.8.orig//src/john.c 2011-02-27 12:31:36.000000000 +0000 +++ john-1.7.8/src/john.c 2011-08-23 00:01:26.000000000 +0000 @@ -129,8 +129,23 @@ static void john_load(void) umask(077); - if (options.flags & FLG_EXTERNAL_CHK) + if (options.flags & FLG_EXTERNAL_CHK) { ext_init(options.external); + if (options.flags & (FLG_BATCH_CHK | FLG_SINGLE_CHK | + FLG_WORDLIST_CHK | FLG_INC_CHK | FLG_MAKECHR_CHK)) +#ifdef FLG_MKV_CHK + if (options.flags & FLG_MKV_CHK) +#endif + if (!f_filter) { + log_event("! No filter() function defined"); +#ifdef HAVE_MPI + if (mpi_id == 0) +#endif + fprintf(stderr, "No filter() for external mode: %s\n", + ext_mode); + error(); + } + } if (options.flags & FLG_MAKECHR_CHK) { options.loader.flags |= DB_CRACKED;