Skip to content

[microsoft/release-branch.go1.26] support OpenSSL 3.5.6#2242

Merged
gdams merged 1 commit intomicrosoft/release-branch.go1.26from
dev/qmuntal/go1.26octet
Apr 20, 2026
Merged

[microsoft/release-branch.go1.26] support OpenSSL 3.5.6#2242
gdams merged 1 commit intomicrosoft/release-branch.go1.26from
dev/qmuntal/go1.26octet

Conversation

@qmuntal
Copy link
Copy Markdown
Member

@qmuntal qmuntal commented Apr 20, 2026

For #2221

Copilot AI review requested due to automatic review settings April 20, 2026 07:31
@qmuntal qmuntal requested a review from a team as a code owner April 20, 2026 07:31
@gdams gdams changed the title [microsoft/release-branch.go1.25] support OpenSSL 3.5.6 [microsoft/release-branch.go1.26] support OpenSSL 3.5.6 Apr 20, 2026
@gdams gdams enabled auto-merge (squash) April 20, 2026 07:34
Copy link
Copy Markdown
Contributor

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

Updates the vendored github.com/golang-fips/openssl/v2 dependency to address OpenSSL 3.5.6 behavior changes (notably NULL-buffer rejection in OSSL_PARAM_BLD_push_octet_string) for GOEXPERIMENT=systemcrypto scenarios.

Changes:

  • Bumps the vendored github.com/golang-fips/openssl/v2 pseudo-version in src/go.mod/src/vendor/modules.txt (within the vendor patch).
  • Introduces a “never-empty” pointer helper (pbaseNeverEmpty) and updates parameter building to avoid passing NULL for zero-length octet strings.
  • Adjusts HKDF/TLS13-KDF parameter construction to call addOctetString more consistently (removing some length guards).
Show a summary per file
File Description
patches/0001-Vendor-external-dependencies.patch Updates the vendored OpenSSL bindings and module metadata to avoid OpenSSL 3.5.6 NULL octet-string parameter failures.

Copilot's findings

Comments suppressed due to low confidence (1)

patches/0001-Vendor-external-dependencies.patch:20712

  • addOctetString currently returns early for nil slices, which treats nil as “parameter absent”. In Go, nil slices are commonly used to represent an empty value (especially for TLS 1.3 HKDF context), so this can inadvertently omit required/meaningful parameters and potentially change derived outputs. Consider normalizing nil to a zero-length value (so it still gets passed with len==0 via pbaseNeverEmpty) and only omitting parameters at the call sites that are truly optional.
  • Files reviewed: 1/1 changed files
  • Comments generated: 1

Comment thread patches/0001-Vendor-external-dependencies.patch
@gdams gdams merged commit e03575a into microsoft/release-branch.go1.26 Apr 20, 2026
46 checks passed
@gdams gdams deleted the dev/qmuntal/go1.26octet branch April 20, 2026 08:28
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