|
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.