GNU bug report logs - #40154
[PATCH] gnu: Add hash-extender.

Previous Next

Package: guix-patches;

Reported by: Jakub Kądziołka <kuba <at> kadziolka.net>

Date: Fri, 20 Mar 2020 19:34:01 UTC

Severity: normal

Tags: patch

Done: Jakub Kądziołka <kuba <at> kadziolka.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 40154 in the body.
You can then email your comments to 40154 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#40154; Package guix-patches. (Fri, 20 Mar 2020 19:34:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jakub Kądziołka <kuba <at> kadziolka.net>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 20 Mar 2020 19:34:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jakub Kądziołka <kuba <at> kadziolka.net>
To: guix-patches <at> gnu.org
Subject: [PATCH] gnu: Add hash-extender.
Date: Fri, 20 Mar 2020 20:32:49 +0100
* gnu/packages/crypto.scm (hash-extender): New variable.
---
 gnu/packages/crypto.scm                       | 39 +++++++++++++++++++
 .../patches/hash-extender-test-suite.patch    | 12 ++++++
 2 files changed, 51 insertions(+)
 create mode 100644 gnu/packages/patches/hash-extender-test-suite.patch

diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index b808211b2d..9aa9a73503 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -1072,3 +1072,42 @@ cryptographic ratchet.  It is written in C and C++11, and exposed as a C
 API.")
     (home-page "https://matrix.org/docs/projects/other/olm/")
     (license license:asl2.0)))
+
+(define-public hash-extender
+  (let ((commit "9ecef26809a1ceea2a455f6f591b004298df551b")
+        (revision "1"))
+    (package
+      (name "hash-extender")
+      (version (git-version "0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/iagox86/hash_extender")
+                      (commit commit)))
+                (sha256
+                 (base32
+                  "0fqy3d559zgf71w39py0931d8na0ylils45r8zs6r79wgr6qn78c"))
+                (file-name (git-file-name name version))
+                (patches
+                  (search-patches "hash-extender-test-suite.patch"))))
+      (build-system gnu-build-system)
+      (arguments
+       `(#:phases
+         (modify-phases %standard-phases
+           (delete 'configure)
+           (replace 'check
+             (lambda _
+               (invoke "./hash_extender_test")))
+           (replace 'install
+             (lambda* (#:key outputs #:allow-other-keys)
+               (let* ((outdir (assoc-ref outputs "out"))
+                      (bindir (string-append outdir "/bin")))
+                 (install-file "hash_extender" bindir)))))))
+      (inputs
+       `(("openssl" ,openssl)))
+      (synopsis "Tool for hash length extension attacks")
+      (description "@command{hash_extender} is a utility for performing hash
+length extension attacks supporting MD4, MD5, RIPEMD-160, SHA-0, SHA-1,
+SHA-256, SHA-512, and WHIRLPOOL hashes.")
+      (home-page "https://github.com/iagox86/hash_extender")
+      (license license:bsd-3))))
diff --git a/gnu/packages/patches/hash-extender-test-suite.patch b/gnu/packages/patches/hash-extender-test-suite.patch
new file mode 100644
index 0000000000..a3e6218944
--- /dev/null
+++ b/gnu/packages/patches/hash-extender-test-suite.patch
@@ -0,0 +1,12 @@
+Make the test suite exit with a non-zero exit code if some tests failed.
+--- a/test.c
++++ b/test.c
+@@ -79,5 +79,9 @@ void test_report(void)
+     printf("TESTS PASSED: %d / %d [%2.4f%%]\n", tests_passed, tests_run, 100 * (float)tests_passed / tests_run);
+     printf("--------------------------------------------------------------------------------\n");
+   }
++
++  if (tests_passed != tests_run) {
++      exit(1);
++  }
+ }
-- 
2.25.1





Information forwarded to guix-patches <at> gnu.org:
bug#40154; Package guix-patches. (Fri, 20 Mar 2020 20:22:01 GMT) Full text and rfc822 format available.

