Patchwork OpenSSL updates

login
register
mail settings
Submitter Leo Famulari
Date Sept. 22, 2016, 1:55 p.m.
Message ID <20160922135527.GA13557@jasmine>
Download mbox | patch
Permalink /patch/15926/
State New
Headers show

Comments

Leo Famulari - Sept. 22, 2016, 1:55 p.m.
Here are patches to replace openssl with openssl-1.0.2i and to update
openssl-next to openssl@1.1.0a.
From 1f020e2cb580941a36aa98737cd679a8605cdc4d Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Thu, 22 Sep 2016 09:38:56 -0400
Subject: [PATCH 1/2] gnu: openssl: Replace with 1.0.2i [security fixes].

Fixes CVE-2016-{2177,2178,2179,2180,2181,2182,2183,6302,6303,6304,6306,6308}.

* gnu/packages/tls.scm (openssl)[replacement]: New field.
(openssl-1.0.2i): New variable.
---
 gnu/packages/tls.scm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
Mark H Weaver - Sept. 22, 2016, 4:33 p.m.
Leo Famulari <leo@famulari.name> writes:

> Here are patches to replace openssl with openssl-1.0.2i and to update
> openssl-next to openssl@1.1.0a.
>
> From 1f020e2cb580941a36aa98737cd679a8605cdc4d Mon Sep 17 00:00:00 2001
> From: Leo Famulari <leo@famulari.name>
> Date: Thu, 22 Sep 2016 09:38:56 -0400
> Subject: [PATCH 1/2] gnu: openssl: Replace with 1.0.2i [security fixes].
>
> Fixes CVE-2016-{2177,2178,2179,2180,2181,2182,2183,6302,6303,6304,6306,6308}.
>
> * gnu/packages/tls.scm (openssl)[replacement]: New field.
> (openssl-1.0.2i): New variable.
> ---
>  gnu/packages/tls.scm | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
>
> diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
> index 0762703..198d298 100644
> --- a/gnu/packages/tls.scm
> +++ b/gnu/packages/tls.scm
> @@ -229,6 +229,7 @@ required structures.")
>  (define-public openssl
>    (package
>     (name "openssl")
> +   (replacement openssl-1.0.2i)
>     (version "1.0.2h")
>     (source (origin
>               (method url-fetch)
> @@ -367,6 +368,24 @@ required structures.")
>     (license license:openssl)
>     (home-page "http://www.openssl.org/")))
>  
> +(define-public openssl-1.0.2i

Should this be kept private?  Otherwise, both patches look good to me,
please push.

     Thanks!
       Mark
Leo Famulari - Sept. 22, 2016, 5:47 p.m.
On Thu, Sep 22, 2016 at 12:33:15PM -0400, Mark H Weaver wrote:
> Leo Famulari <leo@famulari.name> writes:
> > +(define-public openssl-1.0.2i
> 
> Should this be kept private?  Otherwise, both patches look good to me,
> please push.

Good catch.

I also realized that these patches change what variable is used when
using 'openssl' with the Guix command-line tools.

Without these patches, `guix build openssl` uses
(@@ (gnu packages tls) openssl-next) [0]

With these patches, `guix build openssl` uses
(@@ (gnu packages tls) openssl-1.0.2i)

So, I put (replacement #f) in openssl-next, which restores the old
behavior. We don't want to replace openssl-next with openssl-1.0.2i.

Pushed HEAD to 163d93a6bd231596959e2e157b60eb964db85d04

[0] Is that the right way to describe a package variable? That's how I
use `guix build -e`.

Patch

diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 0762703..198d298 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -229,6 +229,7 @@  required structures.")
 (define-public openssl
   (package
    (name "openssl")
+   (replacement openssl-1.0.2i)
    (version "1.0.2h")
    (source (origin
              (method url-fetch)
@@ -367,6 +368,24 @@  required structures.")
    (license license:openssl)
    (home-page "http://www.openssl.org/")))
 
+(define-public openssl-1.0.2i
+  (package (inherit openssl)
+    (source
+      (let ((name "openssl")
+            (version "1.0.2i"))
+        (origin
+          (method url-fetch)
+          (uri (list (string-append "ftp://ftp.openssl.org/source/"
+                                    name "-" version ".tar.gz")
+                     (string-append "ftp://ftp.openssl.org/source/old/"
+                                    (string-trim-right version char-set:letter)
+                                    "/" name "-" version ".tar.gz")))
+          (sha256
+           (base32
+            "0vyy038676cv3m2523fi9ll9nkjxadqdnz18zdp5nm6925yli1wj"))
+          (patches (search-patches "openssl-runpath.patch"
+                                   "openssl-c-rehash-in.patch")))))))
+
 (define-public openssl-next
   (package
     (inherit openssl)