John the Ripper needs rebuild

Hi, sorry for reporting this so late… John the Ripper (extra/john) needs to be rebuilt, it must got broken after some Python updates - some of its tools do not work.
At least, bitcoin2john complains about bssdb3… I haven’t checked all the tools.

I replaced this package with aur/john-git, which uses the “Jumbo patch” version, and it works like a charm.

However, both extra/john and aur/john-git are lacking the python-bsddb dependency.

HTH

Cheers,

please check the forumthread of the latest updates first. there is already a description about python-311 updating. follow this instructions and make sure that your system is up to date

Why do you think so?

Why? It doesn’t need to be rebuilt for Python point releases. FYI, python is only an optional dependency for some scripts.

What tools? What doesn’t work?

So does the john package in the extra repo.

Why does it depend on it? Did you receive an error message?

We should not have to play 20 Questions with you. Please provide enough information to help us help you.

Please see:

follow this instructions and make sure that your system is up to date

it is!

have you instead tried to launch bitcoin2john to verify that it is throwing an error?

Why do you think so?

because the version that the package is built from is based on an old code version that does not work with the latest python release.

FYI, python is only an optional dependency for some scripts.

like bitcoin2john, which is the one that does not work anymore.
However, python-bsddb is not listed as optional dependency in those packages.

What tools? What doesn’t work?

as I said in my first message: bitcoin2john. it complains about a missing bsddb import:

$ bitcoin2john 
/usr/bin/bitcoin2john:564: SyntaxWarning: "is not" with a literal. Did you mean "!="?
  if len(txid) is not 64:
Traceback (most recent call last):
  File "/usr/bin/bitcoin2john", line 34, in <module>
    from bsddb.db import *
ModuleNotFoundError: No module named 'bsddb'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/bitcoin2john", line 36, in <module>
    from bsddb3.db import *
ModuleNotFoundError: No module named 'bsddb3'

but even after pacman -S python-bsddb it still does not work:

$ bitcoin2john 
/usr/bin/bitcoin2john:564: SyntaxWarning: "is not" with a literal. Did you mean "!="?
  if len(txid) is not 64:
Traceback (most recent call last):
  File "/usr/bin/bitcoin2john", line 823, in <module>
    print >> sys.stderr, "Usage: %s [Bitcoin/Litecoin/PRiVCY wallet (.dat) files]" % sys.argv[0]
    ~~~~~~^^~~~~~~~~~~~
TypeError: unsupported operand type(s) for >>: 'builtin_function_or_method' and '_io.TextIOWrapper'. Did you mean "print(<message>, file=<output_stream>)"?

So does the john package in the extra repo.

I didn’t know/check. But the version from the aur, after being built, works correctly.

Why does it depend on it? Did you receive an error message? We should not have to play 20 Questions with you.

Yes, as I said in my first message. However, since I had already fixed it, I had lost the error messages and thought it was enough to explain what the issue was and how I fixed it.
Now I have re-installed the package from extra and reproduced the error, and reported the exact strings is this message.

Please provide enough information to help us help you.

I just honestly thought I did.
I also thought: "hey, it’s immediate to just run bitcoin2john <RETURN> and see what the error is…

Copy that. @Olli was just trying to cover the bases. Would you believe how many issues are solved by just making sure folks are fully up to date? :wink:

The point here is, you have presented us with an XY Problem: Your topic title references your imagined solution rather than your actual problem. This has already led to wasted time and energy, both on your part and on the part of those willing to help.

Thank you for providing more information. In general, If you had provided that information to begin with, we might have known what the problem was without having to install the software ourselves.

I just did with and without python-bsddb and received the same output.

There was no difference after rebuilding john in a clean chroot. As I mentioned, john has never needed a rebuild on a new Python point release. The only rebuilds that have been done was for OpenSSL.

Well, then the issue is apparently already fixed upstream but hasn’t made it into a new release yet.