Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenBSD 7.4 and 7.5 Support #1437

Merged
merged 8 commits into from
May 1, 2024
Merged

OpenBSD 7.4 and 7.5 Support #1437

merged 8 commits into from
May 1, 2024

Conversation

skmcgrail
Copy link
Member

@skmcgrail skmcgrail commented Feb 8, 2024

This pull request adds support for OpenBSD 7.4 and 7.5 releases.

OpenBSD has a release cadence similar to Go:

When a critical bug is found, the fix will be committed to the -current tree (and made available in snapshot builds) as soon as possible. It will then be backported to the two most recent OpenBSD releases in the form of errata and details will be sent to the announce mailing list.

See https://www.openbsd.org/faq/faq10.html#Patches

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and the ISC license.

@skmcgrail skmcgrail changed the title AWS-LC OpenBSD 7.4 Support OpenBSD 7.4 Support Feb 8, 2024
crypto/fipsmodule/rand/urandom.c Outdated Show resolved Hide resolved
crypto/fipsmodule/bcm.c Outdated Show resolved Hide resolved
@codecov-commenter
Copy link

codecov-commenter commented Feb 9, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (b614bbf) 76.88% compared to head (e31cae3) 76.84%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1437      +/-   ##
==========================================
- Coverage   76.88%   76.84%   -0.05%     
==========================================
  Files         425      425              
  Lines       71527    71527              
==========================================
- Hits        54996    54965      -31     
- Misses      16531    16562      +31     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@skmcgrail skmcgrail force-pushed the openbsd branch 4 times, most recently from 14c619b to 9420527 Compare April 18, 2024 23:09
@justsmth
Copy link
Contributor

Could portions of this be broken out into incremental changes that have value independent of our OpenBSD-support? For example, I see value in a PR that migrates our shell scripts to #!/usr/bin/env bash, and in a PR that adds explicit .rodata and .text sections in our Perl/assembly files. This PR is really big and there appear to be several parts that we could merge prior to fully supporting OpenBSD.

@skmcgrail skmcgrail force-pushed the openbsd branch 17 times, most recently from 34aebb3 to a7d2feb Compare April 23, 2024 21:08
justsmth
justsmth previously approved these changes Apr 26, 2024
justsmth
justsmth previously approved these changes Apr 26, 2024
util/fipstools/delocate/delocate.go Outdated Show resolved Hide resolved
util/fipstools/test_fips.c Outdated Show resolved Hide resolved
util/fipstools/test_fips.c Outdated Show resolved Hide resolved
tests/ci/run_ssl_runner_valgrind_tests.sh Outdated Show resolved Hide resolved
tests/ci/run_fips_tests.sh Show resolved Hide resolved
tests/ci/common_posix_setup.sh Show resolved Hide resolved
crypto/curve25519/internal.h Show resolved Hide resolved
crypto/cmake/crypto-config.cmake Show resolved Hide resolved
CMakeLists.txt Show resolved Hide resolved
@skmcgrail skmcgrail merged commit d726d06 into aws:main May 1, 2024
78 checks passed
@skmcgrail skmcgrail deleted the openbsd branch May 1, 2024 00:30
skmcgrail added a commit that referenced this pull request May 2, 2024
d52018b Minor functions to build with Ruby's cipher module (#1564)
364d28b Changed SSL_client_hello_get0_ciphers to align with OpenSSL
behavior (#1542)
e8eb7de ppc64le: EVP_has_aes_hardware is false w/ no-asm (#1566)
d726d06 OpenBSD 7.4 and 7.5 Support (#1437)
a66c66e Remove comments about overread for entropy generation (#1551)
f8a575f Migrate from __FreeBSD__ to __FreeBSD_version (#1562)
c31d1ce Centralize handling of s2n-bignum alt/non-alt function
selection (#1547)
00f3c45 CI for other MacOS versions (#1558)
0541314 Cleanup remaing duplicate symbol definitions and turn
Wredundant-decls on (#1561)
4d280eb Fix ec2 CI testing framework (#1541)
9a4b43e Update x25519_test.cc array initialization to avoid a bug with
a GCC 13 warning (#1555)
388cbe7 Remove duplicate X509_OBJECT_new and X509_OBJECT_free
declarations (#1560)
2ea6706 Avoid 'z' format with MSVCRT (#1559)
c25dc2a Add dependency to python3-six in github action grpc (#1554)
2bdcba3 Link porting guide table to header documentation (#1540)
311ca38 Basic GH CI build/test with full range of gcc/clang (#1546)
1f19717 Add SHA3-256 KAT to FIPS self-test (#1549)
0f3548a Add EC point add/dbl to speed.cc (#1545)
d7ddfc4 Fix the NTP integration test (NTP website changed) (#1548)
8ccd85b Fix skipped tests in Mariadb integration CI (#1533)
d940162 Support vpinsrq in delocater (#1543)
4cd6d21 Remove redundant test exec libraries (#1544)
56f3569 [ML-KEM] Add experimental support for ML-KEM-512-IPD (#1516)
c295aef Upstream merge 2024 04 16 (#1535)
2e51629 Re-add function
0aebf17 Define OPENSSL_NO_TLS_PHA, typedef PSK callback signatures
(#1526)
46056cf Pull the string-based extensions APIs into their own section
960ea42 Unexport X509_VERIFY_PARAM_lookup
3c597b1 Remove X509_VERIFY_PARAM_get0_peername
9c399e5 Document some key usage accessors
2fe70b5 Simplify and document X509_supported_extension
2e04897 Const-correct X509_LOOKUP_METHOD
9826568 Replace X509_LOOKUP_ctrl with real functions
e47c056 Tidy up x509_lu.c functions a little
62e019f Clean up the by_file_ctrl x509 code to be slightly less obtuse
45c46c2 Use relative links in markdown files

By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 license and the ISC license.
graebm added a commit to awslabs/aws-crt-python that referenced this pull request Jun 7, 2024
**Issue:**
The latest AWS-LC was crashing on OpenBSD 7.4, when running test `test.test_http_client.TestClient.test_connect_pq_tlsv1_0_2021_05`

**Investigation:**
AWS-LC added [OpenBSD 7.4 and 7.5 Support](aws/aws-lc#1437) in [v1.26.0](https://github.com/aws/aws-lc/releases/tag/v1.26.0). [Ironically](https://www.youtube.com/watch?v=Jne9t8sHpUc), these changes broke our existing OpenBSD 7.4 CI. My understanding is: "support OpenBSD" means "support fancy assembly math, instead of using vanilla C code math" on OpenBSD. This fancy assembly math currently reads from the .text section of the library, which is forbidden if a library is linked with the `--execute-only` flag, which OpenBSD 7.4+ uses by default.

**Description of changes:**
- Update to AWS-LC v1.24.0 -> v1.28.0
- Set '-Wl,--no-execute-only' flag when building for OpenBSD and using AWS-LC
- Add OpenBSD 7.4 and 7.5 to CI (OpenBSD supports its two most recent releases)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants