Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [day] [month] [year] [list]
Date: Sun, 8 Jul 2012 19:42:07 +0200
From: Frank Dittrich <frank_dittrich@...mail.com>
To: john-dev@...ts.openwall.com
Subject: Name space for dynamic_* formats (1001-1999 / 2000-9999)

The comment in dynamic.conf states that formats up to dynamic_999
(0-999) are reserved for built-in functions.
Formats dynamic_1001 - dynamic_1010 are defined in dynamic.conf.
(Earlier releases didn't contain dynamic_1010.)

So there is a risk that names used for new formats created by a user
might conflict with new formats that get distributed with new jumbo
releases.

We might need to rephrase the comments at the start of dynamic.conf, to
make the users aware of these possible conflicts.

doc/DYNAMIC_SCRIPTING needs updates for other reasons as well, but what
I want to address right now is:

[List.Generic:dynamic_NUM]

You replace the NUM with the sub-format number (from 1001 to 9999).
Pick a number that is not used.


May be we need to adjust the suggestion. What about:
"The sub-format numbers from 1000-1999 will be used to distribute new
dynamic formats (defined in dynamic.conf) in future john (jumbo) releases.
To avoid naming conflicts, users should use sub-format numbers 9000-9999
for their own dynamic formats."

That way we leave open what should happen with names 2000-8999.
May be we later suggest users who are not developers can use format
numbers 2000-2999 to post their own dynamic formats to john-users, for
possible inclusion in future jumbo releases.

But I think there are some problems when you try to use format numbers >
1999.

When I renamed dynamic_1002 to dynamic_2002 (you have to "rename" the
test cases as well), --list=subformats (as well as the deprecated
--subformat=list) will list that format as the last user-specific format:

...
UserFormat = dynamic_1009  type = dynamic_1009 md5($s.$p) (RADIUS Responses)
UserFormat = dynamic_1010  type = dynamic_1010 RAdmin v2.x MD5
UserFormat = dynamic_2002  type = dynamic_2002 md5(md5(md5(md5(md5($p)))))

This also works:
$ ./john --test --format=dynamic_2002
Benchmarking: dynamic_2002 md5(md5(md5(md5(md5($p))))) [128/128 SSE2
intrinsics 10x4x3]... DONE
Raw:	926040 c/s real, 935393 c/s virtual

But these --list=format-details and --list=format-all-details don't
include dynamic_2002:

$ ./john --list=format-details |grep _2002

$ ./john --list=format-all-details |grep _2002

So, before suggesting to use numbers > 1999, we need to make sure that
--list-format-details and --list=format-all-details work for sub-format
numbers 2000-9999.

Frank

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.