aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/tls.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/tls.scm')
-rw-r--r--gnu/packages/tls.scm82
1 files changed, 67 insertions, 15 deletions
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 775e915534..423612f4b6 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2021 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Ian Denhardt <ian@zenhack.net>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
@@ -165,6 +165,7 @@ living in the same process.")
(package
(name "gnutls")
(version "3.6.15")
+ (replacement gnutls/fixed)
(source (origin
(method url-fetch)
;; Note: Releases are no longer on ftp.gnu.org since the
@@ -250,12 +251,21 @@ living in the same process.")
(description
"GnuTLS is a secure communications library implementing the SSL, TLS
and DTLS protocols. It is provided in the form of a C library to support the
-protocols, as well as to parse and write X.5009, PKCS 12, OpenPGP and other
+protocols, as well as to parse and write X.509, PKCS #12, OpenPGP and other
required structures.")
(license license:lgpl2.1+)
(properties '((ftp-server . "ftp.gnutls.org")
(ftp-directory . "/gcrypt/gnutls")))))
+(define gnutls/fixed
+ (package
+ (inherit gnutls)
+ (source (origin
+ (inherit (package-source gnutls))
+ (patches (append (search-patches "gnutls-CVE-2021-20231.patch"
+ "gnutls-CVE-2021-20232.patch")
+ (origin-patches (package-source gnutls))))))))
+
(define-public gnutls/guile-2.0
;; GnuTLS for Guile 2.0.
(package/inherit gnutls
@@ -274,8 +284,7 @@ required structures.")
,@(package-inputs gnutls)))))
(define-public guile2.2-gnutls
- (package
- (inherit gnutls)
+ (package/inherit gnutls
(name "guile2.2-gnutls")
(inputs `(("guile" ,guile-2.2)
,@(alist-delete "guile"
@@ -287,6 +296,7 @@ required structures.")
(define-public openssl
(package
(name "openssl")
+ (replacement openssl/fixed)
(version "1.1.1i")
(source (origin
(method url-fetch)
@@ -361,7 +371,8 @@ required structures.")
;; PREFIX/ssl. Change that to something more
;; conventional.
(string-append "--openssldir=" out
- "/share/openssl-" ,version)
+ "/share/openssl-"
+ ,(package-version this-package))
(string-append "--prefix=" out)
(string-append "-Wl,-rpath," lib)
@@ -401,7 +412,8 @@ required structures.")
;; scripts. Remove them to avoid retaining a reference on Perl.
(let ((out (assoc-ref outputs "out")))
(delete-file-recursively (string-append out "/share/openssl-"
- ,version "/misc"))
+ ,(package-version this-package)
+ "/misc"))
#t))))))
(native-search-paths
(list (search-path-specification
@@ -419,6 +431,24 @@ required structures.")
(license license:openssl)
(home-page "https://www.openssl.org/")))
+(define-public openssl/fixed
+ (package
+ (inherit openssl)
+ (version "1.1.1k")
+ (source (origin
+ (method url-fetch)
+ (uri (list (string-append "https://www.openssl.org/source/openssl-"
+ version ".tar.gz")
+ (string-append "ftp://ftp.openssl.org/source/"
+ "openssl-" version ".tar.gz")
+ (string-append "ftp://ftp.openssl.org/source/old/"
+ (string-trim-right version char-set:letter)
+ "/openssl-" version ".tar.gz")))
+ (patches (search-patches "openssl-1.1-c-rehash-in.patch"))
+ (sha256
+ (base32
+ "1rdfzcrxy9y38wqdw5942vmdax9hjhgrprzxm42csal7p5shhal9"))))))
+
(define-public openssl-1.0
(package
(inherit openssl)
@@ -557,13 +587,13 @@ netcat implementation that supports TLS.")
(package
(name "python-acme")
;; Remember to update the hash of certbot when updating python-acme.
- (version "1.10.1")
+ (version "1.13.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "acme" version))
(sha256
(base32
- "1n1g29f3qzy77xn06dss9nc92wndgm8phgjrvx740sy9xnd5bfzw"))))
+ "1260a7bcgmha19drqzn6syz3cy61482b3w6lihgg1md6svgmfhkb"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -579,10 +609,8 @@ netcat implementation that supports TLS.")
(install-file "docs/_build/texinfo/acme-python.info" info)
(install-file "docs/_build/man/acme-python.1" man)
#t))))))
- ;; TODO: Add optional inputs for testing.
(native-inputs
- `(("python-mock" ,python-mock)
- ("python-pytest" ,python-pytest)
+ `(("python-pytest" ,python-pytest)
;; For documentation
("python-sphinx" ,python-sphinx)
("python-sphinxcontrib-programoutput" ,python-sphinxcontrib-programoutput)
@@ -590,7 +618,6 @@ netcat implementation that supports TLS.")
("texinfo" ,texinfo)))
(propagated-inputs
`(("python-josepy" ,python-josepy)
- ("python-six" ,python-six)
("python-requests" ,python-requests)
("python-requests-toolbelt" ,python-requests-toolbelt)
("python-pytz" ,python-pytz)
@@ -614,7 +641,7 @@ netcat implementation that supports TLS.")
(uri (pypi-uri "certbot" version))
(sha256
(base32
- "1dww9m1a2p3a9vpxs5j29f8cdkqywqb4j70z3cnkpl7017yf77hd"))))
+ "0n7lwajmlypkqgsd2cv74j41f5ag381skjlzhjfpsrppgnsl3kv4"))))
(build-system python-build-system)
(arguments
`(,@(substitute-keyword-arguments (package-arguments python-acme)
@@ -630,7 +657,6 @@ netcat implementation that supports TLS.")
(install-file "docs/_build/man/certbot.1" man1)
(install-file "docs/_build/man/certbot.7" man7)
#t))))))))
- ;; TODO: Add optional inputs for testing.
(native-inputs
`(("python-mock" ,python-mock)
("python-pytest" ,python-pytest)
@@ -651,7 +677,6 @@ netcat implementation that supports TLS.")
("python-distro" ,python-distro)
("python-zope-component" ,python-zope-component)
("python-parsedatetime" ,python-parsedatetime)
- ("python-six" ,python-six)
("python-psutil" ,python-psutil)
("python-requests" ,python-requests)
("python-pytz" ,python-pytz)))
@@ -1024,3 +1049,30 @@ relatively simple Bash script.")
derived from Mozilla's collection.")
(home-page "https://certifi.io")
(license license:mpl2.0))))
+
+(define-public s2n
+ (package
+ (name "s2n")
+ (version "1.0.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url (string-append "https://github.com/awslabs/" name))
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1q6kmgwb8jxmc4ijzk9pkqzz8lsbfsv9hyzqvy944w7306zx1r5h"))))
+ (build-system cmake-build-system)
+ (arguments
+ '(#:tests? #f ; tests fail to build for static library
+ #:configure-flags
+ '("-DBUILD_TESTING=OFF"
+ "-DBUILD_SHARED_LIBS=ON")))
+ (propagated-inputs
+ `(("openssl" ,openssl)
+ ("openssl:static" ,openssl "static")))
+ (synopsis "SSL/TLS implementation")
+ (description "This library provides a C99 implementation of SSL/TLS.")
+ (home-page "https://github.com/awslabs/s2n")
+ (license license:asl2.0)))