Skip to content

feat: introduce Std.Internal.SSL.Context - #14064

Open
algebraic-dev wants to merge 43 commits into
masterfrom
sofia/openssl-socket-context
Open

feat: introduce Std.Internal.SSL.Context#14064
algebraic-dev wants to merge 43 commits into
masterfrom
sofia/openssl-socket-context

Conversation

@algebraic-dev

Copy link
Copy Markdown
Member

This PR adds the Context type for managing SSL_CTX on the Lean side.

@algebraic-dev algebraic-dev self-assigned this Jun 16, 2026
@algebraic-dev
algebraic-dev requested a review from TwoFX as a code owner June 16, 2026 04:25
@algebraic-dev algebraic-dev changed the title feat: SSL Context feat: introduce Std.Internal.SSL.Session Jun 16, 2026
@algebraic-dev algebraic-dev changed the title feat: introduce Std.Internal.SSL.Session feat: introduce Std.Internal.SSL.Context Jun 16, 2026
@github-actions github-actions Bot added the toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN label Jun 16, 2026
@mathlib-lean-pr-testing

mathlib-lean-pr-testing Bot commented Jun 16, 2026

Copy link
Copy Markdown

Mathlib CI status (docs):

  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 9566c798d09abdf266a00eae67a9b1188c6df36e --onto 659e8bb858995b0a1ada239c5b3819c8f8f2772f. You can force Mathlib CI using the force-mathlib-ci label. (2026-06-16 05:05:27)
  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 9566c798d09abdf266a00eae67a9b1188c6df36e --onto 24c48fe0fdbf4bca5b6f907e638732c871dcd2db. You can force Mathlib CI using the force-mathlib-ci label. (2026-06-16 10:36:03)
  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 9566c798d09abdf266a00eae67a9b1188c6df36e --onto 4792cd22887c8b529a351f6563b693426ff2a8f8. You can force Mathlib CI using the force-mathlib-ci label. (2026-06-18 10:24:23)
  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 9566c798d09abdf266a00eae67a9b1188c6df36e --onto 0758b1d2e33c65ccea578abb0c668aab1f811608. You can force Mathlib CI using the force-mathlib-ci label. (2026-06-26 11:28:06)
  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 068011713f00d41059c2346d97fbb41ec4daf576 --onto 41b2fe837a74f3d3449816e58dd6219eac034ff7. You can force Mathlib CI using the force-mathlib-ci label. (2026-07-04 15:04:51)
  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 0d9dae19efbf6e9be542ef39d96bb86981837e1e --onto 41b2fe837a74f3d3449816e58dd6219eac034ff7. You can force Mathlib CI using the force-mathlib-ci label. (2026-07-05 03:40:57)
  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 0e8a9ebad99e0a41dbd7655f5a4e9993d4dc07f1 --onto 3259610687883ec1ea48c481aba2469f2f83facf. You can force Mathlib CI using the force-mathlib-ci label. (2026-07-21 14:36:56)
  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase a2c74ef85a8212503551663871b90d0d51b7417f --onto 3259610687883ec1ea48c481aba2469f2f83facf. You can force Mathlib CI using the force-mathlib-ci label. (2026-07-24 22:17:48)
  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase a39eab69e1eee9ad38f4efe507907b1026a77808 --onto 0bfc3acaef4ed0576307a77fbaa0c6e1a5dca402. You can force Mathlib CI using the force-mathlib-ci label. (2026-07-28 17:04:49)
  • ❗ Mathlib CI can not be attempted yet, as the nightly-testing-2026-07-29 tag does not exist there yet. We will retry when you push more commits. If you rebase your branch onto nightly-with-mathlib, Mathlib CI should run now. You can force Mathlib CI using the force-mathlib-ci label. (2026-08-11 18:01:07)
  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 875b6b5bcf293b6ce17ea6a1a977363f1b51d66b --onto 16e77c407779fde9a649adf3478204d1915371a3. You can force Mathlib CI using the force-mathlib-ci label. (2026-08-20 22:11:05)
  • ❗ Batteries/Mathlib CI will not be attempted unless your PR branches off the nightly-with-mathlib branch. Try git rebase 875b6b5bcf293b6ce17ea6a1a977363f1b51d66b --onto 138ca9f20763523c4093baa092cf371e89535098. You can force Mathlib CI using the force-mathlib-ci label. (2026-09-01 00:05:06)

@leanprover-bot

leanprover-bot commented Jun 16, 2026

Copy link
Copy Markdown
Collaborator

