|
|
Message-ID: <6f1fb348b6a0d9f53b92b0b26c608c50@smtp.hushmail.com>
Date: Wed, 23 Jan 2013 23:00:06 +0100
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: Min password length
On 23 Jan, 2013, at 21:15 , Frank Dittrich <frank_dittrich@...mail.com> wrote:
> On 01/23/2013 07:02 PM, magnum wrote:
>> On 23 Jan, 2013, at 18:43 , Frank Dittrich <frank_dittrich@...mail.com> wrote:
>>> On 01/23/2013 06:25 PM, magnum wrote:
>>>> BTW we need some systematic testing of these new options.
>>>
>>> I knew how --min-length=N and --max-length=N work for --incremental and
>>> --markov (tested this in the past).
>>> After my last reply to Jim I tested it with --wordlist (with and without
>>> --rules), and was just thinking about how to test it for --single mode
>>> (since --single doesn't work well with --stdout).
>>
>> The mechanisms for this are in the rules engine, so if it works fine for Wordlist it ought to work fine for Single.
>
> What about --stdin instead of --wordlist?
This should be tested too but it uses the same code so "can't" be different.
More important is to test --pipe without rules (because of buffering), and --wordlist should be tested with --mem=0 to force memory buffer, and --mem=5 (ie. anything shorter than wordlist) to force *not* using buffer. All this with and without rules. The buffer code has some special handling so this is important. I believe the MPI case can be improved in terms of balancing between nodes when rules are not in use and a lot of words are rejected during loading already. But the output should work correctly as-is.
I did test all this while implementing the options but I might have missed something.
BTW note that things like this may happen during testing:
$ ../run/john --stdout -wo -ru --min-len=10 | perl -e 'while (<>) { chomp; $len{ length($_)}++; } foreach $len (keys(%len)) { printf "%02d: %d\n", $len, $len{$len}; }' | sort -n
words: 13228 time: 0:00:00:00 DONE (Wed Jan 23 22:51:01 2013) w/s: 146977 current: Notuseding
10: 7173
11: 2114
12: 3801
13: 81
14: 55
15: 2
16: 2
$ ../run/john --stdout=11 -wo -ru --min-len=10 | perl -e 'while (<>) { chomp; $len{ length($_)}++; } foreach $len (keys(%len)) { printf "%02d: %d\n", $len, $len{$len}; }' | sort -n
words: 12970 time: 0:00:00:00 DONE (Wed Jan 23 22:51:48 2013) w/s: 144111 current: Notuseding
10: 7173
11: 5797
$ bc <<< 2+2+55+81+3801+2114
6055
Why did we get 5797 instead of 6055? This is not a bug! It is because the consecutive-dupes suppression muted more words.
magnum
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.