summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/tools/security/sha1collisiondetection/default.nix35
-rw-r--r--pkgs/top-level/all-packages.nix2
2 files changed, 37 insertions, 0 deletions
diff --git a/pkgs/tools/security/sha1collisiondetection/default.nix b/pkgs/tools/security/sha1collisiondetection/default.nix
new file mode 100644
index 000000000000..de1796f431d3
--- /dev/null
+++ b/pkgs/tools/security/sha1collisiondetection/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, libtool, which }:
+
+stdenv.mkDerivation  rec {
+  pname = "sha1collisiondetection";
+  version = "1.0.1";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "cr-marcstevens";
+    repo = pname;
+    rev = "development-v${version}";
+    sha256 = "09vd5mgclcdx7yq3kwzxy1z7pbxcp0xljfly7hy4ixahmnn290h6";
+  };
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  doCheck = true;
+
+  nativeBuildInputs = [ libtool which ];
+
+  meta = with stdenv.lib; {
+    description = "Library and command line tool to detect SHA-1 collision";
+    longDescription = ''
+      This library and command line tool were designed as near drop-in
+      replacements for common SHA-1 libraries and sha1sum. They will
+      compute the SHA-1 hash of any given file and additionally will
+      detect cryptanalytic collision attacks against SHA-1 present in
+      each file. It is very fast and takes less than twice the amount
+      of time as regular SHA-1.
+      '';
+    platforms = platforms.all;
+    maintainers = with maintainers; [ leenaars ];
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 0d30fc3ccc1e..c51a76f6c83d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -3825,6 +3825,8 @@ with pkgs;
 
   sg3_utils = callPackage ../tools/system/sg3_utils { };
 
+  sha1collisiondetection = callPackage ../tools/security/sha1collisiondetection { };
+
   shadowsocks-libev = callPackage ../tools/networking/shadowsocks-libev { };
 
   sharutils = callPackage ../tools/archivers/sharutils { };