summaryrefslogtreecommitdiff
path: root/net/haproxy
AgeCommit message (Collapse)AuthorFilesLines
2022-12-06haproxy: updated to 2.7.0adam3-11/+11
2.7.0 - MINOR: ssl: forgotten newline in error messages on ca-file - BUG/MINOR: ssl: shut the ca-file errors emitted during httpclient init - DOC: config: provide some configuration hints for "http-reuse" - DOC: config: refer to section about quoting in the "add_item" converter - DOC: halog: explain how to use -ac and -ad in the help message - DOC: config: clarify the fact that SNI should not be used in HTTP scenarios - DOC: config: mention that a single monitor-uri rule is supported - DOC: config: explain how default matching method for ACL works - DOC: config: clarify the fact that "retries" is not just for connections - BUILD: halog: fix missing double-quote at end of help line - DOC: config: clarify the -m dir and -m dom pattern matching methods - MINOR: activity: report uptime in "show activity" - REORG: activity/cli: move the "show activity" handler to activity.c - DEV: poll: add support for epoll - DEV: tcploop: centralize the polling code into wait_for_fd() - DEV: tcploop: add support for POLLRDHUP when supported - DEV: tcploop: do not report an error on POLLERR - DEV: tcploop: add optional support for epoll - SCRIPTS: announce-release: add a link to the data plane API - CLEANUP: stick-table: fill alignment holes in the stktable struct - MINOR: stick-table: store a per-table hash seed and use it - MINOR: stick-table: show the shard number in each entry's "show table" output - CLEANUP: ncbuf: remove ncb_blk args by value - CLEANUP: ncbuf: inline small functions - CLEANUP: ncbuf: use standard BUG_ON with DEBUG_STRICT - BUG/MINOR: quic: Endless loop during retransmissions - MINOR: mux-h2: add the expire task and its expiration date in "show fd" - BUG/MINOR: peers: always initialize the stksess shard value - REGTESTS: fix peers-related regtests regarding "show table" - BUG/MEDIUM: mux-h1: Close client H1C on EOS when there is no output data - MINOR: stick-table: change the API of the function used to calculate the shard - CLEANUP: peers: factor out the key len calculation in received updates - BUG/MINOR: peers: always update the stksess shard number on incoming updates - CLEANUP: assorted typo fixes in the code and comments - MINOR: mux-h1: add the expire task and its expiration date in "show fd" - MINOR: debug: improve error handling on the memstats command parser - BUILD: quic: allow build with USE_QUIC and USE_OPENSSL_WOLFSSL - CLEANUP: anon: clarify the help message on "debug dev hash" - MINOR: debug: relax access restrictions on "debug dev hash" and "memstats" - SCRIPTS: run-regtests: add a version check - MINOR: version: mention that it's stable now
2022-09-26haproxy: updated to 2.6.6adam2-6/+6
2.6.6 - MEDIUM: peers: limit the number of updates sent at once - MINOR: Revert part of clarifying samples support per os commit - BUILD: makefile: enable crypt(3) for NetBSD - BUG/MINOR: quic: Retransmitted frames marked as acknowledged - BUG/MINOR: quic: Possible crash with "tls-ticket-keys" on QUIC bind lines - BUG/MINOR: h1: Support headers case adjustment for TCP proxies - BUG/MINOR: quic: Possible crash when verifying certificates - BUILD: quic: add some ifdef around the SSL_ERROR_* for libressl - BUILD: ssl: fix ssl_sock_switchtx_cbk when no client_hello_cb - BUILD: quic: temporarly ignore chacha20_poly1305 for libressl - BUILD: quic: enable early data only with >= openssl 1.1.1 - BUILD: ssl: fix the ifdef mess in ssl_sock_initial_ctx - BUILD: quic: fix the #ifdef in ssl_quic_initial_ctx() - MINOR: quic: add QUIC support when no client_hello_cb - MINOR: quic: Add traces about sent or resent TX frames - MINOR: quic: No TRACE_LEAVE() in retrieve_qc_conn_from_cid() - BUG/MINOR: quic: Wrong connection ID to thread ID association - BUG/MINOR: task: always reset a new tasklet's call date - BUG/MINOR: task: make task_instant_wakeup() work on a task not a tasklet - MINOR: task: permanently enable latency measurement on tasklets - CLEANUP: task: rename ->call_date to ->wake_date - BUG/MINOR: task: Fix detection of tasks profiling in tasklet_wakeup_after() - BUG/MINOR: sched: properly account for the CPU time of dying tasks - MINOR: sched: store the current profile entry in the thread context - BUG/MINOR: stream/sched: take into account CPU profiling for the last call - BUG/MINOR: signals/poller: set the poller timeout to 0 when there are signals - BUG/MINOR: quic: Speed up the handshake completion only one time - BUG/MINOR: quic: Trace fix about packet number space information. - BUG/MINOR: h3: Crash when h3 trace verbosity is "minimal" - MINOR: h3: Add the quic_conn object to h3 traces - MINOR: h3: Missing connection argument for a TRACE_LEAVE() argument - MINOR: h3: Send the h3 settings with others streams (requests) - BUG/MINOR: signals/poller: ensure wakeup from signals - CI: cirrus-ci: bump FreeBSD image to 13-1 - DEV: flags: fix usage message to reflect available options - DEV: flags: add missing CO_FL_FDLESS connection flag - BUG/MEDIUM: proxy: ensure pause_proxy() and resume_proxy() own PROXY_LOCK - MINOR: listener: small API change - MINOR: proxy/listener: support for additional PAUSED state - BUG/MINOR: stats: fixing stat shows disabled frontend status as 'OPEN' - CLEANUP: pollers: remove dead code in the polling loop - BUG/MINOR: mux-h1: Increment open_streams counter when H1 stream is created - REGTESTS: healthcheckmail: Relax matching on the healthcheck log message - CLEANUP: listener: function comment typo in stop_listener() - BUG/MINOR: listener: null pointer dereference suspected by coverity - REGTESTS: log: test the log-forward feature - BUG/MEDIUM: sink: bad init sequence on tcp sink from a ring. - REGTESTS: ssl/log: test the log-forward with SSL - DOC: fix TOC in starter guide for subsection 3.3.8. Statistics - MEDIUM: quic: separate path for rx and tx with set_encryption_secrets - BUG/MEDIUM: mux-quic: fix crash on early app-ops release - CLEANUP: mux-quic: remove stconn usage in h3/hq - BUG/MINOR: mux-quic: do not remotely close stream too early - BUG/MEDIUM: server: segv when adding server with hostname from CLI - CLEANUP: quic,ssl: fix tiny typos in C comments - BUG/MEDIUM: captures: free() an error capture out of the proxy lock - BUILD: fd: fix a build warning on the DWCAS - SCRIPTS: announce-release: update some URLs to https - BUG/MEDIUM: mux-quic: fix nb_hreq decrement - BUG/MINOR: mux-quic: do not keep detached qcs with empty Tx buffers - REORG: mux-quic: extract traces in a dedicated source file - REORG: mux-quic: export HTTP related function in a dedicated file - MINOR: mux-quic: refactor snd_buf - BUG/MEDIUM: mux-quic: properly trim HTX buffer on snd_buf reset - REGTESTS: ssl: adopt tests to OpenSSL-3.0.N - REGTESTS: ssl: adopt tests to OpenSSL-3.0.N - REGTESTS: ssl: fix grep invocation to use extended regex in ssl_generate_certificate.vtc - BUG/MINOR: log: improper behavior when escaping log data
2022-09-05haproxy: updated to 2.6.5adam2-6/+6
2.6.5 - BUG/MINOR: quic: Wrong list_for_each_entry() use when building packets from qc_do_build_pkt() - BUG/MINOR: quic: Safer QUIC frame builders - BUILD: tcp_sample: fix build of get_tcp_info() on OpenBSD - BUG/MINOR: resolvers: return the correct value in resolvers_finalize_config() - BUG/MINOR: mworker: does not create the "default" resolvers in wait mode - BUG/MINOR: tcpcheck: Disable QUICKACK only if data should be sent after connect - REGTESTS: Fix prometheus script to perform HTTP health-checks - MINOR: resolvers: shut the warning when "default" resolvers is implicit - BUG/MINOR: quic: Leak in qc_release_lost_pkts() for non in flight TX packets - BUG/MINOR: quic: Stalled connections (missing I/O handler wakeup) - CLEANUP: quic: No more use ->rx_list MT_LIST entry point (quic_rx_packet) - CLEANUP: quic: Remove a useless check in qc_lstnr_pkt_rcv() - DOC: configuration: do-resolve doesn't work with a port in the string - MINOR: sample: add the host_only and port_only converters - BUG/MINOR: httpclient: fix resolution with port - DOC: configuration.txt: do-resolve must use host_only to remove its port. - BUG/MINOR: quic: Frames added to packets even if not built. - BUG/MEDIUM: spoe: Properly update streams waiting for a ACK in async mode - BUG/MEDIUM: peers: Add connect and server timeut to peers proxy - BUG/MEDIUM: peers: Don't use resync timer when local resync is in progress - BUG/MEDIUM: peers: Don't start resync on reload if local peer is not up-to-date - BUG/MINOR: hlua: Rely on CF_EOI to detect end of message in HTTP applets - MINOR: quic: Replace MT_LISTs by LISTs for RX packets. - BUG/MEDIUM: applet: fix incorrect check for abnormal return condition from handler - BUG/MINOR: applet: make the call_rate only count the no-progress calls - MINOR: quic: Add a trace to distinguish the datagram from the packets inside - BUG/MINOR: tcpcheck: Disable QUICKACK for default tcp-check (with no rule) - BUG/MINOR: ssl: fix deinit of the ca-file tree - BUG/MINOR: ssl: leak of ckch_inst_link in ckch_inst_free() - BUG/MEDIUM: ssl: Fix a UAF when old ckch instances are released - MINOR: quic: Revert recent QUIC commits - BUG/MINOR: ssl: revert two wrong fixes with ckhi_link - BUG/MEDIUM: mux-h1: do not refrain from signaling errors after end of input - BUG/MINOR: dev/udp: properly preset the rx address size - MINOR: connection: support HTTP/3.0 for smp_*_http_major fetch - CLEANUP: Re-apply xalloc_size.cocci (2) - MINOR: mux-quic: simplify decode_qcs API - MINOR: mux-quic/h3: adjust demuxing function return values - BUG/MINOR: h3: fix return value on decode_qcs on error - BUG/MINOR: h3: fix incorrect BUG_ON assert on SETTINGS parsing - BUG/MEDIUM: h3: fix SETTINGS parsing - MINOR: mux-quic: complete BUG_ON on TX flow-control enforcing - CLEANUP: quic: use task_new_on() for single-threaded tasks - MINOR: qpack: reduce dependencies on other modules - MINOR: qpack: add ABORT_NOW on unimplemented decoding - MINOR: qpack: improve decoding function - MINOR: quic: Add several nonce and key definitions for Retry tag - MINOR: quic: Parse long packet version from qc_parse_hd_form() - CLEANUP: quid: QUIC draft-28 no more supported - MEDIUM: quic: Add QUIC v2 draft support - MINOR: quic: Released QUIC TLS extension for QUIC v2 draft - MEDIUM: quic: Compatible version negotiation implementation (draft-08) - CLEANUP: quic: Remove any reference to boringssl - BUILD: quic: Wrong HKDF label constant variable initializations - BUG/MINOR: qpack: abort on dynamic index field line decoding - MINOR: quic: Dump version_information transport parameter - CLEANUP: pool/quic: remove suffix "_pool" from certain pool names - BUG/MINOR: qpack: fix build with QPACK_DEBUG - BUG/MINOR: qpack: abort on dynamic index field line decoding - CLEANUP: mux-quic: adjust comment on qcs_consume() - CLEANUP: mux-quic: do not export qc_get_ncbuf - REORG: mux-quic: reorganize flow-control fields - MINOR: mux-quic: implement accessor for sedesc - MEDIUM: mux-quic: refactor streams opening - MINOR: mux-quic: rename qcs flag FIN_RECV to SIZE_KNOWN - MINOR: mux-quic: emit FINAL_SIZE_ERROR on invalid STREAM size - REORG: mux-quic: rename stream initialization function - MINOR: mux-quic: rename stream purge function - MINOR: mux-quic: add traces on frame parsing functions - MINOR: mux-quic: implement qcs_alert() - MINOR: mux-quic: filter send/receive-only streams on frame parsing - MINOR: mux-quic: do not ack STREAM frames on unrecoverable error - MINOR: mux-quic: support stream opening via MAX_STREAM_DATA - MINOR: mux-quic: define basic stream states - MINOR: mux-quic: use stream states to mark as detached - MEDIUM: mux-quic: implement RESET_STREAM emission - MEDIUM: mux-quic: implement STOP_SENDING handling - CLEANUP: quic: clean up include on quic_frame-t.h - MINOR: quic: define a generic QUIC error type - MINOR: mux-quic: support app graceful shutdown - MINOR: mux-quic/h3: prepare CONNECTION_CLOSE on release - MEDIUM: quic: send CONNECTION_CLOSE on released MUX - CLEANUP: mux-quic: move qc_release() - MINOR: mux-quic: send one last time before release - MINOR: h3: store control stream in h3c - MINOR: h3: implement graceful shutdown with GOAWAY - MINOR: mux-quic: save proxy instance into qcc - MINOR: mux-quic: use timeout server for backend conns - MEDIUM: mux-quic: adjust timeout refresh - MINOR: mux-quic: count in-progress requests - MEDIUM: mux-quic: implement http-keep-alive timeout - MINOR: h3: support HTTP request framing state - MINOR: mux-quic: refresh timeout on frame decoding - MINOR: mux-quic: refactor refresh timeout function - MEDIUM: mux-quic: implement http-request timeout - MINOR: quic: Add two new stats counters for sendto() errors - BUG/MINOR: quic: adjust errno handling on sendto - MINOR: quic: Replace pool_zalloc() by pool_malloc() for fake datagrams - MINOR: quic: replace custom buf on Tx by default struct buffer - MINOR: quic: release Tx buffer on each send - MINOR: quic: refactor datagram commit in Tx buffer - MINOR: quic: skip sending if no frame to send in io-cb - BUG/MINOR: mux-quic: open stream on STOP_SENDING - BUG/MINOR: quic: fix crash on handshake io-cb for null next enc level - MEDIUM: quic: xprt traces rework - MINOR: quic: Remove useless lock for RX packets - CLEANUP: quic: Remove trailing spaces - MINOR: mux-quic: adjust enter/leave traces - MINOR: mux-quic: define protocol error traces - CLEANUP: mux-quic: adjust traces level - MINOR: mux-quic: define new traces - BUG/MEDIUM: mux-quic: fix crash due to invalid trace arg - BUG/MEDIUM: quic: Possible use of uninitialized <odcid> variable in qc_lstnr_params_init() - BUG/MEDIUM: quic: Wrong use of <token_odcid> in qc_lsntr_pkt_rcv() - BUG/MINOR: mux-quic: fix crash with traces in qc_detach() - BUG/MINOR: quic: MIssing check when building TX packets - BUG/MINOR: quic: Wrong status returned by qc_pkt_decrypt() - MINOR: quic: adjust quic_frame flag manipulation - MINOR: h3: report error on control stream close - MINOR: qpack: report error on enc/dec stream close - BUG/MEDIUM: mux-quic: reject uni stream ID exceeding flow control - MINOR: mux-quic: adjust traces on stream init - MINOR: mux-quic: add missing args on some traces - MINOR: quic: refactor application send - BUG/MINOR: quic: do not notify MUX on frame retransmit - BUG/MINOR: quic: Missing initializations for ducplicated frames. - BUG/MEDIUM: quic: fix crash on MUX send notification - REORG: h2: extract cookies concat function in http_htx - REGTESTS: add test for HTTP/2 cookies concatenation - MEDIUM: h3: concatenate multiple cookie headers - BUG/MINOR: quic: Possible crashes when dereferencing ->pkt quic_frame struct member - MINOR: quic: Add frame addresses to QUIC_EV_CONN_PRSAFRM event traces - BUG/MINOR: quic: Wrong splitted duplicated frames handling - MINOR: quic: Add the QUIC connection to mux traces - MINOR: quic: Trace fix in qc_release_frm() - MINOR: quic: Add reusable cipher contexts for header protection - BUG/MINOR: mux-quic: Fix memleak on QUIC stream buffer for unacknowledged data - BUG/MINOR: quix: Memleak for non in flight TX packets - BUG/MINOR: quic: Wrong list_for_each_entry() use when building packets from qc_do_build_pkt() - BUG/MINOR: quic: Safer QUIC frame builders - MINOR: quic: Replace MT_LISTs by LISTs for RX packets. - Revert "BUG/MINOR: quix: Memleak for non in flight TX packets" - BUG/MINOR: quic: Leak in qc_release_lost_pkts() for non in flight TX packets - BUG/MINOR: quic: Stalled connections (missing I/O handler wakeup) - CLEANUP: quic: No more use ->rx_list MT_LIST entry point (quic_rx_packet) - CLEANUP: quic: Remove a useless check in qc_lstnr_pkt_rcv() - MINOR: quic: Remove useless traces about references to TX packets - Revert "MINOR: quic: Remove useless traces about references to TX packets" - BUG/MINOR: quic: Null packet dereferencing from qc_dup_pkt_frms() trace - BUG/MINOR: quic: Frames added to packets even if not built. - BUG/MINOR: quic: Missing header protection AES cipher context initialisations (draft-v2) - MINOR: quic: Add a trace to distinguish the datagram from the packets inside - MINOR: quic: Move traces about RX/TX bytes from QUIC_EV_CONN_PRSAFRM event - BUG/MINOR: quic: TX frames memleak - BUG/MINOR: ssl: leak of ckch_inst_link in ckch_inst_free() v2 - BUILD: ring: forward-declare struct appctx to avoid a build warning - MINOR: ring: support creating a ring from a linear area - MINOR: ring: add support for a backing-file - BUILD: sink: replace S_IRUSR, S_IWUSR with their octal value - MINOR: ring: archive a previous file-backed ring on startup - MINOR: sink/ring: rotate non-empty file-backed contents only - DEV: haring: add a simple utility to read file-backed rings - DEV: haring: support remapping LF in contents with CR VT - CLEANUP: exclude haring with .gitignore - BUILD: debug: make sure debug macros are never empty - BUG/MINOR: regex: Properly handle PCRE2 lib compiled without JIT support - REGTESTS: http_request_buffer: Add a barrier to not mix up log messages - BUG/MEDIUM: mux-h1: always use RST to kill idle connections in pools - MINOR: backend: always satisfy the first req reuse rule with l7 retries - BUG/MINOR: quic: Do not ack when probing - MINOR: quic: Add TX frames addresses to traces to several trace events - MINOR: quic: Trace typo fix in qc_release_frm() - BUG/MINOR: quic: Frames leak during retransmissions - BUG/MINOR: h2: properly set the direction flag on HTX response - BUG/MEDIUM: httpclient: always detach the caller before self-killing - BUG/MINOR: httpclient: keep-alive was accidentely disabled - BUG/MINOR: mux-h2: fix the "show fd" dest buffer for the subscriber - BUG/MINOR: mux-h1: fix the "show fd" dest buffer for the subscriber - BUG/MINOR: mux-fcgi: fix the "show fd" dest buffer for the subscriber - DEBUG: stream: minor rearrangement of a few fields in struct stream. - MINOR: debug: report applet pointer and handler in crashes when known - BUG/MINOR: http-act: initialize http fmt head earlier
2022-08-23haproxy: updated to 2.6.4adam2-6/+6
2.6.4 - BUG/MINOR: ssl/cli: error when the ca-file is empty - BUG/MAJOR: mworker: fix infinite loop on master with no proxies. 2.6.3 - BUG/MINOR: sockpair: wrong return value for fd_send_uxst() - Revert "BUG/MINOR: peers: set the proxy's name to the peers section name" - DEBUG: fd: split the fd check - MEDIUM: resolvers: continue startup if network is unavailable - BUG/MINOR: mworker: PROC_O_LEAVING used but not updated - BUG/MEDIUM: mux-quic: fix missing EOI flag to prevent streams leaks - MINOR: quic: Congestion control architecture refactoring - MEDIUM: quic: Cubic congestion control algorithm implementation - MINOR: quic: New "quic-cc-algo" bind keyword - BUG/MINOR: quic: loss time limit variable computed but not used - MINOR: quic: Stop looking for packet loss asap - BUG/MAJOR: quic: Useless resource intensive loop qc_ackrng_pkts() - MINOR: quic: Send packets as much as possible from qc_send_app_pkts() - BUG/MEDIUM: queue/threads: limit the number of entries dequeued at once - MINOR: ebtree: add ebmb_lookup_shorter() to pursue lookups - BUG/MEDIUM: pattern: only visit equivalent nodes when skipping versions - BUG/MINOR: mux-quic: prevent crash if conn released during IO callback - CLEANUP: mux-quic: remove useless app_ops is_active callback - BUG/MINOR: mux-quic: do not free conn if attached streams - MINOR: peers: Use a dedicated reconnect timeout when stopping the local peer - BUG/MEDIUM: peers: limit reconnect attempts of the old process on reload - BUG/MINOR: peers: Use right channel flag to consider the peer as connected - BUG/MEDIUM: dns: Properly initialize new DNS session - BUG/MINOR: backend: Don't increment conn_retries counter too early - MINOR: server: Constify source server to copy its settings - REORG: server: Export srv_settings_cpy() function - BUG/MEDIUM: proxy: Perform a custom copy for default server settings - MINOR: peers: Add a warning about incompatible SSL config for the local peer - BUG/MINOR: quic: Missing in flight ack eliciting packet counter decrement - BUG/MEDIUM: quic: Floating point exception in cubic_root() - BUILD: http: silence an uninitialized warning affecting gcc-5 - BUG/MINOR: quic: Avoid sending truncated datagrams - BUG/MINOR: ring/cli: fix a race condition between the writer and the reader - BUG/MEDIUM: sink: Set the sink ref for forwarders created during ring parsing - BUG/MINOR: sink: fix a race condition between the writer and the reader - BUG/MINOR: quic: do not reject datagrams matching minimum permitted size - BUG/MINOR: quic: Missing Initial packet dropping case - MINOR: quic: explicitely ignore sendto error - BUG/MEDIUM: quic: break out of the loop in quic_lstnr_dghdlr - CLEANUP: assorted typo fixes in the code and comments - BUILD: cfgparse: always defined _GNU_SOURCE for sched.h and crypt.h - BUG/MEDIUM: quic: Wrong packet length check in qc_do_rm_hp() - MINOR: quic: Too much useless traces in qc_build_frms() - BUG/MEDIUM: quic: Missing AEAD TAG check after removing header protection - CLEANUP: mux-quic: remove loop on sending frames - BUG/MEDIUM: quic: always remove the connection from the accept list on close - BUG/MEDIUM: poller: use fd_delete() to release the poller pipes - BUG/MEDIUM: task: relax one thread consistency check in task_unlink_wq() - BUILD: stconn: fix build warning at -O3 about possible null sc - BUILD: debug: silence warning on gcc-5 - BUG/MINOR: quic: Possible infinite loop in quic_build_post_handshake_frames() - BUG/MEDIUM: ring: fix too lax 'size' parser - BUG/MINOR: quic: memleak on wrong datagram receipt - MINOR: stick-table: Add table_expire() and table_idle() new converters - BUG/MEDIUM: http-ana: fix crash or wrong header deletion by http-restrict-req-hdr-names - MINOR: applet: add a function to reset the svcctx of an applet - BUG/MEDIUM: cli: always reset the service context between commands - BUG/MEDIUM: mux-h2: do not fiddle with ->dsi to indicate demux is idle - BUG/MAJOR: log-forward: Fix log-forward proxies not fully initialized - BUG/MAJOR: log-forward: Fix ssl layer not initialized on bind even if configured
2022-07-25haproxy: updated to 2.6.2adam3-32/+10
2.6.2 - MEDIUM: mux-h2: try to coalesce outgoing WINDOW_UPDATE frames - BUG/MINOR: ssl: Do not look for key in extra files if already in pem - BUG/MINOR: http-ana: Set method to HTTP_METH_OTHER when an HTTP txn is created - BUG/MINOR: http-fetch: Use integer value when possible in "method" sample fetch - MINOR: fd: add a new FD_DISOWN flag to prevent from closing a deleted FD - BUG/MEDIUM: ssl/fd: unexpected fd close using async engine - BUILD: Makefile: Add Lua 5.4 autodetect - CI: re-enable gcc asan builds - MINOR: fd: Add BUG_ON checks on fd_insert() - BUG/MINOR: peers/config: always fill the bind_conf's argument - BUG/MINOR: http-check: Preserve headers if not redefined by an implicit rule - BUG/MINOR: http-act: Properly generate 103 responses when several rules are used - BUG/MINOR: peers: fix possible NULL dereferences at config parsing - BUG/MINOR: http-htx: Fix scheme based normalization for URIs wih userinfo - MINOR: http: Add function to get port part of a host - MINOR: http: Add function to detect default port - BUG/MEDIUM: h1: Improve authority validation for CONNCET request - MINOR: http-htx: Use new HTTP functions for the scheme based normalization - BUG/MEDIUM: http-fetch: Don't fetch the method if there is no stream - REGTEESTS: filters: Fix CONNECT request in random-forwarding script - BUG/MINOR: mux-h1: Be sure to commit htx changes in the demux buffer - BUG/MEDIUM: http-ana: Don't wait to have an empty buf to switch in TUNNEL state - BUG/MEDIUM: mux-h1: Handle connection error after a synchronous send - MEDIUM: mworker: set the iocb of the socketpair without using fd_insert() - BUG/MINOR: quic: Missing acknowledgments for trailing packets - BUG/MINOR: quic: Wrong reuse of fulfilled dgram RX buffer - BUG/MAJOR: quic: Big RX dgrams leak when fulfilling a buffer - BUG/MAJOR: quic: Big RX dgrams leak with POST requests - BUILD: quic+h3: 32-bit compilation errors fixes - BUG/MINOR: quic: Dropped packets not counted (with RX buffers full) - MINOR: quic: Add new stats counter to diagnose RX buffer overrun - MINOR: quic: Duplicated QUIC_RX_BUFSZ definition - MINOR: task: Add tasklet_wakeup_after() - MINOR: quic: Improvements for the datagrams receipt - MINOR: quic: Increase the QUIC connections RX buffer size (upto 64Kb) - MINOR: ncbuf: implement ncb_is_fragmented() - BUG/MINOR: mux-quic: do not signal FIN if gap in buffer - MINOR: h3: add h3c pointer into h3s instance - MINOR: h3: handle errors on HEADERS parsing/QPACK decoding - MINOR: qpack: properly handle invalid dynamic table references - CLEANUP: h2: Typo fix in h2_unsubcribe() traces - BUG/MEDIUM: mux-quic: fix server chunked encoding response - BUG/MINOR: quic: fix closing state on NO_ERROR code sent - BUG/MEDIUM: cli/threads: make "show threads" more robust on applets - BUG/MINOR: debug: enter ha_panic() only once - BUG/MEDIUM: tools: avoid calling dlsym() in static builds - BUILD: makefile: Fix install(1) handling for OpenBSD/NetBSD/Solaris/AIX - BUG/MEDIUM: tools: avoid calling dlsym() in static builds (try 2) - MINOR: resolvers: resolvers_destroy() deinit and free a resolver - BUG/MINOR: resolvers: shut off the warning for the default resolvers - BUG/MINOR: ssl: allow duplicate certificates in ca-file directories - BUG/MINOR: tools: fix statistical_prng_range()'s output range - BUG/MINOR: quic: do not send CONNECTION_CLOSE_APP in initial/handshake - BUG/MINOR: mworker/cli: relative pid prefix not validated anymore - BUG/MAJOR: mux_quic: fix invalid PROTOCOL_VIOLATION on POST data overlap - BUG/MEDIUM: mworker: proc_self incorrectly set crashes upon reload - BUILD: add detection for unsupported compiler models - BUG/MEDIUM: stconn: Only reset connect expiration when processing backend side - BUILD: quic: fix anonymous union for gcc-4.4 - BUG/MINOR: backend: Fallback on RR algo if balance on source is impossible
2022-07-01haproxy: updated to 2.6.1adam2-6/+6
2.6.1 - BUG/MINOR: ssl_ckch: Free error msg if commit changes on a cert entry fails - BUG/MINOR: ssl_ckch: Free error msg if commit changes on a CA/CRL entry fails - BUG/MEDIUM: ssl_ckch: Don't delete a cert entry if it is being modified - BUG/MEDIUM: ssl_ckch: Don't delete CA/CRL entry if it is being modified - BUG/MINOR: ssl_ckch: Don't duplicate path when replacing a cert entry - BUG/MINOR: ssl_ckch: Don't duplicate path when replacing a CA/CRL entry - BUG/MEDIUM: ssl_ckch: Rework 'commit ssl cert' to handle full buffer cases - BUG/MEDIUM: ssl_ckch: Rework 'commit ssl ca-file' to handle full buffer cases - BUG/MEDIUM: ssl/crt-list: Rework 'add ssl crt-list' to handle full buffer cases - BUG/MEDIUM: httpclient: Don't remove HTX header blocks before duplicating them - BUG/MEDIUM: httpclient: Rework CLI I/O handler to handle full buffer cases - MEDIUM: http-ana: Always report rewrite failures as PRXCOND in logs - MEDIUM: httpclient: Don't close CLI applet at the end of a response - REGTESTS: abortonclose: Add a barrier to not mix up log messages - REGTESTS: http_request_buffer: Increase client timeout to wait "slow" clients - BUG/MINOR: ssl_ckch: Use right type for old entry in show_crlfile_ctx - BUG/MINOR: ssl_ckch: Dump CRL transaction only once if show command yield - BUG/MINOR: ssl_ckch: Dump CA transaction only once if show command yield - BUG/MINOR: ssl_ckch: Dump cert transaction only once if show command yield - BUG/MINOR: ssl_ckch: Init right field when parsing "commit ssl crl-file" cmd - BUG/MINOR: ssl_ckch: Fix possible uninitialized value in show_cert I/O handler - BUG/MINOR: ssl_ckch: Fix possible uninitialized value in show_cafile I/O handler - BUG/MINOR: ssl_ckch: Fix possible uninitialized value in show_crlfile I/O handler - REGTESTS: http_abortonclose: Extend supported versions - REGTESTS: restrict_req_hdr_names: Extend supported versions - BUILD: compiler: implement unreachable for older compilers too - BUG/MEDIUM: mailers: Set the object type for check attached to an email alert - BUG/MINOR: trace: Test server existence for health-checks to get proxy - BUG/MINOR: checks: Properly handle email alerts in trace messages - REGTESTS: healthcheckmail: Update the test to be functionnal again - REGTESTS: healthcheckmail: Relax health-check failure condition - BUG/MINOR: h3: fix frame type definition - BUG/MINOR: cli/stats: add missing trailing LF after JSON outputs - BUG/MINOR: server: do not enable DNS resolution on disabled proxies - BUG/MINOR: cli/stats: add missing trailing LF after "show info json" - BUG/MEDIUM: mux-quic: fix flow control connection Tx level - BUG/MINOR: mux-quic: fix memleak on frames rejected by transport - BUG/MINOR: tcp-rules: Make action call final on read error and delay expiration - BUG/MEDIUM: stconn: Don't wakeup applet for send if it won't consume data - BUG/MEDIUM: cli: Notify cli applet won't consume data during request processing - BUG/MEDIUM: mux-quic: fix segfault on flow-control frame cleanup - BUG/MINOR: qpack: support header litteral name decoding - MINOR: qpack: add comments and remove a useless trace - BUG/MINOR: h3/qpack: deal with too many headers - BUG/BUILD: h3: fix wrong label name - BUG/MINOR: quic: Stop hardcoding Retry packet Version field - BUG/MINOR: quic: Wrong PTO calculation - BUG/MINOR: task: fix thread assignment in tasklet_kill() - BUG/MEDIUM: stream: Properly handle destructive client connection upgrades - MINOR: stream: Rely on stconn flags to abort stream destructive upgrade - BUG/MINOR: log: Properly test connection retries to fix dontlog-normal option - BUG/MINOR: quic: Unexpected half open connection counter wrapping - BUG/MINOR: quic_stats: Duplicate "quic_streams_data_blocked_bidi" field name - BUG/MINOR: quic: purge conn Rx packet list on release - BUG/MINOR: quic: free rejected Rx packets - BUG/MEDIUM: ssl/cli: crash when crt inserted into a crt-list - BUG/MINOR: quic: Acknowledgement must be forced during handshake - BUG/MEDIUM: mworker: use default maxconn in wait mode - REGTESTS: ssl: add the same cert for client/server
2022-06-17haproxy: updated to 2.6.0adam5-16/+15
2.6.0 - DOC: Fix formatting in configuration.txt to fix dconv - CLEANUP: tcpcheck: Remove useless test on the stream-connector in tcpcheck_main - CLEANUP: muxes: Consider stream's sd as defined in .show_fd callback functions - MINOR: quic: Ignore out of packet padding. - CLEANUP: quic: Useless QUIC_CONN_TX_BUF_SZ definition - CLEANUP: quic: No more used handshake output buffer - MINOR: quic: QUIC transport parameters split. - MINOR: quic: Transport parameters dump - DOC: quic: Update documentation for QUIC Retry - MINOR: quic: Tunable "max_idle_timeout" transport parameter - MINOR: quic: Tunable "initial_max_streams_bidi" transport parameter - MINOR: quic: Clarifications about transport parameters value - MINOIR: quic_stats: add QUIC connection errors counters - BUG/MINOR: quic: Largest RX packet numbers mixing - MINOR: quic_stats: Add transport new counters (lost, stateless reset, drop) - DOC: quic: Documentation update for QUIC - MINOR: quic: Connection TX buffer setting renaming. - MINOR: h3: Add a statistics module for h3 - MINOR: quic: Send STOP_SENDING frames if mux is released - MINOR: quic: Do not drop packets with RESET_STREAM frames - BUG/MINOR: qpack: fix buffer API usage on prefix integer encoding - BUG/MINOR: qpack: support bigger prefix-integer encoding - BUG/MINOR: h3: do not report bug on unknown method - SCRIPTS: add make-releases-json to recreate a releases.json file in download dirs - SCRIPTS: make publish-release try to launch make-releases-json - MINOR: htx: add an unchecked version of htx_get_head_blk() - BUILD: htx: use the unchecked version of htx_get_head_blk() where needed - BUILD: quic: use inttypes.h instead of stdint.h - DOC: internal: remove totally outdated diagrams - DOC: remove the outdated ROADMAP file - DOC: add maintainers for QUIC and HTTP/3 - MINOR: h3: define h3 trace module - MINOR: h3: add traces on frame recv - MINOR: h3: add traces on frame send - MINOR: h3: add traces on h3s init/end - EXAMPLES: remove completely outdated acl-content-sw.cfg - BUILD: makefile: reorder objects by build time - DOC: fix a few spelling mistakes in the docs - BUG/MEDIUM: peers/cli: fix "show peers" crash - CLEANUP: peers/cli: stop misusing the appctx local variable - CLEANUP: peers/cli: make peers_dump_peer() take an appctx instead of an stconn - BUG/MINOR: peers: set the proxy's name to the peers section name - MINOR: server: indicate when no address was expected for a server - BUG/MINOR: peers: detect and warn on init_addr/resolvers/check/agent-check - DOC: peers: indicate that some server settings are not usable - DOC: peers: clarify when entry expiration date is renewed. - DOC: peers: fix port number and addresses on new peers section format - DOC: gpc/gpt: add commments of gpc/gpt array definitions on stick tables. - DOC: install: update supported OpenSSL versions in the INSTALL doc - MINOR: ncbuf: adjust ncb_data with NCBUF_NULL - BUG/MINOR: h3: fix frame demuxing - BUG/MEDIUM: h3: fix H3_EXCESSIVE_LOAD when receiving H3 frame header only - BUG/MINOR: quic: Fix QUIC_EV_CONN_PRSAFRM event traces - CLEANUP: quic: remove useless check on local UNI stream reception - BUG/MINOR: qpack: do not consider empty enc/dec stream as error - DOC: intro: adjust the numbering of paragrams to keep the output ordered - MINOR: version: mention that it's LTS now.
2022-05-17haproxy: updated to 2.5.7adam2-6/+6
2.5.7 - BUILD: compiler: properly distinguish weak and global symbols - MINOR: connection: Add way to disable active connection closing during soft-stop - BUG/MEDIUM: http-ana: Fix memleak in redirect rules with ignore-empty option - BUG/MINOR: resolvers: Fix memory leak in resolvers_deinit() - BUG/MINOR: pools: make sure to also destroy shared pools in pool_destroy_all() - MINOR: ssl: add a new global option "tune.ssl.hard-maxrecord" - BUG/MEDIUM: httpclient: Fix loop consuming HTX blocks from the response channel - CI: github actions: update LibreSSL to 3.5.2 - SCRIPTS: announce-release: add URL of dev packages - BUG/MEDIUM: mux-fcgi: Be sure to never set EOM flag on an empty HTX message - BUG/MEDIUM: mux-h1: Be able to handle trailers when C-L header was specified - BUG/MAJOR: dns: multi-thread concurrency issue on UDP socket - BUG/MINOR: mux-h2: mark the stream as open before processing it not after - MINOR: mux-h2: report a trace event when failing to create a new stream - DOC: config: Update doc for PR/PH session states to warn about rewrite failures - BUG/MINOR: tcp/http: release the expr of set-{src,dst}[-port] - BUG/MINOR: startup: usage() when no -cc arguments - BUG/MEDIUM: resolvers: make "show resolvers" properly yield - BUG/MEDIUM: cli: make "show cli sockets" really yield - BUG/MINOR: proxy/cli: don't enumerate internal proxies on "show backend" - BUG/MINOR: map/cli: protect the backref list during "show map" errors - BUG/MINOR: map/cli: make sure patterns don't vanish under "show map"'s init - BUG/MEDIUM: ssl/cli: fix yielding in show_cafile_detail - BUG/MINOR: ssl/cli: fix "show ssl ca-file/crl-file" not to mix cli+ssl contexts - BUG/MINOR: ssl/cli: fix "show ssl ca-file <name>" not to mix cli+ssl contexts - BUG/MINOR: ssl/cli: fix "show ssl crl-file" not to mix cli+ssl contexts - BUG/MINOR: ssl/cli: fix "show ssl cert" not to mix cli+ssl contexts - DOC: fix typo "ant" for "and" in INSTALL - CI: dynamically determine actual version of h2spec - BUG/MINOR: ssl: Fix typos in crl-file related CLI commands - BUILD: ssl: work around bogus warning in gcc 12's -Wformat-truncation - BUILD: debug: work around gcc-12 excessive -Warray-bounds warnings - BUILD: listener: shut report of possible null-deref in listener_accept() - BUG/MEDIUM: ssl: fix the gcc-12 broken fix :-( - DOC: install: update gcc version requirements - BUG/MINOR: server: Make SRV_STATE_LINE_MAXLEN value from 512 to 2kB (2000 bytes). - BUG/MEDIUM: lua: fix argument handling in data removal functions - DOC/MINOR: fix typos in the lua-api document - BUG/MINOR: conn_stream: do not confirm a connection from the frontend path - CLEANUP: applet: make appctx_new() initialize the whole appctx - BUG/MEDIUM: wdt: don't trigger the watchdog when p is unitialized - MINOR: mux-h1: Add global option accpet payload for any HTTP/1.0 requests - CLEANUP: mux-h1: Fix comments and error messages for global options
2022-04-26haproxy: updated to 2.5.6adam2-6/+6
2.5.6 - BUG/MINOR: tools: fix url2sa return value with IPv4 - BUG/MINOR: httpclient/lua: stuck when closing without data - MINOR: server: export server_parse_sni_expr() function - BUG/MINOR: httpclient: send the SNI using the host header - BUILD: httpclient: fix build without SSL - BUG/MINOR: server/ssl: free the SNI sample expression - BUG/MINOR: httpclient: only check co_data() instead of HTTP_MSG_DATA - BUG/MINOR: httpclient: process the response when received before the end of the request - BUG/MINOR: httpclient: CF_SHUTW_NOW should be tested with channel_is_empty() - CI: github actions: switch to LibreSSL-3.5.1 - BUG/MEDIUM: mux-h1: only turn CO_FL_ERROR to CS_FL_ERROR with empty ibuf - BUG/MEDIUM: stream-int: do not rely on the connection error once established - BUG/MEDIUM: trace: avoid race condition when retrieving session from conn->owner - MEDIUM: mux-h2: slightly relax timeout management rules - BUG/MEDIUM: mux-h2: make use of http-request and keep-alive timeouts - BUG/MINOR: rules: Initialize the list element when allocating a new rule - MEDIUM: mqtt: support mqtt_is_valid and mqtt_field_value converters for MQTTv3.1 - DOC: config: Explictly add supported MQTT versions - BUG/MINOR: tools: url2sa reads too far when no port nor path - DOC: reflect H2 timeout changes - BUG/MEDIUM: mux-fcgi: Properly handle return value of headers/trailers parsing - BUG/MEDIUM: mux-h1: Properly detect full buffer cases during message parsing - REGTESTS: ssl: use X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY for cert check - BUG/MINOR: samples: add missing context names for sample fetch functions - BUG/MINOR: cli/stream: fix "shutdown session" to iterate over all threads - BUG/MAJOR: mux_pt: always report the connection error to the conn_stream - DOC: remove double blanks in configuration.txt - CI: github actions: update OpenSSL to 3.0.2 - BUG/MINOR: ssl/cli: Remove empty lines from CLI output - BUG/MINOR: httpclient: end callback in applet release - BUG/MINOR: fcgi-app: Don't add C-L header on response to HEAD requests - BUG/MEDIUM: stats: Be sure to never set EOM flag on an empty HTX message - BUG/MEDIUM: hlua: Don't set EOM flag on an empty HTX message in HTTP applet - BUG/MEDIUM: promex: Be sure to never set EOM flag on an empty HTX message - BUG/MEDIUM: mux-h1: Set outgoing message to DONE when payload length is reached - BUG/MEDIUM: http-conv: Fix url_enc() to not crush const samples - BUG/MEDIUM: http-act: Don't replace URI if path is not found or invalid - BUG/MINOR: opentracing: setting the return value in function flt_ot_var_set() - BUG/BUILD: opentracing: fixed OT_DEFINE variable setting - EXAMPLES: opentracing: refined shell scripts for testing filter performance - DOC: opentracing: corrected comments in function descriptions - CLEANUP: opentracing: removed unused function flt_ot_var_unset() - CLEANUP: opentracing: removed unused function flt_ot_var_get() - Revert "MINOR: opentracing: change the scope of the variable 'ot.uuid' from 'sess' to 'txn'" - MINOR: opentracing: only takes the variables lock on shared entries - CLEANUP: opentracing: added flt_ot_smp_init() function - CLEANUP: opentracing: added variable to store variable length - MINOR: opentracing: improved normalization of context variable names - DEBUG: opentracing: show return values of all functions in the debug output - CLEANUP: opentracing: added FLT_OT_PARSE_INVALID_enum enum - DEBUG: opentracing: display the contents of the err variable after setting - MAJOR: opentracing: reenable usage of vars to transmit opentracing context - Revert "BUILD: opentracing: display warning in case of using OT_USE_VARS at compile time" - MEDIUM: global: Add a "close-spread-time" option to spread soft-stop on time window - CI: Update to actions/checkout@v3 - CI: Update to actions/cache@v3 - BUG/MINOR: stats: define the description' background color in dark color scheme - CI: github actions: disable -Wno-deprecated - CI: cirrus: switch to FreeBSD-13.0 - BUG/MINOR: mux-h2: do not send GOAWAY if SETTINGS were not sent - BUG/MINOR: cache: do not display expired entries in "show cache" - BUILD: debug: mark the __start_mem_stats/__stop_mem_stats symbols as weak - BUG/MINOR: mux-h2: do not use timeout http-keep-alive on backend side - BUG/MINOR: mux-h2: use timeout http-request as a fallback for http-keep-alive - BUG/MEDIUM: mux-h1: Don't request more room on partial trailers - BUILD: sched: workaround crazy and dangerous warning in Clang 14 - BUILD: compiler: use a more portable set of asm(".weak") statements - BUG/MEDIUM: stream: do not abort connection setup too early - BUG/MEDIUM: fcgi-app: Use http_msg flags to know if C-L header can be added - BUG/MEDIUM: compression: Don't forget to update htx_sl and http_msg flags - SCRIPTS: announce-release: update the doc's URL - DOC: lua: update a few doc URLs - SCRIPTS: announce-release: add shortened links to pending issues - BUILD: calltrace: fix wrong include when building with TRACE=1 - BUG/MINOR: cache: Disable cache if applet creation fails - BUG/MAJOR: connection: Never remove connection from idle lists outside the lock - MINOR: task: add a new task_instant_wakeup() function - MEDIUM: queue: use tasklet_instant_wakeup() to wake tasks - DOC: remove my name from the config doc - BUG/MINOR: rules: Forbid captures in defaults section if used by a backend - BUG/MEDIUM: rules: Be able to use captures defined in defaults section - BUG/MINOR: rules: Fix check_capture() function to use the right rule arguments - Revert "CI: github actions: disable -Wno-deprecated" - BUG/MINOR: sample: add missing use_backend/use-server contexts in smp_resolve_args - BUG/MINOR: connection: "connection:close" header added despite 'close-spread-time' - REGTESTS: fix the race conditions in be2dec.vtc ad field.vtc
2022-04-05haproxy: updated to 2.5.5adam2-7/+7
2.5.5 - CI: github actions: add the output of $CC -dM -E- - CI: github actions: use cache for OpenTracing - CI: refactor OpenTracing build script - CI: github actions: use cache for SSL libs - CI: Consistently use actions/checkout@v2 - BUILD: atomic: make the old HA_ATOMIC_LOAD() support const pointers - BUILD: tree-wide: mark a few numeric constants as explicitly long long - BUG/MEDIUM: mux-fcgi: Don't rely on SI src/dst addresses for FCGI health-checks - BUG/MEDIUM: htx: Fix a possible null derefs in htx_xfer_blks() - REGTESTS: fix the race conditions in normalize_uri.vtc - REGTESTS: fix the race conditions in secure_memcmp.vtc - BUG/MEDIUM: httpclient/lua: infinite appctx loop with POST - BUG/MINOR: pool: always align pool_heads to 64 bytes - BUG/MEDIUM: pools: fix ha_free() on area in the process of being freed - BUILD: fix kFreeBSD build. - MINOR: pools: add a new global option "no-memory-trimming" - MINOR: stats: Add dark mode support for socket rows - BUILD: pools: fix backport of no-memory-trimming on non-linux OS - BUILD: fix recent build breakage of freebsd caused by kFreeBSD build fix - BUG/MINOR: add missing modes in proxy_mode_str() - BUG/MINOR: cli: shows correct mode in "show sess" - BUG/MINOR: httpclient: Set conn-stream/channel EOI flags at the end of request - BUG/MINOR: hlua: Set conn-stream/channel EOI flags at the end of request - BUG/MINOR: stats: Set conn-stream/channel EOI flags at the end of request - BUG/MINOR: cache: Set conn-stream/channel EOI flags at the end of request - BUG/MINOR: promex: Set conn-stream/channel EOI flags at the end of request - BUG/MEDIUM: stream: Use the front analyzers for new listener-less streams - DEBUG: cache: Update underlying buffer when loading HTX message in cache applet - BUG/MEDIUM: mcli: Properly handle errors and timeouts during reponse processing - DEBUG: stream: Add the missing descriptions for stream trace events - DEBUG: stream: Fix stream trace message to print response buffer state - BUG/MAJOR: mux-pt: Always destroy the backend connection on detach - BUG/MINOR: session: fix theoretical risk of memleak in session_accept_fd() - BUG/MEDIUM: httpclient: don't consume data before it was analyzed - CLEANUP: htx: remove unused co_htx_remove_blk() - BUG/MINOR: httpclient: consume partly the blocks when necessary - BUG/MINOR: httpclient: remove the UNUSED block when parsing headers - BUG/MEDIUM: httpclient: must manipulate head, not first - REGTESTS: fix the race conditions in be2hex.vtc
2022-03-03haproxy: updated to 2.5.4adam2-6/+6
2.5.4 - BUG/MEDIUM: htx: Be sure to have a buffer to perform a raw copy of a message - BUG/MEDIUM: mux-h1: Don't wake h1s if mux is blocked on lack of output buffer - BUG/MAJOR: mux-h2: Be sure to always report HTX parsing error to the app layer - DOC: Fix usage/examples of deprecated ACLs - BUG/MINOR: proxy: preset the error message pointer to NULL in parse_new_proxy() - REGTESTS: fix the race conditions in 40be_2srv_odd_health_checks - CI: github: enable pool debugging by default - BUG/MEDIUM: stream: Abort processing if response buffer allocation fails
2022-02-21haproxy: updated to 2.5.3adam3-13/+13
2.5.3 - MINOR: sock: move the unused socket cleaning code into its own function - BUG/MEDIUM: mworker: close unused transferred FDs on load failure - BUG/MINOR: mworker: fix a FD leak of a sockpair upon a failed reload - BUG/MINOR: sink: Use the right field in appctx context in release callback - BUG/MEDIUM: resolvers: Really ignore trailing dot in domain names - BUG/MEDIUM: fd: always align fdtab[] to 64 bytes - BUG/MAJOR: compiler: relax alignment constraints on certain structures - MINOR: httpclient: Don't limit data transfer to 1024 bytes - BUG/MINOR: httpclient: reinit flags in httpclient_start() - BUG/MINOR: mailers: negotiate SMTP, not ESMTP - BUG/MINOR: ssl: Add missing return value check in ssl_ocsp_response_print - BUG/MINOR: ssl: Fix leak in "show ssl ocsp-response" CLI command - BUG/MINOR: ssl: Missing return value check in ssl_ocsp_response_print - CLEANUP: httpclient/cli: fix indentation alignment of the help message - BUG/MINOR: tools: url2sa reads ipv4 too far - BUG/MEDIUM: httpclient: limit transfers to the maximum available room - DEBUG: buffer: check in __b_put_blk() whether the buffer room is respected 2.5.2 - BUG/MEDIUM: connection: properly leave stopping list on error - BUG/MEDIUM: htx: Adjust length to add DATA block in an empty HTX buffer - BUG/MINOR: httpclient: don't send an empty body - BUG/MINOR: httpclient: set default Accept and User-Agent headers - BUG/MINOR: httpclient/lua: don't pop the lua stack when getting headers - BUILD/MINOR: fix solaris build with clang. - BUG/MEDIUM: server: avoid changing healthcheck ctx with set server ssl - DOC: management: mark "set server ssl" as deprecated - MEDIUM: cli: yield between each pipelined command - MINOR: channel: add new function co_getdelim() to support multiple delimiters - BUG/MINOR: cli: avoid O(bufsize) parsing cost on pipelined commands - MEDIUM: h2/hpack: emit a Dynamic Table Size Update after settings change - BUG/MEDIUM: cli: Never wait for more data on client shutdown - BUG/MEDIUM: mcli: do not try to parse empty buffers - BUG/MEDIUM: mcli: always realign wrapping buffers before parsing them - BUG/MINOR: stream: make the call_rate only count the no-progress calls - DEBUG: cli: add a new "debug dev fd" expert command - BUILD: debug/cli: condition test of O_ASYNC to its existence - DEBUG: pools: add new build option DEBUG_POOL_INTEGRITY - REGTESTS: ssl: Fix ssl_errors regtest with OpenSSL 1.0.2 - BUG/MEDIUM: mworker: don't lose the stats socket on failed reload - BUG/MINOR: mworker: does not add the -sf in wait mode - BUG/MINOR: pools: always flush pools about to be destroyed - DEBUG: pools: add extra sanity checks when picking objects from a local cache - DEBUG: pools: let's add reverse mapping from cache heads to thread and pool - DEBUG: pools: replace the link pointer with the caller's address on pool_free() - BUG/MAJOR: sched: prevent rare concurrent wakeup of multi-threaded tasks - BUG/MINOR: mworker: does not erase the pidfile upon reload - DEBUG: fd: make sure we never try to insert/delete an impossible FD number - MINOR: listener: replace the listener's spinlock with an rwlock - BUG/MEDIUM: listener: read-lock the listener during accept() - BUG/MINOR: httpclient: Revisit HC request and response buffers allocation - BUG/MEDIUM: httpclient: Xfer the request when the stream is created - BUG/MINOR: ssl: Remove empty lines from "show ssl ocsp-response <id>" output - BUG/MINOR: jwt: Double free in deinit function - BUG/MINOR: jwt: Missing pkey free during cleanup - BUG/MINOR: jwt: Memory leak if same key is used in multiple jwt_verify calls - BUG/MINOR: httpclient/cli: display junk characters in vsn - BUG/MAJOR: http/htx: prevent unbounded loop in http_manage_server_side_cookies - BUG/MAJOR: spoe: properly detach all agents when releasing the applet - REGTESTS: server: close an occasional race on dynamic_server_ssl.vtc - REGTESTS: peers: leave a bit more time to peers to synchronize - BUG/MEDIUM: h2/hpack: fix emission of HPACK DTSU after settings change - BUG/MINOR: mux-h2: update the session's idle delay before creating the stream
2022-01-31haproxy: updated to 2.5.1adam3-24/+6
2.5.1 - BUG/MINOR: cache: Fix loop on cache entries in "show cache" - BUG/MINOR: httpclient: allow to replace the host header - BUG/MINOR: lua: don't expose internal proxies - BUG/MINOR: lua: remove loop initial declarations - BUG/MEDIUM: cli: Properly set stream analyzers to process one command at a time - BUILD: evports: remove a leftover from the dead_fd cleanup - BUG/MINOR: vars: Fix the set-var and unset-var converters - BUG/MINOR: server: Don't rely on last default-server to init server SSL context - BUG/MEDIUM: resolvers: Detach query item on response error - BUG/MAJOR: segfault using multiple log forward sections. - BUG/MEDIUM: h1: Properly reset h1m flags when headers parsing is restarted - BUG/MEDIUM: mworker: FD leak of the eventpoll in wait mode - BUG/MINOR: mworker: deinit of thread poller was called when not initialized - MINOR: mux-h1: Improve H1 traces by adding info about http parsers - BUILD: bug: Fix error when compiling with -DDEBUG_STRICT_NOCRASH - BUG/MEDIUM: sample: Fix memory leak in sample_conv_jwt_member_query - MINOR: cli: "show version" displays the current process version - BUILD: tree-wide: avoid warnings caused by redundant checks of obj_types - IMPORT: slz: use the correct CRC32 instruction when running in 32-bit mode - MINOR: http-rules: Add capture action to http-after-response ruleset - BUG/MINOR: cli/server: Don't crash when a server is added with a custom id - DOC: spoe: Clarify use of the event directive in spoe-message section - DOC: config: Specify %Ta is only available in HTTP mode - DOC: config: retry-on list is space-delimited - DOC: config: fix error-log-format example - BUG/MEDIUM: mworker/cli: crash when trying to access an old PID in prompt mode - MINOR: ssl: Remove empty lines from "show ssl ocsp-response" output - MINOR: pools: work around possibly slow malloc_trim() during gc - BUG/MEDIUM: backend: fix possible sockaddr leak on redispatch - BUG/MEDIUM: peers: properly skip conn_cur from incoming messages - BUG/MEDIUM: mux-h1: Fix splicing by properly detecting end of message - BUG/MINOR: mux-h1: Fix splicing for messages with unknown length - BUILD: ssl: unbreak the build with newer libressl - DOC: fix misspelled keyword "resolve_retries" in resolvers - DEBUG: ssl: make sure we never change a servername on established connections - BUILD: opentracing: display warning in case of using OT_USE_VARS at compile time - BUG/MEDIUM: ssl: initialize correctly ssl w/ default-server - REGTESTS: ssl: fix ssl_default_server.vtc - MINOR: compat: detect support for dl_iterate_phdr() - MINOR: debug: add ability to dump loaded shared libraries - MINOR: debug: add support for -dL to dump library names at boot - MINOR: proxy: add option idle-close-on-response - MINOR: cpuset: switch to sched_setaffinity for FreeBSD 14 and above. - BUILD: makefile: add -Wno-atomic-alignment to work around clang abusive warning - CI: Github Actions: do not show VTest failures if build failed - BUG/MINOR: ssl: free the fields in srv->ssl_ctx - BUG/MEDIUM: ssl: free the ckch instance linked to a server - REGTESTS: ssl: update of a crt with server deletion - BUILD/MINOR: cpuset FreeBSD 14 build fix. - CI: github actions: update OpenSSL to 3.0.1 - BUILD/MINOR: tools: solaris build fix on dladdr. - BUG/MINOR: cli: fix _getsocks with musl libc - BUG/MEDIUM: http-ana: Preserve response's FLT_END analyser on L7 retry - BUG/MEDIUM: mworker: don't use _getsocks in wait mode - BUG/MINOR: ssl: Store client SNI in SSL context in case of ClientHello error - BUG/MAJOR: mux-h1: Don't decrement .curr_len for unsent data - BUILD: cpuset: fix build issue on macos introduced by previous change - CI: github actions: clean default step conditions
2021-12-09haproxy: Various build fixes.jperkin7-1/+122
2021-11-29haproxy: updated to 2.5.0adam2-6/+6
2.5.0 - BUILD: SSL: add quictls build to scripts/build-ssl.sh - BUILD: SSL: add QUICTLS to build matrix - CLEANUP: sock: Wrap `accept4_broken = 1` into additional parenthesis - BUILD: cli: clear a maybe-unused warning on some older compilers - BUG/MEDIUM: cli: make sure we can report a warning from a bind keyword - BUG/MINOR: ssl: make SSL counters atomic - CLEANUP: assorted typo fixes in the code and comments - BUG/MINOR: ssl: free correctly the sni in the backend SSL cache - MINOR: version: mention that it's stable now
2021-11-04haproxy: updated to 2.4.8adam2-6/+6
2.4.8 - CLEANUP: server: always include the storage for SSL settings - CLEANUP: sample: rename sample_conv_var2smp() to *_sint - CLEANUP: sample: uninline sample_conv_var2smp_str() - MINOR: sample: provide a generic var-to-sample conversion function - BUG/MEDIUM: sample: properly verify that variables cast to sample - BUG/MEDIUM: mux_h2: Handle others remaining read0 cases on partial frames - DOC: configuration: add clarification on escaping in keyword arguments - MINOR: initcall: Rename __GLOBL and __GLOBL1. - BUG/MINOR: http-ana: Don't eval front after-response rules if stopped on back - BUG/MINOR: sample: Fix 'fix_tag_value' sample when waiting for more data - BUG/MEDIUM: cpuset: fix cpuset size for FreeBSD - BUG/MEDIUM: stream: Keep FLT_END analyzers if a stream detects a channel error - Revert "CLEANUP: server: always include the storage for SSL settings" - BUG/MEDIUM: tcpcheck: Properly catch early HTTP parsing errors - BUG/MAJOR: dns: tcp session can remain attached to a list after a free - BUG/MAJOR: dns: attempt to lock globaly for msg waiter list instead of use barrier - MINOR: resolvers: fix the resolv_str_to_dn_label() API about trailing zero - BUG/MEDIUM: resolver: make sure to always use the correct hostname length - BUG/MINOR: resolvers: do not reject host names of length 255 in SRV records - MINOR: resolvers: fix the resolv_dn_label_to_str() API about trailing zero - BUG/MEDIUM: resolvers: fix truncated TLD consecutive to the API fix - BUG/MEDIUM: resolvers: use correct storage for the target address - MINOR: resolvers: merge address and target into a union "data" - BUG/MAJOR: resolvers: add other missing references during resolution removal - BUILD: resolvers: avoid a possible warning on null-deref - BUG/MEDIUM: resolvers: always check a valid item in query_list - BUG/MAJOR: buf: fix varint API post- vs pre- increment - BUG/MINOR: task: do not set TASK_F_USR1 for no reason - BUG/MINOR: mux-h2: do not prevent from sending a final GOAWAY frame - BUG/MEDIUM: lua: fix memory leaks with realloc() on non-glibc systems - MINOR: memprof: report the delta between alloc and free on realloc() - MINOR: memprof: add one pointer size to the size of allocations - BUILD: fix compilation on NetBSD - BUG/MINOR: backend: fix improper insert in avail tree for always reuse - BUILD: atomic: fix build on mac/arm64 - BUG/MINOR: mux-h1: Save shutdown mode if the shutdown is delayed - BUG/MEDIUM: mux-h1: Perform a connection shutdown when the h1c is released - CLEANUP: resolvers: do not export resolv_purge_resolution_answer_records() - CLEANUP: always initialize the answer_list - CLEANUP: resolvers: simplify resolv_link_resolution() regarding requesters - CLEANUP: resolvers: replace all LIST_DELETE with LIST_DEL_INIT - MEDIUM: resolvers: use a kill list to preserve the list consistency - MEDIUM: resolvers: remove the last occurrences of the "safe" argument - BUG/MEDIUM: resolvers: Don't recursively perform requester unlink - BUG/MEDIUM: resolvers: Track api calls with a counter to free resolutions - MINOR: halog: Add -qry parameter allowing to preserve the query string in -uX - DOC: halog: Move the `-qry` parameter into the correct section in help text - MINOR: halog: Rename -qry to -query - CLEANUP: halog: Use consistent indentation in help() - BUG/MINOR: halog: Add missing newlines in die() messages - MINOR: halog: Add support for extracting captures using -hdr - BUG/MEDIUM: http-ana: Drain request data waiting the tarpit timeout expiration - BUG/MINOR: http: Authorization value can have multiple spaces after the scheme - BUG/MEDIUM: stream-int: Block reads if channel cannot receive more data - BUG/MEDIUM: sample: Cumulate frontend and backend sample validity flags - BUG/MINOR: sample: fix backend direction flags consecutive to last fix - DOC: config: Fix alphabetical order of fc_* samples - BUILD/MINOR: cpuset freebsd build fix - MINOR: stream: Improve dump of bogus streams - DOC/peers: some grammar fixes for peers 2.1 spec - SCRIPTS: git-show-backports: re-enable file-based filtering
2021-10-28haproxy: updated to 2.4.7adam2-6/+6
2.4.7 - BUG/MEDIUM: http-ana: Clear request analyzers when applying redirect rule
2021-10-26net: Replace RMD160 checksums with BLAKE2s checksumsnia1-2/+2
All checksums have been double-checked against existing RMD160 and SHA512 hashes Not committed (merge conflicts...): net/radsecproxy/distinfo The following distfiles could not be fetched (fetched conditionally?): ./net/citrix_ica/distinfo citrix_ica-10.6.115659/en.linuxx86.tar.gz ./net/djbdns/distinfo dnscache-1.05-multiple-ip.patch ./net/djbdns/distinfo djbdns-1.05-test28.diff.xz ./net/djbdns/distinfo djbdns-1.05-ignoreip2.patch ./net/djbdns/distinfo djbdns-1.05-multiip.diff ./net/djbdns/distinfo djbdns-cachestats.patch
2021-10-07net: Remove SHA1 hashes for distfilesnia1-2/+1
2021-10-04haproxy: update to 2.4.6.wiz2-7/+7
2021/10/04 : 2.4.6 - BUG/MEDIUM: filters: Fix a typo when a filter is attached blocking the release 2021/10/01 : 2.4.5 - MINOR: lua: Add a flag on lua context to know the yield capability at run time - BUG/MINOR: lua: Yield in channel functions only if lua context can yield - BUG/MINOR: lua: Don't yield in channel.append() and channel.set() - BUG/MINOR: stream: Don't release a stream if FLT_END is still registered - BUG/MEDIUM: http-ana: Reset channels analysers when returning an error - BUG/MINOR: filters: Always set FLT_END analyser when CF_FLT_ANALYZE flag is set - BUG/MINOR: filters: Set right FLT_END analyser depending on channel - BUG/MINOR: systemd: ExecStartPre must use -Ws - BUG/MEDIUM: mux-h1: Remove "Upgrade:" header for requests with payload - MINOR: htx: Skip headers with no value when adding a header list to a message - CLEANUP: mux-h1: Remove condition rejecting upgrade requests with payload - BUG/MEDIUM: stream-int: Don't block SI on a channel policy if EOI is reached - BUG/MINOR: compat: make sure __WORDSIZE is always defined - CLEANUP: pools: factor all malloc_trim() calls into trim_all_pools() - MINOR: pools: automatically disable malloc_trim() with external allocators - MINOR: pools: use mallinfo2() when available instead of mallinfo() - BUG/MAJOR: mux-h1: Don't eval input data if an error was reported - BUG/MINOR: tcpcheck: Improve LDAP response parsing to fix LDAP check - DOC: management: certificate files must be sanitized before injection - BUG/MINOR: connection: prevent null deref on mux cleanup task allocation - BUILD: ist: prevent gcc11 maybe-uninitialized warning on istalloc - BUG/MINOR: cli/payload: do not search for args inside payload - BUG/MINOR: flt-trace: fix an infinite loop when random-parsing is set - BUILD: tools: get the absolute path of the current binary on NetBSD. - MINOR: tools: add FreeBSD support to get_exec_path() - MINOR: proc: setting the process to produce a core dump on FreeBSD. - BUILD: activity: use #ifdef not #if on USE_MEMORY_PROFILING - BUILD/MINOR: defaults: eliminate warning on MAXHOSTNAMELEN with -Wundef - BUILD/MINOR: ssl: avoid a build warning on LIBRESSL_VERSION with -Wundef - IMPORT: slz: silence a build warning with -Wundef - BUILD/MINOR: regex: avoid a build warning on USE_PCRE2 with -Wundef - BUILD: ssl: next round of build warnings on LIBRESSL_VERSION_NUMBER - BUILD: ssl: fix two remaining occurrences of #if USE_OPENSSL - BUILD: tools: properly guard __GLIBC__ with defined() - BUG/MINOR: vars: improve accuracy of the rules used to check expression validity - MINOR: sample: add missing ARGC_ entries - BUG/MINOR: vars: properly set the argument parsing context in the expression - BUG/MINOR: vars: truncate the variable name in error reports about scope. - BUG/MINOR: vars: do not talk about global section in CLI errors for set-var - BUILD: fix dragonfly build again on __read_mostly - BUILD: compiler: fixed a missing test on defined(__GNUC__) - BUILD: halog: fix a -Wundef warning on non-glibc systems - BUILD: threads: fix -Wundef for _POSIX_PRIORITY_SCHEDULING on libmusl - BUG/MINOR: server: allow 'enable health' only if check configured - BUG/MEDIUM: leastconn: fix rare possibility of divide by zero - BUG/MINOR: h1-htx: Fix a typo when request parser is reset - BUG/MINOR: http-ana: increment internal_errors counter on response error - MINOR: server: implement a refcount for dynamic servers - MINOR: global: define MODE_STOPPING - BUG/MINOR: server: do not use refcount in free_server in stopping mode - MINOR: server: return the next srv instance on free_server - BUG/MINOR: stats: use refcount to protect dynamic server on dump - BUG/MEDIUM: mux-h1: Adjust conditions to ask more space in the channel buffer - BUG/MEDIUM: stream-int: Notify stream that the mux wants more room to xfer data - BUG/MEDIUM: stream: Stop waiting for more data if SI is blocked on RXBLK_ROOM - MINOR: stream-int: Set CO_RFL transient/persistent flags apart in si_cs_rcv() - MINOR: htx: Add an HTX flag to know when a message is fragmented - MINOR: htx: Add a function to know if the free space wraps - BUG/MEDIUM: stream-int: Defrag HTX message in si_cs_recv() if necessary - MINOR: stream-int: Notify mux when the buffer is not stuck when calling rcv_buf - BUG/MINOR: mux-h1/mux-fcgi: Sanitize TE header to only send "trailers" - DOC: peers: fix doc "enable" statement on "peers" sections - MINOR: Makefile: add MEMORY_POOLS to the list of DEBUG_xxx options - BUG/MEDIUM: lua: fix wakeup condition from sleep() - BUG/MAJOR: lua: use task_wakeup() to properly run a task once - MINOR: arg: Be able to forbid unresolved args when building an argument list - BUG/MINOR: tcpcheck: Don't use arg list for default proxies during parsing - BUG/MINOR: tcp-rules: Stop content rules eval on read error and end-of-input - MINOR: tasks: catch TICK_ETERNITY with BUG_ON() in __task_queue()
2021-09-08haproxy: Update to 2.4.4.jperkin2-9/+8
The ChangeLog doesn't explicitly mention, but this fixes the CVE-2021-40346 vulnerability as described in: https://www.mail-archive.com/haproxy@formilux.org/msg41114.html While here switch to inserting CFLAGS via CPU_CFLAGS, as that feels a little more appropriate than DEBUG_CFLAGS after re-reading the Makefile. 2021/09/07 : 2.4.4 - BUG/MEDIUM: h2: match absolute-path not path-absolute for :path - REGTESTS: http_upgrade: fix incorrect expectation on TCP->H1->H2 - REGTESTS: abortonclose: after retries, 503 is expected, not close - MINOR: hlua: take the global Lua lock inside a global function - BUG/MINOR: stick-table: fix the sc-set-gpt* parser when using expressions - BUG/MEDIUM: base64: check output boundaries within base64{dec,urldec} - BUG/MINOR: base64: base64urldec() ignores padding in output size check - MINOR: compiler: implement an ONLY_ONCE() macro - BUG/MINOR: lua: use strlcpy2() not strncpy() to copy sample keywords - BUG/MINOR: time: fix idle time computation for long sleeps - MINOR: time: add report_idle() to report process-wide idle time - BUG/MINOR: ebtree: remove dependency on incorrect macro for bits per long - BUG/MINOR threads: Use get_(local|gm)time instead of (local|gm)time - BUG/MINOR: tools: Fix loop condition in dump_text() - CLEANUP: Add missing include guard to signal.h - BUG/MINOR: vars: fix set-var/unset-var exclusivity in the keyword parser - DOC: configuration: remove wrong tcp-request examples in tcp-response - BUG/MINOR: config: reject configs using HTTP with bufsize >= 256 MB - CLEANUP: htx: remove comments about "must be < 256 MB" - BUG/MAJOR: htx: fix missing header name length check in htx_add_header/trailer - Revert "BUG/MINOR: stream-int: Don't block reads in si_update_rx() if chn may receive"
2021-08-31haproxy: Switch to DEBUG_CFLAGS.jperkin1-2/+3
The software depends on compiler flags (-fwrapv) for specific overflow handling, but for some strange reason instead of appending them during the build regardless of what the user has set CFLAGS to, it allows CFLAGS to be overridden and aborts at runtime! Passing in our CFLAGS via DEBUG_CFLAGS, while not ideal, allows them to be properly combined. Fix from goekesmi in joyent/pkgsrc#313. Bump PKGREVISION.
2021-08-20haproxy: updated to 2.4.3adam2-7/+7
2.4.3 - BUILD: http_htx: fix ci compilation error with isdigit for Windows - MINOR: mux_h2: define config to disable h2 websocket support - BUG/MINOR: ssl: Default-server configuration ignored by server - BUILD: add detection of missing important CFLAGS - BUILD: lua: silence a build warning with TCC - BUG/MEDIUM: mworker: do not register an exit handler if exit is expected - BUG/MINOR: mworker: do not export HAPROXY_MWORKER_REEXEC across programs - BUILD/MINOR: memprof fix macOs build. - BUG/MEDIUM: ssl_sample: fix segfault for srv samples on invalid request - BUG/MINOR: stats: Add missing agent stats on servers - BUG/MINOR: check: fix the condition to validate a port-less server - BUG/MINOR: resolvers: Use a null-terminated string to lookup in servers tree - BUG/MINOR: systemd: must check the configuration using -Ws - BUG/MINOR: mux-h1: Obey dontlognull option for empty requests - BUG/MINOR: mux-h2: Obey dontlognull option during the preface - BUG/MINOR: mux-h1: Be sure to swap H1C to splice mode when rcv_pipe() is called - BUG/MEDIUM: mux-h2: Handle remaining read0 cases on partial frames - BUG/MINOR: connection: Add missing error labels to conn_err_code_str - BUG/MEDIUM: connection: close a rare race between idle conn close and takeover - BUG/MEDIUM: pollers: clear the sleeping bit after waking up, not before - BUG/MINOR: select: fix excess number of dead/skip reported - BUG/MINOR: poll: fix abnormally high skip_fd counter - BUG/MINOR: pollers: always program an update for migrated FDs - BUG/MINOR: fd: protect fd state harder against a concurrent takeover - DOC: internals: document the FD takeover process - BUILD: opentracing: fixed build when using pkg-config utility - BUG/MINOR: server: remove srv from px list on CLI 'add server' error - BUG/MINOR: server: update last_change on maint->ready transitions too - MINOR: server: unmark deprecated on enable health/agent cli - ADMIN: dyncookie: implement a simple dynamic cookie calculator - MINOR: spoe: Add a pointer on the filter config in the spoe_agent structure - BUG/MEDIUM: spoe: Create a SPOE applet if necessary when the last one is released - BUG/MINOR: buffer: fix buffer_dump() formatting - BUG/MINOR: tcpcheck: Properly detect pending HTTP data in output buffer - DOC: Improve the lua documentation - DOC: config: Fix 'http-response send-spoe-group' documentation - BUG/MEDIUM: spoe: Fix policy to close applets when SPOE connections are queued - BUG/MEDIUM: cfgcheck: verify existing log-forward listeners during config check - CLEANUP: assorted typo fixes in the code and comments - DOC/MINOR: fix typo in management document - MINOR: http: add a new function http_validate_scheme() to validate a scheme - BUG/MAJOR: h2: verify early that non-http/https schemes match the valid syntax - BUG/MAJOR: h2: verify that :path starts with a '/' before concatenating it - BUG/MAJOR: h2: enforce stricter syntax checks on the :method pseudo-header - BUG/MEDIUM: h2: give :authority precedence over Host - REGTESTS: add a test to prevent h2 desync attacks
2021-07-16haproxy: Only include libatomic if the compiler is gccnia1-2/+3
2021-07-16haproxy: Limit aarch64 libatomic include to NetBSD.jperkin1-2/+2
Fixes build on Darwin/aarch64.
2021-07-08haproxy: updated to 2.4.2adam2-7/+7
2.4.2 - BUG/MINOR: server-state: load SRV resolution only if params match the config - BUG/MINOR: server: Forbid to set fqdn on the CLI if SRV resolution is enabled - BUG/MEDIUM: server/cli: Fix ABBA deadlock when fqdn is set from the CLI - MINOR: resolvers: Clean server in a dedicated function when removing a SRV item - MINOR: resolvers: Remove server from named_servers tree when removing a SRV item - BUG/MEDIUM: resolvers: Add a task on servers to check SRV resolution status - BUG/MINOR: resolvers: Use resolver's lock in resolv_srvrq_expire_task() - BUG/MINOR: server/cli: Fix locking in function processing "set server" command - BUG/MINOR: cache: Correctly handle existing-but-empty 'accept-encoding' header - BUG/MAJOR: server: fix deadlock when changing maxconn via agent-check - REGTESTS: fix maxconn update with agent-check - MINOR: tcp-act: Add set-src/set-src-port for "tcp-request content" rules - DOC: config: Add missing actions in "tcp-request session" documentation - CLEANUP: dns: Remove a forgotten debug message - BUG/MINOR: resolvers: Always attach server on matching record on resolution - BUG/MINOR: resolvers: Reset server IP when no ip is found in the response - MINOR: resolvers: Reset server IP on error in resolv_get_ip_from_response() - BUG/MINOR: checks: return correct error code for srv_parse_agent_check - BUILD: Makefile: fix linkage for Haiku. - BUG/MINOR: tcpcheck: Fix numbering of implicit HTTP send/expect rules - BUG/MINOR: mqtt: Fix parser for string with more than 127 characters - BUG/MINOR: mqtt: Support empty client ID in CONNECT message - BUG/MEDIUM: resolvers: Make 1st server of a template take part to SRV resolution - DOC: config: use CREATE USER for mysql-check - BUG/MINOR: stick-table: fix several printf sign errors dumping tables - BUG/MINOR: peers: fix data_type bit computation more than 32 data_types - DOC: stick-table: add missing documentation about gpt0 stored type - BUG/MEDIUM: sock: make sure to never miss early connection failures - BUG/MINOR: cli: fix server name output in "show fd" - Revert "MINOR: tcp-act: Add set-src/set-src-port for "tcp-request content" rules" - MINOR: http: implement http_get_scheme - MEDIUM: http: implement scheme-based normalization - MEDIUM: h1-htx: apply scheme-based normalization on h1 requests - MEDIUM: h2: apply scheme-based normalization on h2 requests - REGTESTS: add http scheme-based normalization test
2021-06-24haproxy: updated to 2.4.1adam2-7/+7
2.4.1 - BUG/MEDIUM: ebtree: Invalid read when looking for dup entry - BUG/MAJOR: server: prevent deadlock when using 'set maxconn server' - BUILD/MINOR: opentracing: fixed build when using clang - BUG/MEDIUM: filters: Exec pre/post analysers only one time per filter - BUG/MINOR: http-comp: Preserve HTTP_MSGF_COMPRESSIONG flag on the response - Revert "MEDIUM: http-ana: Deal with L7 retries in HTTP analysers" - BUG/MINOR: http-ana: Send the right error if max retries is reached on L7 retry - BUG/MINOR: http-ana: Handle L7 retries on refused early data before K/A aborts - MINOR: http-ana: Perform L7 retries because of status codes in response analyser - MINOR: cfgparse: Fail when encountering extra arguments in macro - DOC: intro: Fix typo in starter guide - BUG/MINOR: server: Missing calloc return value check in srv_parse_source - BUG/MINOR: peers: Missing calloc return value check in peers_register_table - BUG/MINOR: ssl: Missing calloc return value check in ssl_init_single_engine - BUG/MINOR: http: Missing calloc return value check in parse_http_req_capture - BUG/MINOR: proxy: Missing calloc return value check in proxy_parse_declare - BUG/MINOR: proxy: Missing calloc return value check in proxy_defproxy_cpy - BUG/MINOR: http: Missing calloc return value check while parsing tcp-request/tcp-response - BUG/MINOR: http: Missing calloc return value check while parsing tcp-request rule - BUG/MINOR: compression: Missing calloc return value check in comp_append_type/algo - BUG/MINOR: worker: Missing calloc return value check in mworker_env_to_proc_list - BUG/MINOR: http: Missing calloc return value check while parsing redirect rule - BUG/MINOR: http: Missing calloc return value check in make_arg_list - BUG/MINOR: proxy: Missing calloc return value check in chash_init_server_tree - CLEANUP: http-ana: Remove useless if statement about L7 retries - BUG/MINOR: vars: Be sure to have a session to get checks variables - DOC/MINOR: move uuid in the configuration to the right alphabetical order - BUG/MAJOR: stream-int: Release SI endpoint on server side ASAP on retry - MINOR: errors: allow empty va_args for diag variadic macro - DOC: use the req.ssl_sni in examples - BUILD: make tune.ssl.keylog available again - BUG/MINOR: ssl: OCSP stapling does not work if expire too far in the future - Revert "BUG/MINOR: opentracing: initialization after establishing daemon mode" - BUG/MEDIUM: opentracing: initialization before establishing daemon and/or chroot mode - BUG/MEDIUM: compression: Fix loop skipping unused blocks to get the next block - BUG/MEDIUM: compression: Properly get the next block to iterate on payload - BUG/MEDIUM: compression: Add a flag to know the filter is still processing data - BUG/MINOR: pools: fix a possible memory leak in the lockless pool_flush() - BUG/MINOR: pools: make DEBUG_UAF always write to the to-be-freed location - MINOR: pools: do not maintain the lock during pool_flush() - MINOR: pools: call malloc_trim() under thread isolation - MEDIUM: pools: use a single pool_gc() function for locked and lockless - BUG/MAJOR: pools: fix possible race with free() in the lockless variant - CLEANUP: pools: remove now unused seq and pool_free_list - BUG/MAJOR: htx: Fix htx_defrag() when an HTX block is expanded - BUG/MINOR: mux-fcgi: Expose SERVER_SOFTWARE parameter by default - CLEANUP: l7-retries: do not test the buffer before calling b_alloc() - BUG/MINOR: resolvers: answser item list was randomly purged or errors - MEDIUM: resolvers: add a ref on server to the used A/AAAA answer item - MEDIUM: resolvers: add a ref between servers and srv request or used SRV record - BUG/MAJOR: resolvers: segfault using server template without SRV RECORDs - DOC: lua: Add a warning about buffers modification in HTTP - BUG/MINOR: stick-table: insert srv in used_name tree even with fixed id - BUG/MEDIUM: server: extend thread-isolate over much of CLI 'add server' - BUG/MEDIUM: server: clear dynamic srv on delete from proxy id/name trees - BUG/MEDIUM: server: do not forget to generate the dynamic servers ids - BUG/MINOR: server: do not keep an invalid dynamic server in px ids tree - BUG/MEDIUM: server: do not auto insert a dynamic server in px addr_node - BUG/MEDIUM: shctx: use at least thread-based locking on USE_PRIVATE_CACHE - BUG/MINOR: ssl: use atomic ops to update global shctx stats - BUG/MINOR: mworker: fix typo in chroot error message - CLEANUP: global: remove unused definition of stopping_task[] - BUG/MAJOR: queue: set SF_ASSIGNED when setting strm->target on dequeue - MINOR: backend: only skip LB when there are actual connections - BUG/MINOR: mux-h1: do not skip the error response on bad requests - BUG/MINOR: server: explicitly set "none" init-addr for dynamic servers - MINOR: connection: add helper conn_append_debug_info() - MINOR: mux-h2/trace: report a few connection-level info during h2_init() - CLEANUP: mux-h2/traces: better align user messages - BUG/MINOR: stats: make "show stat typed desc" work again - MINOR: mux-h2: obey http-ignore-probes during the preface - BUG/MINOR: mux-h2/traces: bring back the lost "rcvd H2 REQ" trace - BUG/MINOR: mux-h2/traces: bring back the lost "sent H2 REQ/RES" traces
2021-06-19haproxy: needs -latomic on aarch64, for __atomic_compare_exchange_16tnn1-1/+4
Dependency added directly to the package in lieu of a mk/atomic128.mk, due to freeze.
2021-05-21haproxy: updated to 2.4.0adam4-10/+12
What's new in 2.4 compared to 2.3 ? Lots of cool stuff! The work was spread on several fronts: - performance and latency: a lot of work was done on locking reduction, bringing 2.4 a much lower latency than 2.3 had, and a higher scalability. 2.4 is NUMA-aware on Linux and will avoid binding to cross-socket cores by default. Idle server-side connections are now reusable even when SNI, proxy protocol or transparent proxy are used, saving costly round trips. Lua now supports lock-free multi-threading. Idle frontend connections will now be closed as soon as possible during reloads. - reliability: "strict-limits" is on by default, experimental features are protected against accidental use from a copy-paste, a diagnostic mode was added to report suspicious or uncommon constructs that could be mistakes, new live debugging tools were added for better in-field debugging. Backend idle connections will be closed before quitting so that they don't consume source ports in TIME_WAIT. - management and integration: maps and ACLs now support atomic updates, server-side SSL certificates can also be updated without reloading, servers can be added/removed without reloading (still experimental), more server settings can be edited at run time, global variables can be listed/edited at run time, "defaults" section can now be named, reused an inherited, line numbers and file names can be included in any command, file paths can now be relative to the config file, some new ".if/.elif/.else/.endif" config directives permit a smoother transition between versions using a same config file (particularly useful for automated rollbacks), - interoperability / protocol support: WebSocket over HTTP/2 (RFC8441) is now supported on both sides, regardless of the version on the other side. The cache now supports the "Vary" header with a few commonly used headers, including "Accept-encoding" which gets normalized for optimal cache hit ratio. The Prometheus exporter got a significant liftup, requires less tricks on the Prometheus side, and supports listing only certain metrics for faster retrieval. Optional native support for Opentracing was also integrated (via USE_OT=1). The DNS resolvers now support talking to servers over TCP. Basic support for extracting information from MQTT and FIX protocol was added. Timeouts can now be adjusted on the fly and per-request in order to adapt to particuarly slow servers or special protocols. - user-friendliness: TCP loggers now do not require a ring section declaration anymore, it's transparently done now. Header deletion using a pattern matching on the name is now supported instead of having to list many names. Checking for real server-side errors got easier than before with http_fail_cnt/http_fail_rate. The config parser and CLI will now provide suggestions when some keywords are misspelled. The CLI's help output can now be filtered to subsets of commands and will be sorted for easier finding. - processing: the new "wait-for-body" HTTP action allows to wait for a request or response body up to a certain size or delay. This is convenient to detect POST contents or to detect error patterns or information leaks in responses. TCP frontends can now be manually upgraded to HTTP, allowing HTTP rules to be used in a frontend in a tcp->http scenario. JSON parameters can be decoded to extract some fields values. A URL encoder is now available to pass some fields in a way that is suitable for query string parameters. Base64 variants are now supported (such as the URL-compatible one used by JWT). - for distros: building optional addons will be easier thanks to the removal of the contrib/ directory and the cleaner integration with the regular build process and include files. Libslz was included by default, simplifying the packaging work. A few example configs were added into examples/ to serve as starters for users. A CPU entry was added to produce executables that works well both on old and new ARMv8 CPUs. - observability: more stats were added (SSL, H2). "show info" can now emit floating point values for rates and uptimes if requested.
2021-04-26haproxy: updated to 2.3.10adam2-7/+7
2.3.10 - BUILD: backend: fix build breakage in idle conn locking fix - BUG/MINOR: tcp: fix silent-drop workaround for IPv6 - BUILD: tcp: use IPPROTO_IPV6 instead of SOL_IPV6 on FreeBSD/MacOS - BUG/MINOR: ssl: Fix update of default certificate - BUG/MINOR: ssl: Prevent removal of crt-list line if the instance is a default one - BUG/MINOR: http_fetch: make hdr_ip() resistant to empty fields - BUG/MINOR: ssl: Add missing free on SSL_CTX in ckch_inst_free - REGTESTS: ssl: "set ssl cert" and multi-certificates bundle - DOC: Explicitly state only IPv4 are supported by forwardfor/originalto options - REGTESTS: ssl: mark set_ssl_cert_bundle.vtc as broken - CONTRIB: halog: fix issue with array of type char - BUG/MINOR: tools: fix parsing "us" unit for timers - DOC: clarify that compression works for HTTP/2 - MINOR: No longer rely on deprecated sample fetches for predefined ACLs - BUG/MEDIUM: sample: Fix adjusting size in field converter - DOC: ssl: Certificate hot update only works on fronted certificates - BUG/MEDIUM: threads: Ignore current thread to end its harmless period - BUG/MINOR: checks: Set missing id to the dummy checks frontend - MINOR: logs: Add support of checks as session origin to format lf strings - BUG/MINOR: connection: Fix fc_http_major and bc_http_major for TCP connections - MINOR: connection: Make bc_http_major compatible with tcp-checks - BUG/MINOR: ssl-samples: Fix ssl_bc_* samples when called from a health-check - BUG/MINOR: http-fetch: Make method smp safe if headers were already forwarded - BUG/MINOR: http_htx: Remove BUG_ON() from http_get_stline() function - BUG/MINOR: logs: Report the true number of retries if there was no connection - BUG/MINOR: mux-h1: Release idle server H1 connection if data are received - BUG/MINOR: server: free srv.lb_nodes in free_server - BUG/MAJOR: mux-h2: Properly detect too large frames when decoding headers - BUG/MEDIUM: mux-h2: Fix dfl calculation when merging CONTINUATION frames - BUG/MEDIUM: config: fix cpu-map notation with both process and threads - BUG/MINOR: mworker/init: don't reset nb_oldpids in non-mworker cases - BUG/MINOR: mworker: don't use oldpids[] anymore for reload - BUG/MEDIUM: mux-h2: Properly handle shutdowns when received with data - BUG/MINOR: peers: remove useless table check if initial resync is finished - BUG/MEDIUM: peers: re-work connection to new process during reload. - BUG/MEDIUM: peers: re-work refcnt on table to protect against flush
2021-04-01haproxy: update to 2.3.9.wiz2-7/+7
2021/03/30 : 2.3.9 - BUG/MEDIUM: mux-h1: make h1_shutw_conn() idempotent - MEDIUM: backend: use a trylock to grab a connection on high FD counts as well - BUG/MINOR: payload: Wait for more data if buffer is empty in payload/payload_lv - BUG/MINOR: stats: Apply proper styles in HTML status page. - BUG/MEDIUM: time: make sure to always initialize the global tick 2021/03/25 : 2.3.8 - MINOR: time: export the global_now variable - BUG/MINOR: freq_ctr/threads: make use of the last updated global time - BUG/MEDIUM: mux-fcgi: Fix locking of idle_conns lock in the FCGI I/O callback - MINOR: time: also provide a global, monotonic global_now_ms timer - BUG/MEDIUM: freq_ctr/threads: use the global_now_ms variable - BUG/MINOR: protocol: add missing support of dgram unix socket. - MINOR/BUG: mworker/cli: do not use the unix_bind prefix for the master CLI socket - MEDIUM: lua: Use a per-thread counter to track some non-reentrant parts of lua - BUG/MEDIUM: debug/lua: Don't dump the lua stack if not dumpable - BUG/MINOR: ssl: Prevent disk access when using "add ssl crt-list" - BUILD: ssl: guard ecdh functions with SSL_CTX_set_tmp_ecdh macro - MINOR: lua: Slightly improve function dumping the lua traceback - BUG/MEDIUM: debug/lua: Use internal hlua function to dump the lua traceback - BUG/MEDIUM: lua: Always init the lua stack before referencing the context - MINOR: fd: make fd_clr_running() return the remaining running mask - MINOR: fd: remove the unneeded running bit from fd_insert() - BUG/MEDIUM: fd: do not wait on FD removal in fd_delete() - CLEANUP: fd: remove unused fd_set_running_excl() - BUG/MEDIUM: fd: Take the fd_mig_lock when closing if no DWCAS is available. - BUG/MEDIUM: thread: Fix a deadlock if an isolated thread is marked as harmless - MINOR: tools: make url2ipv4 return the exact number of bytes parsed - BUG/MINOR: http_fetch: make hdr_ip() reject trailing characters
2021-03-19haproxy: updated to 2.3.7adam2-7/+7
2.3.7 - BUG/MINOR: backend: fix condition for reuse on mode HTTP - BUG/MINOR: hlua: Don't strip last non-LWS char in hlua_pushstrippedstring() - BUG/MINOR: ssl: don't truncate the file descriptor to 16 bits in debug mode - REORG: atomic: reimplement pl_cpu_relax() from atomic-ops.h - BUG/MINOR: mt-list: always perform a cpu_relax call on failure - MINOR: atomic: add armv8.1-a atomics variant for cas-dw - MINOR: atomic: implement a more efficient arm64 __ha_cas_dw() using pairs - BUG/MEDIUM: session: NULL dereference possible when accessing the listener - MINOR: tasks: refine the default run queue depth - MINOR: listener: refine the default MAX_ACCEPT from 64 to 4 - OPTIM: server: switch the actconn list to an mt-list - MINOR: server: move actconns to the per-thread structure - MINOR: lb/api: let callers of take_conn/drop_conn tell if they have the lock - OPTIM: lb-first: do not take the server lock on take_conn/drop_conn - OPTIM: lb-leastconn: do not take the server lock on take_conn/drop_conn - OPTIM: lb-leastconn: do not unlink the server if it did not change - MINOR: dynbuf: make the buffer wait queue per thread - MINOR: dynbuf: use regular lists instead of mt_lists for buffer_wait - MINOR: dynbuf: pass offer_buffers() the number of buffers instead of a threshold - MINOR: stream: add an "epoch" to figure which streams appeared when - MINOR: cli/streams: make "show sess" dump all streams till the new epoch - MINOR: streams: use one list per stream instead of a global one - MEDIUM: streams: do not use the streams lock anymore - MEDIUM: pools: add CONFIG_HAP_NO_GLOBAL_POOLS and CONFIG_HAP_GLOBAL_POOLS - MINOR: pools: double the local pool cache size to 1 MB - MEDIUM: backend: use a trylock when trying to grab an idle connection - MINOR: task: limit the number of subsequent heavy tasks with flag TASK_HEAVY - MINOR: ssl: mark the SSL handshake tasklet as heavy - BUG/MEDIUM: ssl: properly remove the TASK_HEAVY flag at end of handshake - MINOR: task: add an application specific flag to the state: TASK_F_USR1 - MEDIUM: muxes: mark idle conns tasklets with TASK_F_USR1 - MINOR: xprt: add new xprt_set_idle and xprt_set_used methods - MEDIUM: ssl: implement xprt_set_used and xprt_set_idle to relax context checks - MEDIUM: task: remove the tasks_run_queue counter and have one per thread - MINOR: task: give the scheduler a bit more flexibility in the runqueue size - OPTIM: task: automatically adjust the default runqueue-depth to the threads - BUG/MEDIUM: stick-tables: fix ref counter in table entry using multiple http tracksc. - BUILD: atomic/arm64: force the register pairs to use in __ha_cas_dw() - BUG/MEDIUM: filters: Set CF_FL_ANALYZE on channels when filters are attached - BUG/MINOR: tcpcheck: Update .health threshold of agent inside an agent-check - BUG/MINOR: proxy/session: Be sure to have a listener to increment its counters - BUG/MINOR: session: Add some forgotten tests on session's listener - BUG/MINOR: tcpcheck: Fix double free on error path when parsing tcp/http-check - CLEANUP: tcp-rules: add missing actions in the tcp-request error message - Revert "BUG/MINOR: resolvers: Only renew TTL for SRV records with an additional record" - BUG/MINOR: resolvers: Consider server to have no IP on DNS resolution error - BUG/MINOR: resolvers: Reset server address on DNS error only on status change - BUG/MINOR: resolvers: Unlink DNS resolution to set RMAINT on SRV resolution - BUG/MEDIUM: resolvers: Don't set an address-less server as UP - BUG/MEDIUM: resolvers: Fix the loop looking for an existing ADD item - MINOR: resolvers: new function find_srvrq_answer_record() - BUG/MINOR; resolvers: Ignore DNS resolution for expired SRV item - BUG/MEDIUM: resolvers: Trigger a DNS resolution if an ADD item is obsolete - MINOR: resolvers: Use a function to remove answers attached to a resolution - MINOR: resolvers: Purge answer items when a SRV resolution triggers an error - MINOR: resolvers: Add function to change the srv status based on SRV resolution - MINOR: resolvers: Directly call srvrq_update_srv_state() when possible - BUG/MEDIUM: resolvers: Don't release resolution from a requester callbacks - BUG/MEDIUM: resolvers: Skip DNS resolution at startup if SRV resolution is set - MINOR: resolvers: Use milliseconds for cached items in resolver responses - MINOR: resolvers: Don't try to match immediatly renewed ADD items - BUG/MINOR: resolvers: Add missing case-insensitive comparisons of DNS hostnames
2021-03-09haproxy: updated to 2.3.6adam2-7/+7
2.3.6 - MINOR: check: do not ignore a connection header for http-check send - BUILD: ssl: fix typo in HAVE_SSL_CTX_ADD_SERVER_CUSTOM_EXT macro - BUILD: ssl: guard SSL_CTX_add_server_custom_ext with special macro - BUILD: ssl: guard SSL_CTX_set_msg_callback with SSL_CTRL_SET_MSG_CALLBACK macro - BUG/MINOR: intops: fix mul32hi()'s off-by-one - BUG/MINOR: http-ana: Don't increment HTTP error counter on internal errors - BUG/MEDIUM: mux-h1: Always set CS_FL_EOI for response in MSG_DONE state - BUG/MINOR: server: re-align state file fields number - BUG/MINOR: tools: Fix a memory leak on error path in parse_dotted_uints() - BUG/MINOR: backend: hold correctly lock when killing idle conn - BUG/MINOR: server: Fix server-state-file-name directive - CLEANUP: deinit: release global and per-proxy server-state variables on deinit - BUG/MEDIUM: config: don't pick unset values from last defaults section - BUG/MINOR: stats: revert the change on ST_CONVDONE - BUG/MINOR: cfgparse: do not mention "addr:port" as supported on proxy lines - BUG/MINOR: server: Don't call fopen() with server-state filepath set to NULL - DOC: tune: explain the origin of block size for ssl.cachesize - CLEANUP: channel: fix comment in ci_putblk. - BUG/MINOR: server: Remove RMAINT from admin state when loading server state - BUG/MINOR: session: atomically increment the tracked sessions counter - BUG/MINOR: checks: properly handle wrapping time in __health_adjust() - BUG/MEDIUM: checks: don't needlessly take the server lock in health_adjust() - BUG/MINOR: sample: Always consider zero size string samples as unsafe - BUILD: ssl: introduce fine guard for OpenSSL specific SCTL functions - DOC: explain the relation between pool-low-conn and tune.idle-pool.shared - BUG/MEDIUM: lists: Avoid an infinite loop in MT_LIST_TRY_ADDQ(). - BUG/MEDIUM: spoe: Resolve the sink if a SPOE logs in a ring buffer - BUG/MINOR: http-rules: Always replace the response status on a return action - BUG/MINOR: server: Init params before parsing a new server-state line - BUG/MINOR: server: Be sure to cut the last parsed field of a server-state line - BUG/MEDIUM: mux-h1: Fix handling of responses to CONNECT other than 200-ok - BUG/MINOR: ssl/cli: potential null pointer dereference in "set ssl cert" - MINOR: Configure the `cpp` userdiff driver for *.[ch] in .gitattributes - BUG/MINOR: sample: secure convs that accept base64 string and var name as args - BUG/MEDIUM: vars: make functions vars_get_by_{name,desc} thread-safe - BUG/MEDIUM: proxy: use thread-safe stream killing on hard-stop - BUG/MEDIUM: cli/shutdown sessions: make it thread-safe - BUG/MINOR: proxy: wake up all threads when sending the hard-stop signal - BUG/MINOR: fd: properly wait for !running_mask in fd_set_running_excl() - BUG/MINOR: resolvers: Fix condition to release received ARs if not assigned - BUG/MINOR: resolvers: Only renew TTL for SRV records with an additional record - BUG/MINOR: resolvers: new callback to properly handle SRV record errors - BUG/MEDIUM: resolvers: Reset server address and port for obselete SRV records - BUG/MEDIUM: resolvers: Reset address for unresolved servers - BUG/MINOR: ssl: potential null pointer dereference in ckchs_dup() - CLEANUP: muxes: Remove useless if condition in show_fd function - BUG/MINOR: stats: fix compare of no-maint url suffix - BUG/MINOR: mux-h1: Immediately report H1C errors from h1_snd_buf() - BUG/MINOR: http-ana: Only consider dst address to process originalto option - BUG/MINOR: tcp-act: Don't forget to set the original port for IPv4 set-dst rule - BUG/MINOR: connection: Use the client's dst family for adressless servers - BUG/MEDIUM: spoe: Kill applets if there are pending connections and nbthread > 1 - DOC: spoe: Add a note about fragmentation support in HAProxy - BUG/MINOR: mux-h2: Fix typo in scheme adjustment - BUG/MINOR: http-ana: Don't increment HTTP error counter on read error/timeout
2021-02-09haproxy: updated to 2.3.5adam2-7/+7
2.3.5 - BUG/MINOR: init: Use a dynamic buffer to set HAPROXY_CFGFILES env variable - MINOR: config: Add failifnotcap() to emit an alert on proxy capabilities - MINOR: server: Forbid server definitions in frontend sections - BUG/MINOR: threads: Fixes the number of possible cpus report for Mac. - MINOR: peers: Add traces for peer control messages. - BUG/MINOR: dns: SRV records ignores duplicated AR records (v2) - BUILD: peers: fix build warning about unused variable - BUG/MEDIUM: stats: add missing INF_BUILD_INFO definition - BUG/MINOR: peers: Possible appctx pointer dereference. - MINOR: build: discard echoing in help target - BUG/MINOR: peers: Wrong "new_conn" value for "show peers" CLI command. - BUG/MINOR: mux_h2: missing space between "st" and ".flg" in the "show fd" helper - BUG/MINOR: mworker: define _GNU_SOURCE for strsignal() - BUG/MEDIUM: tcpcheck: Don't destroy connection in the wake callback context - BUG/MEDIUM: mux-h2: fix read0 handling on partial frames - BUILD/MINOR: lua: define _GNU_SOURCE for LLONG_MAX - DOC: Improve documentation of the various hdr() fetches - BUG/MEDIUM: filters/htx: Fix data forwarding when payload length is unknown - BUG/MINOR: config: fix leak on proxy.conn_src.bind_hdr_name - BUG/MINOR: ssl: init tmp chunk correctly in ssl_sock_load_sctl_from_file() - BUG/MEDIUM: session: only retrieve ready idle conn from session - REORG: backend: simplify conn_backend_get - BUG/MEDIUM: backend: never reuse a connection for tcp mode - BUG/MINOR: backend: check available list allocation for reuse - MINOR: contrib: Make the wireshark peers dissector compile for more distribs. - CLEANUP: tools: make resolve_sym_name() take a const pointer - CLEANUP: cli: make "show fd" use a const connection to access other fields - MINOR: cli: make "show fd" also report the xprt and xprt_ctx - MINOR: xprt: add a new show_fd() helper to complete some "show fd" dumps. - MINOR: ssl: provide a "show fd" helper to report important SSL information - MINOR: xprt/mux: export all *_io_cb functions so that "show fd" resolves them - MINOR: mux-h2: make the "show fd" helper also decode the h2s subscriber when known - MINOR: mux-h1: make the "show fd" helper also decode the h1s subscriber when known - MINOR: mux-fcgi: make the "show fd" helper also decode the fstrm subscriber when known - MINOR: cli: give the show_fd helpers the ability to report a suspicious entry - MINOR: cli/show_fd: report some easily detectable suspicious states - MINOR: ssl/show_fd: report some FDs as suspicious when possible - MINOR: mux-h2/show_fd: report as suspicious an entry with too many calls - MINOR: mux-h1/show_fd: report as suspicious an entry with too many calls - MINOR: h1: Raise the chunk size limit up to (2^52 - 1) - DOC: management: fix "show resolvers" alphabetical ordering - BUG/MINOR: stick-table: Always call smp_fetch_src() with a valid arg list - BUG/MEDIUM: ssl/cli: abort ssl cert is freeing the old store - BUG/MEDIUM: ssl: check a connection's status before computing a handshake - BUG/MINOR: mux_h2: fix incorrect stat titles - BUG/MINOR: xxhash: make sure armv6 uses memcpy() - BUG/MINOR: ssl: do not try to use early data if not configured - BUILD: ssl: fix build breakage with last commit - MINOR: cli/show_fd: report local and report ports when known - BUILD: Makefile: move REGTESTST_TYPE default setting - BUG/MEDIUM: mux-h2: handle remaining read0 cases - BUG/MEDIUM: mux-h2: do not quit the demux loop before setting END_REACHED - BUG/MINOR: sock: Unclosed fd in case of connection allocation failure - MINOR: config: Deprecate and ignore tune.chksize global option
2021-01-16haproxy: updated to 2.3.4adam2-7/+7
2.3.4 - MINOR: reg-tests: add a way to add service dependency - BUG/MINOR: sample: check alloc_trash_chunk return value in concat() - BUG/MINOR: reg-tests: fix service dependency script - MINOR: reg-tests: add base prometheus test - Revert "BUG/MINOR: dns: SRV records ignores duplicated AR records" - BUG/MINOR: sample: Memory leak of sample_expr structure in case of error - BUG/MINOR: check: Don't perform any check on servers defined in a frontend - BUG/MINOR: init: enforce strict-limits when using master-worker - MINOR: contrib/prometheus-exporter: avoid connection close header - MINOR: contrib/prometheus-exporter: use fill_info for process dump 2.3.3 - MINOR: plock: use an ARMv8 instruction barrier for the pause instruction - BUG/MEDIUM: lists: Lock the element while we check if it is in a list. - MINOR: task: remove __tasklet_remove_from_tasklet_list() - BUG/MEDIUM: task: close a possible data race condition on a tasklet's list link - BUG/MEDIUM: local log format regression. - BUG/MINOR: mux-h2/stats: make stream/connection proto errors more accurate - BUG/MINOR: mux-h2/stats: not all GOAWAY frames are errors - BUG/MINOR: lua: missing "\n" in error message - BUG/MINOR: lua: lua-load doesn't check its parameters - BUG/MINOR: lua: Post init register function are not executed beyond the first one - BUG/MINOR: lua: Some lua init operation are processed unsafe - MINOR: actions: Export actions lookup functions - MINOR: actions: add a function returning a service pointer from its name - MINOR: cli: add a function to look up a CLI service description - BUG/MINOR: lua: warn when registering action, conv, sf, cli or applet multiple times - BUG/MAJOR: ring: tcp forward on ring can break the reader counter. - BUILD/MINOR: haproxy DragonFlyBSD affinity build update. - DOC/MINOR: Fix formatting in Management Guide - BUG/MINOR: listener: use sockaddr_in6 for IPv6 - BUG/MINOR: mux-h1: Handle keep-alive timeout for idle frontend connections - MINOR: protocol: add a ->set_port() helper to address families - MINOR: listener: automatically set the port when creating listeners - MINOR: listener: now use a generic add_listener() function - MEDIUM: ssl: fatal error with bundle + openssl < 1.1.1 - BUG/MAJOR: spoa/python: Fixing return None - DOC: spoa/python: Fixing typo in IP related error messages - DOC: spoa/python: Rephrasing memory related error messages - DOC: spoa/python: Fixing typos in comments - BUG/MINOR: spoa/python: Cleanup references for failed Module Addobject operations - BUG/MINOR: spoa/python: Cleanup ipaddress objects if initialization fails - BUG/MEDIUM: spoa/python: Fixing PyObject_Call positional arguments - BUG/MEDIUM: spoa/python: Fixing references to None - DOC: email change of the DeviceAtlas maintainer - BUG/MINOR: http-check: Use right condition to consider HTX message as full - BUG/MINOR: tcpcheck: Don't rearm the check timeout on each read - MINOR: tcpcheck: Only wait for more payload data on HTTP expect rules - BUG/MINOR: tools: make parse_time_err() more strict on the timer validity - BUG/MINOR: tools: Reject size format not starting by a digit - BUG/MEDIUM: lb-leastconn: Reposition a server using the right eweight - BUG/MEDIUM: ssl/crt-list: bad behavior with "commit ssl cert" - REGTESTS: make use of HAPROXY_ARGS and pass -dM by default - BUILD: SSL: fine guard for SSL_CTX_add_server_custom_ext call - BUILD: Makefile: have "make clean" destroy .o/.a/.s in contrib subdirs as well - BUG/MINOR: mux-h1: Don't set CS_FL_EOI too early for protocol upgrade requests - BUG/MEDIUM: http-ana: Never for sending data in TUNNEL mode - BUG/MEDIUM: mux-h1: Handle h1_process() failures on a pipelined request - CONTRIB: halog: fix build issue caused by %L printf format - CONTRIB: halog: mark the has_zero* functions unused - CONTRIB: halog: fix signed/unsigned build warnings on counts and timestamps - CONTRIB: debug: address "poll" utility build on non-linux platforms - BUILD: plock: remove dead code that causes a warning in gcc 11 - BUILD: ssl: fine guard for SSL_CTX_get0_privatekey call - BUG/MINOR: dns: SRV records ignores duplicated AR records - DOC: fix "smp_size" vs "sample_size" in "log" directive arguments - BUG/MEDIUM: mux_h2: Add missing braces in h2_snd_buf()around trace+wakeup - BUILD: hpack: hpack-tbl-t.h uses VAR_ARRAY but does not include compiler.h - MINOR: atomic: don't use ; to separate instruction on aarch64. - BUG/MINOR: sink: Return an allocation failure in __sink_new if strdup() fails - BUG/MINOR: cfgparse: Fail if the strdup() for `rule->be.name` for `use_backend` fails - BUG/MINOR: tcpcheck: Report a L7OK if the last evaluated rule is a send rule - DOC: Improve the message printed when running `make` w/o `TARGET` - BUG/MINOR: stats: Make stat_l variable used to dump a stat line thread local - SCRIPTS: improve announce-release to support different tag and versions - SCRIPTS: make announce release support preparing announces before tag exists - BUG/MINOR: srv: do not init address if backend is disabled - BUG/MINOR: srv: do not cleanup idle conns if pool max is null - MINOR: converter: adding support for url_enc - BUILD: Makefile: exclude broken tests by default - CLEANUP: cfgparse: replace "realloc" with "my_realloc2" to fix to memory leak on error - MINOR: contrib/prometheus-exporter: export build_info - DOC: fix some spelling issues over multiple files - SCRIPTS: announce-release: fix typo in help message - DOC: Add maintainers for the Prometheus exporter - BUG/MINOR: sample: fix concat() converter's corruption with non-string variables
2021-01-13haproxy: requires atomic64nia1-1/+2
2020-12-10haproxy: Don't set _XOPEN_SOURCE_EXTENDED=1jperkin3-9/+7
This breaks the _XOPEN_SOURCE logic, forcing XPG4v2 to be selected regardless of what _XOPEN_SOURCE is set to. Fixes SunOS build.
2020-12-06haproxy: Fix build on SmartOSotis4-7/+32
Fix build on SmartOS by adding proper _XOPEN_SOURCE et al. #define's
2020-12-06haproxy: updated to 2.3.2adam3-14/+14
2.3.2 - BUILD: http-htx: fix build warning regarding long type in printf - CLEANUP: cfgparse: remove duplicate registration for transparent build options - BUG/MEDIUM: filters: Forward all filtered data at the end of http filtering - BUG/MINOR: http-ana: Don't wait for the body of CONNECT requests - DOC: add missing 3.10 in the summary - BUG/MINOR: ssl: segv on startup when AKID but no keyid - BUG/MEDIUM: http-ana: Don't eval http-after-response ruleset on empty messages - BUG/MEDIUM: ssl/crt-list: bundle support broken in crt-list - BUG/MEDIUM: ssl: error when no certificate are found - BUG/MINOR: ssl/crt-list: load bundle in crt-list only if activated - BUG/MEDIUM: ssl/crt-list: fix error when no file found - BUILD: makefile: enable crypt(3) for OpenBSD - DOC: clarify how to create a fallback crt - CLEANUP: connection: do not use conn->owner when the session is known - BUG/MAJOR: connection: reset conn->owner when detaching from session list - BUG/MINOR: http_htx: Fix searching headers by substring - DOC: better describes how to configure a fallback crt - BUG/MAJOR: filters: Always keep all offsets up to date during data filtering - MEDIUM: cache: Change caching conditions - DOC: cache: Add new caching limitation information - REGTESTS: Add sample_fetches/cook.vtc - REGTESTS: converter: add url_dec test - MINOR: http_act: Add -m flag for del-header name matching method - BUILD: Make DEBUG part of .build_opts - BUILD: Show the value of DEBUG= in haproxy -vv - BUG/MEDIUM: http_act: Restore init of log-format list - BUG/MAJOR: peers: fix partial message decoding - DOC: better document the config file format and escaping/quoting rules - DOC: Clarify %HP description in log-format - BUG/MINOR: tcpcheck: Don't forget to reset tcp-check flags on new kind of check - MINOR: tcpcheck: Don't handle anymore in-progress send rules in tcpcheck_main - BUG/MAJOR: tcpcheck: Allocate input and output buffers from the buffer pool - DOC: config: Move req.hdrs and req.hdrs_bin in L7 samples fetches section - BUG/MINOR: http-fetch: Fix smp_fetch_body() when called from a health-check 2.3.1 - BUG/MINOR: ssl: don't report 1024 bits DH param load error when it's higher - MINOR: http-htx: Add understandable errors for the errorfiles parsing - DOC: config: Fix a typo on ssl_c_chain_der - BUG/MEDIUM: ssl/crt-list: correctly insert crt-list line if crt already loaded - BUG/MINOR: pattern: a sample marked as const could be written - BUG/MINOR: lua: set buffer size during map lookups - BUG/MINOR: stats: free dynamically stats fields/lines on shutdown - BUG/MINOR: peers: Do not ignore a protocol error for dictionary entries. - BUG/MINOR: peers: Missing TX cache entries reset. - BUG/MEDIUM: peers: fix decoding of multi-byte length in stick-table messages - BUG/MINOR: http-fetch: Extract cookie value even when no cookie name - BUG/MINOR: http-fetch: Fix calls w/o parentheses of the cookie sample fetches - BUG/MEDIUM: check: reuse srv proto only if using same mode - MINOR: check: report error on incompatible proto - MINOR: check: report error on incompatible connect proto - BUG/MINOR: http-htx: Handle warnings when parsing http-error and http-errors - BUG/MAJOR: spoe: Be sure to remove all references on a released spoe applet - MINOR: spoe: Don't close connection in sync mode on processing timeout - BUG/MINOR: tcpcheck: Don't warn on unused rules if check option is after - MINOR: init: Fix the prototype for per-thread free callbacks - MINOR: config/mux-h2: Return ERR_ flags from init_h2() instead of a status - MINOR: cfgparse: tighten the scope of newnameserver variable, free it on error. - REGTEST: ssl: test wildcard and multi-type + exclusions - REGTEST: ssl: mark reg-tests/ssl/ssl_crt-list_filters.vtc as broken - MINOR: peers: Add traces to peer_treat_updatemsg(). - REGTEST: make ssl_client_samples and ssl_server_samples require to 2.2 2.3.0 - CLEANUP: pattern: remove unused entry "tree" in pattern.val - BUILD: ssl: use SSL_CTRL_GET_RAW_CIPHERLIST instead of OpenSSL versions - BUG/MEDIUM: filters: Don't try to init filters for disabled proxies - BUG/MINOR: proxy/server: Skip per-proxy/server post-check for disabled proxies - BUG/MINOR: checks: Report a socket error before any connection attempt - BUG/MINOR: server: Set server without addr but with dns in RMAINT on startup - MINOR: server: Copy configuration file and line for server templates - BUG/MEDIUM: mux-pt: Release the tasklet during an HTTP upgrade - BUILD: ssl: use HAVE_OPENSSL_KEYLOG instead of OpenSSL versions - MINOR: debug: don't count free(NULL) in memstats - BUG/MINOR: filters: Skip disabled proxies during startup only - MINOR: mux_h2: capitalize frame type in stats - MINOR: mux_h2: add stat for total count of connections/streams - MINOR: stats: do not display empty stat module title on html - BUG/MEDIUM: stick-table: limit the time spent purging old entries - BUG/MEDIUM: listener: only enable a listening listener if needed - BUG/MEDIUM: listener: never suspend inherited sockets - BUG/MEDIUM: listener: make the master also keep workers' inherited FDs - MINOR: fd: add fd_want_recv_safe() - MEDIUM: listeners: make use of fd_want_recv_safe() to enable early receivers - REGTESTS: mark abns_socket as working now - CLEANUP: mux-h2: Remove the h1 parser state from the h2 stream - MINOR: sock: add a check against cross worker<->master socket activities - CI: github actions: limit OpenSSL no-deprecated builds to "default,bug,devel" reg-tests - BUG/MEDIUM: server: make it possible to kill last idle connections - MINOR: mworker/cli: the master CLI use its own applet - MINOR: ssl: define SSL_CTX_set1_curves_list to itself on BoringSSL - BUILD: ssl: use feature macros for detecting ec curves manipulation support - DOC: Add dns as an available domain to show stat - BUILD: makefile: usual reorder of objects for faster builds - DOC: update INSTALL to mention that TCC is supported - DOC: mention in INSTALL that haproxy 2.3 is a stable version - MINOR: version: mention that it's stable now
2020-10-09haproxy: updated to 2.2.4adam2-7/+7
2.2.4 - BUILD: threads: better workaround for late loading of libgcc_s - BUG/MEDIUM: pattern: Renew the pattern expression revision when it is pruned - BUG/MINOR: Fix type passed of sizeof() for calloc() - BUG/MINOR: ssl: verifyhost is case sensitive - BUG/MINOR: server: report correct error message for invalid port on "socks4" - BUG/MEDIUM: ssl: Don't call ssl_sock_io_cb() directly. - BUG/MINOR: ssl/crt-list: crt-list could end without a \n - BUG/MINOR: h2/trace: do not display "stream error" after a frame ACK - BUG/MINOR: http-fetch: Don't set the sample type during the htx prefetch - BUG/MINOR: config: Fix memory leak on config parse listen - BUG/MEDIUM: h2: report frame bits only for handled types - BUG/MINOR: Fix memory leaks cfg_parse_peers - MINOR: h2/trace: also display the remaining frame length in traces - MINOR: backend: make the "whole" option of balance uri take only one bit - MINOR: backend: add a new "path-only" option to "balance uri" - REGTESTS: add a few load balancing tests - BUG/MEDIUM: listeners: do not pause foreign listeners - BUILD: trace: include tools.h - REGTESTS: use "command" instead of "which" for better POSIX compatibility - DOC: agent-check: fix typo in "fail" word expected reply - BUG/MINOR: ssl/crt-list: exit on warning out of crtlist_parse_line() - REGTEST: fix host part in balance-uri-path-only.vtc - REGTEST: make agent-check.vtc require 1.8 - REGTEST: make abns_socket.vtc require 1.8 - REGTEST: make map_regm_with_backref require 1.7
2020-09-29haproxy: updated to 2.2.3adam2-7/+7
2.2.3 - SCRIPTS: git-show-backports: make -m most only show the left branch - SCRIPTS: git-show-backports: emit the shell command to backport a commit - BUG/MEDIUM: mux-h1: Refresh H1 connection timeout after a synchronous send - CLEANUP: dns: typo in reported error message - BUG/MAJOR: dns: disabled servers through SRV records never recover - BUG/MINOR: spoa-server: fix size_t format printing - DOC: spoa-server: fix false friends `actually` - BUG/MINOR: ssl: fix memory leak at OCSP loading - BUG/MEDIUM: ssl: memory leak of ocsp data at SSL_CTX_free() - BUG/MEDIUM: map/lua: Return an error if a map is loaded during runtime - MINOR: arg: Add an argument type to keep a reference on opaque data - BUG/MINOR: converters: Store the sink in an arg pointer for debug() converter - BUG/MINOR: lua: Duplicate map name to load it when a new Map object is created - BUG/MINOR: arg: Fix leaks during arguments validation for fetches/converters - BUG/MINOR: lua: Check argument type to convert it to IPv4/IPv6 arg validation - BUG/MINOR: lua: Check argument type to convert it to IP mask in arg validation - MINOR: hlua: Don't needlessly copy lua strings in trash during args validation - BUG/MINOR: lua: Duplicate lua strings in sample fetches/converters arg array - MEDIUM: lua: Don't filter exported fetches and converters - BUG/MINOR: snapshots: leak of snapshots on deinit() - BUG/MEDIUM: ssl: fix the ssl-skip-self-issued-ca option - BUG/MINOR: ssl: ssl-skip-self-issued-ca requires >= 1.0.2 - BUG/MINOR: stats: use strncmp() instead of memcmp() on health states - BUG/MEDIUM: htx: smp_prefetch_htx() must always validate the direction - BUG/MEDIUM: ssl: never generates the chain from the verify store - BUG/MEDIUM: ssl: fix ssl_bind_conf double free w/ wildcards - BUG/MINOR: reload: do not fail when no socket is sent - BUG/MEDIUM: http-ana: Don't wait to send 1xx responses received from servers - MINOR: http-htx: Add an option to eval query-string when the path is replaced - BUG/MINOR: http-rules: Replace path and query-string in "replace-path" action - BUG/MEDIUM: ssl: crt-list negative filters don't work - DOC: cache: Use '<name>' instead of '<id>' in error message - MINOR: cache: Reject duplicate cache names - BUILD: tools: include auxv a bit later - BUILD: task: work around a bogus warning in gcc 4.7/4.8 at -O1 - BUG/MAJOR: contrib/spoa-server: Fix unhandled python call leading to memory leak - BUG/MINOR: contrib/spoa-server: Ensure ip address references are freed - BUG/MINOR: contrib/spoa-server: Do not free reference to NULL - BUG/MINOR: contrib/spoa-server: Updating references to free in case of failure - BUG/MEDIUM: contrib/spoa-server: Fix ipv4_address used instead of ipv6_address - BUG/MINOR: startup: haproxy -s cause 100% cpu - Revert "BUG/MINOR: http-rules: Replace path and query-string in "replace-path" action" - BUG/MEDIUM: doc: Fix replace-path action description - MINOR: http-rules: Add set-pathq and replace-pathq actions - MINOR: http-fetch: Add pathq sample fetch - REGTEST: Add a test for request path manipulations, with and without the QS - BUG/MEDIUM: ssl: check OCSP calloc in ssl_sock_load_ocsp() - MINOR: arg: Use chunk_destroy() to release string arguments - BUG/MEDIUM: ssl: does not look for all SNIs before chosing a certificate - BUG/MINOR: threads: work around a libgcc_s issue with chrooting - BUILD: thread: limit the libgcc_s workaround to glibc only - MINOR: Commit .gitattributes - CLEANUP: Update .gitignore - CLEANUP: dns: remove 45 "return" statements from dns_validate_dns_response() - BUG/MEDIUM: dns: Don't store additional records in a linked-list - BUG/MEDIUM: dns: Be sure to renew IP address for already known servers - MINOR: server: Improve log message sent when server address is updated - DOC: ssl-load-extra-files only applies to certificates on bind lines - BUG/MINOR: auth: report valid crypto(3) support depending on build options - BUG/MEDIUM: mux-h1: always apply the timeout on half-closed connections
2020-08-03haproxy: updated to 2.2.2adam2-7/+7
2.2.2 - BUG/MINOR: mux-fcgi: Don't url-decode the QUERY_STRING parameter anymore - BUILD: tools: fix build with static only toolchains - BUG/MINOR: debug: Don't dump the lua stack if it is not initialized - BUG/MAJOR: dns: fix null pointer dereference in snr_update_srv_status - BUG/MAJOR: dns: don't treat Authority records as an error - MEDIUM: lua: Add support for the Lua 5.4 - BUG/MEDIUM: dns: Don't yield in do-resolve action on a final evaluation - BUG/MINOR: lua: Abort execution of actions that yield on a final evaluation - BUG/MINOR: tcp-rules: Preserve the right filter analyser on content eval abort - BUG/MINOR: tcp-rules: Set the inspect-delay when a tcp-response action yields - BUG/MEDIUM: connection: Be sure to always install a mux for sync connect - MINOR: connection: Preinstall the mux for non-ssl connect - MINOR: stream-int: Be sure to have a mux to do sends and receives - SCRIPTS: announce-release: add the link to the wiki in the announce messages - BUG/MEDIUM: backend: always attach the transport before installing the mux - BUG/MEDIUM: tcp-checks: always attach the transport before installing the mux
2020-07-24haproxy: updated to 2.2.1adam2-7/+7
2.2.1 - BUG/MINOR: sample: Free str.area in smp_check_const_bool - BUG/MINOR: sample: Free str.area in smp_check_const_meth - BUG/MEDIUM: lists: add missing store barrier on MT_LIST_BEHEAD() - BUG/MEDIUM: lists: add missing store barrier in MT_LIST_ADD/MT_LIST_ADDQ - CONTRIB: da: fix memory leak in dummy function da_atlas_open() - BUG/MEDIUM: mux-h2: Don't add private connections in available connection list - BUG/MEDIUM: mux-fcgi: Don't add private connections in available connection list - BUG/MEDIUM: mux-h1: Continue to process request when switching in tunnel mode - BUG/MINOR: mux-fcgi: Handle empty STDERR record - BUG/MINOR: mux-fcgi: Set conn state to RECORD_P when skipping the record padding - BUG/MINOR: mux-fcgi: Set flags on the right stream field for empty FCGI_STDOUT - BUG/MEDIUM: log: issue mixing sampled to not sampled log servers. - BUG/MEDIUM: fcgi-app: fix memory leak in fcgi_flt_http_headers - BUG/MEDIUM: server: resolve state file handle leak on reload - BUG/MEDIUM: server: fix possibly uninitialized state file on close - BUG/MEDIUM: channel: Be aware of SHUTW_NOW flag when output data are peeked - BUILD: config: address build warning on raspbian+rpi4 - BUG/MAJOR: tasks: make sure to always lock the shared wait queue if needed - BUILD: config: fix again bugs gcc warnings on calloc - DOC: ssl: req_ssl_sni needs implicit TLS - BUG/MEDIUM: arg: empty args list must be dropped - BUG/MEDIUM: resolve: fix init resolving for ring and peers section. - BUG/MAJOR: tasks: don't requeue global tasks into the local queue - BUG/MAJOR: dns: Make the do-resolve action thread-safe - BUG/MEDIUM: dns: Release answer items when a DNS resolution is freed - MEDIUM: htx: Add a flag on a HTX message when no more data are expected - BUG/MINOR: htx: add two missing HTX_FL_EOI and remove an unexpected one - BUG/MEDIUM: stream-int: Don't set MSG_MORE flag if no more data are expected - BUG/MEDIUM: http-ana: Only set CF_EXPECT_MORE flag on data filtering
2020-07-15haproxy: updated to 2.2.0adam2-7/+7
HAProxy 2.2.0 was released on 2020/07/07. It added 24 new commits after version 2.2-dev12. There were very few last-minute changes since dev12, just as I hoped, that's pretty fine. We're late by about 1 month compared to the initial planning, which is not terrible and should be seen instead as an investment on the debugging cycle since almost only bug fixes were merged during that period. In the end you get a better version later. While I was initially worried that this version didn't seem to contain any outstanding changes, looking back in the mirror tells be it's another awesome one instead: - dynamic content emission: - "http-request return" directive to build dynamic responses ; - rewrite of headers (including our own) after the response ; - dynamic error files (errorfiles can be used as templates to deliver personalized pages) - further improvements to TLS runtime certificates management: - insertion of new certificates - split of key and cert - manipulation and creation of crt-lists - even directories can be handled And by the way now TLSv1.2 is set as the default minimum version. - significant reduction of server-side resources by sharing idle connection pools between all threads ; till 2.1 if you had 64 threads, each of them had its own connections, so the reuse rate was lower, and the idle connection count was very high. This is not the case anymore. - health-checks were rewritten to all rely on tcp-check rules behind the curtains. This allowed to get rid of all the dirt we had accumulate over 18 years and to write extensible checks. New ones are much easier to add. In addition we now have http-checks which support header and body addition, and which pass through muxes (HTTP/1 and HTTP/2). - ring buffer creation with ability to forward any event to any log server including over TCP. This means that it's now possible to log over a TCP syslog server, and that adding new protocols should be fairly easy. - further refined and improved debugging (symbols in panic dumps, malloc debugging, more activity counters) - the default security was improved. For example fork() is forbidden by default, which will block against any potential code execution (and will also block external checks by default unless explicitly unblocked). - new performance improvements in the scheduler and I/O layers, reducing the cost of I/O processing and overall latency. I've known from private discussions that some noticed tremendous gains there. I'm pretty sure there are many other things but I don't remember, I'm looking at my notes. I'm aware that HaproxyTech will soon post an in-depth review on the haproxy.com blog so just have a look there for all the details. (edit: it's already there: https://www.haproxy.com/blog/announcing-haproxy-2-2/ ). There are three things I noted during the development of this version. The first one is that with the myriad of new tools we're using to help users and improve our code quality (discourse, travis, cirrus, oss-fuzz, mailing-list etc), some people really found their role in the project and are becoming more autonomous. This definitely scales much better and helps me spend less time on things that are not directly connected to my code activities, so thank you very much for this (Lukas, Tim, Ilya, Cyril). The second one is that this is the first version that has been tortured in production long before the release. And when I'm saying "tortured", I really mean it, because several of us were suffering as well. But it allowed to address very serious issues that would have been a nightmare to debug and fix post-release. For this I really want to publicly thank William Dauchy for all his work and involvement on this, and for all the very detailed reports he's sent us. For me this is the proof that running code early on very limited traffic is enough to catch unacceptable bugs that will not hit you later. And this pays off because he will be able to deploy 2.2 soon without sweating. Others might face bugs that were not in the perimeter he tested, hehe :-) I really encourage anyone who can to do this. I know it's not easy and can be risky, but with some organization and good prod automation it's possible and is great. What's nice with reporting bugs during development is that you have a safe version to roll back to and it can take the time it takes to fix the bug, it's not a problem! Please think about it and what it would imply for you to adopt such a model, it's a real time saver and risk saver for your production. The last one is that we started to use the -next branch to queue some pending work (that was already merged) and that the principle of finishing one version while we're starting to queue some work for the next one is well accepted and will help really us. I'd like this to continue and grow in importance. Enough talking, now's time to download and update, and for me to leave to have dinner :-)
2020-06-20haproxy: updated to 2.1.7adam2-7/+7
2.1.7 - BUG/MAJOR: http-htx: Don't forget to copy error messages from defaults section
2020-06-08haproxy: updated to 2.1.6adam2-7/+7
2.1.6 - Revert "BUG/MEDIUM: connections: force connections cleanup on server changes" - SCRIPTS: publish-release: pass -n to gzip to remove timestamp - BUG/MINOR: peers: fix internal/network key type mapping. - BUG/MEDIUM: lua: Reset analyse expiration timeout before executing a lua action - BUG/MEDIUM: http-htx: Duplicate error messages as raw data instead of string - BUG/MEDIUM: hlua: Lock pattern references to perform set/add/del operations - BUG/MEDIUM: contrib/prometheus-exporter: Properly set flags to dump metrics - BUG/MEDIUM: mworker: fix the copy of options in copy_argv() - BUG/MINOR: init: -x can have a parameter starting with a dash - BUG/MINOR: init: -S can have a parameter starting with a dash - BUG/MEDIUM: mworker: fix the reload with an -- option - BUG/MINOR: ssl: fix a trash buffer leak in some error cases - BUG/MINOR: mworker: fix a memleak when execvp() failed
2020-06-08haproxy: updated to 2.1.5adam2-7/+7
2.1.5 - BUG/MINOR: protocol_buffer: Wrong maximum shifting. - MINOR: ssl: improve the errors when a crt can't be open - BUG/MINOR: ssl/cli: memory leak in 'set ssl cert' - BUG/MINOR: ssl: memleak of the struct cert_key_and_chain - BUG/MINOR: connection: always send address-less LOCAL PROXY connections - BUG/MINOR: peers: Incomplete peers sections should be validated. - DOC: hashing: update link to hashing functions - MINOR: version: Show uname output in display_version() - DOC: Improve documentation on http-request set-src - BUG/MINOR: ssl: default settings for ssl server options are not used - BUG/MEDIUM: http-ana: Handle NTLM messages correctly. - BUG/MINOR: tools: fix the i386 version of the div64_32 function - BUG/MINOR: http: make url_decode() optionally convert '+' to SP - DOC: option logasap does not depend on mode - MEDIUM: memory: make pool_gc() run under thread isolation - MINOR: contrib: make the peers wireshark dissector a plugin - BUG/MINOR: check: Update server address and port to execute an external check - MINOR: checks: Add a way to send custom headers and payload during http chekcs - BUG/MINOR: checks: Respect the no-check-ssl option - BUG/MEDIUM: server/checks: Init server check during config validity check - BUG/MINOR: checks: chained expect will not properly wait for enough data - BUG/MINOR: obj_type: Handle stream object in obj_base_ptr() function - BUG/MINOR: mux-fcgi: Be sure to have a connection as session's origin to use it - BUG/MEDIUM: capture: capture-req/capture-res converters crash without a stream - BUG/MEDIUM: capture: capture.{req,res}.* crash without a stream - BUG/MEDIUM: http: the "http_first_req" sample fetch could crash without a steeam - BUG/MEDIUM: http: the "unique-id" sample fetch could crash without a steeam - BUG/MEDIUM: sample: make the CPU and latency sample fetches check for a stream - BUG/MEDIUM: listener: mark the thread as not stuck inside the loop - MINOR: threads: export the POSIX thread ID in panic dumps - BUG/MINOR: debug: properly use long long instead of long for the thread ID - BUG/MEDIUM: shctx: really check the lock's value while waiting - BUG/MEDIUM: shctx: bound the number of loops that can happen around the lock - MINOR: stream: report the list of active filters on stream crashes - MINOR: haproxy: export run_poll_loop - MINOR: tools: add new function dump_addr_and_bytes() - MINOR: tools: add resolve_sym_name() to resolve function pointers - MINOR: debug: use resolve_sym_name() to dump task handlers - MINOR: cli: make "show fd" rely on resolve_sym_name() - MEDIUM: debug: add support for dumping backtraces of stuck threads - MINOR: debug: call backtrace() once upon startup - BUILD: Makefile: include librt before libpthread - MINOR: wdt: do not depend on USE_THREAD - MINOR: debug: report the number of entries in the backtrace - MINOR: debug: improve backtrace() on aarch64 and possibly other systems - MINOR: debug: use our own backtrace function on clang+x86_64 - MINOR: debug: dump the whole trace if we can't spot the starting point - BUILD: tools: unbreak resolve_sym_name() on non-GNU platforms - BUILD: tools: rely on __ELF__ not USE_DL to enable use of dladdr() - BUILD: Makefile: add linux-musl to TARGET - REGTEST: ssl: test the client certificate authentication - REGTEST: http-rules: Require PCRE or PCRE2 option to run map_redirect script - Revert "BUG/MINOR: connection: always send address-less LOCAL PROXY connections" - Revert "BUG/MINOR: connection: make sure to correctly tag local PROXY connections" - BUG/MINOR: checks/server: use_ssl member must be signed - BUG/MINOR: checks: Compute the right HTTP request length for HTTP health checks - BUG/MINOR: checks: Remove a warning about http health checks - BUG/MEDIUM: mux_fcgi: Free the FCGI connection at the end of fcgi_release() - BUG/MEDIUM: mux-fcgi: Fix wrong test on FCGI_CF_KEEP_CONN in fcgi_detach() - BUG/MEDIUM: connections: force connections cleanup on server changes - BUG/MEDIUM: h1: Don't compare host and authority if only h1 headers are parsed - BUG/MEDIUM: ssl: fix the id length check within smp_fetch_ssl_fc_session_id() - CLEANUP: connections: align function declaration - BUG/MINOR: sample: Set the correct type when a binary is converted to a string - BUG/MINOR: threads: fix multiple use of argument inside HA_ATOMIC_CAS() - BUG/MINOR: threads: fix multiple use of argument inside HA_ATOMIC_UPDATE_{MIN,MAX}() - BUG/MEDIUM: lua: Fix dumping of stick table entries for STD_T_DICT - BUG/MINOR: config: Make use_backend and use-server post-parsing less obscur - BUG/MINOR: http-ana: fix NTLM response parsing again - BUG/MEDIUM: http_ana: make the detection of NTLM variants safer - BUG/MINOR: cfgparse: Abort parsing the current line if an invalid \x sequence is encountered - BUG/MINOR: pools: use %u not %d to report pool stats in "show pools" - BUG/MINOR: pollers: remove uneeded free in global init - BUG/MINOR: soft-stop: always wake up waiting threads on stopping - BUILD: select: only declare existing local labels to appease clang - BUG/MEDIUM: streams: Remove SF_ADDR_SET if we're retrying due to L7 retry. - BUG/MEDIUM: stream: Only allow L7 retries when using HTTP. - BUG/MINOR: cache: Don't needlessly test "cache" keyword in parse_cache_flt() - BUG/MAJOR: mux-fcgi: Stop sending loop if FCGI stream is blocked for any reason - BUG/MEDIUM: ring: write-lock the ring while attaching/detaching - BUG/MINOR: checks: Respect check-ssl param when a port or an addr is specified - BUG/MINOR: server: Fix server_finalize_init() to avoid unused variable - DOC: retry-on can only be used with mode http - DOC/MINOR: halog: Add long help info for ic flag - DOC: SPOE is no longer experimental - BUG/MINOR: logs: prevent double line returns in some events. - REGTESTS: checks: Fix tls_health_checks when IPv6 addresses are used - BUG/MEDIUM: logs: fix trailing zeros on log message. - BUG/MINOR: lua: Add missing string length for lua sticktable lookup - BUG/MINOR: nameservers: fix error handling in parsing of resolv.conf
2020-04-03haproxy: updated to 2.1.4adam3-32/+9
2.1.4 - SCRIPTS: make announce-release executable again - BUG/MINOR: namespace: avoid closing fd when socket failed in my_socketat - BUG/MEDIUM: muxes: Use the right argument when calling the destroy method. - BUG/MINOR: mux-fcgi: Forbid special characters when matching PATH_INFO param - MINOR: mux-fcgi: Make the capture of the path-info optional in pathinfo regex - SCRIPTS: announce-release: use mutt -H instead of -i to include the draft - MINOR: http-htx: Add a function to retrieve the headers size of an HTX message - MINOR: filters: Forward data only if the last filter forwards something - BUG/MINOR: filters: Count HTTP headers as filtered data but don't forward them - BUG/MINOR: http-htx: Don't return error if authority is updated without changes - BUG/MINOR: http-ana: Matching on monitor-uri should be case-sensitive - MINOR: http-ana: Match on the path if the monitor-uri starts by a / - BUG/MAJOR: http-ana: Always abort the request when a tarpit is triggered - MINOR: ist: add an iststop() function - BUG/MINOR: http: http-request replace-path duplicates the query string - BUG/MEDIUM: shctx: make sure to keep all blocks aligned - MINOR: compiler: move CPU capabilities definition from config.h and complete them - BUG/MEDIUM: ebtree: don't set attribute packed without unaligned access support - BUILD: fix recent build failure on unaligned archs - CLEANUP: cfgparse: Fix type of second calloc() parameter - BUG/MINOR: sample: fix the json converter's endian-sensitivity - BUG/MEDIUM: ssl: fix several bad pointer aliases in a few sample fetch functions - BUG/MINOR: connection: make sure to correctly tag local PROXY connections - MINOR: compiler: add new alignment macros - BUILD: ebtree: improve architecture-specific alignment - BUG/MINOR: h2: reject again empty :path pseudo-headers - BUG/MINOR: sample: Make sure to return stable IDs in the unique-id fetch - BUG/MINOR: dns: ignore trailing dot - BUG/MINOR: http-htx: Do case-insensive comparisons on Host header name - MINOR: contrib/prometheus-exporter: Add heathcheck status/code in server metrics - MINOR: contrib/prometheus-exporter: Add the last heathcheck duration metric - BUG/MEDIUM: random: initialize the random pool a bit better - MINOR: tools: add 64-bit rotate operators - BUG/MEDIUM: random: implement a thread-safe and process-safe PRNG - MINOR: backend: use a single call to ha_random32() for the random LB algo - BUG/MINOR: checks/threads: use ha_random() and not rand() - BUG/MAJOR: list: fix invalid element address calculation - MINOR: debug: report the task handler's pointer relative to main - BUG/MEDIUM: debug: make the debug_handler check for the thread in threads_to_dump - MINOR: haproxy: export main to ease access from debugger - BUILD: tools: remove obsolete and conflicting trace() from standard.c - BUG/MINOR: wdt: do not return an error when the watchdog couldn't be enabled - DOC: fix incorrect indentation of http_auth_* - OPTIM: startup: fast unique_id allocation for acl. - BUG/MINOR: pattern: Do not pass len = 0 to calloc() - DOC: configuration.txt: fix various typos - DOC: assorted typo fixes in the documentation and Makefile - BUG/MINOR: init: make the automatic maxconn consider the max of soft/hard limits - BUG/MAJOR: proxy_protocol: Properly validate TLV lengths - REGTEST: make the PROXY TLV validation depend on version 2.2 - BUG/MINOR: filters: Use filter offset to decude the amount of forwarded data - BUG/MINOR: filters: Forward everything if no data filters are called - MINOR: htx: Add a function to return a block at a specific offset - BUG/MEDIUM: cache/filters: Fix loop on HTX blocks caching the response payload - BUG/MEDIUM: compression/filters: Fix loop on HTX blocks compressing the payload - BUG/MINOR: http-ana: Reset request analysers on a response side error - BUG/MINOR: lua: Ignore the reserve to know if a channel is full or not - BUG/MINOR: http-rules: Preserve FLT_END analyzers on reject action - BUG/MINOR: http-rules: Fix a typo in the reject action function - BUG/MINOR: rules: Preserve FLT_END analyzers on silent-drop action - BUG/MINOR: rules: Increment be_counters if backend is assigned for a silent-drop - DOC: fix typo about no-tls-tickets - DOC: improve description of no-tls-tickets - DOC: assorted typo fixes in the documentation - DOC: ssl: clarify security implications of TLS tickets - BUILD: wdt: only test for SI_TKILL when compiled with thread support - BUG/MEDIUM: mt_lists: Make sure we set the deleted element to NULL; - MINOR: mt_lists: Appease gcc. - BUG/MEDIUM: random: align the state on 2*64 bits for ARM64 - BUG/MEDIUM: pools: Always update free_list in pool_gc(). - BUG/MINOR: haproxy: always initialize sleeping_thread_mask - BUG/MINOR: listener/mq: do not dispatch connections to remote threads when stopping - BUG/MINOR: haproxy/threads: try to make all threads leave together - DOC: proxy_protocol: Reserve TLV type 0x05 as PP2_TYPE_UNIQUE_ID - DOC: correct typo in alert message about rspirep - BUILD: on ARM, must be linked to libatomic. - BUILD: makefile: fix regex syntax in ARM platform detection - BUILD: makefile: fix expression again to detect ARM platform - BUG/MEDIUM: peers: resync ended with RESYNC_PARTIAL in wrong cases. - DOC: assorted typo fixes in the documentation - MINOR: wdt: Move the definitions of WDTSIG and DEBUGSIG into types/signal.h. - BUG/MEDIUM: wdt: Don't ignore WDTSIG and DEBUGSIG in __signal_process_queue(). - MINOR: memory: Change the flush_lock to a spinlock, and don't get it in alloc. - BUG/MINOR: connections: Make sure we free the connection on failure. - REGTESTS: use "command -v" instead of "which" - REGTEST: increase timeouts on the seamless-reload test - BUG/MINOR: haproxy/threads: close a possible race in soft-stop detection - BUG/MINOR: peers: init bind_proc to 1 if it wasn't initialized - BUG/MINOR: peers: avoid an infinite loop with peers_fe is NULL - BUG/MINOR: peers: Use after free of "peers" section. - MINOR: listener: add so_name sample fetch - BUILD: ssl: only pass unsigned chars to isspace() - BUG/MINOR: stats: Fix color of draining servers on stats page - DOC: internals: Fix spelling errors in filters.txt - MINOR: http-rules: Add a flag on redirect rules to know the rule direction - BUG/MINOR: http_ana: make sure redirect flags don't have overlapping bits - MINOR: http-rules: Handle the rule direction when a redirect is evaluated - BUG/MINOR: http-ana: Reset request analysers on error when waiting for response - BUG/CRITICAL: hpack: never index a header into the headroom after wrapping
2020-03-26net/haproxy: re-add the missing distinfo linesrillig1-1/+5
These lines have been accidentally removed on 2016-03-04 when haproxy was updated to 1.6.4 and the distinfo file had been generated without the option "deviceatlas". Apparently nobody missed this package option in the last 4 years though, at least there is no problem report about this. Detected by an experimental pkglint check that is not yet reliable enough to be put into production.
2020-02-13haproxy: updated to 2.1.3adam2-8/+7
2.1.3 - BUG/MINOR: checks: refine which errno values are really errors. - BUG/MEDIUM: checks: Only attempt to do handshakes if the connection is ready. - BUG/MEDIUM: connections: Hold the lock when wanting to kill a connection. - MINOR: config: disable busy polling on old processes - MINOR: ssl: Remove unused variable "need_out". - BUG/MINOR: h1: Report the right error position when a header value is invalid - BUG/MINOR: proxy: Fix input data copy when an error is captured - BUG/MEDIUM: http-ana: Truncate the response when a redirect rule is applied - BUG/MINOR: channel: inject output data at the end of output - BUG/MEDIUM: session: do not report a failure when rejecting a session - BUG/MINOR: stream-int: Don't trigger L7 retry if max retries is already reached - BUG/MEDIUM: tasks: Use the MT macros in tasklet_free(). - BUG/MINOR: mux-h2: use a safe list_for_each_entry in h2_send() - BUG/MEDIUM: mux-h2: fix missing test on sending_list in previous patch - BUG/MEDIUM: mux-h2: don't stop sending when crossing a buffer boundary - BUG/MINOR: cli/mworker: can't start haproxy with 2 programs - REGTEST: mcli/mcli_start_progs: start 2 programs - BUG/MEDIUM: mworker: remain in mworker mode during reload - BUG/MEDIUM: mux_h1: Don't call h1_send if we subscribed(). - BUG/MAJOR: hashes: fix the signedness of the hash inputs - REGTEST: add sample_fetches/hashes.vtc to validate hashes - BUG/MEDIUM: cli: _getsocks must send the peers sockets - BUG/MINOR: stream: don't mistake match rules for store-request rules - BUG/MEDIUM: connection: add a mux flag to indicate splice usability - BUG/MINOR: pattern: handle errors from fgets when trying to load patterns - BUG/MINOR: cache: Fix leak of cache name in error path - BUG/MINOR: dns: Make dns_query_id_seed unsigned - BUG/MINOR: 51d: Fix bug when HTX is enabled - BUILD: pattern: include errno.h - BUG/MINOR: http-ana/filters: Wait end of the http_end callback for all filters - BUG/MINOR: http-rules: Remove buggy deinit functions for HTTP rules - BUG/MINOR: stick-table: Use MAX_SESS_STKCTR as the max track ID during parsing - BUG/MINOR: tcp-rules: Fix memory releases on error path during action parsing - BUG/MINOR: ssl: ssl_sock_load_ocsp_response_from_file memory leak - BUG/MINOR: ssl: ssl_sock_load_issuer_file_into_ckch memory leak - BUG/MINOR: ssl: ssl_sock_load_sctl_from_file memory leak - MINOR: proxy/http-ana: Add support of extra attributes for the cookie directive - BUG/MINOR: http_act: don't check capture id in backend - BUG/MEDIUM: netscaler: Don't forget to allocate storage for conn->src/dst. - BUG/MINOR: ssl: ssl_sock_load_pem_into_ckch is not consistent - BUG/MINOR: ssl/cli: free the previous ckch content once a PEM is loaded - CLEANUP: stats: shut up a wrong null-deref warning from gcc 9.2 - BUG/MINOR: ssl: increment issuer refcount if in chain - BUG/MINOR: ssl: memory leak w/ the ocsp_issuer - BUG/MINOR: ssl: typo in previous patch - BUG/MINOR: ssl/cli: ocsp_issuer must be set w/ "set ssl cert" - BUG/MEDIUM: 0rtt: Only consider the SSL handshake. - BUG/MINOR: stktable: report the current proxy name in error messages - BUG/MEDIUM: mux-h2: make sure we don't emit TE headers with anything but "trailers" - BUILD: cfgparse: silence a bogus gcc warning on 32-bit machines - MINOR: lua: Add hlua_prepend_path function - MINOR: lua: Add lua-prepend-path configuration option - MINOR: lua: Add HLUA_PREPEND_C?PATH build option - BUG/MEDIUM: ssl: Don't forget to free ctx->ssl on failure. - BUG/MINOR: tcpchecks: fix the connect() flags regarding delayed ack - BUG/MEDIUM: pipe: fix a use-after-free in case of pipe creation error - BUG/MINOR: ssl: Possible memleak when allowing the 0RTT data buffer. - BUG/MINOR: connection: fix ip6 dst_port copy in make_proxy_line_v2 - BUG/MEDIUM: connections: Don't forget to unlock when killing a connection. - BUG/MEDIUM: memory_pool: Update the seq number in pool_flush(). - MINOR: memory: Only init the pool spinlock once. - BUG/MEDIUM: memory: Add a rwlock before freeing memory. - BUG/MAJOR: memory: Don't forget to unlock the rwlock if the pool is empty. - BUG/MINOR: ssl: we may only ignore the first 64 errors - BUG/MINOR: ssl: clear the SSL errors on DH loading failure - CONTRIB: debug: add missing flags SF_HTX and SF_MUX - CONTRIB: debug: add the possibility to decode the value as certain types only - CONTRIB: debug: support reporting multiple values at once - MINOR: acl: Warn when an ACL is named 'or' - CONTRIB: debug: also support reading values from stdin - SCRIPTS: announce-release: place the send command in the mail's header - SCRIPTS: announce-release: allow the user to force to overwrite old files - BUG/MEDIUM: ssl/cli: 'commit ssl cert' wrong SSL_CTX init - DOC: schematic of the SSL certificates architecture - BUG/MINOR: unix: better catch situations where the unix socket path length is close to the limit - BUG/MINOR: dns: allow 63 char in hostname - BUG/MEDIUM: listener: only consider running threads when resuming listeners - BUG/MINOR: listener: enforce all_threads_mask on bind_thread on init - BUG/MINOR: tcp: avoid closing fd when socket failed in tcp_bind_listener - MINOR: build: add aix72-gcc build TARGET and power{8,9} CPUs - DOC: word converter ignores delimiters at the start or end of input string - MINOR: htx: Add a function to append an HTX message to another one - MINOR: htx/channel: Add a function to copy an HTX message in a channel's buffer - BUG/MINOR: http-ana: Don't overwrite outgoing data when an error is reported - BUG/MINOR: http-ana: Set HTX_FL_PROXY_RESP flag if a server perform a redirect - BUG/MINOR: tcp: don't try to set defaultmss when value is negative