From 5e12accbcf82697fe1e1795a8c60c2ad6cec3d07 Mon Sep 17 00:00:00 2001 From: Zoltan Fridrich Date: Tue, 18 Oct 2022 13:54:39 +0200 Subject: [PATCH 1/7] [packit] 3.7.8 upstream release Upstream tag: 3.7.8 Upstream commit: f527ed0e Signed-off-by: Zoltan Fridrich --- .gitignore | 1 + README.packit | 2 +- gnutls-3.7.7-fix-ktls.patch | 13 ------- gnutls-3.7.8.tar.xz.sig | Bin 0 -> 1250 bytes gnutls.spec | 75 ++++++++++++++++++++++++++++-------- sources | 2 +- 6 files changed, 61 insertions(+), 32 deletions(-) delete mode 100644 gnutls-3.7.7-fix-ktls.patch create mode 100644 gnutls-3.7.8.tar.xz.sig diff --git a/.gitignore b/.gitignore index aedb544..1d6ef56 100644 --- a/.gitignore +++ b/.gitignore @@ -140,3 +140,4 @@ gnutls-2.10.1-nosrp.tar.bz2 /gnutls-3.7.5.tar.xz /gnutls-3.7.6.tar.xz /gnutls-3.7.7.tar.xz +/gnutls-3.7.8.tar.xz diff --git a/README.packit b/README.packit index 2c8f8d9..44d1757 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.55.0. +The file was generated using packit 0.60.0. diff --git a/gnutls-3.7.7-fix-ktls.patch b/gnutls-3.7.7-fix-ktls.patch deleted file mode 100644 index e3e19e3..0000000 --- a/gnutls-3.7.7-fix-ktls.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --color -rup a/lib/handshake.c b/lib/handshake.c ---- a/lib/handshake.c 2022-07-28 12:44:40.000000000 +0200 -+++ b/lib/handshake.c 2022-07-29 12:30:00.110002282 +0200 -@@ -2861,7 +2861,8 @@ int gnutls_handshake(gnutls_session_t se - - #ifdef ENABLE_KTLS - if (_gnutls_config_is_ktls_enabled()) { -- if (session->internals.pull_func || -+ if ((session->internals.pull_func && -+ session->internals.pull_func != system_read) || - session->internals.push_func) { - _gnutls_audit_log(session, - "Not enabling KTLS with " diff --git a/gnutls-3.7.8.tar.xz.sig b/gnutls-3.7.8.tar.xz.sig new file mode 100644 index 0000000000000000000000000000000000000000..21bc993ef81c346ee4dfb572401f03df938d3d10 GIT binary patch literal 1250 zcmV<81ReW{0y6{v0SEvc79j+tt5cvIBYKqi?!?eRCrG3U{KESM0%J1+i2w=-5J4wM zqze4P`yfpa0Dx5&C}kCp576>9^ES_R<3t^OoM|~pFh~#;>9!IXG45!^IPF15x{Z z%>9$1luWy0Fl>TsjLAAoCJ+>G4l#H#>6faS0^Y;D6)r2R4L$@`I@YLf1 z%7S7ItwE2fYrflloNaOjRw-0Tj=8sU3rpk-2e*%^xD|QuDd*7-arm&kfuo4e^<7cr z^Ur@)_v?cm1;+TDpw4#`Dz0cY-J!Z@&OI(2jbgyqLJXZd=8lgl1lPiV!LL|!(TOlF zjTnd_B?7y&eWj?id8RCDS7vX{{rtM6aksH6l?s#KWk9muyI0v;07er&2x@f;nKW>6 z+}8Vbn@f%eHY(N|One3Zi;!(9e_C1z-1>IVA)v`I-q8+9l6)V2^?ClN)-7Bo zHiz^OD<`br{(ypMrt-TQb)@*Y?MG0itV*mbvkM_w_rx7Y-n-e zJBb1^1ONdD038+~1V$ny!?bTSho8tvY}N&Yj@RaxaRmZnGZRMu3JDO_1%!^*=9qDE zhY$83)3ChQHl^|CKPU9>Lm(>d!#gZ(IH%6kih4DDU^-vk&n@&$`B>uj!}LZfcYetU z%$Uu%yqU!Bn6XRM6JD($xMUgAVw$R&d709h&&zOI3~G|GT&K`Lc8lN9#auCwn?B)O z1M618Xn5?sU9!uftSyb4pT3-bLJH>nykGzIT>O0@88rHof-K$?TzRV{s76zMds z-!bm_R;18`(HE|=fI-^kZb{|yvw3*B8)neHeacnW1K-qkXAgv6kQ~lFaEl=xrG9-3 z=nl?HGI-DWU1xs=W8u%D7!=;Yo$-fkZ}Q+xxeyKupD|AeYf{xG5%FWfkc*`?|Hpaz z$JJu)=Ct~|kB23p^)C>&8N-^Uo6KE%JE}Ka9&)8g$FjQ2sZg+a1vb z>tNw^N@Y~Y7 zLM`u~8315bRytW>m%39$@zCO}?b+d>9O^Cr{T}_sk%= 0.21.3, gettext-devel -BuildRequires: zlib-devel, readline-devel, libtasn1-devel >= 4.3 +BuildRequires: readline-devel, libtasn1-devel >= 4.3 +%if %{with certificate_compression} +BuildRequires: zlib-devel, brotli-devel, libzstd-devel +%endif %if %{with bootstrap} BuildRequires: automake, autoconf, gperf, libtool, texinfo %endif @@ -30,10 +48,14 @@ BuildRequires: nettle-devel >= 3.5.1 %if %{with tpm12} BuildRequires: trousers-devel >= 0.3.11.2 %endif +%if %{with tpm2} +BuildRequires: tpm2-tss-devel >= 3.0.3 +%endif BuildRequires: libidn2-devel BuildRequires: libunistring-devel BuildRequires: net-tools, datefudge, softhsm, gcc, gcc-c++ BuildRequires: gnupg2 +BuildRequires: git-core # for a sanity check on cert loading BuildRequires: p11-kit-trust, ca-certificates @@ -149,11 +171,17 @@ This package contains Guile bindings for the library. %endif %prep -%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +# Workaround: to allow building the package under FIPS, do not treat +# errors in the GPG check as fatal, where EdDSA signature verification +# is not allowed: +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' || : + +%autosetup -p1 -S git + +%build +%define _lto_cflags %{nil} -%autosetup -p1 %if %{with bootstrap} -rm -f src/libopts/*.c src/libopts/*.h src/libopts/compat/*.c src/libopts/compat/*.h autoreconf -fi %endif @@ -162,12 +190,6 @@ rm -f lib/minitasn1/*.c lib/minitasn1/*.h echo "SYSTEM=NORMAL" >> tests/system.prio -# Note that we explicitly enable SHA1, as SHA1 deprecation is handled -# via the crypto policies - -%build -%define _lto_cflags %{nil} - CCASFLAGS="$CCASFLAGS -Wa,--generate-missing-build-notes=yes" export CCASFLAGS @@ -180,9 +202,16 @@ GUILD=%{_bindir}/guild2.2 export GUILD %endif +%if %{with fips} +eval $(sed -n 's/^\(\(NAME\|VERSION_ID\)=.*\)/OS_\1/p' /etc/os-release) +export FIPS_MODULE_NAME="$OS_NAME ${OS_VERSION_ID%%.*} %name" +%endif + %configure \ %if %{with fips} --enable-fips140-mode \ + --with-fips140-module-name="$FIPS_MODULE_NAME" \ + --with-fips140-module-version=%{version}-%{srpmhash} \ %endif %if %{with gost} --enable-gost \ @@ -200,6 +229,12 @@ export GUILD %else --without-tpm \ %endif +%if %{with tpm2} + --with-tpm2 \ +%else + --without-tpm2 \ +%endif + --enable-ktls \ --htmldir=%{_docdir}/manual \ %if %{with guile} --enable-guile \ @@ -212,10 +247,14 @@ export GUILD --enable-libdane \ %else --disable-libdane \ +%endif +%if %{with certificate_compression} + --with-zlib --with-brotli --with-zstd \ +%else + --without-zlib --without-brotli --without-zstd \ %endif --disable-rpath \ - --with-default-priority-string="@SYSTEM" \ - --enable-ktls + --with-default-priority-string="@SYSTEM" make %{?_smp_mflags} V=1 @@ -249,7 +288,9 @@ sed -i "s^$RPM_BUILD_ROOT/usr^^" $RPM_BUILD_ROOT%{_libdir}/.gnutls.hmac %find_lang gnutls %check +%if %{with tests} make check %{?_smp_mflags} GNUTLS_SYSTEM_PRIORITY_FILE=/dev/null +%endif %files -f gnutls.lang %{_libdir}/libgnutls.so.30* diff --git a/sources b/sources index 7941535..ee8a251 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnutls-3.7.7.tar.xz) = ba00b20126379ec7e96c6bfa606cfb7bb0d9a5853318b29b5278a42a85ae40d39d8442778938e1f165debcdb1adaf9c63bcec59a4eb3387dd1ac99b08bcc5c08 +SHA512 (gnutls-3.7.8.tar.xz) = 4199bcf7c9e3aab2f52266aadceefc563dfe2d938d0ea1f3ec3be95d66f4a8c8e5494d3a800c03dd02ad386dec1738bd63e1fe0d8b394a2ccfc7d6c6a0cc9359 From 8de4654ba6f15b59e9dcf707a799f9eba8569f96 Mon Sep 17 00:00:00 2001 From: Zoltan Fridrich Date: Wed, 19 Oct 2022 11:00:10 +0200 Subject: [PATCH 2/7] Add mingw package Signed-off-by: Zoltan Fridrich --- gnutls-release-keyring.gpg | Bin 20850 -> 26256 bytes gnutls.spec | 151 +++++++++++++++++++++++++++++++++++-- 2 files changed, 144 insertions(+), 7 deletions(-) diff --git a/gnutls-release-keyring.gpg b/gnutls-release-keyring.gpg index e33ee430307d77bbf4ea2b05e65a1bb9ac795769..c2d26f6cbee508b909f705bc6ce51d1108a0e5f4 100644 GIT binary patch delta 5458 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 E7iHk`@&Et; delta 9 QcmbPmmhsaf#tlV*02ikOX8-^I diff --git a/gnutls.spec b/gnutls.spec index 506ee01..9fb0f84 100644 --- a/gnutls.spec +++ b/gnutls.spec @@ -12,6 +12,11 @@ sha256sum:close() print(string.sub(hash, 0, 16)) } +%global with_mingw 0 +%if 0%{?fedora} +%global with_mingw 0%{!?_without_mingw:1} +%endif + Version: 3.7.8 Release: %{?autorelease}%{!?autorelease:1%{?dist}} Patch: gnutls-3.6.7-no-now-guile.patch @@ -74,6 +79,26 @@ BuildRequires: unbound-devel unbound-libs BuildRequires: guile22-devel %endif BuildRequires: make gtk-doc + +%if %{with_mingw} +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-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 + URL: http://www.gnutls.org/ %define short_version %(echo %{version} | grep -m1 -o "[0-9]*\.[0-9]*" | head -1) Source0: https://www.gnupg.org/ftp/gcrypt/gnutls/v%{short_version}/%{name}-%{version}.tar.xz @@ -170,11 +195,30 @@ other required structures. This package contains Guile bindings for the library. %endif +%if %{with_mingw} +%package -n mingw32-%{name} +Summary: MinGW GnuTLS TLS/SSL encryption library +Requires: pkgconfig +Requires: mingw32-libtasn1 >= 4.3 + +%description -n mingw32-gnutls +GnuTLS TLS/SSL encryption library. This library is cross-compiled +for MinGW. + +%package -n mingw64-%{name} +Summary: MinGW GnuTLS TLS/SSL encryption library +Requires: pkgconfig +Requires: mingw64-libtasn1 >= 4.3 + +%description -n mingw64-gnutls +GnuTLS TLS/SSL encryption library. This library is cross-compiled +for MinGW. + +%{?mingw_debug_package} +%endif + %prep -# Workaround: to allow building the package under FIPS, do not treat -# errors in the GPG check as fatal, where EdDSA signature verification -# is not allowed: -%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' || : +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' %autosetup -p1 -S git @@ -207,6 +251,9 @@ eval $(sed -n 's/^\(\(NAME\|VERSION_ID\)=.*\)/OS_\1/p' /etc/os-release) export FIPS_MODULE_NAME="$OS_NAME ${OS_VERSION_ID%%.*} %name" %endif +mkdir native_build +pushd native_build +%global _configure ../configure %configure \ %if %{with fips} --enable-fips140-mode \ @@ -256,10 +303,34 @@ export FIPS_MODULE_NAME="$OS_NAME ${OS_VERSION_ID%%.*} %name" --disable-rpath \ --with-default-priority-string="@SYSTEM" -make %{?_smp_mflags} V=1 +%make_build +popd + +%if %{with_mingw} +# MinGW does not support CCASFLAGS +export CCASFLAGS="" +%mingw_configure \ + --enable-sha1-support \ + --disable-static \ + --disable-openssl-compatibility \ + --disable-non-suiteb-curves \ + --disable-guile \ + --disable-libdane \ + --disable-rpath \ + --disable-nls \ + --disable-cxx \ + --enable-local-libopts \ + --enable-shared \ + --without-tpm \ + --with-included-unistring \ + --disable-doc \ + --with-default-priority-string="@SYSTEM" +%mingw_make %{?_smp_mflags} +%endif %install -make install DESTDIR=$RPM_BUILD_ROOT +%make_install -C native_build +pushd native_build make -C doc install-html DESTDIR=$RPM_BUILD_ROOT rm -f $RPM_BUILD_ROOT%{_infodir}/dir rm -f $RPM_BUILD_ROOT%{_libdir}/*.la @@ -286,13 +357,45 @@ sed -i "s^$RPM_BUILD_ROOT/usr^^" $RPM_BUILD_ROOT%{_libdir}/.gnutls.hmac %endif %find_lang gnutls +popd + +%if %{with_mingw} +%mingw_make_install + +# Remove .la files +rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/*.la +rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/*.la + +# The .def files aren't interesting for other binaries +rm -f $RPM_BUILD_ROOT%{mingw32_bindir}/*.def +rm -f $RPM_BUILD_ROOT%{mingw64_bindir}/*.def + +# Remove info and man pages which duplicate stuff in Fedora already. +rm -rf $RPM_BUILD_ROOT%{mingw32_infodir} +rm -rf $RPM_BUILD_ROOT%{mingw32_mandir} +rm -rf $RPM_BUILD_ROOT%{mingw32_docdir}/gnutls + +rm -rf $RPM_BUILD_ROOT%{mingw64_infodir} +rm -rf $RPM_BUILD_ROOT%{mingw64_mandir} +rm -rf $RPM_BUILD_ROOT%{mingw64_docdir}/gnutls + +# Remove test libraries +rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/crypt32.dll* +rm -f $RPM_BUILD_ROOT%{mingw32_libdir}/ncrypt.dll* +rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/crypt32.dll* +rm -f $RPM_BUILD_ROOT%{mingw64_libdir}/ncrypt.dll* + +%mingw_debug_install_post +%endif %check %if %{with tests} +pushd native_build make check %{?_smp_mflags} GNUTLS_SYSTEM_PRIORITY_FILE=/dev/null +popd %endif -%files -f gnutls.lang +%files -f native_build/gnutls.lang %{_libdir}/libgnutls.so.30* %if %{with fips} %{_libdir}/.gnutls.hmac @@ -343,5 +446,39 @@ make check %{?_smp_mflags} GNUTLS_SYSTEM_PRIORITY_FILE=/dev/null %{_datadir}/guile/site/2.2/gnutls/extra.scm %endif +%if %{with_mingw} +%files -n mingw32-%{name} +%license LICENSE doc/COPYING doc/COPYING.LESSER +%{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}/psktool.exe +%{mingw32_bindir}/srptool.exe +%{mingw32_libdir}/libgnutls.dll.a +%{mingw32_libdir}/libgnutls-30.def +%{mingw32_libdir}/pkgconfig/gnutls.pc +%{mingw32_includedir}/gnutls/ + +%files -n mingw64-%{name} +%license LICENSE doc/COPYING doc/COPYING.LESSER +%{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}/psktool.exe +%{mingw64_bindir}/srptool.exe +%{mingw64_libdir}/libgnutls.dll.a +%{mingw64_libdir}/libgnutls-30.def +%{mingw64_libdir}/pkgconfig/gnutls.pc +%{mingw64_includedir}/gnutls/ +%endif + %changelog %autochangelog From 268b9b324e4690c842a23ef74b3fd06d378fc49b Mon Sep 17 00:00:00 2001 From: Zoltan Fridrich Date: Fri, 4 Nov 2022 09:42:01 +0100 Subject: [PATCH 3/7] Cross-compiled mingw sub-RPMs should be 'noarch' Signed-off-by: Zoltan Fridrich --- gnutls.spec | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnutls.spec b/gnutls.spec index 9fb0f84..34370bf 100644 --- a/gnutls.spec +++ b/gnutls.spec @@ -200,6 +200,7 @@ This package contains Guile bindings for the library. Summary: MinGW GnuTLS TLS/SSL encryption library Requires: pkgconfig Requires: mingw32-libtasn1 >= 4.3 +BuildArch: noarch %description -n mingw32-gnutls GnuTLS TLS/SSL encryption library. This library is cross-compiled @@ -209,6 +210,7 @@ for MinGW. Summary: MinGW GnuTLS TLS/SSL encryption library Requires: pkgconfig Requires: mingw64-libtasn1 >= 4.3 +BuildArch: noarch %description -n mingw64-gnutls GnuTLS TLS/SSL encryption library. This library is cross-compiled From f9af25680228f1953d58d1c45e7863a92e0ac336 Mon Sep 17 00:00:00 2001 From: Zoltan Fridrich Date: Tue, 14 Feb 2023 15:41:31 +0100 Subject: [PATCH 4/7] Prepare for release Signed-off-by: Zoltan Fridrich --- gnutls-3.7.4.tar.xz.sig | Bin 685 -> 0 bytes gnutls-3.7.5.tar.xz.sig | Bin 685 -> 0 bytes gnutls-3.7.6.tar.xz.sig | Bin 685 -> 0 bytes gnutls-3.7.7.tar.xz.sig | Bin 685 -> 0 bytes gnutls-3.7.8.tar.xz.sig | Bin 1250 -> 0 bytes gnutls-release-keyring.gpg | Bin 26256 -> 0 bytes gnutls.spec | 2 +- sources | 2 ++ 8 files changed, 3 insertions(+), 1 deletion(-) delete mode 100644 gnutls-3.7.4.tar.xz.sig delete mode 100644 gnutls-3.7.5.tar.xz.sig delete mode 100644 gnutls-3.7.6.tar.xz.sig delete mode 100644 gnutls-3.7.7.tar.xz.sig delete mode 100644 gnutls-3.7.8.tar.xz.sig delete mode 100644 gnutls-release-keyring.gpg diff --git a/gnutls-3.7.4.tar.xz.sig b/gnutls-3.7.4.tar.xz.sig deleted file mode 100644 index b9c03b613433c41a237be8218cedfb14bbb47c87..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 685 zcmV;e0#f~mbp!ww3IH7zAp~7U%MW%m1*ZiyR`hyxrbx5-A`ArrVlyr80162ZdUd8q zv-u(n1fT%@6p|Gjsi!d%jZayHA(`cQ<>+~sy4$WtrhapJo4T(K0RXwd%q}q}Ybf;b z%vd1>kQOV+LR^s~^WXqaLUuumtqh3*GXwwu2ml=xAp}MuCBw9DG>4zaNo>{ygpSwd zm~jOHVlz7C0162Z)&+!)*XEdUbkz_26y8?IDiWQ~yL{S3<@MyX0J#&?!B!Hmkuqjr zVjSXJp&OyeF&uRa*1-ZjIZQ|HW5c4yp=uLm>WYU-Ib4Irr?CgoL7fZ1l$y6 z!bx4F4Jylhe5XS-;?wZ38V=L4I0Z)%$ zmHdQpnRXGHNa_UoPKj_Kdd5(Pc!UPKU8^0qG>GF{yJD%H&W;gP{`zG7$PG;qSKAr; Ty-KhOFJ<0WcXPu(BNiKNz}7%A diff --git a/gnutls-3.7.5.tar.xz.sig b/gnutls-3.7.5.tar.xz.sig deleted file mode 100644 index b1e591f3f7c26af957334d33efb4ff3085501d1b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 685 zcmV;e0#f~mbp!ww3IH7zAp~7U%MW%m1*ZiyR`hyxrbx5-A`ArrVtojB0162ZdUd8q zv-u(nw*>(IQVa%7W49>fM5KR_wVg;cFShzNT&Y1NDK&B`xlr5W0RL^^JLh<|DKQ|4 z8}_{OUkD!EFGKQ54zaNo>{ygpSwd zm~jOHVtpTt0162Z)&+!)*XEdUsZ0<5K?NGDVyp9oAj!B=TrD?H!L(8*Fxq>^>+_!( zX?Ub3u#)1@-RqY>v88qw`^m_WEG1$14ofMBfgIz_MmE~pVIAV4$rQ@*RrX*D!`I~a!kAQ(04)dm?K94|16jz}> zv1Z;%Vph$#iMI-N{M`_yC1hz*#vMYUnlMTYmy4bktI6P3Mr)yVC+g%CeKykz{>=HV zND_ePY5}YAhh(x1+mAF^k=^mrDC$^YNHeZrP0JvfqT1%*6w;kw_ zR>R%#rt)OQ;Vb*ELgr&6HSR6|X#6dJvJQ16z>W?Tk(Q1ystr(LRrw!>!4qNj;~>G{y)@OgqHv11 Tgh%PbJ8f@0Zcx^u-OUEF diff --git a/gnutls-3.7.6.tar.xz.sig b/gnutls-3.7.6.tar.xz.sig deleted file mode 100644 index 70cb359cfa200e21bbf41fbe8a97062d6596949b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 685 zcmV;e0#f~n0y6{v0SEvc79j*iA|=DLZ#0LW$VqJ01%!^*=9qB>0%DM=asUbm5Y`2R zj@Raxag~S<|6D@l3C3#|Jf^=OwKKysslXB+p;!Ex&05zgiTPH4f-KUI^0rO|%5HLC zcqlZLJfI{ft90^YHlVmsW)tiIu5|vOl1A3=r=NDpLbuo^P5iV~Z+iBr#DLYG_l^-N z+@%p;65TrGX*i(k0ncB=DN2|=SdBdZ{z}TT7YJzgd1Gl)R-71t9Q>nrlmFsxeI4)7 z>|q#*M2D~Y380*5)@$X#B`lg0oraC@$tlt)#8EE*=!619mLQo7xciwU-KDl|G~PmX zY_{lGs%M0eh}D7x4UyAoekX+{eM$g-=HuV9rmaV_{JKfa+Z~^qu|4^2?Jp0oi>E#I zKXKXFg;k#?1p~(g-e*Y1yN6xR1Hruv@nk8NM7n`s3rV{Hw(j&apnj*?g(n&OGf0Cy zt$0!7N0u;x={}M;VX>uG_`zH0vX4YYSf8wj_pC&#>tiUL{%EMrFH8<(>LG!Ha_@i- z4Fo0C@#5uqcs zZL4w_X10cGjIq8Gs_rimDBxqByOUO7eR~O!%%s8ni;$kT5P65+Hn#qFy(#!8gF{|f z{fKo002T@W9Tp)3T}I0fb~FX21vOUmdUd8qv-u(n1p;D_l4Sr22@ra9rbx5-A`I}} z0RA~Yf@MX8iwd_>M6_sh73C=7B7}?+21`rW9!3W-oTC8%yxSB_;^bY^-$zRA&RE{( THJM||bc2D~!02dd{0%GEs`~V6G5Y`2R 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 br3mjnvaYXfYvewcG^Fk=qVN7@G@ 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 HbI<<(@*qUZ diff --git a/gnutls.spec b/gnutls.spec index 34370bf..238e4ac 100644 --- a/gnutls.spec +++ b/gnutls.spec @@ -103,7 +103,7 @@ URL: http://www.gnutls.org/ %define short_version %(echo %{version} | grep -m1 -o "[0-9]*\.[0-9]*" | head -1) Source0: https://www.gnupg.org/ftp/gcrypt/gnutls/v%{short_version}/%{name}-%{version}.tar.xz Source1: https://www.gnupg.org/ftp/gcrypt/gnutls/v%{short_version}/%{name}-%{version}.tar.xz.sig -Source2: gnutls-release-keyring.gpg +Source2: https://gnutls.org/gnutls-release-keyring.gpg # Wildcard bundling exception https://fedorahosted.org/fpc/ticket/174 Provides: bundled(gnulib) = 20130424 diff --git a/sources b/sources index ee8a251..0ceeebf 100644 --- a/sources +++ b/sources @@ -1 +1,3 @@ SHA512 (gnutls-3.7.8.tar.xz) = 4199bcf7c9e3aab2f52266aadceefc563dfe2d938d0ea1f3ec3be95d66f4a8c8e5494d3a800c03dd02ad386dec1738bd63e1fe0d8b394a2ccfc7d6c6a0cc9359 +SHA512 (gnutls-3.7.8.tar.xz.sig) = cecf9843e8683a278d065b663dc98ac2b5fcad1905ee25333038c93c2289b518c974629367e77e66552ac1c9d122d551616edba35cb0c4204202ec676f1a2db7 +SHA512 (gnutls-release-keyring.gpg) = 5c14d83f4f37bd319c652db0d76fc5bb04752fb461bbe853e25b20ffe41d6d14faae6c0bdd0193ac6242975bf1205ce606a9d0082261cc4581fd680abfcdbd4d From 59e0c191c86b502d28a3e9dcfc093f4b20e42b58 Mon Sep 17 00:00:00 2001 From: Zoltan Fridrich Date: Wed, 15 Feb 2023 09:05:08 +0100 Subject: [PATCH 5/7] [packit] 3.8.0 upstream release Upstream tag: 3.8.0 Upstream commit: 516e466b Signed-off-by: Zoltan Fridrich --- .gitignore | 3 + .packit.yaml | 1 - README.packit | 2 +- gnutls-3.6.7-no-now-guile.patch | 11 --- ...ls-3.7.8-ktls_disable_keyupdate_test.patch | 13 +++ ....7.8-ktls_skip_tls12_chachapoly_test.patch | 12 +++ gnutls.spec | 84 ++++++------------- sources | 4 +- 8 files changed, 57 insertions(+), 73 deletions(-) delete mode 100644 gnutls-3.6.7-no-now-guile.patch create mode 100644 gnutls-3.7.8-ktls_disable_keyupdate_test.patch create mode 100644 gnutls-3.7.8-ktls_skip_tls12_chachapoly_test.patch diff --git a/.gitignore b/.gitignore index 1d6ef56..690d3fe 100644 --- a/.gitignore +++ b/.gitignore @@ -141,3 +141,6 @@ gnutls-2.10.1-nosrp.tar.bz2 /gnutls-3.7.6.tar.xz /gnutls-3.7.7.tar.xz /gnutls-3.7.8.tar.xz +/gnutls-3.8.0.tar.xz +/gnutls-3.8.0.tar.xz.sig +/gnutls-release-keyring.gpg diff --git a/.packit.yaml b/.packit.yaml index a27df63..2a7dee2 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -15,7 +15,6 @@ actions: post-upstream-clone: - "wget https://src.fedoraproject.org/rpms/gnutls/raw/main/f/gnutls.spec" - "wget https://src.fedoraproject.org/rpms/gnutls/raw/main/f/gnutls-3.2.7-rpath.patch" - - "wget https://src.fedoraproject.org/rpms/gnutls/raw/main/f/gnutls-3.6.7-no-now-guile.patch" get-current-version: - "git describe --abbrev=0" create-archive: diff --git a/README.packit b/README.packit index 44d1757..c83811d 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.60.0. +The file was generated using packit 0.67.0. diff --git a/gnutls-3.6.7-no-now-guile.patch b/gnutls-3.6.7-no-now-guile.patch deleted file mode 100644 index d14e8df..0000000 --- a/gnutls-3.6.7-no-now-guile.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/guile/src/Makefile.in 2019-03-27 11:51:55.984398001 +0100 -+++ b/guile/src/Makefile.in 2019-03-27 11:52:27.259626076 +0100 -@@ -1472,7 +1472,7 @@ - # Use '-module' to build a "dlopenable module", in Libtool terms. - # Use '-undefined' to placate Libtool on Windows; see - # . --guile_gnutls_v_2_la_LDFLAGS = -module -no-undefined -+guile_gnutls_v_2_la_LDFLAGS = -module -no-undefined -Wl,-z,lazy - - # Linking against GnuTLS. - GNUTLS_CORE_LIBS = $(top_builddir)/lib/libgnutls.la diff --git a/gnutls-3.7.8-ktls_disable_keyupdate_test.patch b/gnutls-3.7.8-ktls_disable_keyupdate_test.patch new file mode 100644 index 0000000..cab7547 --- /dev/null +++ b/gnutls-3.7.8-ktls_disable_keyupdate_test.patch @@ -0,0 +1,13 @@ +diff --git a/tests/Makefile.am b/tests/Makefile.am +index 2872cb1aa..247dfd3d8 100644 +--- a/tests/Makefile.am ++++ b/tests/Makefile.am +@@ -504,8 +504,6 @@ endif + if ENABLE_KTLS + indirect_tests += gnutls_ktls + dist_check_SCRIPTS += ktls.sh +-indirect_tests += ktls_keyupdate +-dist_check_SCRIPTS += ktls_keyupdate.sh + endif + + if !WINDOWS diff --git a/gnutls-3.7.8-ktls_skip_tls12_chachapoly_test.patch b/gnutls-3.7.8-ktls_skip_tls12_chachapoly_test.patch new file mode 100644 index 0000000..d986a36 --- /dev/null +++ b/gnutls-3.7.8-ktls_skip_tls12_chachapoly_test.patch @@ -0,0 +1,12 @@ +diff --git a/tests/gnutls_ktls.c b/tests/gnutls_ktls.c +index 919270778..778a2f94a 100644 +--- a/tests/gnutls_ktls.c ++++ b/tests/gnutls_ktls.c +@@ -351,7 +351,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:+AES-128-CCM"); +- 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:+AES-128-CCM"); diff --git a/gnutls.spec b/gnutls.spec index 238e4ac..55c9277 100644 --- a/gnutls.spec +++ b/gnutls.spec @@ -12,25 +12,26 @@ sha256sum:close() print(string.sub(hash, 0, 16)) } +%global with_srp 0%{?fedora} < 38 + %global with_mingw 0 %if 0%{?fedora} %global with_mingw 0%{!?_without_mingw:1} %endif -Version: 3.7.8 +Version: 3.8.0 Release: %{?autorelease}%{!?autorelease:1%{?dist}} -Patch: gnutls-3.6.7-no-now-guile.patch Patch: gnutls-3.2.7-rpath.patch +# Delete only after the kernel has been patched for thested systems +Patch: gnutls-3.7.8-ktls_disable_keyupdate_test.patch + +# follow https://gitlab.com/gnutls/gnutls/-/issues/1443 +Patch: gnutls-3.7.8-ktls_skip_tls12_chachapoly_test.patch + %bcond_without bootstrap %bcond_without dane -%if 0%{?rhel} -%bcond_with guile %bcond_without fips -%else -%bcond_without guile -%bcond_without fips -%endif %bcond_with tpm12 %bcond_without tpm2 %bcond_without gost @@ -75,9 +76,6 @@ Recommends: trousers >= 0.3.11.2 %if %{with dane} BuildRequires: unbound-devel unbound-libs %endif -%if %{with guile} -BuildRequires: guile22-devel -%endif BuildRequires: make gtk-doc %if %{with_mingw} @@ -135,13 +133,6 @@ Summary: A DANE protocol implementation for GnuTLS Requires: %{name}%{?_isa} = %{version}-%{release} %endif -%if %{with guile} -%package guile -Summary: Guile bindings for the GNUTLS library -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: guile22 -%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 @@ -185,16 +176,6 @@ This package contains library that implements the DANE protocol for verifying TLS certificates through DNSSEC. %endif -%if %{with guile} -%description guile -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 contains Guile bindings for the library. -%endif - %if %{with_mingw} %package -n mingw32-%{name} Summary: MinGW GnuTLS TLS/SSL encryption library @@ -239,15 +220,6 @@ echo "SYSTEM=NORMAL" >> tests/system.prio CCASFLAGS="$CCASFLAGS -Wa,--generate-missing-build-notes=yes" export CCASFLAGS -%if %{with guile} -# These should be checked by m4/guile.m4 instead of configure.ac -# taking into account of _guile_suffix -guile_snarf=%{_bindir}/guile-snarf2.2 -export guile_snarf -GUILD=%{_bindir}/guild2.2 -export GUILD -%endif - %if %{with fips} eval $(sed -n 's/^\(\(NAME\|VERSION_ID\)=.*\)/OS_\1/p' /etc/os-release) export FIPS_MODULE_NAME="$OS_NAME ${OS_VERSION_ID%%.*} %name" @@ -266,6 +238,9 @@ pushd native_build --enable-gost \ %else --disable-gost \ +%endif +%if %{with_srp} + --enable-srp-authentication \ %endif --enable-sha1-support \ --disable-static \ @@ -285,12 +260,6 @@ pushd native_build %endif --enable-ktls \ --htmldir=%{_docdir}/manual \ -%if %{with guile} - --enable-guile \ - --with-guile-extension-dir=%{_libdir}/guile/2.2 \ -%else - --disable-guile \ -%endif %if %{with dane} --with-unbound-root-key-file=/var/lib/unbound/root.key \ --enable-libdane \ @@ -312,11 +281,13 @@ popd # MinGW does not support CCASFLAGS export CCASFLAGS="" %mingw_configure \ +%if %{with_srp} + --enable-srp-authentication \ +%endif --enable-sha1-support \ --disable-static \ --disable-openssl-compatibility \ --disable-non-suiteb-curves \ - --disable-guile \ --disable-libdane \ --disable-rpath \ --disable-nls \ @@ -336,8 +307,6 @@ pushd native_build make -C doc install-html DESTDIR=$RPM_BUILD_ROOT rm -f $RPM_BUILD_ROOT%{_infodir}/dir rm -f $RPM_BUILD_ROOT%{_libdir}/*.la -rm -f $RPM_BUILD_ROOT%{_libdir}/guile/2.2/guile-gnutls*.a -rm -f $RPM_BUILD_ROOT%{_libdir}/guile/2.2/guile-gnutls*.la %if %{without dane} rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/gnutls-dane.pc %endif @@ -346,8 +315,10 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/gnutls-dane.pc # doing it twice should be a no-op the second time, # and this way we avoid redefining it and missing a future change %{__spec_install_post} -./lib/fipshmac "$RPM_BUILD_ROOT%{_libdir}/libgnutls.so.30" > $RPM_BUILD_ROOT%{_libdir}/.gnutls.hmac -sed -i "s^$RPM_BUILD_ROOT/usr^^" $RPM_BUILD_ROOT%{_libdir}/.gnutls.hmac +fname=`basename $RPM_BUILD_ROOT%{_libdir}/libgnutls.so.30.*.*` +./lib/fipshmac "$RPM_BUILD_ROOT%{_libdir}/libgnutls.so.30" > "$RPM_BUILD_ROOT%{_libdir}/.$fname.hmac" +sed -i "s^$RPM_BUILD_ROOT/usr^^" "$RPM_BUILD_ROOT%{_libdir}/.$fname.hmac" +ln -s ".$fname.hmac" "$RPM_BUILD_ROOT%{_libdir}/.libgnutls.so.30.hmac" %endif %if %{with fips} @@ -400,7 +371,7 @@ popd %files -f native_build/gnutls.lang %{_libdir}/libgnutls.so.30* %if %{with fips} -%{_libdir}/.gnutls.hmac +%{_libdir}/.libgnutls.so.30*.hmac %endif %doc README.md AUTHORS NEWS THANKS %license LICENSE doc/COPYING doc/COPYING.LESSER @@ -426,7 +397,9 @@ popd %{_bindir}/ocsptool %{_bindir}/psktool %{_bindir}/p11tool +%if %{with_srp} %{_bindir}/srptool +%endif %if %{with dane} %{_bindir}/danetool %endif @@ -439,15 +412,6 @@ popd %{_libdir}/libgnutls-dane.so.* %endif -%if %{with guile} -%files guile -%{_libdir}/guile/2.2/guile-gnutls*.so* -%{_libdir}/guile/2.2/site-ccache/gnutls.go -%{_libdir}/guile/2.2/site-ccache/gnutls/extra.go -%{_datadir}/guile/site/2.2/gnutls.scm -%{_datadir}/guile/site/2.2/gnutls/extra.scm -%endif - %if %{with_mingw} %files -n mingw32-%{name} %license LICENSE doc/COPYING doc/COPYING.LESSER @@ -459,7 +423,9 @@ popd %{mingw32_bindir}/ocsptool.exe %{mingw32_bindir}/p11tool.exe %{mingw32_bindir}/psktool.exe +%if %{with_srp} %{mingw32_bindir}/srptool.exe +%endif %{mingw32_libdir}/libgnutls.dll.a %{mingw32_libdir}/libgnutls-30.def %{mingw32_libdir}/pkgconfig/gnutls.pc @@ -475,7 +441,9 @@ popd %{mingw64_bindir}/ocsptool.exe %{mingw64_bindir}/p11tool.exe %{mingw64_bindir}/psktool.exe +%if %{with_srp} %{mingw64_bindir}/srptool.exe +%endif %{mingw64_libdir}/libgnutls.dll.a %{mingw64_libdir}/libgnutls-30.def %{mingw64_libdir}/pkgconfig/gnutls.pc diff --git a/sources b/sources index 0ceeebf..f6b15ed 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (gnutls-3.7.8.tar.xz) = 4199bcf7c9e3aab2f52266aadceefc563dfe2d938d0ea1f3ec3be95d66f4a8c8e5494d3a800c03dd02ad386dec1738bd63e1fe0d8b394a2ccfc7d6c6a0cc9359 -SHA512 (gnutls-3.7.8.tar.xz.sig) = cecf9843e8683a278d065b663dc98ac2b5fcad1905ee25333038c93c2289b518c974629367e77e66552ac1c9d122d551616edba35cb0c4204202ec676f1a2db7 +SHA512 (gnutls-3.8.0.tar.xz) = 2507b3133423fdaf90fbd826ccb1142e9ff6fc90fcd5531720218f19ddf0e6bbb8267d23bad35c0954860e5a4179da74823e0c8357db56a14f252e6ec9d59629 +SHA512 (gnutls-3.8.0.tar.xz.sig) = 9db8db74aa0ebd871287b07b6a8a9f4ce90188633618e669fe07cb8bb314b624c14761f6fe1970e2fbffa87f7c0d6daa4b0fa838bd05f74b8b18cd1b5325c654 SHA512 (gnutls-release-keyring.gpg) = 5c14d83f4f37bd319c652db0d76fc5bb04752fb461bbe853e25b20ffe41d6d14faae6c0bdd0193ac6242975bf1205ce606a9d0082261cc4581fd680abfcdbd4d From 96f7e472a5359d958b5873e615b264c10ef5f241 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Thu, 2 Mar 2023 11:14:44 +0000 Subject: [PATCH 6/7] Disable GNULIB's year2038 support for 64-bit time_t MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GNUTLS exposes time_t in its public API and thus the size of time_t is ABI relevant. It can't be changed in size without breaking ABI compatibility with applications built against GNUTLS that use the default time_t size. https://gitlab.com/gnutls/gnutls/-/issues/1466 https://bugzilla.redhat.com/show_bug.cgi?id=2174758 Signed-off-by: Daniel P. Berrangé --- gnutls.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnutls.spec b/gnutls.spec index 55c9277..23c169a 100644 --- a/gnutls.spec +++ b/gnutls.spec @@ -241,6 +241,9 @@ pushd native_build %endif %if %{with_srp} --enable-srp-authentication \ +%endif +%ifarch %{ix86} + --disable-year2038 \ %endif --enable-sha1-support \ --disable-static \ From f15879e7e0e49668e4a30bea2f1799177ebac46f Mon Sep 17 00:00:00 2001 From: Zoltan Fridrich Date: Fri, 4 Aug 2023 14:21:00 +0200 Subject: [PATCH 7/7] [packit] 3.8.1 upstream release Upstream tag: 3.8.1 Upstream commit: 513570a5 --- .gitignore | 2 + README.packit | 2 +- gnutls-3.8.2-tests-ignore-sigpipe.patch | 51 +++++++++++++++++++++++++ gnutls.spec | 50 ++++++++++++++---------- sources | 4 +- 5 files changed, 85 insertions(+), 24 deletions(-) create mode 100644 gnutls-3.8.2-tests-ignore-sigpipe.patch diff --git a/.gitignore b/.gitignore index 690d3fe..fbacd72 100644 --- a/.gitignore +++ b/.gitignore @@ -144,3 +144,5 @@ gnutls-2.10.1-nosrp.tar.bz2 /gnutls-3.8.0.tar.xz /gnutls-3.8.0.tar.xz.sig /gnutls-release-keyring.gpg +/gnutls-3.8.1.tar.xz +/gnutls-3.8.1.tar.xz.sig diff --git a/README.packit b/README.packit index c83811d..7f24510 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.67.0. +The file was generated using packit 0.78.0. diff --git a/gnutls-3.8.2-tests-ignore-sigpipe.patch b/gnutls-3.8.2-tests-ignore-sigpipe.patch new file mode 100644 index 0000000..fd0bbb4 --- /dev/null +++ b/gnutls-3.8.2-tests-ignore-sigpipe.patch @@ -0,0 +1,51 @@ +From 6334d0a55ebb077487e922e9936ac42d5ab3ae2a Mon Sep 17 00:00:00 2001 +From: Daiki Ueno +Date: Mon, 28 Aug 2023 15:47:04 +0900 +Subject: [PATCH] tests: ignore SIGPIPE in forking tests if the parent is TLS + client + +If the tests are forking and the parent process is a client, care must +be taken to handle SIGPIPE reported by the child process (server) when +the client closes the connection. + +This hadn't been exposed until commit +dd79ac9bcf90012e090726adf7c1940bcce8333f, thanks to the fact that the +parent process kept the other pipe end which effectively prevented a +"broken pipe". + +Signed-off-by: Daiki Ueno +--- + tests/mini-tls-nonblock.c | 2 ++ + tests/srp.c | 3 +++ + 2 files changed, 5 insertions(+) + +diff --git a/tests/mini-tls-nonblock.c b/tests/mini-tls-nonblock.c +index 853f841fbd..fae9b44321 100644 +--- a/tests/mini-tls-nonblock.c ++++ b/tests/mini-tls-nonblock.c +@@ -287,6 +287,8 @@ static void start(const char *msg, const char *prio, unsigned expl) + + success("trying %s\n", msg); + ++ signal(SIGPIPE, SIG_IGN); ++ + ret = socketpair(AF_UNIX, SOCK_STREAM, 0, fd); + if (ret < 0) { + perror("socketpair"); +diff --git a/tests/srp.c b/tests/srp.c +index d2b0689553..4a9c00b5b8 100644 +--- a/tests/srp.c ++++ b/tests/srp.c +@@ -271,6 +271,9 @@ static void start(const char *name, const char *prio, const char *user, + int ret; + + success("testing: %s\n", name); ++ ++ signal(SIGPIPE, SIG_IGN); ++ + ret = socketpair(AF_UNIX, SOCK_STREAM, 0, fd); + if (ret < 0) { + perror("socketpair"); +-- +GitLab + diff --git a/gnutls.spec b/gnutls.spec index 23c169a..a5fee4b 100644 --- a/gnutls.spec +++ b/gnutls.spec @@ -12,14 +12,7 @@ sha256sum:close() print(string.sub(hash, 0, 16)) } -%global with_srp 0%{?fedora} < 38 - -%global with_mingw 0 -%if 0%{?fedora} -%global with_mingw 0%{!?_without_mingw:1} -%endif - -Version: 3.8.0 +Version: 3.8.1 Release: %{?autorelease}%{!?autorelease:1%{?dist}} Patch: gnutls-3.2.7-rpath.patch @@ -29,6 +22,8 @@ Patch: gnutls-3.7.8-ktls_disable_keyupdate_test.patch # follow https://gitlab.com/gnutls/gnutls/-/issues/1443 Patch: gnutls-3.7.8-ktls_skip_tls12_chachapoly_test.patch +Patch: gnutls-3.8.2-tests-ignore-sigpipe.patch + %bcond_without bootstrap %bcond_without dane %bcond_without fips @@ -38,10 +33,23 @@ Patch: gnutls-3.7.8-ktls_skip_tls12_chachapoly_test.patch %bcond_with certificate_compression %bcond_without tests +%if 0%{?fedora} < 38 +%bcond_without srp +%else +%bcond_with srp +%endif + +%if 0%{?fedora} +%bcond_without mingw +%else +%bcond_with mingw +%endif + + Summary: A TLS protocol implementation Name: gnutls # The libraries are LGPLv2.1+, utilities are GPLv3+ -License: GPLv3+ and LGPLv2+ +License: GPL-3.0-or-later AND LGPL-2.1-or-later BuildRequires: p11-kit-devel >= 0.21.3, gettext-devel BuildRequires: readline-devel, libtasn1-devel >= 4.3 %if %{with certificate_compression} @@ -59,7 +67,7 @@ BuildRequires: tpm2-tss-devel >= 3.0.3 %endif BuildRequires: libidn2-devel BuildRequires: libunistring-devel -BuildRequires: net-tools, datefudge, softhsm, gcc, gcc-c++ +BuildRequires: net-tools, softhsm, gcc, gcc-c++ BuildRequires: gnupg2 BuildRequires: git-core @@ -78,7 +86,7 @@ BuildRequires: unbound-devel unbound-libs %endif BuildRequires: make gtk-doc -%if %{with_mingw} +%if %{with mingw} BuildRequires: mingw32-filesystem >= 95 BuildRequires: mingw32-gcc BuildRequires: mingw32-gcc-c++ @@ -120,7 +128,7 @@ Requires: %{name}-dane%{?_isa} = %{version}-%{release} Requires: pkgconfig %package utils -License: GPLv3+ +License: GPL-3.0-or-later Summary: Command line tools for TLS protocol Requires: %{name}%{?_isa} = %{version}-%{release} %if %{with dane} @@ -176,7 +184,7 @@ This package contains library that implements the DANE protocol for verifying TLS certificates through DNSSEC. %endif -%if %{with_mingw} +%if %{with mingw} %package -n mingw32-%{name} Summary: MinGW GnuTLS TLS/SSL encryption library Requires: pkgconfig @@ -239,7 +247,7 @@ pushd native_build %else --disable-gost \ %endif -%if %{with_srp} +%if %{with srp} --enable-srp-authentication \ %endif %ifarch %{ix86} @@ -280,11 +288,11 @@ pushd native_build %make_build popd -%if %{with_mingw} +%if %{with mingw} # MinGW does not support CCASFLAGS export CCASFLAGS="" %mingw_configure \ -%if %{with_srp} +%if %{with srp} --enable-srp-authentication \ %endif --enable-sha1-support \ @@ -335,7 +343,7 @@ ln -s ".$fname.hmac" "$RPM_BUILD_ROOT%{_libdir}/.libgnutls.so.30.hmac" %find_lang gnutls popd -%if %{with_mingw} +%if %{with mingw} %mingw_make_install # Remove .la files @@ -400,7 +408,7 @@ popd %{_bindir}/ocsptool %{_bindir}/psktool %{_bindir}/p11tool -%if %{with_srp} +%if %{with srp} %{_bindir}/srptool %endif %if %{with dane} @@ -415,7 +423,7 @@ popd %{_libdir}/libgnutls-dane.so.* %endif -%if %{with_mingw} +%if %{with mingw} %files -n mingw32-%{name} %license LICENSE doc/COPYING doc/COPYING.LESSER %{mingw32_bindir}/certtool.exe @@ -426,7 +434,7 @@ popd %{mingw32_bindir}/ocsptool.exe %{mingw32_bindir}/p11tool.exe %{mingw32_bindir}/psktool.exe -%if %{with_srp} +%if %{with srp} %{mingw32_bindir}/srptool.exe %endif %{mingw32_libdir}/libgnutls.dll.a @@ -444,7 +452,7 @@ popd %{mingw64_bindir}/ocsptool.exe %{mingw64_bindir}/p11tool.exe %{mingw64_bindir}/psktool.exe -%if %{with_srp} +%if %{with srp} %{mingw64_bindir}/srptool.exe %endif %{mingw64_libdir}/libgnutls.dll.a diff --git a/sources b/sources index f6b15ed..05f8aa7 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (gnutls-3.8.0.tar.xz) = 2507b3133423fdaf90fbd826ccb1142e9ff6fc90fcd5531720218f19ddf0e6bbb8267d23bad35c0954860e5a4179da74823e0c8357db56a14f252e6ec9d59629 -SHA512 (gnutls-3.8.0.tar.xz.sig) = 9db8db74aa0ebd871287b07b6a8a9f4ce90188633618e669fe07cb8bb314b624c14761f6fe1970e2fbffa87f7c0d6daa4b0fa838bd05f74b8b18cd1b5325c654 +SHA512 (gnutls-3.8.1.tar.xz) = 22e78db86b835843df897d14ad633d8a553c0f9b1389daa0c2f864869c6b9ca889028d434f9552237dc4f1b37c978fbe0cce166e3768e5d4e8850ff69a6fc872 +SHA512 (gnutls-3.8.1.tar.xz.sig) = f03fde611927c83f6b57af695d5610ba3cefbb88a261cf5485c94b3fb32c7480a77c68a353a6a28185337195e30011d6b5578c53ea4180a656cf7b175156f7f1 SHA512 (gnutls-release-keyring.gpg) = 5c14d83f4f37bd319c652db0d76fc5bb04752fb461bbe853e25b20ffe41d6d14faae6c0bdd0193ac6242975bf1205ce606a9d0082261cc4581fd680abfcdbd4d