Hi,

HAProxy 2.9-dev1 was released on 2023/07/02. It added 77 new commits
after version 2.9-dev0.

Whatever we say each time about our intent to emit dev1 earlier, it always
takes one month after the release. That's probably the time it takes to
restart on new stuff. The good point is that the period has been quite
calm on 2.8, so there aren't that many fixes and it seems everyone is busy
starting long developments again.

>From what I've seen, most of the fixes for now are for tiny or very unlikely
issues (e.g. assertion failures upon reload when there are so many older
workers that maxsock is reached, occasional openssl error code 0 in failed
handshake logs, Lua's get_stats() function not working anymore), so I won't
try to summarize all of them here.

The H1 mux got splicing working again for chunked message. Last time was
probably around 1.6 but there has always been limited interest in this
due to TLS being omnipresent. However the day we start supporting KTLS,
it may become quite interesting again. In any case it's nice to know that
the data path is becoming more uniform.

QUIC's diet has started. Fred managed to release from the quic_conn some
elements that only serve during the handshake. At first glance, it should
roughly save around 1 kB of RAM per connection! Despite extreme care, Fred
doesn't completely rule out the possibility that there could be a few
issues left in this first patch set which is always to be expected when
trying to refine memory allocations. If you face any QUIC-related crash
or memory leak, please report it.

The SSL sigalgs are now configurable on the server lines, the SLZ compressor
received a new ->flush() operation allowing small interactive data to pass
through instantly, some doc was incomplete or incorrect and was fixed, and
as usual, a few cleanups and regtests were included.

That's about all for this version. Really nothing outstanding, but deployed,
up and running nevertheless :-)

Please find the usual URLs below :
   Site index       : https://www.haproxy.org/
   Documentation    : https://docs.haproxy.org/
   Wiki             : https://github.com/haproxy/wiki/wiki
   Discourse        : https://discourse.haproxy.org/
   Slack channel    : https://slack.haproxy.org/
   Issue tracker    : https://github.com/haproxy/haproxy/issues
   Sources          : https://www.haproxy.org/download/2.9/src/
   Git repository   : https://git.haproxy.org/git/haproxy.git/
   Git Web browsing : https://git.haproxy.org/?p=haproxy.git
   Changelog        : https://www.haproxy.org/download/2.9/src/CHANGELOG
   Dataplane API    : 
https://github.com/haproxytech/dataplaneapi/releases/latest
   Pending bugs     : https://www.haproxy.org/l/pending-bugs
   Reviewed bugs    : https://www.haproxy.org/l/reviewed-bugs
   Code reports     : https://www.haproxy.org/l/code-reports
   Latest builds    : https://www.haproxy.org/l/dev-packages

Willy
---
Complete changelog :
Artur Pydo (1):
      DOC: quic: fix misspelled tune.quic.socket-owner

Aurelien DARRAGON (9):
      DOC: config: fix jwt_verify() example using var()
      DOC: config: fix rfc7239 converter examples (again)
      BUG/MINOR: cfgparse-tcp: leak when re-declaring interface from bind line
      BUG/MINOR: proxy: add missing interface bind free in free_proxy
      BUG/MINOR: proxy/server: free default-server on deinit
      BUG/MINOR: server: inherit from netns in srv_settings_cpy()
      BUG/MINOR: namespace: missing free in netns_sig_stop()
      BUG/MINOR: http_ext: fix if-none regression in forwardfor option
      REGTEST: add an extra testcase for ifnone-forwardfor

Christopher Faulet (13):
      BUG/MINOR: spoe: Only skip sending new frame after a receive attempt
      BUG/MINOR: peers: Improve detection of config errors in peers sections
      REG-TESTS: stickiness: Delay haproxys start to properly resolv variables
      BUG/MEDIUM: hlua: Use front SC to detect EOI in HTTP applets' receive 
functions
      REGTESTS: h1_host_normalization : Add a barrier to not mix up log messages
      MEDIUM: mux-h1: Split h1_process_mux() to make code more readable
      REORG: mux-h1: Rename functions to emit chunk size/crlf in the output 
buffer
      MINOR: mux-h1: Add function to append the chunk size to the output buffer
      MINOR: mux-h1: Add function to prepend the chunk crlf to the output buffer
      MEDIUM: filters/htx: Don't rely on HTX extra field if payload is filtered
      MEDIIM: mux-h1: Add splicing support for chunked messages
      REGTESTS: Add a script to test the kernel splicing with chunked messages
      CLEANUP: mux-h1: Remove useless __maybe_unused statement

