Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c3ec9701b3 | |||
| 13133b2168 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
SOURCES/awscrt-0.31.1.tar.gz
|
SOURCES/awscrt-0.27.2.tar.gz
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
cf8ef99d3be196ac5b91aeb7deb36f9851b79044 SOURCES/awscrt-0.31.1.tar.gz
|
9951436161fdbf91db142b85d6aa208614dc2b0b SOURCES/awscrt-0.27.2.tar.gz
|
||||||
|
|||||||
36
SOURCES/der-c.patch
Normal file
36
SOURCES/der-c.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
--- a/crt/aws-c-cal/source/der.c 2025-08-29 10:43:04.487705098 +0100
|
||||||
|
+++ B/crt/aws-c-cal/source/der.c 2025-08-29 14:27:00.649373755 +0100
|
||||||
|
@@ -80,21 +80,28 @@
|
||||||
|
if (len_bytes & 0x80) {
|
||||||
|
len_bytes &= 0x7f;
|
||||||
|
switch (len_bytes) {
|
||||||
|
- case 1:
|
||||||
|
- if (!aws_byte_cursor_read_u8(cur, (uint8_t *)&len)) {
|
||||||
|
+ case 1: {
|
||||||
|
+ uint8_t len8;
|
||||||
|
+ if (!aws_byte_cursor_read_u8(cur, &len8)) {
|
||||||
|
return aws_raise_error(AWS_ERROR_CAL_MALFORMED_ASN1_ENCOUNTERED);
|
||||||
|
}
|
||||||
|
+ len = len8;
|
||||||
|
break;
|
||||||
|
- case 2:
|
||||||
|
- if (!aws_byte_cursor_read_be16(cur, (uint16_t *)&len)) {
|
||||||
|
+ }
|
||||||
|
+ case 2: {
|
||||||
|
+ uint16_t len16;
|
||||||
|
+ if (!aws_byte_cursor_read_be16(cur, &len16)) {
|
||||||
|
return aws_raise_error(AWS_ERROR_CAL_MALFORMED_ASN1_ENCOUNTERED);
|
||||||
|
}
|
||||||
|
+ len = len16;
|
||||||
|
break;
|
||||||
|
- case 4:
|
||||||
|
+ }
|
||||||
|
+ case 4: {
|
||||||
|
if (!aws_byte_cursor_read_be32(cur, &len)) {
|
||||||
|
return aws_raise_error(AWS_ERROR_CAL_MALFORMED_ASN1_ENCOUNTERED);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
+ }
|
||||||
|
default:
|
||||||
|
return aws_raise_error(AWS_ERROR_CAL_MALFORMED_ASN1_ENCOUNTERED);
|
||||||
|
}
|
||||||
@ -1,29 +0,0 @@
|
|||||||
diff --git a/crt/s2n/crypto/s2n_fips.c b/crt/s2n/crypto/s2n_fips.c
|
|
||||||
index 13f9f77c0..b8af2e36e 100644
|
|
||||||
--- a/crt/s2n/crypto/s2n_fips.c
|
|
||||||
+++ b/crt/s2n/crypto/s2n_fips.c
|
|
||||||
@@ -57,15 +57,15 @@ int s2n_fips_init(void)
|
|
||||||
{
|
|
||||||
s2n_fips_mode_enabled = s2n_libcrypto_is_fips();
|
|
||||||
|
|
||||||
- /* When using Openssl, ONLY 3.0 currently supports FIPS.
|
|
||||||
- * openssl-1.0.2-fips is no longer supported.
|
|
||||||
- * openssl >= 3.5 will likely have a FIPS 140-3 certificate instead of a
|
|
||||||
- * FIPS 140-2 certificate, which will require additional review in order
|
|
||||||
- * to properly integrate.
|
|
||||||
- */
|
|
||||||
-#if defined(OPENSSL_FIPS) || S2N_OPENSSL_VERSION_AT_LEAST(3, 5, 0)
|
|
||||||
- POSIX_ENSURE(!s2n_fips_mode_enabled, S2N_ERR_FIPS_MODE_UNSUPPORTED);
|
|
||||||
-#endif
|
|
||||||
+// /* When using Openssl, ONLY 3.0 currently supports FIPS.
|
|
||||||
+// * openssl-1.0.2-fips is no longer supported.
|
|
||||||
+// * openssl >= 3.5 will likely have a FIPS 140-3 certificate instead of a
|
|
||||||
+// * FIPS 140-2 certificate, which will require additional review in order
|
|
||||||
+// * to properly integrate.
|
|
||||||
+// */
|
|
||||||
+// #if defined(OPENSSL_FIPS) || S2N_OPENSSL_VERSION_AT_LEAST(3, 5, 0)
|
|
||||||
+// POSIX_ENSURE(!s2n_fips_mode_enabled, S2N_ERR_FIPS_MODE_UNSUPPORTED);
|
|
||||||
+// #endif
|
|
||||||
|
|
||||||
return S2N_SUCCESS;
|
|
||||||
}
|
|
||||||
@ -55,3 +55,4 @@ index 628900f..7f2296d 100644
|
|||||||
+ h = Hash.sha256_new()
|
+ h = Hash.sha256_new()
|
||||||
h.update(b'totally original test string')
|
h.update(b'totally original test string')
|
||||||
digest = h.digest()
|
digest = h.digest()
|
||||||
|
|
||||||
|
|||||||
@ -1,36 +1,8 @@
|
|||||||
diff --git a/test/test_aiohttp_client.py b/test/test_aiohttp_client.py
|
|
||||||
index f3fa544..3b04218 100644
|
|
||||||
--- a/test/test_aiohttp_client.py
|
|
||||||
+++ b/test/test_aiohttp_client.py
|
|
||||||
@@ -288,6 +288,7 @@ class TestAsyncClient(NativeResourceTest):
|
|
||||||
|
|
||||||
return connection
|
|
||||||
|
|
||||||
+ @unittest.skip("Requires network")
|
|
||||||
async def _test_h2_client(self):
|
|
||||||
url = urlparse("https://d1cz66xoahf9cl.cloudfront.net/http_test_doc.txt")
|
|
||||||
connection = await self._new_h2_client_connection(url)
|
|
||||||
@@ -309,6 +310,7 @@ class TestAsyncClient(NativeResourceTest):
|
|
||||||
|
|
||||||
await connection.close()
|
|
||||||
|
|
||||||
+ @unittest.skip("Requires network")
|
|
||||||
async def _test_h2_manual_write_exception(self):
|
|
||||||
url = urlparse("https://d1cz66xoahf9cl.cloudfront.net/http_test_doc.txt")
|
|
||||||
connection = await self._new_h2_client_connection(url)
|
|
||||||
@@ -428,6 +430,7 @@ class TestAsyncClient(NativeResourceTest):
|
|
||||||
finally:
|
|
||||||
self._stop_server()
|
|
||||||
|
|
||||||
+ @unittest.skip("Requires network")
|
|
||||||
async def _test_cross_thread_http2_client(self):
|
|
||||||
"""Test using an HTTP/2 client from a different thread/event loop."""
|
|
||||||
url = urlparse("https://d1cz66xoahf9cl.cloudfront.net/http_test_doc.txt")
|
|
||||||
diff --git a/test/test_http_client.py b/test/test_http_client.py
|
diff --git a/test/test_http_client.py b/test/test_http_client.py
|
||||||
index 6aa9917..ad4b700 100644
|
index f79f39a..7498a96 100644
|
||||||
--- a/test/test_http_client.py
|
--- a/test/test_http_client.py
|
||||||
+++ b/test/test_http_client.py
|
+++ b/test/test_http_client.py
|
||||||
@@ -354,6 +354,7 @@ class TestClient(NativeResourceTest):
|
@@ -353,6 +353,7 @@ class TestClient(NativeResourceTest):
|
||||||
tls_connection_options=tls_conn_opt)
|
tls_connection_options=tls_conn_opt)
|
||||||
return connection_future.result(self.timeout)
|
return connection_future.result(self.timeout)
|
||||||
|
|
||||||
@ -38,7 +10,7 @@ index 6aa9917..ad4b700 100644
|
|||||||
def test_h2_client(self):
|
def test_h2_client(self):
|
||||||
url = urlparse("https://d1cz66xoahf9cl.cloudfront.net/http_test_doc.txt")
|
url = urlparse("https://d1cz66xoahf9cl.cloudfront.net/http_test_doc.txt")
|
||||||
connection = self._new_h2_client_connection(url)
|
connection = self._new_h2_client_connection(url)
|
||||||
@@ -376,6 +377,7 @@ class TestClient(NativeResourceTest):
|
@@ -375,6 +376,7 @@ class TestClient(NativeResourceTest):
|
||||||
|
|
||||||
self.assertEqual(None, connection.close().exception(self.timeout))
|
self.assertEqual(None, connection.close().exception(self.timeout))
|
||||||
|
|
||||||
|
|||||||
@ -22,3 +22,5 @@ index fcbcedb..ebebbcb 100644
|
|||||||
+ sleep(0.01)
|
+ sleep(0.01)
|
||||||
+
|
+
|
||||||
asyncio.run_coroutine_threadsafe(self._current_connection.send(msg), self._server_loop)
|
asyncio.run_coroutine_threadsafe(self._current_connection.send(msg), self._server_loop)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@ Python bindings for the AWS Common Runtime}
|
|||||||
|
|
||||||
|
|
||||||
Name: python-awscrt
|
Name: python-awscrt
|
||||||
Version: 0.31.1
|
Version: 0.27.2
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
|
|
||||||
Summary: Python bindings for the AWS Common Runtime
|
Summary: Python bindings for the AWS Common Runtime
|
||||||
@ -18,18 +18,20 @@ Source0: %{pypi_source awscrt}
|
|||||||
|
|
||||||
# two tests require internet connection, skip them
|
# two tests require internet connection, skip them
|
||||||
Patch0: skip-tests-requiring-network.patch
|
Patch0: skip-tests-requiring-network.patch
|
||||||
# skip SHA1 in test_crypto
|
# SHA1 is deprecated - remove it from tests
|
||||||
Patch1: skip-SHA1-in-test_crypto.patch
|
Patch1: skip-SHA1-in-test_crypto.patch
|
||||||
|
# https://github.com/awslabs/aws-c-cal/pull/225
|
||||||
|
Patch2: der-c.patch
|
||||||
# websockets test fail fix
|
# websockets test fail fix
|
||||||
Patch2: websockets.patch
|
Patch3: websockets.patch
|
||||||
# remove FIPS version check in s2n
|
|
||||||
Patch3: s2n-remove-fips-version-check.patch
|
|
||||||
|
|
||||||
BuildRequires: python%{python3_pkgversion}-devel
|
BuildRequires: python%{python3_pkgversion}-devel
|
||||||
|
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
|
|
||||||
BuildRequires: python%{python3_pkgversion}-websockets
|
BuildRequires: python%{python3_pkgversion}-websockets
|
||||||
|
|
||||||
|
|
||||||
@ -49,10 +51,12 @@ Summary: %{summary}
|
|||||||
%autosetup -p1 -n awscrt-%{version}
|
%autosetup -p1 -n awscrt-%{version}
|
||||||
|
|
||||||
# relax version requirements
|
# relax version requirements
|
||||||
sed -i -e 's/"setuptools>=75\.3\.1",/"setuptools",\n "wheel",/' pyproject.toml
|
sed -i -e 's/setuptools>=75\.3\.1/setuptools/' -e 's/wheel>=0\.45\.1/wheel/' pyproject.toml
|
||||||
# fix bdist_wheel import for setuptools 70.0.0+
|
|
||||||
sed -i -e 's/from setuptools\.command\.bdist_wheel import bdist_wheel/from wheel.bdist_wheel import bdist_wheel/' setup.py
|
# stay compatible with websockets<13
|
||||||
# package builds with the name 'unknown'
|
sed -i 's/websockets\.asyncio\.server/websockets.server/' test/test_websocket.py
|
||||||
|
|
||||||
|
# fix for osci.rpmdeplint test - package builds with the name 'unknown'
|
||||||
sed -i '/setuptools\.setup(/a\ name="awscrt",' setup.py
|
sed -i '/setuptools\.setup(/a\ name="awscrt",' setup.py
|
||||||
|
|
||||||
|
|
||||||
@ -79,14 +83,6 @@ PYTHONPATH="%{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib}" %{py
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Apr 09 2026 Kseniia Nivnia <knivnia@redhat.com> - 0.31.1-1
|
|
||||||
- Update to 0.31.1
|
|
||||||
Resolves: RHEL-157871
|
|
||||||
|
|
||||||
* Wed Nov 26 2025 Kseniia Nivnia <knivnia@redhat.com> - 0.27.2-2
|
|
||||||
- Add patch fixing FIPS mode crash in awscli2
|
|
||||||
Resolves: RHEL-131280
|
|
||||||
|
|
||||||
* Fri Sep 05 2025 Kseniia Nivnia <knivnia@redhat.com> - 0.27.2-1
|
* Fri Sep 05 2025 Kseniia Nivnia <knivnia@redhat.com> - 0.27.2-1
|
||||||
- Update to 0.27.2
|
- Update to 0.27.2
|
||||||
Resolves: RHEL-113230
|
Resolves: RHEL-113230
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user