|
|
Message-ID: <571D016A.40105@openwall.net>
Date: Sun, 24 Apr 2016 12:24:58 -0500
From: jfoug <jfoug@...nwall.net>
To: john-users@...ts.openwall.com
Subject: Rules 'C' command, wtf???
case 'C':
{
int pos = 0;
if ((in[0] = conv_tolower[ARCH_INDEX(in[0])]))
while (in[++pos])
in[pos] =
conv_toupper[ARCH_INDEX(in[pos])];
in[pos] = 0;
}
if (in[0] == 'm' && in[1] == 'C')
in[2] = conv_tolower[ARCH_INDEX(in[2])];
break;
That is straight from core (jumbo is identical).
From documentation:
c capitalize
C lowercase the first character, and uppercase the rest
I do understand the why of the McXyz handling within C but it is not
documented that way, and there are other cases which would also fall
into this situation. I really think this is the wrong place to put this
and that it would be better handled by a C=0m=1CT2 for this special
case, vs perverting the behavior of the C rule. If we have the Mc rule,
then why note Mac, De, Di ? I have also seen Aera, Bri and some others
start doing this common name double capitalizing. BUT should that be in
the rule? I think not.
I did not find this obscure modification to the rule primitive, until I
started running lots of random rules, looking for duplication. Well I
found one which was duplicate, but all of a sudden, I ended up with
something different, and was I was very surprised. When I went looking,
I found this mCX being converted into mCx by the C rule.
--
Community volunteer for John the Ripper project.
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.