openwall / openwall/john

Re-work self-test code.

Open
#948 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C
Stars
13.6k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

The current self-test code differs from IRL runs. For example, it will do things like this:

  1. call clear_keys()
  2. call set_key(0)
  3. call crypt_all(1)
  4. call set_key(1)
  5. call crypt_all(2)

We should re-work it but we need to think it over very carefully.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the self-test flow that performs clear_keys(), set_key(), and crypt_all(), then compare its sequence with an IRL run. The issue provides no file or test entry point, so map both execution paths before deciding on the redesign; done means the self-test follows the real-run sequence.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
cryptography, testing
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.