Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20101008202454.GA18153@openwall.com>
Date: Sat, 9 Oct 2010 00:24:54 +0400
From: Solar Designer <solar@...nwall.com>
To: john-users@...ts.openwall.com
Subject: Re: Rule to replace strings

Rich,

On Fri, Oct 08, 2010 at 01:40:19PM -0400, Rich Rumble wrote:
> /X	reject the word unless it contains character X

Right.  In the absence of a string match command, we have to use one of
the character match commands.

> /[2009] s[2009][2010]
> something like that isn't it?

Although the above was very wrong (which I've commented on in other
postings), I am actually grateful to you for posting it.  This gives me
an opportunity to point out just what you're missing - namely, the
distinction between preprocessor constructs (the square brackets) and
rule commands.  What you really wanted were string match and string
replace commands, but they don't exist, and the above syntax corresponds
to something that does exist but is entirely different.  You're having
the preprocessor produce lots of individual rules that operate on
individual characters, whereas the strings 2009 and 2010 do not make it
into the rules (only the individual characters do).

Clearly, a lot of others are missing this distinction too (preprocessor
constructs vs. rule commands).  I'd appreciate any specific suggestions
on improving the documentation in this respect.

Maybe someone who ran into this problem at first but then figured things
out could even write a piece of documentation that would have made
things clear to them right away?

Thanks,

Alexander

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.