Skip to content

Fenrir fixes#41

Merged
lealem47 merged 10 commits into
wolfSSL:masterfrom
mattia-moffa:20260520-fenrir-fixes
May 27, 2026
Merged

Fenrir fixes#41
lealem47 merged 10 commits into
wolfSSL:masterfrom
mattia-moffa:20260520-fenrir-fixes

Conversation

@mattia-moffa
Copy link
Copy Markdown
Contributor

@mattia-moffa mattia-moffa commented May 26, 2026

1861, 1863, 3020, 3730, 3942, 3943, 4399, 4400, 4401

@mattia-moffa mattia-moffa self-assigned this May 26, 2026
Copilot AI review requested due to automatic review settings May 26, 2026 02:49
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR updates the Go wolfSSL bindings and wolftls transport to better support concurrent Read/Write on a single connection (when wolfSSL is built with write-dup support), along with related documentation/test updates and a few example/wrapper correctness fixes.

Changes:

  • Add wolfSSL_write_dup-based split write handle in wolftls.Conn and serialize wolfSSL_read/wolfSSL_write with dedicated mutexes (or a shared mutex when write-dup isn’t available).
  • Update docs/tests to reflect the --enable-writedup requirement for true concurrent Read+Write.
  • Fix/adjust several examples and a wrapper helper (AES-GCM appended-tag encrypt output slicing).

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
wolfx509/certgen_wolfcrypt.go Removes a custom cgo CFLAG define from the wolfx509 certgen binding build flags.
wolftls/tls_test.go Skips the concurrent Read/Write test when write-dup support isn’t present.
wolftls/README.md Documents --enable-writedup as a build requirement for concurrent Conn Read/Write.
wolftls/conn.go Introduces sslWrite + muRead/muWrite to enable concurrent read/write when supported.
README.md Updates wolfSSL build instructions to include --enable-writedup (currently presented as required).
examples/x509/extractKey.go Adds WolfSSL_Init() and WolfSSL_Cleanup() calls around the example.
examples/x509/certVerify.go Adds WolfSSL_Init() and WolfSSL_Cleanup() calls around the example.
examples/server/server.go Exits on Accept() error to avoid continuing with an invalid connection.
examples/server/server-psk.go Exits on Accept() error to avoid continuing with an invalid connection.
aes.go Ensures the output slice length matches plaintext+tag size in appended-tag GCM encrypt.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread README.md
Comment thread examples/x509/extractKey.go
Comment thread examples/x509/certVerify.go
@mattia-moffa mattia-moffa requested a review from lealem47 May 27, 2026 02:01
Copy link
Copy Markdown
Contributor

@lealem47 lealem47 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @mattia-moffa !

@lealem47 lealem47 merged commit c834197 into wolfSSL:master May 27, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants