Compare commits

..

2 Commits
c9 ... c9-beta

Author SHA1 Message Date
c3ec9701b3 import CS python-awscrt-0.27.2-1.el9_7 2025-10-20 08:42:55 +00:00
13133b2168 import CS python-awscrt-0.20.5-3.el9 2024-09-30 16:25:20 +00:00
8 changed files with 57 additions and 79 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/awscrt-0.31.1.tar.gz
SOURCES/awscrt-0.27.2.tar.gz

View File

@ -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
View 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);
}

View File

@ -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;
}

View File

@ -55,3 +55,4 @@ index 628900f..7f2296d 100644
+ h = Hash.sha256_new()
h.update(b'totally original test string')
digest = h.digest()

View File

@ -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
index 6aa9917..ad4b700 100644
index f79f39a..7498a96 100644
--- a/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)
return connection_future.result(self.timeout)
@ -38,7 +10,7 @@ index 6aa9917..ad4b700 100644
def test_h2_client(self):
url = urlparse("https://d1cz66xoahf9cl.cloudfront.net/http_test_doc.txt")
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))

View File

@ -22,3 +22,5 @@ index fcbcedb..ebebbcb 100644
+ sleep(0.01)
+
asyncio.run_coroutine_threadsafe(self._current_connection.send(msg), self._server_loop)

View File

@ -3,7 +3,7 @@ Python bindings for the AWS Common Runtime}
Name: python-awscrt
Version: 0.31.1
Version: 0.27.2
Release: 1%{?dist}
Summary: Python bindings for the AWS Common Runtime
@ -18,18 +18,20 @@ Source0: %{pypi_source awscrt}
# two tests require internet connection, skip them
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
# https://github.com/awslabs/aws-c-cal/pull/225
Patch2: der-c.patch
# websockets test fail fix
Patch2: websockets.patch
# remove FIPS version check in s2n
Patch3: s2n-remove-fips-version-check.patch
Patch3: websockets.patch
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: cmake
BuildRequires: openssl-devel
BuildRequires: python%{python3_pkgversion}-websockets
@ -49,10 +51,12 @@ Summary: %{summary}
%autosetup -p1 -n awscrt-%{version}
# relax version requirements
sed -i -e 's/"setuptools>=75\.3\.1",/"setuptools",\n "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
# package builds with the name 'unknown'
sed -i -e 's/setuptools>=75\.3\.1/setuptools/' -e 's/wheel>=0\.45\.1/wheel/' pyproject.toml
# stay compatible with websockets<13
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
@ -79,14 +83,6 @@ PYTHONPATH="%{buildroot}%{python3_sitearch}:%{buildroot}%{python3_sitelib}" %{py
%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
- Update to 0.27.2
Resolves: RHEL-113230