Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Mon, 11 Sep 2017 18:05:56 +0200
From: Frank Dittrich <>
Subject: Re: John the Ripper v1.8.0.9-jumbo-1-bleeding (Bleeding
 version on 2017-09-01), compiled for windows, on the custom-builds site

Hi Robert,

sorry for the late reply (been busy).

Am 03.09.2017 um 18:16 schrieb
> Why does doing it the git way modify the version string, but downloading it as a zip does not?

The version string is modified using a git command in the makefile, as 
long as you are inside a git repository.
I think we could manage to execute a similar command whenever github 
creates a tar ball or zip file for download, but so far we didn't.
(That version string wouldn't be as useful, since a user could have 
changed files in his local directory after download, which the version 
string wouldn't reflect.)

> I'm not really sure how to do that. Can you point me to some directions on that?

You need to have git installed in addition to the tools you need to 
build john.

As long as you don't intend to do john development, you just need 2 git 

For the very first time, you use

fd@...m:~/git$ git clone
Cloning into 'JohnTheRipper'...
remote: Counting objects: 77391, done.
remote: Total 77391 (delta 0), reused 0 (delta 0), pack-reused 77391
Receiving objects: 100% (77391/77391), 85.53 MiB | 1.66 MiB/s, done.
Resolving deltas: 100% (60249/60249), done.
Checking connectivity... done.

So, git will then clone the remote repository into a new directory on 
your local file system.
The git clone is larger than a tar ball, since it includes the complete 
version history for all branches. Later updates will be faster and smaller.
(There are options to create a shallow clone, but that's an advanced topic.)

Now you just cd into the src subdirectory:

fd@...m:~/git$ cd JohnTheRipper/src/

and build john:

fd@...m:~/git/JohnTheRipper/src$ make -s distclean; ./configure
make: *** No rule to make target 'distclean'.  Stop.
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking whether to compile using MPI... no
checking for gcc... gcc
Configure finished.  Now 'make clean && make -s' to compile.

Don't worry about "make: *** No rule to make target 'distclean'.  Stop."

This message will disappear after you ran ./configure...

fd@...m:~/git/JohnTheRipper/src$ make -s clean
fd@...m:~/git/JohnTheRipper/src$ make -s -j 16
ar: creating aes.a
ar: creating secp256k1.a

Make process completed.

If you wan to update your local git repository, to gat all the changes 
since your last update (or since the initial clone), just move into any 
directory of your local repository, e.g., into the src subdirectory.

Then run:

fd@...m:~/git/JohnTheRipper/src$ \
 > git pull
  * branch            HEAD       -> FETCH_HEAD
Updating 8930fb5..08a5c76
  src/crc32_fmt_plug.c         | 2 +-
  src/episerver_fmt_plug.c     | 2 +-
  src/opencl_pfx_fmt_plug.c    | 2 +-
  src/opencl_wpapsk_fmt_plug.c | 2 +-
  src/pfx_fmt_plug.c           | 2 +-
  src/qnx_fmt_plug.c           | 2 +-
  src/rar2john.c               | 6 ++++--
  src/sapH_fmt_plug.c          | 2 +-
  src/wpapsk_fmt_plug.c        | 2 +-
  9 files changed, 12 insertions(+), 10 deletions(-)

(I entered a \, to be able to specify the git command on the 
continuation prompt. Otherwise, I would have a line break in the git 
command which might have been confusing.)

In this case, my output looks somewhat different to the output you'll 
get, because I manipulated my local git repository to point to an 
earlier commit. So, no new commits needed to be downloaded from github.

But in your case, git would download all the changes that occurred since 
your git clone (or since the previous git pull)

  Now, you can just repeat the build process with the most recent changes.

fd@...m:~/git/JohnTheRipper/src$ make -s distclean; ./configure

Best regards


Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