Skip to content

Add system wolfSSL port for MariaDB 10.6.28 - #361

Open
LinuxJedi wants to merge 2 commits into
wolfSSL:masterfrom
LinuxJedi:mariadb-10.6.28-wolfssl
Open

LinuxJedi wants to merge 2 commits into
wolfSSL:masterfrom
LinuxJedi:mariadb-10.6.28-wolfssl

Conversation

@LinuxJedi

Copy link
Copy Markdown
Member

No description provided.

Copilot AI lite review requested due to automatic review settings September 10, 2026 14:05

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Changes recommended

The patch introduces a confirmed NULL-dereference risk in the new wolfSSL I/O callbacks by accessing mysql->options.extension without guarding it.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR adds a new MariaDB 10.6.28 port that builds against an installed (system) wolfSSL, and updates the repository index to reference the new version alongside the existing 10.5.11 port.

Changes:

  • Update the top-level README to link to both MariaDB 10.6.28 and 10.5.11 port documentation.
  • Add MariaDB 10.6.28 port documentation with build/test instructions for using system wolfSSL.
  • Add a MariaDB 10.6.28 patch enabling WITH_SSL=system-wolfssl and adapting server + Connector/C behavior for system wolfSSL.
File summaries
File Description
README.md Adds a 10.6.28 link for the MariaDB port alongside the existing 10.5.11 link.
mariadb/10.6.28/README.md Documents the new 10.6.28 system-wolfSSL build/test workflow and constraints.
mariadb/10.6.28/mariadb-10.6.28.patch Implements the system-wolfSSL integration in MariaDB/Connector-C and adds targeted tests.
Review details

Suppressed comments (1)

mariadb/10.6.28/mariadb-10.6.28.patch:246

  • ma_wolfssl_send dereferences pvio->mysql->options.extension without a NULL check, even though options.extension is treated as optional elsewhere in this file. This can crash during TLS I/O when the extension struct isn't present.

Guard access to async_context the same way as in other extension-option reads.

+  MARIADB_PVIO *pvio= (MARIADB_PVIO *)ctx;
+  struct mysql_async_context *async= pvio->mysql->options.extension->async_context;
+  ssize_t ret;
  • Files reviewed: 3/3 changed files
  • Comments generated: 1
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread mariadb/10.6.28/mariadb-10.6.28.patch
Use IS_PVIO_ASYNC_ACTIVE in both transport callbacks so missing options or
async context fall back to synchronous I/O. Regenerate the 10.6.28 patch.

Validation with non-FIPS wolfSSL 5.9.2:
- Rebuilt both full MariaDB configurations and standalone Connector/C.
- Checked send/receive routing in four option states under ASan/UBSan
  with both wolfSSL configurations.
- Passed all seven targeted MariaDB TLS tests and all five async client
  tests in each of the three builds.
- Applied the patch without fuzz to release sources and compared all
  twelve resulting files with the tested source tree.
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