Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
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.