Compare commits
49 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cbe66ee3a7 | ||
|
|
33160d08cb | ||
|
|
98206a06fe | ||
|
|
c5fcada2f3 | ||
|
|
9f95ff6e69 | ||
|
|
3078b09e41 | ||
|
|
7441432f8c | ||
|
|
000d285047 | ||
|
|
92cc61b531 | ||
|
|
330d52f8da | ||
|
|
7be798d940 | ||
|
|
b690a96329 | ||
|
|
e45aaed8ab | ||
|
|
25f7cc5fad | ||
|
|
5bef1c86aa | ||
|
|
c3aaff5c62 | ||
|
|
63494651c6 | ||
|
|
6ea0d5328d | ||
|
|
b5e51ef2d2 | ||
|
|
9c5597be5c | ||
|
|
6c3a0c118e | ||
|
|
e026bdad11 | ||
|
|
c25fdb6fa9 | ||
|
|
8d60243b00 | ||
|
|
abb8fe2e0b | ||
|
|
db84cc7c55 | ||
|
|
a9b00cffcc | ||
|
|
f89c924634 | ||
|
|
760d4e32b2 | ||
|
|
9ca47ed49e | ||
|
|
7d85f31654 | ||
|
|
e9fcd31237 | ||
|
|
39c1bd20e2 | ||
|
|
e8ce92f749 | ||
|
|
37c03f7739 | ||
|
|
b07c9547ba | ||
|
|
ee639ed085 | ||
|
|
7e61bcbcbd | ||
|
|
1dcd42a32e | ||
|
|
e1613e89be | ||
|
|
d44882c396 | ||
|
|
113f492765 | ||
|
|
87c3926250 | ||
|
|
595be10e4d | ||
|
|
bee7049a8a | ||
|
|
42b10964b0 | ||
|
|
ab660a5e4e | ||
|
|
510f2c8050 | ||
|
|
25900e352d |
16 changed files with 10630 additions and 97 deletions
23
.gitignore
vendored
23
.gitignore
vendored
|
|
@ -150,3 +150,26 @@ gnutls-2.10.1-nosrp.tar.bz2
|
|||
/gnutls-3.8.2.tar.xz.sig
|
||||
/gnutls-3.8.3.tar.xz
|
||||
/gnutls-3.8.3.tar.xz.sig
|
||||
/gnutls-3.8.4.tar.xz
|
||||
/gnutls-3.8.4.tar.xz.sig
|
||||
/gnutls-3.8.5.tar.xz
|
||||
/gnutls-3.8.5.tar.xz.sig
|
||||
/gnutls-3.8.6.tar.xz
|
||||
/gnutls-3.8.6.tar.xz.sig
|
||||
/gmp-6.2.1.tar.xz
|
||||
/gnutls-3.8.7.tar.xz
|
||||
/gnutls-3.8.7.tar.xz.sig
|
||||
/gnutls-3.8.7.1.tar.xz
|
||||
/gnutls-3.8.7.1.tar.xz.sig
|
||||
/gnutls-3.8.8.tar.xz
|
||||
/gnutls-3.8.8.tar.xz.sig
|
||||
/gnutls-3.8.9.tar.xz
|
||||
/gnutls-3.8.9.tar.xz.sig
|
||||
/leancrypto-1.2.0.tar.gz
|
||||
/leancrypto-1.3.0.tar.gz
|
||||
/gnutls-3.8.10.tar.xz
|
||||
/gnutls-3.8.10.tar.xz.sig
|
||||
/leancrypto-1.5.0.tar.gz
|
||||
/gnutls-3.8.11.tar.xz
|
||||
/gnutls-3.8.11.tar.xz.sig
|
||||
/leancrypto-1.6.0.tar.gz
|
||||
|
|
|
|||
|
|
@ -28,5 +28,4 @@ actions:
|
|||
jobs:
|
||||
- job: propose_downstream
|
||||
trigger: release
|
||||
metadata:
|
||||
dist_git_branches: fedora-all
|
||||
dist_git_branches: fedora-all
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
This repository is maintained by packit.
|
||||
https://packit.dev/
|
||||
The file was generated using packit 0.88.0.
|
||||
The file was generated using packit 1.12.0.
|
||||
|
|
|
|||
13
gmp-6.2.1-c23.patch
Normal file
13
gmp-6.2.1-c23.patch
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
diff --git a/acinclude.m4 b/acinclude.m4
|
||||
index 906071c..a466b7c 100644
|
||||
--- a/acinclude.m4
|
||||
+++ b/acinclude.m4
|
||||
@@ -609,7 +609,7 @@ GMP_PROG_CC_WORKS_PART([$1], [long long reliability test 1],
|
||||
|
||||
#if defined (__GNUC__) && ! defined (__cplusplus)
|
||||
typedef unsigned long long t1;typedef t1*t2;
|
||||
-void g(){}
|
||||
+void g(int, t2, t1, t2, t2, int){}
|
||||
void h(){}
|
||||
static __inline__ t1 e(t2 rp,t2 up,int n,t1 v0)
|
||||
{t1 c,x,r;int i;if(v0){c=1;for(i=1;i<n;i++){x=up[i];r=x+1;rp[i]=r;}}return c;}
|
||||
3515
gmp-6.2.1-intel-cet.patch
Normal file
3515
gmp-6.2.1-intel-cet.patch
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -1,25 +0,0 @@
|
|||
From 18c555b4d2461ad202996398609552b9c4ecd43b Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Wed, 22 Nov 2023 15:21:49 +0900
|
||||
Subject: [PATCH] gnutls-3.7.8-ktls_skip_tls12_chachapoly_test.patch
|
||||
|
||||
Signed-off-by: rpm-build <rpm-build>
|
||||
---
|
||||
tests/gnutls_ktls.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/tests/gnutls_ktls.c b/tests/gnutls_ktls.c
|
||||
index ccbe566..049c888 100644
|
||||
--- a/tests/gnutls_ktls.c
|
||||
+++ b/tests/gnutls_ktls.c
|
||||
@@ -347,7 +347,6 @@ void doit(void)
|
||||
{
|
||||
run("NORMAL:-VERS-ALL:+VERS-TLS1.2:-CIPHER-ALL:+AES-128-GCM");
|
||||
run("NORMAL:-VERS-ALL:+VERS-TLS1.2:-CIPHER-ALL:+AES-256-GCM");
|
||||
- run("NORMAL:-VERS-ALL:+VERS-TLS1.2:-CIPHER-ALL:+CHACHA20-POLY1305");
|
||||
run("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM");
|
||||
run("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-256-GCM");
|
||||
run("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+CHACHA20-POLY1305");
|
||||
--
|
||||
2.41.0
|
||||
|
||||
114
gnutls-3.8.10-tests-ktls.patch
Normal file
114
gnutls-3.8.10-tests-ktls.patch
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
From e0eb2bbb212a5c9d72311c59e7235832a0075dcc Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Wed, 9 Jul 2025 18:54:48 +0900
|
||||
Subject: [PATCH] add tests/ktls_utils.h
|
||||
|
||||
Signed-off-by: rpm-build <rpm-build>
|
||||
---
|
||||
tests/ktls_utils.h | 94 ++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 94 insertions(+)
|
||||
create mode 100644 tests/ktls_utils.h
|
||||
|
||||
diff --git a/tests/ktls_utils.h b/tests/ktls_utils.h
|
||||
new file mode 100644
|
||||
index 0000000..231618d
|
||||
--- /dev/null
|
||||
+++ b/tests/ktls_utils.h
|
||||
@@ -0,0 +1,94 @@
|
||||
+#ifndef GNUTLS_TESTS_KTLS_UTILS_H
|
||||
+#define GNUTLS_TESTS_KTLS_UTILS_H
|
||||
+
|
||||
+#include <fcntl.h>
|
||||
+#include <signal.h>
|
||||
+
|
||||
+#include <netinet/in.h>
|
||||
+
|
||||
+#include <sys/socket.h>
|
||||
+#include <sys/wait.h>
|
||||
+
|
||||
+/* Sets the NONBLOCK flag on the socket(fd) */
|
||||
+inline static int set_nonblocking(int fd)
|
||||
+{
|
||||
+ int flags = fcntl(fd, F_GETFL, 0);
|
||||
+ if (flags == -1) {
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ if (fcntl(fd, F_SETFL, flags | O_NONBLOCK) == -1) {
|
||||
+ return 2;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+/* Creates a pair of TCP connected sockets */
|
||||
+static int create_socket_pair(int *client_fd, int *server_fd)
|
||||
+{
|
||||
+ int ret;
|
||||
+ struct sockaddr_in saddr;
|
||||
+ socklen_t addrlen;
|
||||
+ int listener;
|
||||
+
|
||||
+ listener = socket(AF_INET, SOCK_STREAM, 0);
|
||||
+ if (listener == -1) {
|
||||
+ fail("error in listener(): %s\n", strerror(errno));
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ int opt = 0;
|
||||
+ setsockopt(listener, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));
|
||||
+
|
||||
+ memset(&saddr, 0, sizeof(saddr));
|
||||
+ saddr.sin_family = AF_INET;
|
||||
+ saddr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
|
||||
+ saddr.sin_port = 0;
|
||||
+
|
||||
+ ret = bind(listener, (struct sockaddr *)&saddr, sizeof(saddr));
|
||||
+ if (ret == -1) {
|
||||
+ fail("error in bind(): %s\n", strerror(errno));
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ addrlen = sizeof(saddr);
|
||||
+ ret = getsockname(listener, (struct sockaddr *)&saddr, &addrlen);
|
||||
+ if (ret == -1) {
|
||||
+ fail("error in getsockname(): %s\n", strerror(errno));
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ ret = listen(listener, 1);
|
||||
+ if (ret == -1) {
|
||||
+ fail("error in listen(): %s\n", strerror(errno));
|
||||
+ close(listener);
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ *client_fd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
+ if (*client_fd < 0) {
|
||||
+ fail("error in socket(): %s\n", strerror(errno));
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ ret = connect(*client_fd, (struct sockaddr *)&saddr, addrlen);
|
||||
+ if (ret < 0) {
|
||||
+ fail("error in connect(): %s\n", strerror(errno));
|
||||
+ close(listener);
|
||||
+ close(*client_fd);
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ *server_fd = accept(listener, NULL, NULL);
|
||||
+ if (*server_fd < 0) {
|
||||
+ fail("error in accept(): %s\n", strerror(errno));
|
||||
+ close(listener);
|
||||
+ close(*client_fd);
|
||||
+ return 1;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+#endif //GNUTLS_TESTS_KTLS_UTILS_H
|
||||
--
|
||||
2.49.0
|
||||
|
||||
58
gnutls-3.8.10-tests-mldsa.patch
Normal file
58
gnutls-3.8.10-tests-mldsa.patch
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
From 15fb5ad536c375a74cc0d87859c9fc919d924c9d Mon Sep 17 00:00:00 2001
|
||||
From: rpm-build <rpm-build>
|
||||
Date: Thu, 10 Jul 2025 05:45:06 +0900
|
||||
Subject: [PATCH] support VPATH build for mldsa tests
|
||||
|
||||
Signed-off-by: rpm-build <rpm-build>
|
||||
---
|
||||
tests/cert-tests/mldsa.sh | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/tests/cert-tests/mldsa.sh b/tests/cert-tests/mldsa.sh
|
||||
index 7e31e11..55e31ce 100644
|
||||
--- a/tests/cert-tests/mldsa.sh
|
||||
+++ b/tests/cert-tests/mldsa.sh
|
||||
@@ -130,7 +130,7 @@ for variant in 44 65 87; do
|
||||
# Check default
|
||||
TMPKEYDEFAULT=$testdir/key-$algo-$format-default
|
||||
TMPKEY=$testdir/key-$algo-$format
|
||||
- ${VALGRIND} "${CERTTOOL}" -k --no-text --infile "data/key-$algo-$format.pem" >"$TMPKEYDEFAULT"
|
||||
+ ${VALGRIND} "${CERTTOOL}" -k --no-text --infile "$srcdir/data/key-$algo-$format.pem" >"$TMPKEYDEFAULT"
|
||||
if [ $? != 0 ]; then
|
||||
cat "$TMPKEYDEFAULT"
|
||||
exit 1
|
||||
@@ -138,19 +138,19 @@ for variant in 44 65 87; do
|
||||
|
||||
# The "expandedKey" format doesn't have public key part
|
||||
if [ "$format" = seed ] || [ "$format" = both ]; then
|
||||
- if ! "${DIFF}" "$TMPKEYDEFAULT" "data/key-$algo-both.pem"; then
|
||||
+ if ! "${DIFF}" "$TMPKEYDEFAULT" "$srcdir/data/key-$algo-both.pem"; then
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# Check roundtrip with --key-format
|
||||
- ${VALGRIND} "${CERTTOOL}" -k --no-text --key-format "$format" --infile "data/key-$algo-$format.pem" >"$TMPKEY"
|
||||
+ ${VALGRIND} "${CERTTOOL}" -k --no-text --key-format "$format" --infile "$srcdir/data/key-$algo-$format.pem" >"$TMPKEY"
|
||||
if [ $? != 0 ]; then
|
||||
cat "$TMPKEY"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- if ! "${DIFF}" "$TMPKEY" "data/key-$algo-$format.pem"; then
|
||||
+ if ! "${DIFF}" "$TMPKEY" "$srcdir/data/key-$algo-$format.pem"; then
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
@@ -164,7 +164,7 @@ for n in 1; do
|
||||
fi
|
||||
|
||||
echo "Testing inconsistent ML-DSA key ($n)"
|
||||
- if "${CERTTOOL}" -k --infile "data/key-mldsa-inconsistent$n.pem"; then
|
||||
+ if "${CERTTOOL}" -k --infile "$srcdir/data/key-mldsa-inconsistent$n.pem"; then
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
--
|
||||
2.49.0
|
||||
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
From 945c2f10eeda441f32404d1328761e311915add0 Mon Sep 17 00:00:00 2001
|
||||
From: Daiki Ueno <ueno@gnu.org>
|
||||
Date: Tue, 23 Jan 2024 11:54:32 +0900
|
||||
Subject: [PATCH] ktls: fix kernel version checking using utsname
|
||||
|
||||
Signed-off-by: Daiki Ueno <ueno@gnu.org>
|
||||
---
|
||||
lib/system/ktls.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/system/ktls.c b/lib/system/ktls.c
|
||||
index 8efb913cda..432c70c5a2 100644
|
||||
--- a/lib/system/ktls.c
|
||||
+++ b/lib/system/ktls.c
|
||||
@@ -482,7 +482,7 @@ int _gnutls_ktls_set_keys(gnutls_session_t session,
|
||||
return GNUTLS_E_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
- if (strcmp(utsname.sysname, "Linux") == 0) {
|
||||
+ if (strcmp(utsname.sysname, "Linux") != 0) {
|
||||
return GNUTLS_E_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
@@ -495,6 +495,9 @@ int _gnutls_ktls_set_keys(gnutls_session_t session,
|
||||
return GNUTLS_E_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
+ _gnutls_debug_log("Linux kernel version %lu.%lu has been detected\n",
|
||||
+ major, minor);
|
||||
+
|
||||
/* setsockopt(SOL_TLS, TLS_RX) support added in 5.10 */
|
||||
if (major < 5 || (major == 5 && minor < 10)) {
|
||||
return GNUTLS_E_UNIMPLEMENTED_FEATURE;
|
||||
--
|
||||
GitLab
|
||||
|
||||
2131
gnutls-3.8.6-compression-dlwrap.patch
Normal file
2131
gnutls-3.8.6-compression-dlwrap.patch
Normal file
File diff suppressed because it is too large
Load diff
3246
gnutls-3.8.6-liboqs-x25519-kyber768d00.patch
Normal file
3246
gnutls-3.8.6-liboqs-x25519-kyber768d00.patch
Normal file
File diff suppressed because it is too large
Load diff
27
gnutls-3.8.6-nettle-rsa-oaep.patch
Normal file
27
gnutls-3.8.6-nettle-rsa-oaep.patch
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
From a9800309197fe5aef913944b2fc77164946f0689 Mon Sep 17 00:00:00 2001
|
||||
From: Daiki Ueno <ueno@gnu.org>
|
||||
Date: Tue, 23 Jul 2024 16:04:56 +0900
|
||||
Subject: [PATCH] build: link against libhogweed when checking
|
||||
nettle_rsa_oaep_*
|
||||
|
||||
Signed-off-by: Daiki Ueno <ueno@gnu.org>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index fb0aefe1f4..8b55808bd7 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -795,7 +795,7 @@ AM_CONDITIONAL([NEED_SIV_GCM], [test "$ac_cv_func_nettle_siv_gcm_encrypt_message
|
||||
|
||||
# Check for RSA-OAEP
|
||||
save_LIBS=$LIBS
|
||||
-LIBS="$LIBS $NETTLE_LIBS"
|
||||
+LIBS="$LIBS $HOGWEED_LIBS $NETTLE_LIBS $GMP_LIBS"
|
||||
AC_CHECK_FUNCS(nettle_rsa_oaep_sha256_encrypt)
|
||||
LIBS=$save_LIBS
|
||||
AM_CONDITIONAL([NEED_RSA_OAEP], [test "$ac_cv_func_nettle_rsa_oaep_sha256_encrypt" != yes])
|
||||
--
|
||||
2.45.2
|
||||
|
||||
29
gnutls-3.8.8-tests-ktls-skip-tls12-chachapoly.patch
Normal file
29
gnutls-3.8.8-tests-ktls-skip-tls12-chachapoly.patch
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
From a36b73a21e4b5b6e051b23192a645dea34c9d6af Mon Sep 17 00:00:00 2001
|
||||
From: Daiki Ueno <ueno@gnu.org>
|
||||
Date: Tue, 5 Nov 2024 14:45:46 +0900
|
||||
Subject: [PATCH] tests: skip CHACHA20-POLY1305 in TLS 1.2 when KTLS is enabled
|
||||
|
||||
Signed-off-by: Daiki Ueno <ueno@gnu.org>
|
||||
---
|
||||
tests/gnutls_ktls.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/tests/gnutls_ktls.c b/tests/gnutls_ktls.c
|
||||
index 90d3e9af91..d5ac4efecc 100644
|
||||
--- a/tests/gnutls_ktls.c
|
||||
+++ b/tests/gnutls_ktls.c
|
||||
@@ -347,9 +347,11 @@ void doit(void)
|
||||
{
|
||||
run("NORMAL:-VERS-ALL:+VERS-TLS1.2:-CIPHER-ALL:+AES-128-GCM");
|
||||
run("NORMAL:-VERS-ALL:+VERS-TLS1.2:-CIPHER-ALL:+AES-256-GCM");
|
||||
+#if 0
|
||||
if (!gnutls_fips140_mode_enabled()) {
|
||||
run("NORMAL:-VERS-ALL:+VERS-TLS1.2:-CIPHER-ALL:+CHACHA20-POLY1305");
|
||||
}
|
||||
+#endif
|
||||
run("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-128-GCM");
|
||||
run("NORMAL:-VERS-ALL:+VERS-TLS1.3:-CIPHER-ALL:+AES-256-GCM");
|
||||
if (!gnutls_fips140_mode_enabled()) {
|
||||
--
|
||||
2.47.0
|
||||
|
||||
1310
gnutls-3.8.9-ktls-kernel-check.patch
Normal file
1310
gnutls-3.8.9-ktls-kernel-check.patch
Normal file
File diff suppressed because it is too large
Load diff
189
gnutls.spec
189
gnutls.spec
|
|
@ -12,21 +12,26 @@ sha256sum:close()
|
|||
print(string.sub(hash, 0, 16))
|
||||
}
|
||||
|
||||
Version: 3.8.3
|
||||
Version: 3.8.11
|
||||
Release: %{?autorelease}%{!?autorelease:1%{?dist}}
|
||||
Patch: gnutls-3.2.7-rpath.patch
|
||||
|
||||
# follow https://gitlab.com/gnutls/gnutls/-/issues/1443
|
||||
Patch: gnutls-3.7.8-ktls_skip_tls12_chachapoly_test.patch
|
||||
Patch: gnutls-3.8.3-kernel_version_check.patch
|
||||
Patch: gnutls-3.8.8-tests-ktls-skip-tls12-chachapoly.patch
|
||||
|
||||
%bcond_without bootstrap
|
||||
%bcond_without dane
|
||||
%bcond_without fips
|
||||
%bcond_with tpm12
|
||||
%bcond_without tpm2
|
||||
%if 0%{?rhel} >= 9
|
||||
%bcond_with gost
|
||||
%else
|
||||
%bcond_without gost
|
||||
%bcond_with certificate_compression
|
||||
%endif
|
||||
%bcond_without certificate_compression
|
||||
%bcond_without leancrypto
|
||||
%bcond_without crypto_auditing
|
||||
%bcond_without tests
|
||||
|
||||
%if 0%{?fedora} && 0%{?fedora} < 38
|
||||
|
|
@ -41,6 +46,19 @@ Patch: gnutls-3.8.3-kernel_version_check.patch
|
|||
%bcond_with mingw
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel} >= 9 && %{with fips}
|
||||
%bcond_without bundled_gmp
|
||||
%else
|
||||
%bcond_with bundled_gmp
|
||||
%endif
|
||||
|
||||
|
||||
%define fips_requires() %{lua:
|
||||
local f = assert(io.popen("rpm -q --queryformat '%{EVR}' --whatprovides "..rpm.expand("'%1%{?_isa}'")))
|
||||
local v = f:read("*all")
|
||||
f:close()
|
||||
print("Requires: "..rpm.expand("%1%{?_isa}").." = "..v.."\\n")
|
||||
}
|
||||
|
||||
Summary: A TLS protocol implementation
|
||||
Name: gnutls
|
||||
|
|
@ -54,7 +72,10 @@ BuildRequires: zlib-devel, brotli-devel, libzstd-devel
|
|||
%if %{with bootstrap}
|
||||
BuildRequires: automake, autoconf, gperf, libtool, texinfo
|
||||
%endif
|
||||
BuildRequires: nettle-devel >= 3.9.1
|
||||
BuildRequires: nettle-devel >= 3.10.1
|
||||
%if %{with leancrypto}
|
||||
BuildRequires: meson
|
||||
%endif
|
||||
%if %{with tpm12}
|
||||
BuildRequires: trousers-devel >= 0.3.11.2
|
||||
%endif
|
||||
|
|
@ -66,13 +87,17 @@ BuildRequires: libunistring-devel
|
|||
BuildRequires: net-tools, softhsm, gcc, gcc-c++
|
||||
BuildRequires: gnupg2
|
||||
BuildRequires: git-core
|
||||
%if %{with crypto_auditing}
|
||||
BuildRequires: systemtap-sdt-devel
|
||||
%endif
|
||||
|
||||
# for a sanity check on cert loading
|
||||
BuildRequires: p11-kit-trust, ca-certificates
|
||||
Requires: crypto-policies
|
||||
Requires: p11-kit-trust
|
||||
Requires: libtasn1 >= 4.3
|
||||
Requires: nettle >= 3.9.1
|
||||
# always bump when a nettle release is packaged
|
||||
Requires: nettle >= 3.10.1
|
||||
%if %{with tpm12}
|
||||
Recommends: trousers >= 0.3.11.2
|
||||
%endif
|
||||
|
|
@ -83,21 +108,21 @@ BuildRequires: unbound-devel unbound-libs
|
|||
BuildRequires: make gtk-doc
|
||||
|
||||
%if %{with mingw}
|
||||
BuildRequires: mingw32-cpp
|
||||
BuildRequires: mingw32-filesystem >= 95
|
||||
BuildRequires: mingw32-gcc
|
||||
BuildRequires: mingw32-gcc-c++
|
||||
BuildRequires: mingw32-libtasn1 >= 4.3
|
||||
BuildRequires: mingw32-readline
|
||||
BuildRequires: mingw32-zlib
|
||||
BuildRequires: mingw32-p11-kit >= 0.23.1
|
||||
BuildRequires: mingw32-nettle >= 3.6
|
||||
BuildRequires: mingw64-cpp
|
||||
BuildRequires: mingw64-filesystem >= 95
|
||||
BuildRequires: mingw64-gcc
|
||||
BuildRequires: mingw64-gcc-c++
|
||||
BuildRequires: mingw64-libtasn1 >= 4.3
|
||||
BuildRequires: mingw64-readline
|
||||
BuildRequires: mingw64-zlib
|
||||
BuildRequires: mingw64-p11-kit >= 0.23.1
|
||||
BuildRequires: mingw64-nettle >= 3.6
|
||||
%endif
|
||||
|
||||
|
|
@ -107,6 +132,19 @@ Source0: https://www.gnupg.org/ftp/gcrypt/gnutls/v%{short_version}/%{name}-%{ver
|
|||
Source1: https://www.gnupg.org/ftp/gcrypt/gnutls/v%{short_version}/%{name}-%{version}.tar.xz.sig
|
||||
Source2: https://gnutls.org/gnutls-release-keyring.gpg
|
||||
|
||||
%if %{with bundled_gmp}
|
||||
Provides: bundled(gmp) = 6.2.1
|
||||
Source100: gmp-6.2.1.tar.xz
|
||||
# Taken from the main gmp package
|
||||
Source101: gmp-6.2.1-intel-cet.patch
|
||||
Source102: gmp-6.2.1-c23.patch
|
||||
%endif
|
||||
|
||||
%if %{with leancrypto}
|
||||
Provides: bundled(leancrypto) = 1.6.0
|
||||
Source300: leancrypto-1.6.0.tar.gz
|
||||
%endif
|
||||
|
||||
# Wildcard bundling exception https://fedorahosted.org/fpc/ticket/174
|
||||
Provides: bundled(gnulib) = 20130424
|
||||
|
||||
|
|
@ -137,6 +175,16 @@ Summary: A DANE protocol implementation for GnuTLS
|
|||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
%endif
|
||||
|
||||
%if %{with fips}
|
||||
%package fips
|
||||
Summary: Virtual package to install packages required to use %{name} under FIPS mode
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
%{fips_requires nettle}
|
||||
%if !%{with bundled_gmp}
|
||||
%{fips_requires gmp}
|
||||
%endif
|
||||
%endif
|
||||
|
||||
%description
|
||||
GnuTLS is a secure communications library implementing the SSL, TLS and DTLS
|
||||
protocols and technologies around them. It provides a simple C language
|
||||
|
|
@ -180,6 +228,17 @@ This package contains library that implements the DANE protocol for verifying
|
|||
TLS certificates through DNSSEC.
|
||||
%endif
|
||||
|
||||
%if %{with fips}
|
||||
%description fips
|
||||
GnuTLS is a secure communications library implementing the SSL, TLS and DTLS
|
||||
protocols and technologies around them. It provides a simple C language
|
||||
application programming interface (API) to access the secure communications
|
||||
protocols as well as APIs to parse and write X.509, PKCS #12, OpenPGP and
|
||||
other required structures.
|
||||
This package does not contain any file, but installs required packages
|
||||
to use GnuTLS under FIPS mode.
|
||||
%endif
|
||||
|
||||
%if %{with mingw}
|
||||
%package -n mingw32-%{name}
|
||||
Summary: MinGW GnuTLS TLS/SSL encryption library
|
||||
|
|
@ -209,9 +268,73 @@ for MinGW.
|
|||
|
||||
%autosetup -p1 -S git
|
||||
|
||||
%if %{with bundled_gmp}
|
||||
mkdir -p bundled_gmp
|
||||
pushd bundled_gmp
|
||||
tar --strip-components=1 -xf %{SOURCE100}
|
||||
patch -p1 < %{SOURCE101}
|
||||
patch -p1 < %{SOURCE102}
|
||||
popd
|
||||
%endif
|
||||
|
||||
%build
|
||||
%define _lto_cflags %{nil}
|
||||
|
||||
%if %{with leancrypto}
|
||||
mkdir -p bundled_leancrypto
|
||||
pushd bundled_leancrypto
|
||||
tar --strip-components=1 -xf %{SOURCE300}
|
||||
popd
|
||||
%endif
|
||||
|
||||
%if %{with bundled_gmp}
|
||||
pushd bundled_gmp
|
||||
autoreconf -ifv
|
||||
%configure --disable-cxx --disable-shared --enable-fat --with-pic
|
||||
%make_build
|
||||
popd
|
||||
|
||||
export GMP_CFLAGS="-I$PWD/bundled_gmp"
|
||||
export GMP_LIBS="$PWD/bundled_gmp/.libs/libgmp.a"
|
||||
%endif
|
||||
|
||||
%if %{with leancrypto}
|
||||
pushd bundled_leancrypto
|
||||
%set_build_flags
|
||||
meson setup -Dprefix="$PWD/install" -Dlibdir="$PWD/install/lib" \
|
||||
-Ddefault_library=static \
|
||||
-Dascon=disabled -Dascon_keccak=disabled \
|
||||
-Dbike_5=disabled -Dbike_3=disabled -Dbike_1=disabled \
|
||||
-Dkyber_x25519=disabled -Ddilithium_ed25519=disabled \
|
||||
-Dx509_parser=disabled -Dx509_generator=disabled \
|
||||
-Dpkcs7_parser=disabled -Dpkcs7_generator=disabled \
|
||||
-Dsha2-256=disabled \
|
||||
-Daes_gcm=disabled -Daes_cbc=disabled -Daes_ctr=disabled -Daes_xts=disabled \
|
||||
-Dchacha20=disabled -Dchacha20poly1305=disabled -Dchacha20_drng=disabled \
|
||||
-Ddrbg_hash=disabled -Ddrbg_hmac=disabled \
|
||||
-Dhash_crypt=disabled \
|
||||
-Dhmac=disabled -Dhkdf=disabled \
|
||||
-Dkdf_ctr=disabled -Dkdf_fb=disabled -Dkdf_dpi=disabled \
|
||||
-Dpbkdf2=disabled \
|
||||
-Dkmac_drng=disabled -Dcshake_drng=disabled \
|
||||
-Dhotp=disabled -Dtotp=disabled \
|
||||
-Daes_block=disabled -Daes_cbc=disabled -Daes_ctr=disabled \
|
||||
-Daes_kw=disabled -Dapps=disabled \
|
||||
-Ddisable-asm=true \
|
||||
_build
|
||||
# the reason for -Ddisable-asm=true being bz2416812
|
||||
# revert once the root cause is fixed
|
||||
meson compile -C _build
|
||||
meson install -C _build
|
||||
|
||||
popd
|
||||
|
||||
export LEANCRYPTO_DIR="$PWD/bundled_leancrypto/install"
|
||||
|
||||
export LEANCRYPTO_CFLAGS="-I$LEANCRYPTO_DIR/include"
|
||||
export LEANCRYPTO_LIBS="$LEANCRYPTO_DIR/lib/libleancrypto.a"
|
||||
%endif
|
||||
|
||||
%if %{with bootstrap}
|
||||
autoreconf -fi
|
||||
%endif
|
||||
|
|
@ -231,6 +354,7 @@ export FIPS_MODULE_NAME="$OS_NAME ${OS_VERSION_ID%%.*} %name"
|
|||
|
||||
mkdir native_build
|
||||
pushd native_build
|
||||
|
||||
%global _configure ../configure
|
||||
%configure \
|
||||
%if %{with fips}
|
||||
|
|
@ -277,11 +401,24 @@ pushd native_build
|
|||
--with-zlib --with-brotli --with-zstd \
|
||||
%else
|
||||
--without-zlib --without-brotli --without-zstd \
|
||||
%endif
|
||||
%if %{with leancrypto}
|
||||
--with-leancrypto \
|
||||
%else
|
||||
--without-leancrypto \
|
||||
%endif
|
||||
%if %{with crypto_auditing}
|
||||
--enable-crypto-auditing \
|
||||
%else
|
||||
--disable-crypto-auditing \
|
||||
%endif
|
||||
--disable-rpath \
|
||||
--with-default-priority-string="@SYSTEM"
|
||||
|
||||
%make_build
|
||||
%if %{with leancrypto}
|
||||
sed -i '/^Requires.private:/s/leancrypto[ ,]*//g' lib/gnutls.pc
|
||||
%endif
|
||||
popd
|
||||
|
||||
%if %{with mingw}
|
||||
|
|
@ -299,12 +436,12 @@ export CCASFLAGS=""
|
|||
--disable-rpath \
|
||||
--disable-nls \
|
||||
--disable-cxx \
|
||||
--enable-local-libopts \
|
||||
--enable-shared \
|
||||
--without-tpm \
|
||||
--with-included-unistring \
|
||||
--disable-doc \
|
||||
--with-default-priority-string="@SYSTEM"
|
||||
--with-default-priority-string="@SYSTEM" \
|
||||
--without-p11-kit
|
||||
%mingw_make %{?_smp_mflags}
|
||||
%endif
|
||||
|
||||
|
|
@ -321,6 +458,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/gnutls-dane.pc
|
|||
%if %{with fips}
|
||||
# doing it twice should be a no-op the second time,
|
||||
# and this way we avoid redefining it and missing a future change
|
||||
%global __debug_package 1
|
||||
%{__spec_install_post}
|
||||
fname=`basename $RPM_BUILD_ROOT%{_libdir}/libgnutls.so.30.*.*`
|
||||
./lib/fipshmac "$RPM_BUILD_ROOT%{_libdir}/libgnutls.so.30" > "$RPM_BUILD_ROOT%{_libdir}/.$fname.hmac"
|
||||
|
|
@ -371,22 +509,7 @@ rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/ncrypt.dll*
|
|||
%check
|
||||
%if %{with tests}
|
||||
pushd native_build
|
||||
|
||||
# KeyUpdate is not yet supported in the kernel.
|
||||
xfail_tests=ktls_keyupdate.sh
|
||||
|
||||
# The ktls.sh test currently only supports kernel 5.11+. This needs to
|
||||
# be checked at run time, as the koji builder might be using a different
|
||||
# version of kernel on the host than the one indicated by the
|
||||
# kernel-devel package.
|
||||
|
||||
case "$(uname -r)" in
|
||||
4.* | 5.[0-9].* | 5.10.* )
|
||||
xfail_tests="$xfail_tests ktls.sh"
|
||||
;;
|
||||
esac
|
||||
|
||||
make check %{?_smp_mflags} GNUTLS_SYSTEM_PRIORITY_FILE=/dev/null XFAIL_TESTS="$xfail_tests"
|
||||
make check %{?_smp_mflags} GNUTLS_SYSTEM_PRIORITY_FILE=/dev/null || { cat tests/test-suite.log tests/cert-tests/test-suite.log tests/slow/test-suite.log src/gl/tests/test-suite.log; exit 1; }
|
||||
popd
|
||||
%endif
|
||||
|
||||
|
|
@ -396,7 +519,7 @@ popd
|
|||
%{_libdir}/.libgnutls.so.30*.hmac
|
||||
%endif
|
||||
%doc README.md AUTHORS NEWS THANKS
|
||||
%license LICENSE doc/COPYING doc/COPYING.LESSER
|
||||
%license COPYING COPYING.LESSERv2
|
||||
|
||||
%files c++
|
||||
%{_libdir}/libgnutlsxx.so.*
|
||||
|
|
@ -434,16 +557,20 @@ popd
|
|||
%{_libdir}/libgnutls-dane.so.*
|
||||
%endif
|
||||
|
||||
%if %{with fips}
|
||||
%files fips
|
||||
%endif
|
||||
|
||||
%if %{with mingw}
|
||||
%files -n mingw32-%{name}
|
||||
%license LICENSE doc/COPYING doc/COPYING.LESSER
|
||||
%license COPYING COPYING.LESSERv2
|
||||
%{mingw32_bindir}/certtool.exe
|
||||
%{mingw32_bindir}/gnutls-cli-debug.exe
|
||||
%{mingw32_bindir}/gnutls-cli.exe
|
||||
%{mingw32_bindir}/gnutls-serv.exe
|
||||
%{mingw32_bindir}/libgnutls-30.dll
|
||||
%{mingw32_bindir}/ocsptool.exe
|
||||
%{mingw32_bindir}/p11tool.exe
|
||||
#%%{mingw32_bindir}/p11tool.exe
|
||||
%{mingw32_bindir}/psktool.exe
|
||||
%if %{with srp}
|
||||
%{mingw32_bindir}/srptool.exe
|
||||
|
|
@ -454,14 +581,14 @@ popd
|
|||
%{mingw32_includedir}/gnutls/
|
||||
|
||||
%files -n mingw64-%{name}
|
||||
%license LICENSE doc/COPYING doc/COPYING.LESSER
|
||||
%license COPYING COPYING.LESSERv2
|
||||
%{mingw64_bindir}/certtool.exe
|
||||
%{mingw64_bindir}/gnutls-cli-debug.exe
|
||||
%{mingw64_bindir}/gnutls-cli.exe
|
||||
%{mingw64_bindir}/gnutls-serv.exe
|
||||
%{mingw64_bindir}/libgnutls-30.dll
|
||||
%{mingw64_bindir}/ocsptool.exe
|
||||
%{mingw64_bindir}/p11tool.exe
|
||||
#%%{mingw64_bindir}/p11tool.exe
|
||||
%{mingw64_bindir}/psktool.exe
|
||||
%if %{with srp}
|
||||
%{mingw64_bindir}/srptool.exe
|
||||
|
|
|
|||
6
sources
6
sources
|
|
@ -1,3 +1,5 @@
|
|||
SHA512 (gnutls-3.8.3.tar.xz) = 74eddba01ce4c2ffdca781c85db3bb52c85f1db3c09813ee2b8ceea0608f92ca3912fd9266f55deb36a8ba4d01802895ca5d5d219e7d9caec45e1a8534e45a84
|
||||
SHA512 (gnutls-3.8.3.tar.xz.sig) = 5b2ca0648ca5feeda1de933de2bbaf71fadb70e830a8f0d494d2f0380b6d0d7b79445257cc79e59bba1a7ff639ab4573da3e3e124eb80c20ac6141e29a4827ff
|
||||
SHA512 (gnutls-3.8.11.tar.xz) = 68f9e5bec3aa6686fd3319cc9c88a5cc44e2a75144049fc9de5fb55fef2241b4e16996af4be5dd48308abbee8cfaed6c862903f6bb89aff5dfa5410075bd7386
|
||||
SHA512 (gnutls-3.8.11.tar.xz.sig) = 90883e5736299b103844ca42b85d371969ef66b50b60cb185e814ad9978598796e9ed07a590245ff28ac6ac084b1dee93fae0845576464583a5941835990957d
|
||||
SHA512 (gnutls-release-keyring.gpg) = 8c2b39239d1d8c5319757fcf669f28a11de7f8ec4a726f9904c57ba8105bea80240083c0de71b747115907bab46569f10cf58004137cc7884ac5c20f8319ae0a
|
||||
SHA512 (gmp-6.2.1.tar.xz) = c99be0950a1d05a0297d65641dd35b75b74466f7bf03c9e8a99895a3b2f9a0856cd17887738fa51cf7499781b65c049769271cbcb77d057d2e9f1ec52e07dd84
|
||||
SHA512 (leancrypto-1.6.0.tar.gz) = cb6ace4a1642208dd7656b62a48e99d6261f471aa7967b738057745a4534abfa11d380dd5de98a737c0c13b1e1cb37ce780e02297eefc1cf839581629d34e100
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue