diff -urpN john-1.7.8-jumbo-5.orig//src/john.c john-1.7.8-jumbo-5/src/john.c --- john-1.7.8-jumbo-5.orig//src/john.c 2011-08-23 07:58:57.000000000 +0000 +++ john-1.7.8-jumbo-5/src/john.c 2011-08-23 07:59:09.000000000 +0000 @@ -226,8 +226,21 @@ static void john_load(void) umask(077); #endif - 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 | + FLG_MKV_CHK)) + 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;