Message ID | 20200320193250.31290-1-kuba@kadziolka.net |
---|---|
State | Accepted |
Headers | show |
Series | [bug#40154] gnu: Add hash-extender. | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
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.
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.
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); ++ } + }