1{ lib, stdenv, fetchurl, libmcrypt, libmhash }:
2
3stdenv.mkDerivation rec {
4 version = "2.6.8";
5 pname = "mcrypt";
6
7 src = fetchurl {
8 url = "mirror://sourceforge/mcrypt/MCrypt/${version}/${pname}-${version}.tar.gz";
9 sha256 = "5145aa844e54cca89ddab6fb7dd9e5952811d8d787c4f4bf27eb261e6c182098";
10 };
11
12 patches = [
13 ./format-string_CVE-2012-4426.patch
14 ./overflow_CVE-2012-4409.patch
15 ./segv.patch
16 ./sprintf_CVE-2012-4527.patch
17 ./malloc_to_stdlib.patch
18 ];
19
20 buildInputs = [ libmcrypt libmhash ];
21
22 meta = {
23 description = "Replacement for old UNIX crypt(1)";
24 longDescription = ''
25 mcrypt, and the accompanying libmcrypt, are intended to be replacements
26 for the old Unix crypt, except that they are under the GPL and support an
27 ever-wider range of algorithms and modes.
28 '';
29 homepage = "https://mcrypt.sourceforge.net";
30 license = lib.licenses.gpl3Only;
31 platforms = lib.platforms.all;
32 maintainers = [ lib.maintainers.qknight ];
33 };
34}