Message #8 received at 40154 <at> debbugs.gnu.org (full text, mbox):

From: Leo Famulari <leo <at> famulari.name>
To: Jakub Kądziołka <kuba <at> kadziolka.net>
Cc: 40154 <at> debbugs.gnu.org
Subject: Re: [bug#40154] [PATCH] gnu: Add hash-extender.
Date: Fri, 20 Mar 2020 16:21:03 -0400
On Fri, Mar 20, 2020 at 08:32:49PM +0100, Jakub Kądziołka wrote:
> * gnu/packages/crypto.scm (hash-extender): New variable.

Thanks!

> ---
>  gnu/packages/crypto.scm                       | 39 +++++++++++++++++++
>  .../patches/hash-extender-test-suite.patch    | 12 ++++++

Remember to register the patch file in 'gnu/local.mk' and mention it in
the commit message.

> +           (replace 'install
> +             (lambda* (#:key outputs #:allow-other-keys)
> +               (let* ((outdir (assoc-ref outputs "out"))
> +                      (bindir (string-append outdir "/bin")))
> +                 (install-file "hash_extender" bindir)))))))

Can you install the README.md too? It would go under something like:
(string-append "share/doc/hash-extender" ,version "/")

... so that it fits correctly in the user's profile.

> diff --git a/gnu/packages/patches/hash-extender-test-suite.patch b/gnu/packages/patches/hash-extender-test-suite.patch

And I would consider submitting this patch upstream.




Reply sent to Jakub Kądziołka <kuba <at> kadziolka.net>:
You have taken responsibility. (Sat, 21 Mar 2020 12:08:02 GMT) Full text and rfc822 format available.

Notification sent to Jakub Kądziołka <kuba <at> kadziolka.net>:
bug acknowledged by developer. (Sat, 21 Mar 2020 12:08:02 GMT) Full text and rfc822 format available.

Message #13 received at 40154-done <at> debbugs.gnu.org (full text, mbox):

From: Jakub Kądziołka <kuba <at> kadziolka.net>
To: Leo Famulari <leo <at> famulari.name>
Cc: 40154-done <at> debbugs.gnu.org
Subject: Re: [bug#40154] [PATCH] gnu: Add hash-extender.
Date: Sat, 21 Mar 2020 13:07:55 +0100
[Message part 1 (text/plain, inline)]
On Fri, Mar 20, 2020 at 04:21:03PM -0400, Leo Famulari wrote:
> On Fri, Mar 20, 2020 at 08:32:49PM +0100, Jakub Kądziołka wrote:
> > ---
> >  gnu/packages/crypto.scm                       | 39 +++++++++++++++++++
> >  .../patches/hash-extender-test-suite.patch    | 12 ++++++
> 
> Remember to register the patch file in 'gnu/local.mk' and mention it in
> the commit message.

Ugh, I always forget to do this, even though I always notice it's
missing when I'm *reviewing* patches.

> > +           (replace 'install
> > +             (lambda* (#:key outputs #:allow-other-keys)
> > +               (let* ((outdir (assoc-ref outputs "out"))
> > +                      (bindir (string-append outdir "/bin")))
> > +                 (install-file "hash_extender" bindir)))))))
> 
> Can you install the README.md too? It would go under something like:
> (string-append "share/doc/hash-extender" ,version "/")
> 
> ... so that it fits correctly in the user's profile.

Huh. For a moment I thought the version is pointless here, but then I
noticed the LICENSE file. I did as suggested, though with a dash before the
version.

> > diff --git a/gnu/packages/patches/hash-extender-test-suite.patch b/gnu/packages/patches/hash-extender-test-suite.patch
> 
> And I would consider submitting this patch upstream.

Good idea!

Thanks for your review! Amended patch pushed as
bbeb710de70521010b3d432cb5b4b14ce6e45ca6.
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 19 Apr 2020 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.