Skip to content

Ioxide engine: ioxide 0.4.161, all endpoints served, native TLS termination - #887

Open
MDA2AV wants to merge 2 commits into
mainfrom
ioxide-0.4.161
Open

Ioxide engine: ioxide 0.4.161, all endpoints served, native TLS termination#887
MDA2AV wants to merge 2 commits into
mainfrom
ioxide-0.4.161

Conversation

@MDA2AV

@MDA2AV MDA2AV commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator
  • ioxide 0.1.10.4.161 (the separate ioxide.tls package is folded into core)
  • Migrates the renamed APIs: TcpConnection, TcpHandle, TcpConnectionDualPipe, ServerConfig.Tcp
  • Serves every configured endpoint (primary port + ExtraPorts) instead of the first only
  • Endpoints bound with a certificate are TLS-terminated ring-natively, one context per port; the certificate is exported as PEM in memory. Client certificate validation and SNI-only providers throw as unsupported
  • Replaces the hand-rolled TlsDuplexPipe with ioxide's TlsConnectionDualPipe (close_notify on teardown in both TLS backends)
  • Releases the connection when the TLS handshake or a custom connection factory faults

Verified with a two-endpoint host (plaintext + certificate-bound): both serve, and a strict client observes close_notify before FIN.

MDA2AV added 2 commits August 8, 2026 18:15
…nation

- ioxide 0.1.1 -> 0.4.161; the separate ioxide.tls package is folded into core
- migrate renamed APIs (TcpConnection, TcpHandle, TcpConnectionDualPipe, ServerConfig.Tcp)
- serve every configured endpoint (primary port + ExtraPorts) instead of the first only
- endpoints bound with a certificate are TLS-terminated ring-natively (per-port contexts,
  certificate exported as PEM); client cert validation and SNI report as unsupported
- replace the hand-rolled TlsDuplexPipe with ioxide's TlsConnectionDualPipe
- release the connection when the handshake or connection factory faults
… one

The eager Provide(null) in the constructor threw for SNI-only certificate
providers (SecurityTests' PickyCertificateProvider), failing host startup for
the secure-upgrade redirect cases that never actually handshake.

Certificates are now resolved per reactor in OnStart. A secure port whose
provider yields no default certificate stays advertised (so redirects derive
the https port) but its handshakes are refused with a FIN, so a client sees a
fast connection failure instead of a plaintext response on an https port.
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.

1 participant