Emeric Brun (1):
      BUG/MEDIUM: quic: error checking buffer large enought to receive the 
retry tag

Frédéric Lécaille (35):
      BUG/MINOR: quic: Possible crash when SSL session init fails
      CONTRIB: Add vi file extensions to .gitignore
      BUG/MINOR: quic: Wrong encryption level flags checking
      BUG/MINOR: quic: Address inversion in "show quic full"
      BUG/MINOR: quic: Missing initialization (packet number space probing)
      BUG/MINOR: quic: Possible crash in quic_conn_prx_cntrs_update()
      BUG/MINOR: quic: Possible endless loop in quic_lstnr_dghdlr()
      MINOR: quic: Remove pool_zalloc() from qc_new_conn()
      MINOR: quic: Remove pool_zalloc() from qc_conn_alloc_ssl_ctx()
      MINOR: quic: Remove pool_zalloc() from quic_dgram_parse()
      BUG/MINOR: quic: Missing transport parameters initializations
      BUG/MINOR: quic: ticks comparison without ticks API use
      BUG/MINOR: quic: Missing TLS secret context initialization
      BUG/MINOR: quic: Prevent deadlock with CID tree lock
      BUG/MINOR: quic: Missing random bits in Retry packet header
      BUG/MINOR: quic: Wrong Retry paquet version field endianess
      BUG/MINOR: quic: Wrong endianess for version field in Retry token
      MINOR: quic: Move QUIC TLS encryption level related code 
(quic_conn_enc_level_init())
      MINOR: quic: Move QUIC encryption level structure definition
      MINOR: quic: Implement a packet number space identification function
      MINOR: quic: Move packet number space related functions
      MEDIUM: quic: Dynamic allocations of packet number spaces
      CLEANUP: quic: Remove qc_list_all_rx_pkts() defined but not used
      MINOR: quic: Add a pool for the QUIC TLS encryption levels
      MEDIUM: quic: Dynamic allocations of QUIC TLS encryption levels
      MINOR: quic: Reduce the maximum length of TLS secrets
      CLEANUP: quic: Remove two useless pools a low QUIC connection level
      MEDIUM: quic: Handle the RX in one pass
      MINOR: quic: Remove call to qc_rm_hp_pkts() from I/O callback
      CLEANUP: quic: Remove server specific about Initial packet number space
      MEDIUM: quic: Release encryption levels and packet number spaces asap
      CLEANUP: quic: Remove a useless test about discarded pktns 
(qc_handle_crypto_frm())
      MINOR: quic: Move the packet number space status at quic_conn level
      MINOR: quic: Drop packet with type for discarded packet number space.
      BUILD: quic: Add a DISGUISE() to please some compiler to qc_prep_hpkts() 
1st parameter

Patrick Hemmer (1):
      BUG/MINOR: config: fix stick table duplicate name check

Tim Duesterhus (4):
      BUG/MINOR: stats: Fix Lua's `get_stats` function
      DOC: Add tune.h2.be.* and tune.h2.fe.* options to table of contents
      DOC: Add tune.h2.max-frame-size option to table of contents
      DOC: Attempt to fix dconv parsing error for tune.h2.fe.initial-window-size

William Lallemand (7):
      BUG/MINOR: ssl: log message non thread safe in SSL Hanshake failure
      BUG/MEDIUM: mworker: increase maxsock with each new worker
      BUG/MINOR: mworker: leak of a socketpair during startup failure
      MEDIUM: ssl: handle the SSL_ERROR_ZERO_RETURN during the handshake
      BUG/MINOR: ssl: SSL_ERROR_ZERO_RETURN returns CO_ER_SSL_EMPTY
      MINOR: ssl: allow to change the server signature algorithm on server lines
      MINOR: ssl: allow to change the client-sigalgs on server lines

Willy Tarreau (6):
      MINOR: stats: protect against future stats fields omissions
      BUG/MINOR: stream: do not use client-fin/server-fin with HTX
      BUILD: mux-h1: silence a harmless fallthrough warning
      IMPORT: slz: implement a synchronous flush() operation
      MINOR: compression/slz: add support for a pure flush of pending bytes
      BUILD: debug: avoid a build warning related to epoll_wait() in debug code

---

Reply via email to