|
Message-ID: <BLU0-SMTP2243E836062EFDA3F4BDEB5FD020@phx.gbl>
Date: Wed, 23 May 2012 00:43:39 +0200
From: Frank Dittrich <frank_dittrich@...mail.com>
To: john-dev@...ts.openwall.com
Subject: Re: Fwd: bash auto-completion for john
On 05/22/2012 10:29 PM, magnum wrote:
> On 05/22/2012 07:39 PM, Frank Dittrich wrote:
>> Can someone post john's usage output for a CUDA/OpenCL build
>
> Ah, yes. For CUDA builds there is -device only. For OpenCL builds, there
> are -platform and -device. A GPU build has both CUDA and OpenCL (and
> then the -device option will mean CUDA device or OpenCL device depending
> on what format you chose). They will show up like this in the usage blob:
Thanks for your reply.
> CUDA build:
> --device=N set CUDA device, default 0
So, for a CUDA build I cannot provide completion for --device=
I hope $? will be != 0 if I try ./john --device=LIST.
> OpenCL build:
> --platform=N (or =LIST) set OpenCL platform, default 0
> --device=N set OpenCL device, default 0
Normally, I should check whether --platform=N (or -pla:N ...) exists on
the command line, and list only devices for that platform.
(This will have to wait for a later release, I'm afraid.)
> GPU build:
> --platform=N (or =LIST) set OpenCL platform, default 0
> --device=N set OpenCL or CUDA device, default 0
Same as above, but for CUDA there could even be other device numbers...
Tricky.
Whether CUDA or OpenCL is used depends on the format name, I guess.
What is the output of
$ ./john --list=build-info
for CUDA / OpenCL / GPU build?
> The question is mostly about what distribution you use.
Fedora 16.
> --device=LIST (or --platform=LIST which is currently exactly the same)
John's usage output (as provided above) currently doesn't indicate that
"--device=LIST" is allowed (for GPU and OpenCL).
Can --device=LIST in combination with --platform=N be changed to only
list devices for platform N, instead of listing all devices for all
platforms?
Or doesn't this make sense at all?
I already started implementing completion after reading the source, but
somehow I missed that --platform=LIST will list platforms and devices.
I think I fixed the logic now.
Currently, I would list these completion options for --platform= for
your build (unless I made a stupid mistake):
0 1 LIST
And --platform=l would get expanded to --platform=list
For --device=, I would just find one value (0), and complete --device=
to --device=0, without listing LIST as a possible completion.
Since I cannot yet test completion for --device= and --platform=, can
you do it before committing the change? Thanks.
BTW:
There is an inconsistency between john options and options for the jumbo
version of unique.
While john allows --option and -option, unique only allows -option.
Should that be fixed? (If so, the usage output should use --option, even
if -option is allowed (--v should only be allowed as an abbreviated form
of --verbose).
Then, I could also complete -option to --option, to be consistent with
completion for john.
Is this important?
There is another inconsistency:
john allows -option:value, while unique doesn't allow -option:value.
(But I wouldn't spend effort changing this.)
Frank
View attachment "john.bash_completion" of type "text/plain" (18704 bytes)
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.