diff --git a/pkgs/servers/mail/exim/cve-2017-16943.patch b/pkgs/servers/mail/exim/cve-2017-16943.patch deleted file mode 100644 index 69ce9150723..00000000000 --- a/pkgs/servers/mail/exim/cve-2017-16943.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 4e6ae6235c68de243b1c2419027472d7659aa2b4 Mon Sep 17 00:00:00 2001 -From: Jeremy Harris -Date: Fri, 24 Nov 2017 20:22:33 +0000 -Subject: [PATCH] Avoid release of store if there have been later allocations. - Bug 2199 - ---- - src/receive.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/src/receive.c b/src/receive.c -index e7e518a..d9b5001 100644 ---- a/src/receive.c -+++ b/src/receive.c -@@ -1810,8 +1810,8 @@ for (;;) - (and sometimes lunatic messages can have ones that are 100s of K long) we - call store_release() for strings that have been copied - if the string is at - the start of a block (and therefore the only thing in it, because we aren't -- doing any other gets), the block gets freed. We can only do this because we -- know there are no other calls to store_get() going on. */ -+ doing any other gets), the block gets freed. We can only do this release if -+ there were no allocations since the once that we want to free. */ - - if (ptr >= header_size - 4) - { -@@ -1820,9 +1820,10 @@ for (;;) - header_size *= 2; - if (!store_extend(next->text, oldsize, header_size)) - { -+ BOOL release_ok = store_last_get[store_pool] == next->text; - uschar *newtext = store_get(header_size); - memcpy(newtext, next->text, ptr); -- store_release(next->text); -+ if (release_ok) store_release(next->text); - next->text = newtext; - } - } --- -1.9.1 diff --git a/pkgs/servers/mail/exim/default.nix b/pkgs/servers/mail/exim/default.nix index 79623247e3f..b02f80577fc 100644 --- a/pkgs/servers/mail/exim/default.nix +++ b/pkgs/servers/mail/exim/default.nix @@ -1,22 +1,13 @@ -{ coreutils, fetchurl, db, openssl, pcre, perl, pkgconfig, stdenv, fetchpatch }: +{ coreutils, fetchurl, db, openssl, pcre, perl, pkgconfig, stdenv }: stdenv.mkDerivation rec { - name = "exim-4.89"; + name = "exim-4.89.1"; src = fetchurl { url = "http://ftp.exim.org/pub/exim/exim4/${name}.tar.xz"; - sha256 = "09lndv34jsxwglq5zsh9y4xaqj5g37g9ca4x0zb25fvvm4f0lj8c"; + sha256 = "157syn472gnp1x2lrazwdvqsg3zgwyv87952sq5rrnp220m3488s"; }; - patches = [ - (fetchpatch { - name = "CVE-2017-1000369.patch"; - url = "https://anonscm.debian.org/git/pkg-exim4/exim4.git/plain/debian/patches/79_CVE-2017-1000369.patch?h=4.89-2%2bdeb9u1"; - sha256 = "0v46zywgkv1rdqhybqqrd0rwkdaj6q1f4x0a3vm9p0wz8vad3023"; - }) - ./cve-2017-16943.patch - ]; - nativeBuildInputs = [ pkgconfig ]; buildInputs = [ coreutils db openssl pcre perl ];