as we are close to 2.5, can the following remaining Coverity issues be addressed ? at least I'm aware of possible null pointer deref
src/stream_interface.c: insecure data handling suspected by coverity · Issue #1405 · haproxy/haproxy (github.com) <https://github.com/haproxy/haproxy/issues/1405> src/stick_table.c: unchecked return value suspected by coverity · Issue #1163 · haproxy/haproxy (github.com) <https://github.com/haproxy/haproxy/issues/1163> Null pointer dereference suspected by coverity · Issue #1434 · haproxy/haproxy (github.com) <https://github.com/haproxy/haproxy/issues/1434> сб, 6 нояб. 2021 г. в 14:11, Willy Tarreau <[email protected]>: > Hi, > > HAProxy 2.5-dev13 was released on 2021/11/06. It added 35 new commits > after version 2.5-dev12. > > These are the last-mile fixes and cleanups for this release. > > - the backend support for WebSocket over HTTP/2 was adjusted to allow > WebSocket to use HTTP/1 even if HTTP traffic uses HTTP/2. There were > indeed some users complaining about broken WebSocket when H2 is > enabled on the backend side because their servers did not yet support > WebSocket over HTTP/2. With this, haproxy will offer WS over HTTP/2 > even if the server runs HTTP/2 without it, and haproxy will use HTTP/1 > connections to the server for WS. The new server keyword to tune this > is "ws". This part will be backported to 2.4 to fix the issues that > these users are facing. More improvements are planned (autodetection) > but they do present certain shortcomings in case servers would restart > and change their status, so they were kept on hold for now. > > - the fc_conn_err and bc_conn_err sample fetch functions which return the > frontend connection and backend connection error codes were renamed to > "fc_err" and "bc_err" to be consistent with the other ones, as "fc" and > "bc" already stand for "frontend connection" and "backend connection". > No need for the confusing redundancy. This may possibly break some > configs if you were using them on a development version, but better fix > that before they're part of a final release. > > - as discussed a few days ago, the frontend connection's SNI was added to > the HTTPS log format. It was placed just before the SSL version and > ciphers, delimited with a '/' so that even if an empty one is sent, > there is no ambiguity on the field parsing. > > - some of the DNS stats counters were split into their own resolvers > stats, because they were really resolver events rather than DNS > protocol level events. This could make a difference when we later > implement support for DNS load balancing. > > - a warning is now sent when "compression offload" is used in a defaults > section, because that does nothing. While the doc was already clear > about it, it used to be accepted by the config parser, so we cannot > really error on it now at the risk of breaking some harmless configs. > However a warning does seem appropriate at least. > > - small fixes and updates on JWT, resolvers, and QUIC > > - build instructions for QUIC and quictls were added to the INSTALL file > > - an example error-log-format was added to the doc, as it wasn't exactly > trivial. We think it covers most use cases, so with a bit of luck it > will often be copy-pasted and generalized. > > - more code cleanups, doc updates, and regtest cleanups > > Yesterday while reviewing optimal logging options for HTTPS with William, > we noticed that some sample-fetch functions are missing to retrieve the > certificate check status on the backend, or extract the backend's TLS > version or SNI. The code already exists (we even did most of it on the > fly just to test) but I didn't want to rush a last-minute set of new > sample-fetch functions, whose tests and documentation would needlessly > delay this release. I will probably add them later next week or after the > release, and they're low-importance details that can trivially be > backported if we want. > > I've told Björn not to rush his patches on Multi-path TCP. While they're > trivial and certainly harmless, there's no reason to hurry on this at the > last minute and risk to make mistakes, we'll have plenty of time to > complete > this work later. MPTCP is still young, and if there's some demand, once > merged the backport should even be trivial to perform. > > I expect a few more doc updates, makefile reorderings/cleanups, regtests, > bug fixes, maybe a few more sample-fetch functions and converters, some > more tests on various machine sizes, and if everything's good we could > release by the end of next week. > > So, please test it. If you can't take any risk on your production, at the > very least please check that it properly loads your configuration and/or > that any warning or error is expected, that could save you some precious > time later ;-) > > Please find the usual URLs below : > Site index : http://www.haproxy.org/ > Discourse : http://discourse.haproxy.org/ > Slack channel : https://slack.haproxy.org/ > Issue tracker : https://github.com/haproxy/haproxy/issues > Wiki : https://github.com/haproxy/wiki/wiki > Sources : http://www.haproxy.org/download/2.5/src/ > Git repository : http://git.haproxy.org/git/haproxy.git/ > Git Web browsing : http://git.haproxy.org/?p=haproxy.git > Changelog : http://www.haproxy.org/download/2.5/src/CHANGELOG > Cyril's HTML doc : http://cbonte.github.io/haproxy-dconv/ > > Willy > --- > Complete changelog : > Amaury Denoyelle (8): > MINOR: mux-h2: add trace on extended connect usage > BUG/MEDIUM: mux-h2: reject upgrade if no RFC8441 support > MINOR: stream/mux: implement websocket stream flag > MINOR: connection: implement function to update ALPN > MINOR: connection: add alternative mux_ops param for > conn_install_mux_be > MEDIUM: server/backend: implement websocket protocol selection > MINOR: server: add ws keyword > DOC: add QUIC instruction in INSTALL > > Christopher Faulet (2): > MINOR: backend: Get client dst address to set the server's one only > if needful > MINOR: compression: Warn for 'compression offload' in defaults > sections > > Emeric Brun (4): > BUG/MINOR: resolvers: fix sent messages were counted twice > BUG/MINOR: resolvers: throw log message if trash not large enough > for query > MINOR: resolvers/dns: split dns and resolver counters in dns_counter > struct > MEDIUM: resolvers: rename dns extra counters to resolvers extra > counters > > Frédéric Lécaille (5): > MINOR: quic: Allocate listener RX buffers > CLEANUP: quic: Remove useless code > MINOR: quic: Enhance the listener RX buffering part > MINOR: quic: Remove a useless lock for CRYPTO frames > MINOR: quic: Use QUIC_LOCK QUIC specific lock label. > > Remi Tricot-Le Breton (1): > BUG/MINOR: jwt: Fix jwt_parse_alg incorrectly returning JWS_ALG_NONE > > Tim Duesterhus (7): > MINOR: jwt: Make invalid static JWT algorithms an error in > `jwt_verify` converter > CLEANUP: halog: Remove dead stores > DEV: coccinelle: Add ha_free.cocci > CLEANUP: Apply ha_free.cocci > DEV: coccinelle: Add rule to use `istnext()` where possible > CLEANUP: Apply ist.cocci > REGTESTS: Use `feature cmd` for 2.5+ tests (2) > > Willy Tarreau (8): > SCRIPTS: git-show-backports: re-enable file-based filtering > DOC: internals: move some API definitions to an "api" subdirectory > MEDIUM: connection: rename fc_conn_err and bc_conn_err to fc_err and > bc_err > DOC: configuration: move the default log formats to their own section > MINOR: ssl: make the ssl_fc_sni() sample-fetch function always > available > MEDIUM: log: add the client's SNI to the default HTTPS log format > DOC: config: add an example of reasonably complete error-log-format > DOC: config: move error-log-format before custom log format > > --- > >

