Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 12 Mar 2013 23:09:49 +0100
From: magnum <john.magnum@...hmail.com>
To: john-dev@...ts.openwall.com
Subject: Re: *2john utils dev guide

On 12 Mar, 2013, at 22:38 , Lukas Odzioba <lukas.odzioba@...il.com> wrote:

> magnum,all,
> 
> currently in jumbo we have plenty of tools like gpg2john, and our code
> will be growing up.
> Maybe it would be good idea to make short developer's guide according
> to utils (formats later?).
> 
> It could be short list how code should behave, for example: support
> multiple input files, error handling, exit codes...
> I see at least two pros:
> -base of code consistency
> -clear guidelines for developers
> 
> Please let me know what do you think,

I agree. I for one have no idea how to make a nnn2john symlink to john. I could probably sort it out but it would be nice to have it documented.

Things I can think of right now:
- support multiple input files.
- do not support any output file: Output to stdout.
- errors/warnings (obviously) to stderr. If multiple files, warn but do not bail unless you have to.
- support/handle Unicode if applicable (eg. convert to UTF-8 or include an encoding tag).
- put ids/keywords/other data in login and gecos fields if possible (think Single mode).
- if filename is used as login field, use its basename.
- handle sizes over 4 GB if applicable (eg. RAR, DMG).
- Prefer Base64 over hex for long blobs (we could add shared functions for this in base64.c).

Side note: How to decide on a new input format:
- try hard to find if any other tool already established a format.
- try to make it future-proof/generic/version-safe.
- ...

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.