Date: Sat, 15 Dec 2012 11:07:11 +0100 From: Frank Dittrich <frank_dittrich@...mail.com> To: john-dev@...ts.openwall.com Subject: Re: bash completion failures On 12/14/2012 11:20 PM, magnum wrote: > There are some recent problems with bash completion. At first I thought it was OSX only so I postponed reporting it for collecting more data, but it seems to be general. > > Normal options work fine. Hidden options does not seem to work at all. > > ../run/john --req[tab][tab] > -> > nothing happens [...] > ../run/john --list=req[tab] > -> > ../run/john --list=request- > > > ../run/john --list=request-sc[tab] > -> > ../run/john --list=request-scalar > > > So the hidden options are there, but misplaced! Now I did have some time to look into the issue. Since I don't have a CUDA or OpenCL build, I didn't know about request-scalar and request-vectorize. So I grepped the source, and found printf("request-vectorize, request-scalar, "); in john.c, inside john_list_options(). So, expanding ./john --list=request-sc[tab] to ./john --list=request-scalar is correct. I also found puts("--request-vectorize request vectorized mode"); puts("--request-scalar request non-vectorized mode"); in options.c inside print_hidden_usage(void). After removing the #ifdefs, I can see these options with --list=hidden-options and with --list=help. After these changes, on my system ./john --req[tab] completes to ./john --request- and ./john --request-s[tab] completes to ./john --request-scalar .john --list=re[tab] completes to ./john --list=request- and ./john --list=request-v completes to ./john --list=request-vectorize So far, for me everything works as designed. Of course, if I try to run those commands, I get: $ ./john --list=request-vectorize Section [request-vectorize] not found. help[:WHAT], subformats, inc-modes, rules, externals, ext-filters, ext-filters-only, ext-modes, build-info, hidden-options, encodings, formats, format-details, format-all-details, format-methods[:WHICH], sections, parameters:SECTION, list-data:SECTION, request-vectorize, request-scalar, <conf section name> $ ./john --request-scalar Unknown option: "--request-scalar" But that is to be expected, since I don't use a CUDA/OpenCL version and instead just removed the #ifdefs for the usage output. Does completion work for you if you try other hidden options like --plug[tab]? Are you sure you really use the latest john.bash_completion, and not some older version? Can you send me the output of these commands: ./john ./john --list=hidden-options ./john --list=help (Private mail is OK. If I find what caused your problem, I can post a summary to the list.) Thanks. 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.