v3.3-dev7
📦 haproxyView on GitHub →
✨ 25 features🐛 15 fixes🔧 53 symbols
Summary
This release introduces several minor improvements and bug fixes across various modules including QUIC, configuration parsing, SSL, and tools. Key additions include new helper functions for GUIDs and clocks, improved alignment for memory pools, and the introduction of kTLS support for OpenSSL and AWS-LC.
Migration Steps
- Replace most DECLARE_POOL with DECLARE_TYPED_POOL.
- Update to actions/checkout@v5.
✨ New Features
- Add QUIC_FL_CONN_IS_BACK flag.
- Add guid_get() helper function.
- Add guid_count() function.
- Add clock_set_now_offset() helper function.
- Add clock_get_now_offset() helper function.
- Add REGISTER_POST_DEINIT_MASTER() hook.
- Add ha_aligned_zalloc() tool function.
- Distinguish requested alignment from type-specific alignment in pools.
- Permit optional specification of extra size and alignment in pools.
- Always check that requested alignment matches the type's in pools.
- Implement ha_aligned_alloc_typed() tool function.
- Introduce srv_alloc()/srv_free() to allocate/free a server.
- Implement qc_ssl_do_handshake().
- Add recvmsg() and sendmsg() parameters to rcv_buf() and snd_buf().
- Add a "flags" field to ssl_sock_ctx.
- Add a "get_capability" method to xprt.
- Add a new "ktls" option to bind and server.
- Define HAVE_VANILLA_OPENSSL if OpenSSL is used.
- Add a new build option, USE_KTLS.
- Add kTLS support for OpenSSL.
- Add splicing with SSL.
- Add ktls support for AWS-LC.
- Add support for ktls on TLS 1.3 with AWS-LC.
- Handle non-Application data records with AWS-LC.
- Add a way to globally disable ktls.
🐛 Bug Fixes
- Immediately stop after a hard error in srv_init().
- Update err_code for fatal error on proxy directive in cfgparse-listen.
- Avoid NULL-dereference in post_section_px_cleanup().
- Cap sticky counter index with tune.nb_stk_ctr instead of MAX_SESS_STKCTR.
- Update broken accept4 detection for older hardware.
- Fix 0-RTT to the server.
- Fix build with AWS-LC.
- Initialize random seed earlier in the init process.
- Fix listener connection stuck during handshakes (OpenSSL 3.5).
- Fix wrong lock label in mux-h1.
- Properly detect and skip empty NOTIFY frames in spoe.
- Report inbuf is no longer full when a line is consumed in cli.
- Fix crash after quic_conn allocation failures.
- Do not initialize ->conn too early in quic-be.
- More verbose error upon loading failure in mworker.
Affected Symbols
quiccfgparsesrv_init()cfgparse-listenproxy directivepost_section_px_cleanup()guid_get()guid_count()clock_set_now_offset()clock_get_now_offset()REGISTER_POST_DEINIT_MASTER()stick-tabletune.nb_stk_ctrMAX_SESS_STKCTRsockaccept4sslacmeinitha_aligned_zalloc()fdtabpoolsha_aligned_alloc()ha_aligned_alloc_typed()srv_alloc()srv_free()server structring structuresactions/checkout@v5qc_ssl_do_handshake()quic_connmux-h1spoeclimworkerxprtrcv_buf()snd_buf()ssl_sock_ctxXPRT_CAN_SPLICEmux_h1mux_ptcfgparsebindserverktlssslOpenSSLHAVE_VANILLA_OPENSSLUSE_KTLSspliceAWS-LCTLS 1.3