Skip to content

quic: add support for TLS certificate compression#64434

Open
bjohansebas wants to merge 1 commit into
nodejs:mainfrom
bjohansebas:quic-cert-compression
Open

quic: add support for TLS certificate compression#64434
bjohansebas wants to merge 1 commit into
nodejs:mainfrom
bjohansebas:quic-cert-compression

Conversation

@bjohansebas

Copy link
Copy Markdown
Member

Add an opt-in certificateCompression TLS option for QUIC sessions,
mirroring the existing node:tls support. When set to a list of
'zlib', 'brotli', and/or 'zstd', the server compresses its certificate
chain and the client advertises the algorithms it accepts, reducing the
size of the server's first flight and helping it stay within QUIC's
anti-amplification limit.

Certificate compression is disabled by default: the OpenSSL default
preferences are cleared unless the option is provided, keeping QUIC
consistent with node:tls

I've been using AI for the investigation and to better understand the context

@nodejs-github-bot

Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/quic

@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run. labels Jul 12, 2026
@bjohansebas bjohansebas marked this pull request as ready for review July 12, 2026 01:57
@codecov

codecov Bot commented Jul 12, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.23%. Comparing base (8a3b11c) to head (51cd687).
⚠️ Report is 14 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #64434      +/-   ##
==========================================
- Coverage   90.24%   90.23%   -0.02%     
==========================================
  Files         741      741              
  Lines      241384   241646     +262     
  Branches    45480    45528      +48     
==========================================
+ Hits       217844   218038     +194     
- Misses      15097    15155      +58     
- Partials     8443     8453      +10     
Files with missing lines Coverage Δ
lib/internal/quic/quic.js 100.00% <100.00%> (ø)

... and 51 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@jasnell jasnell 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.

Appears to be some linting issues but otherwise LGTM

@bjohansebas bjohansebas force-pushed the quic-cert-compression branch from 16493b9 to 4d98228 Compare July 12, 2026 17:34
Signed-off-by: Sebastian Beltran <bjohansebas@gmail.com>
@bjohansebas bjohansebas force-pushed the quic-cert-compression branch from 4d98228 to 51cd687 Compare July 12, 2026 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++ Issues and PRs that require attention from people who are familiar with C++. lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants