Fixes to run python with --enable-all#9831
Open
julek-wolfssl wants to merge 1 commit intowolfSSL:masterfrom
Open
Fixes to run python with --enable-all#9831julek-wolfssl wants to merge 1 commit intowolfSSL:masterfrom
julek-wolfssl wants to merge 1 commit intowolfSSL:masterfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR implements fixes to enable Python compatibility when wolfSSL is built with the --enable-all configuration flag. The changes address version compatibility, hash algorithm support, and cipher suite handling.
Changes:
- Repositioned WOLFSSL_PYTHON version compatibility check to take precedence over other configurations
- Added BLAKE2 hash algorithm support (BLAKE2B and BLAKE2S) throughout the EVP layer
- Refactored cipher suite stack handling to use insertion-based approach instead of manual node linking
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| wolfssl/openssl/opensslv.h | Moved WOLFSSL_PYTHON version definition earlier in conditional chain |
| wolfssl/openssl/evp.h | Added BLAKE2/BLAKE2S includes and union members |
| wolfssl/internal.h | Added declaration for new heap-aware stack creation function |
| wolfcrypt/src/evp.c | Implemented BLAKE2 algorithm support in EVP layer with init, update, and final operations |
| src/x509.c | Fixed registeredID encoding to use DER format and removed conditional serial number handling |
| src/ssl_sk.c | Refactored to use XMEMCPY instead of custom copy function and added heap parameter support |
| src/ssl.c | Simplified cipher suite stack creation using insertion API instead of manual linking |
| src/internal.c | Added max fragment size limiting for send operations |
| .github/workflows/python.yml | Added CI workflow for Python 3.12.11, 3.13.4, and 3.13.7 testing |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
eff79df to
9d4185f
Compare
- Add a GitHub Actions workflow to automate testing of Python integration - Implement Blake2b and Blake2s hash functions into the EVP API. - Improve OpenSSL compatibility by standardizing ASN.1 encoding for serial numbers and registered IDs, streamlining cipher stack management, and optimizing stack node copying. - Enforce maximum fragment size during data transmission to ensure proper TLS/DTLS record fragmentation.
9d4185f to
6009b6f
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Depends on wolfSSL/osp#322