Reference manual CI status:

  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase 9566c798d09abdf266a00eae67a9b1188c6df36e --onto 803553a556fd82fa1060efb0c43eda542130cb16. You can force reference manual CI using the force-manual-ci label. (2026-06-16 05:05:29)
  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase 9566c798d09abdf266a00eae67a9b1188c6df36e --onto c500da3e893f814e54e3392d5d637085fac8bc37. You can force reference manual CI using the force-manual-ci label. (2026-06-26 11:28:07)
  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase 9566c798d09abdf266a00eae67a9b1188c6df36e --onto 84b251f7390c20a0a00a221050ab4a6e6c46a191. You can force reference manual CI using the force-manual-ci label. (2026-06-27 17:25:46)
  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase 068011713f00d41059c2346d97fbb41ec4daf576 --onto e281ba87c2c967b1662ee28bd201046956d0494a. You can force reference manual CI using the force-manual-ci label. (2026-07-04 15:04:52)
  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase 0d9dae19efbf6e9be542ef39d96bb86981837e1e --onto e281ba87c2c967b1662ee28bd201046956d0494a. You can force reference manual CI using the force-manual-ci label. (2026-07-05 03:40:59)
  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase 0e8a9ebad99e0a41dbd7655f5a4e9993d4dc07f1 --onto 49ff95727f98d43984726b26742d17a1ceea9dd5. You can force reference manual CI using the force-manual-ci label. (2026-07-21 14:36:58)
  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase a2c74ef85a8212503551663871b90d0d51b7417f --onto 49ff95727f98d43984726b26742d17a1ceea9dd5. You can force reference manual CI using the force-manual-ci label. (2026-07-24 22:17:50)
  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase a2c74ef85a8212503551663871b90d0d51b7417f --onto fed67d987430595cddf0ee209f0b12dc69f182b5. You can force reference manual CI using the force-manual-ci label. (2026-07-25 13:18:19)
  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase a39eab69e1eee9ad38f4efe507907b1026a77808 --onto aa89d2777fb4342ff3084502e8f2d5a01aa17222. You can force reference manual CI using the force-manual-ci label. (2026-07-28 17:04:50)
  • ✅ Reference manual branch lean-pr-testing-14064 has successfully built against this PR. (2026-08-11 18:07:36) View Log
  • 🟡 Reference manual branch lean-pr-testing-14064 build against this PR didn't complete normally. (2026-08-11 18:09:11) View Log
  • ✅ Reference manual branch lean-pr-testing-14064 has successfully built against this PR. (2026-08-12 00:09:44) View Log
  • 🟡 Reference manual branch lean-pr-testing-14064 build against this PR didn't complete normally. (2026-08-12 00:10:24) View Log
  • ✅ Reference manual branch lean-pr-testing-14064 has successfully built against this PR. (2026-08-13 00:20:48) View Log
  • 🟡 Reference manual branch lean-pr-testing-14064 build against this PR didn't complete normally. (2026-08-13 00:21:19) View Log
  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase 875b6b5bcf293b6ce17ea6a1a977363f1b51d66b --onto 16e77c407779fde9a649adf3478204d1915371a3. You can force reference manual CI using the force-manual-ci label. (2026-08-20 22:11:07)
  • ❗ Reference manual CI will not be attempted unless your PR branches off the nightly-with-manual branch. Try git rebase 875b6b5bcf293b6ce17ea6a1a977363f1b51d66b --onto e991a05e359a25988f49bff3ab8af986e959b866. You can force reference manual CI using the force-manual-ci label. (2026-09-01 00:05:08)

@TwoFX TwoFX left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Just a superficial pass, I'll need to read this again on Monday.

Comment thread src/runtime/openssl/context.cpp Outdated
Comment thread src/runtime/openssl/context.cpp Outdated
Comment thread src/runtime/openssl/context.h Outdated
@algebraic-dev algebraic-dev added the release-ci Enable all CI checks for a PR, like is done for releases label Jun 26, 2026
@algebraic-dev
algebraic-dev requested a review from TwoFX June 26, 2026 19:06
@algebraic-dev algebraic-dev added release-ci Enable all CI checks for a PR, like is done for releases merge-ci Enable merge queue CI checks for PR. In particular, produce artifacts for all major platforms. and removed release-ci Enable all CI checks for a PR, like is done for releases labels Jul 28, 2026
Comment thread src/runtime/openssl/context.cpp Outdated
Comment thread src/runtime/openssl/context.cpp Outdated
Comment thread src/runtime/openssl/context.cpp
Comment thread src/runtime/openssl/context.cpp Outdated
@leanprover-bot leanprover-bot added the builds-manual CI has verified that the Lean Language Reference builds against this PR label Aug 11, 2026
@algebraic-dev
algebraic-dev requested a review from TwoFX August 11, 2026 23:26
leanprover-bot added a commit to leanprover/reference-manual that referenced this pull request Aug 12, 2026

@TwoFX TwoFX left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks good, though I'd like to see a test for the error message for the ill-formed certFile/keyFile/caFile errors.

After that, feel free to merge.

leanprover-bot added a commit to leanprover/reference-manual that referenced this pull request Aug 13, 2026
Comment thread src/runtime/openssl/context.cpp Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

builds-manual CI has verified that the Lean Language Reference builds against this PR changelog-library Library merge-ci Enable merge queue CI checks for PR. In particular, produce artifacts for all major platforms. toolchain-available A toolchain is available for this PR, at leanprover/lean4-pr-releases:pr-release-NNNN

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants