Change8

v3.4-dev1

📦 haproxyView on GitHub →
7 features🐛 20 fixes🔧 10 symbols

Summary

This release introduces ECH support details in configuration documentation and includes numerous bug fixes and minor improvements across QUIC, SSL, and connection handling. Several tests have been updated or added to support QUIC functionality.

Migration Steps

  1. The connection is now passed as an argument when qc_new_conn() is called for QUIC.
  2. The SNI of cached TLS sessions is no longer stored in SSL/server.
  3. The SSL context is now initialized after getting the connection SNI in tcpcheck/backend.

✨ New Features

  • Implement cc-algo server keyword for QUIC.
  • Add useful debugging traces in qc_idle_timer_do_rearm().
  • Add a function to hash SNIs.
  • Store hash of the SNI for cached TLS sessions.
  • Compare hashes instead of SNIs when a session is cached.
  • Store the SNI hash value in the connection itself.
  • Add a new CO_FL_SSL_NO_CACHED_INFO flag for connections.

🐛 Bug Fixes

  • Fix missing 'case' in jwt switch statement.
  • Fix missing keywords array NULL termination in quic-be.
  • Fix 'bc_settings_streams_limit' typo in connection settings.
  • Ignore empty arguments in skipped blocks in configuration.
  • Fix crash in ClientHello callback SSL traces for QUIC/SSL.
  • Fix handshake errors without connection stream closure in quic-be.
  • Avoid code duplication in TLS alert callback for QUIC.
  • Fix missing connection stream closure upon TLS alert to send in quic-be.
  • Do not set the default QUIC curves first.
  • Do not allow to set NULL SNI.
  • Do not reuse TLS session if the connection's SNI differs.
  • Dump good %B and %U values in logs.
  • Do not close server connection on read0 in TUNNEL mode in http-ana.
  • Fix access to QCS <sd> if not allocated in h3.
  • Fix 'show proc' command limitation by buffer size in mworker/cli.
  • Always check the ALPN after handshake in SSL.
  • Do not store the ALPN for check connections in SSL.
  • Do not resume session for check connections in SSL.
  • Fix access to QCS <sd> definitively in h3.
  • Emit a trace of the received RST_STREAM type in h2/trace.

Affected Symbols