From 80a5d2c5f19b2ca8b2796e090cfcfd2e54678037 Mon Sep 17 00:00:00 2001 From: eabdullin Date: Thu, 28 Mar 2024 13:45:11 +0000 Subject: [PATCH] import CS golang-1.21.7-1.module_el8+960+4060efbe --- .gitignore | 4 +- .golang.metadata | 4 +- SOURCES/disable_static_tests_part2.patch | 6 +- SOURCES/fix-memory-leak-evp-sign-verify.patch | 48 ---------------- SOURCES/modify_go.env.patch | 22 ++++++++ SOURCES/skip-test-overlong-message.patch | 15 +++++ SPECS/golang.spec | 56 ++++++++++++++----- 7 files changed, 85 insertions(+), 70 deletions(-) delete mode 100644 SOURCES/fix-memory-leak-evp-sign-verify.patch create mode 100644 SOURCES/modify_go.env.patch create mode 100644 SOURCES/skip-test-overlong-message.patch diff --git a/.gitignore b/.gitignore index d08b212..e0c070b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -SOURCES/go1.20.6-1-openssl-fips.tar.gz -SOURCES/go1.20.6.tar.gz +SOURCES/go1.21.7-1-openssl-fips.tar.gz +SOURCES/go1.21.7.tar.gz diff --git a/.golang.metadata b/.golang.metadata index 68aa57f..a2b3f8c 100644 --- a/.golang.metadata +++ b/.golang.metadata @@ -1,2 +1,2 @@ -f6dd720106f39e9398c0ca2a327f1705704778b4 SOURCES/go1.20.6-1-openssl-fips.tar.gz -ea70e31718a67c736667f7f6dbe2c23d7708255d SOURCES/go1.20.6.tar.gz +95372ec41602b3cbe44e4697a8aee799b7fcc9b2 SOURCES/go1.21.7-1-openssl-fips.tar.gz +1b5c56fdf9030baaa0601ca6f2cbd36ae02433d0 SOURCES/go1.21.7.tar.gz diff --git a/SOURCES/disable_static_tests_part2.patch b/SOURCES/disable_static_tests_part2.patch index aa2d91c..494de22 100644 --- a/SOURCES/disable_static_tests_part2.patch +++ b/SOURCES/disable_static_tests_part2.patch @@ -1,13 +1,13 @@ diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go -index 9f26606..2408505 100644 +index 36a20e8b2a..8c2dd1b44b 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go -@@ -1259,7 +1259,7 @@ func (t *tester) registerCgoTests() { +@@ -1125,7 +1125,7 @@ func (t *tester) registerCgoTests(heading string) { } else { panic("unknown linkmode with static build: " + linkmode) } - gt.tags = append(gt.tags, "static") + gt.tags = append(gt.tags, "static", "no_openssl") } + gt.ldflags = strings.Join(ldflags, " ") - t.registerTest("cgo:"+name, "../misc/cgo/test", gt, opts...) diff --git a/SOURCES/fix-memory-leak-evp-sign-verify.patch b/SOURCES/fix-memory-leak-evp-sign-verify.patch deleted file mode 100644 index f2eae14..0000000 --- a/SOURCES/fix-memory-leak-evp-sign-verify.patch +++ /dev/null @@ -1,48 +0,0 @@ -diff --git a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c -index 76bac5b..24a9615 100644 ---- a/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c -+++ b/src/vendor/github.com/golang-fips/openssl-fips/openssl/openssl_evp.c -@@ -43,7 +43,11 @@ int _goboringcrypto_EVP_sign_raw(EVP_MD *md, EVP_PKEY_CTX *ctx, const uint8_t *m - GO_RSA *rsa_key) { - int ret = 0; - GO_EVP_PKEY *pk = _goboringcrypto_EVP_PKEY_new(); -- _goboringcrypto_EVP_PKEY_assign_RSA(pk, rsa_key); -+ if (!pk) -+ return 0; -+ -+ if (!(_goboringcrypto_EVP_PKEY_set1_RSA(pk, rsa_key))) -+ goto err; - - if (!ctx && !(ctx = _goboringcrypto_EVP_PKEY_CTX_new(pk, NULL))) - goto err; -@@ -63,6 +67,8 @@ int _goboringcrypto_EVP_sign_raw(EVP_MD *md, EVP_PKEY_CTX *ctx, const uint8_t *m - err: - if (ctx) - _goboringcrypto_EVP_PKEY_CTX_free(ctx); -+ if (pk) -+ _goboringcrypto_EVP_PKEY_free(pk); - - return ret; - } -@@ -103,7 +109,11 @@ int _goboringcrypto_EVP_verify_raw(const uint8_t *msg, size_t msgLen, - int ret = 0; - EVP_PKEY_CTX *ctx; - GO_EVP_PKEY *pk = _goboringcrypto_EVP_PKEY_new(); -- _goboringcrypto_EVP_PKEY_assign_RSA(pk, rsa_key); -+ if (!pk) -+ return 0; -+ -+ if (!(_goboringcrypto_EVP_PKEY_set1_RSA(pk, rsa_key))) -+ goto err; - - if (!(ctx = _goboringcrypto_EVP_PKEY_CTX_new(pk, NULL))) - goto err; -@@ -123,6 +133,8 @@ int _goboringcrypto_EVP_verify_raw(const uint8_t *msg, size_t msgLen, - err: - if (ctx) - _goboringcrypto_EVP_PKEY_CTX_free(ctx); -+ if (pk) -+ _goboringcrypto_EVP_PKEY_free(pk); - - return ret; - } diff --git a/SOURCES/modify_go.env.patch b/SOURCES/modify_go.env.patch new file mode 100644 index 0000000..398f5c0 --- /dev/null +++ b/SOURCES/modify_go.env.patch @@ -0,0 +1,22 @@ +From eab9004c072200e58df83ab94678bda1faa7b229 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Alejandro=20S=C3=A1ez?= +Date: Fri, 9 Feb 2024 20:06:16 +0100 +Subject: [PATCH] Set GOTOOLCHAIN to local + +--- + go.env | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/go.env b/go.env +index 6ff2b921d4..e87f6e7b6d 100644 +--- a/go.env ++++ b/go.env +@@ -9,4 +9,4 @@ GOSUMDB=sum.golang.org + + # Automatically download newer toolchains as directed by go.mod files. + # See https://go.dev/doc/toolchain for details. +-GOTOOLCHAIN=auto ++GOTOOLCHAIN=local +-- +2.43.0 + diff --git a/SOURCES/skip-test-overlong-message.patch b/SOURCES/skip-test-overlong-message.patch new file mode 100644 index 0000000..1e14393 --- /dev/null +++ b/SOURCES/skip-test-overlong-message.patch @@ -0,0 +1,15 @@ +diff --git a/src/crypto/rsa/pkcs1v15_test.go b/src/crypto/rsa/pkcs1v15_test.go +index 0853178e3a..16eb37734b 100644 +--- a/src/crypto/rsa/pkcs1v15_test.go ++++ b/src/crypto/rsa/pkcs1v15_test.go +@@ -247,6 +247,10 @@ func TestVerifyPKCS1v15(t *testing.T) { + } + + func TestOverlongMessagePKCS1v15(t *testing.T) { ++ // OpenSSL now returns a random string instead of an error ++ if boring.Enabled() { ++ t.Skip("Not relevant in boring mode") ++ } + ciphertext := decodeBase64("fjOVdirUzFoLlukv80dBllMLjXythIf22feqPrNo0YoIjzyzyoMFiLjAc/Y4krkeZ11XFThIrEvw\nkRiZcCq5ng==") + _, err := DecryptPKCS1v15(nil, rsaPrivateKey, ciphertext) + if err == nil { diff --git a/SPECS/golang.spec b/SPECS/golang.spec index b9b4823..c70dcf3 100644 --- a/SPECS/golang.spec +++ b/SPECS/golang.spec @@ -56,7 +56,7 @@ %endif # Controls what ever we fail on failed tests -%ifarch x86_64 %{arm} aarch64 ppc64le s390x +%ifarch x86_64 %{arm} ppc64le s390x %global fail_on_tests 1 %else %global fail_on_tests 0 @@ -91,13 +91,13 @@ %global gohostarch s390x %endif -%global go_api 1.20 -%global version 1.20.6 +%global go_api 1.21 +%global version 1.21.7 %global pkg_release 1 Name: golang Version: %{version} -Release: 2%{?dist} +Release: 1%{?dist} Summary: The Go Programming Language # source tree includes several copies of Mark.Twain-Tom.Sawyer.txt under Public Domain @@ -137,15 +137,15 @@ Requires: %{name}-src = %{version}-%{release} Requires: openssl-devel Requires: diffutils - # Proposed patch by jcajka https://golang.org/cl/86541 Patch221: fix_TestScript_list_std.patch Patch1939923: skip_test_rhbz1939923.patch -Patch2: disable_static_tests_part1.patch -Patch3: disable_static_tests_part2.patch -Patch6: fix-memory-leak-evp-sign-verify.patch +Patch2: disable_static_tests_part1.patch +Patch3: disable_static_tests_part2.patch +Patch4: skip-test-overlong-message.patch +Patch5: modify_go.env.patch # Having documentation separate was broken Obsoletes: %{name}-docs < 1.1-4 @@ -244,6 +244,7 @@ tar -xf %{SOURCE1} popd patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/000-initial-setup.patch patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/001-initial-openssl-for-fips.patch +patch -p1 < ../go-go%{version}-%{pkg_release}-openssl-fips/patches/002-strict-fips-runtime-detection.patch # Configure crypto tests pushd ../go-go%{version}-%{pkg_release}-openssl-fips @@ -251,13 +252,9 @@ ln -s ../go-go%{version} go ./scripts/configure-crypto-tests.sh popd -%patch2 -p1 -%patch3 -p1 -%patch6 -p1 +%autopatch -p1 -%patch221 -p1 - -%patch1939923 -p1 +sed -i '1s/$/ (%{?rhel:Red Hat} %{version}-%{release})/' VERSION cp %{SOURCE2} ./src/runtime/ @@ -328,7 +325,7 @@ rm -rf pkg/bootstrap/bin # install everything into libdir (until symlink problems are fixed) # https://code.google.com/p/go/issues/detail?id=5830 -cp -apv api bin doc lib pkg src misc test VERSION \ +cp -apv api bin doc lib pkg src misc test go.env VERSION \ $RPM_BUILD_ROOT%{goroot} # bz1099206 @@ -513,12 +510,41 @@ cd .. %files -f go-pkg.list bin %{_bindir}/go %{_bindir}/gofmt +%{goroot}/go.env %if %{shared} %files -f go-shared.list shared %endif %changelog +* Tue Feb 13 2024 Alejandro Sáez - 1.21.7-1 +- Rebase to Go 1.21.7 +- Add release information +- Set GOTOOLCHAIN to local +- Skip TestOverlongMessagePKCS1v15 +- Resolves: RHEL-24082 +- Resolves: RHEL-18363 +- Resolves: RHEL-18382 + +* Wed Nov 08 2023 David Benoit - 1.21.3-4 +- Do not remove GOPROXY/GOSUMDB +- Related: RHEL-12620 + +* Thu Nov 02 2023 David Benoit - 1.21.3-3 +- Fix go.env in Go 1.21 +- Related: RHEL-12620 + +* Tue Oct 31 2023 Archana Ravindar - 1.21.3-2 +- Rebase disable_static_tests_part2.patch to Go 1.21.3 +- Add missing strict fips runtime detection patch +- Temporarily disable FIPS tests on aarch64 due to builder kernel bugs +- Remove fix-memory-leak patch as it is fixed upstream +- Resolves: RHEL-12620 + +* Fri Oct 20 2023 Archana Ravindar - 1.21.3-1 +- Rebase Go to 1.21.3 +- Resolves: RHEL-12620 + * Mon Aug 14 2023 Alejandro Sáez - 1.20.6-2 - Retire golang-race package - Resolves: rhbz#2230599