Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [day] [month] [year] [list]
Date: Fri, 25 Apr 2014 09:54:33 -0500
From: "jfoug" <jfoug@....net>
To: <john-dev@...ts.openwall.com>
Subject: RE: Compilation failure

This patch has been sent to magnum to get checked in.  Sorry, this was my
bad.  I had only built on a system with rexgen.  That has now been 'fixed'.

This is the patch, which should be in git quickly

diff -urpN bleed2/src/wordlist.c bleed0/src/wordlist.c
--- bleed2/src/wordlist.c	2014-04-25 09:42:18.618438700 -0500
+++ bleed0/src/wordlist.c	2014-04-25 09:36:22.826863100 -0500
@@ -359,7 +359,7 @@ void do_wordlist_crack(struct db_main *d
 		options.force_minlength : 0;
 	char *regex_alpha = 0;
 	int regex_case = 0;
-	char *regex = options.regex;
+	char *regex = 0;
 
 	log_event("Proceeding with %s mode",
 	          loopBack ? "loopback" : "wordlist");
@@ -367,7 +367,13 @@ void do_wordlist_crack(struct db_main *d
 	if (options.activewordlistrules)
 		log_event("- Rules: %.100s", options.activewordlistrules);
 
-	regex = prepare_regex(regex, &regex_case, &regex_alpha);
+#if HAVE_REXGEN
+	regex = prepare_regex(options.regex, &regex_case, &regex_alpha);
+#else
+	/* quiet stupid unused warnings */
+	regex_case = regex_case;
+	regex = regex_alpha;
+#endif
 
 	length = db->format->params.plaintext_length;
 	if (options.force_maxlength && options.force_maxlength < length)

-----Original Message-----
From: Julien Legras [mailto:julien.legras@...acktiv.com] 
Sent: Friday, April 25, 2014 7:17
To: john-dev@...ts.openwall.com
Subject: [john-dev] Compilation failure

Hello,

I pull this morning the f6c2ea0e932cf613697f5947b2418e04d9ee9be7
revision from bleeding-jumbo branch and the compilation fails with the
following error:

gcc -c -Wall -Wdeclaration-after-statement -O2 -fomit-frame-pointer 
-I/usr/local/include          -DHAVE_CRYPT -DHAVE_DL -march=native 
-funroll-loops wordlist.c -o wordlist.o
wordlist.c: In function 'do_wordlist_crack':
wordlist.c:370:57: error: expected expression before ';' token
   regex = prepare_regex(regex, &regex_case, &regex_alpha);
                                                          ^

The regex is already modified in the prepare_regex function so there is no
need to assign the return value. Please, tell me if I am wrong.

Here is a quick fix (git diff):

diff --git a/src/wordlist.c b/src/wordlist.c index 7eb6817..277cbf0 100644
--- a/src/wordlist.c
+++ b/src/wordlist.c
@@ -367,7 +367,7 @@ void do_wordlist_crack(struct db_main *db, char *name,
int rules)
         if (options.activewordlistrules)
                 log_event("- Rules: %.100s", options.activewordlistrules);

-       regex = prepare_regex(regex, &regex_case, &regex_alpha);
+       prepare_regex(regex, &regex_case, &regex_alpha);

         length = db->format->params.plaintext_length;
         if (options.force_maxlength && options.force_maxlength < length)




Julien Legras

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